@celigo/api-specs 0.2.169 → 0.2.171

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/tool.yml CHANGED
@@ -13387,12 +13387,25 @@ components:
13387
13387
  Use `assistant_graphql` as the default value if there is a connector available
13388
13388
  for the system and the connector supports GraphQL.
13389
13389
  - |-
13390
- The value selects the editor only. Each `http.body[]` entry stays a template STRING — a
13390
+ The value selects the editor and changes one thing in a GraphQL request: under
13391
+ `graph_ql` and `assistant_graphql`, a `variables` member stored as a JSON string is
13392
+ parsed and sent as an object, while under `http` it is sent as the string; an object
13393
+ `variables` goes out unchanged under `graph_ql` and `http`. Live-verified 2026-10-22 with import
13394
+ previews against an echo endpoint: a string `variables` under `graph_ql`,
13395
+ `assistant_graphql` and `http`, and an object `variables` under `graph_ql` and `http`.
13396
+ - |-
13397
+ Each `http.body[]` entry stays a template STRING — a
13391
13398
  stringified `{"query", "operationName", "variables"}` envelope, one per operation for the
13392
13399
  update/create pair (`http.body[0]` / `http.body[1]`); never an object entry, which is stored
13393
13400
  as-is and does not render. The GraphQL form parses that string to show each member in its
13394
13401
  own field and re-stringifies it on save; an entry that is not parseable JSON at rest renders
13395
- those fields empty, so keep templated variables inside a JSON string value.
13402
+ those fields empty, so keep templated variables inside a JSON string value. When
13403
+ `variables` is itself a JSON string, the string values inside it sit two JSON levels
13404
+ deep: write them as `\"{{jsonEncode record.x}}\"` with double braces, because a plain
13405
+ `{{record.x}}`, or a triple-brace `jsonEncode`, fails a record whose value holds a quote
13406
+ with 422 `invalid_json` before the request is sent. An object or array there is
13407
+ `{{jsonSerialize record.x}}`, also with double braces; `{{{jsonSerialize record.x}}}`
13408
+ fails the same way (live-verified 2026-10-22).
13396
13409
  - |-
13397
13410
  Create GraphQL imports on a `graph_ql` connection (or a connector connection bound to its
13398
13411
  GraphQL API): that setup offers the Form view toggle between the GraphQL editor and the
@@ -14209,13 +14222,20 @@ components:
14209
14222
 
14210
14223
  Each entry is a DOT-PATH STRING, or null for an operation
14211
14224
  with no ID path configured. When not specified, the platform
14212
- looks for standard `id` or `_id` fields automatically.
14225
+ looks for standard `id` or `_id` fields automatically. When
14226
+ set, a response with no value at the path fails the record
14227
+ with `missing_id`, quoting the response.
14213
14228
  x-celigo-ai-guidance:
14214
14229
  - |-
14215
14230
  Common LLM mistake:
14216
14231
  splitting a single dot-path like ``"data.id"`` into array segments ``["data",
14217
14232
  "id"]`` — DO NOT do this.
14218
14233
  See the ``response`` object docs above.
14234
+ - |-
14235
+ For a GraphQL mutation, point it at the id only a successful call returns
14236
+ (``["data.customerCreate.customer.id"]``): a 200 that carries top-level ``errors``
14237
+ or the mutation's ``userErrors`` then fails the record with ``missing_id`` instead
14238
+ of counting as written. Live-verified 2026-10-22 against an echo endpoint.
14219
14239
  examples:
14220
14240
  - - id
14221
14241
  - - data.id
@@ -14289,11 +14309,23 @@ components:
14289
14309
  available, set both — the platform evaluates ``successPath``
14290
14310
  first and falls through to ``failPath`` only when the
14291
14311
  success check is inconclusive.
14312
+
14313
+ Without ``failValues``, a truthy value at the path fails
14314
+ the response. A path that resolves to an array matches only
14315
+ when the array has exactly one element.
14316
+ x-celigo-ai-guidance:
14317
+ - |-
14318
+ A GraphQL API usually reports a failed mutation with HTTP 200 and an ``errors`` array, which
14319
+ counts as written when no rule catches it. ``failPath: ["errors"]`` fails the record
14320
+ for one error and lets two or more through; use ``["errors[0].message"]`` with
14321
+ ``errorPath: "errors[0].message"`` so the record fails with the server's message.
14322
+ Live-verified 2026-10-22 with import runs against an echo endpoint.
14292
14323
  examples:
14293
14324
  - - error
14294
14325
  - - success
14295
14326
  - - error
14296
14327
  - error
14328
+ - - errors[0].message
14297
14329
  failValues:
