@octonodes/sdk 0.0.3 → 0.1.5
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/PLUGINS.md +265 -0
- package/README.md +107 -9
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/gen/index.d.ts +2 -2
- package/dist/gen/index.d.ts.map +1 -1
- package/dist/gen/index.js +4 -3
- package/dist/gen/index.js.map +1 -1
- package/dist/gen/sdk.gen.d.ts +9 -1
- package/dist/gen/sdk.gen.d.ts.map +1 -1
- package/dist/gen/sdk.gen.js +21 -3
- package/dist/gen/sdk.gen.js.map +1 -1
- package/dist/gen/types.gen.d.ts +379 -1
- package/dist/gen/types.gen.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +19 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/schema/constants.d.ts +33 -0
- package/dist/plugins/schema/constants.d.ts.map +1 -0
- package/dist/plugins/schema/constants.js +207 -0
- package/dist/plugins/schema/constants.js.map +1 -0
- package/dist/plugins/schema/icons.d.ts +5 -0
- package/dist/plugins/schema/icons.d.ts.map +1 -0
- package/dist/plugins/schema/icons.js +62 -0
- package/dist/plugins/schema/icons.js.map +1 -0
- package/dist/plugins/schema/ipc-envelope.d.ts +923 -0
- package/dist/plugins/schema/ipc-envelope.d.ts.map +1 -0
- package/dist/plugins/schema/ipc-envelope.js +210 -0
- package/dist/plugins/schema/ipc-envelope.js.map +1 -0
- package/dist/plugins/schema/plugin-sdk/index.d.ts +5 -0
- package/dist/plugins/schema/plugin-sdk/index.d.ts.map +1 -0
- package/dist/plugins/schema/plugin-sdk/index.js +25 -0
- package/dist/plugins/schema/plugin-sdk/index.js.map +1 -0
- package/dist/plugins/schema/plugin.d.ts +808 -0
- package/dist/plugins/schema/plugin.d.ts.map +1 -0
- package/dist/plugins/schema/plugin.js +196 -0
- package/dist/plugins/schema/plugin.js.map +1 -0
- package/dist/plugins/sdk/define-node.d.ts +103 -0
- package/dist/plugins/sdk/define-node.d.ts.map +1 -0
- package/dist/plugins/sdk/define-node.js +58 -0
- package/dist/plugins/sdk/define-node.js.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/catalog.d.ts +3 -0
- package/dist/plugins/sdk/definitions/compiler/catalog.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/catalog.js +133 -0
- package/dist/plugins/sdk/definitions/compiler/catalog.js.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/constants.d.ts +6 -0
- package/dist/plugins/sdk/definitions/compiler/constants.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/constants.js +10 -0
- package/dist/plugins/sdk/definitions/compiler/constants.js.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/index.d.ts +7 -0
- package/dist/plugins/sdk/definitions/compiler/index.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/index.js +411 -0
- package/dist/plugins/sdk/definitions/compiler/index.js.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/literals.d.ts +5 -0
- package/dist/plugins/sdk/definitions/compiler/literals.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/literals.js +78 -0
- package/dist/plugins/sdk/definitions/compiler/literals.js.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/schemas.d.ts +4 -0
- package/dist/plugins/sdk/definitions/compiler/schemas.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/schemas.js +95 -0
- package/dist/plugins/sdk/definitions/compiler/schemas.js.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/types.d.ts +20 -0
- package/dist/plugins/sdk/definitions/compiler/types.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/compiler/types.js +3 -0
- package/dist/plugins/sdk/definitions/compiler/types.js.map +1 -0
- package/dist/plugins/sdk/definitions/index.d.ts +7 -0
- package/dist/plugins/sdk/definitions/index.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/index.js +16 -0
- package/dist/plugins/sdk/definitions/index.js.map +1 -0
- package/dist/plugins/sdk/definitions/npm/emit/js.d.ts +4 -0
- package/dist/plugins/sdk/definitions/npm/emit/js.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/npm/emit/js.js +190 -0
- package/dist/plugins/sdk/definitions/npm/emit/js.js.map +1 -0
- package/dist/plugins/sdk/definitions/npm/types.d.ts +63 -0
- package/dist/plugins/sdk/definitions/npm/types.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/npm/types.js +3 -0
- package/dist/plugins/sdk/definitions/npm/types.js.map +1 -0
- package/dist/plugins/sdk/definitions/types.d.ts +43 -0
- package/dist/plugins/sdk/definitions/types.d.ts.map +1 -0
- package/dist/plugins/sdk/definitions/types.js +3 -0
- package/dist/plugins/sdk/definitions/types.js.map +1 -0
- package/dist/plugins/sdk/json-schema.d.ts +17 -0
- package/dist/plugins/sdk/json-schema.d.ts.map +1 -0
- package/dist/plugins/sdk/json-schema.js +79 -0
- package/dist/plugins/sdk/json-schema.js.map +1 -0
- package/dist/plugins/sdk/nodes/index.d.ts +5 -0
- package/dist/plugins/sdk/nodes/index.d.ts.map +1 -0
- package/dist/plugins/sdk/nodes/index.js +12 -0
- package/dist/plugins/sdk/nodes/index.js.map +1 -0
- package/dist/plugins/sdk/plugin/index.d.ts +3 -0
- package/dist/plugins/sdk/plugin/index.d.ts.map +1 -0
- package/dist/plugins/sdk/plugin/index.js +8 -0
- package/dist/plugins/sdk/plugin/index.js.map +1 -0
- package/dist/plugins/sdk/plugin.d.ts +7 -0
- package/dist/plugins/sdk/plugin.d.ts.map +1 -0
- package/dist/plugins/sdk/plugin.js +74 -0
- package/dist/plugins/sdk/plugin.js.map +1 -0
- package/dist/plugins/sdk/plugin.types.d.ts +15 -0
- package/dist/plugins/sdk/plugin.types.d.ts.map +1 -0
- package/dist/plugins/sdk/plugin.types.js +3 -0
- package/dist/plugins/sdk/plugin.types.js.map +1 -0
- package/dist/plugins/sdk/plugins/define-node.d.ts +29 -0
- package/dist/plugins/sdk/plugins/define-node.d.ts.map +1 -0
- package/dist/plugins/sdk/plugins/define-node.js +16 -0
- package/dist/plugins/sdk/plugins/define-node.js.map +1 -0
- package/dist/plugins/sdk/plugins/index.d.ts +10 -0
- package/dist/plugins/sdk/plugins/index.d.ts.map +1 -0
- package/dist/plugins/sdk/plugins/index.js +23 -0
- package/dist/plugins/sdk/plugins/index.js.map +1 -0
- package/dist/plugins/sdk/plugins/types.d.ts +34 -0
- package/dist/plugins/sdk/plugins/types.d.ts.map +1 -0
- package/dist/plugins/sdk/plugins/types.js +3 -0
- package/dist/plugins/sdk/plugins/types.js.map +1 -0
- package/dist/plugins/sdk/project/index.d.ts +5 -0
- package/dist/plugins/sdk/project/index.d.ts.map +1 -0
- package/dist/plugins/sdk/project/index.js +10 -0
- package/dist/plugins/sdk/project/index.js.map +1 -0
- package/dist/plugins/sdk/runner.d.ts +36 -0
- package/dist/plugins/sdk/runner.d.ts.map +1 -0
- package/dist/plugins/sdk/runner.js +324 -0
- package/dist/plugins/sdk/runner.js.map +1 -0
- package/package.json +65 -5
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.npmNode = npmNode;
|
|
4
|
+
exports.workflowNode = workflowNode;
|
|
5
|
+
/** Generated inventory declaration; the compiler reads its literal argument. */
|
|
6
|
+
function npmNode(handle) {
|
|
7
|
+
return { kind: "npm", ...handle };
|
|
8
|
+
}
|
|
9
|
+
function workflowNode(handle) {
|
|
10
|
+
return { kind: "workflow", ...handle };
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/sdk/nodes/index.ts"],"names":[],"mappings":";;AAIA,0BAEC;AAED,oCAEC;AAPD,gFAAgF;AAChF,SAAgB,OAAO,CAAC,MAAmC;IACzD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,SAAgB,YAAY,CAAC,MAAwC;IACnE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.definePlugin = exports.defineNode = void 0;
|
|
4
|
+
// Generated from packages/plugin-runtime/src/plugin/index.ts. Do not edit; run the Octonode SDK sync.
|
|
5
|
+
var definitions_1 = require("../definitions");
|
|
6
|
+
Object.defineProperty(exports, "defineNode", { enumerable: true, get: function () { return definitions_1.defineNode; } });
|
|
7
|
+
Object.defineProperty(exports, "definePlugin", { enumerable: true, get: function () { return definitions_1.definePlugin; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugin/index.ts"],"names":[],"mappings":";;;AAAA,sGAAsG;AACtG,8CAA0D;AAAjD,yGAAA,UAAU,OAAA;AAAE,2GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PluginDefinition, PluginHandlers, PluginOptions } from "./plugin.types";
|
|
2
|
+
/** One definition owns discovery, presentation, ports, and the SDK runtime contract. */
|
|
3
|
+
export declare function definePlugin(definition: PluginOptions): PluginDefinition;
|
|
4
|
+
export declare function definePlugin(definition: unknown, handlers: PluginHandlers): PluginDefinition;
|
|
5
|
+
/** The manifest command selects a node: `node dist/index.js <node-id>`. */
|
|
6
|
+
export declare function startPlugin(plugin: PluginDefinition, nodeId?: string): void;
|
|
7
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/sdk/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEtF,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,gBAAgB,CAAC;AAC1E,wBAAgB,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC;AA2D9F,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,SAAkB,GAAG,IAAI,CAKpF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.definePlugin = definePlugin;
|
|
4
|
+
exports.startPlugin = startPlugin;
|
|
5
|
+
// Generated from packages/plugin-runtime/src/plugin.ts. Do not edit; run the Octonode SDK sync.
|
|
6
|
+
const plugin_sdk_1 = require("../schema/plugin-sdk");
|
|
7
|
+
const define_node_1 = require("./define-node");
|
|
8
|
+
const runner_1 = require("./runner");
|
|
9
|
+
function definePlugin(definition, handlers) {
|
|
10
|
+
const options = definition;
|
|
11
|
+
if (!handlers && (!options || !Array.isArray(options.nodes)))
|
|
12
|
+
throw new Error("plugin needs a nodes array");
|
|
13
|
+
if (!handlers) {
|
|
14
|
+
for (const node of options.nodes) {
|
|
15
|
+
if (typeof node.run !== "function")
|
|
16
|
+
throw new Error(`plugin node "${node.id}" needs a handler`);
|
|
17
|
+
if (node.kind && node.kind !== "function")
|
|
18
|
+
throw new Error("plugin nodes must be functions");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const manifest = plugin_sdk_1.PluginManifest.parse(handlers
|
|
22
|
+
? definition
|
|
23
|
+
: {
|
|
24
|
+
...options,
|
|
25
|
+
nodes: options.nodes.map(({ run: _run, ...node }) => ({
|
|
26
|
+
...node,
|
|
27
|
+
command: `node dist/index.js ${node.id}`,
|
|
28
|
+
language: "typescript",
|
|
29
|
+
})),
|
|
30
|
+
});
|
|
31
|
+
const nodeHandlers = handlers ?? Object.fromEntries(options.nodes.map((node) => [node.id, node.run]));
|
|
32
|
+
for (const node of manifest.nodes) {
|
|
33
|
+
for (const field of ["inputs", "outputs", "defaults"]) {
|
|
34
|
+
const error = node[field] === undefined ? undefined : (0, runner_1.jsonSafetyError)(node[field]);
|
|
35
|
+
if (error)
|
|
36
|
+
throw new Error(`plugin node "${node.id}" ${field} must be JSON-serializable: ${error}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
for (const id of Object.keys(nodeHandlers)) {
|
|
40
|
+
if (!manifest.nodes.some((node) => node.id === id))
|
|
41
|
+
throw new Error(`handler "${id}" has no plugin node`);
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
manifest,
|
|
45
|
+
...(!handlers && options.assets ? { assets: options.assets } : {}),
|
|
46
|
+
nodes: Object.fromEntries(manifest.nodes.map((node) => {
|
|
47
|
+
if (!Object.hasOwn(nodeHandlers, node.id))
|
|
48
|
+
throw new Error(`plugin node "${node.id}" needs a handler`);
|
|
49
|
+
const fields = (node.connections ?? []).flatMap((id) => Object.entries(manifest.connections?.[id]?.fields ?? {}));
|
|
50
|
+
return [
|
|
51
|
+
node.id,
|
|
52
|
+
(0, define_node_1.defineNode)({
|
|
53
|
+
...node,
|
|
54
|
+
run: (inputs, context) => {
|
|
55
|
+
const missing = fields
|
|
56
|
+
.filter(([name, field]) => field.required && !process.env[name])
|
|
57
|
+
.map(([name]) => name);
|
|
58
|
+
if (missing.length)
|
|
59
|
+
throw new runner_1.NodeError(`Missing connection credentials: ${missing.join(", ")}`);
|
|
60
|
+
return nodeHandlers[node.id](inputs, context);
|
|
61
|
+
},
|
|
62
|
+
}),
|
|
63
|
+
];
|
|
64
|
+
})),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** The manifest command selects a node: `node dist/index.js <node-id>`. */
|
|
68
|
+
function startPlugin(plugin, nodeId = process.argv[2]) {
|
|
69
|
+
const id = nodeId ?? (plugin.manifest.nodes.length === 1 ? plugin.manifest.nodes[0].id : undefined);
|
|
70
|
+
if (!id || !Object.hasOwn(plugin.nodes, id))
|
|
71
|
+
throw new Error(`Choose a plugin node: ${Object.keys(plugin.nodes).join(", ")}`);
|
|
72
|
+
(0, runner_1.start)(plugin.nodes[id]);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/sdk/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PluginManifest } from "../schema/plugin-sdk";
|
|
2
|
+
import type { NodeDefinition, NodeHandler } from "./define-node";
|
|
3
|
+
import type { PluginManifestInput, PluginNode } from "../schema/plugin-sdk";
|
|
4
|
+
export interface PluginDefinition {
|
|
5
|
+
manifest: PluginManifest;
|
|
6
|
+
nodes: Record<string, NodeDefinition>;
|
|
7
|
+
/** Project-relative assets copied into the built plugin. Never credential files. */
|
|
8
|
+
assets?: readonly string[];
|
|
9
|
+
}
|
|
10
|
+
export type PluginHandlers = Record<string, NodeHandler>;
|
|
11
|
+
export type PluginOptions = Omit<PluginManifestInput, "nodes"> & {
|
|
12
|
+
nodes: readonly (NodeDefinition & Pick<PluginNode, "connections" | "env" | "trigger">)[];
|
|
13
|
+
assets?: readonly string[];
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=plugin.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.types.d.ts","sourceRoot":"","sources":["../../../src/plugins/sdk/plugin.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,oFAAoF;IACpF,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IAC/D,KAAK,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC;IACzF,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.types.js","sourceRoot":"","sources":["../../../src/plugins/sdk/plugin.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { JsonSchema } from "../json-schema";
|
|
2
|
+
import type { PluginNodeOptions } from "./types";
|
|
3
|
+
/** Plugin authoring keeps the portable contract beside its typed handler. */
|
|
4
|
+
export declare function defineNode<const I extends JsonSchema, const O extends JsonSchema>(args: PluginNodeOptions<I, O>): {
|
|
5
|
+
connections: string[] | undefined;
|
|
6
|
+
env: string[] | undefined;
|
|
7
|
+
trigger: boolean | undefined;
|
|
8
|
+
ui: {
|
|
9
|
+
apiVersion: "1";
|
|
10
|
+
renderers: Record<string, {
|
|
11
|
+
label: string;
|
|
12
|
+
targets: Partial<Record<"node.inspector.inputs", string>>;
|
|
13
|
+
}>;
|
|
14
|
+
} | undefined;
|
|
15
|
+
id: string;
|
|
16
|
+
workflowId?: string;
|
|
17
|
+
label?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
symbol?: string;
|
|
20
|
+
defaults?: Record<string, unknown>;
|
|
21
|
+
run: import("../define-node").NodeHandler<import("./types").SchemaValue<I>, import("./types").SchemaValue<O>>;
|
|
22
|
+
inputs?: JsonSchema;
|
|
23
|
+
outputs?: JsonSchema;
|
|
24
|
+
kind?: import("../define-node").NodeKind;
|
|
25
|
+
setup?: JsonSchema;
|
|
26
|
+
icon?: any;
|
|
27
|
+
config?: Record<string, unknown>;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=define-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-node.d.ts","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugins/define-node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;EAQ/G"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineNode = defineNode;
|
|
4
|
+
// Generated from packages/plugin-runtime/src/plugins/define-node.ts. Do not edit; run the Octonode SDK sync.
|
|
5
|
+
const define_node_1 = require("../define-node");
|
|
6
|
+
/** Plugin authoring keeps the portable contract beside its typed handler. */
|
|
7
|
+
function defineNode(args) {
|
|
8
|
+
return {
|
|
9
|
+
...(0, define_node_1.defineNode)(args),
|
|
10
|
+
connections: args.connections,
|
|
11
|
+
env: args.env,
|
|
12
|
+
trigger: args.trigger,
|
|
13
|
+
ui: args.ui,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=define-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-node.js","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugins/define-node.ts"],"names":[],"mappings":";;AAMA,gCAQC;AAdD,6GAA6G;AAC7G,gDAAiE;AAIjE,6EAA6E;AAC7E,SAAgB,UAAU,CAAyD,IAA6B;IAC9G,OAAO;QACL,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,EAAE,EAAE,IAAI,CAAC,EAAE;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { defineNode } from "./define-node";
|
|
2
|
+
export { definePlugin, startPlugin } from "../plugin";
|
|
3
|
+
export { runNode, processRequest, NodeError } from "../runner";
|
|
4
|
+
export { validate } from "../json-schema";
|
|
5
|
+
export type { JsonSchema, ValidationError } from "../json-schema";
|
|
6
|
+
export type { PluginDefinition, PluginOptions, PluginHandlers } from "../plugin.types";
|
|
7
|
+
export type { PluginNodeOptions, SchemaValue } from "./types";
|
|
8
|
+
export { PLUGIN_UI_BUNDLE_MAX_BYTES, PluginManifest, PluginNode, PluginConnection } from "../../schema/plugin-sdk";
|
|
9
|
+
export { SETTINGS_API_VERSION } from "../../schema/plugin-sdk";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SETTINGS_API_VERSION = exports.PluginConnection = exports.PluginNode = exports.PluginManifest = exports.PLUGIN_UI_BUNDLE_MAX_BYTES = exports.validate = exports.NodeError = exports.processRequest = exports.runNode = exports.startPlugin = exports.definePlugin = exports.defineNode = void 0;
|
|
4
|
+
// Generated from packages/plugin-runtime/src/plugins/index.ts. Do not edit; run the Octonode SDK sync.
|
|
5
|
+
var define_node_1 = require("./define-node");
|
|
6
|
+
Object.defineProperty(exports, "defineNode", { enumerable: true, get: function () { return define_node_1.defineNode; } });
|
|
7
|
+
var plugin_1 = require("../plugin");
|
|
8
|
+
Object.defineProperty(exports, "definePlugin", { enumerable: true, get: function () { return plugin_1.definePlugin; } });
|
|
9
|
+
Object.defineProperty(exports, "startPlugin", { enumerable: true, get: function () { return plugin_1.startPlugin; } });
|
|
10
|
+
var runner_1 = require("../runner");
|
|
11
|
+
Object.defineProperty(exports, "runNode", { enumerable: true, get: function () { return runner_1.runNode; } });
|
|
12
|
+
Object.defineProperty(exports, "processRequest", { enumerable: true, get: function () { return runner_1.processRequest; } });
|
|
13
|
+
Object.defineProperty(exports, "NodeError", { enumerable: true, get: function () { return runner_1.NodeError; } });
|
|
14
|
+
var json_schema_1 = require("../json-schema");
|
|
15
|
+
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return json_schema_1.validate; } });
|
|
16
|
+
var plugin_sdk_1 = require("../../schema/plugin-sdk");
|
|
17
|
+
Object.defineProperty(exports, "PLUGIN_UI_BUNDLE_MAX_BYTES", { enumerable: true, get: function () { return plugin_sdk_1.PLUGIN_UI_BUNDLE_MAX_BYTES; } });
|
|
18
|
+
Object.defineProperty(exports, "PluginManifest", { enumerable: true, get: function () { return plugin_sdk_1.PluginManifest; } });
|
|
19
|
+
Object.defineProperty(exports, "PluginNode", { enumerable: true, get: function () { return plugin_sdk_1.PluginNode; } });
|
|
20
|
+
Object.defineProperty(exports, "PluginConnection", { enumerable: true, get: function () { return plugin_sdk_1.PluginConnection; } });
|
|
21
|
+
var plugin_sdk_2 = require("../../schema/plugin-sdk");
|
|
22
|
+
Object.defineProperty(exports, "SETTINGS_API_VERSION", { enumerable: true, get: function () { return plugin_sdk_2.SETTINGS_API_VERSION; } });
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugins/index.ts"],"names":[],"mappings":";;;AAAA,uGAAuG;AACvG,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,oCAAsD;AAA7C,sGAAA,YAAY,OAAA;AAAE,qGAAA,WAAW,OAAA;AAClC,oCAA+D;AAAtD,iGAAA,OAAO,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC3C,8CAA0C;AAAjC,uGAAA,QAAQ,OAAA;AAIjB,sDAAmH;AAA1G,wHAAA,0BAA0B,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,wGAAA,UAAU,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AACjF,sDAA+D;AAAtD,kHAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { InvocationContext, PluginNode } from "../../schema/plugin-sdk";
|
|
2
|
+
import type { JsonSchema } from "../json-schema";
|
|
3
|
+
/** Infer the JSON Schema subset enforced by the SDK runner. Other schemas stay unknown. */
|
|
4
|
+
export type SchemaValue<S> = S extends {
|
|
5
|
+
enum: readonly (infer E)[];
|
|
6
|
+
} ? E : S extends {
|
|
7
|
+
type: "string";
|
|
8
|
+
} ? string : S extends {
|
|
9
|
+
type: "number" | "integer";
|
|
10
|
+
} ? number : S extends {
|
|
11
|
+
type: "boolean";
|
|
12
|
+
} ? boolean : S extends {
|
|
13
|
+
type: "null";
|
|
14
|
+
} ? null : S extends {
|
|
15
|
+
type: "array";
|
|
16
|
+
items: infer I;
|
|
17
|
+
} ? SchemaValue<I>[] : S extends {
|
|
18
|
+
type: "object";
|
|
19
|
+
properties: infer P;
|
|
20
|
+
} ? {
|
|
21
|
+
[K in keyof P as K extends RequiredKeys<S> ? K : never]: SchemaValue<P[K]>;
|
|
22
|
+
} & {
|
|
23
|
+
[K in keyof P as K extends RequiredKeys<S> ? never : K]?: SchemaValue<P[K]>;
|
|
24
|
+
} : unknown;
|
|
25
|
+
type RequiredKeys<S> = S extends {
|
|
26
|
+
required: readonly (infer K)[];
|
|
27
|
+
} ? K : never;
|
|
28
|
+
export type PluginNodeOptions<I extends JsonSchema, O extends JsonSchema> = Omit<PluginNode, "command" | "language" | "inputs" | "outputs"> & {
|
|
29
|
+
inputs: I;
|
|
30
|
+
outputs: O;
|
|
31
|
+
run: (inputs: SchemaValue<I>, context: InvocationContext) => SchemaValue<O> | Promise<SchemaValue<O>>;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugins/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,2FAA2F;AAC3F,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;CAAE,GACjE,CAAC,GACD,CAAC,SAAS;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC1B,MAAM,GACN,CAAC,SAAS;IAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GACtC,MAAM,GACN,CAAC,SAAS;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAC3B,OAAO,GACP,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACxB,IAAI,GACJ,CAAC,SAAS;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GACzC,WAAW,CAAC,CAAC,CAAC,EAAE,GAChB,CAAC,SAAS;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/C;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG;KAC9E,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E,GACD,OAAO,CAAC;AAExB,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAEhF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,IAAI,IAAI,CAC9E,UAAU,EACV,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAC9C,GAAG;IACF,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CACvG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/sdk/plugins/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { NodeReference, NodeCustomization } from "../definitions/types";
|
|
2
|
+
export { defineProject } from "../definitions";
|
|
3
|
+
export type { ProjectDefinition } from "../definitions/types";
|
|
4
|
+
export declare function defineNode(implementation: (...args: never[]) => unknown, customization?: Pick<NodeCustomization, "label" | "symbol" | "icon" | "description">): NodeReference;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/sdk/project/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,wBAAgB,UAAU,CACxB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EAC7C,aAAa,GAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAM,GACvF,aAAa,CAEf"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineProject = void 0;
|
|
4
|
+
exports.defineNode = defineNode;
|
|
5
|
+
var definitions_1 = require("../definitions");
|
|
6
|
+
Object.defineProperty(exports, "defineProject", { enumerable: true, get: function () { return definitions_1.defineProject; } });
|
|
7
|
+
function defineNode(implementation, customization = {}) {
|
|
8
|
+
return { implementation, customization };
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/sdk/project/index.ts"],"names":[],"mappings":";;;AAKA,gCAKC;AARD,8CAA+C;AAAtC,4GAAA,aAAa,OAAA;AAGtB,SAAgB,UAAU,CACxB,cAA6C,EAC7C,gBAAsF,EAAE;IAExF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type ErrorResult, type ManifestError, type ManifestResult, type OkResult } from "../schema/plugin-sdk";
|
|
2
|
+
import type { NodeDefinition } from "./define-node";
|
|
3
|
+
type Envelope = OkResult | ErrorResult | ManifestResult | ManifestError;
|
|
4
|
+
/**
|
|
5
|
+
* A deliberate, terminal failure a node author can raise. The runner converts
|
|
6
|
+
* it into a `NON_RETRYABLE` error envelope instead of a generic RUNTIME_ERROR.
|
|
7
|
+
*/
|
|
8
|
+
export declare class NodeError extends Error {
|
|
9
|
+
readonly retryable: boolean;
|
|
10
|
+
readonly code: "RUNTIME_ERROR" | "NON_RETRYABLE";
|
|
11
|
+
constructor(message: string, opts?: {
|
|
12
|
+
retryable?: boolean;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Handle one request line and produce one response envelope. This is shared by
|
|
17
|
+
* both transport modes: one-shot (a single line then EOF) and worker (many
|
|
18
|
+
* newline-delimited lines on a long-lived process).
|
|
19
|
+
*/
|
|
20
|
+
export declare function processRequest(node: NodeDefinition, raw: string): Promise<Envelope>;
|
|
21
|
+
export declare function jsonSafetyError(value: unknown, path?: string, ancestors?: Set<object>): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Run a node over stdin until EOF, processing one newline-delimited request at a
|
|
24
|
+
* time and emitting one response line each. A one-shot caller sends a single
|
|
25
|
+
* line and closes stdin; a worker-mode caller streams many lines on the same
|
|
26
|
+
* process — identical code path, so interpreter startup is paid once per process.
|
|
27
|
+
*/
|
|
28
|
+
export declare function runNode(node: NodeDefinition): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Convenience entrypoint for a node module: run until stdin closes, then exit.
|
|
31
|
+
* All node-level errors are reported as envelopes, so the process exits 0 even
|
|
32
|
+
* on a handled node error — the envelope carries the failure.
|
|
33
|
+
*/
|
|
34
|
+
export declare function start(node: NodeDefinition): void;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/plugins/sdk/runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAwC,MAAM,eAAe,CAAC;AAM1F,KAAK,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC;AAExE;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;gBACrC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CAM5D;AAuGD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiGzF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAM,EAAE,SAAS,cAAoB,GAAG,MAAM,GAAG,SAAS,CA0B7G;AAMD;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCjE;AAMD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAYhD"}
|