@celigo/api-specs 0.2.156 → 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
@@ -593,9 +593,10 @@ components:
593
593
  description: |
594
594
  LLM configuration for an `ai_agent` guardrail — which provider and model evaluate each
595
595
  record, with instructions, parameter tuning, and output format. Guardrails never invoke
596
- tools, so unlike an AI agent import no block here accepts a `tools` array; MCP `prompts`
597
- and `resources` remain available. Providers come in two families with two configuration
598
- formats:
596
+ tools, so unlike an AI agent import no block here accepts a `tools` array. MCP `prompts`
597
+ and `resources` are accepted on save, but an unreachable MCP server doesn't fail the
598
+ run (verified on OpenAI), so put the policy the guardrail must apply in its
599
+ instructions. Providers come in two families with two configuration formats:
599
600
 
600
601
  - **Built-in providers** — each has its own configuration block.
601
602
  - **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
@@ -759,7 +760,7 @@ components:
759
760
  prompts:
760
761
  type: array
761
762
  description: |-
762
- MCP prompt entries available to a catalog-provider guardrail (generic flat format).
763
+ MCP prompt entries saved with a catalog-provider guardrail (generic flat format).
763
764
  Each entry references one MCP connection and the prompt names allowed from it.
764
765
  items:
765
766
  type: object
@@ -815,7 +816,6 @@ components:
815
816
  - gpt-5-mini
816
817
  - gpt-5-nano
817
818
  - gpt-4.1-mini
818
- - gpt-4o
819
819
  x-celigo-ui-override: Required by the AI agent configuration form. Encoded here to mirror the form so builders produce connectable configurations.
820
820
  x-celigo-ai-guidance:
821
821
  - |-
@@ -1038,7 +1038,7 @@ components:
1038
1038
  prompts:
1039
1039
  type: array
1040
1040
  description: |-
1041
- MCP prompt entries available to the guardrail's model. Each item references one
1041
+ MCP prompt entries saved with the guardrail. Each item references one
1042
1042
  MCP connection and the prompt names allowed from it.
1043
1043
  items:
1044
1044
  type: object
@@ -1227,7 +1227,7 @@ components:
1227
1227
  prompts:
1228
1228
  type: array
1229
1229
  description: |-
1230
- MCP prompt entries available to the Gemini model. Each item references one
1230
+ MCP prompt entries saved with a Gemini guardrail. Each item references one
1231
1231
  MCP connection and the prompt names allowed from it.
1232
1232
  items:
1233
1233
  type: object
@@ -1449,7 +1449,7 @@ components:
1449
1449
  prompts:
1450
1450
  type: array
1451
1451
  description: |-
1452
- MCP prompt entries available to the Claude model. Each item references one
1452
+ MCP prompt entries saved with a Claude guardrail. Each item references one
1453
1453
  MCP connection and the prompt names allowed from it.
1454
1454
  items:
1455
1455
  type: object
@@ -1543,7 +1543,11 @@ components:
1543
1543
  Guardrails never invoke tools. A non-empty `tools` array anywhere under `aiAgent`
1544
1544
  (`aiAgent.tools`, `aiAgent.openai.tools`, `aiAgent.litellm._overrides.gemini.tools`,
1545
1545
  `aiAgent.litellm._overrides.anthropic.tools`) fails the save with 422
1546
- `guardrail_tools_not_allowed`; MCP `prompts` and `resources` are still accepted.
1546
+ `guardrail_tools_not_allowed`. MCP `prompts` and `resources` are still accepted on
1547
+ save, but don't rely on them for the check: with their MCP server unreachable, a
1548
+ guardrail runs on its instructions and input alone, with no error, where an AI agent's
1549
+ run fails (verified on OpenAI). Put the policy the guardrail must apply in its
1550
+ instructions.
1547
1551
  properties:
1548
1552
  type:
1549
1553
  type: string