14298
14330
  type: array
14299
14331
  items:
@@ -21181,7 +21213,7 @@ components:
21181
21213
  x-enumDescriptions:
21182
21214
  text: Free-form text response from the model.
21183
21215
  json_schema: Structured JSON output conforming to a defined schema.
21184
- blob: Binary data output for non-text content.
21216
+ blob: Image generation — the run calls the image generation tool and returns the stored image's `blobKey`, not `_text` or `_json`.
21185
21217
  default: text
21186
21218
  description: Output format type.
21187
21219
  schemaMode:
@@ -21403,11 +21435,6 @@ components:
21403
21435
  an object without a non-empty name fails with a
21404
21436
  missing-required-field error. String entries are the
21405
21437
  legacy form and stay valid.
21406
- allowedPrompts:
21407
- type: array
21408
- description: Specific prompts to allow from the MCP server (used for MCP prompt entries; all if omitted).
21409
- items:
21410
- type: string
21411
21438
  tool:
21412
21439
  type: object
21413
21440
  description: |
@@ -21550,7 +21577,7 @@ components:
21550
21577
  x-enumDescriptions:
21551
21578
  text: Free-form text response from the model.
21552
21579
  json_schema: Structured JSON output conforming to a defined schema.
21553
- blob: Binary data output for non-text content.
21580
+ blob: Image generation — the run returns the stored image's `blobKey`, not `_text` or `_json`.
21554
21581
  default: text
21555
21582
  schemaMode:
21556
21583
  type: string
@@ -21719,11 +21746,6 @@ components:
21719
21746
  description: Display description shown for the tool.
21720
21747
  required:
21721
21748
  - name
21722
- allowedPrompts:
21723
- type: array
21724
- description: Specific prompts to allow from the MCP server (used for MCP prompt entries; all if omitted).
21725
- items:
21726
- type: string
21727
21749
  tool:
21728
21750
  type: object
21729
21751
  description: Reference to a Celigo Tool resource, used when type is "tool".
@@ -22236,9 +22258,9 @@ components:
22236
22258
  LLM configuration for an `ai_agent` guardrail — which provider and model evaluate each
22237
22259
  record, with instructions, parameter tuning, and output format. Guardrails never invoke
22238
22260
  tools, so unlike an AI agent import no block here accepts a `tools` array. MCP `prompts`
22239
- and `resources` are accepted on save, but an unreachable MCP server doesn't fail the
22240
- run (verified on OpenAI), so put the policy the guardrail must apply in its
22241
- instructions. Providers come in two families with two configuration formats:
22261
+ and `resources` are accepted on save but never used at run time, so put the policy the
22262
+ guardrail must apply in its instructions. Providers come in two families with two
22263
+ configuration formats:
22242
22264
 
22243
22265
  - **Built-in providers** — each has its own configuration block.
22244
22266
  - **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
@@ -22403,7 +22425,7 @@ components:
22403
22425
  type: array
22404
22426
  description: |-
22405
22427
  MCP prompt entries saved with a catalog-provider guardrail (generic flat format).
22406
- Each entry references one MCP connection and the prompt names allowed from it.
22428
+ Each entry references one MCP connection and prompt names; a guardrail's run never fetches them.
22407
22429
  items:
22408
22430
  type: object
22409
22431
  properties:
@@ -22424,7 +22446,7 @@ components:
22424
22446
  description: Connection to the MCP server that exposes the prompts.
22425
22447
  allowedPrompts:
22426
22448
  type: array
22427
- description: Prompt names the model may fetch from the server.
22449
+ description: Prompt names saved with the entry; a guardrail's run never fetches them.
22428
22450
  items:
22429
22451
  type: string
22430
22452
  x-celigo-ai-guidance:
@@ -22681,7 +22703,7 @@ components:
22681
22703
  type: array
22682
22704
  description: |-
22683
22705
  MCP prompt entries saved with the guardrail. Each item references one
22684
- MCP connection and the prompt names allowed from it.
22706
+ MCP connection and prompt names; a guardrail's run never fetches them.
22685
22707
  items:
22686
22708
  type: object
22687
22709
  properties:
@@ -22703,7 +22725,7 @@ components:
22703
22725
  description: Connection to the MCP server.
22704
22726
  allowedPrompts:
22705
22727
  type: array
22706
- description: Prompt names to allow from the MCP server.
22728
+ description: Prompt names saved with the entry; a guardrail's run never fetches them.
22707
22729
  items:
22708
22730
  type: string
22709
22731
  resources:
@@ -22870,7 +22892,7 @@ components:
22870
22892
  type: array
22871
22893
  description: |-
