@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.
Files changed (129) hide show
  1. package/PLUGINS.md +265 -0
  2. package/README.md +107 -9
  3. package/dist/constants.d.ts +1 -0
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +2 -1
  6. package/dist/constants.js.map +1 -1
  7. package/dist/gen/index.d.ts +2 -2
  8. package/dist/gen/index.d.ts.map +1 -1
  9. package/dist/gen/index.js +4 -3
  10. package/dist/gen/index.js.map +1 -1
  11. package/dist/gen/sdk.gen.d.ts +9 -1
  12. package/dist/gen/sdk.gen.d.ts.map +1 -1
  13. package/dist/gen/sdk.gen.js +21 -3
  14. package/dist/gen/sdk.gen.js.map +1 -1
  15. package/dist/gen/types.gen.d.ts +379 -1
  16. package/dist/gen/types.gen.d.ts.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/plugins/index.d.ts +2 -0
  22. package/dist/plugins/index.d.ts.map +1 -0
  23. package/dist/plugins/index.js +19 -0
  24. package/dist/plugins/index.js.map +1 -0
  25. package/dist/plugins/schema/constants.d.ts +33 -0
  26. package/dist/plugins/schema/constants.d.ts.map +1 -0
  27. package/dist/plugins/schema/constants.js +207 -0
  28. package/dist/plugins/schema/constants.js.map +1 -0
  29. package/dist/plugins/schema/icons.d.ts +5 -0
  30. package/dist/plugins/schema/icons.d.ts.map +1 -0
  31. package/dist/plugins/schema/icons.js +62 -0
  32. package/dist/plugins/schema/icons.js.map +1 -0
  33. package/dist/plugins/schema/ipc-envelope.d.ts +923 -0
  34. package/dist/plugins/schema/ipc-envelope.d.ts.map +1 -0
  35. package/dist/plugins/schema/ipc-envelope.js +210 -0
  36. package/dist/plugins/schema/ipc-envelope.js.map +1 -0
  37. package/dist/plugins/schema/plugin-sdk/index.d.ts +5 -0
  38. package/dist/plugins/schema/plugin-sdk/index.d.ts.map +1 -0
  39. package/dist/plugins/schema/plugin-sdk/index.js +25 -0
  40. package/dist/plugins/schema/plugin-sdk/index.js.map +1 -0
  41. package/dist/plugins/schema/plugin.d.ts +808 -0
  42. package/dist/plugins/schema/plugin.d.ts.map +1 -0
  43. package/dist/plugins/schema/plugin.js +196 -0
  44. package/dist/plugins/schema/plugin.js.map +1 -0
  45. package/dist/plugins/sdk/define-node.d.ts +103 -0
  46. package/dist/plugins/sdk/define-node.d.ts.map +1 -0
  47. package/dist/plugins/sdk/define-node.js +58 -0
  48. package/dist/plugins/sdk/define-node.js.map +1 -0
  49. package/dist/plugins/sdk/definitions/compiler/catalog.d.ts +3 -0
  50. package/dist/plugins/sdk/definitions/compiler/catalog.d.ts.map +1 -0
  51. package/dist/plugins/sdk/definitions/compiler/catalog.js +133 -0
  52. package/dist/plugins/sdk/definitions/compiler/catalog.js.map +1 -0
  53. package/dist/plugins/sdk/definitions/compiler/constants.d.ts +6 -0
  54. package/dist/plugins/sdk/definitions/compiler/constants.d.ts.map +1 -0
  55. package/dist/plugins/sdk/definitions/compiler/constants.js +10 -0
  56. package/dist/plugins/sdk/definitions/compiler/constants.js.map +1 -0
  57. package/dist/plugins/sdk/definitions/compiler/index.d.ts +7 -0
  58. package/dist/plugins/sdk/definitions/compiler/index.d.ts.map +1 -0
  59. package/dist/plugins/sdk/definitions/compiler/index.js +411 -0
  60. package/dist/plugins/sdk/definitions/compiler/index.js.map +1 -0
  61. package/dist/plugins/sdk/definitions/compiler/literals.d.ts +5 -0
  62. package/dist/plugins/sdk/definitions/compiler/literals.d.ts.map +1 -0
  63. package/dist/plugins/sdk/definitions/compiler/literals.js +78 -0
  64. package/dist/plugins/sdk/definitions/compiler/literals.js.map +1 -0
  65. package/dist/plugins/sdk/definitions/compiler/schemas.d.ts +4 -0
  66. package/dist/plugins/sdk/definitions/compiler/schemas.d.ts.map +1 -0
  67. package/dist/plugins/sdk/definitions/compiler/schemas.js +95 -0
  68. package/dist/plugins/sdk/definitions/compiler/schemas.js.map +1 -0
  69. package/dist/plugins/sdk/definitions/compiler/types.d.ts +20 -0
  70. package/dist/plugins/sdk/definitions/compiler/types.d.ts.map +1 -0
  71. package/dist/plugins/sdk/definitions/compiler/types.js +3 -0
  72. package/dist/plugins/sdk/definitions/compiler/types.js.map +1 -0
  73. package/dist/plugins/sdk/definitions/index.d.ts +7 -0
  74. package/dist/plugins/sdk/definitions/index.d.ts.map +1 -0
  75. package/dist/plugins/sdk/definitions/index.js +16 -0
  76. package/dist/plugins/sdk/definitions/index.js.map +1 -0
  77. package/dist/plugins/sdk/definitions/npm/emit/js.d.ts +4 -0
  78. package/dist/plugins/sdk/definitions/npm/emit/js.d.ts.map +1 -0
  79. package/dist/plugins/sdk/definitions/npm/emit/js.js +190 -0
  80. package/dist/plugins/sdk/definitions/npm/emit/js.js.map +1 -0
  81. package/dist/plugins/sdk/definitions/npm/types.d.ts +63 -0
  82. package/dist/plugins/sdk/definitions/npm/types.d.ts.map +1 -0
  83. package/dist/plugins/sdk/definitions/npm/types.js +3 -0
  84. package/dist/plugins/sdk/definitions/npm/types.js.map +1 -0
  85. package/dist/plugins/sdk/definitions/types.d.ts +43 -0
  86. package/dist/plugins/sdk/definitions/types.d.ts.map +1 -0
  87. package/dist/plugins/sdk/definitions/types.js +3 -0
  88. package/dist/plugins/sdk/definitions/types.js.map +1 -0
  89. package/dist/plugins/sdk/json-schema.d.ts +17 -0
  90. package/dist/plugins/sdk/json-schema.d.ts.map +1 -0
  91. package/dist/plugins/sdk/json-schema.js +79 -0
  92. package/dist/plugins/sdk/json-schema.js.map +1 -0
  93. package/dist/plugins/sdk/nodes/index.d.ts +5 -0
  94. package/dist/plugins/sdk/nodes/index.d.ts.map +1 -0
  95. package/dist/plugins/sdk/nodes/index.js +12 -0
  96. package/dist/plugins/sdk/nodes/index.js.map +1 -0
  97. package/dist/plugins/sdk/plugin/index.d.ts +3 -0
  98. package/dist/plugins/sdk/plugin/index.d.ts.map +1 -0
  99. package/dist/plugins/sdk/plugin/index.js +8 -0
  100. package/dist/plugins/sdk/plugin/index.js.map +1 -0
  101. package/dist/plugins/sdk/plugin.d.ts +7 -0
  102. package/dist/plugins/sdk/plugin.d.ts.map +1 -0
  103. package/dist/plugins/sdk/plugin.js +74 -0
  104. package/dist/plugins/sdk/plugin.js.map +1 -0
  105. package/dist/plugins/sdk/plugin.types.d.ts +15 -0
  106. package/dist/plugins/sdk/plugin.types.d.ts.map +1 -0
  107. package/dist/plugins/sdk/plugin.types.js +3 -0
  108. package/dist/plugins/sdk/plugin.types.js.map +1 -0
  109. package/dist/plugins/sdk/plugins/define-node.d.ts +29 -0
  110. package/dist/plugins/sdk/plugins/define-node.d.ts.map +1 -0
  111. package/dist/plugins/sdk/plugins/define-node.js +16 -0
  112. package/dist/plugins/sdk/plugins/define-node.js.map +1 -0
  113. package/dist/plugins/sdk/plugins/index.d.ts +10 -0
  114. package/dist/plugins/sdk/plugins/index.d.ts.map +1 -0
  115. package/dist/plugins/sdk/plugins/index.js +23 -0
  116. package/dist/plugins/sdk/plugins/index.js.map +1 -0
  117. package/dist/plugins/sdk/plugins/types.d.ts +34 -0
  118. package/dist/plugins/sdk/plugins/types.d.ts.map +1 -0
  119. package/dist/plugins/sdk/plugins/types.js +3 -0
  120. package/dist/plugins/sdk/plugins/types.js.map +1 -0
  121. package/dist/plugins/sdk/project/index.d.ts +5 -0
  122. package/dist/plugins/sdk/project/index.d.ts.map +1 -0
  123. package/dist/plugins/sdk/project/index.js +10 -0
  124. package/dist/plugins/sdk/project/index.js.map +1 -0
  125. package/dist/plugins/sdk/runner.d.ts +36 -0
  126. package/dist/plugins/sdk/runner.d.ts.map +1 -0
  127. package/dist/plugins/sdk/runner.js +324 -0
  128. package/dist/plugins/sdk/runner.js.map +1 -0
  129. package/package.json +65 -5
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeError = void 0;
4
+ exports.processRequest = processRequest;
5
+ exports.jsonSafetyError = jsonSafetyError;
6
+ exports.runNode = runNode;
7
+ exports.start = start;
8
+ // Generated from packages/plugin-runtime/src/runner.ts. Do not edit; run the Octonode SDK sync.
9
+ const node_console_1 = require("node:console");
10
+ const plugin_sdk_1 = require("../schema/plugin-sdk");
11
+ const json_schema_1 = require("./json-schema");
12
+ /** The language tag reported in this SDK's manifests. */
13
+ const LANGUAGE = "typescript";
14
+ /**
15
+ * A deliberate, terminal failure a node author can raise. The runner converts
16
+ * it into a `NON_RETRYABLE` error envelope instead of a generic RUNTIME_ERROR.
17
+ */
18
+ class NodeError extends Error {
19
+ retryable;
20
+ code;
21
+ constructor(message, opts) {
22
+ super(message);
23
+ this.name = "NodeError";
24
+ this.retryable = opts?.retryable ?? false;
25
+ this.code = this.retryable ? "RUNTIME_ERROR" : "NON_RETRYABLE";
26
+ }
27
+ }
28
+ exports.NodeError = NodeError;
29
+ function manifestOf(node, requestedNode) {
30
+ if (isExplicitService(node)) {
31
+ const methodName = requestedServiceMethod(node, requestedNode);
32
+ if (methodName) {
33
+ const method = node.service.methods[methodName];
34
+ return {
35
+ id: `${node.id}.${methodName}`,
36
+ language: LANGUAGE,
37
+ inputs: method.inputs,
38
+ outputs: method.outputs,
39
+ icon: node.icon,
40
+ };
41
+ }
42
+ }
43
+ return {
44
+ id: node.id,
45
+ ...(node.workflowId ? { workflowId: node.workflowId } : {}),
46
+ language: LANGUAGE,
47
+ label: node.label,
48
+ description: node.description,
49
+ symbol: node.symbol,
50
+ defaults: node.defaults,
51
+ inputs: node.inputs,
52
+ outputs: node.outputs,
53
+ kind: node.kind,
54
+ setup: node.setup,
55
+ icon: node.icon,
56
+ config: node.config,
57
+ service: isExplicitService(node)
58
+ ? {
59
+ lifecycle: node.service.lifecycle,
60
+ methods: Object.entries(node.service.methods).map(([name, spec]) => ({
61
+ name,
62
+ params: spec.params ?? [],
63
+ inputs: spec.inputs,
64
+ outputs: spec.outputs,
65
+ })),
66
+ }
67
+ : undefined,
68
+ };
69
+ }
70
+ const workerServiceInstances = new WeakMap();
71
+ const runServiceInstances = new WeakMap();
72
+ const isExplicitService = (node) => node.kind === "service" && "service" in node && !!node.service;
73
+ function requestedServiceMethod(node, requested) {
74
+ if (!requested || requested === node.id)
75
+ return undefined;
76
+ const prefix = `${node.id}.`;
77
+ const method = requested.startsWith(prefix) ? requested.slice(prefix.length) : requested;
78
+ return method in node.service.methods ? method : undefined;
79
+ }
80
+ async function serviceInstance(node, context, invocationId) {
81
+ if (node.service.lifecycle === "invocation")
82
+ return node.service.create(context);
83
+ if (node.service.lifecycle === "worker") {
84
+ let instance = workerServiceInstances.get(node);
85
+ if (!instance) {
86
+ instance = Promise.resolve(node.service.create(context));
87
+ workerServiceInstances.set(node, instance);
88
+ }
89
+ return instance;
90
+ }
91
+ let runs = runServiceInstances.get(node);
92
+ if (!runs) {
93
+ runs = new Map();
94
+ runServiceInstances.set(node, runs);
95
+ }
96
+ const key = context.runId ?? invocationId;
97
+ let instance = runs.get(key);
98
+ if (!instance) {
99
+ instance = Promise.resolve(node.service.create(context));
100
+ runs.set(key, instance);
101
+ if (runs.size > 100)
102
+ runs.delete(runs.keys().next().value);
103
+ }
104
+ return instance;
105
+ }
106
+ async function invokeServiceMethod(node, methodName, spec, inputs, context, invocationId) {
107
+ const instance = (await serviceInstance(node, context, invocationId));
108
+ const method = instance[methodName];
109
+ if (typeof method !== "function")
110
+ throw new Error(`service "${node.id}" does not implement exposed method "${methodName}"`);
111
+ const record = inputs && typeof inputs === "object" ? inputs : { value: inputs };
112
+ const args = spec.params?.length ? spec.params.map((name) => record[name]) : [inputs];
113
+ return method.apply(instance, args);
114
+ }
115
+ /**
116
+ * Handle one request line and produce one response envelope. This is shared by
117
+ * both transport modes: one-shot (a single line then EOF) and worker (many
118
+ * newline-delimited lines on a long-lived process).
119
+ */
120
+ async function processRequest(node, raw) {
121
+ let request;
122
+ let invocationId = "unknown";
123
+ try {
124
+ request = plugin_sdk_1.RequestEnvelope.parse(JSON.parse(raw.trim()));
125
+ invocationId = request.invocationId;
126
+ }
127
+ catch (err) {
128
+ return (0, plugin_sdk_1.makeErrorResult)(invocationId, {
129
+ code: "VALIDATION_ERROR",
130
+ message: `Invalid request envelope on stdin: ${describe(err)}`,
131
+ retryable: false,
132
+ });
133
+ }
134
+ if (request.type === "describe") {
135
+ try {
136
+ return (0, plugin_sdk_1.makeManifestResult)(invocationId, manifestOf(node, request.node));
137
+ }
138
+ catch (err) {
139
+ return (0, plugin_sdk_1.makeManifestError)(invocationId, {
140
+ code: "RUNTIME_ERROR",
141
+ message: `Failed to build manifest: ${describe(err)}`,
142
+ retryable: false,
143
+ });
144
+ }
145
+ }
146
+ const serviceMethod = isExplicitService(node) ? requestedServiceMethod(node, request.node) : undefined;
147
+ if (isExplicitService(node) && request.node && request.node !== node.id && !serviceMethod) {
148
+ return (0, plugin_sdk_1.makeErrorResult)(invocationId, {
149
+ code: "VALIDATION_ERROR",
150
+ message: `service method not exposed: ${request.node}`,
151
+ retryable: false,
152
+ });
153
+ }
154
+ const methodSpec = serviceMethod && isExplicitService(node) ? node.service.methods[serviceMethod] : undefined;
155
+ const inputs = node.defaults && request.inputs && typeof request.inputs === "object" && !Array.isArray(request.inputs)
156
+ ? { ...node.defaults, ...request.inputs }
157
+ : request.inputs;
158
+ const inputErrors = (0, json_schema_1.validate)(methodSpec?.inputs ?? node.inputs, inputs);
159
+ if (inputErrors.length > 0) {
160
+ return (0, plugin_sdk_1.makeErrorResult)(invocationId, {
161
+ code: "VALIDATION_ERROR",
162
+ message: `Inputs failed schema validation: ${inputErrors[0].path} ${inputErrors[0].message}`,
163
+ retryable: false,
164
+ details: { errors: inputErrors },
165
+ });
166
+ }
167
+ let outputs;
168
+ try {
169
+ outputs =
170
+ serviceMethod && isExplicitService(node)
171
+ ? await invokeServiceMethod(node, serviceMethod, methodSpec ?? {}, inputs, request.context, invocationId)
172
+ : await node.run(inputs, request.context);
173
+ }
174
+ catch (err) {
175
+ if (err instanceof NodeError) {
176
+ return (0, plugin_sdk_1.makeErrorResult)(invocationId, {
177
+ code: err.code,
178
+ message: err.message,
179
+ retryable: err.retryable,
180
+ stack: err.stack,
181
+ });
182
+ }
183
+ return (0, plugin_sdk_1.makeErrorResult)(invocationId, {
184
+ code: "RUNTIME_ERROR",
185
+ message: describe(err),
186
+ retryable: false,
187
+ stack: err instanceof Error ? err.stack : undefined,
188
+ });
189
+ }
190
+ const outputErrors = (0, json_schema_1.validate)(methodSpec?.outputs ?? node.outputs, outputs);
191
+ if (outputErrors.length > 0) {
192
+ return (0, plugin_sdk_1.makeErrorResult)(invocationId, {
193
+ code: "VALIDATION_ERROR",
194
+ message: `Outputs failed schema validation: ${outputErrors[0].path} ${outputErrors[0].message}`,
195
+ retryable: false,
196
+ details: { errors: outputErrors },
197
+ });
198
+ }
199
+ let serializationError;
200
+ try {
201
+ serializationError = jsonSafetyError(outputs);
202
+ }
203
+ catch (err) {
204
+ serializationError = `output inspection failed: ${describe(err)}`;
205
+ }
206
+ if (serializationError) {
207
+ return (0, plugin_sdk_1.makeErrorResult)(invocationId, {
208
+ code: "VALIDATION_ERROR",
209
+ message: `Outputs must be losslessly JSON-serializable: ${serializationError}`,
210
+ retryable: false,
211
+ });
212
+ }
213
+ return (0, plugin_sdk_1.makeOkResult)(invocationId, outputs);
214
+ }
215
+ function jsonSafetyError(value, path = "$", ancestors = new Set()) {
216
+ if (value === null || typeof value === "string" || typeof value === "boolean")
217
+ return undefined;
218
+ if (typeof value === "number")
219
+ return Number.isFinite(value) ? undefined : `${path} is not a finite number`;
220
+ if (typeof value !== "object")
221
+ return `${path} has type ${typeof value}`;
222
+ if (ancestors.has(value))
223
+ return `${path} is cyclic`;
224
+ ancestors.add(value);
225
+ try {
226
+ if (Array.isArray(value)) {
227
+ for (let index = 0; index < value.length; index++) {
228
+ if (!(index in value))
229
+ return `${path}[${index}] is an array hole`;
230
+ const error = jsonSafetyError(value[index], `${path}[${index}]`, ancestors);
231
+ if (error)
232
+ return error;
233
+ }
234
+ return undefined;
235
+ }
236
+ const prototype = Object.getPrototypeOf(value);
237
+ if (prototype !== Object.prototype && prototype !== null)
238
+ return `${path} is not a plain object`;
239
+ if (Object.getOwnPropertySymbols(value).length)
240
+ return `${path} has symbol keys`;
241
+ for (const [key, item] of Object.entries(value)) {
242
+ const error = jsonSafetyError(item, `${path}.${key}`, ancestors);
243
+ if (error)
244
+ return error;
245
+ }
246
+ return undefined;
247
+ }
248
+ finally {
249
+ ancestors.delete(value);
250
+ }
251
+ }
252
+ function write(envelope) {
253
+ process.stdout.write(JSON.stringify(envelope) + "\n");
254
+ }
255
+ /**
256
+ * Run a node over stdin until EOF, processing one newline-delimited request at a
257
+ * time and emitting one response line each. A one-shot caller sends a single
258
+ * line and closes stdin; a worker-mode caller streams many lines on the same
259
+ * process — identical code path, so interpreter startup is paid once per process.
260
+ */
261
+ async function runNode(node) {
262
+ const stdin = process.stdin;
263
+ stdin.setEncoding("utf8");
264
+ let buffer = "";
265
+ const queue = [];
266
+ let draining = false;
267
+ let ended = false;
268
+ let done;
269
+ const finished = new Promise((resolve) => (done = resolve));
270
+ const drain = async () => {
271
+ if (draining)
272
+ return;
273
+ draining = true;
274
+ while (queue.length > 0) {
275
+ const line = queue.shift();
276
+ if (line.trim().length > 0)
277
+ write(await processRequest(node, line));
278
+ }
279
+ draining = false;
280
+ if (ended)
281
+ done();
282
+ };
283
+ stdin.on("data", (chunk) => {
284
+ buffer += chunk;
285
+ let idx;
286
+ while ((idx = buffer.indexOf("\n")) >= 0) {
287
+ queue.push(buffer.slice(0, idx));
288
+ buffer = buffer.slice(idx + 1);
289
+ }
290
+ void drain();
291
+ });
292
+ stdin.on("end", () => {
293
+ if (buffer.length > 0)
294
+ queue.push(buffer);
295
+ buffer = "";
296
+ ended = true;
297
+ void drain();
298
+ if (!draining && queue.length === 0)
299
+ done();
300
+ });
301
+ return finished;
302
+ }
303
+ function describe(err) {
304
+ return err instanceof Error ? err.message : String(err);
305
+ }
306
+ /**
307
+ * Convenience entrypoint for a node module: run until stdin closes, then exit.
308
+ * All node-level errors are reported as envelopes, so the process exits 0 even
309
+ * on a handled node error — the envelope carries the failure.
310
+ */
311
+ function start(node) {
312
+ // stdout is the IPC channel. Give arbitrary user code a console whose every
313
+ // method writes to stderr before the first request is handled.
314
+ globalThis.console = new node_console_1.Console({ stdout: process.stderr, stderr: process.stderr });
315
+ runNode(node)
316
+ .then(() => {
317
+ process.exitCode = 0;
318
+ })
319
+ .catch((err) => {
320
+ process.stderr.write(`octonode runner failure: ${describe(err)}\n`);
321
+ process.exitCode = 1;
322
+ });
323
+ }
324
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/plugins/sdk/runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,21 +1,81 @@
1
1
  {
2
2
  "name": "@octonodes/sdk",
3
- "version": "0.0.3",
4
- "description": "Generated TypeScript client for the Octonode cloud API.",
3
+ "version": "0.1.5",
4
+ "description": "Octonode API client and code-first plugin SDK.",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/nivdoron1/octonode-devtools.git",
9
+ "directory": "packages/sdk"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "PLUGINS.md"
14
+ ],
6
15
  "main": "dist/index.js",
