@celigo/api-specs 0.2.29 → 0.2.31

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/sync.yml CHANGED
@@ -2602,9 +2602,10 @@ paths:
2602
2602
  summary: List supported sync destination applications
2603
2603
  description: |-
2604
2604
  Returns the catalog of applications that can be used as the **destination** of a sync — the
2605
- data warehouse a sync loads records into. Use the returned `id` as the destination application
2606
- when building a sync. Identifiers include `snowflake` (Snowflake), `nsaw` (NetSuite
2607
- Analytics Warehouse), and `bigquery` (Google BigQuery).
2605
+ data warehouse a sync loads records into. A sync's destination application is the type of
2606
+ its destination connection (`rdbms.type` for warehouse connections), which must match one
2607
+ of the returned ids. Identifiers include `snowflake` (Snowflake), `nsaw` (NetSuite
2608
+ Analytics Warehouse), `bigquery` (Google BigQuery), and `mssql` (Microsoft SQL Server).
2608
2609
  tags:
2609
2610
  - Syncs
2610
2611
  operationId: listSyncDestinations
@@ -2629,8 +2630,10 @@ paths:
2629
2630
  examples:
2630
2631
  default:
2631
2632
  value:
2632
- - id: snowflake
2633
+ - id: bigquery
2634
+ - id: mssql
2633
2635
  - id: nsaw
2636
+ - id: snowflake
2634
2637
  '401':
2635
2638
  $ref: '#/components/responses/401-unauthorized'
2636
2639
  /v1/di/metadata/connections/{_connectionId}/datasets:
@@ -3848,27 +3851,35 @@ components:
3848
3851
  type: object
3849
3852
  description: |-
3850
3853
  Data warehouse the sync loads records into. Empty (`{}`) on a draft that has no
3851
- destination yet. Each source + destination host/database/schema combination must
3852
- be unique across syncs — reusing one fails with `422 duplicate_destination_host` —
3853
- and all syncs in an integration must target the same destination application type.
3854
+ destination yet. The destination application is the connection's own type
3855
+ (`rdbms.type` for warehouse connections), so `database` and `schema` are read in that
3856
+ application's terms — Google BigQuery treats them as the GCP project and the dataset.
3857
+ Each source + destination host/database/schema combination must be unique across
3858
+ syncs — reusing one fails with `422 duplicate_destination_host` — and all syncs in an
3859
+ integration must target the same destination application type.
3854
3860
  properties:
3855
3861
  _connectionId:
3856
3862
  type: string
3857
3863
  format: objectId
3858
3864
  x-celigo-refModel: connections
3859
3865
  description: |-
3860
- Connection to the destination warehouse. The application must be one of the
3861
- supported sync destinations returned by `GET /v1/di/metadata/destinations`.
3866
+ Connection to the destination warehouse. Its application (`rdbms.type` such as
3867
+ `snowflake`, `bigquery` or `mssql`, or a NetSuite Analytics Warehouse JDBC
3868
+ connection) is one of the ids returned by `GET /v1/di/metadata/destinations`.
3862
3869
  examples:
3863
3870
  - 68d02dbe0839a514623c1d6d
3864
3871
  database:
3865
3872
  type: string
3866
- description: Database in the destination warehouse the sync loads into.
3873
+ description: |-
3874
+ Database in the destination warehouse the sync loads into. For Google BigQuery this
3875
+ is the GCP project id the tables are created in (`project.dataset.table`).
3867
3876
  examples:
3868
3877
  - ANALYTICS_DB
3869
3878
  schema:
3870
3879
  type: string
3871
- description: Schema within `database` where the sync creates and loads tables.
3880
+ description: |-
3881
+ Schema within `database` where the sync creates and loads tables. For Google
3882
+ BigQuery this is the dataset name, with case preserved.
3872
3883
  examples:
3873
3884
  - salesforce_raw
3874
3885
  tablePrefix:
@@ -4017,27 +4028,60 @@ components:
4017
4028
  description: |-
4018
4029
  Data warehouse the sync loads records into. Omit while drafting; a complete
4019
4030
  destination (connection, database, schema) is required before the sync can be
