@revenexx/integrations-node-sdk 1.0.0 → 1.1.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.
package/dist/index.d.cts CHANGED
@@ -178,8 +178,28 @@ interface IConfigFieldBase {
178
178
  stateRole?: 'mapping' | 'cursor' | 'dedupe' | 'digest';
179
179
  }
180
180
  interface IConfigField extends IConfigFieldBase {
181
- properties?: IConfigFieldBase[];
182
- items?: IConfigFieldBase;
181
+ /**
182
+ * The sub-settings of a field that holds a group of them (`type: 'object'`).
183
+ *
184
+ * A full `IConfigField`, not the base. `IConfigFieldBase` already carries
185
+ * `options`, `default`, `required`, `description` and `showIf`, so those were
186
+ * never what a nested setting was missing — `properties` and `items` were: the
187
+ * base has neither, so a sub-setting could not itself group or repeat without
188
+ * a cast. The manifest schema permits that nesting and the engine's config
189
+ * walker reads nested fields as first-class; the type was the only place
190
+ * stopping at one level (PO-436).
191
+ */
192
+ properties?: IConfigField[];
193
+ /**
194
+ * What one entry of a list field (`type: 'array'`) looks like.
195
+ *
196
+ * Full `IConfigField` for the same reason as `properties`, and this is the one
197
+ * that bit: `items.type: 'object'` plus `items.properties` is the repeating row
198
+ * every mapping-style setting is built from, and `items` typed as the base had
199
+ * no `properties` to give it. `SwitchNode` in integrations-nodes-core ends its
200
+ * items block with `as IConfigField` for exactly that reason.
201
+ */
202
+ items?: IConfigField;
183
203
  }
184
204
  interface INodeDescription {
185
205
  slug: string;
package/dist/index.d.ts CHANGED
@@ -178,8 +178,28 @@ interface IConfigFieldBase {
178
178
  stateRole?: 'mapping' | 'cursor' | 'dedupe' | 'digest';
179
179
  }
180
180
  interface IConfigField extends IConfigFieldBase {
181
- properties?: IConfigFieldBase[];
182
- items?: IConfigFieldBase;
181
+ /**
182
+ * The sub-settings of a field that holds a group of them (`type: 'object'`).
183
+ *
184
+ * A full `IConfigField`, not the base. `IConfigFieldBase` already carries
185
+ * `options`, `default`, `required`, `description` and `showIf`, so those were
186
+ * never what a nested setting was missing — `properties` and `items` were: the
187
+ * base has neither, so a sub-setting could not itself group or repeat without
188
+ * a cast. The manifest schema permits that nesting and the engine's config
189
+ * walker reads nested fields as first-class; the type was the only place
190
+ * stopping at one level (PO-436).
191
+ */
192
+ properties?: IConfigField[];
193
+ /**
194
+ * What one entry of a list field (`type: 'array'`) looks like.
195
+ *
196
+ * Full `IConfigField` for the same reason as `properties`, and this is the one
197
+ * that bit: `items.type: 'object'` plus `items.properties` is the repeating row
198
+ * every mapping-style setting is built from, and `items` typed as the base had
199
+ * no `properties` to give it. `SwitchNode` in integrations-nodes-core ends its
200
+ * items block with `as IConfigField` for exactly that reason.
201
+ */
202
+ items?: IConfigField;
183
203
  }
184
204
  interface INodeDescription {
185
205
  slug: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revenexx/integrations-node-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "TypeScript interfaces and utilities for Revenexx integration nodes",
5
5
  "license": "MIT",
6
6
  "author": "revenexx GmbH",