@octonodes/cli 0.1.13 → 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.
@@ -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,10 +1,11 @@
1
- import type { PluginManifest } 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;
5
5
  }
6
6
  export interface PluginBuildRecord {
7
7
  format: 1;
8
+ runtime?: PreparedPluginRuntime;
8
9
  files: Record<string, string>;
9
10
  ui?: Array<{
10
11
  nodeId: string;
@@ -16,4 +17,11 @@ export interface PluginBuildRecord {
16
17
  sha256: string;
17
18
  }>;
18
19
  }
20
+ export interface PluginReleaseUpdate {
21
+ version?: string;
22
+ bump?: "patch" | "minor" | "major";
23
+ scope?: PluginScope;
24
+ orgId?: string;
25
+ teamId?: string;
26
+ }
19
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,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,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.13",
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.1.12",
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",