@vertesia/common 1.5.0-dev.20260826.064249Z → 1.5.0-dev.20260901.033115Z
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/lib/api-contract/components.generated.json +109 -7
- package/lib/api-schemas/agent-runs.d.ts +10 -0
- package/lib/api-schemas/agent-runs.d.ts.map +1 -1
- package/lib/api-schemas/app-runtime.d.ts +28 -0
- package/lib/api-schemas/app-runtime.d.ts.map +1 -1
- package/lib/api-schemas/content.d.ts +10 -0
- package/lib/api-schemas/content.d.ts.map +1 -1
- package/lib/api-schemas/document-processing.d.ts +6 -0
- package/lib/api-schemas/document-processing.d.ts.map +1 -1
- package/lib/api-schemas/events.d.ts +18 -0
- package/lib/api-schemas/events.d.ts.map +1 -1
- package/lib/api-schemas/integrations.d.ts +14 -0
- package/lib/api-schemas/integrations.d.ts.map +1 -1
- package/lib/api-schemas/integrations.js +10 -0
- package/lib/api-schemas/integrations.js.map +1 -1
- package/lib/api-schemas/interaction.d.ts +86 -0
- package/lib/api-schemas/interaction.d.ts.map +1 -1
- package/lib/api-schemas/process.d.ts.map +1 -1
- package/lib/api-schemas/process.js +9 -1
- package/lib/api-schemas/process.js.map +1 -1
- package/lib/api-schemas/project-configuration.d.ts +20 -0
- package/lib/api-schemas/project-configuration.d.ts.map +1 -1
- package/lib/api-schemas/project.d.ts +30 -0
- package/lib/api-schemas/project.d.ts.map +1 -1
- package/lib/api-schemas/registry.d.ts +318 -0
- package/lib/api-schemas/registry.d.ts.map +1 -1
- package/lib/api-schemas/store.d.ts +100 -0
- package/lib/api-schemas/store.d.ts.map +1 -1
- package/lib/api-schemas/workflow-runs.d.ts +4 -0
- package/lib/api-schemas/workflow-runs.d.ts.map +1 -1
- package/lib/integrations.d.ts +1 -1
- package/lib/integrations.d.ts.map +1 -1
- package/lib/store/dsl-workflow.d.ts +4 -0
- package/lib/store/dsl-workflow.d.ts.map +1 -1
- package/lib/store/dsl-workflow.js.map +1 -1
- package/lib/store/intake-policy-schema.generated.d.ts.map +1 -1
- package/lib/store/intake-policy-schema.generated.js +10 -0
- package/lib/store/intake-policy-schema.generated.js.map +1 -1
- package/lib/vertesia-common.js +2 -2
- package/lib/vertesia-common.js.map +1 -1
- package/package.json +3 -3
- package/src/api-contract/components.generated.json +109 -7
- package/src/api-schemas/integrations.ts +12 -0
- package/src/api-schemas/llumiverse.contract.test.ts +15 -0
- package/src/api-schemas/process.ts +9 -1
- package/src/api-schemas/project.contract.test.ts +19 -0
- package/src/api-schemas/zeno-response-contracts.test.ts +24 -0
- package/src/integrations.ts +1 -1
- package/src/store/dsl-workflow.ts +4 -0
- package/src/store/intake-policy-schema.generated.ts +10 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertesia/common",
|
|
3
|
-
"version": "1.5.0-dev.
|
|
3
|
+
"version": "1.5.0-dev.20260901.033115Z",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"ajv": "^8.20.0",
|
|
37
37
|
"ajv-formats": "^3.0.1",
|
|
38
38
|
"zod": "^4.4.3",
|
|
39
|
-
"@llumiverse/common": "1.5.0-dev.
|
|
39
|
+
"@llumiverse/common": "1.5.0-dev.20260831.235912Z"
|
|
40
40
|
},
|
|
41
41
|
"repository": {
|
|
42
42
|
"type": "git",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"ai",
|
|
52
52
|
"typescript"
|
|
53
53
|
],
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "96b1587659282d517fe75878467b5fd82bbc1ac5",
|
|
55
55
|
"scripts": {
|
|
56
56
|
"lint": "biome lint src",
|
|
57
57
|
"test": "vitest run",
|
|
@@ -3454,6 +3454,11 @@
|
|
|
3454
3454
|
"type": "string",
|
|
3455
3455
|
"minLength": 1,
|
|
3456
3456
|
"description": "Provider-defined processing tier. Unknown non-empty values are preserved for forward compatibility."
|
|
3457
|
+
},
|
|
3458
|
+
"extra_body": {
|
|
3459
|
+
"type": "object",
|
|
3460
|
+
"additionalProperties": true,
|
|
3461
|
+
"description": "Additional provider-specific fields merged into the OpenAI-compatible request body."
|
|
3457
3462
|
}
|
|
3458
3463
|
},
|
|
3459
3464
|
"required": [
|
|
@@ -3522,6 +3527,11 @@
|
|
|
3522
3527
|
"type": "string",
|
|
3523
3528
|
"minLength": 1,
|
|
3524
3529
|
"description": "Provider-defined processing tier. Unknown non-empty values are preserved for forward compatibility."
|
|
3530
|
+
},
|
|
3531
|
+
"extra_body": {
|
|
3532
|
+
"type": "object",
|
|
3533
|
+
"additionalProperties": true,
|
|
3534
|
+
"description": "Additional provider-specific fields merged into the OpenAI-compatible request body."
|
|
3525
3535
|
}
|
|
3526
3536
|
},
|
|
3527
3537
|
"required": [
|
|
@@ -19084,6 +19094,17 @@
|
|
|
19084
19094
|
"webhook_secret_hint": {
|
|
19085
19095
|
"type": "string"
|
|
19086
19096
|
},
|
|
19097
|
+
"webhook_secret": {
|
|
19098
|
+
"anyOf": [
|
|
19099
|
+
{
|
|
19100
|
+
"type": "string",
|
|
19101
|
+
"description": "Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status."
|
|
19102
|
+
},
|
|
19103
|
+
{
|
|
19104
|
+
"type": "null"
|
|
19105
|
+
}
|
|
19106
|
+
]
|
|
19107
|
+
},
|
|
19087
19108
|
"events": {
|
|
19088
19109
|
"type": "array",
|
|
19089
19110
|
"items": {
|
|
@@ -19102,7 +19123,8 @@
|
|
|
19102
19123
|
},
|
|
19103
19124
|
"required": [
|
|
19104
19125
|
"integration",
|
|
19105
|
-
"enabled"
|
|
19126
|
+
"enabled",
|
|
19127
|
+
"webhook_secret"
|
|
19106
19128
|
],
|
|
19107
19129
|
"additionalProperties": false,
|
|
19108
19130
|
"description": "Configuration for ask_user webhook notifications. Sends webhooks when agents call ask_user and when users respond."
|
|
@@ -19122,6 +19144,17 @@
|
|
|
19122
19144
|
"api_key_hint": {
|
|
19123
19145
|
"type": "string"
|
|
19124
19146
|
},
|
|
19147
|
+
"api_key": {
|
|
19148
|
+
"anyOf": [
|
|
19149
|
+
{
|
|
19150
|
+
"type": "string",
|
|
19151
|
+
"description": "Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status."
|
|
19152
|
+
},
|
|
19153
|
+
{
|
|
19154
|
+
"type": "null"
|
|
19155
|
+
}
|
|
19156
|
+
]
|
|
19157
|
+
},
|
|
19125
19158
|
"email_domain": {
|
|
19126
19159
|
"type": "string",
|
|
19127
19160
|
"description": "Domain for email (both sending and receiving). Must be verified in Resend."
|
|
@@ -19136,6 +19169,17 @@
|
|
|
19136
19169
|
"webhook_secret_hint": {
|
|
19137
19170
|
"type": "string"
|
|
19138
19171
|
},
|
|
19172
|
+
"webhook_secret": {
|
|
19173
|
+
"anyOf": [
|
|
19174
|
+
{
|
|
19175
|
+
"type": "string",
|
|
19176
|
+
"description": "Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status."
|
|
19177
|
+
},
|
|
19178
|
+
{
|
|
19179
|
+
"type": "null"
|
|
19180
|
+
}
|
|
19181
|
+
]
|
|
19182
|
+
},
|
|
19139
19183
|
"allowed_sender_domains": {
|
|
19140
19184
|
"type": "array",
|
|
19141
19185
|
"items": {
|
|
@@ -19155,7 +19199,9 @@
|
|
|
19155
19199
|
"required": [
|
|
19156
19200
|
"integration",
|
|
19157
19201
|
"enabled",
|
|
19158
|
-
"
|
|
19202
|
+
"api_key",
|
|
19203
|
+
"email_domain",
|
|
19204
|
+
"webhook_secret"
|
|
19159
19205
|
],
|
|
19160
19206
|
"additionalProperties": false
|
|
19161
19207
|
},
|
|
@@ -19173,11 +19219,23 @@
|
|
|
19173
19219
|
},
|
|
19174
19220
|
"api_key_hint": {
|
|
19175
19221
|
"type": "string"
|
|
19222
|
+
},
|
|
19223
|
+
"api_key": {
|
|
19224
|
+
"anyOf": [
|
|
19225
|
+
{
|
|
19226
|
+
"type": "string",
|
|
19227
|
+
"description": "Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status."
|
|
19228
|
+
},
|
|
19229
|
+
{
|
|
19230
|
+
"type": "null"
|
|
19231
|
+
}
|
|
19232
|
+
]
|
|
19176
19233
|
}
|
|
19177
19234
|
},
|
|
19178
19235
|
"required": [
|
|
19179
19236
|
"integration",
|
|
19180
|
-
"enabled"
|
|
19237
|
+
"enabled",
|
|
19238
|
+
"api_key"
|
|
19181
19239
|
],
|
|
19182
19240
|
"additionalProperties": false
|
|
19183
19241
|
},
|
|
@@ -19195,11 +19253,23 @@
|
|
|
19195
19253
|
},
|
|
19196
19254
|
"api_key_hint": {
|
|
19197
19255
|
"type": "string"
|
|
19256
|
+
},
|
|
19257
|
+
"api_key": {
|
|
19258
|
+
"anyOf": [
|
|
19259
|
+
{
|
|
19260
|
+
"type": "string",
|
|
19261
|
+
"description": "Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status."
|
|
19262
|
+
},
|
|
19263
|
+
{
|
|
19264
|
+
"type": "null"
|
|
19265
|
+
}
|
|
19266
|
+
]
|
|
19198
19267
|
}
|
|
19199
19268
|
},
|
|
19200
19269
|
"required": [
|
|
19201
19270
|
"integration",
|
|
19202
|
-
"enabled"
|
|
19271
|
+
"enabled",
|
|
19272
|
+
"api_key"
|
|
19203
19273
|
],
|
|
19204
19274
|
"additionalProperties": false
|
|
19205
19275
|
},
|
|
@@ -19218,13 +19288,25 @@
|
|
|
19218
19288
|
"api_key_hint": {
|
|
19219
19289
|
"type": "string"
|
|
19220
19290
|
},
|
|
19291
|
+
"api_key": {
|
|
19292
|
+
"anyOf": [
|
|
19293
|
+
{
|
|
19294
|
+
"type": "string",
|
|
19295
|
+
"description": "Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status."
|
|
19296
|
+
},
|
|
19297
|
+
{
|
|
19298
|
+
"type": "null"
|
|
19299
|
+
}
|
|
19300
|
+
]
|
|
19301
|
+
},
|
|
19221
19302
|
"url": {
|
|
19222
19303
|
"type": "string"
|
|
19223
19304
|
}
|
|
19224
19305
|
},
|
|
19225
19306
|
"required": [
|
|
19226
19307
|
"integration",
|
|
19227
|
-
"enabled"
|
|
19308
|
+
"enabled",
|
|
19309
|
+
"api_key"
|
|
19228
19310
|
],
|
|
19229
19311
|
"additionalProperties": false
|
|
19230
19312
|
},
|
|
@@ -19274,13 +19356,25 @@
|
|
|
19274
19356
|
"api_key_hint": {
|
|
19275
19357
|
"type": "string"
|
|
19276
19358
|
},
|
|
19359
|
+
"api_key": {
|
|
19360
|
+
"anyOf": [
|
|
19361
|
+
{
|
|
19362
|
+
"type": "string",
|
|
19363
|
+
"description": "Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status."
|
|
19364
|
+
},
|
|
19365
|
+
{
|
|
19366
|
+
"type": "null"
|
|
19367
|
+
}
|
|
19368
|
+
]
|
|
19369
|
+
},
|
|
19277
19370
|
"url": {
|
|
19278
19371
|
"type": "string"
|
|
19279
19372
|
}
|
|
19280
19373
|
},
|
|
19281
19374
|
"required": [
|
|
19282
19375
|
"integration",
|
|
19283
|
-
"enabled"
|
|
19376
|
+
"enabled",
|
|
19377
|
+
"api_key"
|
|
19284
19378
|
],
|
|
19285
19379
|
"additionalProperties": false
|
|
19286
19380
|
},
|
|
@@ -24618,11 +24712,19 @@
|
|
|
24618
24712
|
"type": {
|
|
24619
24713
|
"type": "string",
|
|
24620
24714
|
"const": "workflow",
|
|
24621
|
-
"description": "
|
|
24715
|
+
"description": "Identifies this step as a child workflow"
|
|
24622
24716
|
},
|
|
24623
24717
|
"name": {
|
|
24624
24718
|
"type": "string"
|
|
24625
24719
|
},
|
|
24720
|
+
"title": {
|
|
24721
|
+
"type": "string",
|
|
24722
|
+
"description": "Title of the child workflow to be displayed in the UI workflow builder"
|
|
24723
|
+
},
|
|
24724
|
+
"description": {
|
|
24725
|
+
"type": "string",
|
|
24726
|
+
"description": "Description of the child workflow displayed in the UI workflow builder"
|
|
24727
|
+
},
|
|
24626
24728
|
"vars": {
|
|
24627
24729
|
"type": "object",
|
|
24628
24730
|
"additionalProperties": true,
|
|
@@ -5,6 +5,11 @@ import { SupportedIntegrations } from '../integrations.js';
|
|
|
5
5
|
import { StringValueMapSchema } from './files.js';
|
|
6
6
|
import { DSLActivityOptionsSchema } from './process.js';
|
|
7
7
|
|
|
8
|
+
const agentOnlyDecryptedSecretSchema = z.string().meta({
|
|
9
|
+
description:
|
|
10
|
+
'Decrypted credential returned only to authenticated agent principals for runtime use. Human and service-account callers receive null; presence and hint fields report configuration status.',
|
|
11
|
+
});
|
|
12
|
+
|
|
8
13
|
export const SupportedIntegrations_ask_user_webhookSchema = z
|
|
9
14
|
.literal(SupportedIntegrations.ask_user_webhook)
|
|
10
15
|
.meta({ id: 'SupportedIntegrations_ask_user_webhook' });
|
|
@@ -54,6 +59,7 @@ export const AskUserWebhookConfigurationSchema = z
|
|
|
54
59
|
webhook_url: z.string().meta({ description: 'Webhook URL to receive ask_user events' }).optional(),
|
|
55
60
|
has_webhook_secret: z.boolean().optional(),
|
|
56
61
|
webhook_secret_hint: z.string().optional(),
|
|
62
|
+
webhook_secret: agentOnlyDecryptedSecretSchema.nullable(),
|
|
57
63
|
events: z
|
|
58
64
|
.array(z.enum(['requested', 'resolved']))
|
|
59
65
|
.meta({ description: "Which events to send: ['requested', 'resolved'] or subset (default: both)" })
|
|
@@ -74,6 +80,7 @@ export const ResendConfigurationSchema = z
|
|
|
74
80
|
enabled: z.boolean(),
|
|
75
81
|
has_api_key: z.boolean().optional(),
|
|
76
82
|
api_key_hint: z.string().optional(),
|
|
83
|
+
api_key: agentOnlyDecryptedSecretSchema.nullable(),
|
|
77
84
|
email_domain: z
|
|
78
85
|
.string()
|
|
79
86
|
.meta({ description: 'Domain for email (both sending and receiving). Must be verified in Resend.' }),
|
|
@@ -83,6 +90,7 @@ export const ResendConfigurationSchema = z
|
|
|
83
90
|
.optional(),
|
|
84
91
|
has_webhook_secret: z.boolean().optional(),
|
|
85
92
|
webhook_secret_hint: z.string().optional(),
|
|
93
|
+
webhook_secret: agentOnlyDecryptedSecretSchema.nullable(),
|
|
86
94
|
allowed_sender_domains: z
|
|
87
95
|
.array(z.string())
|
|
88
96
|
.meta({ description: 'Domains allowed to send emails TO start agents (for inbound validation)' })
|
|
@@ -104,6 +112,7 @@ export const LinkupConfigurationSchema = z
|
|
|
104
112
|
enabled: z.boolean(),
|
|
105
113
|
has_api_key: z.boolean().optional(),
|
|
106
114
|
api_key_hint: z.string().optional(),
|
|
115
|
+
api_key: agentOnlyDecryptedSecretSchema.nullable(),
|
|
107
116
|
})
|
|
108
117
|
.meta({ id: 'LinkupConfiguration' });
|
|
109
118
|
|
|
@@ -113,6 +122,7 @@ export const ExaConfigurationSchema = z
|
|
|
113
122
|
enabled: z.boolean(),
|
|
114
123
|
has_api_key: z.boolean().optional(),
|
|
115
124
|
api_key_hint: z.string().optional(),
|
|
125
|
+
api_key: agentOnlyDecryptedSecretSchema.nullable(),
|
|
116
126
|
})
|
|
117
127
|
.meta({ id: 'ExaConfiguration' });
|
|
118
128
|
|
|
@@ -122,6 +132,7 @@ export const SerperConfigurationSchema = z
|
|
|
122
132
|
enabled: z.boolean(),
|
|
123
133
|
has_api_key: z.boolean().optional(),
|
|
124
134
|
api_key_hint: z.string().optional(),
|
|
135
|
+
api_key: agentOnlyDecryptedSecretSchema.nullable(),
|
|
125
136
|
url: z.string().optional(),
|
|
126
137
|
})
|
|
127
138
|
.meta({ id: 'SerperConfiguration' });
|
|
@@ -151,6 +162,7 @@ export const GladiaConfigurationSchema = z
|
|
|
151
162
|
enabled: z.boolean(),
|
|
152
163
|
has_api_key: z.boolean().optional(),
|
|
153
164
|
api_key_hint: z.string().optional(),
|
|
165
|
+
api_key: agentOnlyDecryptedSecretSchema.nullable(),
|
|
154
166
|
url: z.string().optional(),
|
|
155
167
|
})
|
|
156
168
|
.meta({ id: 'GladiaConfiguration' });
|
|
@@ -96,6 +96,21 @@ describe('the ModelOptions closure is published whole and enforced closed', () =
|
|
|
96
96
|
).toBe(true);
|
|
97
97
|
expect(validate({ _option_id: 'not-a-driver' })).toBe(false);
|
|
98
98
|
});
|
|
99
|
+
|
|
100
|
+
it('allows provider-specific objects only inside OpenAI-compatible extra_body', () => {
|
|
101
|
+
const validate = compile('ModelOptions');
|
|
102
|
+
expect(
|
|
103
|
+
validate({
|
|
104
|
+
_option_id: 'openai-text',
|
|
105
|
+
extra_body: {
|
|
106
|
+
provider: { sort: 'throughput', allow_fallbacks: false },
|
|
107
|
+
baseten: { performance: 'max' },
|
|
108
|
+
},
|
|
109
|
+
}),
|
|
110
|
+
JSON.stringify(validate.errors),
|
|
111
|
+
).toBe(true);
|
|
112
|
+
expect(validate({ _option_id: 'openai-text', extra_body: ['invalid'] })).toBe(false);
|
|
113
|
+
});
|
|
99
114
|
});
|
|
100
115
|
|
|
101
116
|
describe('the JSONSchema closure is published open, because a JSON Schema is open', () => {
|
|
@@ -571,8 +571,16 @@ export const CreateProcessDefinitionPayloadSchema: z.ZodType = z
|
|
|
571
571
|
|
|
572
572
|
export const DSLChildWorkflowStepSchema: z.ZodType = z
|
|
573
573
|
.strictObject({
|
|
574
|
-
type: z.literal('workflow').meta({ description: '
|
|
574
|
+
type: z.literal('workflow').meta({ description: 'Identifies this step as a child workflow' }),
|
|
575
575
|
name: z.string(),
|
|
576
|
+
title: z
|
|
577
|
+
.string()
|
|
578
|
+
.meta({ description: 'Title of the child workflow to be displayed in the UI workflow builder' })
|
|
579
|
+
.optional(),
|
|
580
|
+
description: z
|
|
581
|
+
.string()
|
|
582
|
+
.meta({ description: 'Description of the child workflow displayed in the UI workflow builder' })
|
|
583
|
+
.optional(),
|
|
576
584
|
vars: z
|
|
577
585
|
.looseObject({})
|
|
578
586
|
.meta({
|
|
@@ -98,6 +98,7 @@ describe('gate 1 — the schema is the single source of truth for the converted
|
|
|
98
98
|
validateApiResponse('ProjectIntegrationConfigResponse', {
|
|
99
99
|
integration: SupportedIntegrations.ask_user_webhook,
|
|
100
100
|
enabled: false,
|
|
101
|
+
webhook_secret: null,
|
|
101
102
|
}).valid,
|
|
102
103
|
).toBe(true);
|
|
103
104
|
expect(
|
|
@@ -105,6 +106,7 @@ describe('gate 1 — the schema is the single source of truth for the converted
|
|
|
105
106
|
integration: SupportedIntegrations.ask_user_webhook,
|
|
106
107
|
enabled: true,
|
|
107
108
|
webhook_url: 'https://example.test/hooks/ask-user',
|
|
109
|
+
webhook_secret: null,
|
|
108
110
|
}).valid,
|
|
109
111
|
).toBe(true);
|
|
110
112
|
});
|
|
@@ -393,6 +395,23 @@ describe('gate 4 — AJV validates the same canonical objects that are published
|
|
|
393
395
|
});
|
|
394
396
|
|
|
395
397
|
describe('gate 5 — runtime enforcement uses the published components', () => {
|
|
398
|
+
it('accepts decrypted integration credentials only on the response contract', () => {
|
|
399
|
+
expect(
|
|
400
|
+
validateApiResponse('ProjectIntegrationConfigResponse', {
|
|
401
|
+
integration: SupportedIntegrations.exa,
|
|
402
|
+
enabled: true,
|
|
403
|
+
api_key: 'agent-runtime-secret',
|
|
404
|
+
}).valid,
|
|
405
|
+
).toBe(true);
|
|
406
|
+
expect(
|
|
407
|
+
validateApiResponse('ProjectIntegrationConfigResponse', {
|
|
408
|
+
integration: SupportedIntegrations.ask_user_webhook,
|
|
409
|
+
enabled: true,
|
|
410
|
+
webhook_secret: 'agent-runtime-secret',
|
|
411
|
+
}).valid,
|
|
412
|
+
).toBe(true);
|
|
413
|
+
});
|
|
414
|
+
|
|
396
415
|
it('checks the shared count response the same way for every service that returns it', () => {
|
|
397
416
|
// Four slots across three resources and two servers, so this component had to move as a unit.
|
|
398
417
|
expect(validateApiResponse('CountResult', { count: 0 }).valid).toBe(true);
|
|
@@ -186,6 +186,30 @@ describe('Zeno read-side response contracts', () => {
|
|
|
186
186
|
).toBe(true);
|
|
187
187
|
});
|
|
188
188
|
|
|
189
|
+
it('accepts display metadata on child-workflow steps', () => {
|
|
190
|
+
expect(
|
|
191
|
+
validateApiResponse('DSLWorkflowDefinitionResponse', {
|
|
192
|
+
id: 'workflow-1',
|
|
193
|
+
name: 'Parent workflow',
|
|
194
|
+
edit_revision: 1,
|
|
195
|
+
created_by: 'user-1',
|
|
196
|
+
updated_by: 'user-1',
|
|
197
|
+
created_at: timestamp,
|
|
198
|
+
updated_at: timestamp,
|
|
199
|
+
vars: {},
|
|
200
|
+
spec_format: 'steps',
|
|
201
|
+
steps: [
|
|
202
|
+
{
|
|
203
|
+
type: 'workflow',
|
|
204
|
+
name: 'childWorkflow',
|
|
205
|
+
title: 'Review documents',
|
|
206
|
+
description: 'Runs the review child workflow',
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
}).valid,
|
|
210
|
+
).toBe(true);
|
|
211
|
+
});
|
|
212
|
+
|
|
189
213
|
it('accepts explicit file, embedding, facet, and data-table wire objects', () => {
|
|
190
214
|
expect(
|
|
191
215
|
validateApiResponse('FileMetadataResponse', {
|
package/src/integrations.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type GladiaConfigurationInput = z.infer<typeof GladiaConfigurationInputSc
|
|
|
25
25
|
export type GladiaConfiguration = z.infer<typeof GladiaConfigurationSchema>;
|
|
26
26
|
|
|
27
27
|
export interface GladiaConfigurationWithSecrets extends GladiaConfiguration {
|
|
28
|
-
api_key
|
|
28
|
+
api_key: string | null;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export type GithubConfigurationInput = z.infer<typeof GithubConfigurationInputSchema>;
|
|
@@ -105,6 +105,10 @@ export interface DSLChildWorkflowStep extends DSLWorkflowStepBase {
|
|
|
105
105
|
type: 'workflow';
|
|
106
106
|
// the workflow endpoint to run
|
|
107
107
|
name: string;
|
|
108
|
+
/** Title displayed for the child workflow in the workflow builder. */
|
|
109
|
+
title?: string;
|
|
110
|
+
/** Description displayed for the child workflow in the workflow builder. */
|
|
111
|
+
description?: string;
|
|
108
112
|
/**
|
|
109
113
|
* The parameters to pass to the child workflow.
|
|
110
114
|
* These parameters will be merged over the parent workflow vars and passed altogether to the child workflow.
|
|
@@ -1407,6 +1407,11 @@ export const ContentTypeIntakePolicySchema: JSONObject = {
|
|
|
1407
1407
|
description:
|
|
1408
1408
|
'Provider-defined processing tier. Unknown non-empty values are preserved for forward compatibility.',
|
|
1409
1409
|
},
|
|
1410
|
+
extra_body: {
|
|
1411
|
+
type: 'object',
|
|
1412
|
+
additionalProperties: true,
|
|
1413
|
+
description: 'Additional provider-specific fields merged into the OpenAI-compatible request body.',
|
|
1414
|
+
},
|
|
1410
1415
|
},
|
|
1411
1416
|
required: ['_option_id'],
|
|
1412
1417
|
additionalProperties: false,
|
|
@@ -1446,6 +1451,11 @@ export const ContentTypeIntakePolicySchema: JSONObject = {
|
|
|
1446
1451
|
description:
|
|
1447
1452
|
'Provider-defined processing tier. Unknown non-empty values are preserved for forward compatibility.',
|
|
1448
1453
|
},
|
|
1454
|
+
extra_body: {
|
|
1455
|
+
type: 'object',
|
|
1456
|
+
additionalProperties: true,
|
|
1457
|
+
description: 'Additional provider-specific fields merged into the OpenAI-compatible request body.',
|
|
1458
|
+
},
|
|
1449
1459
|
},
|
|
1450
1460
|
required: ['_option_id'],
|
|
1451
1461
|
additionalProperties: false,
|