@octonodes/cli 0.1.14 → 0.2.1

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 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: ["public"]` in the definition for community discovery, rebuild, then:
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 publish dist/plugins/my-integrations --registry https://your-marketplace.example
29
+ octonodes plugin version patch
30
+ octonodes plugin deploy .
27
31
  ```
28
32
 
29
- Use `OCTONODE_MARKETPLACE_URL` to save the registry endpoint. Publishing uploads
30
- the built artifact through the existing marketplace protocol; it never publishes
31
- to npm. `OCTONODE_MARKETPLACE_TOKEN` overrides normal CLI authentication. Use
32
- `--org` and `--team` for organization/group scopes. Each plugin has an independent
33
- version, and unchanged build hashes are required before upload.
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;AA4B3C,wBAAsB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsS/F"}
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"}
@@ -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 manifestDefinition = definition.manifest;
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,CAiFlE"}
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"}
@@ -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\nAll metadata belongs in code; \`dist/plugins/<id>/octonode.yml\` is generated.\nSet \`scope: ["public"]\` to share publicly. Configure \`OCTONODE_MARKETPLACE_URL\`, run \`octonodes login\`, then \`octonodes plugin publish dist/plugins/${name}\`.\nConfig compilation reads definitions without executing application code. Keep secrets out of definitions and assets.\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;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3G,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,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,4ZAA4Z,IAAI,6HAA6H,CACviB,CAAC;IACF,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,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,2 @@
1
+ export declare function deployPlugin(root: string, registry?: string, token?: string, github?: boolean): Promise<unknown>;
2
+ //# sourceMappingURL=deploy.d.ts.map
@@ -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,iqCAoBvB,CAAC"}
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;;;;;;;;;;;;;;;;;;;;CAoB1B,CAAC"}
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":"AAWA,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,CAkFlF"}
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"}
@@ -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,CAmDlB"}
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"}
@@ -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 node_child_process_1 = require("node:child_process");
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
- async function publishPlugin(directory, registry, token, orgId, teamId) {
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, node_child_process_1.execFileSync)("tar", ["-czf", bundle, "-C", snapshot, "--", ...files]);
31
- const form = new FormData();
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":"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"}
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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"}
@@ -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;AAEpF,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"}
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.1.14",
3
+ "version": "0.2.1",
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.1.14",
24
+ "@octonodes/sdk": "0.2.1",
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.UI_DIR = 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.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;
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)()?.replace(/\/$/, "") && usesPreparedRunner(directory);
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)()?.replace(/\/$/, "") && usesPreparedRunner(entry.dir);
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"