@celigo/api-specs 0.2.182 → 0.2.184
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 +177 -43
- package/dist/tool.yml +177 -43
- 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
|
@@ -4454,7 +4454,11 @@ components:
|
|
|
4454
4454
|
description: When true, the value is a NetSuite internal ID reference.
|
|
4455
4455
|
isKey:
|
|
4456
4456
|
type: boolean
|
|
4457
|
-
description:
|
|
4457
|
+
description: |-
|
|
4458
|
+
When true, this field is a key for matching the record's existing sublist lines: a
|
|
4459
|
+
mapped line updates the one existing line whose key fields hold the same values. `lists`
|
|
4460
|
+
says which records match lines, the keys used when no field sets `isKey`, and what a
|
|
4461
|
+
line that matches no line, or several, does.
|
|
4458
4462
|
immutable:
|
|
4459
4463
|
type: boolean
|
|
4460
4464
|
description: When true, this field is only set on record creation, not on updates.
|
|
@@ -4630,6 +4634,40 @@ components:
|
|
|
4630
4634
|
description: Field mappings for each column in the sublist.
|
|
4631
4635
|
description: |
|
|
4632
4636
|
Sublist (line-item) mappings. Each entry maps source data to a NetSuite sublist.
|
|
4637
|
+
|
|
4638
|
+
Each mapped line updates the one existing line whose key fields hold the same values: its
|
|
4639
|
+
`isKey` fields, or, with none, the sublist's default key. The existing lines are the stored
|
|
4640
|
+
record's on an update, and on a transform (`Created From`: the body field
|
|
4641
|
+
`celigo_nlobjTransformId` holds the source transaction's internal id) the lines the transform
|
|
4642
|
+
fills in. Default keys:
|
|
4643
|
+
|
|
4644
|
+
- the item (`item`, else `itemkey` or `itemname`) on item fulfillments, item receipts,
|
|
4645
|
+
invoices, cash sales, cash refunds, return authorizations, bin worksheets, inbound shipment
|
|
4646
|
+
receipts and inventory counts, and on an assembly build's `component` sublist;
|
|
4647
|
+
- the applied transaction (`refnum`) on the `apply`, `credit` and `deposit` sublists of
|
|
4648
|
+
customer and vendor payments, credit memos, vendor credits and customer refunds;
|
|
4649
|
+
- `docnumber` on a deposit's `payment` sublist;
|
|
4650
|
+
- `vendor` and `language` on an item record's `itemvendor` and `translations` sublists.
|
|
4651
|
+
|
|
4652
|
+
A sublist with neither, such as a sales order's or purchase order's `item`, matches nothing, so
|
|
4653
|
+
an update adds every mapped line after the existing ones. Two matching lines fail the record
|
|
4654
|
+
with `MULTIPLE_LINES_WITH_SAME_KEYS` ("Multiple lines found with keys item=<value> ..."). A
|
|
4655
|
+
line that matches none is added as a new line, which an item fulfillment's `item` sublist
|
|
4656
|
+
refuses with `SSS_INVALID_SUBLIST_OPERATION`: its lines are its order's.
|
|
4657
|
+
x-celigo-ai-guidance:
|
|
4658
|
+
- |-
|
|
4659
|
+
To make an update replace a sublist's lines, also map the body field
|
|
4660
|
+
`celigo_replaceAllLines_<sublist id>` (for example `celigo_replaceAllLines_item`) to `true`:
|
|
4661
|
+
the existing lines no mapped line matched are removed, then the mapped lines are written. Where
|
|
4662
|
+
lines can't be removed it clears them instead: `itemreceive` false on an item fulfillment or
|
|
4663
|
+
item receipt, `apply` false on an `apply` sublist. On a sublist with no `isKey` field and no
|
|
4664
|
+
default key every existing line is unmatched, so all are replaced; with a default key, the lines
|
|
4665
|
+
it matches stay.
|
|
4666
|
+
- |-
|
|
4667
|
+
Key an update on a value each line holds once: a line id the record's create wrote to a line
|
|
4668
|
+
field, or, on a fulfillment, the order line's id mapped to `orderline`. Keying on the item fails
|
|
4669
|
+
with `MULTIPLE_LINES_WITH_SAME_KEYS` when an order holds the same item on two lines, and records
|
|
4670
|
+
that already hold repeated lines fail the same way once a key is set.
|
|
4633
4671
|
x-celigo-agent:
|
|
4634
4672
|
- mapping
|
|
4635
4673
|
lookups:
|
|
@@ -9348,8 +9386,30 @@ components:
|
|
|
9348
9386
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
9349
9387
|
credentials. Without one, built-in providers run on platform-managed
|
|
9350
9388
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
9351
|
-
save requires one — without it the agent fails to save with 422
|
|
9352
|
-
`
|
|
9389
|
+
save requires one — without it the agent fails to save with 422 on
|
|
9390
|
+
`aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
9391
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
9392
|
+
catalog check answers before any `connection_required`).
|
|
9393
|
+
|
|
9394
|
+
**Model lifecycle.** Every model the platform offers — built-in and catalog
|
|
9395
|
+
providers alike — carries a lifecycle in the platform's model catalog:
|
|
9396
|
+
`active`, `deprecated` (still usable; a retirement date and suggested
|
|
9397
|
+
replacement models may be published), or `retired`, plus an availability
|
|
9398
|
+
switch. The save and every run check the configured model against it: a
|
|
9399
|
+
model that is not in the catalog, switched off, not offered for the agent's
|
|
9400
|
+
credential type, or retired (by status, or once its retirement date has
|
|
9401
|
+
passed) is refused — the save with 422 `ai_model_not_in_catalog`,
|
|
9402
|
+
`ai_model_disabled`, `ai_model_not_available`, or `ai_model_retired` on the
|
|
9403
|
+
model field, the run with a `Run blocked:` error carrying the same code before
|
|
9404
|
+
any model call (`Run blocked: model "gpt-4.1-nano" is retired on "Oct 23,
|
|
9405
|
+
2026". Please choose a supported model and test your agent configuration.` —
|
|
9406
|
+
the run-time message names the date only; the chat route streams it as an
|
|
9407
|
+
`error` event). A deprecated model saves and runs until its retirement date. The
|
|
9408
|
+
platform never substitutes a model: once a model is retired, every save of
|
|
9409
|
+
the agent is refused until the model changes. Agents and guardrails on
|
|
9410
|
+
affected models are listed by `GET /v1/aiagents/aiModelHealth`. With a
|
|
9411
|
+
`_connectionId`, a model the catalog does not list is passed through to the
|
|
9412
|
+
vendor as-is; a catalog-listed model remains governed.
|
|
9353
9413
|
required:
|
|
9354
9414
|
- provider
|
|
9355
9415
|
properties:
|
|
@@ -9386,11 +9446,13 @@ components:
|
|
|
9386
9446
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
9387
9447
|
never an `openai` or `litellm` block.
|
|
9388
9448
|
- |-
|
|
9389
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
9390
|
-
the agent fails to save with 422
|
|
9391
|
-
|
|
9392
|
-
|
|
9393
|
-
|
|
9449
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
9450
|
+
catalog: without a `_connectionId` the agent fails to save with 422
|
|
9451
|
+
`ai_model_not_available` on `aiAgent.model` ("Model \"grok-4.6\" is not
|
|
9452
|
+
supported. Please choose a supported model and test your agent
|
|
9453
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
9454
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
9455
|
+
(token auth) before saving a catalog-provider agent.
|
|
9394
9456
|
model:
|
|
9395
9457
|
type: string
|
|
9396
9458
|
description: |-
|
|
@@ -9402,11 +9464,15 @@ components:
|
|
|
9402
9464
|
Required for every catalog provider — omitting it or sending an empty string
|
|
9403
9465
|
fails the save with 422 `missing_required_field`.
|
|
9404
9466
|
- |-
|
|
9405
|
-
|
|
9406
|
-
|
|
9407
|
-
`
|
|
9408
|
-
|
|
9409
|
-
|
|
9467
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
9468
|
+
a catalog-provider agent fails to save with 422 on `aiAgent.model` —
|
|
9469
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
9470
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
9471
|
+
the catalog does not list.
|
|
9472
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
9473
|
+
the server does not check it against the catalog or the vendor; a
|
|
9474
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
9475
|
+
schema description — a retired or switched-off model is refused on save).
|
|
9410
9476
|
modelOptions:
|
|
9411
9477
|
type: object
|
|
9412
9478
|
description: |-
|
|
@@ -9607,11 +9673,23 @@ components:
|
|
|
9607
9673
|
x-celigo-ai-guidance:
|
|
9608
9674
|
- |-
|
|
9609
9675
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
9610
|
-
import), the model must be
|
|
9611
|
-
|
|
9612
|
-
with 422 `
|
|
9613
|
-
|
|
9614
|
-
|
|
9676
|
+
import), the model must be a catalog row the platform offers on its own
|
|
9677
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
9678
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.openai.model`
|
|
9679
|
+
("Model \"gpt-4\" is not supported. Please choose a supported model and
|
|
9680
|
+
test your agent configuration."), and a dry-run answers the same
|
|
9681
|
+
`errors` with `valid: false`. A retired model is refused the same way with
|
|
9682
|
+
`ai_model_retired` — the message names the retirement date and, when any
|
|
9683
|
+
remain eligible, the suggested next models ("Model \"gpt-4.1-nano\" is
|
|
9684
|
+
retired on \"Oct 23, 2026\" and cannot be used. Suggested next models:
|
|
9685
|
+
gpt-5.6-luna. Please test and update your agent configuration.") — and so
|
|
9686
|
+
is a switched-off one with `ai_model_disabled`; a deprecated model saves.
|
|
9687
|
+
Never swap the model on the user's behalf — relay the message and let
|
|
9688
|
+
them choose.
|
|
9689
|
+
- |-
|
|
9690
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
9691
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
9692
|
+
its lifecycle row.
|
|
9615
9693
|
reasoning:
|
|
9616
9694
|
type: object
|
|
9617
9695
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -10040,10 +10118,18 @@ components:
|
|
|
10040
10118
|
x-celigo-ai-guidance:
|
|
10041
10119
|
- |-
|
|
10042
10120
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
10043
|
-
import), the model must be
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
with 422 `
|
|
10121
|
+
import), the model must be a catalog row the platform offers for the
|
|
10122
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
10123
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
10124
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.litellm.model`, a
|
|
10125
|
+
retired one with `ai_model_retired` (the message names the retirement
|
|
10126
|
+
date and, when any remain eligible, the suggested next models), a
|
|
10127
|
+
switched-off one with `ai_model_disabled`; a deprecated model saves. Never
|
|
10128
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
10129
|
+
- |-
|
|
10130
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
10131
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
10132
|
+
its lifecycle row.
|
|
10047
10133
|
temperature:
|
|
10048
10134
|
type: number
|
|
10049
10135
|
minimum: 0
|
|
@@ -10783,8 +10869,30 @@ components:
|
|
|
10783
10869
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
10784
10870
|
credentials. Without one, built-in providers run on platform-managed
|
|
10785
10871
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
10786
|
-
save requires one — without it the guardrail fails to save with 422
|
|
10787
|
-
`
|
|
10872
|
+
save requires one — without it the guardrail fails to save with 422 on
|
|
10873
|
+
`guardrail.aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
10874
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
10875
|
+
catalog check answers before any `connection_required`).
|
|
10876
|
+
|
|
10877
|
+
**Model lifecycle.** Every model the platform offers carries a lifecycle in
|
|
10878
|
+
the platform's model catalog: `active`, `deprecated` (still usable; a
|
|
10879
|
+
retirement date and suggested replacement models may be published), or
|
|
10880
|
+
`retired`, plus an availability switch. The save and every run of an
|
|
10881
|
+
`ai_agent` guardrail check the configured model against it exactly as for an
|
|
10882
|
+
AI agent import: a model that is not in the catalog, switched off, not offered
|
|
10883
|
+
for the guardrail's credential type, or retired (by status, or once its
|
|
10884
|
+
retirement date has passed) is refused — the save with 422
|
|
10885
|
+
`ai_model_not_in_catalog`, `ai_model_disabled`, `ai_model_not_available`, or
|
|
10886
|
+
`ai_model_retired` on the model field, the run with a `Run blocked:` error
|
|
10887
|
+
carrying the same code before any model call (`Run blocked: model
|
|
10888
|
+
"gpt-4.1-nano" is retired on "Oct 23, 2026". Please choose a supported model
|
|
10889
|
+
and test your agent configuration.` — the run-time message names the date
|
|
10890
|
+
only). A deprecated model saves and runs until
|
|
10891
|
+
its retirement date. The platform never substitutes a model: once a model is
|
|
10892
|
+
retired, every save of the guardrail is refused until the model changes.
|
|
10893
|
+
Guardrails on affected models are listed by `GET /v1/aiagents/aiModelHealth`.
|
|
10894
|
+
With a `_connectionId`, a model the catalog does not list is passed through to
|
|
10895
|
+
the vendor as-is; a catalog-listed model remains governed.
|
|
10788
10896
|
x-celigo-ai-guidance:
|
|
10789
10897
|
- |-
|
|
10790
10898
|
Do not send `tools` on any block. A non-empty array at `tools`, `openai.tools`,
|
|
@@ -10827,11 +10935,13 @@ components:
|
|
|
10827
10935
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
10828
10936
|
never an `openai` or `litellm` block.
|
|
10829
10937
|
- |-
|
|
10830
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
10831
|
-
the guardrail fails to save with 422
|
|
10832
|
-
|
|
10833
|
-
|
|
10834
|
-
|
|
10938
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
10939
|
+
catalog: without a `_connectionId` the guardrail fails to save with 422
|
|
10940
|
+
`ai_model_not_available` on `guardrail.aiAgent.model` ("Model \"grok-4.6\" is
|
|
10941
|
+
not supported. Please choose a supported model and test your agent
|
|
10942
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
10943
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
10944
|
+
(token auth) before saving a catalog-provider guardrail.
|
|
10835
10945
|
model:
|
|
10836
10946
|
type: string
|
|
10837
10947
|
description: |-
|
|
@@ -10843,11 +10953,15 @@ components:
|
|
|
10843
10953
|
Required for every catalog provider — omitting it or sending an empty string
|
|
10844
10954
|
fails the save with 422 `missing_required_field`.
|
|
10845
10955
|
- |-
|
|
10846
|
-
|
|
10847
|
-
|
|
10848
|
-
`
|
|
10849
|
-
|
|
10850
|
-
|
|
10956
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
10957
|
+
a catalog-provider guardrail fails to save with 422 on `guardrail.aiAgent.model` —
|
|
10958
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
10959
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
10960
|
+
the catalog does not list.
|
|
10961
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
10962
|
+
the server does not check it against the catalog or the vendor; a
|
|
10963
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
10964
|
+
schema description — a retired or switched-off model is refused on save).
|
|
10851
10965
|
modelOptions:
|
|
10852
10966
|
type: object
|
|
10853
10967
|
description: |-
|
|
@@ -10993,11 +11107,22 @@ components:
|
|
|
10993
11107
|
x-celigo-ai-guidance:
|
|
10994
11108
|
- |-
|
|
10995
11109
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
10996
|
-
import), the model must be
|
|
10997
|
-
|
|
10998
|
-
with 422 `
|
|
10999
|
-
|
|
11000
|
-
|
|
11110
|
+
import), the model must be a catalog row the platform offers on its own
|
|
11111
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
11112
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
11113
|
+
`guardrail.aiAgent.openai.model` ("Model \"gpt-4\" is not supported.
|
|
11114
|
+
Please choose a supported model and test your agent configuration."). A
|
|
11115
|
+
retired model is refused the same way with `ai_model_retired` — the
|
|
11116
|
+
message names the retirement date and, when any remain eligible, the
|
|
11117
|
+
suggested next models ("Model \"gpt-4.1-nano\" is retired on \"Oct 23,
|
|
11118
|
+
2026\" and cannot be used. Suggested next models: gpt-5.6-luna. Please
|
|
11119
|
+
test and update your agent configuration.") — and so is a switched-off
|
|
11120
|
+
one with `ai_model_disabled`; a deprecated model saves. Never swap the
|
|
11121
|
+
model on the user's behalf — relay the message and let them choose.
|
|
11122
|
+
- |-
|
|
11123
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
11124
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
11125
|
+
its lifecycle row.
|
|
11001
11126
|
reasoning:
|
|
11002
11127
|
type: object
|
|
11003
11128
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -11265,10 +11390,19 @@ components:
|
|
|
11265
11390
|
x-celigo-ai-guidance:
|
|
11266
11391
|
- |-
|
|
11267
11392
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
11268
|
-
import), the model must be
|
|
11269
|
-
|
|
11270
|
-
|
|
11271
|
-
with 422 `
|
|
11393
|
+
import), the model must be a catalog row the platform offers for the
|
|
11394
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
11395
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
11396
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
11397
|
+
`guardrail.aiAgent.litellm.model`, a retired one with `ai_model_retired`
|
|
11398
|
+
(the message names the retirement date and, when any remain eligible, the
|
|
11399
|
+
suggested next models), a switched-off one with `ai_model_disabled`; a
|
|
11400
|
+
deprecated model saves. Never
|
|
11401
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
11402
|
+
- |-
|
|
11403
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
11404
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
11405
|
+
its lifecycle row.
|
|
11272
11406
|
temperature:
|
|
11273
11407
|
type: number
|
|
11274
11408
|
minimum: 0
|
package/dist/tool.yml
CHANGED
|
@@ -16335,7 +16335,11 @@ components:
|
|
|
16335
16335
|
description: When true, the value is a NetSuite internal ID reference.
|
|
16336
16336
|
isKey:
|
|
16337
16337
|
type: boolean
|
|
16338
|
-
description:
|
|
16338
|
+
description: |-
|
|
16339
|
+
When true, this field is a key for matching the record's existing sublist lines: a
|
|
16340
|
+
mapped line updates the one existing line whose key fields hold the same values. `lists`
|
|
16341
|
+
says which records match lines, the keys used when no field sets `isKey`, and what a
|
|
16342
|
+
line that matches no line, or several, does.
|
|
16339
16343
|
immutable:
|
|
16340
16344
|
type: boolean
|
|
16341
16345
|
description: When true, this field is only set on record creation, not on updates.
|
|
@@ -16511,6 +16515,40 @@ components:
|
|
|
16511
16515
|
description: Field mappings for each column in the sublist.
|
|
16512
16516
|
description: |
|
|
16513
16517
|
Sublist (line-item) mappings. Each entry maps source data to a NetSuite sublist.
|
|
16518
|
+
|
|
16519
|
+
Each mapped line updates the one existing line whose key fields hold the same values: its
|
|
16520
|
+
`isKey` fields, or, with none, the sublist's default key. The existing lines are the stored
|
|
16521
|
+
record's on an update, and on a transform (`Created From`: the body field
|
|
16522
|
+
`celigo_nlobjTransformId` holds the source transaction's internal id) the lines the transform
|
|
16523
|
+
fills in. Default keys:
|
|
16524
|
+
|
|
16525
|
+
- the item (`item`, else `itemkey` or `itemname`) on item fulfillments, item receipts,
|
|
16526
|
+
invoices, cash sales, cash refunds, return authorizations, bin worksheets, inbound shipment
|
|
16527
|
+
receipts and inventory counts, and on an assembly build's `component` sublist;
|
|
16528
|
+
- the applied transaction (`refnum`) on the `apply`, `credit` and `deposit` sublists of
|
|
16529
|
+
customer and vendor payments, credit memos, vendor credits and customer refunds;
|
|
16530
|
+
- `docnumber` on a deposit's `payment` sublist;
|
|
16531
|
+
- `vendor` and `language` on an item record's `itemvendor` and `translations` sublists.
|
|
16532
|
+
|
|
16533
|
+
A sublist with neither, such as a sales order's or purchase order's `item`, matches nothing, so
|
|
16534
|
+
an update adds every mapped line after the existing ones. Two matching lines fail the record
|
|
16535
|
+
with `MULTIPLE_LINES_WITH_SAME_KEYS` ("Multiple lines found with keys item=<value> ..."). A
|
|
16536
|
+
line that matches none is added as a new line, which an item fulfillment's `item` sublist
|
|
16537
|
+
refuses with `SSS_INVALID_SUBLIST_OPERATION`: its lines are its order's.
|
|
16538
|
+
x-celigo-ai-guidance:
|
|
16539
|
+
- |-
|
|
16540
|
+
To make an update replace a sublist's lines, also map the body field
|
|
16541
|
+
`celigo_replaceAllLines_<sublist id>` (for example `celigo_replaceAllLines_item`) to `true`:
|
|
16542
|
+
the existing lines no mapped line matched are removed, then the mapped lines are written. Where
|
|
16543
|
+
lines can't be removed it clears them instead: `itemreceive` false on an item fulfillment or
|
|
16544
|
+
item receipt, `apply` false on an `apply` sublist. On a sublist with no `isKey` field and no
|
|
16545
|
+
default key every existing line is unmatched, so all are replaced; with a default key, the lines
|
|
16546
|
+
it matches stay.
|
|
16547
|
+
- |-
|
|
16548
|
+
Key an update on a value each line holds once: a line id the record's create wrote to a line
|
|
16549
|
+
field, or, on a fulfillment, the order line's id mapped to `orderline`. Keying on the item fails
|
|
16550
|
+
with `MULTIPLE_LINES_WITH_SAME_KEYS` when an order holds the same item on two lines, and records
|
|
16551
|
+
that already hold repeated lines fail the same way once a key is set.
|
|
16514
16552
|
x-celigo-agent:
|
|
16515
16553
|
- mapping
|
|
16516
16554
|
lookups:
|
|
@@ -20950,8 +20988,30 @@ components:
|
|
|
20950
20988
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
20951
20989
|
credentials. Without one, built-in providers run on platform-managed
|
|
20952
20990
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
20953
|
-
save requires one — without it the agent fails to save with 422
|
|
20954
|
-
`
|
|
20991
|
+
save requires one — without it the agent fails to save with 422 on
|
|
20992
|
+
`aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
20993
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
20994
|
+
catalog check answers before any `connection_required`).
|
|
20995
|
+
|
|
20996
|
+
**Model lifecycle.** Every model the platform offers — built-in and catalog
|
|
20997
|
+
providers alike — carries a lifecycle in the platform's model catalog:
|
|
20998
|
+
`active`, `deprecated` (still usable; a retirement date and suggested
|
|
20999
|
+
replacement models may be published), or `retired`, plus an availability
|
|
21000
|
+
switch. The save and every run check the configured model against it: a
|
|
21001
|
+
model that is not in the catalog, switched off, not offered for the agent's
|
|
21002
|
+
credential type, or retired (by status, or once its retirement date has
|
|
21003
|
+
passed) is refused — the save with 422 `ai_model_not_in_catalog`,
|
|
21004
|
+
`ai_model_disabled`, `ai_model_not_available`, or `ai_model_retired` on the
|
|
21005
|
+
model field, the run with a `Run blocked:` error carrying the same code before
|
|
21006
|
+
any model call (`Run blocked: model "gpt-4.1-nano" is retired on "Oct 23,
|
|
21007
|
+
2026". Please choose a supported model and test your agent configuration.` —
|
|
21008
|
+
the run-time message names the date only; the chat route streams it as an
|
|
21009
|
+
`error` event). A deprecated model saves and runs until its retirement date. The
|
|
21010
|
+
platform never substitutes a model: once a model is retired, every save of
|
|
21011
|
+
the agent is refused until the model changes. Agents and guardrails on
|
|
21012
|
+
affected models are listed by `GET /v1/aiagents/aiModelHealth`. With a
|
|
21013
|
+
`_connectionId`, a model the catalog does not list is passed through to the
|
|
21014
|
+
vendor as-is; a catalog-listed model remains governed.
|
|
20955
21015
|
required:
|
|
20956
21016
|
- provider
|
|
20957
21017
|
properties:
|
|
@@ -20988,11 +21048,13 @@ components:
|
|
|
20988
21048
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
20989
21049
|
never an `openai` or `litellm` block.
|
|
20990
21050
|
- |-
|
|
20991
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
20992
|
-
the agent fails to save with 422
|
|
20993
|
-
|
|
20994
|
-
|
|
20995
|
-
|
|
21051
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
21052
|
+
catalog: without a `_connectionId` the agent fails to save with 422
|
|
21053
|
+
`ai_model_not_available` on `aiAgent.model` ("Model \"grok-4.6\" is not
|
|
21054
|
+
supported. Please choose a supported model and test your agent
|
|
21055
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
21056
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
21057
|
+
(token auth) before saving a catalog-provider agent.
|
|
20996
21058
|
model:
|
|
20997
21059
|
type: string
|
|
20998
21060
|
description: |-
|
|
@@ -21004,11 +21066,15 @@ components:
|
|
|
21004
21066
|
Required for every catalog provider — omitting it or sending an empty string
|
|
21005
21067
|
fails the save with 422 `missing_required_field`.
|
|
21006
21068
|
- |-
|
|
21007
|
-
|
|
21008
|
-
|
|
21009
|
-
`
|
|
21010
|
-
|
|
21011
|
-
|
|
21069
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
21070
|
+
a catalog-provider agent fails to save with 422 on `aiAgent.model` —
|
|
21071
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
21072
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
21073
|
+
the catalog does not list.
|
|
21074
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
21075
|
+
the server does not check it against the catalog or the vendor; a
|
|
21076
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
21077
|
+
schema description — a retired or switched-off model is refused on save).
|
|
21012
21078
|
modelOptions:
|
|
21013
21079
|
type: object
|
|
21014
21080
|
description: |-
|
|
@@ -21209,11 +21275,23 @@ components:
|
|
|
21209
21275
|
x-celigo-ai-guidance:
|
|
21210
21276
|
- |-
|
|
21211
21277
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
21212
|
-
import), the model must be
|
|
21213
|
-
|
|
21214
|
-
with 422 `
|
|
21215
|
-
|
|
21216
|
-
|
|
21278
|
+
import), the model must be a catalog row the platform offers on its own
|
|
21279
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
21280
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.openai.model`
|
|
21281
|
+
("Model \"gpt-4\" is not supported. Please choose a supported model and
|
|
21282
|
+
test your agent configuration."), and a dry-run answers the same
|
|
21283
|
+
`errors` with `valid: false`. A retired model is refused the same way with
|
|
21284
|
+
`ai_model_retired` — the message names the retirement date and, when any
|
|
21285
|
+
remain eligible, the suggested next models ("Model \"gpt-4.1-nano\" is
|
|
21286
|
+
retired on \"Oct 23, 2026\" and cannot be used. Suggested next models:
|
|
21287
|
+
gpt-5.6-luna. Please test and update your agent configuration.") — and so
|
|
21288
|
+
is a switched-off one with `ai_model_disabled`; a deprecated model saves.
|
|
21289
|
+
Never swap the model on the user's behalf — relay the message and let
|
|
21290
|
+
them choose.
|
|
21291
|
+
- |-
|
|
21292
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
21293
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
21294
|
+
its lifecycle row.
|
|
21217
21295
|
reasoning:
|
|
21218
21296
|
type: object
|
|
21219
21297
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -21642,10 +21720,18 @@ components:
|
|
|
21642
21720
|
x-celigo-ai-guidance:
|
|
21643
21721
|
- |-
|
|
21644
21722
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
21645
|
-
import), the model must be
|
|
21646
|
-
|
|
21647
|
-
|
|
21648
|
-
with 422 `
|
|
21723
|
+
import), the model must be a catalog row the platform offers for the
|
|
21724
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
21725
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
21726
|
+
fails with 422 `ai_model_not_in_catalog` on `aiAgent.litellm.model`, a
|
|
21727
|
+
retired one with `ai_model_retired` (the message names the retirement
|
|
21728
|
+
date and, when any remain eligible, the suggested next models), a
|
|
21729
|
+
switched-off one with `ai_model_disabled`; a deprecated model saves. Never
|
|
21730
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
21731
|
+
- |-
|
|
21732
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
21733
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
21734
|
+
its lifecycle row.
|
|
21649
21735
|
temperature:
|
|
21650
21736
|
type: number
|
|
21651
21737
|
minimum: 0
|
|
@@ -22385,8 +22471,30 @@ components:
|
|
|
22385
22471
|
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
22386
22472
|
credentials. Without one, built-in providers run on platform-managed
|
|
22387
22473
|
credentials; catalog providers have no platform-managed credentials, so the
|
|
22388
|
-
save requires one — without it the guardrail fails to save with 422
|
|
22389
|
-
`
|
|
22474
|
+
save requires one — without it the guardrail fails to save with 422 on
|
|
22475
|
+
`guardrail.aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
22476
|
+
`ai_model_not_in_catalog` for one the catalog does not list (the model
|
|
22477
|
+
catalog check answers before any `connection_required`).
|
|
22478
|
+
|
|
22479
|
+
**Model lifecycle.** Every model the platform offers carries a lifecycle in
|
|
22480
|
+
the platform's model catalog: `active`, `deprecated` (still usable; a
|
|
22481
|
+
retirement date and suggested replacement models may be published), or
|
|
22482
|
+
`retired`, plus an availability switch. The save and every run of an
|
|
22483
|
+
`ai_agent` guardrail check the configured model against it exactly as for an
|
|
22484
|
+
AI agent import: a model that is not in the catalog, switched off, not offered
|
|
22485
|
+
for the guardrail's credential type, or retired (by status, or once its
|
|
22486
|
+
retirement date has passed) is refused — the save with 422
|
|
22487
|
+
`ai_model_not_in_catalog`, `ai_model_disabled`, `ai_model_not_available`, or
|
|
22488
|
+
`ai_model_retired` on the model field, the run with a `Run blocked:` error
|
|
22489
|
+
carrying the same code before any model call (`Run blocked: model
|
|
22490
|
+
"gpt-4.1-nano" is retired on "Oct 23, 2026". Please choose a supported model
|
|
22491
|
+
and test your agent configuration.` — the run-time message names the date
|
|
22492
|
+
only). A deprecated model saves and runs until
|
|
22493
|
+
its retirement date. The platform never substitutes a model: once a model is
|
|
22494
|
+
retired, every save of the guardrail is refused until the model changes.
|
|
22495
|
+
Guardrails on affected models are listed by `GET /v1/aiagents/aiModelHealth`.
|
|
22496
|
+
With a `_connectionId`, a model the catalog does not list is passed through to
|
|
22497
|
+
the vendor as-is; a catalog-listed model remains governed.
|
|
22390
22498
|
x-celigo-ai-guidance:
|
|
22391
22499
|
- |-
|
|
22392
22500
|
Do not send `tools` on any block. A non-empty array at `tools`, `openai.tools`,
|
|
@@ -22429,11 +22537,13 @@ components:
|
|
|
22429
22537
|
generic flat format — `model` and `modelOptions` directly on this object,
|
|
22430
22538
|
never an `openai` or `litellm` block.
|
|
22431
22539
|
- |-
|
|
22432
|
-
Catalog providers are BYOK-only, and the save enforces it
|
|
22433
|
-
the guardrail fails to save with 422
|
|
22434
|
-
|
|
22435
|
-
|
|
22436
|
-
|
|
22540
|
+
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
22541
|
+
catalog: without a `_connectionId` the guardrail fails to save with 422
|
|
22542
|
+
`ai_model_not_available` on `guardrail.aiAgent.model` ("Model \"grok-4.6\" is
|
|
22543
|
+
not supported. Please choose a supported model and test your agent
|
|
22544
|
+
configuration.") — the model is a catalog row that is not offered on
|
|
22545
|
+
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
22546
|
+
(token auth) before saving a catalog-provider guardrail.
|
|
22437
22547
|
model:
|
|
22438
22548
|
type: string
|
|
22439
22549
|
description: |-
|
|
@@ -22445,11 +22555,15 @@ components:
|
|
|
22445
22555
|
Required for every catalog provider — omitting it or sending an empty string
|
|
22446
22556
|
fails the save with 422 `missing_required_field`.
|
|
22447
22557
|
- |-
|
|
22448
|
-
|
|
22449
|
-
|
|
22450
|
-
`
|
|
22451
|
-
|
|
22452
|
-
|
|
22558
|
+
Without a `_connectionId` on the parent import the model check answers first:
|
|
22559
|
+
a catalog-provider guardrail fails to save with 422 on `guardrail.aiAgent.model` —
|
|
22560
|
+
`ai_model_not_available` for a catalog-listed model (catalog providers are not
|
|
22561
|
+
offered on platform-managed credentials), `ai_model_not_in_catalog` for an id
|
|
22562
|
+
the catalog does not list.
|
|
22563
|
+
With a `_connectionId` (BYOK) a model the catalog does not list saves as-is —
|
|
22564
|
+
the server does not check it against the catalog or the vendor; a
|
|
22565
|
+
catalog-listed model is still governed by its lifecycle row (see the
|
|
22566
|
+
schema description — a retired or switched-off model is refused on save).
|
|
22453
22567
|
modelOptions:
|
|
22454
22568
|
type: object
|
|
22455
22569
|
description: |-
|
|
@@ -22595,11 +22709,22 @@ components:
|
|
|
22595
22709
|
x-celigo-ai-guidance:
|
|
22596
22710
|
- |-
|
|
22597
22711
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
22598
|
-
import), the model must be
|
|
22599
|
-
|
|
22600
|
-
with 422 `
|
|
22601
|
-
|
|
22602
|
-
|
|
22712
|
+
import), the model must be a catalog row the platform offers on its own
|
|
22713
|
+
credentials. The save checks this — a model that is not in the catalog
|
|
22714
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
22715
|
+
`guardrail.aiAgent.openai.model` ("Model \"gpt-4\" is not supported.
|
|
22716
|
+
Please choose a supported model and test your agent configuration."). A
|
|
22717
|
+
retired model is refused the same way with `ai_model_retired` — the
|
|
22718
|
+
message names the retirement date and, when any remain eligible, the
|
|
22719
|
+
suggested next models ("Model \"gpt-4.1-nano\" is retired on \"Oct 23,
|
|
22720
|
+
2026\" and cannot be used. Suggested next models: gpt-5.6-luna. Please
|
|
22721
|
+
test and update your agent configuration.") — and so is a switched-off
|
|
22722
|
+
one with `ai_model_disabled`; a deprecated model saves. Never swap the
|
|
22723
|
+
model on the user's behalf — relay the message and let them choose.
|
|
22724
|
+
- |-
|
|
22725
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
22726
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
22727
|
+
its lifecycle row.
|
|
22603
22728
|
reasoning:
|
|
22604
22729
|
type: object
|
|
22605
22730
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -22867,10 +22992,19 @@ components:
|
|
|
22867
22992
|
x-celigo-ai-guidance:
|
|
22868
22993
|
- |-
|
|
22869
22994
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
22870
|
-
import), the model must be
|
|
22871
|
-
|
|
22872
|
-
|
|
22873
|
-
with 422 `
|
|
22995
|
+
import), the model must be a catalog row the platform offers for the
|
|
22996
|
+
provider on its own credentials — Gemini and Anthropic Claude each have
|
|
22997
|
+
their own rows. The save checks this: a model that is not in the catalog
|
|
22998
|
+
fails with 422 `ai_model_not_in_catalog` on
|
|
22999
|
+
`guardrail.aiAgent.litellm.model`, a retired one with `ai_model_retired`
|
|
23000
|
+
(the message names the retirement date and, when any remain eligible, the
|
|
23001
|
+
suggested next models), a switched-off one with `ai_model_disabled`; a
|
|
23002
|
+
deprecated model saves. Never
|
|
23003
|
+
swap the model on the user's behalf — relay the message and let them choose.
|
|
23004
|
+
- |-
|
|
23005
|
+
With a `_connectionId` (BYOK) a model the catalog does not list is passed
|
|
23006
|
+
through to the provider as-is; a catalog-listed model is still governed by
|
|
23007
|
+
its lifecycle row.
|
|
22874
23008
|
temperature:
|
|
22875
23009
|
type: number
|
|
22876
23010
|
minimum: 0
|
package/package.json
CHANGED