@celigo/api-specs 0.2.182 → 0.2.183
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/ai-agent.yml +407 -21
- package/dist/guardrail.yml +69 -21
- package/dist/import.yml +138 -42
- package/dist/tool.yml +138 -42
- package/package.json +1 -1
- package/schemas.json +1 -1
package/dist/ai-agent.yml
CHANGED
|
@@ -27,6 +27,15 @@ tags:
|
|
|
27
27
|
providers — Mistral, xAI, Hugging Face, DeepSeek, Cohere, and Groq — use one generic
|
|
28
28
|
flat configuration format and always run on a BYOK connection.
|
|
29
29
|
|
|
30
|
+
Every model carries a lifecycle in the platform's model catalog (`active`,
|
|
31
|
+
`deprecated`, `retired`, plus an availability switch). The save and every run
|
|
32
|
+
refuse a model that is not in the catalog, switched off, not offered for the
|
|
33
|
+
agent's credential type, or retired; a deprecated model keeps working until its
|
|
34
|
+
retirement date. With a `_connectionId` (BYOK), a model the catalog does not
|
|
35
|
+
list is passed through to the vendor as-is, while a catalog-listed model remains
|
|
36
|
+
governed. `GET /v1/aiagents/aiModelHealth` lists the agents and guardrails that
|
|
37
|
+
need attention.
|
|
38
|
+
|
|
30
39
|
## AI agent schema
|
|
31
40
|
|
|
32
41
|
{% openapi-schemas spec="ai-agent" schemas="AiAgent" grouped="true" %}
|
|
@@ -742,6 +751,194 @@ paths:
|
|
|
742
751
|
description: '`Content-Type: application/json` header is missing.'
|
|
743
752
|
'422':
|
|
744
753
|
$ref: '#/components/responses/422-unprocessable-entity'
|
|
754
|
+
/v1/aiagents/aiModelHealth:
|
|
755
|
+
get:
|
|
756
|
+
x-internal: false
|
|
757
|
+
operationId: listAiModelHealth
|
|
758
|
+
tags:
|
|
759
|
+
- AI Agents
|
|
760
|
+
summary: List AI agents on affected models
|
|
761
|
+
description: |-
|
|
762
|
+
Returns the AI agent and guardrail imports the caller can read whose configured
|
|
763
|
+
model is refused (not in the catalog, switched off, not offered for the import's
|
|
764
|
+
credential type, or retired) or deprecated. Healthy imports and imports in the
|
|
765
|
+
recycle bin are omitted; production and sandbox copies both appear. Computed
|
|
766
|
+
fresh on every call; no query parameters.
|
|
767
|
+
|
|
768
|
+
A model the catalog does not list is reported only for imports on
|
|
769
|
+
platform-managed credentials — with a `_connectionId` (BYOK) such a model is
|
|
770
|
+
passed through to the vendor and never listed; a catalog-listed BYOK model is
|
|
771
|
+
governed and can appear. An `error` entry is blocked on save and on run; a
|
|
772
|
+
`warning` entry is deprecated and keeps working until `lifecycle.retiredAt`.
|
|
773
|
+
Fix an entry by changing the import's model, usually to one of
|
|
774
|
+
`lifecycle.suggestedNextModels`.
|
|
775
|
+
responses:
|
|
776
|
+
'200':
|
|
777
|
+
description: Affected imports. `agents` is empty when every model is healthy.
|
|
778
|
+
content:
|
|
779
|
+
application/json:
|
|
780
|
+
schema:
|
|
781
|
+
$ref: '#/components/schemas/AiModelHealth'
|
|
782
|
+
examples:
|
|
783
|
+
healthy:
|
|
784
|
+
summary: Every model healthy
|
|
785
|
+
value:
|
|
786
|
+
agents: []
|
|
787
|
+
deprecated:
|
|
788
|
+
summary: One agent on a model retiring soon
|
|
789
|
+
value:
|
|
790
|
+
agents:
|
|
791
|
+
- _importId: 6ad764e00d32aa4416a1e9d5
|
|
792
|
+
modelId: gpt-4.1-nano
|
|
793
|
+
provider: openai
|
|
794
|
+
severity: warning
|
|
795
|
+
displayName: gpt-4.1-nano
|
|
796
|
+
lifecycle:
|
|
797
|
+
status: deprecated
|
|
798
|
+
deprecatedAt: '2026-04-22'
|
|
799
|
+
retiredAt: '2026-10-23'
|
|
800
|
+
suggestedNextModels:
|
|
801
|
+
- gpt-5.6-luna
|
|
802
|
+
retired:
|
|
803
|
+
summary: The same agent once its retirement date has passed — `status` still reads `deprecated`, the entry is an error
|
|
804
|
+
value:
|
|
805
|
+
agents:
|
|
806
|
+
- _importId: 6ad764e00d32aa4416a1e9d5
|
|
807
|
+
modelId: gpt-4.1-nano
|
|
808
|
+
provider: openai
|
|
809
|
+
severity: error
|
|
810
|
+
displayName: gpt-4.1-nano
|
|
811
|
+
code: ai_model_retired
|
|
812
|
+
lifecycle:
|
|
813
|
+
status: deprecated
|
|
814
|
+
deprecatedAt: '2026-04-22'
|
|
815
|
+
retiredAt: '2026-10-23'
|
|
816
|
+
suggestedNextModels:
|
|
817
|
+
- gpt-5.6-luna
|
|
818
|
+
'401':
|
|
819
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
820
|
+
'403':
|
|
821
|
+
$ref: '#/components/responses/403-forbidden'
|
|
822
|
+
'502':
|
|
823
|
+
description: |-
|
|
824
|
+
The model catalog or the health computation was unavailable. The platform never
|
|
825
|
+
answers a fake-healthy `200` — retry later.
|
|
826
|
+
content:
|
|
827
|
+
application/json:
|
|
828
|
+
schema:
|
|
829
|
+
$ref: '#/components/schemas/Error'
|
|
830
|
+
examples:
|
|
831
|
+
default:
|
|
832
|
+
value:
|
|
833
|
+
errors:
|
|
834
|
+
- code: ai_model_health_unavailable
|
|
835
|
+
message: Model health could not be computed.
|
|
836
|
+
source: resource
|
|
837
|
+
/v1/integrations/{_integrationId}/aiModelHealth:
|
|
838
|
+
get:
|
|
839
|
+
x-internal: false
|
|
840
|
+
operationId: listIntegrationAiModelHealth
|
|
841
|
+
tags:
|
|
842
|
+
- AI Agents
|
|
843
|
+
summary: List an integration's affected AI agents
|
|
844
|
+
description: |-
|
|
845
|
+
Same rules as `GET /v1/aiagents/aiModelHealth`, then keeps only the imports a
|
|
846
|
+
live flow of this integration references (as a page processor, inside a router
|
|
847
|
+
branch, or as the flow's top-level import), each with the flows and
|
|
848
|
+
integrations that use it. Flows in the recycle bin and imports no flow uses are
|
|
849
|
+
dropped — an agent that is on an affected model but in no flow appears on the
|
|
850
|
+
account route only.
|
|
851
|
+
|
|
852
|
+
A parent Integration App includes its child integrations' flows; a child does
|
|
853
|
+
not include its parent or siblings.
|
|
854
|
+
parameters:
|
|
855
|
+
- name: _integrationId
|
|
856
|
+
in: path
|
|
857
|
+
required: true
|
|
858
|
+
description: The integration to scope to. A parent Integration App includes its children.
|
|
859
|
+
schema:
|
|
860
|
+
type: string
|
|
861
|
+
format: objectId
|
|
862
|
+
x-celigo-refModel: integrations
|
|
863
|
+
responses:
|
|
864
|
+
'200':
|
|
865
|
+
description: Affected imports referenced by the integration's live flows. `agents` is empty when every model is healthy.
|
|
866
|
+
content:
|
|
867
|
+
application/json:
|
|
868
|
+
schema:
|
|
869
|
+
$ref: '#/components/schemas/IntegrationAiModelHealth'
|
|
870
|
+
examples:
|
|
871
|
+
healthy:
|
|
872
|
+
summary: Every model healthy
|
|
873
|
+
value:
|
|
874
|
+
agents: []
|
|
875
|
+
deprecated:
|
|
876
|
+
summary: One agent on a model retiring soon, used by two flows of the integration
|
|
877
|
+
description: |-
|
|
878
|
+
The first flow references the import as a page processor, the second as its
|
|
879
|
+
top-level `_importId`; both are listed. The same import on the account route
|
|
880
|
+
carries no `_flowIds` or `_integrationIds`.
|
|
881
|
+
value:
|
|
882
|
+
agents:
|
|
883
|
+
- _importId: 6ad764e00d32aa4416a1e9d5
|
|
884
|
+
modelId: gpt-4.1-nano
|
|
885
|
+
provider: openai
|
|
886
|
+
severity: warning
|
|
887
|
+
displayName: gpt-4.1-nano
|
|
888
|
+
lifecycle:
|
|
889
|
+
status: deprecated
|
|
890
|
+
deprecatedAt: '2026-04-22'
|
|
891
|
+
retiredAt: '2026-10-23'
|
|
892
|
+
suggestedNextModels:
|
|
893
|
+
- gpt-5.6-luna
|
|
894
|
+
_flowIds:
|
|
895
|
+
- 6ada3adacbe134dabe31a5b2
|
|
896
|
+
- 6ada3ad8f4f545d98e142507
|
|
897
|
+
_integrationIds:
|
|
898
|
+
- 6ada3ad4f4f545d98e142445
|
|
899
|
+
'400':
|
|
900
|
+
description: The id is not a valid ObjectId.
|
|
901
|
+
content:
|
|
902
|
+
application/json:
|
|
903
|
+
schema:
|
|
904
|
+
$ref: '#/components/schemas/Error'
|
|
905
|
+
examples:
|
|
906
|
+
default:
|
|
907
|
+
value:
|
|
908
|
+
errors:
|
|
909
|
+
- code: invalid_ref
|
|
910
|
+
message: Please provide a valid _integrationId.
|
|
911
|
+
'401':
|
|
912
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
913
|
+
'403':
|
|
914
|
+
$ref: '#/components/responses/403-forbidden'
|
|
915
|
+
'404':
|
|
916
|
+
description: No integration with this id is visible to the caller, or it is in the recycle bin.
|
|
917
|
+
content:
|
|
918
|
+
application/json:
|
|
919
|
+
schema:
|
|
920
|
+
$ref: '#/components/schemas/Error'
|
|
921
|
+
examples:
|
|
922
|
+
default:
|
|
923
|
+
value:
|
|
924
|
+
errors:
|
|
925
|
+
- code: invalid_ref
|
|
926
|
+
message: Integration not found.
|
|
927
|
+
'502':
|
|
928
|
+
description: |-
|
|
929
|
+
The model catalog or the health computation was unavailable. The platform never
|
|
930
|
+
answers a fake-healthy `200` — retry later.
|
|
931
|
+
content:
|
|
932
|
+
application/json:
|
|
933
|
+
schema:
|
|
934
|
+
$ref: '#/components/schemas/Error'
|
|
935
|
+
examples:
|
|
936
|
+
default:
|
|
937
|
+
value:
|
|
938
|
+
errors:
|
|
939
|
+
- code: ai_model_health_unavailable
|
|
940
|
+
message: Model health could not be computed.
|
|
941
|
+
source: resource
|
|
745
942
|
components:
|
|
746
943
|
securitySchemes:
|
|
747
944
|
bearerAuth:
|
|
@@ -858,8 +1055,30 @@ components:
|
|
|
858
1055
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
859
1056
|
credentials. Without one, built-in providers run on platform-managed
|
|
860
1057
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
861
|
-
save requires one — without it the agent fails to save with 422
|
|
862
|
-
`
|
|
1058
|
+
save requires one — without it the agent fails to save with 422 on
|
|
1059
|
+
`aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
1060
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
1061
|
+
catalog check answers before any `connection_required`).
|
|
1062
|
+
|
|
1063
|
+
**Model lifecycle.** Every model the platform offers — built-in and catalog
|
|
1064
|
+
providers alike — carries a lifecycle in the platform's model catalog:
|
|
1065
|
+
`active`, `deprecated` (still usable; a retirement date and suggested
|
|
1066
|
+
replacement models may be published), or `retired`, plus an availability
|
|
1067
|
+
switch. The save and every run check the configured model against it: a
|
|
1068
|
+
model that is not in the catalog, switched off, not offered for the agent's
|
|
1069
|
+
credential type, or retired (by status, or once its retirement date has
|
|
1070
|
+
passed) is refused — the save with 422 `ai_model_not_in_catalog`,
|
|
1071
|
+
`ai_model_disabled`, `ai_model_not_available`, or `ai_model_retired` on the
|
|
1072
|
+
model field, the run with a `Run blocked:` error carrying the same code before
|
|
1073
|
+
any model call (`Run blocked: model "gpt-4.1-nano" is retired on "Oct 23,
|
|
1074
|
+
2026". Please choose a supported model and test your agent configuration.` —
|
|
1075
|
+
the run-time message names the date only; the chat route streams it as an
|
|
1076
|
+
`error` event). A deprecated model saves and runs until its retirement date. The
|
|
1077
|
+
platform never substitutes a model: once a model is retired, every save of
|
|
1078
|
+
the agent is refused until the model changes. Agents and guardrails on
|
|
1079
|
+
affected models are listed by `GET /v1/aiagents/aiModelHealth`. With a
|
|
1080
|
+
`_connectionId`, a model the catalog does not list is passed through to the
|
|
1081
|
+
vendor as-is; a catalog-listed model remains governed.
|
|
863
1082
|
required:
|
|
864
1083
|
- provider
|
|
865
1084
|
properties:
|
|
@@ -896,11 +1115,13 @@ components:
|
|
|
896
1115
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
897
1116
|
never an `openai` or `litellm` block.
|
|
898
1117
|
- |-
|
|
899
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
900
|
-
the agent fails to save with 422
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
1118
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
1119
|
+
catalog: without a `_connectionId` the agent fails to save with 422
|
|
1120
|
+
`ai_model_not_available` on `aiAgent.model` ("Model \"grok-4.6\" is not
|
|
1121
|
+
supported. Please choose a supported model and test your agent
|
|
1122
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
1123
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
1124
|
+
(token auth) before saving a catalog-provider agent.
|
|
904
1125
|
model:
|
|
905
1126
|
type: string
|
|
906
1127
|
description: |-
|
|
@@ -912,11 +1133,15 @@ components:
|
|
|
912
1133
|
Required for every catalog provider — omitting it or sending an empty string
|
|
913
1134
|
fails the save with 422 `missing_required_field`.
|
|
914
1135
|
- |-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
`
|
|
918
|
-
|
|
919
|
-
|
|
1136
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
1137
|
+
a catalog-provider agent fails to save with 422 on `aiAgent.model` —
|
|
1138
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
1139
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
1140
|
+
the catalog does not list.
|
|
1141
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
1142
|
+
the server does not check it against the catalog or the vendor; a
|
|
1143
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
1144
|
+
schema description — a retired or switched-off model is refused on save).
|
|
920
1145
|
modelOptions:
|
|
921
1146
|
type: object
|
|
922
1147
|
description: |-
|
|
@@ -1117,11 +1342,23 @@ components:
|
|
|
1117
1342
|
x-celigo-ai-guidance:
|
|
1118
1343
|
- |-
|
|
1119
1344
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
1120
|
-
import), the model must be
|
|
1121
|
-
|
|
1122
|
-
with 422 `
|
|
1123
|
-
|
|
1124
|
-
|
|
1345
|
+
import), the model must be a catalog row the platform offers on its own
|
|
1346
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
1347
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.openai.model`
|
|
1348
|
+
("Model \"gpt-4\" is not supported. Please choose a supported model and
|
|
1349
|
+
test your agent configuration."), and a dry-run answers the same
|
|
1350
|
+
`errors` with `valid: false`. A retired model is refused the same way with
|
|
1351
|
+
`ai_model_retired` — the message names the retirement date and, when any
|
|
1352
|
+
remain eligible, the suggested next models ("Model \"gpt-4.1-nano\" is
|
|
1353
|
+
retired on \"Oct 23, 2026\" and cannot be used. Suggested next models:
|
|
1354
|
+
gpt-5.6-luna. Please test and update your agent configuration.") — and so
|
|
1355
|
+
is a switched-off one with `ai_model_disabled`; a deprecated model saves.
|
|
1356
|
+
Never swap the model on the user's behalf — relay the message and let
|
|
1357
|
+
them choose.
|
|
1358
|
+
- |-
|
|
1359
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
1360
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
1361
|
+
its lifecycle row.
|
|
1125
1362
|
reasoning:
|
|
1126
1363
|
type: object
|
|
1127
1364
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -1550,10 +1787,18 @@ components:
|
|
|
1550
1787
|
x-celigo-ai-guidance:
|
|
1551
1788
|
- |-
|
|
1552
1789
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
1553
|
-
import), the model must be
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
with 422 `
|
|
1790
|
+
import), the model must be a catalog row the platform offers for the
|
|
1791
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
1792
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
1793
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.litellm.model`, a
|
|
1794
|
+
retired one with `ai_model_retired` (the message names the retirement
|
|
1795
|
+
date and, when any remain eligible, the suggested next models), a
|
|
1796
|
+
switched-off one with `ai_model_disabled`; a deprecated model saves. Never
|
|
1797
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
1798
|
+
- |-
|
|
1799
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
1800
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
1801
|
+
its lifecycle row.
|
|
1557
1802
|
temperature:
|
|
1558
1803
|
type: number
|
|
1559
1804
|
minimum: 0
|
|
@@ -6613,6 +6858,147 @@ components:
|
|
|
6613
6858
|
selects the BYOK connection the turn runs through.
|
|
6614
6859
|
allOf:
|
|
6615
6860
|
- $ref: '#/components/schemas/Request'
|
|
6861
|
+
AiModelLifecycle:
|
|
6862
|
+
type: object
|
|
6863
|
+
description: |-
|
|
6864
|
+
Lifecycle row of a catalog model, as the platform stores it. `status` is returned as
|
|
6865
|
+
stored — a `deprecated` model whose `retiredAt` has passed is treated as retired by the
|
|
6866
|
+
save and the run even though `status` still reads `deprecated`.
|
|
6867
|
+
required:
|
|
6868
|
+
- status
|
|
6869
|
+
properties:
|
|
6870
|
+
status:
|
|
6871
|
+
type: string
|
|
6872
|
+
enum:
|
|
6873
|
+
- active
|
|
6874
|
+
- deprecated
|
|
6875
|
+
- retired
|
|
6876
|
+
x-enumDescriptions:
|
|
6877
|
+
active: Offered with no warning
|
|
6878
|
+
deprecated: Still saves and runs; migrate before `retiredAt` when one is published
|
|
6879
|
+
retired: Refused on save and on run
|
|
6880
|
+
description: Stored lifecycle status of the model.
|
|
6881
|
+
deprecatedAt:
|
|
6882
|
+
type: string
|
|
6883
|
+
format: date
|
|
6884
|
+
description: Date the model was marked deprecated.
|
|
6885
|
+
retiredAt:
|
|
6886
|
+
type: string
|
|
6887
|
+
format: date
|
|
6888
|
+
description: |-
|
|
6889
|
+
Date from which the model is refused on save and on run, whatever `status` says.
|
|
6890
|
+
Absent when no retirement date has been published.
|
|
6891
|
+
suggestedNextModels:
|
|
6892
|
+
type: array
|
|
6893
|
+
description: |-
|
|
6894
|
+
Replacement model ids the platform recommends, already narrowed to models the
|
|
6895
|
+
agent could switch to with its current credential type (never the model itself,
|
|
6896
|
+
never a model that is itself refused). Absent when no eligible replacement remains.
|
|
6897
|
+
items:
|
|
6898
|
+
type: string
|
|
6899
|
+
AffectedAiAgent:
|
|
6900
|
+
type: object
|
|
6901
|
+
description: |-
|
|
6902
|
+
One AI agent or guardrail import whose configured model needs attention. One entry
|
|
6903
|
+
per import — two imports on the same model can differ in severity.
|
|
6904
|
+
required:
|
|
6905
|
+
- _importId
|
|
6906
|
+
- modelId
|
|
6907
|
+
- provider
|
|
6908
|
+
- severity
|
|
6909
|
+
properties:
|
|
6910
|
+
_importId:
|
|
6911
|
+
type: string
|
|
6912
|
+
format: objectId
|
|
6913
|
+
x-celigo-refModel: imports
|
|
6914
|
+
description: The AI agent (`AiAgentImport`) or guardrail (`GuardrailImport`) import.
|
|
6915
|
+
modelId:
|
|
6916
|
+
type: string
|
|
6917
|
+
description: Model id configured on the import.
|
|
6918
|
+
examples:
|
|
6919
|
+
- gpt-4.1-nano
|
|
6920
|
+
provider:
|
|
6921
|
+
type: string
|
|
6922
|
+
description: Provider the import is configured for.
|
|
6923
|
+
examples:
|
|
6924
|
+
- openai
|
|
6925
|
+
displayName:
|
|
6926
|
+
type: string
|
|
6927
|
+
description: Catalog display name of the model. Present for catalog-listed models only.
|
|
6928
|
+
severity:
|
|
6929
|
+
type: string
|
|
6930
|
+
enum:
|
|
6931
|
+
- error
|
|
6932
|
+
- warning
|
|
6933
|
+
x-enumDescriptions:
|
|
6934
|
+
error: The model is refused on save and on run; `code` says why
|
|
6935
|
+
warning: The model is deprecated — it still saves and runs; migrate before `lifecycle.retiredAt`
|
|
6936
|
+
description: Whether the import is blocked or only warned about.
|
|
6937
|
+
code:
|
|
6938
|
+
type: string
|
|
6939
|
+
enum:
|
|
6940
|
+
- ai_model_disabled
|
|
6941
|
+
- ai_model_not_available
|
|
6942
|
+
- ai_model_not_in_catalog
|
|
6943
|
+
- ai_model_retired
|
|
6944
|
+
x-enumDescriptions:
|
|
6945
|
+
ai_model_disabled: The model or its provider is switched off in the catalog
|
|
6946
|
+
ai_model_not_available: The model is not offered for the import's credential type (platform-managed or BYOK)
|
|
6947
|
+
ai_model_not_in_catalog: The model is not a catalog row and the import runs on platform-managed credentials
|
|
6948
|
+
ai_model_retired: The model is retired by status or by a passed `retiredAt`
|
|
6949
|
+
description: Reason the model is refused. Present on `error` entries only.
|
|
6950
|
+
lifecycle:
|
|
6951
|
+
$ref: '#/components/schemas/AiModelLifecycle'
|
|
6952
|
+
sandbox:
|
|
6953
|
+
type: boolean
|
|
6954
|
+
description: Present and true when the import is a sandbox document.
|
|
6955
|
+
AiModelHealth:
|
|
6956
|
+
type: object
|
|
6957
|
+
description: Imports on affected models across the account. Empty when every model is healthy.
|
|
6958
|
+
required:
|
|
6959
|
+
- agents
|
|
6960
|
+
properties:
|
|
6961
|
+
agents:
|
|
6962
|
+
type: array
|
|
6963
|
+
items:
|
|
6964
|
+
$ref: '#/components/schemas/AffectedAiAgent'
|
|
6965
|
+
AffectedAiAgentWithFlows:
|
|
6966
|
+
allOf:
|
|
6967
|
+
- $ref: '#/components/schemas/AffectedAiAgent'
|
|
6968
|
+
- type: object
|
|
6969
|
+
required:
|
|
6970
|
+
- _flowIds
|
|
6971
|
+
- _integrationIds
|
|
6972
|
+
properties:
|
|
6973
|
+
_flowIds:
|
|
6974
|
+
type: array
|
|
6975
|
+
description: |-
|
|
6976
|
+
Live flows of the integration that reference the import — as a page processor,
|
|
6977
|
+
inside a router branch, or as the flow's top-level `_importId`. Always present
|
|
6978
|
+
on this route, with at least one id: an import no live flow uses is not listed.
|
|
6979
|
+
items:
|
|
6980
|
+
type: string
|
|
6981
|
+
format: objectId
|
|
6982
|
+
x-celigo-refModel: flows
|
|
6983
|
+
_integrationIds:
|
|
6984
|
+
type: array
|
|
6985
|
+
description: |-
|
|
6986
|
+
Integrations of those flows. For a parent Integration App this can include
|
|
6987
|
+
child integration ids.
|
|
6988
|
+
items:
|
|
6989
|
+
type: string
|
|
6990
|
+
format: objectId
|
|
6991
|
+
x-celigo-refModel: integrations
|
|
6992
|
+
IntegrationAiModelHealth:
|
|
6993
|
+
type: object
|
|
6994
|
+
description: Imports on affected models referenced by the integration's live flows. Empty when every model is healthy.
|
|
6995
|
+
required:
|
|
6996
|
+
- agents
|
|
6997
|
+
properties:
|
|
6998
|
+
agents:
|
|
6999
|
+
type: array
|
|
7000
|
+
items:
|
|
7001
|
+
$ref: '#/components/schemas/AffectedAiAgentWithFlows'
|
|
6616
7002
|
responses:
|
|
6617
7003
|
400-bad-request:
|
|
6618
7004
|
description: |
|
package/dist/guardrail.yml
CHANGED
|
@@ -610,8 +610,30 @@ components:
|
|
|
610
610
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
611
611
|
credentials. Without one, built-in providers run on platform-managed
|
|
612
612
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
613
|
-
save requires one — without it the guardrail fails to save with 422
|
|
614
|
-
`
|
|
613
|
+
save requires one — without it the guardrail fails to save with 422 on
|
|
614
|
+
`guardrail.aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
615
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
616
|
+
catalog check answers before any `connection_required`).
|
|
617
|
+
|
|
618
|
+
**Model lifecycle.** Every model the platform offers carries a lifecycle in
|
|
619
|
+
the platform's model catalog: `active`, `deprecated` (still usable; a
|
|
620
|
+
retirement date and suggested replacement models may be published), or
|
|
621
|
+
`retired`, plus an availability switch. The save and every run of an
|
|
622
|
+
`ai_agent` guardrail check the configured model against it exactly as for an
|
|
623
|
+
AI agent import: a model that is not in the catalog, switched off, not offered
|
|
624
|
+
for the guardrail's credential type, or retired (by status, or once its
|
|
625
|
+
retirement date has passed) is refused — the save with 422
|
|
626
|
+
`ai_model_not_in_catalog`, `ai_model_disabled`, `ai_model_not_available`, or
|
|
627
|
+
`ai_model_retired` on the model field, the run with a `Run blocked:` error
|
|
628
|
+
carrying the same code before any model call (`Run blocked: model
|
|
629
|
+
"gpt-4.1-nano" is retired on "Oct 23, 2026". Please choose a supported model
|
|
630
|
+
and test your agent configuration.` — the run-time message names the date
|
|
631
|
+
only). A deprecated model saves and runs until
|
|
632
|
+
its retirement date. The platform never substitutes a model: once a model is
|
|
633
|
+
retired, every save of the guardrail is refused until the model changes.
|
|
634
|
+
Guardrails on affected models are listed by `GET /v1/aiagents/aiModelHealth`.
|
|
635
|
+
With a `_connectionId`, a model the catalog does not list is passed through to
|
|
636
|
+
the vendor as-is; a catalog-listed model remains governed.
|
|
615
637
|
x-celigo-ai-guidance:
|
|
616
638
|
- |-
|
|
617
639
|
Do not send `tools` on any block. A non-empty array at `tools`, `openai.tools`,
|
|
@@ -654,11 +676,13 @@ components:
|
|
|
654
676
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
655
677
|
never an `openai` or `litellm` block.
|
|
656
678
|
- |-
|
|
657
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
658
|
-
the guardrail fails to save with 422
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
679
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
680
|
+
catalog: without a `_connectionId` the guardrail fails to save with 422
|
|
681
|
+
`ai_model_not_available` on `guardrail.aiAgent.model` ("Model \"grok-4.6\" is
|
|
682
|
+
not supported. Please choose a supported model and test your agent
|
|
683
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
684
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
685
|
+
(token auth) before saving a catalog-provider guardrail.
|
|
662
686
|
model:
|
|
663
687
|
type: string
|
|
664
688
|
description: |-
|
|
@@ -670,11 +694,15 @@ components:
|
|
|
670
694
|
Required for every catalog provider — omitting it or sending an empty string
|
|
671
695
|
fails the save with 422 `missing_required_field`.
|
|
672
696
|
- |-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
`
|
|
676
|
-
|
|
677
|
-
|
|
697
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
698
|
+
a catalog-provider guardrail fails to save with 422 on `guardrail.aiAgent.model` —
|
|
699
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
700
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
701
|
+
the catalog does not list.
|
|
702
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
703
|
+
the server does not check it against the catalog or the vendor; a
|
|
704
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
705
|
+
schema description — a retired or switched-off model is refused on save).
|
|
678
706
|
modelOptions:
|
|
679
707
|
type: object
|
|
680
708
|
description: |-
|
|
@@ -820,11 +848,22 @@ components:
|
|
|
820
848
|
x-celigo-ai-guidance:
|
|
821
849
|
- |-
|
|
822
850
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
823
|
-
import), the model must be
|
|
824
|
-
|
|
825
|
-
with 422 `
|
|
826
|
-
|
|
827
|
-
|
|
851
|
+
import), the model must be a catalog row the platform offers on its own
|
|
852
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
853
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
854
|
+
`guardrail.aiAgent.openai.model` ("Model \"gpt-4\" is not supported.
|
|
855
|
+
Please choose a supported model and test your agent configuration."). A
|
|
856
|
+
retired model is refused the same way with `ai_model_retired` — the
|
|
857
|
+
message names the retirement date and, when any remain eligible, the
|
|
858
|
+
suggested next models ("Model \"gpt-4.1-nano\" is retired on \"Oct 23,
|
|
859
|
+
2026\" and cannot be used. Suggested next models: gpt-5.6-luna. Please
|
|
860
|
+
test and update your agent configuration.") — and so is a switched-off
|
|
861
|
+
one with `ai_model_disabled`; a deprecated model saves. Never swap the
|
|
862
|
+
model on the user's behalf — relay the message and let them choose.
|
|
863
|
+
- |-
|
|
864
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
865
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
866
|
+
its lifecycle row.
|
|
828
867
|
reasoning:
|
|
829
868
|
type: object
|
|
830
869
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -1092,10 +1131,19 @@ components:
|
|
|
1092
1131
|
x-celigo-ai-guidance:
|
|
1093
1132
|
- |-
|
|
1094
1133
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
1095
|
-
import), the model must be
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
with 422 `
|
|
1134
|
+
import), the model must be a catalog row the platform offers for the
|
|
1135
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
1136
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
1137
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
1138
|
+
`guardrail.aiAgent.litellm.model`, a retired one with `ai_model_retired`
|
|
1139
|
+
(the message names the retirement date and, when any remain eligible, the
|
|
1140
|
+
suggested next models), a switched-off one with `ai_model_disabled`; a
|
|
1141
|
+
deprecated model saves. Never
|
|
1142
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
1143
|
+
- |-
|
|
1144
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
1145
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
1146
|
+
its lifecycle row.
|
|
1099
1147
|
temperature:
|
|
1100
1148
|
type: number
|
|
1101
1149
|
minimum: 0
|
package/dist/import.yml
CHANGED
|
@@ -9348,8 +9348,30 @@ components:
|
|
|
9348
9348
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
9349
9349
|
credentials. Without one, built-in providers run on platform-managed
|
|
9350
9350
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
9351
|
-
save requires one — without it the agent fails to save with 422
|
|
9352
|
-
`
|
|
9351
|
+
save requires one — without it the agent fails to save with 422 on
|
|
9352
|
+
`aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
9353
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
9354
|
+
catalog check answers before any `connection_required`).
|
|
9355
|
+
|
|
9356
|
+
**Model lifecycle.** Every model the platform offers — built-in and catalog
|
|
9357
|
+
providers alike — carries a lifecycle in the platform's model catalog:
|
|
9358
|
+
`active`, `deprecated` (still usable; a retirement date and suggested
|
|
9359
|
+
replacement models may be published), or `retired`, plus an availability
|
|
9360
|
+
switch. The save and every run check the configured model against it: a
|
|
9361
|
+
model that is not in the catalog, switched off, not offered for the agent's
|
|
9362
|
+
credential type, or retired (by status, or once its retirement date has
|
|
9363
|
+
passed) is refused — the save with 422 `ai_model_not_in_catalog`,
|
|
9364
|
+
`ai_model_disabled`, `ai_model_not_available`, or `ai_model_retired` on the
|
|
9365
|
+
model field, the run with a `Run blocked:` error carrying the same code before
|
|
9366
|
+
any model call (`Run blocked: model "gpt-4.1-nano" is retired on "Oct 23,
|
|
9367
|
+
2026". Please choose a supported model and test your agent configuration.` —
|
|
9368
|
+
the run-time message names the date only; the chat route streams it as an
|
|
9369
|
+
`error` event). A deprecated model saves and runs until its retirement date. The
|
|
9370
|
+
platform never substitutes a model: once a model is retired, every save of
|
|
9371
|
+
the agent is refused until the model changes. Agents and guardrails on
|
|
9372
|
+
affected models are listed by `GET /v1/aiagents/aiModelHealth`. With a
|
|
9373
|
+
`_connectionId`, a model the catalog does not list is passed through to the
|
|
9374
|
+
vendor as-is; a catalog-listed model remains governed.
|
|
9353
9375
|
required:
|
|
9354
9376
|
- provider
|
|
9355
9377
|
properties:
|
|
@@ -9386,11 +9408,13 @@ components:
|
|
|
9386
9408
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
9387
9409
|
never an `openai` or `litellm` block.
|
|
9388
9410
|
- |-
|
|
9389
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
9390
|
-
the agent fails to save with 422
|
|
9391
|
-
|
|
9392
|
-
|
|
9393
|
-
|
|
9411
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
9412
|
+
catalog: without a `_connectionId` the agent fails to save with 422
|
|
9413
|
+
`ai_model_not_available` on `aiAgent.model` ("Model \"grok-4.6\" is not
|
|
9414
|
+
supported. Please choose a supported model and test your agent
|
|
9415
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
9416
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
9417
|
+
(token auth) before saving a catalog-provider agent.
|
|
9394
9418
|
model:
|
|
9395
9419
|
type: string
|
|
9396
9420
|
description: |-
|
|
@@ -9402,11 +9426,15 @@ components:
|
|
|
9402
9426
|
Required for every catalog provider — omitting it or sending an empty string
|
|
9403
9427
|
fails the save with 422 `missing_required_field`.
|
|
9404
9428
|
- |-
|
|
9405
|
-
|
|
9406
|
-
|
|
9407
|
-
`
|
|
9408
|
-
|
|
9409
|
-
|
|
9429
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
9430
|
+
a catalog-provider agent fails to save with 422 on `aiAgent.model` —
|
|
9431
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
9432
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
9433
|
+
the catalog does not list.
|
|
9434
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
9435
|
+
the server does not check it against the catalog or the vendor; a
|
|
9436
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
9437
|
+
schema description — a retired or switched-off model is refused on save).
|
|
9410
9438
|
modelOptions:
|
|
9411
9439
|
type: object
|
|
9412
9440
|
description: |-
|
|
@@ -9607,11 +9635,23 @@ components:
|
|
|
9607
9635
|
x-celigo-ai-guidance:
|
|
9608
9636
|
- |-
|
|
9609
9637
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
9610
|
-
import), the model must be
|
|
9611
|
-
|
|
9612
|
-
with 422 `
|
|
9613
|
-
|
|
9614
|
-
|
|
9638
|
+
import), the model must be a catalog row the platform offers on its own
|
|
9639
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
9640
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.openai.model`
|
|
9641
|
+
("Model \"gpt-4\" is not supported. Please choose a supported model and
|
|
9642
|
+
test your agent configuration."), and a dry-run answers the same
|
|
9643
|
+
`errors` with `valid: false`. A retired model is refused the same way with
|
|
9644
|
+
`ai_model_retired` — the message names the retirement date and, when any
|
|
9645
|
+
remain eligible, the suggested next models ("Model \"gpt-4.1-nano\" is
|
|
9646
|
+
retired on \"Oct 23, 2026\" and cannot be used. Suggested next models:
|
|
9647
|
+
gpt-5.6-luna. Please test and update your agent configuration.") — and so
|
|
9648
|
+
is a switched-off one with `ai_model_disabled`; a deprecated model saves.
|
|
9649
|
+
Never swap the model on the user's behalf — relay the message and let
|
|
9650
|
+
them choose.
|
|
9651
|
+
- |-
|
|
9652
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
9653
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
9654
|
+
its lifecycle row.
|
|
9615
9655
|
reasoning:
|
|
9616
9656
|
type: object
|
|
9617
9657
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -10040,10 +10080,18 @@ components:
|
|
|
10040
10080
|
x-celigo-ai-guidance:
|
|
10041
10081
|
- |-
|
|
10042
10082
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
10043
|
-
import), the model must be
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
with 422 `
|
|
10083
|
+
import), the model must be a catalog row the platform offers for the
|
|
10084
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
10085
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
10086
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.litellm.model`, a
|
|
10087
|
+
retired one with `ai_model_retired` (the message names the retirement
|
|
10088
|
+
date and, when any remain eligible, the suggested next models), a
|
|
10089
|
+
switched-off one with `ai_model_disabled`; a deprecated model saves. Never
|
|
10090
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
10091
|
+
- |-
|
|
10092
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
10093
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
10094
|
+
its lifecycle row.
|
|
10047
10095
|
temperature:
|
|
10048
10096
|
type: number
|
|
10049
10097
|
minimum: 0
|
|
@@ -10783,8 +10831,30 @@ components:
|
|
|
10783
10831
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
10784
10832
|
credentials. Without one, built-in providers run on platform-managed
|
|
10785
10833
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
10786
|
-
save requires one — without it the guardrail fails to save with 422
|
|
10787
|
-
`
|
|
10834
|
+
save requires one — without it the guardrail fails to save with 422 on
|
|
10835
|
+
`guardrail.aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
10836
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
10837
|
+
catalog check answers before any `connection_required`).
|
|
10838
|
+
|
|
10839
|
+
**Model lifecycle.** Every model the platform offers carries a lifecycle in
|
|
10840
|
+
the platform's model catalog: `active`, `deprecated` (still usable; a
|
|
10841
|
+
retirement date and suggested replacement models may be published), or
|
|
10842
|
+
`retired`, plus an availability switch. The save and every run of an
|
|
10843
|
+
`ai_agent` guardrail check the configured model against it exactly as for an
|
|
10844
|
+
AI agent import: a model that is not in the catalog, switched off, not offered
|
|
10845
|
+
for the guardrail's credential type, or retired (by status, or once its
|
|
10846
|
+
retirement date has passed) is refused — the save with 422
|
|
10847
|
+
`ai_model_not_in_catalog`, `ai_model_disabled`, `ai_model_not_available`, or
|
|
10848
|
+
`ai_model_retired` on the model field, the run with a `Run blocked:` error
|
|
10849
|
+
carrying the same code before any model call (`Run blocked: model
|
|
10850
|
+
"gpt-4.1-nano" is retired on "Oct 23, 2026". Please choose a supported model
|
|
10851
|
+
and test your agent configuration.` — the run-time message names the date
|
|
10852
|
+
only). A deprecated model saves and runs until
|
|
10853
|
+
its retirement date. The platform never substitutes a model: once a model is
|
|
10854
|
+
retired, every save of the guardrail is refused until the model changes.
|
|
10855
|
+
Guardrails on affected models are listed by `GET /v1/aiagents/aiModelHealth`.
|
|
10856
|
+
With a `_connectionId`, a model the catalog does not list is passed through to
|
|
10857
|
+
the vendor as-is; a catalog-listed model remains governed.
|
|
10788
10858
|
x-celigo-ai-guidance:
|
|
10789
10859
|
- |-
|
|
10790
10860
|
Do not send `tools` on any block. A non-empty array at `tools`, `openai.tools`,
|
|
@@ -10827,11 +10897,13 @@ components:
|
|
|
10827
10897
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
10828
10898
|
never an `openai` or `litellm` block.
|
|
10829
10899
|
- |-
|
|
10830
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
10831
|
-
the guardrail fails to save with 422
|
|
10832
|
-
|
|
10833
|
-
|
|
10834
|
-
|
|
10900
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
10901
|
+
catalog: without a `_connectionId` the guardrail fails to save with 422
|
|
10902
|
+
`ai_model_not_available` on `guardrail.aiAgent.model` ("Model \"grok-4.6\" is
|
|
10903
|
+
not supported. Please choose a supported model and test your agent
|
|
10904
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
10905
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
10906
|
+
(token auth) before saving a catalog-provider guardrail.
|
|
10835
10907
|
model:
|
|
10836
10908
|
type: string
|
|
10837
10909
|
description: |-
|
|
@@ -10843,11 +10915,15 @@ components:
|
|
|
10843
10915
|
Required for every catalog provider — omitting it or sending an empty string
|
|
10844
10916
|
fails the save with 422 `missing_required_field`.
|
|
10845
10917
|
- |-
|
|
10846
|
-
|
|
10847
|
-
|
|
10848
|
-
`
|
|
10849
|
-
|
|
10850
|
-
|
|
10918
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
10919
|
+
a catalog-provider guardrail fails to save with 422 on `guardrail.aiAgent.model` —
|
|
10920
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
10921
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
10922
|
+
the catalog does not list.
|
|
10923
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
10924
|
+
the server does not check it against the catalog or the vendor; a
|
|
10925
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
10926
|
+
schema description — a retired or switched-off model is refused on save).
|
|
10851
10927
|
modelOptions:
|
|
10852
10928
|
type: object
|
|
10853
10929
|
description: |-
|
|
@@ -10993,11 +11069,22 @@ components:
|
|
|
10993
11069
|
x-celigo-ai-guidance:
|
|
10994
11070
|
- |-
|
|
10995
11071
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
10996
|
-
import), the model must be
|
|
10997
|
-
|
|
10998
|
-
with 422 `
|
|
10999
|
-
|
|
11000
|
-
|
|
11072
|
+
import), the model must be a catalog row the platform offers on its own
|
|
11073
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
11074
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
11075
|
+
`guardrail.aiAgent.openai.model` ("Model \"gpt-4\" is not supported.
|
|
11076
|
+
Please choose a supported model and test your agent configuration."). A
|
|
11077
|
+
retired model is refused the same way with `ai_model_retired` — the
|
|
11078
|
+
message names the retirement date and, when any remain eligible, the
|
|
11079
|
+
suggested next models ("Model \"gpt-4.1-nano\" is retired on \"Oct 23,
|
|
11080
|
+
2026\" and cannot be used. Suggested next models: gpt-5.6-luna. Please
|
|
11081
|
+
test and update your agent configuration.") — and so is a switched-off
|
|
11082
|
+
one with `ai_model_disabled`; a deprecated model saves. Never swap the
|
|
11083
|
+
model on the user's behalf — relay the message and let them choose.
|
|
11084
|
+
- |-
|
|
11085
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
11086
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
11087
|
+
its lifecycle row.
|
|
11001
11088
|
reasoning:
|
|
11002
11089
|
type: object
|
|
11003
11090
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -11265,10 +11352,19 @@ components:
|
|
|
11265
11352
|
x-celigo-ai-guidance:
|
|
11266
11353
|
- |-
|
|
11267
11354
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
11268
|
-
import), the model must be
|
|
11269
|
-
|
|
11270
|
-
|
|
11271
|
-
with 422 `
|
|
11355
|
+
import), the model must be a catalog row the platform offers for the
|
|
11356
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
11357
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
11358
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
11359
|
+
`guardrail.aiAgent.litellm.model`, a retired one with `ai_model_retired`
|
|
11360
|
+
(the message names the retirement date and, when any remain eligible, the
|
|
11361
|
+
suggested next models), a switched-off one with `ai_model_disabled`; a
|
|
11362
|
+
deprecated model saves. Never
|
|
11363
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
11364
|
+
- |-
|
|
11365
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
11366
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
11367
|
+
its lifecycle row.
|
|
11272
11368
|
temperature:
|
|
11273
11369
|
type: number
|
|
11274
11370
|
minimum: 0
|
package/dist/tool.yml
CHANGED
|
@@ -20950,8 +20950,30 @@ components:
|
|
|
20950
20950
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
20951
20951
|
credentials. Without one, built-in providers run on platform-managed
|
|
20952
20952
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
20953
|
-
save requires one — without it the agent fails to save with 422
|
|
20954
|
-
`
|
|
20953
|
+
save requires one — without it the agent fails to save with 422 on
|
|
20954
|
+
`aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
20955
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
20956
|
+
catalog check answers before any `connection_required`).
|
|
20957
|
+
|
|
20958
|
+
**Model lifecycle.** Every model the platform offers — built-in and catalog
|
|
20959
|
+
providers alike — carries a lifecycle in the platform's model catalog:
|
|
20960
|
+
`active`, `deprecated` (still usable; a retirement date and suggested
|
|
20961
|
+
replacement models may be published), or `retired`, plus an availability
|
|
20962
|
+
switch. The save and every run check the configured model against it: a
|
|
20963
|
+
model that is not in the catalog, switched off, not offered for the agent's
|
|
20964
|
+
credential type, or retired (by status, or once its retirement date has
|
|
20965
|
+
passed) is refused — the save with 422 `ai_model_not_in_catalog`,
|
|
20966
|
+
`ai_model_disabled`, `ai_model_not_available`, or `ai_model_retired` on the
|
|
20967
|
+
model field, the run with a `Run blocked:` error carrying the same code before
|
|
20968
|
+
any model call (`Run blocked: model "gpt-4.1-nano" is retired on "Oct 23,
|
|
20969
|
+
2026". Please choose a supported model and test your agent configuration.` —
|
|
20970
|
+
the run-time message names the date only; the chat route streams it as an
|
|
20971
|
+
`error` event). A deprecated model saves and runs until its retirement date. The
|
|
20972
|
+
platform never substitutes a model: once a model is retired, every save of
|
|
20973
|
+
the agent is refused until the model changes. Agents and guardrails on
|
|
20974
|
+
affected models are listed by `GET /v1/aiagents/aiModelHealth`. With a
|
|
20975
|
+
`_connectionId`, a model the catalog does not list is passed through to the
|
|
20976
|
+
vendor as-is; a catalog-listed model remains governed.
|
|
20955
20977
|
required:
|
|
20956
20978
|
- provider
|
|
20957
20979
|
properties:
|
|
@@ -20988,11 +21010,13 @@ components:
|
|
|
20988
21010
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
20989
21011
|
never an `openai` or `litellm` block.
|
|
20990
21012
|
- |-
|
|
20991
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
20992
|
-
the agent fails to save with 422
|
|
20993
|
-
|
|
20994
|
-
|
|
20995
|
-
|
|
21013
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
21014
|
+
catalog: without a `_connectionId` the agent fails to save with 422
|
|
21015
|
+
`ai_model_not_available` on `aiAgent.model` ("Model \"grok-4.6\" is not
|
|
21016
|
+
supported. Please choose a supported model and test your agent
|
|
21017
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
21018
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
21019
|
+
(token auth) before saving a catalog-provider agent.
|
|
20996
21020
|
model:
|
|
20997
21021
|
type: string
|
|
20998
21022
|
description: |-
|
|
@@ -21004,11 +21028,15 @@ components:
|
|
|
21004
21028
|
Required for every catalog provider — omitting it or sending an empty string
|
|
21005
21029
|
fails the save with 422 `missing_required_field`.
|
|
21006
21030
|
- |-
|
|
21007
|
-
|
|
21008
|
-
|
|
21009
|
-
`
|
|
21010
|
-
|
|
21011
|
-
|
|
21031
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
21032
|
+
a catalog-provider agent fails to save with 422 on `aiAgent.model` —
|
|
21033
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
21034
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
21035
|
+
the catalog does not list.
|
|
21036
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
21037
|
+
the server does not check it against the catalog or the vendor; a
|
|
21038
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
21039
|
+
schema description — a retired or switched-off model is refused on save).
|
|
21012
21040
|
modelOptions:
|
|
21013
21041
|
type: object
|
|
21014
21042
|
description: |-
|
|
@@ -21209,11 +21237,23 @@ components:
|
|
|
21209
21237
|
x-celigo-ai-guidance:
|
|
21210
21238
|
- |-
|
|
21211
21239
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
21212
|
-
import), the model must be
|
|
21213
|
-
|
|
21214
|
-
with 422 `
|
|
21215
|
-
|
|
21216
|
-
|
|
21240
|
+
import), the model must be a catalog row the platform offers on its own
|
|
21241
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
21242
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.openai.model`
|
|
21243
|
+
("Model \"gpt-4\" is not supported. Please choose a supported model and
|
|
21244
|
+
test your agent configuration."), and a dry-run answers the same
|
|
21245
|
+
`errors` with `valid: false`. A retired model is refused the same way with
|
|
21246
|
+
`ai_model_retired` — the message names the retirement date and, when any
|
|
21247
|
+
remain eligible, the suggested next models ("Model \"gpt-4.1-nano\" is
|
|
21248
|
+
retired on \"Oct 23, 2026\" and cannot be used. Suggested next models:
|
|
21249
|
+
gpt-5.6-luna. Please test and update your agent configuration.") — and so
|
|
21250
|
+
is a switched-off one with `ai_model_disabled`; a deprecated model saves.
|
|
21251
|
+
Never swap the model on the user's behalf — relay the message and let
|
|
21252
|
+
them choose.
|
|
21253
|
+
- |-
|
|
21254
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
21255
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
21256
|
+
its lifecycle row.
|
|
21217
21257
|
reasoning:
|
|
21218
21258
|
type: object
|
|
21219
21259
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -21642,10 +21682,18 @@ components:
|
|
|
21642
21682
|
x-celigo-ai-guidance:
|
|
21643
21683
|
- |-
|
|
21644
21684
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
21645
|
-
import), the model must be
|
|
21646
|
-
|
|
21647
|
-
|
|
21648
|
-
with 422 `
|
|
21685
|
+
import), the model must be a catalog row the platform offers for the
|
|
21686
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
21687
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
21688
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.litellm.model`, a
|
|
21689
|
+
retired one with `ai_model_retired` (the message names the retirement
|
|
21690
|
+
date and, when any remain eligible, the suggested next models), a
|
|
21691
|
+
switched-off one with `ai_model_disabled`; a deprecated model saves. Never
|
|
21692
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
21693
|
+
- |-
|
|
21694
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
21695
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
21696
|
+
its lifecycle row.
|
|
21649
21697
|
temperature:
|
|
21650
21698
|
type: number
|
|
21651
21699
|
minimum: 0
|
|
@@ -22385,8 +22433,30 @@ components:
|
|
|
22385
22433
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
22386
22434
|
credentials. Without one, built-in providers run on platform-managed
|
|
22387
22435
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
22388
|
-
save requires one — without it the guardrail fails to save with 422
|
|
22389
|
-
`
|
|
22436
|
+
save requires one — without it the guardrail fails to save with 422 on
|
|
22437
|
+
`guardrail.aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
22438
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
22439
|
+
catalog check answers before any `connection_required`).
|
|
22440
|
+
|
|
22441
|
+
**Model lifecycle.** Every model the platform offers carries a lifecycle in
|
|
22442
|
+
the platform's model catalog: `active`, `deprecated` (still usable; a
|
|
22443
|
+
retirement date and suggested replacement models may be published), or
|
|
22444
|
+
`retired`, plus an availability switch. The save and every run of an
|
|
22445
|
+
`ai_agent` guardrail check the configured model against it exactly as for an
|
|
22446
|
+
AI agent import: a model that is not in the catalog, switched off, not offered
|
|
22447
|
+
for the guardrail's credential type, or retired (by status, or once its
|
|
22448
|
+
retirement date has passed) is refused — the save with 422
|
|
22449
|
+
`ai_model_not_in_catalog`, `ai_model_disabled`, `ai_model_not_available`, or
|
|
22450
|
+
`ai_model_retired` on the model field, the run with a `Run blocked:` error
|
|
22451
|
+
carrying the same code before any model call (`Run blocked: model
|
|
22452
|
+
"gpt-4.1-nano" is retired on "Oct 23, 2026". Please choose a supported model
|
|
22453
|
+
and test your agent configuration.` — the run-time message names the date
|
|
22454
|
+
only). A deprecated model saves and runs until
|
|
22455
|
+
its retirement date. The platform never substitutes a model: once a model is
|
|
22456
|
+
retired, every save of the guardrail is refused until the model changes.
|
|
22457
|
+
Guardrails on affected models are listed by `GET /v1/aiagents/aiModelHealth`.
|
|
22458
|
+
With a `_connectionId`, a model the catalog does not list is passed through to
|
|
22459
|
+
the vendor as-is; a catalog-listed model remains governed.
|
|
22390
22460
|
x-celigo-ai-guidance:
|
|
22391
22461
|
- |-
|
|
22392
22462
|
Do not send `tools` on any block. A non-empty array at `tools`, `openai.tools`,
|
|
@@ -22429,11 +22499,13 @@ components:
|
|
|
22429
22499
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
22430
22500
|
never an `openai` or `litellm` block.
|
|
22431
22501
|
- |-
|
|
22432
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
22433
|
-
the guardrail fails to save with 422
|
|
22434
|
-
|
|
22435
|
-
|
|
22436
|
-
|
|
22502
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
22503
|
+
catalog: without a `_connectionId` the guardrail fails to save with 422
|
|
22504
|
+
`ai_model_not_available` on `guardrail.aiAgent.model` ("Model \"grok-4.6\" is
|
|
22505
|
+
not supported. Please choose a supported model and test your agent
|
|
22506
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
22507
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
22508
|
+
(token auth) before saving a catalog-provider guardrail.
|
|
22437
22509
|
model:
|
|
22438
22510
|
type: string
|
|
22439
22511
|
description: |-
|
|
@@ -22445,11 +22517,15 @@ components:
|
|
|
22445
22517
|
Required for every catalog provider — omitting it or sending an empty string
|
|
22446
22518
|
fails the save with 422 `missing_required_field`.
|
|
22447
22519
|
- |-
|
|
22448
|
-
|
|
22449
|
-
|
|
22450
|
-
`
|
|
22451
|
-
|
|
22452
|
-
|
|
22520
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
22521
|
+
a catalog-provider guardrail fails to save with 422 on `guardrail.aiAgent.model` —
|
|
22522
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
22523
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
22524
|
+
the catalog does not list.
|
|
22525
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
22526
|
+
the server does not check it against the catalog or the vendor; a
|
|
22527
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
22528
|
+
schema description — a retired or switched-off model is refused on save).
|
|
22453
22529
|
modelOptions:
|
|
22454
22530
|
type: object
|
|
22455
22531
|
description: |-
|
|
@@ -22595,11 +22671,22 @@ components:
|
|
|
22595
22671
|
x-celigo-ai-guidance:
|
|
22596
22672
|
- |-
|
|
22597
22673
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
22598
|
-
import), the model must be
|
|
22599
|
-
|
|
22600
|
-
with 422 `
|
|
22601
|
-
|
|
22602
|
-
|
|
22674
|
+
import), the model must be a catalog row the platform offers on its own
|
|
22675
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
22676
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
22677
|
+
`guardrail.aiAgent.openai.model` ("Model \"gpt-4\" is not supported.
|
|
22678
|
+
Please choose a supported model and test your agent configuration."). A
|
|
22679
|
+
retired model is refused the same way with `ai_model_retired` — the
|
|
22680
|
+
message names the retirement date and, when any remain eligible, the
|
|
22681
|
+
suggested next models ("Model \"gpt-4.1-nano\" is retired on \"Oct 23,
|
|
22682
|
+
2026\" and cannot be used. Suggested next models: gpt-5.6-luna. Please
|
|
22683
|
+
test and update your agent configuration.") — and so is a switched-off
|
|
22684
|
+
one with `ai_model_disabled`; a deprecated model saves. Never swap the
|
|
22685
|
+
model on the user's behalf — relay the message and let them choose.
|
|
22686
|
+
- |-
|
|
22687
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
22688
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
22689
|
+
its lifecycle row.
|
|
22603
22690
|
reasoning:
|
|
22604
22691
|
type: object
|
|
22605
22692
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -22867,10 +22954,19 @@ components:
|
|
|
22867
22954
|
x-celigo-ai-guidance:
|
|
22868
22955
|
- |-
|
|
22869
22956
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
22870
|
-
import), the model must be
|
|
22871
|
-
|
|
22872
|
-
|
|
22873
|
-
with 422 `
|
|
22957
|
+
import), the model must be a catalog row the platform offers for the
|
|
22958
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
22959
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
22960
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
22961
|
+
`guardrail.aiAgent.litellm.model`, a retired one with `ai_model_retired`
|
|
22962
|
+
(the message names the retirement date and, when any remain eligible, the
|
|
22963
|
+
suggested next models), a switched-off one with `ai_model_disabled`; a
|
|
22964
|
+
deprecated model saves. Never
|
|
22965
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
22966
|
+
- |-
|
|
22967
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
22968
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
22969
|
+
its lifecycle row.
|
|
22874
22970
|
temperature:
|
|
22875
22971
|
type: number
|
|
22876
22972
|
minimum: 0
|
package/package.json
CHANGED