@revenexx/integrations-node-sdk 1.4.2 → 1.5.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
@@ -78,7 +78,7 @@ export class UppercaseNode implements INode {
78
78
  category: 'transform',
79
79
  name: { en: 'Uppercase', de: 'Großschreiben' },
80
80
  description: { en: 'Upper-cases a string read from the input.' },
81
- icon: 'mdi:format-letter-case-upper',
81
+ icon: 'lucide:case-upper',
82
82
  inputs: { in: { dataType: 'string', required: true } },
83
83
  outputs: [{ name: 'out', kind: 'default', dataType: 'string', label: { en: 'Result', de: 'Ergebnis' } }],
84
84
  } satisfies INodeDescription;
@@ -107,7 +107,7 @@ export class ConditionIfNode implements INode {
107
107
  version: '1.0.0',
108
108
  category: 'control',
109
109
  name: { en: 'If condition', de: 'Wenn-Bedingung' },
110
- icon: 'mdi:source-branch',
110
+ icon: 'lucide:git-branch',
111
111
  inputs: { in: { dataType: 'any', required: true } },
112
112
  outputs: [
113
113
  { name: 'true', kind: 'branch', dataType: 'any', label: { en: 'True', de: 'Wahr' } },
@@ -153,7 +153,7 @@ export class HttpRequestNode implements INode {
153
153
  version: '1.0.0',
154
154
  category: 'action',
155
155
  name: { en: 'HTTP Request', de: 'HTTP-Anfrage' },
156
- icon: 'mdi:web',
156
+ icon: 'lucide:globe',
157
157
  inputs: { in: { dataType: 'object' } },
158
158
  outputs: [
159
159
  {
package/dist/index.d.cts CHANGED
@@ -54,6 +54,14 @@ interface IInputPort {
54
54
  required?: boolean;
55
55
  description?: LocalizedString;
56
56
  }
57
+ /**
58
+ * One value an output carries, as the editor offers it to the next step.
59
+ *
60
+ * Deliberately flat: there is no member describing what is inside the value,
61
+ * because the registry's manifest schema refuses any key beside these two and
62
+ * the studio reads none. What is inside a value is declared beside it, under a
63
+ * dotted name — see `IOutputPort.fields` (PO-408).
64
+ */
57
65
  interface IOutputField {
58
66
  dataType: DataType;
59
67
  description?: LocalizedString;
@@ -64,6 +72,15 @@ interface IOutputPort {
64
72
  name?: string;
65
73
  label?: LocalizedString;
66
74
  description?: LocalizedString;
75
+ /**
76
+ * The values this output carries, by name.
77
+ *
78
+ * A name containing `.` is a path into the value: `counts` as `object` and
79
+ * `counts.added` as `number`, side by side, offers both the object and the
80
+ * number inside it. The studio and the worker resolve that name as a path, so
81
+ * the record the node emits must really be nested — a record carrying a
82
+ * literal `"counts.added"` key is not reached by it (specs/output-fields.md).
83
+ */
67
84
  fields?: Record<string, IOutputField>;
68
85
  sourceFromConfig?: string;
69
86
  /**
@@ -207,6 +224,7 @@ interface INodeDescription {
207
224
  category: NodeCategory;
208
225
  name: LocalizedString;
209
226
  description?: LocalizedString;
227
+ /** A Lucide icon name, `lucide:<kebab-name>` as listed on lucide.dev (e.g. `lucide:globe`). The studio draws it as named; a name it cannot draw becomes a generic box. */
210
228
  icon?: string;
211
229
  /**
212
230
  * Curated node-picker group path, outermost first (max 4 levels), e.g.
@@ -214,6 +232,17 @@ interface INodeDescription {
214
232
  * pickers without it fall back to package/category grouping.
215
233
  */
216
234
  groups?: LocalizedString[];
235
+ /**
236
+ * Where this node stands inside its innermost palette folder, among the nodes
237
+ * of the same package: lower comes first. Optional — the editor draws nodes
238
+ * with a position before those without, and those without in the order the
239
+ * package lists them in `NODES`, so a package that lists its main node first
240
+ * needs no position at all. Use it when the array order is not the palette
241
+ * order, e.g. when `NODES` is sorted for another reason. It orders nodes only
242
+ * within one package; where a folder takes nodes from several packages, the
243
+ * order between packages is the editor's.
244
+ */
245
+ paletteOrder?: number;
217
246
  /** Associated images (screenshots, logos, banners) shipped with the package. */
218
247
  images?: IImage[];
219
248
  inputs: Record<string, IInputPort>;
@@ -468,6 +497,7 @@ interface ICredentialDescription {
468
497
  version: string;
469
498
  name: LocalizedString;
470
499
  description?: LocalizedString;
500
+ /** A Lucide icon name, `lucide:<kebab-name>` as listed on lucide.dev (e.g. `lucide:globe`). The studio draws it as named; a name it cannot draw becomes a generic box. */
471
501
  icon?: string;
472
502
  /** Associated images (screenshots, logos, banners) shipped with the package. */
473
503
  images?: IImage[];
@@ -577,6 +607,7 @@ interface ITemplateDescription {
577
607
  shortDescription?: LocalizedString;
578
608
  /** Long-form description in Markdown. */
579
609
  description?: LocalizedString;
610
+ /** A Lucide icon name, `lucide:<kebab-name>` as listed on lucide.dev (e.g. `lucide:globe`). The studio draws it as named; a name it cannot draw becomes a generic box. */
580
611
  icon?: string;
581
612
  /** Free-form industry tags (e.g. `any`, `medical`). */
582
613
  industries?: string[];
package/dist/index.d.ts CHANGED
@@ -54,6 +54,14 @@ interface IInputPort {
54
54
  required?: boolean;
55
55
  description?: LocalizedString;
56
56
  }
57
+ /**
58
+ * One value an output carries, as the editor offers it to the next step.
59
+ *
60
+ * Deliberately flat: there is no member describing what is inside the value,
61
+ * because the registry's manifest schema refuses any key beside these two and
62
+ * the studio reads none. What is inside a value is declared beside it, under a
63
+ * dotted name — see `IOutputPort.fields` (PO-408).
64
+ */
57
65
  interface IOutputField {
58
66
  dataType: DataType;
59
67
  description?: LocalizedString;
@@ -64,6 +72,15 @@ interface IOutputPort {
64
72
  name?: string;
65
73
  label?: LocalizedString;
66
74
  description?: LocalizedString;
75
+ /**
76
+ * The values this output carries, by name.
77
+ *
78
+ * A name containing `.` is a path into the value: `counts` as `object` and
79
+ * `counts.added` as `number`, side by side, offers both the object and the
80
+ * number inside it. The studio and the worker resolve that name as a path, so
81
+ * the record the node emits must really be nested — a record carrying a
82
+ * literal `"counts.added"` key is not reached by it (specs/output-fields.md).
83
+ */
67
84
  fields?: Record<string, IOutputField>;
68
85
  sourceFromConfig?: string;
69
86
  /**
@@ -207,6 +224,7 @@ interface INodeDescription {
207
224
  category: NodeCategory;
208
225
  name: LocalizedString;
209
226
  description?: LocalizedString;
227
+ /** A Lucide icon name, `lucide:<kebab-name>` as listed on lucide.dev (e.g. `lucide:globe`). The studio draws it as named; a name it cannot draw becomes a generic box. */
210
228
  icon?: string;
211
229
  /**
212
230
  * Curated node-picker group path, outermost first (max 4 levels), e.g.
@@ -214,6 +232,17 @@ interface INodeDescription {
214
232
  * pickers without it fall back to package/category grouping.
215
233
  */
216
234
  groups?: LocalizedString[];
235
+ /**
236
+ * Where this node stands inside its innermost palette folder, among the nodes
237
+ * of the same package: lower comes first. Optional — the editor draws nodes
238
+ * with a position before those without, and those without in the order the
239
+ * package lists them in `NODES`, so a package that lists its main node first
240
+ * needs no position at all. Use it when the array order is not the palette
241
+ * order, e.g. when `NODES` is sorted for another reason. It orders nodes only
242
+ * within one package; where a folder takes nodes from several packages, the
243
+ * order between packages is the editor's.
244
+ */
245
+ paletteOrder?: number;
217
246
  /** Associated images (screenshots, logos, banners) shipped with the package. */
218
247
  images?: IImage[];
219
248
  inputs: Record<string, IInputPort>;
@@ -468,6 +497,7 @@ interface ICredentialDescription {
468
497
  version: string;
469
498
  name: LocalizedString;
470
499
  description?: LocalizedString;
500
+ /** A Lucide icon name, `lucide:<kebab-name>` as listed on lucide.dev (e.g. `lucide:globe`). The studio draws it as named; a name it cannot draw becomes a generic box. */
471
501
  icon?: string;
472
502
  /** Associated images (screenshots, logos, banners) shipped with the package. */
473
503
  images?: IImage[];
@@ -577,6 +607,7 @@ interface ITemplateDescription {
577
607
  shortDescription?: LocalizedString;
578
608
  /** Long-form description in Markdown. */
579
609
  description?: LocalizedString;
610
+ /** A Lucide icon name, `lucide:<kebab-name>` as listed on lucide.dev (e.g. `lucide:globe`). The studio draws it as named; a name it cannot draw becomes a generic box. */
580
611
  icon?: string;
581
612
  /** Free-form industry tags (e.g. `any`, `medical`). */
582
613
  industries?: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revenexx/integrations-node-sdk",
3
- "version": "1.4.2",
3
+ "version": "1.5.1",
4
4
  "description": "TypeScript interfaces and utilities for Revenexx integration nodes",
5
5
  "license": "MIT",
6
6
  "author": "revenexx GmbH",