@celigo/api-specs 0.2.157 → 0.2.158

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/api.yml CHANGED
@@ -3038,7 +3038,13 @@ components:
3038
3038
  - Premium customers
3039
3039
  inputFilter:
3040
3040
  type: object
3041
- description: Filter criteria for branch selection.
3041
+ description: |-
3042
+ Filter criteria for branch selection. Send `version` and `rules` directly on
3043
+ `inputFilter` — not inside the `{type: "expression", expression: {...}}` wrapper
3044
+ that export and import filters use. A wrapped filter is saved without an error,
3045
+ but the branch is stored with no `inputFilter` and takes every request.
3046
+ x-celigo-ai-guidance:
3047
+ - Read the API back after saving a branching router and check that each filtered branch still has its `inputFilter`; a filter sent in the export-filter wrapper is dropped on save without an error.
3042
3048
  properties:
3043
3049
  version:
3044
3050
  type: string
@@ -3073,12 +3079,22 @@ components:
3073
3079
  followed by operands which can be nested expressions.
3074
3080
  nextRouterId:
3075
3081
  type: string
3076
- description: Next router to chain to (or "apiRouter" for final routing)
3082
+ description: |-
3083
+ Next router to chain to, or "apiRouter" for the response router. Every branch needs
3084
+ one: a branch without it is saved, but every test run of the API is then refused
3085
+ with 400 "One or more branches are not merged back. Review the setup to ensure all
3086
+ branches converge.", whichever branch the request takes. An id that names no router
3087
+ fails the save with 422 "Invalid nextRouterId is defined on the branch. Please
3088
+ correct the branch configuration."
3077
3089
  examples:
3078
3090
  - apiRouter
3079
3091
  pageProcessors:
3080
3092
  type: array
3081
- description: Processing steps to execute in this branch
3093
+ description: |-
3094
+ Processing steps to execute in this branch. An export is a step at most once in an
3095
+ API: using it again, on another branch or in the same one, fails the save with 422
3096
+ "The export <id> is already included as a lookup in your API and cannot be added
3097
+ again."
3082
3098
  items:
3083
3099
  type: object
3084
3100
  properties:
@@ -3344,6 +3360,11 @@ components:
3344
3360
  matches; the typed `context.success` filter doesn't prevent that, because
3345
3361
  `context.success` is true whenever no step failed, including when a lookup found nothing.
3346
3362
  A step that fails with `proceedOnFailure` off selects the `fail` response.
3363
+
3364
+ Send `version` and `rules` directly on `inputFilter`, not inside the
3365
+ `{type: "expression", expression: {...}}` wrapper that export and import filters use. A
3366
+ wrapped filter is saved without an error, but the response is stored with no
3367
+ `inputFilter`, so it matches every request that reaches it.
3347
3368
  properties:
3348
3369
  version:
3349
3370
  type: string
package/dist/tool.yml CHANGED
@@ -460,9 +460,10 @@ paths:
460
460
  summary: Delete a tool
461
461
  description: |-
462
462
  Deletes a tool. Soft-deleted and retained in the recycle bin for 30 days.
