@octonodes/cli 0.1.14 → 0.2.0
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 +21 -7
- package/dist/plugins/build.d.ts.map +1 -1
- package/dist/plugins/build.js +14 -1
- package/dist/plugins/build.js.map +1 -1
- package/dist/plugins/create.d.ts.map +1 -1
- package/dist/plugins/create.js +2 -1
- package/dist/plugins/create.js.map +1 -1
- package/dist/plugins/deploy.d.ts +2 -0
- package/dist/plugins/deploy.d.ts.map +1 -0
- package/dist/plugins/deploy.js +95 -0
- package/dist/plugins/deploy.js.map +1 -0
- package/dist/plugins/help.constants.d.ts +1 -1
- package/dist/plugins/help.constants.d.ts.map +1 -1
- package/dist/plugins/help.constants.js +4 -0
- package/dist/plugins/help.constants.js.map +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +23 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/publish.d.ts +100 -0
- package/dist/plugins/publish.d.ts.map +1 -1
- package/dist/plugins/publish.js +34 -29
- package/dist/plugins/publish.js.map +1 -1
- package/dist/plugins/release.d.ts +32 -0
- package/dist/plugins/release.d.ts.map +1 -0
- package/dist/plugins/release.js +60 -0
- package/dist/plugins/release.js.map +1 -0
- package/dist/plugins/types.d.ts +8 -1
- package/dist/plugins/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/runtime/plugin-lifecycle.cjs +77 -6
package/README.md
CHANGED
|
@@ -19,18 +19,32 @@ Define one plugin in `octonode.plugin.ts` using `@octonodes/sdk/plugin`.
|
|
|
19
19
|
type-checks definitions, and creates `dist/plugins/<id>`. `octonodes plugin test <directory> <node-id> --input
|
|
20
20
|
'{...}'` invokes a built node and reports failures with a nonzero exit code.
|
|
21
21
|
|
|
22
|
-
Set `scope:
|
|
22
|
+
The scaffold includes `plugin.octonode.json`. Set `scope: "public"` in that release
|
|
23
|
+
file for community discovery; use `"user"` for a private plugin, `"team"` with
|
|
24
|
+
`teamId`, or `"organization"` with `orgId`. The release file overrides version,
|
|
25
|
+
scope, and optional contributors from `octonode.plugin.ts` during builds.
|
|
23
26
|
|
|
24
27
|
```sh
|
|
25
28
|
octonodes login
|
|
26
|
-
octonodes plugin
|
|
29
|
+
octonodes plugin version patch
|
|
30
|
+
octonodes plugin deploy .
|
|
27
31
|
```
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
SDK/CLI `0.2.0` adds these release commands. Deployment builds, validates, hashes,
|
|
34
|
+
and uploads to `https://plugins.octonodes.com` using your saved Octonode login.
|
|
35
|
+
Use `OCTONODE_MARKETPLACE_URL` or `--registry` to override the registry. Publishing
|
|
36
|
+
never publishes your plugin to npm; existing versions cannot be overwritten.
|
|
37
|
+
|
|
38
|
+
For automatic publication, connect your repository and release-file path in
|
|
39
|
+
**Partner → GitHub publishing**, review its destination, and commit the downloaded
|
|
40
|
+
workflow. A version bump merged to the default branch runs `plugin deploy . --github`
|
|
41
|
+
with GitHub Actions identity; no marketplace secret is required. See
|
|
42
|
+
[release-file setup](../sdk/PLUGINS.md#release-files-and-github-publishing).
|
|
43
|
+
|
|
44
|
+
Existing built artifacts can still use `plugin publish dist/plugins/my-integrations`.
|
|
45
|
+
For definitions without a release file, set `scope: ["public"]` in TypeScript and
|
|
46
|
+
rebuild first. Artifact publication accepts `--org` and `--team`; the optional
|
|
47
|
+
`OCTONODE_MARKETPLACE_TOKEN` overrides normal CLI authentication.
|
|
34
48
|
|
|
35
49
|
## Run
|
|
36
50
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/plugins/build.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/plugins/build.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6B3C,wBAAsB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAkT/F"}
|
package/dist/plugins/build.js
CHANGED
|
@@ -12,6 +12,7 @@ const compiler_1 = require("@octonodes/sdk/definitions/compiler");
|
|
|
12
12
|
const npm_1 = require("@octonodes/sdk/definitions/npm");
|
|
13
13
|
const constants_1 = require("./constants");
|
|
14
14
|
const artifact_1 = require("./artifact");
|
|
15
|
+
const release_1 = require("./release");
|
|
15
16
|
const library_1 = require("./library");
|
|
16
17
|
function directory(root, path) {
|
|
17
18
|
let current = root;
|
|
@@ -47,7 +48,19 @@ async function buildPlugins(entry, root = process.cwd()) {
|
|
|
47
48
|
if (!definition || definition.kind !== "plugin" || !definition.manifest)
|
|
48
49
|
throw new Error("Default-export definePlugin({...}) from octonode.plugin.ts");
|
|
49
50
|
const entries = [(0, node_path_1.resolve)(root, compiler_1.PLUGIN_FILENAME)];
|
|
50
|
-
const
|
|
51
|
+
const release = (0, release_1.readPluginRelease)(root)?.config;
|
|
52
|
+
if (release && release.id !== definition.manifest.id)
|
|
53
|
+
throw new Error("Plugin release id must match octonode.plugin.ts");
|
|
54
|
+
const manifestDefinition = plugins_1.PluginManifest.parse({
|
|
55
|
+
...definition.manifest,
|
|
56
|
+
...(release
|
|
57
|
+
? {
|
|
58
|
+
version: release.version,
|
|
59
|
+
scope: [(0, plugins_1.pluginReleaseScope)(release)],
|
|
60
|
+
...(release.contributors ? { contributors: release.contributors } : {}),
|
|
61
|
+
}
|
|
62
|
+
: {}),
|
|
63
|
+
});
|
|
51
64
|
const workflowNodes = definition.nodes.filter((node) => node.workflow);
|
|
52
65
|
if (workflowNodes.length && workflowNodes.length !== definition.nodes.length)
|
|
53
66
|
throw new Error("Keep exported workflows in their own plugin package");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/plugins/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/plugins/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/plugins/create.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/plugins/create.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA0FlE"}
|
package/dist/plugins/create.js
CHANGED
|
@@ -36,6 +36,7 @@ function createPlugin(name, version) {
|
|
|
36
36
|
},
|
|
37
37
|
include: ["octonode.plugin.ts", "octonode.nodes.ts", "src/**/*.ts"],
|
|
38
38
|
}, null, 2) + "\n");
|
|
39
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, "plugin.octonode.json"), JSON.stringify({ apiVersion: "octonode.plugin/v1", id: name, version: "0.1.0", scope: "user" }, null, 2) + "\n");
|
|
39
40
|
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, ".gitignore"), "node_modules/\ndist/\n.env\n.env.*\n");
|
|
40
41
|
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, "src/echo.ts"), "export function echo(text: string): { text: string } { return { text }; }\n");
|
|
41
42
|
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, "octonode.plugin.ts"), `import { definePlugin, defineNode } from "@octonodes/sdk/plugin";
|
|
@@ -57,7 +58,7 @@ test("echo runs through the packaged plugin", () => {
|
|
|
57
58
|
assert.deepEqual(result.outputs, {text:"hello"});
|
|
58
59
|
});
|
|
59
60
|
`);
|
|
60
|
-
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, "README.md"), `# ${name}\n\nRun \`npm install\`, then \`npm test\`. Keep all definitions in \`octonode.plugin.ts\`; import handles from \`octonode.nodes.ts\` and implement functions in \`src/\`.\n\
|
|
61
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, "README.md"), `# ${name}\n\nRun \`npm install\`, then \`npm test\`. Keep all definitions in \`octonode.plugin.ts\`; import handles from \`octonode.nodes.ts\` and implement functions in \`src/\`.\n\nVersion and publishing scope belong in \`plugin.octonode.json\`; node definitions stay in code; \`dist/plugins/<id>/octonode.yml\` is generated.\nSet \`"scope": "public"\` in the release file to share publicly. Run \`octonodes login\`, then \`octonodes plugin deploy .\`. For automatic publishing, connect the repository and release file at https://partner.octonodes.com/github-publishing and commit its downloaded workflow. Use \`octonodes plugin version patch\`, then merge the version bump.\nConfig compilation reads definitions without executing application code. Keep secrets out of definitions and assets.\n`);
|
|
61
62
|
(0, compiler_1.generateNodeCatalog)(root);
|
|
62
63
|
return root;
|
|
63
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/plugins/create.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,kEAA0E;AAC1E,yCAA0C;AAE1C,sBAA6B,IAAY,EAAE,OAAe;IACxD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/plugins/create.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,kEAA0E;AAC1E,yCAA0C;AAE1C,sBAA6B,IAAY,EAAE,OAAe;IACxD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;IAC3B,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC;IACxD,IAAA,mBAAS,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7B,IAAA,mBAAS,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,IAAA,uBAAa,EACX,IAAA,gBAAI,EAAC,IAAI,EAAE,cAAc,CAAC,EAC1B,IAAI,CAAC,SAAS,CACZ;QACE,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACzB,OAAO,EAAE;YACP,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,+CAA+C;SACtD;QACD,YAAY,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE;QAC3C,eAAe,EAAE;YACf,gBAAgB,EAAE,OAAO;YACzB,UAAU,EAAE,OAAO;YACnB,aAAa,EAAE,SAAS;SACzB;KACF,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;IACF,IAAA,uBAAa,EACX,IAAA,gBAAI,EAAC,IAAI,EAAE,eAAe,CAAC,EAC3B,IAAI,CAAC,SAAS,CACZ;QACE,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;SACb;QACD,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,CAAC;KACpE,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;IACF,IAAA,uBAAa,EACX,IAAA,gBAAI,EAAC,IAAI,EAAE,sBAAsB,CAAC,EAClC,IAAI,CAAC,SAAS,CACZ,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAC/E,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;IACF,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,YAAY,CAAC,EAAE,sCAAsC,CAAC,CAAC;IAChF,IAAA,uBAAa,EACX,IAAA,gBAAI,EAAC,IAAI,EAAE,aAAa,CAAC,EACzB,6EAA6E,CAC9E,CAAC;IACF,IAAA,uBAAa,EACX,IAAA,gBAAI,EAAC,IAAI,EAAE,oBAAoB,CAAC,EAChC;;;QAGI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;CAG1D,CACE,CAAC;IACF,IAAA,uBAAa,EACX,IAAA,gBAAI,EAAC,IAAI,EAAE,uBAAuB,CAAC,EACnC;;;;;WAKO,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,EAAE,CAAC;;;;;;CAMhD,CACE,CAAC;IACF,IAAA,uBAAa,EACX,IAAA,gBAAI,EAAC,IAAI,EAAE,WAAW,CAAC,EACvB,KAAK,IAAI,qxBAAqxB,CAC/xB,CAAC;IACF,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/plugins/deploy.ts"],"names":[],"mappings":"AAaA,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,SAA0B,EAClC,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,UAAQ,oBA6Ff"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deployPlugin = deployPlugin;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
const node_child_process_1 = require("node:child_process");
|
|
7
|
+
const node_path_1 = require("node:path");
|
|
8
|
+
const plugins_1 = require("@octonodes/sdk/plugins");
|
|
9
|
+
const build_1 = require("./build");
|
|
10
|
+
const release_1 = require("./release");
|
|
11
|
+
const publish_1 = require("./publish");
|
|
12
|
+
async function deployPlugin(root, registry = plugins_1.PLUGIN_PUBLISH_AUDIENCE, token, github = false) {
|
|
13
|
+
root = (0, node_fs_1.realpathSync)((0, node_path_1.resolve)(root));
|
|
14
|
+
const release = (0, release_1.readPluginRelease)(root);
|
|
15
|
+
if (!release)
|
|
16
|
+
throw new Error("Add plugin.octonode.json or plugin.octonode.yml before deploying");
|
|
17
|
+
const url = new URL(registry);
|
|
18
|
+
if (url.protocol !== "https:" ||
|
|
19
|
+
url.username ||
|
|
20
|
+
url.password ||
|
|
21
|
+
url.search ||
|
|
22
|
+
url.hash ||
|
|
23
|
+
url.pathname !== "/")
|
|
24
|
+
throw new Error("Registry must be an HTTPS origin");
|
|
25
|
+
let identity;
|
|
26
|
+
let endpoint;
|
|
27
|
+
if (github) {
|
|
28
|
+
if (process.env.GITHUB_ACTIONS !== "true" ||
|
|
29
|
+
!process.env.ACTIONS_ID_TOKEN_REQUEST_URL ||
|
|
30
|
+
!process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN)
|
|
31
|
+
throw new Error("GitHub deployment requires Actions permissions: id-token: write");
|
|
32
|
+
const repositoryPrefix = (0, node_child_process_1.execFileSync)("git", ["rev-parse", "--show-prefix"], {
|
|
33
|
+
cwd: root,
|
|
34
|
+
encoding: "utf8",
|
|
35
|
+
}).trim();
|
|
36
|
+
const configPath = plugins_1.PluginConfigPath.parse(repositoryPrefix + (0, node_path_1.basename)(release.path));
|
|
37
|
+
endpoint = new URL("/github/plugins/publish", url);
|
|
38
|
+
endpoint.searchParams.set("config", configPath);
|
|
39
|
+
identity = async () => {
|
|
40
|
+
const oidc = new URL(process.env.ACTIONS_ID_TOKEN_REQUEST_URL);
|
|
41
|
+
oidc.searchParams.set("audience", plugins_1.PLUGIN_PUBLISH_AUDIENCE);
|
|
42
|
+
const result = await fetch(oidc, {
|
|
43
|
+
headers: { authorization: `Bearer ${process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN}` },
|
|
44
|
+
redirect: "error",
|
|
45
|
+
signal: AbortSignal.timeout(30_000),
|
|
46
|
+
});
|
|
47
|
+
if (!result.ok)
|
|
48
|
+
throw new Error(`GitHub identity request failed (${result.status})`);
|
|
49
|
+
const body = (await result.json());
|
|
50
|
+
if (!body.value)
|
|
51
|
+
throw new Error("GitHub did not return an identity token");
|
|
52
|
+
return body.value;
|
|
53
|
+
};
|
|
54
|
+
const check = await fetch(endpoint, {
|
|
55
|
+
headers: { authorization: `Bearer ${await identity()}` },
|
|
56
|
+
redirect: "error",
|
|
57
|
+
signal: AbortSignal.timeout(30_000),
|
|
58
|
+
});
|
|
59
|
+
if (!check.ok)
|
|
60
|
+
throw new Error(`Plugin connection check failed (${check.status}): ${(await check.text()).slice(0, 1000)}`);
|
|
61
|
+
const result = (await check.json());
|
|
62
|
+
if (result.id !== release.config.id || result.version !== release.config.version)
|
|
63
|
+
throw new Error("Local release file does not match the committed GitHub release");
|
|
64
|
+
if (result.status === "unchanged")
|
|
65
|
+
return { id: release.config.id, version: release.config.version, status: "unchanged" };
|
|
66
|
+
if (result.status !== "ready")
|
|
67
|
+
throw new Error("Unexpected plugin connection status");
|
|
68
|
+
}
|
|
69
|
+
else if (!token)
|
|
70
|
+
throw new Error('Run "octonodes login" before deploying');
|
|
71
|
+
const [built] = await (0, build_1.buildPlugins)(undefined, root);
|
|
72
|
+
if (!github)
|
|
73
|
+
return (0, publish_1.publishPlugin)(built.directory, registry, token, release.config.orgId, release.config.teamId);
|
|
74
|
+
const { manifest, bundle } = (0, publish_1.packBuiltPlugin)(built.directory);
|
|
75
|
+
if (bundle.byteLength > plugins_1.PLUGIN_PUBLISH_MAX_BYTES - 1_048_576)
|
|
76
|
+
throw new Error("Plugin bundle exceeds the upload limit");
|
|
77
|
+
const sha256 = (0, node_crypto_1.createHash)("sha256").update(bundle).digest("hex");
|
|
78
|
+
const form = new FormData();
|
|
79
|
+
form.set("manifest", JSON.stringify(manifest));
|
|
80
|
+
form.set("bundle", new Blob([bundle]), "bundle.tar.gz");
|
|
81
|
+
const response = await fetch(endpoint, {
|
|
82
|
+
method: "POST",
|
|
83
|
+
body: form,
|
|
84
|
+
headers: { authorization: `Bearer ${await identity()}`, "x-octonode-sha256": sha256 },
|
|
85
|
+
redirect: "error",
|
|
86
|
+
signal: AbortSignal.timeout(120_000),
|
|
87
|
+
});
|
|
88
|
+
if (!response.ok)
|
|
89
|
+
throw new Error(`Plugin deployment failed (${response.status}): ${(await response.text()).slice(0, 1000)}`);
|
|
90
|
+
const result = (await response.json());
|
|
91
|
+
if (result.sha256 !== sha256)
|
|
92
|
+
throw new Error("Registry archive hash does not match the uploaded bundle");
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/plugins/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PLUGIN_HELP = "Usage:\n octonodes plugin create <name>\n octonodes plugin nodes [--check]\n octonodes plugin build [octonode.plugin.ts]\n octonodes plugin validate <built-directory>\n octonodes plugin test <built-directory> [node-id] --input <json>\n octonodes plugin publish <built-directory> --registry <url> [--org <id>] [--team <id>]\n octonodes plugin install <id|built-directory> [--version <version>] [--alias <alias>] [--migrate]\n octonodes plugin update <alias> [--version <version>] [--dry-run]\n octonodes plugin remove <alias>\n octonodes plugin list\n octonodes install --frozen --artifacts-only [--offline]\n octonodes plugin recover\n\nBuild reads octonode.plugin.ts and writes dist/plugins/<id>.\nNode inventories are generated in octonode.nodes.ts. Metadata is inspected without execution.\nPublishing uses OCTONODE_MARKETPLACE_URL and OCTONODE_MARKETPLACE_TOKEN when set,\nor the saved octonodes login / OCTONODE_TOKEN. It never publishes to npm.\nConsumer commands accept --cwd <project>. Restore artifacts before npm ci (or your native frozen install).\nCustom imports live in a private generated @octonodes/plugin package; upstream npm imports stay unchanged.\n";
|
|
1
|
+
export declare const PLUGIN_HELP = "Usage:\n octonodes plugin deploy [source-directory] [--github]\n octonodes plugin version <patch|minor|major|version> [--cwd <directory>]\n octonodes plugin create <name>\n octonodes plugin nodes [--check]\n octonodes plugin build [octonode.plugin.ts]\n octonodes plugin validate <built-directory>\n octonodes plugin test <built-directory> [node-id] --input <json>\n octonodes plugin publish <built-directory> --registry <url> [--org <id>] [--team <id>]\n octonodes plugin install <id|built-directory> [--version <version>] [--alias <alias>] [--migrate]\n octonodes plugin update <alias> [--version <version>] [--dry-run]\n octonodes plugin remove <alias>\n octonodes plugin list\n octonodes install --frozen --artifacts-only [--offline]\n octonodes plugin recover\n\nDeploy reads plugin.octonode.json/.yml and builds, hashes and publishes to plugins.octonodes.com.\nGitHub publishing uses the connected repository and short-lived Actions identity, with no marketplace secret.\nBuild reads octonode.plugin.ts and writes dist/plugins/<id>.\nNode inventories are generated in octonode.nodes.ts. Metadata is inspected without execution.\nPublishing uses OCTONODE_MARKETPLACE_URL and OCTONODE_MARKETPLACE_TOKEN when set,\nor the saved octonodes login / OCTONODE_TOKEN. It never publishes to npm.\nConsumer commands accept --cwd <project>. Restore artifacts before npm ci (or your native frozen install).\nCustom imports live in a private generated @octonodes/plugin package; upstream npm imports stay unchanged.\n";
|
|
2
2
|
//# sourceMappingURL=help.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.constants.d.ts","sourceRoot":"","sources":["../../src/plugins/help.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"help.constants.d.ts","sourceRoot":"","sources":["../../src/plugins/help.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,w/CAwBvB,CAAC"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PLUGIN_HELP = void 0;
|
|
4
4
|
exports.PLUGIN_HELP = `Usage:
|
|
5
|
+
octonodes plugin deploy [source-directory] [--github]
|
|
6
|
+
octonodes plugin version <patch|minor|major|version> [--cwd <directory>]
|
|
5
7
|
octonodes plugin create <name>
|
|
6
8
|
octonodes plugin nodes [--check]
|
|
7
9
|
octonodes plugin build [octonode.plugin.ts]
|
|
@@ -15,6 +17,8 @@ exports.PLUGIN_HELP = `Usage:
|
|
|
15
17
|
octonodes install --frozen --artifacts-only [--offline]
|
|
16
18
|
octonodes plugin recover
|
|
17
19
|
|
|
20
|
+
Deploy reads plugin.octonode.json/.yml and builds, hashes and publishes to plugins.octonodes.com.
|
|
21
|
+
GitHub publishing uses the connected repository and short-lived Actions identity, with no marketplace secret.
|
|
18
22
|
Build reads octonode.plugin.ts and writes dist/plugins/<id>.
|
|
19
23
|
Node inventories are generated in octonode.nodes.ts. Metadata is inspected without execution.
|
|
20
24
|
Publishing uses OCTONODE_MARKETPLACE_URL and OCTONODE_MARKETPLACE_TOKEN when set,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.constants.js","sourceRoot":"","sources":["../../src/plugins/help.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"help.constants.js","sourceRoot":"","sources":["../../src/plugins/help.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHlF"}
|
package/dist/plugins/index.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PLUGIN_HELP = void 0;
|
|
4
4
|
exports.pluginCommand = pluginCommand;
|
|
5
|
+
const deploy_1 = require("./deploy");
|
|
6
|
+
const release_1 = require("./release");
|
|
7
|
+
const plugins_1 = require("@octonodes/sdk/plugins");
|
|
5
8
|
const node_child_process_1 = require("node:child_process");
|
|
6
9
|
const node_path_1 = require("node:path");
|
|
7
10
|
const node_util_1 = require("node:util");
|
|
@@ -20,6 +23,7 @@ async function pluginCommand(args, version) {
|
|
|
20
23
|
args: args.slice(1),
|
|
21
24
|
allowPositionals: true,
|
|
22
25
|
options: {
|
|
26
|
+
github: { type: "boolean" },
|
|
23
27
|
input: { type: "string" },
|
|
24
28
|
registry: { type: "string" },
|
|
25
29
|
org: { type: "string" },
|
|
@@ -53,6 +57,24 @@ async function pluginCommand(args, version) {
|
|
|
53
57
|
process.stdout.write(JSON.stringify(await (0, build_1.buildPlugins)(target), null, 2) + "\n");
|
|
54
58
|
return;
|
|
55
59
|
}
|
|
60
|
+
if (command === "deploy") {
|
|
61
|
+
const token = values.github
|
|
62
|
+
? undefined
|
|
63
|
+
: (process.env.OCTONODE_MARKETPLACE_TOKEN ?? (await (0, auth_1.accessToken)()));
|
|
64
|
+
process.stdout.write(JSON.stringify(await (0, deploy_1.deployPlugin)(target ?? ".", values.registry ?? process.env.OCTONODE_MARKETPLACE_URL ?? plugins_1.PLUGIN_PUBLISH_AUDIENCE, token, values.github), null, 2) + "\n");
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (command === "version") {
|
|
68
|
+
if (!target)
|
|
69
|
+
throw new Error("Choose patch, minor, major or an exact version");
|
|
70
|
+
const result = (0, release_1.updatePluginRelease)(values.cwd ?? process.cwd(), ["patch", "minor", "major"].includes(target)
|
|
71
|
+
? { bump: target }
|
|
72
|
+
: { version: target });
|
|
73
|
+
if (!result)
|
|
74
|
+
throw new Error("Add a plugin.octonode.json or .yml release file first");
|
|
75
|
+
process.stdout.write(result.config.version + "\n");
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
56
78
|
if (!target)
|
|
57
79
|
throw new Error(`plugin ${command ?? "command"} requires a target; run octonodes plugin --help`);
|
|
58
80
|
if (command === "create") {
|
|
@@ -86,7 +108,7 @@ async function pluginCommand(args, version) {
|
|
|
86
108
|
return;
|
|
87
109
|
}
|
|
88
110
|
if (command === "publish") {
|
|
89
|
-
const registry = values.registry ?? process.env.OCTONODE_MARKETPLACE_URL;
|
|
111
|
+
const registry = values.registry ?? process.env.OCTONODE_MARKETPLACE_URL ?? plugins_1.PLUGIN_PUBLISH_AUDIENCE;
|
|
90
112
|
if (!registry)
|
|
91
113
|
throw new Error("Set OCTONODE_MARKETPLACE_URL or pass --registry <url>");
|
|
92
114
|
const token = process.env.OCTONODE_MARKETPLACE_TOKEN ?? (await (0, auth_1.accessToken)());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,102 @@
|
|
|
1
|
+
export declare function packBuiltPlugin(directory: string): {
|
|
2
|
+
manifest: {
|
|
3
|
+
schemaVersion: string;
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
description?: string | undefined;
|
|
8
|
+
source?: {
|
|
9
|
+
kind: "plugin";
|
|
10
|
+
} | {
|
|
11
|
+
kind: "npm";
|
|
12
|
+
package: string;
|
|
13
|
+
version: string;
|
|
14
|
+
} | undefined;
|
|
15
|
+
library?: {
|
|
16
|
+
format: 1;
|
|
17
|
+
entry: "library/index.js";
|
|
18
|
+
types: "library/index.d.ts";
|
|
19
|
+
exports: string[];
|
|
20
|
+
} | undefined;
|
|
21
|
+
icon?: "arrow-up-down" | "binary" | "bomb" | "boxes" | "braces" | "calculator" | "calendar" | "camera" | "clock" | "code" | "copy-x" | "database" | "dices" | "filter" | "flag" | "flask" | "function" | "git-branch" | "git-merge" | "group" | "hook" | "list-filter" | "merge" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "repeat" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "server-cog" | "settings" | "sigma" | "split" | "terminal" | "test-tube" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
|
|
22
|
+
author?: string | undefined;
|
|
23
|
+
contributors?: string[] | undefined;
|
|
24
|
+
repository?: string | undefined;
|
|
25
|
+
homepage?: string | undefined;
|
|
26
|
+
license?: string | undefined;
|
|
27
|
+
scope: ("group" | "org" | "public" | "user")[];
|
|
28
|
+
permissions: {
|
|
29
|
+
resource: "network" | "project_data" | "secrets";
|
|
30
|
+
access: "outbound" | "read" | "write";
|
|
31
|
+
}[];
|
|
32
|
+
integration?: {
|
|
33
|
+
category?: string | undefined;
|
|
34
|
+
tags: string[];
|
|
35
|
+
auth?: string[] | undefined;
|
|
36
|
+
npm?: {
|
|
37
|
+
package: string;
|
|
38
|
+
version: string;
|
|
39
|
+
spec: string;
|
|
40
|
+
} | undefined;
|
|
41
|
+
npmDependencies?: {
|
|
42
|
+
package: string;
|
|
43
|
+
version: string;
|
|
44
|
+
spec: string;
|
|
45
|
+
}[] | undefined;
|
|
46
|
+
} | undefined;
|
|
47
|
+
connections?: Record<string, {
|
|
48
|
+
label: string;
|
|
49
|
+
description?: string | undefined;
|
|
50
|
+
fields: Record<string, {
|
|
51
|
+
label: string;
|
|
52
|
+
description?: string | undefined;
|
|
53
|
+
secret: boolean;
|
|
54
|
+
required: boolean;
|
|
55
|
+
}>;
|
|
56
|
+
}> | undefined;
|
|
57
|
+
nodes: {
|
|
58
|
+
id: string;
|
|
59
|
+
command: string;
|
|
60
|
+
language?: string | undefined;
|
|
61
|
+
label?: string | undefined;
|
|
62
|
+
symbol?: string | undefined;
|
|
63
|
+
description?: string | undefined;
|
|
64
|
+
icon?: "arrow-up-down" | "binary" | "bomb" | "boxes" | "braces" | "calculator" | "calendar" | "camera" | "clock" | "code" | "copy-x" | "database" | "dices" | "filter" | "flag" | "flask" | "function" | "git-branch" | "git-merge" | "group" | "hook" | "list-filter" | "merge" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "repeat" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "server-cog" | "settings" | "sigma" | "split" | "terminal" | "test-tube" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
|
|
65
|
+
trigger?: boolean | undefined;
|
|
66
|
+
inputs?: Record<string, unknown> | undefined;
|
|
67
|
+
outputs?: Record<string, unknown> | undefined;
|
|
68
|
+
env?: string[] | undefined;
|
|
69
|
+
connections?: string[] | undefined;
|
|
70
|
+
defaults?: Record<string, unknown> | undefined;
|
|
71
|
+
bindings?: Record<string, {
|
|
72
|
+
module: string;
|
|
73
|
+
export: string;
|
|
74
|
+
options?: Record<string, unknown> | undefined;
|
|
75
|
+
env?: Record<string, string> | undefined;
|
|
76
|
+
}> | undefined;
|
|
77
|
+
ui?: {
|
|
78
|
+
apiVersion: "1";
|
|
79
|
+
renderers: Record<string, {
|
|
80
|
+
label: string;
|
|
81
|
+
targets: Partial<Record<"node.inspector.inputs", string>>;
|
|
82
|
+
}>;
|
|
83
|
+
} | undefined;
|
|
84
|
+
source?: {
|
|
85
|
+
kind: "plugin";
|
|
86
|
+
} | {
|
|
87
|
+
kind: "npm";
|
|
88
|
+
package: string;
|
|
89
|
+
version: string;
|
|
90
|
+
} | undefined;
|
|
91
|
+
libraryExport?: string | undefined;
|
|
92
|
+
implementation?: {
|
|
93
|
+
module: string;
|
|
94
|
+
export: string;
|
|
95
|
+
parameters: string[];
|
|
96
|
+
} | undefined;
|
|
97
|
+
}[];
|
|
98
|
+
};
|
|
99
|
+
bundle: NonSharedBuffer;
|
|
100
|
+
};
|
|
1
101
|
export declare function publishPlugin(directory: string, registry: string, token: string, orgId?: string, teamId?: string): Promise<unknown>;
|
|
2
102
|
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/plugins/publish.ts"],"names":[],"mappings":"AAMA,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/plugins/publish.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBhD;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAiClB"}
|
package/dist/plugins/publish.js
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.packBuiltPlugin = packBuiltPlugin;
|
|
3
4
|
exports.publishPlugin = publishPlugin;
|
|
4
|
-
const
|
|
5
|
+
const tar_1 = require("tar");
|
|
5
6
|
const node_fs_1 = require("node:fs");
|
|
6
7
|
const node_os_1 = require("node:os");
|
|
7
8
|
const node_path_1 = require("node:path");
|
|
8
9
|
const artifact_1 = require("./artifact");
|
|
9
|
-
|
|
10
|
-
const url = new URL(registry);
|
|
11
|
-
if (url.username ||
|
|
12
|
-
url.password ||
|
|
13
|
-
url.search ||
|
|
14
|
-
url.hash ||
|
|
15
|
-
(url.protocol !== "https:" &&
|
|
16
|
-
!(url.protocol === "http:" && ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname)))) {
|
|
17
|
-
throw new Error("Registry must use HTTPS (HTTP is allowed only on loopback)");
|
|
18
|
-
}
|
|
10
|
+
function packBuiltPlugin(directory) {
|
|
19
11
|
const temp = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "octonodes-publish-"));
|
|
20
12
|
try {
|
|
21
13
|
const verified = (0, artifact_1.verifyBuild)(directory);
|
|
@@ -27,27 +19,40 @@ async function publishPlugin(directory, registry, token, orgId, teamId) {
|
|
|
27
19
|
}
|
|
28
20
|
const { manifest, files } = (0, artifact_1.verifyBuild)(snapshot);
|
|
29
21
|
const bundle = (0, node_path_1.join)(temp, "bundle.tar.gz");
|
|
30
|
-
(0,
|
|
31
|
-
|
|
32
|
-
form.set("manifest", JSON.stringify(manifest));
|
|
33
|
-
form.set("bundle", new Blob([(0, node_fs_1.readFileSync)(bundle)], { type: "application/gzip" }), "bundle.tar.gz");
|
|
34
|
-
if (orgId)
|
|
35
|
-
form.set("orgId", orgId);
|
|
36
|
-
if (teamId)
|
|
37
|
-
form.set("teamId", teamId);
|
|
38
|
-
const response = await fetch(`${registry.replace(/\/$/, "")}/marketplace/plugins/${encodeURIComponent(manifest.id)}/versions`, {
|
|
39
|
-
method: "POST",
|
|
40
|
-
headers: { authorization: `Bearer ${token}` },
|
|
41
|
-
body: form,
|
|
42
|
-
redirect: "error",
|
|
43
|
-
signal: AbortSignal.timeout(120_000),
|
|
44
|
-
});
|
|
45
|
-
if (!response.ok)
|
|
46
|
-
throw new Error(`Plugin publish failed (HTTP ${response.status}): ${(await response.text()).slice(0, 1000)}`);
|
|
47
|
-
return response.json();
|
|
22
|
+
(0, tar_1.create)({ file: bundle, cwd: snapshot, sync: true, portable: true, noMtime: true, gzip: true }, files);
|
|
23
|
+
return { manifest, bundle: (0, node_fs_1.readFileSync)(bundle) };
|
|
48
24
|
}
|
|
49
25
|
finally {
|
|
50
26
|
(0, node_fs_1.rmSync)(temp, { recursive: true, force: true });
|
|
51
27
|
}
|
|
52
28
|
}
|
|
29
|
+
async function publishPlugin(directory, registry, token, orgId, teamId) {
|
|
30
|
+
const url = new URL(registry);
|
|
31
|
+
if (url.username ||
|
|
32
|
+
url.password ||
|
|
33
|
+
url.search ||
|
|
34
|
+
url.hash ||
|
|
35
|
+
(url.protocol !== "https:" &&
|
|
36
|
+
!(url.protocol === "http:" && ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname)))) {
|
|
37
|
+
throw new Error("Registry must use HTTPS (HTTP is allowed only on loopback)");
|
|
38
|
+
}
|
|
39
|
+
const { manifest, bundle } = packBuiltPlugin(directory);
|
|
40
|
+
const form = new FormData();
|
|
41
|
+
form.set("manifest", JSON.stringify(manifest));
|
|
42
|
+
form.set("bundle", new Blob([bundle], { type: "application/gzip" }), "bundle.tar.gz");
|
|
43
|
+
if (orgId)
|
|
44
|
+
form.set("orgId", orgId);
|
|
45
|
+
if (teamId)
|
|
46
|
+
form.set("teamId", teamId);
|
|
47
|
+
const response = await fetch(`${registry.replace(/\/$/, "")}/marketplace/plugins/${encodeURIComponent(manifest.id)}/versions`, {
|
|
48
|
+
method: "POST",
|
|
49
|
+
headers: { authorization: `Bearer ${token}` },
|
|
50
|
+
body: form,
|
|
51
|
+
redirect: "error",
|
|
52
|
+
signal: AbortSignal.timeout(120_000),
|
|
53
|
+
});
|
|
54
|
+
if (!response.ok)
|
|
55
|
+
throw new Error(`Plugin publish failed (HTTP ${response.status}): ${(await response.text()).slice(0, 1000)}`);
|
|
56
|
+
return response.json();
|
|
57
|
+
}
|
|
53
58
|
//# sourceMappingURL=publish.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/plugins/publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/plugins/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { PluginReleaseUpdate } from "./types";
|
|
2
|
+
export declare function readPluginRelease(root: string): {
|
|
3
|
+
path: string;
|
|
4
|
+
document: import("yaml").Document.Parsed<import("yaml").Scalar.Parsed, true> | import("yaml").Document.Parsed<import("yaml").YAMLSeq.Parsed<import("yaml").ParsedNode>, true> | import("yaml").Document.Parsed<import("yaml").YAMLMap.Parsed<import("yaml").ParsedNode, import("yaml").ParsedNode | null>, true> | import("yaml").Document.Parsed<import("yaml").Alias.Parsed, true>;
|
|
5
|
+
config: {
|
|
6
|
+
apiVersion: "octonode.plugin/v1";
|
|
7
|
+
id: string;
|
|
8
|
+
version: string;
|
|
9
|
+
scope: "organization" | "public" | "team" | "user";
|
|
10
|
+
teamId?: string | undefined;
|
|
11
|
+
orgId?: string | undefined;
|
|
12
|
+
contributors?: string[] | undefined;
|
|
13
|
+
workflow: string;
|
|
14
|
+
};
|
|
15
|
+
} | undefined;
|
|
16
|
+
/** Explicit release edits preserve YAML comments; builds never rewrite source. */
|
|
17
|
+
export declare function updatePluginRelease(root: string, release: PluginReleaseUpdate): {
|
|
18
|
+
path: string;
|
|
19
|
+
document: import("yaml").Document.Parsed<import("yaml").Scalar.Parsed, true> | import("yaml").Document.Parsed<import("yaml").YAMLSeq.Parsed<import("yaml").ParsedNode>, true> | import("yaml").Document.Parsed<import("yaml").YAMLMap.Parsed<import("yaml").ParsedNode, import("yaml").ParsedNode | null>, true> | import("yaml").Document.Parsed<import("yaml").Alias.Parsed, true>;
|
|
20
|
+
config: {
|
|
21
|
+
apiVersion: "octonode.plugin/v1";
|
|
22
|
+
id: string;
|
|
23
|
+
version: string;
|
|
24
|
+
scope: "organization" | "public" | "team" | "user";
|
|
25
|
+
teamId?: string | undefined;
|
|
26
|
+
orgId?: string | undefined;
|
|
27
|
+
contributors?: string[] | undefined;
|
|
28
|
+
workflow: string;
|
|
29
|
+
};
|
|
30
|
+
source: string;
|
|
31
|
+
} | undefined;
|
|
32
|
+
//# sourceMappingURL=release.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/plugins/release.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAUnD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;cAgB7C;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;;;;;;;;;;;;;;cA0B7E"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readPluginRelease = readPluginRelease;
|
|
4
|
+
exports.updatePluginRelease = updatePluginRelease;
|
|
5
|
+
// Generated from engine plugin authoring. Do not edit.
|
|
6
|
+
const yaml_1 = require("yaml");
|
|
7
|
+
const node_fs_1 = require("node:fs");
|
|
8
|
+
const node_path_1 = require("node:path");
|
|
9
|
+
const plugins_1 = require("@octonodes/sdk/plugins");
|
|
10
|
+
function readPluginRelease(root) {
|
|
11
|
+
const files = plugins_1.PLUGIN_RELEASE_FILES.filter((file) => (0, node_fs_1.existsSync)((0, node_path_1.join)(root, file)));
|
|
12
|
+
if (!files.length)
|
|
13
|
+
return undefined;
|
|
14
|
+
if (files.length !== 1)
|
|
15
|
+
throw new Error("Keep exactly one plugin.octonode release file");
|
|
16
|
+
const path = (0, node_path_1.join)(root, files[0]);
|
|
17
|
+
const stat = (0, node_fs_1.lstatSync)(path);
|
|
18
|
+
if (!stat.isFile() || stat.isSymbolicLink() || stat.size > plugins_1.PLUGIN_CONFIG_MAX_BYTES)
|
|
19
|
+
throw new Error("Invalid plugin release file");
|
|
20
|
+
const document = (0, yaml_1.parseDocument)((0, node_fs_1.readFileSync)(path, "utf8"), { uniqueKeys: true, version: "1.2" });
|
|
21
|
+
(0, yaml_1.visit)(document, {
|
|
22
|
+
Alias() {
|
|
23
|
+
throw new Error("Plugin release files cannot contain YAML aliases");
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
if (document.errors.length || document.warnings.length)
|
|
27
|
+
throw new Error("Invalid plugin release JSON/YAML");
|
|
28
|
+
return { path, document, config: plugins_1.PluginReleaseConfig.parse(document.toJS({ maxAliasCount: 0 })) };
|
|
29
|
+
}
|
|
30
|
+
/** Explicit release edits preserve YAML comments; builds never rewrite source. */
|
|
31
|
+
function updatePluginRelease(root, release) {
|
|
32
|
+
const current = readPluginRelease(root);
|
|
33
|
+
if (!current)
|
|
34
|
+
return undefined;
|
|
35
|
+
const version = release.bump
|
|
36
|
+
? (0, plugins_1.bumpPluginVersion)(current.config.version, release.bump)
|
|
37
|
+
: (release.version ?? current.config.version);
|
|
38
|
+
const scope = release.scope === "group"
|
|
39
|
+
? "team"
|
|
40
|
+
: release.scope === "org"
|
|
41
|
+
? "organization"
|
|
42
|
+
: (release.scope ?? current.config.scope);
|
|
43
|
+
const config = plugins_1.PluginReleaseConfig.parse({
|
|
44
|
+
...current.config,
|
|
45
|
+
version,
|
|
46
|
+
scope,
|
|
47
|
+
teamId: scope === "team" ? (release.teamId ?? current.config.teamId) : undefined,
|
|
48
|
+
orgId: scope === "organization" ? (release.orgId ?? current.config.orgId) : undefined,
|
|
49
|
+
});
|
|
50
|
+
for (const key of ["version", "scope", "orgId", "teamId"]) {
|
|
51
|
+
if (config[key] === undefined)
|
|
52
|
+
current.document.delete(key);
|
|
53
|
+
else
|
|
54
|
+
current.document.set(key, config[key]);
|
|
55
|
+
}
|
|
56
|
+
const source = current.path.endsWith(".json") ? JSON.stringify(config, null, 2) + "\n" : String(current.document);
|
|
57
|
+
(0, node_fs_1.writeFileSync)(current.path, source);
|
|
58
|
+
return { ...current, config, source };
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=release.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/plugins/release.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PluginManifest, PreparedPluginRuntime } from "@octonodes/sdk/plugins";
|
|
1
|
+
import type { PluginManifest, PreparedPluginRuntime, PluginScope } from "@octonodes/sdk/plugins";
|
|
2
2
|
export interface PluginBuild {
|
|
3
3
|
manifest: PluginManifest;
|
|
4
4
|
directory: string;
|
|
@@ -17,4 +17,11 @@ export interface PluginBuildRecord {
|
|
|
17
17
|
sha256: string;
|
|
18
18
|
}>;
|
|
19
19
|
}
|
|
20
|
+
export interface PluginReleaseUpdate {
|
|
21
|
+
version?: string;
|
|
22
|
+
bump?: "patch" | "minor" | "major";
|
|
23
|
+
scope?: PluginScope;
|
|
24
|
+
orgId?: string;
|
|
25
|
+
teamId?: string;
|
|
26
|
+
}
|
|
20
27
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEjG,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,EAAE,CAAC,EAAE,KAAK,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,GAAG,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,uBAAuB,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACnC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@octonodes/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Octonode API and plugin development CLI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"prepack": "tsc -b"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@octonodes/sdk": "0.
|
|
24
|
+
"@octonodes/sdk": "0.2.0",
|
|
25
25
|
"@supabase/supabase-js": "2.107.0",
|
|
26
26
|
"esbuild": "0.28.1",
|
|
27
27
|
"tar": "7.5.22",
|
|
@@ -830,7 +830,7 @@ var require_constants = __commonJS({
|
|
|
830
830
|
"packages/schema/dist/constants.js"(exports2) {
|
|
831
831
|
"use strict";
|
|
832
832
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
833
|
-
exports2.CAPABILITY_UNAVAILABLE_REASONS = exports2.CAPABILITY_MODES = exports2.PLATFORM_CAPABILITIES = exports2.SOURCE_CONTROL_REGION_KINDS = exports2.TASK_RELEASE_STATES = exports2.TASK_SPRINT_STATES = exports2.TASK_LINK_TYPES = exports2.TASK_VIEW_SORTS = exports2.TASK_VIEW_GROUPS = exports2.TASK_VIEW_LAYOUTS = exports2.TASK_FIELD_TYPES = exports2.WORK_ITEM_PRIORITIES = exports2.BUILTIN_WORK_ITEM_TYPES = exports2.WORK_ITEM_LEVELS = exports2.TASK_STATUS_CATEGORIES = exports2.TASK_SPACE_TEMPLATES = exports2.COLLABORATION_ACTIONS = exports2.AGENT_TOOL_RISKS = exports2.AGENT_ERROR_CODES = exports2.AGENT_RUN_STATUSES = exports2.WORKSPACE_ACTIONS = exports2.SETTINGS_SECTIONS = exports2.SETTINGS_API_VERSION = exports2.MARKETPLACE_SCOPES = exports2.PLUGIN_DEFINITION_FILENAMES = exports2.PLUGIN_MANIFEST_FILENAME = exports2.COMMUNITY_MEDIA_TYPES = exports2.COMMUNITY_MEDIA_BODY_BYTES = exports2.COMMUNITY_MEDIA_VIDEO_BYTES = exports2.COMMUNITY_MEDIA_IMAGE_BYTES = exports2.PROJECT_JOB_PROTOCOL = exports2.PLUGIN_SCHEMA_VERSION = void 0;
|
|
833
|
+
exports2.PLUGIN_PUBLISH_MAX_BYTES = exports2.PLUGIN_CONFIG_MAX_BYTES = exports2.PLUGIN_PUBLISH_AUDIENCE = exports2.PLUGIN_RELEASE_FILES = exports2.CAPABILITY_UNAVAILABLE_REASONS = exports2.CAPABILITY_MODES = exports2.PLATFORM_CAPABILITIES = exports2.SOURCE_CONTROL_REGION_KINDS = exports2.TASK_RELEASE_STATES = exports2.TASK_SPRINT_STATES = exports2.TASK_LINK_TYPES = exports2.TASK_VIEW_SORTS = exports2.TASK_VIEW_GROUPS = exports2.TASK_VIEW_LAYOUTS = exports2.TASK_FIELD_TYPES = exports2.WORK_ITEM_PRIORITIES = exports2.BUILTIN_WORK_ITEM_TYPES = exports2.WORK_ITEM_LEVELS = exports2.TASK_STATUS_CATEGORIES = exports2.TASK_SPACE_TEMPLATES = exports2.COLLABORATION_ACTIONS = exports2.AGENT_TOOL_RISKS = exports2.AGENT_ERROR_CODES = exports2.AGENT_RUN_STATUSES = exports2.WORKSPACE_ACTIONS = exports2.SETTINGS_SECTIONS = exports2.SETTINGS_API_VERSION = exports2.MARKETPLACE_SCOPES = exports2.PLUGIN_DEFINITION_FILENAMES = exports2.PLUGIN_MANIFEST_FILENAME = exports2.COMMUNITY_MEDIA_TYPES = exports2.COMMUNITY_MEDIA_BODY_BYTES = exports2.COMMUNITY_MEDIA_VIDEO_BYTES = exports2.COMMUNITY_MEDIA_IMAGE_BYTES = exports2.PROJECT_JOB_PROTOCOL = exports2.PLUGIN_SCHEMA_VERSION = void 0;
|
|
834
834
|
exports2.PLUGIN_SCHEMA_VERSION = "1";
|
|
835
835
|
exports2.PROJECT_JOB_PROTOCOL = "octonode.project-job.v1";
|
|
836
836
|
exports2.COMMUNITY_MEDIA_IMAGE_BYTES = 8 * 1024 * 1024;
|
|
@@ -1034,6 +1034,10 @@ var require_constants = __commonJS({
|
|
|
1034
1034
|
"missing_entitlement",
|
|
1035
1035
|
"missing_permission"
|
|
1036
1036
|
];
|
|
1037
|
+
exports2.PLUGIN_RELEASE_FILES = ["plugin.octonode.json", "plugin.octonode.yml", "plugin.octonode.yaml"];
|
|
1038
|
+
exports2.PLUGIN_PUBLISH_AUDIENCE = "https://plugins.octonodes.com";
|
|
1039
|
+
exports2.PLUGIN_CONFIG_MAX_BYTES = 65536;
|
|
1040
|
+
exports2.PLUGIN_PUBLISH_MAX_BYTES = 32 * 1024 * 1024;
|
|
1037
1041
|
}
|
|
1038
1042
|
});
|
|
1039
1043
|
|
|
@@ -1316,6 +1320,8 @@ var require_plugin = __commonJS({
|
|
|
1316
1320
|
}).strict().optional(),
|
|
1317
1321
|
icon: icons_1.IconName.optional(),
|
|
1318
1322
|
author: zod_1.z.string().optional(),
|
|
1323
|
+
contributors: zod_1.z.array(zod_1.z.string().trim().min(1).max(240)).max(100).optional(),
|
|
1324
|
+
repository: zod_1.z.string().url().regex(/^https:\/\/github\.com\/[^/]+\/[^/]+\/?$/).optional(),
|
|
1319
1325
|
homepage: zod_1.z.string().optional(),
|
|
1320
1326
|
license: zod_1.z.string().optional(),
|
|
1321
1327
|
/** Distribution tiers this plugin may be discovered/installed from. Private by default. */
|
|
@@ -11423,6 +11429,7 @@ var require_plugin_version = __commonJS({
|
|
|
11423
11429
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
11424
11430
|
exports2.PluginVersion = void 0;
|
|
11425
11431
|
exports2.comparePluginVersions = comparePluginVersions;
|
|
11432
|
+
exports2.bumpPluginVersion = bumpPluginVersion;
|
|
11426
11433
|
var zod_1 = require("zod");
|
|
11427
11434
|
exports2.PluginVersion = zod_1.z.string().max(200).regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/, "Use a semantic version such as 1.2.3 or 2.0.0-beta.1");
|
|
11428
11435
|
function comparePluginVersions(left, right) {
|
|
@@ -11453,6 +11460,22 @@ var require_plugin_version = __commonJS({
|
|
|
11453
11460
|
}
|
|
11454
11461
|
return ap.length - bp.length;
|
|
11455
11462
|
}
|
|
11463
|
+
function bumpPluginVersion(version, release2) {
|
|
11464
|
+
exports2.PluginVersion.parse(version);
|
|
11465
|
+
const core = version.split("+")[0];
|
|
11466
|
+
const prerelease = core.includes("-");
|
|
11467
|
+
let [major, minor, patch] = core.split("-")[0].split(".").map(BigInt);
|
|
11468
|
+
if (release2 === "major") {
|
|
11469
|
+
major += !prerelease || minor !== 0n || patch !== 0n ? 1n : 0n;
|
|
11470
|
+
minor = 0n;
|
|
11471
|
+
patch = 0n;
|
|
11472
|
+
} else if (release2 === "minor") {
|
|
11473
|
+
minor += !prerelease || patch !== 0n ? 1n : 0n;
|
|
11474
|
+
patch = 0n;
|
|
11475
|
+
} else
|
|
11476
|
+
patch += prerelease ? 0n : 1n;
|
|
11477
|
+
return exports2.PluginVersion.parse(`${major}.${minor}.${patch}`);
|
|
11478
|
+
}
|
|
11456
11479
|
}
|
|
11457
11480
|
});
|
|
11458
11481
|
|
|
@@ -11508,6 +11531,52 @@ var require_execution = __commonJS({
|
|
|
11508
11531
|
}
|
|
11509
11532
|
});
|
|
11510
11533
|
|
|
11534
|
+
// packages/schema/dist/plugin-publishing.js
|
|
11535
|
+
var require_plugin_publishing = __commonJS({
|
|
11536
|
+
"packages/schema/dist/plugin-publishing.js"(exports2) {
|
|
11537
|
+
"use strict";
|
|
11538
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
11539
|
+
exports2.PluginPublisherConnections = exports2.PluginPublisherConnection = exports2.PluginPublisherPreview = exports2.PluginPublisherConsent = exports2.PluginPublisherInput = exports2.pluginReleaseScope = exports2.PluginReleaseConfig = exports2.PluginConfigPath = void 0;
|
|
11540
|
+
var zod_1 = require("zod");
|
|
11541
|
+
var plugin_version_1 = require_plugin_version();
|
|
11542
|
+
exports2.PluginConfigPath = zod_1.z.string().max(512).refine((path) => /^(?:[a-zA-Z0-9_.-]+\/)*plugin\.octonode\.(json|ya?ml)$/.test(path) && !path.split("/").some((part) => [".", "..", ".git", "node_modules"].includes(part)), "Select a repository-relative plugin.octonode.json or .yml file");
|
|
11543
|
+
exports2.PluginReleaseConfig = zod_1.z.object({
|
|
11544
|
+
apiVersion: zod_1.z.literal("octonode.plugin/v1"),
|
|
11545
|
+
id: zod_1.z.string().max(128).regex(/^[a-z0-9][a-z0-9-]*$/),
|
|
11546
|
+
version: plugin_version_1.PluginVersion,
|
|
11547
|
+
scope: zod_1.z.enum(["user", "team", "organization", "public"]),
|
|
11548
|
+
teamId: zod_1.z.string().min(1).max(128).optional(),
|
|
11549
|
+
orgId: zod_1.z.string().min(1).max(128).optional(),
|
|
11550
|
+
contributors: zod_1.z.array(zod_1.z.string().trim().min(1).max(240)).max(100).optional(),
|
|
11551
|
+
workflow: zod_1.z.string().regex(/^\.github\/workflows\/[a-zA-Z0-9_-]+\.ya?ml$/).default(".github/workflows/octonode-publish.yml")
|
|
11552
|
+
}).strict().superRefine((config, ctx) => {
|
|
11553
|
+
if (config.scope === "team" !== Boolean(config.teamId))
|
|
11554
|
+
ctx.addIssue({ code: "custom", path: ["teamId"], message: "teamId is required only for team scope" });
|
|
11555
|
+
if (config.scope === "organization" !== Boolean(config.orgId))
|
|
11556
|
+
ctx.addIssue({ code: "custom", path: ["orgId"], message: "orgId is required only for organization scope" });
|
|
11557
|
+
});
|
|
11558
|
+
var pluginReleaseScope = (config) => config.scope === "team" ? "group" : config.scope === "organization" ? "org" : config.scope;
|
|
11559
|
+
exports2.pluginReleaseScope = pluginReleaseScope;
|
|
11560
|
+
exports2.PluginPublisherInput = zod_1.z.object({ repositoryId: zod_1.z.number().int().positive(), configPath: exports2.PluginConfigPath }).strict();
|
|
11561
|
+
exports2.PluginPublisherConsent = exports2.PluginPublisherInput.extend({ sha256: zod_1.z.string().regex(/^[a-f0-9]{64}$/) });
|
|
11562
|
+
exports2.PluginPublisherPreview = zod_1.z.object({
|
|
11563
|
+
config: exports2.PluginReleaseConfig,
|
|
11564
|
+
sha256: zod_1.z.string(),
|
|
11565
|
+
repository: zod_1.z.string(),
|
|
11566
|
+
branch: zod_1.z.string()
|
|
11567
|
+
});
|
|
11568
|
+
exports2.PluginPublisherConnection = exports2.PluginPublisherPreview.extend({
|
|
11569
|
+
id: zod_1.z.string().uuid(),
|
|
11570
|
+
repositoryId: zod_1.z.number(),
|
|
11571
|
+
configPath: exports2.PluginConfigPath,
|
|
11572
|
+
lastVersion: zod_1.z.string().nullable(),
|
|
11573
|
+
lastSha: zod_1.z.string().nullable(),
|
|
11574
|
+
lastPublishedAt: zod_1.z.number().nullable()
|
|
11575
|
+
});
|
|
11576
|
+
exports2.PluginPublisherConnections = zod_1.z.object({ items: zod_1.z.array(exports2.PluginPublisherConnection) });
|
|
11577
|
+
}
|
|
11578
|
+
});
|
|
11579
|
+
|
|
11511
11580
|
// packages/schema/dist/index.js
|
|
11512
11581
|
var require_dist = __commonJS({
|
|
11513
11582
|
"packages/schema/dist/index.js"(exports2) {
|
|
@@ -11572,6 +11641,7 @@ var require_dist = __commonJS({
|
|
|
11572
11641
|
__exportStar(require_plugin_version(), exports2);
|
|
11573
11642
|
__exportStar(require_execution(), exports2);
|
|
11574
11643
|
__exportStar(require_execution_constants(), exports2);
|
|
11644
|
+
__exportStar(require_plugin_publishing(), exports2);
|
|
11575
11645
|
}
|
|
11576
11646
|
});
|
|
11577
11647
|
|
|
@@ -11954,8 +12024,8 @@ var require_constants2 = __commonJS({
|
|
|
11954
12024
|
"packages/common/dist/constants.js"(exports2) {
|
|
11955
12025
|
"use strict";
|
|
11956
12026
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
11957
|
-
exports2.
|
|
11958
|
-
exports2.VISUAL_UPDATE = exports2.VISUAL_STORY = exports2.VISUAL_REVIEW_DIR = exports2.VISUAL_FULL = exports2.VISUAL_BASE = exports2.USERNAME = exports2.USER = void 0;
|
|
12027
|
+
exports2.PYTHONPATH = exports2.PORT = exports2.PATH = exports2.OPENROUTER_API_KEY = exports2.CLOUDFLARE_ACCOUNT_ID = exports2.CLOUDFLARE_API_KEY = exports2.OPENAI_API_KEY = exports2.OTEL_SERVICE_NAME = exports2.OTEL_SDK_DISABLED = exports2.OTEL_EXPORTER_OTLP_ENDPOINT = exports2.OCTONODE_WORKSPACE = exports2.OCTONODE_VISUAL_PORT = exports2.OCTONODE_USER_EMAIL = exports2.OCTONODE_USER = exports2.OCTONODE_STUDIO_URL = exports2.OCTONODE_STORE_DIR = exports2.OCTONODE_SOURCE_WATCH_CONCURRENCY = exports2.OCTONODE_SHUTDOWN_TIMEOUT_MS = exports2.OCTONODE_SERVER_PROFILE = exports2.OCTONODE_RUNTIME = exports2.OCTONODE_REPOSITORY_REGISTRY_V2 = exports2.OCTONODE_RUN_RETENTION_COUNT = exports2.OCTONODE_RUN_RETENTION_BYTES = exports2.OCTONODE_RUN_RETENTION_AGE_MS = exports2.OCTONODE_STATE_NAMESPACE = exports2.OCTONODE_RUN_QUEUE = exports2.OCTONODE_RUN_CONCURRENCY = exports2.DEFAULT_MARKETPLACE_URL = exports2.OCTONODE_MARKETPLACE_URL = exports2.OCTONODE_MARKETPLACE_TOKEN = exports2.OCTONODE_PACKAGE_CACHE = exports2.OCTONODE_PROJECT = exports2.OCTONODE_CWD = exports2.OCTONODE_COMMUNITY_ROLLOUT = exports2.OCTONODE_CHAT_SERVICE_URL = exports2.OCTONODE_CHAT_SERVICE_TOKEN = exports2.OCTONODE_CHAT_SERVICE_AVAILABLE = exports2.OCTONODE_CHAT_MODEL = exports2.OCTONODE_CLOUD_INTERNAL_TOKEN = exports2.OCTONODE_CORS_ORIGINS = exports2.OCTONODE_API_TOKEN = exports2.OCTONODE_API_URL = exports2.OCTONODE_AUTH_TOKEN = exports2.OCTONODE_AUTH_PRINCIPAL = exports2.HOST = exports2.CONFIG_PATH = exports2.setEnvironmentVariable = exports2.childProcessEnvironment = exports2.workflowEnvironment = exports2.PROCESS_ENV = void 0;
|
|
12028
|
+
exports2.VISUAL_UPDATE = exports2.VISUAL_STORY = exports2.VISUAL_REVIEW_DIR = exports2.VISUAL_FULL = exports2.VISUAL_BASE = exports2.USERNAME = exports2.USER = exports2.UI_DIR = void 0;
|
|
11959
12029
|
exports2.PROCESS_ENV = typeof process === "undefined" ? {} : process.env;
|
|
11960
12030
|
var workflowEnvironment = (variables = {}) => {
|
|
11961
12031
|
const environment = Object.fromEntries(Object.entries(variables).filter((entry) => typeof entry[1] === "string"));
|
|
@@ -12011,6 +12081,7 @@ var require_constants2 = __commonJS({
|
|
|
12011
12081
|
exports2.OCTONODE_MARKETPLACE_TOKEN = OCTONODE_MARKETPLACE_TOKEN2;
|
|
12012
12082
|
var OCTONODE_MARKETPLACE_URL3 = () => exports2.PROCESS_ENV.OCTONODE_MARKETPLACE_URL ?? exports2.PROCESS_ENV.VITE_OCTONODE_MARKETPLACE_URL ?? exports2.PROCESS_ENV.VITE_PUBLIC_OCTONODE_MARKETPLACE_URL;
|
|
12013
12083
|
exports2.OCTONODE_MARKETPLACE_URL = OCTONODE_MARKETPLACE_URL3;
|
|
12084
|
+
exports2.DEFAULT_MARKETPLACE_URL = "https://plugins.octonodes.com";
|
|
12014
12085
|
var OCTONODE_RUN_CONCURRENCY = () => exports2.PROCESS_ENV.OCTONODE_RUN_CONCURRENCY;
|
|
12015
12086
|
exports2.OCTONODE_RUN_CONCURRENCY = OCTONODE_RUN_CONCURRENCY;
|
|
12016
12087
|
var OCTONODE_RUN_QUEUE = () => exports2.PROCESS_ENV.OCTONODE_RUN_QUEUE;
|
|
@@ -13650,7 +13721,7 @@ function usesPreparedRunner(directory) {
|
|
|
13650
13721
|
return !manifest2.permissions.some((permission) => permission.resource === "project_data");
|
|
13651
13722
|
}
|
|
13652
13723
|
function preparedPluginPin(directory, pin) {
|
|
13653
|
-
return !!pin?.installId && !!pin.registry && pin.registry.replace(/\/$/, "") === (0, import_common3.OCTONODE_MARKETPLACE_URL)()
|
|
13724
|
+
return !!pin?.installId && !!pin.registry && pin.registry.replace(/\/$/, "") === ((0, import_common3.OCTONODE_MARKETPLACE_URL)() ?? import_common3.DEFAULT_MARKETPLACE_URL).replace(/\/$/, "") && usesPreparedRunner(directory);
|
|
13654
13725
|
}
|
|
13655
13726
|
|
|
13656
13727
|
// packages/plugin/src/lifecycle.ts
|
|
@@ -13898,7 +13969,7 @@ var import_tar4 = require("tar");
|
|
|
13898
13969
|
var import_node_crypto5 = require("node:crypto");
|
|
13899
13970
|
var RemoteRegistry = class {
|
|
13900
13971
|
constructor(opts = {}) {
|
|
13901
|
-
const baseUrl = opts.baseUrl ?? (0, import_common5.OCTONODE_MARKETPLACE_URL)();
|
|
13972
|
+
const baseUrl = opts.baseUrl ?? (0, import_common5.OCTONODE_MARKETPLACE_URL)() ?? import_common5.DEFAULT_MARKETPLACE_URL;
|
|
13902
13973
|
if (!baseUrl) {
|
|
13903
13974
|
throw new Error("marketplace URL is not configured (set OCTONODE_MARKETPLACE_URL or pass baseUrl)");
|
|
13904
13975
|
}
|
|
@@ -14101,7 +14172,7 @@ var RemoteRegistry = class {
|
|
|
14101
14172
|
}
|
|
14102
14173
|
})();
|
|
14103
14174
|
const archiveSha256 = releaseChecksum && /^[a-f0-9]{64}$/.test(releaseChecksum) ? releaseChecksum : void 0;
|
|
14104
|
-
const prepared = this.baseUrl === (0, import_common5.OCTONODE_MARKETPLACE_URL)()
|
|
14175
|
+
const prepared = this.baseUrl === ((0, import_common5.OCTONODE_MARKETPLACE_URL)() ?? import_common5.DEFAULT_MARKETPLACE_URL).replace(/\/$/, "") && usesPreparedRunner(entry.dir);
|
|
14105
14176
|
if (entry.manifest.library && opts.noDeps && !opts.cacheOnly)
|
|
14106
14177
|
throw new Error(
|
|
14107
14178
|
"Library installation requires native dependency activation; use frozen --artifacts-only for CI restore"
|