4020
- enabled. The source + destination host/database/schema combination must be unique
4031
+ enabled. The destination application is the connection's own type (`rdbms.type`
4032
+ for warehouse connections), so `database` and `schema` are read in that
4033
+ application's terms — Google BigQuery treats them as the GCP project and the
4034
+ dataset. The source + destination host/database/schema combination must be unique
4021
4035
  across syncs (`422 duplicate_destination_host`), and all syncs in an integration
4022
4036
  must target the same destination application type.
4037
+ x-celigo-ai-guidance:
4038
+ - |-
4039
+ Send the block complete or not at all. A partial block is rejected in the destination's
4040
+ own vocabulary with 422 `invalid_destination_sync_config`: `GCP project is required on
4041
+ sync destination` / `BigQuery dataset is required on sync destination` (BigQuery),
4042
+ `SQL Server database is required on sync destination` / `SQL Server schema is required
4043
+ on sync destination` (Microsoft SQL Server). A partial Snowflake block is not caught
4044
+ by validation — the save reaches the warehouse and fails with Snowflake's own
4045
+ `002003` "Database 'UNDEFINED' does not exist" error.
4046
+ - |-
4047
+ Saving a complete destination connects to the warehouse to create the schema
4048
+ (dataset) when it is missing. An unreachable host or unusable credentials fail the
4049
+ save with the connection's error — 422 `invalid_host` for SQL Server,
4050
+ `big_query_unexpected_error` for BigQuery — and no sync document is created or
4051
+ updated; fix the connection rather than changing database or schema names.
4052
+ - |-
4053
+ Microsoft SQL Server validates `database` and `schema` as identifiers (start with a
4054
+ letter or underscore; letters, digits, underscore or `$`; at most 128 characters) and
4055
+ rejects others with 422 `invalid_destination_sync_config`
4056
+ (`SQL Server schema name is invalid: ...`).
4023
4057
  properties:
4024
4058
  _connectionId:
4025
4059
  type: string
4026
4060
  format: objectId
4027
4061
  x-celigo-refModel: connections
4028
4062
  description: |-
4029
- Connection to the destination warehouse. The application must be one of the
4030
- supported sync destinations returned by `GET /v1/di/metadata/destinations`.
4063
+ Connection to the destination warehouse. Its application (`rdbms.type` such as
4064
+ `snowflake`, `bigquery` or `mssql`, or a NetSuite Analytics Warehouse JDBC
4065
+ connection) must be one of the ids returned by `GET /v1/di/metadata/destinations`;
4066
+ any other connection fails with `422 invalid_destination_type`.
4031
4067
  examples:
4032
4068
  - 68d02dbe0839a514623c1d6d
4033
4069
  database:
4034
4070
  type: string
4035
- description: Database in the destination warehouse the sync loads into.
4071
+ description: |-
4072
+ Database in the destination warehouse the sync loads into; it must already exist.
4073
+ For Google BigQuery this is the GCP project id the tables are created in
4074
+ (`project.dataset.table`).
4075
+ x-celigo-ui-override: For a BigQuery destination the Create Sync wizard shows no database picker and fills this field with the selected connection's rdbms.bigquery.projectId (IO-195900).
4036
4076
  examples:
4037
4077
  - ANALYTICS_DB
4038
4078
  schema:
4039
4079
  type: string
4040
- description: Schema within `database` where the sync creates and loads tables.
4080
+ description: |-
4081
+ Schema within `database` where the sync creates and loads tables; created on save
4082
+ when it does not exist. For Google BigQuery this is the dataset name, with case
4083
+ preserved.
4084
+ x-celigo-ui-override: For a BigQuery destination the Create Sync wizard labels this field "dataset" and accepts only letters, digits and underscore (no $), starting with a letter or underscore, at most 1024 characters (IO-195900); Snowflake and NSAW validation is unchanged.
4041
4085
  examples:
4042
4086
  - salesforce_raw
4043
4087
  tablePrefix:
package/dist/tool.yml CHANGED
@@ -2075,9 +2075,11 @@ components:
2075
2075
  This field supports THREE DISTINCT PATTERNS that are easily distinguished:
2076
2076
 
2077
2077
  **1. json Path Syntax**
2078
- - MUST start with '$.' prefix
2078
+ - MUST start with '$' — the record root. An object record is addressed as
2079
+ '$.field'; a grouped (array) record as '$[0].field' / '$[*].field'
2079
2080
  - Used for precisely targeting data in structured JSON objects