22872
22894
  MCP prompt entries saved with a Gemini guardrail. Each item references one
22873
- MCP connection and the prompt names allowed from it.
22895
+ MCP connection and prompt names; a guardrail's run never fetches them.
22874
22896
  items:
22875
22897
  type: object
22876
22898
  properties:
@@ -22892,7 +22914,7 @@ components:
22892
22914
  description: Connection to the MCP server.
22893
22915
  allowedPrompts:
22894
22916
  type: array
22895
- description: Prompt names to allow from the MCP server.
22917
+ description: Prompt names saved with the entry; a guardrail's run never fetches them.
22896
22918
  items:
22897
22919
  type: string
22898
22920
  resources:
@@ -23092,7 +23114,7 @@ components:
23092
23114
  type: array
23093
23115
  description: |-
23094
23116
  MCP prompt entries saved with a Claude guardrail. Each item references one
23095
- MCP connection and the prompt names allowed from it.
23117
+ MCP connection and prompt names; a guardrail's run never fetches them.
23096
23118
  items:
23097
23119
  type: object
23098
23120
  properties:
@@ -23114,7 +23136,7 @@ components:
23114
23136
  description: Connection to the MCP server.
23115
23137
  allowedPrompts:
23116
23138
  type: array
23117
- description: Prompt names to allow from the MCP server.
23139
+ description: Prompt names saved with the entry; a guardrail's run never fetches them.
23118
23140
  items:
23119
23141
  type: string
23120
23142
  resources:
@@ -23216,8 +23238,8 @@ components:
23216
23238
  `aiAgent.openai.tools`, `aiAgent.litellm._overrides.gemini.tools`, `….anthropic.tools`) —
23217
23239
  any non-empty array fails the save with 422 `guardrail_tools_not_allowed` ("Tools aren't
23218
23240
  supported on a guardrail AI agent configuration…"), on create and on update. `prompts` and
23219
- `resources` are accepted on save, but an unreachable MCP server doesn't fail the run
23220
- (verified on OpenAI), so put the policy in the instructions. The server still echoes
23241
+ `resources` are accepted on save but never used at run time, so put the policy in the
23242
+ instructions. The server still echoes
23221
23243
  `openai.tools: []` on OpenAI guardrails.
23222
23244
  properties:
23223
23245
  type:
@@ -30955,9 +30977,12 @@ components:
30955
30977
  request fields are interpreted. When omitted, the standard HTTP form is used.
30956
30978
  x-celigo-ai-guidance:
30957
30979
  - |-
30958
- The value changes only the editor, never the request: the same `http.body` is sent
30959
- identically under `http` and `graph_ql`, and the value can be changed on an existing
30960
- export without touching the body.
30980
+ The value picks the editor and changes one thing in a GraphQL request: under `graph_ql`
30981
+ and `assistant_graphql`, a `variables` member stored as a JSON string is parsed and sent
30982
+ as an object, while under `http` it is sent as the string. A body whose `variables` is
30983
+ already an object goes out unchanged under `graph_ql` and `http`. Live-verified 2026-10-22 with
30984
+ export previews against an echo endpoint: a string `variables` under `graph_ql`,
30985
+ `assistant_graphql` and `http`, and an object `variables` under `graph_ql` and `http`.
30961
30986
  - |-
30962
30987
  The GraphQL form reads `http.body` as the JSON envelope `{"query", "operationName",
30963
30988
  "variables"}` and shows each member in its own editor, recompiling the envelope on save
@@ -31174,9 +31199,15 @@ components:
31174
31199
  XML, etc.).
31175
31200
  - |-
