@swiss-ai-hub/web 0.317.1 → 0.319.0
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/README.md +2 -2
- package/components/Agent/Card.vue +2 -4
- package/components/FormKit/DynamicConfiguration.vue +17 -0
- package/components/FormKit/LocaleInput.vue +11 -1
- package/components/FormKit/TenantSelect.vue +5 -5
- package/components/Knowledge/Document/List.vue +8 -2
- package/composables/app/useAppVersion.ts +19 -4
- package/composables/form/useFormKitTransform.ts +62 -7
- package/formkit.config.ts +30 -0
- package/i18n/locales/de.yaml +4 -0
- package/i18n/locales/en.yaml +3 -0
- package/i18n/locales/fr.yaml +4 -0
- package/i18n/locales/it.yaml +4 -0
- package/package.json +1 -2
- package/pages/[tenant]/service/agents/[agent_class]-[agent_id]/configuration.vue +4 -1
- package/pages/[tenant]/service/agents.vue +1 -1
- package/pages/[tenant]/service/processes/[process_class]-[process_id]/configuration.vue +2 -0
- package/sdk/client/index.ts +5 -0
- package/sdk/client/schemas.gen.ts +715 -3
- package/sdk/client/types.gen.ts +507 -2
package/sdk/client/types.gen.ts
CHANGED
|
@@ -355,6 +355,7 @@ export type AgentClassDto = {
|
|
|
355
355
|
| Checkbox
|
|
356
356
|
| ChipsInput
|
|
357
357
|
| ColorPicker
|
|
358
|
+
| CronInput
|
|
358
359
|
| DatePicker
|
|
359
360
|
| Group
|
|
360
361
|
| IconSelector
|
|
@@ -419,6 +420,12 @@ export type AgentClassDto = {
|
|
|
419
420
|
* Whether the agent class can participate in a chat-based conversation
|
|
420
421
|
*/
|
|
421
422
|
is_conversational: boolean;
|
|
423
|
+
/**
|
|
424
|
+
* Is Schedulable
|
|
425
|
+
*
|
|
426
|
+
* Whether the agent class can be run automatically on a cron schedule
|
|
427
|
+
*/
|
|
428
|
+
is_schedulable?: boolean;
|
|
422
429
|
/**
|
|
423
430
|
* Is Online
|
|
424
431
|
*
|
|
@@ -482,6 +489,7 @@ export type AgentConfigDto = {
|
|
|
482
489
|
| Checkbox
|
|
483
490
|
| ChipsInput
|
|
484
491
|
| ColorPicker
|
|
492
|
+
| CronInput
|
|
485
493
|
| DatePicker
|
|
486
494
|
| Group
|
|
487
495
|
| IconSelector
|
|
@@ -3850,6 +3858,7 @@ export type ContextualizedAgentEvent = {
|
|
|
3850
3858
|
| ToolEvent
|
|
3851
3859
|
| UserMessageEvent
|
|
3852
3860
|
| RagStartEvent
|
|
3861
|
+
| ScheduledStartEvent
|
|
3853
3862
|
| ExceptionEvent
|
|
3854
3863
|
| RagSuccessStopEvent
|
|
3855
3864
|
| RagFailureStopEvent
|
|
@@ -4141,6 +4150,144 @@ export type CreateTokenResponse = {
|
|
|
4141
4150
|
token: string;
|
|
4142
4151
|
};
|
|
4143
4152
|
|
|
4153
|
+
/**
|
|
4154
|
+
* CronInput
|
|
4155
|
+
*
|
|
4156
|
+
* A FormKit element for editing the cron schedule of a schedulable agent profile.
|
|
4157
|
+
*
|
|
4158
|
+
* The element renders the five cron positions plus a timezone selector, and the submitted value
|
|
4159
|
+
* matches the fields of `AgentSchedule`:
|
|
4160
|
+
* {
|
|
4161
|
+
* "minute": str,
|
|
4162
|
+
* "hour": str,
|
|
4163
|
+
* "day_of_month": str,
|
|
4164
|
+
* "month": str,
|
|
4165
|
+
* "day_of_week": str,
|
|
4166
|
+
* "timezone": str,
|
|
4167
|
+
* }
|
|
4168
|
+
*
|
|
4169
|
+
* Presets and the plain-language summary of the current schedule are delivered by the Admin UI
|
|
4170
|
+
* (see the cron schedule configuration UI issue); this element only declares the contract.
|
|
4171
|
+
*
|
|
4172
|
+
* ### Form Duality
|
|
4173
|
+
* ```python
|
|
4174
|
+
* from swiss_ai_hub.core.form.elements.cron_input import CronInput
|
|
4175
|
+
* from swiss_ai_hub.core.scheduling.agent_schedule import AgentSchedule
|
|
4176
|
+
*
|
|
4177
|
+
* class MyAgentConfig(AgentConfig):
|
|
4178
|
+
* schedule: Annotated[
|
|
4179
|
+
* AgentSchedule | CronInput | None,
|
|
4180
|
+
* Field(description="When this profile runs automatically"),
|
|
4181
|
+
* ] = None
|
|
4182
|
+
*
|
|
4183
|
+
* # Form mode - for rendering:
|
|
4184
|
+
* config = MyAgentConfig(schedule=CronInput(label=LocaleString(en="Schedule")))
|
|
4185
|
+
*
|
|
4186
|
+
* # Data mode - from submission (Pydantic validates into AgentSchedule):
|
|
4187
|
+
* config = MyAgentConfig(schedule=AgentSchedule(hour="12", timezone="Europe/Zurich"))
|
|
4188
|
+
* ```
|
|
4189
|
+
*/
|
|
4190
|
+
export type CronInput = {
|
|
4191
|
+
/**
|
|
4192
|
+
* Is Formkit Element
|
|
4193
|
+
*
|
|
4194
|
+
* Indicates that this element is a FormKit element
|
|
4195
|
+
*/
|
|
4196
|
+
is_formkit_element?: true;
|
|
4197
|
+
/**
|
|
4198
|
+
* If
|
|
4199
|
+
*
|
|
4200
|
+
* Conditional expression to show this element
|
|
4201
|
+
*/
|
|
4202
|
+
if?: string | null;
|
|
4203
|
+
/**
|
|
4204
|
+
* Id
|
|
4205
|
+
*
|
|
4206
|
+
* Unique identifier for this element
|
|
4207
|
+
*/
|
|
4208
|
+
id?: string | null;
|
|
4209
|
+
/**
|
|
4210
|
+
* Nullable
|
|
4211
|
+
*
|
|
4212
|
+
* Render with a sibling toggle that sets this field to null when off
|
|
4213
|
+
*/
|
|
4214
|
+
nullable?: boolean;
|
|
4215
|
+
/**
|
|
4216
|
+
* Defaultenabled
|
|
4217
|
+
*
|
|
4218
|
+
* For a nullable element, whether its toggle should start enabled on a fresh form (i.e. the field's data default is non-null). Ignored for non-nullable elements.
|
|
4219
|
+
*/
|
|
4220
|
+
defaultEnabled?: boolean | null;
|
|
4221
|
+
/**
|
|
4222
|
+
* Formkit
|
|
4223
|
+
*
|
|
4224
|
+
* Cron schedule input element.
|
|
4225
|
+
*/
|
|
4226
|
+
formkit?: "cronInput";
|
|
4227
|
+
/**
|
|
4228
|
+
* Name
|
|
4229
|
+
*
|
|
4230
|
+
* Name of this field
|
|
4231
|
+
*/
|
|
4232
|
+
name?: string | null;
|
|
4233
|
+
/**
|
|
4234
|
+
* Label
|
|
4235
|
+
*
|
|
4236
|
+
* Label of this field
|
|
4237
|
+
*/
|
|
4238
|
+
label: LocaleString | string;
|
|
4239
|
+
/**
|
|
4240
|
+
* Help
|
|
4241
|
+
*
|
|
4242
|
+
* Help text of this field
|
|
4243
|
+
*/
|
|
4244
|
+
help?: LocaleString | string | null;
|
|
4245
|
+
/**
|
|
4246
|
+
* Value
|
|
4247
|
+
*
|
|
4248
|
+
* Default value for this field
|
|
4249
|
+
*/
|
|
4250
|
+
value?:
|
|
4251
|
+
| string
|
|
4252
|
+
| number
|
|
4253
|
+
| number
|
|
4254
|
+
| boolean
|
|
4255
|
+
| Array<string>
|
|
4256
|
+
| {
|
|
4257
|
+
[key: string]: string;
|
|
4258
|
+
}
|
|
4259
|
+
| null;
|
|
4260
|
+
/**
|
|
4261
|
+
* Required
|
|
4262
|
+
*
|
|
4263
|
+
* Whether this field is required
|
|
4264
|
+
*/
|
|
4265
|
+
required?: boolean;
|
|
4266
|
+
/**
|
|
4267
|
+
* Additional Validation Rules
|
|
4268
|
+
*
|
|
4269
|
+
* Validation expression
|
|
4270
|
+
*/
|
|
4271
|
+
additional_validation_rules?: string | null;
|
|
4272
|
+
/**
|
|
4273
|
+
* Timezoneplaceholder
|
|
4274
|
+
*
|
|
4275
|
+
* Placeholder for the timezone select
|
|
4276
|
+
*/
|
|
4277
|
+
timezonePlaceholder?: LocaleString | string | null;
|
|
4278
|
+
/**
|
|
4279
|
+
* Filter
|
|
4280
|
+
*
|
|
4281
|
+
* Whether to enable filtering/search on the timezone select
|
|
4282
|
+
*/
|
|
4283
|
+
filter?: boolean;
|
|
4284
|
+
/**
|
|
4285
|
+
* Validation
|
|
4286
|
+
*/
|
|
4287
|
+
readonly validation: string;
|
|
4288
|
+
[key: string]: unknown;
|
|
4289
|
+
};
|
|
4290
|
+
|
|
4144
4291
|
/**
|
|
4145
4292
|
* Custom
|
|
4146
4293
|
*
|
|
@@ -5638,6 +5785,12 @@ export type FullAgentInstanceDto = {
|
|
|
5638
5785
|
* Whether the agent can participate in a chat-based conversation
|
|
5639
5786
|
*/
|
|
5640
5787
|
is_conversational: boolean;
|
|
5788
|
+
/**
|
|
5789
|
+
* Is Schedulable
|
|
5790
|
+
*
|
|
5791
|
+
* Whether the agent can be run automatically on a cron schedule
|
|
5792
|
+
*/
|
|
5793
|
+
is_schedulable?: boolean;
|
|
5641
5794
|
/**
|
|
5642
5795
|
* Start Events
|
|
5643
5796
|
*
|
|
@@ -5749,6 +5902,7 @@ export type FullProcessInstanceDto = {
|
|
|
5749
5902
|
| Checkbox
|
|
5750
5903
|
| ChipsInput
|
|
5751
5904
|
| ColorPicker
|
|
5905
|
+
| CronInput
|
|
5752
5906
|
| DatePicker
|
|
5753
5907
|
| Group
|
|
5754
5908
|
| IconSelector
|
|
@@ -5917,6 +6071,12 @@ export type Group = {
|
|
|
5917
6071
|
* Optional label displayed above the group
|
|
5918
6072
|
*/
|
|
5919
6073
|
label?: LocaleString | string | null;
|
|
6074
|
+
/**
|
|
6075
|
+
* Help
|
|
6076
|
+
*
|
|
6077
|
+
* Optional explanatory text rendered on the group's enable toggle
|
|
6078
|
+
*/
|
|
6079
|
+
help?: LocaleString | string | null;
|
|
5920
6080
|
/**
|
|
5921
6081
|
* Children
|
|
5922
6082
|
*
|
|
@@ -5929,6 +6089,7 @@ export type Group = {
|
|
|
5929
6089
|
| Checkbox
|
|
5930
6090
|
| ChipsInput
|
|
5931
6091
|
| ColorPicker
|
|
6092
|
+
| CronInput
|
|
5932
6093
|
| DatePicker
|
|
5933
6094
|
| Group
|
|
5934
6095
|
| IconSelector
|
|
@@ -6284,6 +6445,7 @@ export type HumanInDto = {
|
|
|
6284
6445
|
| Checkbox
|
|
6285
6446
|
| ChipsInput
|
|
6286
6447
|
| ColorPicker
|
|
6448
|
+
| CronInput
|
|
6287
6449
|
| DatePicker
|
|
6288
6450
|
| Group
|
|
6289
6451
|
| IconSelector
|
|
@@ -6364,6 +6526,7 @@ export type HumanInSpecs = {
|
|
|
6364
6526
|
| Checkbox
|
|
6365
6527
|
| ChipsInput
|
|
6366
6528
|
| ColorPicker
|
|
6529
|
+
| CronInput
|
|
6367
6530
|
| DatePicker
|
|
6368
6531
|
| Group
|
|
6369
6532
|
| IconSelector
|
|
@@ -9134,6 +9297,13 @@ export type LocaleInput = {
|
|
|
9134
9297
|
placeholder?: LocaleString | string | null;
|
|
9135
9298
|
/**
|
|
9136
9299
|
* Validation
|
|
9300
|
+
*
|
|
9301
|
+
* Emits `localeRequired` where other elements emit FormKit's `required`.
|
|
9302
|
+
*
|
|
9303
|
+
* FormKit's `required` rule only asks whether a value is present, and this element's
|
|
9304
|
+
* value is always a `{de, en, fr, it}` object — non-empty, therefore passing, even when
|
|
9305
|
+
* every locale inside it is blank. `localeRequired` (registered in the frontend FormKit
|
|
9306
|
+
* config) looks at the locale values themselves.
|
|
9137
9307
|
*/
|
|
9138
9308
|
readonly validation: string;
|
|
9139
9309
|
[key: string]: unknown;
|
|
@@ -9420,6 +9590,10 @@ export type MailFetchedEvent = {
|
|
|
9420
9590
|
* References to the message's attachments stored in S3.
|
|
9421
9591
|
*/
|
|
9422
9592
|
attachments?: Array<MailAttachmentRef>;
|
|
9593
|
+
/**
|
|
9594
|
+
* Reference to the original RFC822 message stored in S3, or null when it was not stored.
|
|
9595
|
+
*/
|
|
9596
|
+
original_message?: MailMessageRef | null;
|
|
9423
9597
|
/**
|
|
9424
9598
|
* Event Name
|
|
9425
9599
|
*
|
|
@@ -9436,6 +9610,43 @@ export type MailFetchedEvent = {
|
|
|
9436
9610
|
[key: string]: unknown;
|
|
9437
9611
|
};
|
|
9438
9612
|
|
|
9613
|
+
/**
|
|
9614
|
+
* MailMessageRef
|
|
9615
|
+
*
|
|
9616
|
+
* Reference to a fetched message's original RFC822 bytes, stored in S3 rather than carried in the event.
|
|
9617
|
+
*
|
|
9618
|
+
* Mirrors ``MailAttachmentRef``: the message is referenced by ``file_id`` so the raw mail — which may be
|
|
9619
|
+
* orders of magnitude larger than the summary the event carries — never enters the audit trail or the
|
|
9620
|
+
* WebSocket stream. The stored object is the message **verbatim**, so it also preserves what the event
|
|
9621
|
+
* deliberately omits: the recipients and the untrusted HTML body.
|
|
9622
|
+
*/
|
|
9623
|
+
export type MailMessageRef = {
|
|
9624
|
+
/**
|
|
9625
|
+
* Filename
|
|
9626
|
+
*
|
|
9627
|
+
* Filename the message is stored under, e.g. '1234.eml'. Must not contain path separators.
|
|
9628
|
+
*/
|
|
9629
|
+
filename: string;
|
|
9630
|
+
/**
|
|
9631
|
+
* Content Type
|
|
9632
|
+
*
|
|
9633
|
+
* MIME type of the stored message.
|
|
9634
|
+
*/
|
|
9635
|
+
content_type?: string;
|
|
9636
|
+
/**
|
|
9637
|
+
* File Id
|
|
9638
|
+
*
|
|
9639
|
+
* UUID4 file identifier; the S3 object key is derived from the agent identity at runtime.
|
|
9640
|
+
*/
|
|
9641
|
+
file_id: string;
|
|
9642
|
+
/**
|
|
9643
|
+
* Size Bytes
|
|
9644
|
+
*
|
|
9645
|
+
* Size of the stored message in bytes.
|
|
9646
|
+
*/
|
|
9647
|
+
size_bytes: number;
|
|
9648
|
+
};
|
|
9649
|
+
|
|
9439
9650
|
/**
|
|
9440
9651
|
* MailMovedEvent
|
|
9441
9652
|
*
|
|
@@ -10000,6 +10211,12 @@ export type MinimalAgentInstanceDto = {
|
|
|
10000
10211
|
* Whether the agent can participate in a chat-based conversation
|
|
10001
10212
|
*/
|
|
10002
10213
|
is_conversational: boolean;
|
|
10214
|
+
/**
|
|
10215
|
+
* Is Schedulable
|
|
10216
|
+
*
|
|
10217
|
+
* Whether the agent can be run automatically on a cron schedule
|
|
10218
|
+
*/
|
|
10219
|
+
is_schedulable?: boolean;
|
|
10003
10220
|
};
|
|
10004
10221
|
|
|
10005
10222
|
/**
|
|
@@ -11476,6 +11693,7 @@ export type ProcessClassDto = {
|
|
|
11476
11693
|
| Checkbox
|
|
11477
11694
|
| ChipsInput
|
|
11478
11695
|
| ColorPicker
|
|
11696
|
+
| CronInput
|
|
11479
11697
|
| DatePicker
|
|
11480
11698
|
| Group
|
|
11481
11699
|
| IconSelector
|
|
@@ -12510,6 +12728,7 @@ export type Repeater = {
|
|
|
12510
12728
|
| Checkbox
|
|
12511
12729
|
| ChipsInput
|
|
12512
12730
|
| ColorPicker
|
|
12731
|
+
| CronInput
|
|
12513
12732
|
| DatePicker
|
|
12514
12733
|
| Group
|
|
12515
12734
|
| IconSelector
|
|
@@ -13092,6 +13311,70 @@ export type RunStatistics = {
|
|
|
13092
13311
|
agent: MinimalAgentInstanceDto;
|
|
13093
13312
|
};
|
|
13094
13313
|
|
|
13314
|
+
/**
|
|
13315
|
+
* ScheduledStartEvent
|
|
13316
|
+
*
|
|
13317
|
+
* Start event fired by the cron scheduler — handling it is what makes an agent schedulable.
|
|
13318
|
+
*
|
|
13319
|
+
* Mirrors how accepting a `UserMessageEvent` makes an agent conversational: `AgentRunner` derives
|
|
13320
|
+
* `is_schedulable` from the start events an agent declares, so a blueprint opts in by adding a step
|
|
13321
|
+
* that consumes this event, with no separate registration.
|
|
13322
|
+
*
|
|
13323
|
+
* Scheduled runs are system runs, so `user` is always None and the agent must not depend on an
|
|
13324
|
+
* initiating identity. Whatever tenant context the agent needs comes from its own profile
|
|
13325
|
+
* configuration (as `OrgMemoryWriteConfig.tenant_id` already does), never from the run.
|
|
13326
|
+
*/
|
|
13327
|
+
export type ScheduledStartEvent = {
|
|
13328
|
+
/**
|
|
13329
|
+
* Event Id
|
|
13330
|
+
*/
|
|
13331
|
+
event_id?: string;
|
|
13332
|
+
/**
|
|
13333
|
+
* Created At
|
|
13334
|
+
*
|
|
13335
|
+
* The time (in ns since epoch) the event was stored in the event store
|
|
13336
|
+
*/
|
|
13337
|
+
created_at?: number;
|
|
13338
|
+
/**
|
|
13339
|
+
* Display name for the event
|
|
13340
|
+
*/
|
|
13341
|
+
display_name?: LocaleString | null;
|
|
13342
|
+
/**
|
|
13343
|
+
* Display description for the event
|
|
13344
|
+
*/
|
|
13345
|
+
display_description?: LocaleString | null;
|
|
13346
|
+
/**
|
|
13347
|
+
* Locale
|
|
13348
|
+
*
|
|
13349
|
+
* The locale the scheduled run reports its display output in.
|
|
13350
|
+
*/
|
|
13351
|
+
locale?: string;
|
|
13352
|
+
/**
|
|
13353
|
+
* Always None — scheduled runs are system-initiated and carry no execution identity.
|
|
13354
|
+
*/
|
|
13355
|
+
user?: UserIdentity | null;
|
|
13356
|
+
/**
|
|
13357
|
+
* Scheduled For
|
|
13358
|
+
*
|
|
13359
|
+
* The cron occurrence this run fires for, in UTC. Distinct from `created_at`, which records when the scheduler published the event — the two differ by the scheduler's tick latency.
|
|
13360
|
+
*/
|
|
13361
|
+
scheduled_for: Date;
|
|
13362
|
+
/**
|
|
13363
|
+
* Event Name
|
|
13364
|
+
*
|
|
13365
|
+
* The event type name, usually the class name. If unknown, uses _unknown_event_name.
|
|
13366
|
+
* Used during deserialization to decide which subclass to instantiate.
|
|
13367
|
+
*/
|
|
13368
|
+
readonly _event_name: string;
|
|
13369
|
+
/**
|
|
13370
|
+
* Parent Event Names
|
|
13371
|
+
*
|
|
13372
|
+
* Contains the names of all parent classes up until BaseEvent, ordered from deepest to least deep inheritance.
|
|
13373
|
+
*/
|
|
13374
|
+
readonly _parent_event_names: Array<string>;
|
|
13375
|
+
[key: string]: unknown;
|
|
13376
|
+
};
|
|
13377
|
+
|
|
13095
13378
|
/**
|
|
13096
13379
|
* SearchContextCostPerQueryDTO
|
|
13097
13380
|
*
|
|
@@ -14397,9 +14680,9 @@ export type TextToSpeechRequest = {
|
|
|
14397
14680
|
/**
|
|
14398
14681
|
* Model
|
|
14399
14682
|
*
|
|
14400
|
-
* The TTS model to use.
|
|
14683
|
+
* The TTS model to use, e.g. 'speech/<model-name>'.
|
|
14401
14684
|
*/
|
|
14402
|
-
model:
|
|
14685
|
+
model: string;
|
|
14403
14686
|
/**
|
|
14404
14687
|
* Input
|
|
14405
14688
|
*
|
|
@@ -16605,6 +16888,7 @@ export type AgentClassDtoWritable = {
|
|
|
16605
16888
|
| CheckboxWritable
|
|
16606
16889
|
| ChipsInputWritable
|
|
16607
16890
|
| ColorPickerWritable
|
|
16891
|
+
| CronInputWritable
|
|
16608
16892
|
| DatePickerWritable
|
|
16609
16893
|
| GroupWritable
|
|
16610
16894
|
| IconSelectorWritable
|
|
@@ -16669,6 +16953,12 @@ export type AgentClassDtoWritable = {
|
|
|
16669
16953
|
* Whether the agent class can participate in a chat-based conversation
|
|
16670
16954
|
*/
|
|
16671
16955
|
is_conversational: boolean;
|
|
16956
|
+
/**
|
|
16957
|
+
* Is Schedulable
|
|
16958
|
+
*
|
|
16959
|
+
* Whether the agent class can be run automatically on a cron schedule
|
|
16960
|
+
*/
|
|
16961
|
+
is_schedulable?: boolean;
|
|
16672
16962
|
/**
|
|
16673
16963
|
* Is Online
|
|
16674
16964
|
*
|
|
@@ -16732,6 +17022,7 @@ export type AgentConfigDtoWritable = {
|
|
|
16732
17022
|
| CheckboxWritable
|
|
16733
17023
|
| ChipsInputWritable
|
|
16734
17024
|
| ColorPickerWritable
|
|
17025
|
+
| CronInputWritable
|
|
16735
17026
|
| DatePickerWritable
|
|
16736
17027
|
| GroupWritable
|
|
16737
17028
|
| IconSelectorWritable
|
|
@@ -18248,6 +18539,7 @@ export type ContextualizedAgentEventWritable = {
|
|
|
18248
18539
|
| ToolEventWritable
|
|
18249
18540
|
| UserMessageEventWritable
|
|
18250
18541
|
| RagStartEventWritable
|
|
18542
|
+
| ScheduledStartEventWritable
|
|
18251
18543
|
| ExceptionEventWritable
|
|
18252
18544
|
| RagSuccessStopEventWritable
|
|
18253
18545
|
| RagFailureStopEventWritable
|
|
@@ -18341,6 +18633,140 @@ export type ConversationTitleEventWritable = {
|
|
|
18341
18633
|
[key: string]: unknown;
|
|
18342
18634
|
};
|
|
18343
18635
|
|
|
18636
|
+
/**
|
|
18637
|
+
* CronInput
|
|
18638
|
+
*
|
|
18639
|
+
* A FormKit element for editing the cron schedule of a schedulable agent profile.
|
|
18640
|
+
*
|
|
18641
|
+
* The element renders the five cron positions plus a timezone selector, and the submitted value
|
|
18642
|
+
* matches the fields of `AgentSchedule`:
|
|
18643
|
+
* {
|
|
18644
|
+
* "minute": str,
|
|
18645
|
+
* "hour": str,
|
|
18646
|
+
* "day_of_month": str,
|
|
18647
|
+
* "month": str,
|
|
18648
|
+
* "day_of_week": str,
|
|
18649
|
+
* "timezone": str,
|
|
18650
|
+
* }
|
|
18651
|
+
*
|
|
18652
|
+
* Presets and the plain-language summary of the current schedule are delivered by the Admin UI
|
|
18653
|
+
* (see the cron schedule configuration UI issue); this element only declares the contract.
|
|
18654
|
+
*
|
|
18655
|
+
* ### Form Duality
|
|
18656
|
+
* ```python
|
|
18657
|
+
* from swiss_ai_hub.core.form.elements.cron_input import CronInput
|
|
18658
|
+
* from swiss_ai_hub.core.scheduling.agent_schedule import AgentSchedule
|
|
18659
|
+
*
|
|
18660
|
+
* class MyAgentConfig(AgentConfig):
|
|
18661
|
+
* schedule: Annotated[
|
|
18662
|
+
* AgentSchedule | CronInput | None,
|
|
18663
|
+
* Field(description="When this profile runs automatically"),
|
|
18664
|
+
* ] = None
|
|
18665
|
+
*
|
|
18666
|
+
* # Form mode - for rendering:
|
|
18667
|
+
* config = MyAgentConfig(schedule=CronInput(label=LocaleString(en="Schedule")))
|
|
18668
|
+
*
|
|
18669
|
+
* # Data mode - from submission (Pydantic validates into AgentSchedule):
|
|
18670
|
+
* config = MyAgentConfig(schedule=AgentSchedule(hour="12", timezone="Europe/Zurich"))
|
|
18671
|
+
* ```
|
|
18672
|
+
*/
|
|
18673
|
+
export type CronInputWritable = {
|
|
18674
|
+
/**
|
|
18675
|
+
* Is Formkit Element
|
|
18676
|
+
*
|
|
18677
|
+
* Indicates that this element is a FormKit element
|
|
18678
|
+
*/
|
|
18679
|
+
is_formkit_element?: true;
|
|
18680
|
+
/**
|
|
18681
|
+
* If
|
|
18682
|
+
*
|
|
18683
|
+
* Conditional expression to show this element
|
|
18684
|
+
*/
|
|
18685
|
+
if?: string | null;
|
|
18686
|
+
/**
|
|
18687
|
+
* Id
|
|
18688
|
+
*
|
|
18689
|
+
* Unique identifier for this element
|
|
18690
|
+
*/
|
|
18691
|
+
id?: string | null;
|
|
18692
|
+
/**
|
|
18693
|
+
* Nullable
|
|
18694
|
+
*
|
|
18695
|
+
* Render with a sibling toggle that sets this field to null when off
|
|
18696
|
+
*/
|
|
18697
|
+
nullable?: boolean;
|
|
18698
|
+
/**
|
|
18699
|
+
* Defaultenabled
|
|
18700
|
+
*
|
|
18701
|
+
* For a nullable element, whether its toggle should start enabled on a fresh form (i.e. the field's data default is non-null). Ignored for non-nullable elements.
|
|
18702
|
+
*/
|
|
18703
|
+
defaultEnabled?: boolean | null;
|
|
18704
|
+
/**
|
|
18705
|
+
* Formkit
|
|
18706
|
+
*
|
|
18707
|
+
* Cron schedule input element.
|
|
18708
|
+
*/
|
|
18709
|
+
formkit?: "cronInput";
|
|
18710
|
+
/**
|
|
18711
|
+
* Name
|
|
18712
|
+
*
|
|
18713
|
+
* Name of this field
|
|
18714
|
+
*/
|
|
18715
|
+
name?: string | null;
|
|
18716
|
+
/**
|
|
18717
|
+
* Label
|
|
18718
|
+
*
|
|
18719
|
+
* Label of this field
|
|
18720
|
+
*/
|
|
18721
|
+
label: LocaleString | string;
|
|
18722
|
+
/**
|
|
18723
|
+
* Help
|
|
18724
|
+
*
|
|
18725
|
+
* Help text of this field
|
|
18726
|
+
*/
|
|
18727
|
+
help?: LocaleString | string | null;
|
|
18728
|
+
/**
|
|
18729
|
+
* Value
|
|
18730
|
+
*
|
|
18731
|
+
* Default value for this field
|
|
18732
|
+
*/
|
|
18733
|
+
value?:
|
|
18734
|
+
| string
|
|
18735
|
+
| number
|
|
18736
|
+
| number
|
|
18737
|
+
| boolean
|
|
18738
|
+
| Array<string>
|
|
18739
|
+
| {
|
|
18740
|
+
[key: string]: string;
|
|
18741
|
+
}
|
|
18742
|
+
| null;
|
|
18743
|
+
/**
|
|
18744
|
+
* Required
|
|
18745
|
+
*
|
|
18746
|
+
* Whether this field is required
|
|
18747
|
+
*/
|
|
18748
|
+
required?: boolean;
|
|
18749
|
+
/**
|
|
18750
|
+
* Additional Validation Rules
|
|
18751
|
+
*
|
|
18752
|
+
* Validation expression
|
|
18753
|
+
*/
|
|
18754
|
+
additional_validation_rules?: string | null;
|
|
18755
|
+
/**
|
|
18756
|
+
* Timezoneplaceholder
|
|
18757
|
+
*
|
|
18758
|
+
* Placeholder for the timezone select
|
|
18759
|
+
*/
|
|
18760
|
+
timezonePlaceholder?: LocaleString | string | null;
|
|
18761
|
+
/**
|
|
18762
|
+
* Filter
|
|
18763
|
+
*
|
|
18764
|
+
* Whether to enable filtering/search on the timezone select
|
|
18765
|
+
*/
|
|
18766
|
+
filter?: boolean;
|
|
18767
|
+
[key: string]: unknown;
|
|
18768
|
+
};
|
|
18769
|
+
|
|
18344
18770
|
/**
|
|
18345
18771
|
* DatePicker
|
|
18346
18772
|
*
|
|
@@ -18851,6 +19277,12 @@ export type FullAgentInstanceDtoWritable = {
|
|
|
18851
19277
|
* Whether the agent can participate in a chat-based conversation
|
|
18852
19278
|
*/
|
|
18853
19279
|
is_conversational: boolean;
|
|
19280
|
+
/**
|
|
19281
|
+
* Is Schedulable
|
|
19282
|
+
*
|
|
19283
|
+
* Whether the agent can be run automatically on a cron schedule
|
|
19284
|
+
*/
|
|
19285
|
+
is_schedulable?: boolean;
|
|
18854
19286
|
/**
|
|
18855
19287
|
* Start Events
|
|
18856
19288
|
*
|
|
@@ -18962,6 +19394,7 @@ export type FullProcessInstanceDtoWritable = {
|
|
|
18962
19394
|
| CheckboxWritable
|
|
18963
19395
|
| ChipsInputWritable
|
|
18964
19396
|
| ColorPickerWritable
|
|
19397
|
+
| CronInputWritable
|
|
18965
19398
|
| DatePickerWritable
|
|
18966
19399
|
| GroupWritable
|
|
18967
19400
|
| IconSelectorWritable
|
|
@@ -19069,6 +19502,12 @@ export type GroupWritable = {
|
|
|
19069
19502
|
* Optional label displayed above the group
|
|
19070
19503
|
*/
|
|
19071
19504
|
label?: LocaleString | string | null;
|
|
19505
|
+
/**
|
|
19506
|
+
* Help
|
|
19507
|
+
*
|
|
19508
|
+
* Optional explanatory text rendered on the group's enable toggle
|
|
19509
|
+
*/
|
|
19510
|
+
help?: LocaleString | string | null;
|
|
19072
19511
|
/**
|
|
19073
19512
|
* Children
|
|
19074
19513
|
*
|
|
@@ -19081,6 +19520,7 @@ export type GroupWritable = {
|
|
|
19081
19520
|
| CheckboxWritable
|
|
19082
19521
|
| ChipsInputWritable
|
|
19083
19522
|
| ColorPickerWritable
|
|
19523
|
+
| CronInputWritable
|
|
19084
19524
|
| DatePickerWritable
|
|
19085
19525
|
| GroupWritable
|
|
19086
19526
|
| IconSelectorWritable
|
|
@@ -19284,6 +19724,7 @@ export type HumanInDtoWritable = {
|
|
|
19284
19724
|
| CheckboxWritable
|
|
19285
19725
|
| ChipsInputWritable
|
|
19286
19726
|
| ColorPickerWritable
|
|
19727
|
+
| CronInputWritable
|
|
19287
19728
|
| DatePickerWritable
|
|
19288
19729
|
| GroupWritable
|
|
19289
19730
|
| IconSelectorWritable
|
|
@@ -19364,6 +19805,7 @@ export type HumanInSpecsWritable = {
|
|
|
19364
19805
|
| CheckboxWritable
|
|
19365
19806
|
| ChipsInputWritable
|
|
19366
19807
|
| ColorPickerWritable
|
|
19808
|
+
| CronInputWritable
|
|
19367
19809
|
| DatePickerWritable
|
|
19368
19810
|
| GroupWritable
|
|
19369
19811
|
| IconSelectorWritable
|
|
@@ -21471,6 +21913,10 @@ export type MailFetchedEventWritable = {
|
|
|
21471
21913
|
* References to the message's attachments stored in S3.
|
|
21472
21914
|
*/
|
|
21473
21915
|
attachments?: Array<MailAttachmentRef>;
|
|
21916
|
+
/**
|
|
21917
|
+
* Reference to the original RFC822 message stored in S3, or null when it was not stored.
|
|
21918
|
+
*/
|
|
21919
|
+
original_message?: MailMessageRef | null;
|
|
21474
21920
|
[key: string]: unknown;
|
|
21475
21921
|
};
|
|
21476
21922
|
|
|
@@ -21649,6 +22095,12 @@ export type MinimalAgentInstanceDtoWritable = {
|
|
|
21649
22095
|
* Whether the agent can participate in a chat-based conversation
|
|
21650
22096
|
*/
|
|
21651
22097
|
is_conversational: boolean;
|
|
22098
|
+
/**
|
|
22099
|
+
* Is Schedulable
|
|
22100
|
+
*
|
|
22101
|
+
* Whether the agent can be run automatically on a cron schedule
|
|
22102
|
+
*/
|
|
22103
|
+
is_schedulable?: boolean;
|
|
21652
22104
|
};
|
|
21653
22105
|
|
|
21654
22106
|
/**
|
|
@@ -22262,6 +22714,7 @@ export type ProcessClassDtoWritable = {
|
|
|
22262
22714
|
| CheckboxWritable
|
|
22263
22715
|
| ChipsInputWritable
|
|
22264
22716
|
| ColorPickerWritable
|
|
22717
|
+
| CronInputWritable
|
|
22265
22718
|
| DatePickerWritable
|
|
22266
22719
|
| GroupWritable
|
|
22267
22720
|
| IconSelectorWritable
|
|
@@ -22933,6 +23386,7 @@ export type RepeaterWritable = {
|
|
|
22933
23386
|
| CheckboxWritable
|
|
22934
23387
|
| ChipsInputWritable
|
|
22935
23388
|
| ColorPickerWritable
|
|
23389
|
+
| CronInputWritable
|
|
22936
23390
|
| DatePickerWritable
|
|
22937
23391
|
| GroupWritable
|
|
22938
23392
|
| IconSelectorWritable
|
|
@@ -23318,6 +23772,57 @@ export type RunStatisticsWritable = {
|
|
|
23318
23772
|
agent: MinimalAgentInstanceDtoWritable;
|
|
23319
23773
|
};
|
|
23320
23774
|
|
|
23775
|
+
/**
|
|
23776
|
+
* ScheduledStartEvent
|
|
23777
|
+
*
|
|
23778
|
+
* Start event fired by the cron scheduler — handling it is what makes an agent schedulable.
|
|
23779
|
+
*
|
|
23780
|
+
* Mirrors how accepting a `UserMessageEvent` makes an agent conversational: `AgentRunner` derives
|
|
23781
|
+
* `is_schedulable` from the start events an agent declares, so a blueprint opts in by adding a step
|
|
23782
|
+
* that consumes this event, with no separate registration.
|
|
23783
|
+
*
|
|
23784
|
+
* Scheduled runs are system runs, so `user` is always None and the agent must not depend on an
|
|
23785
|
+
* initiating identity. Whatever tenant context the agent needs comes from its own profile
|
|
23786
|
+
* configuration (as `OrgMemoryWriteConfig.tenant_id` already does), never from the run.
|
|
23787
|
+
*/
|
|
23788
|
+
export type ScheduledStartEventWritable = {
|
|
23789
|
+
/**
|
|
23790
|
+
* Event Id
|
|
23791
|
+
*/
|
|
23792
|
+
event_id?: string;
|
|
23793
|
+
/**
|
|
23794
|
+
* Created At
|
|
23795
|
+
*
|
|
23796
|
+
* The time (in ns since epoch) the event was stored in the event store
|
|
23797
|
+
*/
|
|
23798
|
+
created_at?: number;
|
|
23799
|
+
/**
|
|
23800
|
+
* Display name for the event
|
|
23801
|
+
*/
|
|
23802
|
+
display_name?: LocaleString | null;
|
|
23803
|
+
/**
|
|
23804
|
+
* Display description for the event
|
|
23805
|
+
*/
|
|
23806
|
+
display_description?: LocaleString | null;
|
|
23807
|
+
/**
|
|
23808
|
+
* Locale
|
|
23809
|
+
*
|
|
23810
|
+
* The locale the scheduled run reports its display output in.
|
|
23811
|
+
*/
|
|
23812
|
+
locale?: string;
|
|
23813
|
+
/**
|
|
23814
|
+
* Always None — scheduled runs are system-initiated and carry no execution identity.
|
|
23815
|
+
*/
|
|
23816
|
+
user?: UserIdentity | null;
|
|
23817
|
+
/**
|
|
23818
|
+
* Scheduled For
|
|
23819
|
+
*
|
|
23820
|
+
* The cron occurrence this run fires for, in UTC. Distinct from `created_at`, which records when the scheduler published the event — the two differ by the scheduler's tick latency.
|
|
23821
|
+
*/
|
|
23822
|
+
scheduled_for: Date;
|
|
23823
|
+
[key: string]: unknown;
|
|
23824
|
+
};
|
|
23825
|
+
|
|
23321
23826
|
/**
|
|
23322
23827
|
* Select
|
|
23323
23828
|
*
|