package/dist/import.yml CHANGED
@@ -10668,9 +10668,10 @@ components:
10668
10668
  description: |
10669
10669
  LLM configuration for an `ai_agent` guardrail — which provider and model evaluate each
10670
10670
  record, with instructions, parameter tuning, and output format. Guardrails never invoke
10671
- tools, so unlike an AI agent import no block here accepts a `tools` array; MCP `prompts`
10672
- and `resources` remain available. Providers come in two families with two configuration
10673
- formats:
10671
+ tools, so unlike an AI agent import no block here accepts a `tools` array. MCP `prompts`
10672
+ and `resources` are accepted on save, but an unreachable MCP server doesn't fail the
10673
+ run (verified on OpenAI), so put the policy the guardrail must apply in its
10674
+ instructions. Providers come in two families with two configuration formats:
10674
10675
 
10675
10676
  - **Built-in providers** — each has its own configuration block.
10676
10677
  - **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
@@ -10834,7 +10835,7 @@ components:
10834
10835
  prompts:
10835
10836
  type: array
10836
10837
  description: |-
10837
- MCP prompt entries available to a catalog-provider guardrail (generic flat format).
10838
+ MCP prompt entries saved with a catalog-provider guardrail (generic flat format).
10838
10839
  Each entry references one MCP connection and the prompt names allowed from it.
10839
10840
  items:
10840
10841
  type: object
@@ -10890,7 +10891,6 @@ components:
10890
10891
  - gpt-5-mini
10891
10892
  - gpt-5-nano
10892
10893
  - gpt-4.1-mini
10893
- - gpt-4o
10894
10894
  x-celigo-ui-override: Required by the AI agent configuration form. Encoded here to mirror the form so builders produce connectable configurations.
10895
10895
  x-celigo-ai-guidance:
10896
10896
  - |-
@@ -11113,7 +11113,7 @@ components:
11113
11113
  prompts:
11114
11114
  type: array
11115
11115
  description: |-
11116
- MCP prompt entries available to the guardrail's model. Each item references one
11116
+ MCP prompt entries saved with the guardrail. Each item references one
11117
11117
  MCP connection and the prompt names allowed from it.
11118
11118
  items:
11119
11119
  type: object
@@ -11302,7 +11302,7 @@ components:
11302
11302
  prompts:
11303
11303
  type: array
11304
11304
  description: |-
11305
- MCP prompt entries available to the Gemini model. Each item references one
11305
+ MCP prompt entries saved with a Gemini guardrail. Each item references one
11306
11306
  MCP connection and the prompt names allowed from it.
11307
11307
  items:
11308
11308
  type: object
@@ -11524,7 +11524,7 @@ components:
11524
11524
  prompts:
11525
11525
  type: array
11526
11526
  description: |-
11527
- MCP prompt entries available to the Claude model. Each item references one
11527
+ MCP prompt entries saved with a Claude guardrail. Each item references one
11528
11528
  MCP connection and the prompt names allowed from it.
11529
11529
  items:
11530
11530
  type: object
@@ -11649,7 +11649,9 @@ components:
11649
11649
  `aiAgent.openai.tools`, `aiAgent.litellm._overrides.gemini.tools`, `….anthropic.tools`) —