31176
31201
  A GraphQL request is this field holding the stringified JSON envelope `{"query":
31177
- "<document>", "operationName": "...", "variables": ...}` whatever `formType` says;
31178
- `variables` may be an object or a JSON-encoded string, and a templated variables value
31179
- must stay inside a string so the body remains parseable JSON at rest (see `formType`).
31202
+ "<document>", "operationName": "...", "variables": ...}`. `variables` may be an object
31203
+ or a JSON-encoded string, and a string is sent as an object only under the GraphQL
31204
+ form types (see `formType`). Variables with unquoted Handlebars (a number, `null`, an
31205
+ `{{#if}}` block) must be a string so the body remains parseable JSON at rest; string
31206
+ values inside that string sit two JSON levels deep, so write them as
31207
+ `\"{{jsonEncode record.x}}\"` with double braces: a plain `{{record.x}}`, or a
31208
+ triple-brace `jsonEncode`, fails a value holding a quote with 422 `invalid_json`.
31209
+ An object or array there is `{{jsonSerialize record.x}}`, also with double braces;
31210
+ triple braces fail the same way.
31180
31211
  - |-
31181
31212
  You can use handlebars expressions to create dynamic content:
31182
31213
  ```
@@ -32000,7 +32031,7 @@ components:
32000
32031
  - response.records
32001
32032
  lastPageStatusCode:
32002
32033
  type: integer
32003
- description: HTTP status code that signals the last page, replacing the default behavior of treating 404 as the end of pagination. When this status is received, paging stops and the response is not treated as an error. Set only when the API uses a non-404 code (such as 204 or 400) to indicate no more pages.
32034
+ description: 'HTTP status code that signals the last page, replacing the default behavior of treating 404 as the end of pagination. When this status is received (any code but `200` paired with `lastPagePath`), paging stops and the response is not treated as an error. Set it when the API uses a non-404 code (such as 204 or 400) to indicate no more pages, or to `200` together with `lastPagePath` when the last page is an ordinary 200 response: then the response is parsed, its records are kept, and paging stops only when `lastPagePath` matches `lastPageValues`.'
32004
32035
  x-celigo-ai-guidance:
32005
32036
  - Specifies a custom HTTP status code that indicates the last page of results.
32006
32037
  - |-
@@ -32035,36 +32066,45 @@ components:
32035
32066
  - |-
32036
32067
  ## TECHNICAL DETAILS
32037
32068
 
32038
- When this status code is received, the system:
32069
+ When this status code is received (any code but `200` paired with
32070
+ `lastPagePath`), the system:
32039
32071
  - Stops the pagination process
32040
32072
  - Considers the data collection complete
32041
32073
  - Does not treat the response as an error
32042
32074
  - Does not attempt to process any response body
32043
32075
 
32044
32076
  IMPORTANT: Only set this if your API explicitly uses a non-404 status code
32045
- to indicate the end of pagination. Setting this incorrectly could cause
32046
- premature termination of data collection or error handling issues.
32077
+ to indicate the end of pagination, or to `200` with `lastPagePath` (below).
32078
+ Setting this incorrectly could cause premature termination of data
32079
+ collection or error handling issues.
32080
+ - |-
32081
+ `200` is the exception, for an API whose last page is an ordinary 200 response:
32082
+ together with `lastPagePath`, paging stops on the first 200 whose `lastPagePath`
32083
+ value matches `lastPageValues`, and that page's records are kept. Live-verified
32084
+ 2026-10-22 with token paging.
32047
32085
  examples:
32048
32086
  - 204
32049
32087
  - 400
32050
32088
  - 500
32051
32089
  lastPagePath:
32052
32090
  type: string
32053
- description: JSON path to a response-body field that signals the end of pagination, such as a "has more" flag or a cursor that empties on the last page. Must be used with `lastPageValues`, which lists the values at this path that stop paging. If the path does not exist in a response, the condition is not considered met.
32091
+ description: 'JSON path to a response-body field that signals the end of pagination, such as a "has more" flag or a cursor that empties on the last page. Must be used with `lastPageValues`, which lists the values at this path that stop paging. If the path does not exist in a response, the condition is not considered met. With `method: token` the path is read only on a response whose status code equals `lastPageStatusCode`, so pair it with `lastPageStatusCode: 200` for an ordinary last page; with `method: body` it is read on every response.'
32054
32092
  x-celigo-ai-guidance:
32055
32093
  - |-
32056
32094
  ## FIELD BEHAVIOR
32057
32095
 
32058
32096
  - OPTIONAL: Only needed for APIs with field-based pagination completion signals
32059
- - Works with all pagination methods
32097
+ - Accepted on all pagination methods; when it is read depends on the method (see
32098
+ the method note below)
32060
32099
  - Used in conjunction with lastPageValues
32061
32100
  - JSON path notation to a field in the response body
32062
32101
  - |-
32063
32102
  ## IMPLEMENTATION GUIDANCE
32064
32103
 
32065
32104
  This field is used when an API indicates the last page through a field
32066
- in the response body rather than using HTTP status codes. The system
32067
- checks this path in each response to determine if pagination is complete.
32105
+ in the response body rather than using HTTP status codes. Which responses
32106
+ the system checks it on depends on the paging method (see the method note
32107
+ below).
32068
32108
 
32069
32109
  Common patterns include:
32070
32110
 
@@ -32098,8 +32138,19 @@ components:
32098
32138
  "lastPageValues": ["false", "0"]
32099
32139
  ```
32100
32140
 
32101
- IMPORTANT: The path is evaluated against each response using JSON path notation.
32102
- If the path doesn't exist in the response, the condition is not considered met.
32141
+ IMPORTANT: The path is evaluated using JSON path notation, on the responses the
32142
+ method note below describes. If the path doesn't exist in the response, the
32143
+ condition is not considered met.
32144
+ - |-
32145
+ On `method: token` the path is checked only on a response whose status code equals
32146
+ `lastPageStatusCode`. For an API whose last page is an ordinary 200 (a GraphQL
32147
+ `pageInfo.hasNextPage: false`), set `lastPageStatusCode: 200` with it; without that,
32148
+ paging goes on while the token at `path` is non-empty, so a last page that still
32149
+ carries a cursor costs one more request. On `method: body` the path is read on
32150
+ every response, with no status code needed. Live-verified 2026-10-22 against an echo
32151
+ endpoint for `token` (two requests without `lastPageStatusCode`, one with 200) and
32152
+ `body` (stopped on the second response); `page`, `skip` and `url` paging were not
32153
+ verified.
32103
32154
  examples:
32104
32155
  - meta.isLastPage
32105
32156
  - pagination.hasMore
@@ -32523,22 +32574,30 @@ components:
32523
32574
  - '201'
32524
32575
  errorPath:
32525
32576
  type: string
32526
- description: Path to the error message in the response body. The value at this path is included in error logs and error records when the API returns an error.
32577
+ description: Path to the error message in the response body. The value at this path is included in error logs and error records when the API returns an error; without it, the message is the whole response body.
32527
32578
  examples:
32528
32579
  - error.message
32529
32580
  - errorMessage
32530
32581
  - errors[0].detail
32582
+ - errors[0].message
32531
32583
  failPath:
32532
32584
  type: string
32533
- description: Path to a response field that signals failure even when the HTTP status code is 200 — the inverse of `successPath`. Must be used with `failValues`.
32585
+ description: Path to a response field that signals failure even when the HTTP status code is 200 — the inverse of `successPath`. With `failValues`, the response fails when the value there matches one of them; without, when the path holds a truthy value. A path that resolves to an array matches only when the array has exactly one element.
32534
32586
  x-celigo-ai-guidance:
32535
- - |-
32536
- Similar to `successPath` but inverted logic — checks for failure indicators.
32537
- Must be used together with `failValues`.
32587
+ - Similar to `successPath` but inverted logic — checks for failure indicators.
32588
+ - |-
32589
+ A path that resolves to an array matches only when the array has exactly one
32590
+ element. GraphQL APIs usually report a failed query with HTTP 200 and an `errors` array:
32591
+ `failPath: errors` fails the response for one error and lets two or more through,
32592
+ so set `failPath` (and `errorPath`) to `errors[0].message`. Without a fail path the
32593
+ response counts as a success, and an export whose `resourcePath` points into
32594
+ `data` returns zero records with no error. Live-verified 2026-10-22 with export
32595
+ and import previews against an echo endpoint.
32538
32596
  examples:
32539
32597
  - error
32540
32598
  - status
32541
32599
  - result.error
32600
+ - errors[0].message
32542
32601
  failValues:
32543
32602
  type: array
32544
32603
  items:
@@ -35356,8 +35415,9 @@ components:
35356
35415
  Number of records the RESTlet returns per request (default 1000). This, not the
35357
35416
  export's `pageSize`, sizes each NetSuite call; the export keeps requesting until the
35358
35417
  search is exhausted. Larger batches reduce round-trips but raise NetSuite governance
35359
- and memory use per call; tune to the record's size. In a test run or preview the
35360
- request is capped at the export's `pageSize` (default 20) instead.
35418
+ and memory use per call; tune to the record's size. The RESTlet caps a call at 1000,
35419
+ so a larger value acts as 1000. In a test run or preview the request is capped at the
35420
+ export's `pageSize` (default 20) instead.
35361
35421
  examples:
35362
35422
  - 100
35363
35423
  - 200
@@ -35636,8 +35696,9 @@ components:
35636
35696
  type: array
35637
35697
  description: |-
35638
35698
  Search columns the RESTlet returns for each matching record. With a saved search,
35639
- omit this to return the search's own result columns; an ad-hoc search (no
35640
- `searchId`) must list its columns here.
35699
+ the RESTlet returns the search's own result columns followed by any listed here: a
35700
+ list adds columns and never removes one of the search's, so remove a column in the
35701
+ saved search itself. An ad-hoc search (no `searchId`) must list its columns here.
35641
35702
  x-celigo-ai-guidance:
35642
35703
  - |-
35643
35704
  Entries are objects keyed by `name` — `[{"name": "internalid"}, {"name":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.169",
3
+ "version": "0.2.171",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [