@celigo/api-specs 0.2.215 → 0.2.217
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 +132 -37
- package/dist/export.yml +68 -40
- package/dist/guardrail.yml +55 -17
- package/dist/import.yml +163 -39
- package/dist/tool.yml +231 -79
- package/package.json +1 -1
- package/schemas.json +9 -2
package/dist/ai-agent.yml
CHANGED
|
@@ -23,9 +23,11 @@ tags:
|
|
|
23
23
|
|
|
24
24
|
Three built-in providers — OpenAI (via the Responses API), Google Gemini (via
|
|
25
25
|
LiteLLM), and Anthropic Claude (via LiteLLM) — run on platform-managed
|
|
26
|
-
credentials or, with a `_connectionId`, on your own key (BYOK).
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
credentials or, with a `_connectionId`, on your own key (BYOK). Every other
|
|
27
|
+
provider is a catalog provider — Mistral, xAI, Hugging Face, DeepSeek, Cohere, Groq,
|
|
28
|
+
Together AI, Azure OpenAI, Fireworks AI, AWS Bedrock, NVIDIA NIM, Ollama Cloud and
|
|
29
|
+
Google Vertex AI today, with new rows seeded without a platform release — and uses
|
|
30
|
+
one generic flat configuration format and always runs on a BYOK connection.
|
|
29
31
|
|
|
30
32
|
Every model carries a lifecycle in the platform's model catalog (`active`,
|
|
31
33
|
`deprecated`, `retired`, plus an availability switch). The save and every run
|
|
@@ -133,12 +135,16 @@ paths:
|
|
|
133
135
|
Creates a new AI agent import. The provider decides the configuration
|
|
134
136
|
format: `aiAgent.openai` for OpenAI, `aiAgent.litellm` for Gemini and
|
|
135
137
|
Anthropic Claude, or the generic flat format (`aiAgent.model`,
|
|
136
|
-
`aiAgent.modelOptions`, …) for
|
|
137
|
-
Hugging Face, DeepSeek, Cohere,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
`aiAgent.modelOptions`, …) for every other provider (the catalog
|
|
139
|
+
providers — Mistral, xAI, Hugging Face, DeepSeek, Cohere, Groq, Together
|
|
140
|
+
AI, Azure OpenAI, Fireworks AI, AWS Bedrock, NVIDIA NIM, Ollama Cloud and
|
|
141
|
+
Google Vertex AI today) — a block that does not match the provider is
|
|
142
|
+
rejected. For a built-in provider, omit `_connectionId` to use
|
|
143
|
+
platform-managed credentials or include it for BYOK; a catalog provider
|
|
144
|
+
needs a BYOK connection to save — without one the request fails with 422
|
|
145
|
+
on `aiAgent.model`: `ai_model_not_available` for a catalog-listed model,
|
|
146
|
+
`ai_model_not_in_catalog` for an id the catalog does not list (the model
|
|
147
|
+
catalog check answers before any `connection_required`).
|
|
142
148
|
operationId: createAiAgent
|
|
143
149
|
tags:
|
|
144
150
|
- AI Agents
|
|
@@ -1047,8 +1053,10 @@ components:
|
|
|
1047
1053
|
- **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
|
|
1048
1054
|
- **gemini**: Google Gemini models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.gemini`.
|
|
1049
1055
|
- **anthropic**: Anthropic Claude models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.anthropic`.
|
|
1050
|
-
- **Catalog providers** —
|
|
1051
|
-
|
|
1056
|
+
- **Catalog providers** — every other value of `provider` (Mistral, xAI, Hugging Face,
|
|
1057
|
+
DeepSeek, Cohere, Groq, Together AI, Azure OpenAI, Fireworks AI, AWS Bedrock, NVIDIA NIM,
|
|
1058
|
+
Ollama Cloud and Google Vertex AI today; the catalog grows without a platform release).
|
|
1059
|
+
Added as catalog data rather than platform code, they share one generic flat format:
|
|
1052
1060
|
`model`, `modelOptions`, `instructions`, `output`, and the `tools` / `prompts` /
|
|
1053
1061
|
`resources` arrays directly on this object.
|
|
1054
1062
|
|
|
@@ -1094,26 +1102,45 @@ components:
|
|
|
1094
1102
|
- deepseek
|
|
1095
1103
|
- cohere
|
|
1096
1104
|
- groq
|
|
1105
|
+
- together_ai
|
|
1106
|
+
- azure_ai
|
|
1107
|
+
- fireworks_ai
|
|
1108
|
+
- bedrock
|
|
1109
|
+
- nvidia_nim
|
|
1110
|
+
- ollama_chat
|
|
1111
|
+
- vertex_ai
|
|
1097
1112
|
x-enumDescriptions:
|
|
1098
|
-
openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block)
|
|
1099
|
-
gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block)
|
|
1100
|
-
anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block)
|
|
1101
|
-
mistral: Use Mistral models (catalog provider; generic flat format, BYOK)
|
|
1102
|
-
xai: Use xAI Grok models (catalog provider; generic flat format, BYOK)
|
|
1103
|
-
huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK)
|
|
1104
|
-
deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK)
|
|
1105
|
-
cohere: Use Cohere models (catalog provider; generic flat format, BYOK)
|
|
1106
|
-
groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK)
|
|
1107
|
-
|
|
1113
|
+
openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block; Celigo AI or BYOK)
|
|
1114
|
+
gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block; Celigo AI or BYOK)
|
|
1115
|
+
anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block; Celigo AI or BYOK)
|
|
1116
|
+
mistral: Use Mistral models (catalog provider; generic flat format, BYOK)
|
|
1117
|
+
xai: Use xAI Grok models (catalog provider; generic flat format, BYOK)
|
|
1118
|
+
huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK)
|
|
1119
|
+
deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK)
|
|
1120
|
+
cohere: Use Cohere models (catalog provider; generic flat format, BYOK)
|
|
1121
|
+
groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK)
|
|
1122
|
+
together_ai: Use models served by Together AI (catalog provider; generic flat format, BYOK)
|
|
1123
|
+
azure_ai: Use deployments on an Azure AI Foundry / Azure OpenAI resource — `model` is the deployment name (catalog provider; generic flat format, BYOK)
|
|
1124
|
+
fireworks_ai: Use models served by Fireworks AI (catalog provider; generic flat format, BYOK)
|
|
1125
|
+
bedrock: Use AWS Bedrock models through cross-region inference profile ids such as `global.anthropic.claude-sonnet-4-6` (catalog provider; generic flat format, BYOK)
|
|
1126
|
+
nvidia_nim: Use models served by NVIDIA NIM (catalog provider; generic flat format, BYOK)
|
|
1127
|
+
ollama_chat: Use models served by Ollama Cloud (catalog provider; generic flat format, BYOK)
|
|
1128
|
+
vertex_ai: Use Gemini models on Google Vertex AI with the customer's own GCP project (catalog provider; generic flat format, BYOK)
|
|
1129
|
+
description: |-
|
|
1130
|
+
AI provider to use. Built-in providers run on Celigo AI credentials or on a
|
|
1131
|
+
BYOK connection; every other provider is a catalog row that runs only on a BYOK
|
|
1132
|
+
connection. The catalog is data — a provider can be added without a platform
|
|
1133
|
+
release, and `GET /api/aiproviders` lists the rows currently offered.
|
|
1108
1134
|
x-celigo-ai-guidance:
|
|
1109
1135
|
- |-
|
|
1110
1136
|
The provider decides the configuration format, and the server rejects a
|
|
1111
1137
|
mismatch with 422 `invalid_provider_config_format`: `openai` needs the
|
|
1112
1138
|
`openai` block, `gemini` and `anthropic` need the `litellm` block (Gemini- or
|
|
1113
|
-
Claude-specific settings under `litellm._overrides`), and
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1139
|
+
Claude-specific settings under `litellm._overrides`), and every other
|
|
1140
|
+
provider (the catalog providers) needs the generic flat format — `model` and
|
|
1141
|
+
`modelOptions` directly on this object, never an `openai` or `litellm` block.
|
|
1142
|
+
Switching across that boundary replaces the whole configuration in the target
|
|
1143
|
+
format; nothing is translated field by field.
|
|
1117
1144
|
- |-
|
|
1118
1145
|
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
1119
1146
|
catalog: without a `_connectionId` the agent fails to save with 422
|
|
@@ -1122,6 +1149,18 @@ components:
|
|
|
1122
1149
|
configuration.") — the model is a catalog row that is not offered on
|
|
1123
1150
|
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
1124
1151
|
(token auth) before saving a catalog-provider agent.
|
|
1152
|
+
- |-
|
|
1153
|
+
Without a connection, a provider the catalog does not list is refused at the
|
|
1154
|
+
model check — 422 `ai_model_not_in_catalog` on `aiAgent.model` — so the
|
|
1155
|
+
message names the model, not the provider. Check the provider against the
|
|
1156
|
+
catalog before blaming the model.
|
|
1157
|
+
- |-
|
|
1158
|
+
For `azure_ai` and `bedrock` the vendor-specific settings ride the BYOK
|
|
1159
|
+
connection, not this object: an optional connection `baseURI` (the vendor
|
|
1160
|
+
endpoint the connector asks for), and connection settings forwarded to the
|
|
1161
|
+
vendor — Azure's `apiVersion`, Bedrock's `awsRegionName`. `bedrock`
|
|
1162
|
+
authenticates with a Bedrock API key (no IAM role); for `azure_ai`, `model` is
|
|
1163
|
+
the deployment name.
|
|
1125
1164
|
model:
|
|
1126
1165
|
type: string
|
|
1127
1166
|
description: |-
|
|
@@ -1594,13 +1633,27 @@ components:
|
|
|
1594
1633
|
web_search: Search the web for real-time information.
|
|
1595
1634
|
mcp: Connect to an MCP server for additional external tools.
|
|
1596
1635
|
image_generation: Generate images using an AI image model.
|
|
1597
|
-
code_execution: '
|
|
1636
|
+
code_execution: 'Let the model write and run code in OpenAI''s sandbox on a BYOK agent; carries no configuration block, send `{type: code_execution}` only'
|
|
1598
1637
|
tool: Reference a reusable Celigo Tool resource.
|
|
1599
1638
|
description: |-
|
|
1600
1639
|
Type of tool. Every type except `code_execution` is configured through the
|
|
1601
1640
|
sibling object of the same name; OpenAI spells this one `code_execution`, while
|
|
1602
1641
|
the Gemini and Anthropic overrides spell theirs `codeExecution` — the other spelling
|
|
1603
|
-
fails with 422 `enum`.
|
|
1642
|
+
fails with 422 `enum`. Code execution runs only on a BYOK agent and only on
|
|
1643
|
+
models that support it: the code runs in OpenAI's sandbox with no outbound
|
|
1644
|
+
network access, the session lasts one hour, and each execution is billed as an
|
|
1645
|
+
AI Action to the connection's OpenAI account rather than as Celigo AI credits.
|
|
1646
|
+
x-celigo-ai-guidance:
|
|
1647
|
+
- |-
|
|
1648
|
+
Add `code_execution` only when the agent has a `_connectionId`. The save does
|
|
1649
|
+
not check the credential type, but every run and preview of an agent on
|
|
1650
|
+
Celigo-managed credentials is refused with `Code Execution requires a BYOK
|
|
1651
|
+
connection.` — switch the agent to a BYOK connection or leave the tool out.
|
|
1652
|
+
- |-
|
|
1653
|
+
Send the tool as `{type: code_execution}` with no other key — a sandbox or
|
|
1654
|
+
options object on it is rejected. Check that the chosen model supports code
|
|
1655
|
+
execution before adding it; the platform does not verify that at save and
|
|
1656
|
+
the UI hides the tool for models that lack it.
|
|
1604
1657
|
webSearch:
|
|
1605
1658
|
type: object
|
|
1606
1659
|
description: Web search configuration (empty object to enable)
|
|
@@ -1954,12 +2007,28 @@ components:
|
|
|
1954
2007
|
googleSearch: Use Google Search for real-time information grounding.
|
|
1955
2008
|
urlContext: Retrieve and use content from specified URLs.
|
|
1956
2009
|
fileSearch: Search through previously uploaded files.
|
|
1957
|
-
codeExecution: '
|
|
2010
|
+
codeExecution: 'Let the model write and run code in Gemini''s sandbox on a BYOK agent; carries no configuration block, send `{type: codeExecution}` only'
|
|
1958
2011
|
mcp: Connect to an MCP server for additional external tools.
|
|
1959
2012
|
tool: Reference a reusable Celigo Tool resource.
|
|
1960
2013
|
description: |-
|
|
1961
2014
|
Type of Gemini tool. `codeExecution` is the Gemini spelling — `code_execution`
|
|
1962
|
-
fails with 422 `enum`.
|
|
2015
|
+
fails with 422 `enum`. Code execution runs only on a BYOK agent and only on
|
|
2016
|
+
models that support it (not on `gemini-2.5-flash-image`): the code runs in
|
|
2017
|
+
Gemini's sandbox with no outbound network access for up to 30 seconds per
|
|
2018
|
+
execution and at most 5 executions per API call (the limit resets each turn),
|
|
2019
|
+
and each execution is billed as an AI Action to the connection's Google
|
|
2020
|
+
account rather than as Celigo AI credits.
|
|
2021
|
+
x-celigo-ai-guidance:
|
|
2022
|
+
- |-
|
|
2023
|
+
Add `codeExecution` only when the agent has a `_connectionId`. The save does
|
|
2024
|
+
not check the credential type, but every run and preview of an agent on
|
|
2025
|
+
Celigo-managed credentials is refused with `Code Execution requires a BYOK
|
|
2026
|
+
connection.` — switch the agent to a BYOK connection or leave the tool out.
|
|
2027
|
+
- |-
|
|
2028
|
+
Send the tool as `{type: codeExecution}` with no other key — any other key on
|
|
2029
|
+
it is rejected. Check that the chosen model supports code execution before
|
|
2030
|
+
adding it; the platform does not verify that at save and the UI hides the
|
|
2031
|
+
tool for models that lack it.
|
|
1963
2032
|
googleSearch:
|
|
1964
2033
|
type: object
|
|
1965
2034
|
description: Google Search configuration (empty object to enable)
|
|
@@ -2291,10 +2360,26 @@ components:
|
|
|
2291
2360
|
tool: Reference a reusable Celigo Tool resource.
|
|
2292
2361
|
mcp: Connect to an MCP server for additional external tools.
|
|
2293
2362
|
webSearch: Search the web for real-time information.
|
|
2294
|
-
codeExecution: '
|
|
2363
|
+
codeExecution: 'Let the model write and run code in Anthropic''s sandbox on a BYOK agent (beta); carries no configuration block, send `{type: codeExecution}` only'
|
|
2295
2364
|
description: |-
|
|
2296
2365
|
Type of Claude tool. `codeExecution` is the Anthropic spelling — `code_execution`
|
|
2297
|
-
fails with 422 `enum`.
|
|
2366
|
+
fails with 422 `enum`. Code execution (beta on Anthropic) runs only on a BYOK
|
|
2367
|
+
agent and only on models that support it: the code runs per API call in
|
|
2368
|
+
Anthropic's sandbox (Python 3.11 with pandas, numpy and matplotlib) with no
|
|
2369
|
+
outbound network access and no state kept between turns, and each execution is
|
|
2370
|
+
billed as an AI Action to the connection's Anthropic account rather than as
|
|
2371
|
+
Celigo AI credits.
|
|
2372
|
+
x-celigo-ai-guidance:
|
|
2373
|
+
- |-
|
|
2374
|
+
Add `codeExecution` only when the agent has a `_connectionId`. The save does
|
|
2375
|
+
not check the credential type, but every run and preview of an agent on
|
|
2376
|
+
Celigo-managed credentials is refused with `Code Execution requires a BYOK
|
|
2377
|
+
connection.` — switch the agent to a BYOK connection or leave the tool out.
|
|
2378
|
+
- |-
|
|
2379
|
+
Send the tool as `{type: codeExecution}` with no other key — any other key on
|
|
2380
|
+
it is rejected. Check that the chosen model supports code execution before
|
|
2381
|
+
adding it; the platform does not verify that at save and the UI hides the
|
|
2382
|
+
tool for models that lack it.
|
|
2298
2383
|
tool:
|
|
2299
2384
|
type: object
|
|
2300
2385
|
description: Reference to a Celigo Tool resource, used when type is "tool".
|
|
@@ -2511,6 +2596,13 @@ components:
|
|
|
2511
2596
|
- deepseek
|
|
2512
2597
|
- cohere
|
|
2513
2598
|
- groq
|
|
2599
|
+
- together_ai
|
|
2600
|
+
- azure_ai
|
|
2601
|
+
- fireworks_ai
|
|
2602
|
+
- bedrock
|
|
2603
|
+
- nvidia_nim
|
|
2604
|
+
- ollama_chat
|
|
2605
|
+
- vertex_ai
|
|
2514
2606
|
required:
|
|
2515
2607
|
- provider
|
|
2516
2608
|
then:
|
|
@@ -6077,8 +6169,10 @@ components:
|
|
|
6077
6169
|
`aiAgent.provider` to choose the LLM backend, then configure the matching format:
|
|
6078
6170
|
`aiAgent.openai` for OpenAI, `aiAgent.litellm` for Gemini and Anthropic Claude
|
|
6079
6171
|
(with provider-specific settings under `aiAgent.litellm._overrides`), or the
|
|
6080
|
-
generic flat format (`aiAgent.model`, `aiAgent.modelOptions`, …) for
|
|
6081
|
-
providers Mistral, xAI, Hugging Face, DeepSeek, Cohere,
|
|
6172
|
+
generic flat format (`aiAgent.model`, `aiAgent.modelOptions`, …) for every other
|
|
6173
|
+
provider — the catalog providers (Mistral, xAI, Hugging Face, DeepSeek, Cohere, Groq,
|
|
6174
|
+
Together AI, Azure OpenAI, Fireworks AI, AWS Bedrock, NVIDIA NIM, Ollama Cloud and
|
|
6175
|
+
Google Vertex AI today; the catalog grows without a platform release).
|
|
6082
6176
|
properties:
|
|
6083
6177
|
name:
|
|
6084
6178
|
type: string
|
|
@@ -6100,10 +6194,11 @@ components:
|
|
|
6100
6194
|
description: |-
|
|
6101
6195
|
Connection for BYOK (bring your own key) — an HTTP connection to the vendor's API.
|
|
6102
6196
|
Optional for the built-in providers (`openai`, `gemini`, `anthropic`), which run on
|
|
6103
|
-
platform-managed credentials when it is omitted. Catalog providers (
|
|
6104
|
-
|
|
6105
|
-
|
|
6106
|
-
`
|
|
6197
|
+
platform-managed credentials when it is omitted. Catalog providers (every other value
|
|
6198
|
+
of `provider`) have no platform-managed credentials: the save requires it — without
|
|
6199
|
+
one the agent fails to save with 422 on `aiAgent.model` (`ai_model_not_available` for
|
|
6200
|
+
a catalog-listed model, `ai_model_not_in_catalog` for an id the catalog does not
|
|
6201
|
+
list; the model catalog check answers before any `connection_required`).
|
|
6107
6202
|
examples:
|
|
6108
6203
|
- 662aaa6576bf4040548dbbe4
|
|
6109
6204
|
_integrationId:
|
package/dist/export.yml
CHANGED
|
@@ -4763,9 +4763,10 @@ components:
|
|
|
4763
4763
|
json:
|
|
4764
4764
|
type: object
|
|
4765
4765
|
description: |-
|
|
4766
|
-
Parsing settings for JSON files. Configure when type is "json". resourcePath
|
|
4767
|
-
|
|
4768
|
-
the
|
|
4766
|
+
Parsing settings for JSON files. Configure when type is "json". resourcePath selects the
|
|
4767
|
+
record elements inside the document — the wildcard form (`*`, `rows[*]`) iterates an
|
|
4768
|
+
array, while a path that stops at the array (or an empty path on a root array) yields
|
|
4769
|
+
the whole array as one record; malformed JSON fails the entire file's processing.
|
|
4769
4770
|
|
|
4770
4771
|
Required when type is json.
|
|
4771
4772
|
x-celigo-ai-guidance:
|
|
@@ -4807,8 +4808,12 @@ components:
|
|
|
4807
4808
|
]
|
|
4808
4809
|
```
|
|
4809
4810
|
- Records are directly at the root as an array
|
|
4810
|
-
-
|
|
4811
|
-
-
|
|
4811
|
+
- Set resourcePath to `*` (or `[*]`) so each element becomes a record
|
|
4812
|
+
- An empty resourcePath returns the entire array as ONE record — a large file then
|
|
4813
|
+
fails with `record_size_exceeded` instead of being split. The export form appends
|
|
4814
|
+
the wildcard itself when the attached sample file is 10 MB or smaller (why a blank
|
|
4815
|
+
path often works in the UI — a larger sample gets no wildcard and the blank path
|
|
4816
|
+
stands); a document sent through the API carries exactly the path it names
|
|
4812
4817
|
|
|
4813
4818
|
### Container Object Pattern
|
|
4814
4819
|
```json
|
|
@@ -4824,7 +4829,8 @@ components:
|
|
|
4824
4829
|
}
|
|
4825
4830
|
```
|
|
4826
4831
|
- Records are in an array inside a container object
|
|
4827
|
-
- Requires resourcePath (e.g., "data")
|
|
4832
|
+
- Requires resourcePath with the element wildcard (e.g., "data[*]" or "data.*");
|
|
4833
|
+
"data" alone selects the array itself and yields it as one record
|
|
4828
4834
|
- Common in API responses with metadata
|
|
4829
4835
|
|
|
4830
4836
|
### Nested Container Pattern
|
|
@@ -4843,13 +4849,20 @@ components:
|
|
|
4843
4849
|
}
|
|
4844
4850
|
```
|
|
4845
4851
|
- Records are deeply nested in the hierarchy
|
|
4846
|
-
- Requires dot notation in
|
|
4852
|
+
- Requires dot notation ending in the element wildcard (e.g., "response.results[*]")
|
|
4847
4853
|
- Common in complex API responses
|
|
4848
4854
|
- |-
|
|
4849
4855
|
## ERROR PREVENTION
|
|
4850
4856
|
|
|
4851
4857
|
- **Invalid Path**: Incorrectly specified resourcePath results in zero records found
|
|
4852
|
-
- **
|
|
4858
|
+
- **Array as one record**: a path that stops at the array (or an empty path on a root
|
|
4859
|
+
array) yields the whole array as a single record; it fails `record_size_exceeded`
|
|
4860
|
+
("The size of a single record should not exceed 26214400 bytes. This may happen
|
|
4861
|
+
because the Resource path is not set correctly") once the file passes 25 MiB — the
|
|
4862
|
+
fix is the element wildcard (`*` / `path[*]`). A preSavePage hook cannot split the
|
|
4863
|
+
record instead: the rejection happens while the file is parsed, before any page of
|
|
4864
|
+
records exists for a hook to receive (an export with such a hook fails identically,
|
|
4865
|
+
with zero pages generated)
|
|
4853
4866
|
- **Empty Results**: If path resolves to null or non-existent field, no error is thrown but no records are processed
|
|
4854
4867
|
- **Parsing Failures**: Malformed JSON will cause the entire file processing to fail
|
|
4855
4868
|
- |-
|
|
@@ -4863,11 +4876,19 @@ components:
|
|
|
4863
4876
|
resourcePath:
|
|
4864
4877
|
type: string
|
|
4865
4878
|
description: |-
|
|
4866
|
-
Dot-notation path
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4879
|
+
Dot-notation path that selects the record elements within the JSON document, ending
|
|
4880
|
+
in the element wildcard — `*` when the file's root is the record array,
|
|
4881
|
+
`response.data.customers[*]` (or `.customers.*`) when the array sits under a key. A
|
|
4882
|
+
path that stops at the array — `response.data.customers`, or an empty path on a root
|
|
4883
|
+
array — yields the whole array as a single record, which fails `record_size_exceeded`
|
|
4884
|
+
once it exceeds 26,214,400 bytes. The export form appends the wildcard when the
|
|
4885
|
+
attached sample file is 10 MB or smaller, so a path left blank in the UI often works
|
|
4886
|
+
where the same document sent through the API — or a form with a larger sample — does
|
|
4887
|
+
not. Array indexing and `$`-rooted JSONPath (`$[*]`,
|
|
4888
|
+
`$.rows`) are not supported; a path that resolves to nothing produces zero records
|
|
4889
|
+
without raising an error. This is the file parser's path only — the path to records
|
|
4890
|
+
in an HTTP API response is the separate `http.response.resourcePath`, with its own
|
|
4891
|
+
rules (a bare dot path such as `results.customers` selects the record array there).
|
|
4871
4892
|
x-celigo-ai-guidance:
|
|
4872
4893
|
- |-
|
|
4873
4894
|
Specifies the path to the array of records within the JSON structure.
|
|
@@ -4876,18 +4897,18 @@ components:
|
|
|
4876
4897
|
- |-
|
|
4877
4898
|
## BEHAVIOR
|
|
4878
4899
|
|
|
4879
|
-
- **Purpose**:
|
|
4880
|
-
- **Format**: Dot notation
|
|
4881
|
-
- **When Empty**:
|
|
4882
|
-
- **Result**:
|
|
4900
|
+
- **Purpose**: Selects the elements that become records within the JSON structure
|
|
4901
|
+
- **Format**: Dot notation to navigate nested objects, ending in the element wildcard (e.g., "data.records[*]")
|
|
4902
|
+
- **When Empty**: The whole document is one record — a root object is that one record; a root array is NOT split (use `*` to split it)
|
|
4903
|
+
- **Result**: Each element the wildcard selects is processed as one record; a path that stops at the array yields the array as one record
|
|
4883
4904
|
- |-
|
|
4884
4905
|
## PATH NOTATION GUIDELINES
|
|
4885
4906
|
|
|
4886
4907
|
### Basic Path Patterns
|
|
4887
4908
|
|
|
4888
|
-
- **Root Level Array**:
|
|
4889
|
-
- **Single Level Nesting**:
|
|
4890
|
-
- **Multi-Level Nesting**:
|
|
4909
|
+
- **Root Level Array**: `*` (or `[*]`) when records are a direct array at root
|
|
4910
|
+
- **Single Level Nesting**: The property name plus the wildcard (e.g., "data[*]", "results[*]", "items.*")
|
|
4911
|
+
- **Multi-Level Nesting**: Dot notation plus the wildcard (e.g., "response.data.items[*]")
|
|
4891
4912
|
|
|
4892
4913
|
### Path Construction Rules
|
|
4893
4914
|
|
|
@@ -4896,13 +4917,14 @@ components:
|
|
|
4896
4917
|
- Each segment must be a valid property name in the JSON
|
|
4897
4918
|
|
|
4898
4919
|
2. **Target Requirements**:
|
|
4899
|
-
- The path
|
|
4900
|
-
-
|
|
4901
|
-
-
|
|
4920
|
+
- The parser yields whatever the path selects as the record(s): to get one record per array element, the path MUST end in the element wildcard (`[*]` or `.*`)
|
|
4921
|
+
- A path that stops at the array ("data") selects the array itself and yields ONE record holding every element
|
|
4922
|
+
- A path that selects a single object ("response", "response.data") yields that object as one record — the shape for a file that IS one record
|
|
4923
|
+
- The wildcard iterates whatever it is applied to: on an OBJECT (`*` on a root object, "response.*") it yields one record per member value, not the object — apply it to arrays
|
|
4902
4924
|
|
|
4903
4925
|
3. **Limitations**:
|
|
4904
4926
|
- Array indexing is not supported in the path (e.g., "data[0]")
|
|
4905
|
-
-
|
|
4927
|
+
- `$`-rooted JSONPath is not supported ("$[*]", "$.data[*]" match nothing and yield zero records)
|
|
4906
4928
|
- Regular expressions are not supported
|
|
4907
4929
|
- |-
|
|
4908
4930
|
## DETERMINATION STRATEGY FOR AI AGENTS
|
|
@@ -4918,20 +4940,21 @@ components:
|
|
|
4918
4940
|
|
|
4919
4941
|
| Source Type | Common Paths | Example |
|
|
4920
4942
|
|-------------|--------------|---------|
|
|
4921
|
-
|
|
|
4922
|
-
|
|
|
4923
|
-
|
|
|
4924
|
-
|
|
|
4925
|
-
|
|
|
4943
|
+
| Root array file | "*" | "*" |
|
|
4944
|
+
| REST APIs | "data[*]", "results[*]", "items[*]" | "data[*]" |
|
|
4945
|
+
| Complex APIs | "response.data[*]", "data.items[*]" | "response.data[*]" |
|
|
4946
|
+
| Database Exports | "rows[*]", "records[*]", "exports[*]" | "rows[*]" |
|
|
4947
|
+
| CRM Systems | "contacts[*]", "accounts[*]", "opportunities[*]" | "contacts[*]" |
|
|
4948
|
+
| Analytics APIs | "data.rows[*]", "response.data.rows[*]" | "data.rows[*]" |
|
|
4926
4949
|
|
|
4927
4950
|
3. **Verification Approach**:
|
|
4928
|
-
-
|
|
4929
|
-
- Each element
|
|
4951
|
+
- Preview the export: the parse stage must show one record per array element — a single record that is itself an array means the path stopped at the array
|
|
4952
|
+
- Each element should represent one complete record
|
|
4930
4953
|
- The array should not be a property array (like tags or categories)
|
|
4931
4954
|
- |-
|
|
4932
4955
|
## IMPLEMENTATION EXAMPLES
|
|
4933
4956
|
|
|
4934
|
-
### Root Array
|
|
4957
|
+
### Root Array
|
|
4935
4958
|
|
|
4936
4959
|
JSON Structure:
|
|
4937
4960
|
```json
|
|
@@ -4943,9 +4966,11 @@ components:
|
|
|
4943
4966
|
|
|
4944
4967
|
Configuration:
|
|
4945
4968
|
```json
|
|
4946
|
-
"resourcePath": ""
|
|
4969
|
+
"resourcePath": "*"
|
|
4947
4970
|
```
|
|
4948
4971
|
|
|
4972
|
+
An empty path (or omitting it) returns this array as ONE record rather than two.
|
|
4973
|
+
|
|
4949
4974
|
### Single-Level Nesting
|
|
4950
4975
|
|
|
4951
4976
|
JSON Structure:
|
|
@@ -4961,7 +4986,7 @@ components:
|
|
|
4961
4986
|
|
|
4962
4987
|
Configuration:
|
|
4963
4988
|
```json
|
|
4964
|
-
"resourcePath": "orders"
|
|
4989
|
+
"resourcePath": "orders[*]"
|
|
4965
4990
|
```
|
|
4966
4991
|
|
|
4967
4992
|
### Multi-Level Nesting
|
|
@@ -4983,7 +5008,7 @@ components:
|
|
|
4983
5008
|
|
|
4984
5009
|
Configuration:
|
|
4985
5010
|
```json
|
|
4986
|
-
"resourcePath": "response.data.customers"
|
|
5011
|
+
"resourcePath": "response.data.customers[*]"
|
|
4987
5012
|
```
|
|
4988
5013
|
- |-
|
|
4989
5014
|
## TROUBLESHOOTING INDICATORS
|
|
@@ -4991,6 +5016,8 @@ components:
|
|
|
4991
5016
|
If you encounter these issues, review the resourcePath setting:
|
|
4992
5017
|
|
|
4993
5018
|
- Export completes successfully but processes 0 records
|
|
5019
|
+
- `record_size_exceeded` — "The size of a single record should not exceed 26214400 bytes. This may happen because the Resource path is not set correctly": the path stopped at the array, so the whole file is one record; append the element wildcard (`*` for a root array, `path[*]` for a nested one) — a preSavePage hook cannot help: the record is rejected while the file is parsed, before any page exists for a hook to receive
|
|
5020
|
+
- A preview whose single record is itself an array of the expected objects (same cause, small file)
|
|
4994
5021
|
- "Cannot read property 'forEach' of undefined" errors
|
|
4995
5022
|
- "Expected array but got object/string/number" errors
|
|
4996
5023
|
- Records appear flattened or with unexpected structure
|
|
@@ -5002,10 +5029,11 @@ components:
|
|
|
5002
5029
|
- Document the expected JSON structure alongside the configuration
|
|
5003
5030
|
- For APIs with changing response structures, implement validation checks
|
|
5004
5031
|
examples:
|
|
5005
|
-
-
|
|
5006
|
-
-
|
|
5007
|
-
-
|
|
5008
|
-
-
|
|
5032
|
+
- '*'
|
|
5033
|
+
- data.orders[*]
|
|
5034
|
+
- response.results[*]
|
|
5035
|
+
- items[*]
|
|
5036
|
+
- data.customers.records.*
|
|
5009
5037
|
xlsx:
|
|
5010
5038
|
type: object
|
|
5011
5039
|
description: |-
|
|
@@ -9413,7 +9441,7 @@ components:
|
|
|
9413
9441
|
PathToRecords:
|
|
9414
9442
|
type: string
|
|
9415
9443
|
maxLength: 250
|
|
9416
|
-
description: Path to the array of records inside each document or item fetched from the source; each array element is emitted as an individual record, which keeps records within the 5 MB page-size limit even when the source document exceeds it. Accepts dot notation (e.g. `data.orders`) or JSONPath for values starting with `$`, including unions (`$['orders','invoices'][*]`) and filter expressions (`$.items[?(@.qty>3)]`); a path that resolves to nothing emits zero records for that document or item. When omitted, each document or item is emitted as one record, exactly as before
|
|
9444
|
+
description: Path to the array of records inside each document or item fetched from the source; each array element is emitted as an individual record, which keeps records within the 5 MB page-size limit even when the source document exceeds it. Accepts dot notation (e.g. `data.orders`) or JSONPath for values starting with `$`, including unions (`$['orders','invoices'][*]`) and filter expressions (`$.items[?(@.qty>3)]`); a path that resolves to nothing emits zero records for that document or item. When omitted, each document or item is emitted as one record, exactly as before. HTTP exports configure the same capability through `http.response.resourcePath` with these same path rules; file-based exports configure it through `file.json`/`file.xml` `resourcePath`, where the JSON file parser follows its own rule — the path yields whatever it selects as the record, so it must end in the element wildcard (`*` for a root array, `data.orders[*]` under a key) to emit one record per element, and `$`-rooted JSONPath is not supported there.
|
|
9417
9445
|
examples:
|
|
9418
9446
|
- lineItems
|
|
9419
9447
|
- order.lineItems
|
package/dist/guardrail.yml
CHANGED
|
@@ -602,8 +602,10 @@ components:
|
|
|
602
602
|
- **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
|
|
603
603
|
- **gemini**: Google Gemini models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.gemini`.
|
|
604
604
|
- **anthropic**: Anthropic Claude models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.anthropic`.
|
|
605
|
-
- **Catalog providers** —
|
|
606
|
-
|
|
605
|
+
- **Catalog providers** — every other value of `provider` (Mistral, xAI, Hugging Face,
|
|
606
|
+
DeepSeek, Cohere, Groq, Together AI, Azure OpenAI, Fireworks AI, AWS Bedrock, NVIDIA NIM,
|
|
607
|
+
Ollama Cloud and Google Vertex AI today; the catalog grows without a platform release).
|
|
608
|
+
Added as catalog data rather than platform code, they share one generic flat format:
|
|
607
609
|
`model`, `modelOptions`, `instructions`, `output`, and the `prompts` / `resources`
|
|
608
610
|
arrays directly on this object.
|
|
609
611
|
|
|
@@ -655,26 +657,43 @@ components:
|
|
|
655
657
|
- deepseek
|
|
656
658
|
- cohere
|
|
657
659
|
- groq
|
|
660
|
+
- together_ai
|
|
661
|
+
- azure_ai
|
|
662
|
+
- fireworks_ai
|
|
663
|
+
- bedrock
|
|
664
|
+
- nvidia_nim
|
|
665
|
+
- ollama_chat
|
|
666
|
+
- vertex_ai
|
|
658
667
|
x-enumDescriptions:
|
|
659
|
-
openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block)
|
|
660
|
-
gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block)
|
|
661
|
-
anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block)
|
|
662
|
-
mistral: Use Mistral models (catalog provider; generic flat format, BYOK)
|
|
663
|
-
xai: Use xAI Grok models (catalog provider; generic flat format, BYOK)
|
|
664
|
-
huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK)
|
|
665
|
-
deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK)
|
|
666
|
-
cohere: Use Cohere models (catalog provider; generic flat format, BYOK)
|
|
667
|
-
groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK)
|
|
668
|
-
|
|
668
|
+
openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block; Celigo AI or BYOK)
|
|
669
|
+
gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block; Celigo AI or BYOK)
|
|
670
|
+
anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block; Celigo AI or BYOK)
|
|
671
|
+
mistral: Use Mistral models (catalog provider; generic flat format, BYOK)
|
|
672
|
+
xai: Use xAI Grok models (catalog provider; generic flat format, BYOK)
|
|
673
|
+
huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK)
|
|
674
|
+
deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK)
|
|
675
|
+
cohere: Use Cohere models (catalog provider; generic flat format, BYOK)
|
|
676
|
+
groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK)
|
|
677
|
+
together_ai: Use models served by Together AI (catalog provider; generic flat format, BYOK)
|
|
678
|
+
azure_ai: Use deployments on an Azure AI Foundry / Azure OpenAI resource — `model` is the deployment name (catalog provider; generic flat format, BYOK)
|
|
679
|
+
fireworks_ai: Use models served by Fireworks AI (catalog provider; generic flat format, BYOK)
|
|
680
|
+
bedrock: Use AWS Bedrock models through cross-region inference profile ids such as `global.anthropic.claude-sonnet-4-6` (catalog provider; generic flat format, BYOK)
|
|
681
|
+
nvidia_nim: Use models served by NVIDIA NIM (catalog provider; generic flat format, BYOK)
|
|
682
|
+
ollama_chat: Use models served by Ollama Cloud (catalog provider; generic flat format, BYOK)
|
|
683
|
+
vertex_ai: Use Gemini models on Google Vertex AI with the customer's own GCP project (catalog provider; generic flat format, BYOK)
|
|
684
|
+
description: |-
|
|
685
|
+
AI provider to use. Built-in providers run on Celigo AI credentials or on a
|
|
686
|
+
BYOK connection; every other provider is a catalog row that runs only on a BYOK
|
|
687
|
+
connection. The catalog is data — a provider can be added without a platform
|
|
688
|
+
release, and `GET /api/aiproviders` lists the rows currently offered.
|
|
669
689
|
x-celigo-ai-guidance:
|
|
670
690
|
- |-
|
|
671
691
|
The provider decides the configuration format, and the server rejects a
|
|
672
692
|
mismatch with 422 `invalid_provider_config_format`: `openai` needs the
|
|
673
693
|
`openai` block, `gemini` and `anthropic` need the `litellm` block (Gemini- or
|
|
674
|
-
Claude-specific settings under `litellm._overrides`), and
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
never an `openai` or `litellm` block.
|
|
694
|
+
Claude-specific settings under `litellm._overrides`), and every other
|
|
695
|
+
provider (the catalog providers) needs the generic flat format — `model` and
|
|
696
|
+
`modelOptions` directly on this object, never an `openai` or `litellm` block.
|
|
678
697
|
- |-
|
|
679
698
|
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
680
699
|
catalog: without a `_connectionId` the guardrail fails to save with 422
|
|
@@ -683,6 +702,18 @@ components:
|
|
|
683
702
|
configuration.") — the model is a catalog row that is not offered on
|
|
684
703
|
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
685
704
|
(token auth) before saving a catalog-provider guardrail.
|
|
705
|
+
- |-
|
|
706
|
+
Without a connection, a provider the catalog does not list is refused at the
|
|
707
|
+
model check — 422 `ai_model_not_in_catalog` on `guardrail.aiAgent.model` — so the
|
|
708
|
+
message names the model, not the provider. Check the provider against the
|
|
709
|
+
catalog before blaming the model.
|
|
710
|
+
- |-
|
|
711
|
+
For `azure_ai` and `bedrock` the vendor-specific settings ride the BYOK
|
|
712
|
+
connection, not this object: an optional connection `baseURI` (the vendor
|
|
713
|
+
endpoint the connector asks for), and connection settings forwarded to the
|
|
714
|
+
vendor — Azure's `apiVersion`, Bedrock's `awsRegionName`. `bedrock`
|
|
715
|
+
authenticates with a Bedrock API key (no IAM role); for `azure_ai`, `model` is
|
|
716
|
+
the deployment name.
|
|
686
717
|
model:
|
|
687
718
|
type: string
|
|
688
719
|
description: |-
|
|
@@ -1566,6 +1597,13 @@ components:
|
|
|
1566
1597
|
- deepseek
|
|
1567
1598
|
- cohere
|
|
1568
1599
|
- groq
|
|
1600
|
+
- together_ai
|
|
1601
|
+
- azure_ai
|
|
1602
|
+
- fireworks_ai
|
|
1603
|
+
- bedrock
|
|
1604
|
+
- nvidia_nim
|
|
1605
|
+
- ollama_chat
|
|
1606
|
+
- vertex_ai
|
|
1569
1607
|
required:
|
|
1570
1608
|
- provider
|
|
1571
1609
|
then:
|
|
@@ -2389,7 +2427,7 @@ components:
|
|
|
2389
2427
|
Connection for BYOK (bring your own key) — only meaningful for `ai_agent` type
|
|
2390
2428
|
guardrails. Optional for the built-in providers (`openai`, `gemini`, `anthropic`),
|
|
2391
2429
|
which run on platform-managed credentials when it is omitted; catalog providers
|
|
2392
|
-
(
|
|
2430
|
+
(every other value of `provider`) have no platform-managed
|
|
2393
2431
|
credentials and need it to run.
|
|
2394
2432
|
examples:
|
|
2395
2433
|
- 68ae48d6b5f755d2dd38c294
|