463
- Fails with 422 if other resources (MCP servers, access tokens) still
464
- reference this tool — call `GET /v1/tools/{_id}/dependencies` first to
465
- check.
463
+ Fails with 422 if other resources (MCP servers, access tokens, or a
464
+ `ToolImport` import whose `tool._toolId` names it: "import <id> must be
465
+ deleted before you can delete tool <id>") still reference this tool — call
466
+ `GET /v1/tools/{_id}/dependencies` first to check; it lists those imports.
466
467
  operationId: deleteTool
467
468
  tags:
468
469
  - Tools
@@ -1231,8 +1232,12 @@ paths:
1231
1232
  '422':
1232
1233
  description: |-
1233
1234
  A step failed, or the Tool was refused before any step ran: a connection binding is
1234
- missing (`connection_not_overridden`) or has no `_id`, or its branches don't all merge
1235
- back (`tool_dangling_branch`). A failed step answers 422 even when it has
1235
+ missing (`connection_not_overridden`) or has no `_id`, its branches don't all merge
1236
+ back (`tool_dangling_branch`), or the input fails `input.schema` (a missing `required`
1237
+ property answers `tool_input_schema_validation_failed`). The output stage answers 422 too when the stored
1238
+ `output.schema` holds `additionalProperties: false` and the output mappings write a field
1239
+ it doesn't list ("Tool output validation failed: must NOT have additional properties").
1240
+ A failed step answers 422 even when it has
1236
1241
  `proceedOnFailure: true`: the later steps still run, but the response carries the error,
1237
1242
  not the output. Either way the response includes `invocationId` when logging is active,
1238
1243
  so the run can be opened in the run history.
@@ -6354,7 +6359,16 @@ components:
6354
6359
  JSON Schema describing the expected input data structure.
6355
6360
 
6356
6361
  Used for validation, documentation, and AI-assisted tooling.
6357
- Must be a valid JSON Schema document.
6362
+ Must be a valid JSON Schema document. Leave `$schema` out or name draft-07: a
6363
+ `$schema` naming draft 2020-12 fails the save with 422 "Invalid input.schema -
6364
+ no schema with key or ref ...". An `$id` saves.
6365
+
6366
+ Each invoke's input is validated against it. A missing `required` property
6367
+ refuses the call with 422 `tool_input_schema_validation_failed` ("Tool input
6368
+ validation failed: must have required property '<name>'"), and a failed
6369
+ `pattern` with 422 "Tool input validation failed: <field>: must match pattern
6370
+ ...". A property made required later therefore breaks callers that don't send
6371
+ it.
6358
6372
  additionalProperties: true
6359
6373
  examples:
6360
6374
  - type: object
@@ -6468,6 +6482,11 @@ components:
6468
6482
 
6469
6483
  Used for documentation and validation of the tool's output.
6470
6484
  Must be a valid JSON Schema document.
6485
+
6486
+ The mapped output is validated against it. While the stored schema holds
6487
+ `additionalProperties: false`, `POST /v1/tools/{_id}/invoke` answers 422 "Tool
6488
+ output validation failed: must NOT have additional properties" when the output
6489
+ mappings write a field the schema doesn't list.
6471
6490
  additionalProperties: true
6472
6491
  examples:
6473
6492
  - type: object
@@ -6760,7 +6779,12 @@ components:
6760
6779
  description: |
6761
6780
  Filter criteria to determine if this branch should be selected.
6762
6781
 
6763
- Uses Celigo's expression-based filter format.
6782
+ Uses Celigo's expression-based filter format. Send `version` and `rules`
6783
+ directly on `inputFilter` — not inside the `{type: "expression", expression: {...}}`
6784
+ wrapper that export and import filters use. A wrapped filter is saved without an
6785
+ error, but the branch is stored with no `inputFilter` and takes every input.
6786
+ x-celigo-ai-guidance:
6787
+ - Read the tool back after saving a branching router and check that each filtered branch still has its `inputFilter`; a filter sent in the export-filter wrapper is dropped on save without an error.
6764
6788
  properties:
6765
6789
  version:
6766
6790
  type: string
@@ -6800,6 +6824,13 @@ components:
6800
6824
 
6801
6825
  Use "outputRouter" as a special terminal value to exit the tool
6802
6826
  and return the processing results.
6827
+
6828
+ Every branch needs one. A branch without it is saved, but every invoke is
6829
+ then refused with 422 and every test run with 400 `tool_dangling_branch`
6830
+ ("One or more branches are not merged back. Review the setup to ensure all
6831
+ branches converge."), whichever branch the input takes. An id that names no
6832
+ router fails the save with 422 "Invalid nextRouterId is defined on the branch.
6833
+ Please correct the branch configuration."
6803
6834
  examples:
6804
6835
  - router_002
6805
6836
  - outputRouter
@@ -6809,7 +6840,10 @@ components:
6809
6840
  Processing steps to execute in this branch.
6810
6841
 
6811
6842
  Each processor references an export (lookup) or import resource
6812
- for data retrieval or submission.
6843
+ for data retrieval or submission. An export is a step at most once in a
6844
+ tool: using it again, on another branch or in the same one, fails the save
6845
+ with 422 "The export <id> is already included as a pageProcessor in your
6846
+ flow, and cannot be added again."
6813
6847
  items:
6814
6848
  type: object
6815
6849
  properties:
@@ -7064,6 +7098,12 @@ components:
7064
7098
 
7065
7099
  Branches can chain to other routers or use the special "outputRouter"
7066
7100
  terminal value to exit the tool.
7101
+
7102
+ A tool saves without `routers`, but it can't run: `POST /v1/tools/{_id}/invoke`
7103
+ and a test run answer 400 `tool_empty_router` ("Tool has no steps configured.
7104
+ Add at least one step before executing the tool."). A full PUT that omits
7105
+ `routers` removes the steps the same way. Put linear steps in one pass-through
7106
+ router with a single branch.
7067
7107
  items:
7068
7108
  $ref: '#/components/schemas/Router'
7069
7109
  aiDescription:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.157",
3
+ "version": "0.2.158",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "063d41cc",
4
+ "iasCommit": "e641651b",
5
5
  "generatedAt": "2026-10-21"
6
6
  },
7
7
  "roots": {