2080
- - Examples: '$.customer.firstName', '$.items[0].price', '$.addresses[*].street'
2081
+ - Examples: '$.customer.firstName', '$.items[0].price', '$.addresses[*].street',
2082
+ '$[*].Tax' (every row of a grouped record)
2081
2083
  - Wildcards like [*] extract multiple values/objects
2082
2084
 
2083
2085
  ```json
@@ -2088,7 +2090,8 @@ components:
2088
2090
  - Contains '{{' and '}}' pattern
2089
2091
  - Evaluated by the AFE 2.0 handlebars template engine
2090
2092
  - Can include logic, formatting, and computation
2091
- - Access input record fields with {{record.fieldName}} notation
2093
+ - Access input record fields with {{record.fieldName}} notation; a grouped
2094
+ (array) record binds as `rows` instead — {{rows.0.fieldName}} / {{#each rows}}
2092
2095
  - Examples: "{{record.firstName}} {{record.lastName}}", "{{#if record.isActive}}Active{{else}}Inactive{{/if}}"
2093
2096
  - Valid on `object`, `objectarray`, and primitive-array dataTypes as
2094
2097
  well as scalars — the rendered template output must parse into the
@@ -2099,7 +2102,7 @@ components:
2099
2102
  ```
2100
2103
 
2101
2104
  **3. Hard-Coded Value (literal string)**
2102
- - Does NOT start with '$.'
2105
+ - Does NOT start with '$'
2103
2106
  - Does NOT contain handlebars '{{' syntax
2104
2107
  - System treats it as a literal string value
2105
2108
  - VERY COMMON for setting static/constant values
@@ -2121,10 +2124,38 @@ components:
2121
2124
  - The system maintains this context even in deeply nested mappings
2122
2125
  - For object mappings without child mappings, extract should return a complete object
2123
2126
  - When both extract and mappings are defined for objects, extract is applied first
2127
+ - The root is the record as it arrives: an object record roots at `$.field`; a
2128
+ grouped record (an array of rows — grouped exports, file key columns, NetSuite
2129
+ grouped saved searches) roots at the array, so its rows are addressed as
2130
+ `$[0].field` (one row) or `$[*].field` (every row). A root that contradicts the
2131
+ record's shape resolves to nothing without an error.
2124
2132
 
2125
2133
  For most simple field-to-field mappings, prefer JSON path syntax for its clarity and performance.
2126
2134
  For hard-coded values, simply use the literal string as the extract value.
2127
2135
  x-celigo-ai-guidance:
2136
+ - |-
2137
+ ## GROUPED (ARRAY) RECORDS
2138
+ Decide the JSONPath root from the record's shape before writing
2139
+ any extract. When the record is an array of rows, `$.field`,
2140
+ `$.properties.field` and `$.rows[*].field` all resolve to
2141
+ nothing — the processor still reports success and the request
2142
+ body ships as `{}`. Address rows as `$[0].field` (that row's
2143
+ value, typed) or `$[*].field` (every row: joined with commas
2144
+ into a `string` destination; rejected with
2145
+ `incompatible_destination_conversion` into a `number`
2146
+ destination). Column labels with spaces work as
2147
+ `$[*][Order Number]`, `$[*].[Order Number]`, or
2148
+ `$[*]['Order Number']`. For one destination element per row
2149
+ the two array kinds take different helper forms: a primitive
2150
+ array (`stringarray` / `numberarray`) uses `buildArrayHelper:
2151
+ [{"extract": "$[*].field"}]`; an `objectarray` uses
2152
+ `buildArrayHelper: [{"extract": "$[*]", "mappings": [...]}]`
2153
+ with the children addressing the row relatively (`$.field`,
2154
+ `{{rows.field}}`). An `extract` placed directly on the
2155
+ array-typed field yields nothing. Handlebars
2156
+ extracts bind the array record as `rows` (`{{rows.0.field}}`),
2157
+ an object record as `record`. The reverse holds too: `$[*]` on
2158
+ an object record iterates the object's values, not rows.
2128
2159
  - |-
2129
2160
  ## SIZE LIMIT
2130
2161
  The platform's import save validator caps this field at **1024
@@ -2382,7 +2413,11 @@ components:
2382
2413
  (`$.items[*]`), `"$"` (the record root), or omission — a