11650
11650
  any non-empty array fails the save with 422 `guardrail_tools_not_allowed` ("Tools aren't
11651
11651
  supported on a guardrail AI agent configuration…"), on create and on update. `prompts` and
11652
- `resources` are accepted; the server still echoes `openai.tools: []` on OpenAI guardrails.
11652
+ `resources` are accepted on save, but an unreachable MCP server doesn't fail the run
11653
+ (verified on OpenAI), so put the policy in the instructions. The server still echoes
11654
+ `openai.tools: []` on OpenAI guardrails.
11653
11655
  properties:
11654
11656
  type:
11655
11657
  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:
@@ -22136,9 +22176,10 @@ components:
22136
22176
  description: |
22137
22177
  LLM configuration for an `ai_agent` guardrail — which provider and model evaluate each
22138
22178
  record, with instructions, parameter tuning, and output format. Guardrails never invoke
22139
- tools, so unlike an AI agent import no block here accepts a `tools` array; MCP `prompts`
22140
- and `resources` remain available. Providers come in two families with two configuration
22141
- formats:
22179
+ tools, so unlike an AI agent import no block here accepts a `tools` array. MCP `prompts`
22180
+ and `resources` are accepted on save, but an unreachable MCP server doesn't fail the
22181
+ run (verified on OpenAI), so put the policy the guardrail must apply in its
22182
+ instructions. Providers come in two families with two configuration formats:
22142
22183
 
22143
22184
  - **Built-in providers** — each has its own configuration block.
22144
22185
  - **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
@@ -22302,7 +22343,7 @@ components:
22302
22343
  prompts:
22303
22344
  type: array
22304
22345
  description: |-
22305
- MCP prompt entries available to a catalog-provider guardrail (generic flat format).
22346
+ MCP prompt entries saved with a catalog-provider guardrail (generic flat format).
22306
22347
  Each entry references one MCP connection and the prompt names allowed from it.
22307
22348
  items:
22308
22349
  type: object
@@ -22358,7 +22399,6 @@ components:
22358
22399
  - gpt-5-mini
22359
22400
  - gpt-5-nano
22360
22401
  - gpt-4.1-mini
22361
- - gpt-4o
22362
22402
  x-celigo-ui-override: Required by the AI agent configuration form. Encoded here to mirror the form so builders produce connectable configurations.
22363
22403
  x-celigo-ai-guidance:
22364
22404
  - |-
@@ -22581,7 +22621,7 @@ components:
22581
22621
  prompts:
22582
22622
  type: array
22583
22623
  description: |-
22584
- MCP prompt entries available to the guardrail's model. Each item references one
22624
+ MCP prompt entries saved with the guardrail. Each item references one
22585
22625
  MCP connection and the prompt names allowed from it.
22586
22626
  items:
22587
22627
  type: object
@@ -22770,7 +22810,7 @@ components:
22770
22810
  prompts:
22771
22811
  type: array
22772
22812
  description: |-
22773
- MCP prompt entries available to the Gemini model. Each item references one
22813
+ MCP prompt entries saved with a Gemini guardrail. Each item references one
22774
22814
  MCP connection and the prompt names allowed from it.
22775
22815
  items:
22776
22816
  type: object
@@ -22992,7 +23032,7 @@ components:
22992
23032
  prompts:
22993
23033
  type: array
22994
23034
  description: |-
22995
- MCP prompt entries available to the Claude model. Each item references one
23035
+ MCP prompt entries saved with a Claude guardrail. Each item references one
22996
23036
  MCP connection and the prompt names allowed from it.
22997
23037
  items:
22998
23038
  type: object
@@ -23117,7 +23157,9 @@ components:
23117
23157
  `aiAgent.openai.tools`, `aiAgent.litellm._overrides.gemini.tools`, `….anthropic.tools`) —
23118
23158
  any non-empty array fails the save with 422 `guardrail_tools_not_allowed` ("Tools aren't
23119
23159
  supported on a guardrail AI agent configuration…"), on create and on update. `prompts` and
23120
- `resources` are accepted; the server still echoes `openai.tools: []` on OpenAI guardrails.
23160
+ `resources` are accepted on save, but an unreachable MCP server doesn't fail the run
23161
+ (verified on OpenAI), so put the policy in the instructions. The server still echoes
23162
+ `openai.tools: []` on OpenAI guardrails.
23121
23163
  properties:
23122
23164
  type:
23123
23165
  type: string
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.156",
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": "e8ef66bd",
4
+ "iasCommit": "e641651b",
5
5
  "generatedAt": "2026-10-21"
6
6
  },
7
7
  "roots": {