7
16
  "types": "dist/index.d.ts",
8
17
  "exports": {
9
18
  ".": {
10
19
  "types": "./dist/index.d.ts",
11
20
  "default": "./dist/index.js"
21
+ },
22
+ "./plugins": {
23
+ "types": "./dist/plugins/index.d.ts",
24
+ "default": "./dist/plugins/index.js"
25
+ },
26
+ "./project": {
27
+ "types": "./dist/plugins/sdk/project/index.d.ts",
28
+ "default": "./dist/plugins/sdk/project/index.js"
29
+ },
30
+ "./plugin": {
31
+ "types": "./dist/plugins/sdk/plugin/index.d.ts",
32
+ "default": "./dist/plugins/sdk/plugin/index.js"
33
+ },
34
+ "./definitions": {
35
+ "types": "./dist/plugins/sdk/definitions/index.d.ts",
36
+ "default": "./dist/plugins/sdk/definitions/index.js"
37
+ },
38
+ "./definitions/compiler": {
39
+ "types": "./dist/plugins/sdk/definitions/compiler/index.d.ts",
40
+ "default": "./dist/plugins/sdk/definitions/compiler/index.js"
41
+ },
42
+ "./nodes": {
43
+ "types": "./dist/plugins/sdk/nodes/index.d.ts",
44
+ "default": "./dist/plugins/sdk/nodes/index.js"
45
+ },
46
+ "./definitions/npm": {
47
+ "types": "./dist/plugins/sdk/definitions/npm/emit/js.d.ts",
48
+ "default": "./dist/plugins/sdk/definitions/npm/emit/js.js"
12
49
  }
13
50
  },
14
- "files": [
15
- "dist"
16
- ],
17
51
  "scripts": {
18
52
  "gen": "openapi-ts",
19
53
  "prepack": "tsc -b"
54
+ },
55
+ "dependencies": {
56
+ "typescript": "5.9.3",
57
+ "zod": "^3.23.0"
58
+ },
59
+ "devDependencies": {
60
+ "@types/node": "^26.4.0"
61
+ },
62
+ "typesVersions": {
63
+ "*": {
64
+ "project": [
65
+ "dist/plugins/sdk/project/index.d.ts"
66
+ ],
67
+ "plugin": [
68
+ "dist/plugins/sdk/plugin/index.d.ts"
69
+ ],
70
+ "definitions": [
71
+ "dist/plugins/sdk/definitions/index.d.ts"
72
+ ],
73
+ "definitions/compiler": [
74
+ "dist/plugins/sdk/definitions/compiler/index.d.ts"
75
+ ],
76
+ "nodes": [
77
+ "dist/plugins/sdk/nodes/index.d.ts"
78
+ ]
79
+ }
20
80
  }
21
81
  }