2383
2414
  constructed entry (child `mappings` with the extract omitted or
2384
2415
  `"$"`; the two spellings are equivalent) contributes exactly one
2385
- element, and entries append in order. Indexed or comma-joined
2416
+ element, and entries append in order. On a grouped (array)
2417
+ record the record itself is the array to iterate: `"$[*]"`
2418
+ yields one `objectarray` element per row (children address the
2419
+ row as `$.field`), and `"$[*].field"` yields one primitive-array
2420
+ value per row. Indexed or comma-joined
2386
2421
  entry extracts (`"$[0]"`, `"$[0],$[0]"`) are not valid: the
2387
2422
  processor renders the entire destination array as null with no
2388
2423
  validation error. To emit a fixed number of static elements, add
@@ -2403,7 +2438,9 @@ components:
2403
2438
 
2404
2439
  **For Simple Arrays (stringarray, numberarray, booleanarray)**
2405
2440
  - Only the 'extract' field is used to pull values
2406
- - JSON path with wildcards (e.g., $.items[*].name) returns multiple values
2441
+ - JSON path with wildcards (e.g., $.items[*].name) returns multiple values;
2442
+ on a grouped (array) record the record itself is the array, so the
2443
+ path roots at it ($[*].name — one value per row)
2407
2444
  - Each result is converted to the appropriate primitive type
2408
2445
  ```json
2409
2446
  {
@@ -2505,11 +2542,13 @@ components:
2505
2542
  - When both extract and mappings are provided, the system creates special composite objects
2506
2543
  that maintain hierarchical context during processing
2507
2544
  - This enables accessing both the current array element AND its parent context
2508
- - An ITERATING entry's extract MUST use JSON path syntax starting with '$.'
2509
- (e.g. '$.items[*]'). A CONSTRUCTED entry (child mappings building one element)
2510
- instead omits extract or sets it to exactly "$" — never rewrite "$" into a
2511
- '$.'-prefixed, indexed, or comma-joined form ('$[0]', '$[0],$[0]'): those render
2512
- the entire destination array as null without raising a validation error
2545
+ - An ITERATING entry's extract MUST be a JSON path that iterates an array:
2546
+ '$.items[*]' when the array is a field of an object record, or '$[*]'
2547
+ (objectarray) / '$[*].field' (primitive arrays) when the record itself is a
2548
+ grouped array of rows. A CONSTRUCTED entry (child mappings building one
2549
+ element) instead omits extract or sets it to exactly "$" — never rewrite "$"
2550
+ into an indexed or comma-joined form ('$[0]', '$[0],$[0]'): those render the
2551
+ entire destination array as null without raising a validation error
2513
2552
  - Each array helper entry acts independently, potentially adding multiple elements
2514
2553
 
2515
2554
  The buildArrayHelper is the most complex part of the mappings system - always analyze the
@@ -2923,9 +2962,11 @@ components:
2923
2962
  This field supports THREE DISTINCT PATTERNS that are easily distinguished:
2924
2963
 
2925
2964
  **1. json Path Syntax**
2926
- - MUST start with '$.' prefix
2965
+ - MUST start with '$' — the record root. An object record is addressed as
2966
+ '$.field'; a grouped (array) record as '$[0].field' / '$[*].field'
2927
2967
  - Used for precisely targeting data in structured JSON objects
2928
- - Examples: '$.customer.firstName', '$.items[0].price', '$.addresses[*].street'
2968
+ - Examples: '$.customer.firstName', '$.items[0].price', '$.addresses[*].street',
2969
+ '$[*].Tax' (every row of a grouped record)
2929
2970
  - Wildcards like [*] extract multiple values/objects
2930
2971
 
2931
2972
  ```json
@@ -2936,7 +2977,8 @@ components:
2936
2977
  - Contains '{{' and '}}' pattern
2937
2978
  - Evaluated by the AFE 2.0 handlebars template engine
2938
2979
  - Can include logic, formatting, and computation
2939
- - Access input record fields with {{record.fieldName}} notation
2980
+ - Access input record fields with {{record.fieldName}} notation; a grouped
2981
+ (array) record binds as `rows` instead — {{rows.0.fieldName}} / {{#each rows}}
2940
2982
  - Examples: "{{record.firstName}} {{record.lastName}}", "{{#if record.isActive}}Active{{else}}Inactive{{/if}}"
2941
2983
  - Valid on `object`, `objectarray`, and primitive-array dataTypes as
2942
2984
  well as scalars — the rendered template output must parse into the
@@ -2947,7 +2989,7 @@ components:
2947
2989
  ```
2948
2990
 
2949
2991
  **3. Hard-Coded Value (literal string)**
2950
- - Does NOT start with '$.'
2992
+ - Does NOT start with '$'
2951
2993
  - Does NOT contain handlebars '{{' syntax
2952
2994
  - System treats it as a literal string value
2953
2995
  - VERY COMMON for setting static/constant values
@@ -2969,10 +3011,38 @@ components:
2969
3011
  - The system maintains this context even in deeply nested mappings
2970
3012
  - For object mappings without child mappings, extract should return a complete object
2971
3013
  - When both extract and mappings are defined for objects, extract is applied first
3014
+ - The root is the record as it arrives: an object record roots at `$.field`; a
3015
+ grouped record (an array of rows — grouped exports, file key columns, NetSuite
3016
+ grouped saved searches) roots at the array, so its rows are addressed as
3017
+ `$[0].field` (one row) or `$[*].field` (every row). A root that contradicts the
3018
+ record's shape resolves to nothing without an error.
2972
3019
 
2973
3020
  For most simple field-to-field mappings, prefer JSON path syntax for its clarity and performance.
2974
3021
  For hard-coded values, simply use the literal string as the extract value.
2975
3022
  x-celigo-ai-guidance:
3023
+ - |-
3024
+ ## GROUPED (ARRAY) RECORDS
3025
+ Decide the JSONPath root from the record's shape before writing
3026
+ any extract. When the record is an array of rows, `$.field`,
3027
+ `$.properties.field` and `$.rows[*].field` all resolve to
3028
+ nothing — the processor still reports success and the request
3029
+ body ships as `{}`. Address rows as `$[0].field` (that row's
3030
+ value, typed) or `$[*].field` (every row: joined with commas
3031
+ into a `string` destination; rejected with
3032
+ `incompatible_destination_conversion` into a `number`
3033
+ destination). Column labels with spaces work as
3034
+ `$[*][Order Number]`, `$[*].[Order Number]`, or
3035
+ `$[*]['Order Number']`. For one destination element per row
3036
+ the two array kinds take different helper forms: a primitive
3037
+ array (`stringarray` / `numberarray`) uses `buildArrayHelper:
3038
+ [{"extract": "$[*].field"}]`; an `objectarray` uses
3039
+ `buildArrayHelper: [{"extract": "$[*]", "mappings": [...]}]`
3040
+ with the children addressing the row relatively (`$.field`,
3041
+ `{{rows.field}}`). An `extract` placed directly on the
3042
+ array-typed field yields nothing. Handlebars
3043
+ extracts bind the array record as `rows` (`{{rows.0.field}}`),
3044
+ an object record as `record`. The reverse holds too: `$[*]` on
3045
+ an object record iterates the object's values, not rows.
2976
3046
  - |-
2977
3047
  ## SIZE LIMIT
2978
3048
  The platform's import save validator caps this field at **1024
@@ -3230,7 +3300,11 @@ components:
3230
3300
  (`$.items[*]`), `"$"` (the record root), or omission — a
3231
3301
  constructed entry (child `mappings` with the extract omitted or
3232
3302
  `"$"`; the two spellings are equivalent) contributes exactly one
3233
- element, and entries append in order. Indexed or comma-joined
3303
+ element, and entries append in order. On a grouped (array)
3304
+ record the record itself is the array to iterate: `"$[*]"`
3305
+ yields one `objectarray` element per row (children address the
3306
+ row as `$.field`), and `"$[*].field"` yields one primitive-array
3307
+ value per row. Indexed or comma-joined
3234
3308
  entry extracts (`"$[0]"`, `"$[0],$[0]"`) are not valid: the
3235
3309
  processor renders the entire destination array as null with no
3236
3310
  validation error. To emit a fixed number of static elements, add
@@ -3251,7 +3325,9 @@ components:
3251
3325
 
3252
3326
  **For Simple Arrays (stringarray, numberarray, booleanarray)**
3253
3327
  - Only the 'extract' field is used to pull values
3254
- - JSON path with wildcards (e.g., $.items[*].name) returns multiple values
3328
+ - JSON path with wildcards (e.g., $.items[*].name) returns multiple values;
3329
+ on a grouped (array) record the record itself is the array, so the
3330
+ path roots at it ($[*].name — one value per row)
3255
3331
  - Each result is converted to the appropriate primitive type
3256
3332
  ```json
3257
3333
  {
@@ -3353,11 +3429,13 @@ components:
3353
3429
  - When both extract and mappings are provided, the system creates special composite objects
3354
3430
  that maintain hierarchical context during processing
3355
3431
  - This enables accessing both the current array element AND its parent context
3356
- - An ITERATING entry's extract MUST use JSON path syntax starting with '$.'
3357
- (e.g. '$.items[*]'). A CONSTRUCTED entry (child mappings building one element)
3358
- instead omits extract or sets it to exactly "$" — never rewrite "$" into a
3359
- '$.'-prefixed, indexed, or comma-joined form ('$[0]', '$[0],$[0]'): those render
3360
- the entire destination array as null without raising a validation error
3432
+ - An ITERATING entry's extract MUST be a JSON path that iterates an array:
3433
+ '$.items[*]' when the array is a field of an object record, or '$[*]'
3434
+ (objectarray) / '$[*].field' (primitive arrays) when the record itself is a
3435
+ grouped array of rows. A CONSTRUCTED entry (child mappings building one
3436
+ element) instead omits extract or sets it to exactly "$" — never rewrite "$"
3437
+ into an indexed or comma-joined form ('$[0]', '$[0],$[0]'): those render the
3438
+ entire destination array as null without raising a validation error
3361
3439
  - Each array helper entry acts independently, potentially adding multiple elements
3362
3440
 
3363
3441
  The buildArrayHelper is the most complex part of the mappings system - always analyze the
@@ -4083,6 +4161,16 @@ components:
4083
4161
  x-enumDescriptions:
4084
4162
  create: Builds entirely new output records from inputs, ignoring unmapped fields.
4085
4163
  modify: Makes targeted edits to existing records, preserving unmapped fields.
4164
+ x-celigo-ai-guidance:
4165
+ - |-
4166
+ On a grouped record (the export groups rows, so the record is an
4167
+ array) only `create` can author output — build it from the rows with
4168
+ `$[0].field`, `$[*].field`, or a `buildArrayHelper` over `$[*]`.
4169
+ `modify` has no object to overlay onto an array: the record passes
4170
+ through untouched and the processor reports success. Either mode
4171
+ reshapes the inside of one record; neither changes how many records
4172
+ the page carries (that is the export's `preSavePage` hook) or whether
4173
+ the export groups at all (that is its grouping setting).
4086
4174
  examples:
4087
4175
  - create
4088
4176
  - modify
@@ -21772,10 +21860,15 @@ components:
21772
21860
  iterate ``{{#each rows}}``); hook code sees the array as the
21773
21861
  record element and must not assume object shape.
21774
21862
  - |-
21775
- Transform 2.0 cannot reshape a grouped record at the array root —
21776
- ``mode: "modify"`` passes the array through untouched and
21777
- ``mode: "create"`` yields an empty object. Reshape grouped data in
21778
- a preSavePage hook (or downstream postResponseMap) instead.
21863
+ A grouped record is ONE record: Mapper 2.0 and Transform 2.0 root
21864
+ JSONPath at the array (``$[0].<field>`` / ``$[*].<field>``;
21865
+ ``$.<field>`` resolves nothing), and a Transform 2.0 in ``mode:
21866
+ "create"`` reshapes it in place — header fields from ``$[0]``, a
21867
+ lines array from a ``buildArrayHelper`` over ``$[*]`` (``mode:
21868
+ "modify"`` has no object to overlay and passes the array through
21869
+ untouched). Changing how many records the page carries — each
21870
+ row becoming its own record for every downstream step — is the
21871
+ ``preSavePage`` hook's job alone.
21779
21872
  items:
21780
21873
  type: string
21781
21874
  examples:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.29",
3
+ "version": "0.2.31",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "b36dcff",
5
- "generatedAt": "2026-09-18"
4
+ "iasCommit": "bcdaef7",
5
+ "generatedAt": "2026-09-19"
6
6
  },
7
7
  "roots": {
8
8
  "aiagent": 133,