@zocomputer/system-api 0.3.0 → 0.3.1

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/openapi.json CHANGED
@@ -2797,6 +2797,19 @@
2797
2797
  "title": "ImageBlock",
2798
2798
  "type": "object"
2799
2799
  },
2800
+ "LinkMeta": {
2801
+ "additionalProperties": false,
2802
+ "properties": {
2803
+ "zo": {
2804
+ "$ref": "#/$defs/ZoLinkMeta"
2805
+ }
2806
+ },
2807
+ "required": [
2808
+ "zo"
2809
+ ],
2810
+ "title": "LinkMeta",
2811
+ "type": "object"
2812
+ },
2800
2813
  "Message": {
2801
2814
  "additionalProperties": false,
2802
2815
  "properties": {
@@ -2821,7 +2834,7 @@
2821
2834
  "audio": "#/$defs/AudioBlock",
2822
2835
  "image": "#/$defs/ImageBlock",
2823
2836
  "resource": "#/$defs/ResourceBlock",
2824
- "resource_link": "#/$defs/ResourceLinkBlock",
2837
+ "resource_link": "#/$defs/MessageResourceLinkBlock",
2825
2838
  "text": "#/$defs/TextBlock"
2826
2839
  },
2827
2840
  "propertyName": "type"
@@ -2840,7 +2853,7 @@
2840
2853
  "$ref": "#/$defs/ResourceBlock"
2841
2854
  },
2842
2855
  {
2843
- "$ref": "#/$defs/ResourceLinkBlock"
2856
+ "$ref": "#/$defs/MessageResourceLinkBlock"
2844
2857
  }
2845
2858
  ]
2846
2859
  },
@@ -2946,47 +2959,9 @@
2946
2959
  "title": "MessageDelivery",
2947
2960
  "type": "object"
2948
2961
  },
2949
- "PrincipalReference": {
2950
- "additionalProperties": false,
2951
- "properties": {
2952
- "type": {
2953
- "title": "Type",
2954
- "type": "string"
2955
- },
2956
- "id": {
2957
- "title": "Id",
2958
- "type": "string"
2959
- }
2960
- },
2961
- "required": [
2962
- "type",
2963
- "id"
2964
- ],
2965
- "title": "PrincipalReference",
2966
- "type": "object"
2967
- },
2968
- "ResourceBlock": {
2962
+ "MessageResourceLinkBlock": {
2969
2963
  "additionalProperties": false,
2970
- "properties": {
2971
- "type": {
2972
- "const": "resource",
2973
- "title": "Type",
2974
- "type": "string"
2975
- },
2976
- "resource": {
2977
- "$ref": "#/$defs/EmbeddedResource"
2978
- }
2979
- },
2980
- "required": [
2981
- "type",
2982
- "resource"
2983
- ],
2984
- "title": "ResourceBlock",
2985
- "type": "object"
2986
- },
2987
- "ResourceLinkBlock": {
2988
- "additionalProperties": false,
2989
- "description": "On input, ``uri`` names an upload (``zo-upload://``). On output, a presigned URL for stored media.",
2964
+ "description": "A stored file: ``uri`` is a URL valid for an hour, or ``zo-file://{file_id}`` once it's deleted.",
2990
2965
  "properties": {
2991
2966
  "type": {
2992
2967
  "const": "resource_link",
@@ -3031,14 +3006,56 @@
3031
3006
  ],
3032
3007
  "default": null,
3033
3008
  "title": "Size"
3009
+ },
3010
+ "_meta": {
3011
+ "$ref": "#/$defs/LinkMeta"
3034
3012
  }
3035
3013
  },
3036
3014
  "required": [
3037
3015
  "type",
3038
3016
  "uri",
3039
- "name"
3017
+ "name",
3018
+ "_meta"
3040
3019
  ],
3041
- "title": "ResourceLinkBlock",
3020
+ "title": "MessageResourceLinkBlock",
3021
+ "type": "object"
3022
+ },
3023
+ "PrincipalReference": {
3024
+ "additionalProperties": false,
3025
+ "properties": {
3026
+ "type": {
3027
+ "title": "Type",
3028
+ "type": "string"
3029
+ },
3030
+ "id": {
3031
+ "title": "Id",
3032
+ "type": "string"
3033
+ }
3034
+ },
3035
+ "required": [
3036
+ "type",
3037
+ "id"
3038
+ ],
3039
+ "title": "PrincipalReference",
3040
+ "type": "object"
3041
+ },
3042
+ "ResourceBlock": {
3043
+ "additionalProperties": false,
3044
+ "properties": {
3045
+ "type": {
3046
+ "const": "resource",
3047
+ "title": "Type",
3048
+ "type": "string"
3049
+ },
3050
+ "resource": {
3051
+ "$ref": "#/$defs/EmbeddedResource"
3052
+ }
3053
+ },
3054
+ "required": [
3055
+ "type",
3056
+ "resource"
3057
+ ],
3058
+ "title": "ResourceBlock",
3042
3059
  "type": "object"
3043
3060
  },
3044
3061
  "TextBlock": {
@@ -3062,6 +3079,21 @@
3062
3079
  ],
3063
3080
  "title": "TextBlock",
3064
3081
  "type": "object"
3082
+ },
3083
+ "ZoLinkMeta": {
3084
+ "additionalProperties": false,
3085
+ "properties": {
3086
+ "file_id": {
3087
+ "description": "The Knowledge file that holds the attachment.",
3088
+ "title": "File Id",
3089
+ "type": "string"
3090
+ }
3091
+ },
3092
+ "required": [
3093
+ "file_id"
3094
+ ],
3095
+ "title": "ZoLinkMeta",
3096
+ "type": "object"
3065
3097
  }
3066
3098
  }
3067
3099
  },
@@ -3082,7 +3114,7 @@
3082
3114
  "implementation_unavailable",
3083
3115
  "resource_not_found"
3084
3116
  ],
3085
- "digest": "sha256:a8e34e154f63267fa02c162d32cd887f95eeac983693ea1c6570c6504ebe202d"
3117
+ "digest": "sha256:983f22ac6e48618bb3290155e3d7723ae1be7e885f78f9135f3ee0f37e5d0d16"
3086
3118
  },
3087
3119
  {
3088
3120
  "name": "zo.agent.send",
@@ -3919,10 +3951,91 @@
3919
3951
  "type": "string"
3920
3952
  },
3921
3953
  "last_activity_at": {
3922
- "description": "When the session's newest message or event was delivered to it; created_at when it has none.",
3954
+ "description": "When the session last received an input or finished a turn; created_at when it has done neither.",
3923
3955
  "title": "Last Activity At",
3924
3956
  "type": "string"
3925
3957
  },
3958
+ "turn_count": {
3959
+ "anyOf": [
3960
+ {
3961
+ "minimum": 0,
3962
+ "type": "integer"
3963
+ },
3964
+ {
3965
+ "type": "null"
3966
+ }
3967
+ ],
3968
+ "description": "Turns ended in the session; null for a session with no turn ended since turns were counted.",
3969
+ "title": "Turn Count"
3970
+ },
3971
+ "turns_duration_ms": {
3972
+ "anyOf": [
3973
+ {
3974
+ "minimum": 0,
3975
+ "type": "integer"
3976
+ },
3977
+ {
3978
+ "type": "null"
3979
+ }
3980
+ ],
3981
+ "description": "The summed duration of turns ended since the count was filled.",
3982
+ "title": "Turns Duration Ms"
3983
+ },
3984
+ "elapsed_ms": {
3985
+ "anyOf": [
3986
+ {
3987
+ "minimum": 0,
3988
+ "type": "integer"
3989
+ },
3990
+ {
3991
+ "type": "null"
3992
+ }
3993
+ ],
3994
+ "description": "Milliseconds from created_at to last_turn_ended_at, rounded.",
3995
+ "title": "Elapsed Ms"
3996
+ },
3997
+ "last_turn_ended_at": {
3998
+ "anyOf": [
3999
+ {
4000
+ "type": "string"
4001
+ },
4002
+ {
4003
+ "type": "null"
4004
+ }
4005
+ ],
4006
+ "description": "When the last turn ended, as an RFC 3339 time.",
4007
+ "title": "Last Turn Ended At"
4008
+ },
4009
+ "last_turn_outcome": {
4010
+ "anyOf": [
4011
+ {
4012
+ "enum": [
4013
+ "completed",
4014
+ "cancelled",
4015
+ "interrupted",
4016
+ "failed"
4017
+ ],
4018
+ "type": "string"
4019
+ },
4020
+ {
4021
+ "type": "null"
4022
+ }
4023
+ ],
4024
+ "description": "How the last turn ended.",
4025
+ "title": "Last Turn Outcome"
4026
+ },
4027
+ "last_turn_reason": {
4028
+ "anyOf": [
4029
+ {
4030
+ "type": "string"
4031
+ },
4032
+ {
4033
+ "type": "null"
4034
+ }
4035
+ ],
4036
+ "description": "The reason the last turn ended with, such as model_error.",
4037
+ "title": "Last Turn Reason"
4038
+ },
3926
4039
  "model": {
3927
4040
  "description": "The model the session's next inputs run with.",
3928
4041
  "title": "Model",
@@ -3956,6 +4069,12 @@
3956
4069
  "agent_id",
3957
4070
  "created_at",
3958
4071
  "last_activity_at",
4072
+ "turn_count",
4073
+ "turns_duration_ms",
4074
+ "elapsed_ms",
4075
+ "last_turn_ended_at",
4076
+ "last_turn_outcome",
4077
+ "last_turn_reason",
3959
4078
  "model",
3960
4079
  "reasoning",
3961
4080
  "stream_url"
@@ -3974,13 +4093,13 @@
3974
4093
  "implementation_unavailable",
3975
4094
  "resource_not_found"
3976
4095
  ],
3977
- "digest": "sha256:fa7d4538f2a14134318196e18081aca325cd991851561a50071e92808becdb1f"
4096
+ "digest": "sha256:c9a0287765cc63f5c2681159cfbf66c1546a423fd3fdb2c21684169de7f29680"
3978
4097
  },
3979
4098
  {
3980
4099
  "name": "zo.agent_session.history",
3981
4100
  "version": 1,
3982
4101
  "publisher": "zo",
3983
- "description": "Read a session's history: its inputs, the Agent's responses and tool results, newest first, as ACP updates.",
4102
+ "description": "Read a session's history: its inputs, the Agent's responses and tool results, newest first, as ACP updates. The page limit counts context rows, so a page can contain more items than its limit; a turn_ended item follows each finished turn's last item.",
3984
4103
  "input_schema": {
3985
4104
  "additionalProperties": false,
3986
4105
  "properties": {
@@ -4039,11 +4158,59 @@
4039
4158
  "enum": [
4040
4159
  "input",
4041
4160
  "response",
4042
- "tool_results"
4161
+ "tool_results",
4162
+ "turn_ended"
4043
4163
  ],
4044
4164
  "title": "Kind",
4045
4165
  "type": "string"
4046
4166
  },
4167
+ "turn_id": {
4168
+ "description": "The turn that produced this item.",
4169
+ "title": "Turn Id",
4170
+ "type": "string"
4171
+ },
4172
+ "created_at": {
4173
+ "anyOf": [
4174
+ {
4175
+ "type": "string"
4176
+ },
4177
+ {
4178
+ "type": "null"
4179
+ }
4180
+ ],
4181
+ "description": "RFC 3339 row time, or the turn's end time for turn_ended; null when that end time was not recorded.",
4182
+ "title": "Created At"
4183
+ },
4184
+ "outcome": {
4185
+ "anyOf": [
4186
+ {
4187
+ "enum": [
4188
+ "completed",
4189
+ "cancelled",
4190
+ "interrupted",
4191
+ "failed"
4192
+ ],
4193
+ "type": "string"
4194
+ },
4195
+ {
4196
+ "type": "null"
4197
+ }
4198
+ ],
4199
+ "description": "The turn's outcome on turn_ended; null on row items.",
4200
+ "title": "Outcome"
4201
+ },
4202
+ "reason": {
4203
+ "anyOf": [
4204
+ {
4205
+ "type": "string"
4206
+ },
4207
+ {
4208
+ "type": "null"
4209
+ }
4210
+ ],
4211
+ "description": "The turn's outcome reason on turn_ended; null on row items.",
4212
+ "title": "Reason"
4213
+ },
4047
4214
  "updates": {
4048
4215
  "description": "ACP session/update updates, with Zo fields under _meta.zo.",
4049
4216
  "items": {
@@ -4059,6 +4226,10 @@
4059
4226
  "required": [
4060
4227
  "seq",
4061
4228
  "kind",
4229
+ "turn_id",
4230
+ "created_at",
4231
+ "outcome",
4232
+ "reason",
4062
4233
  "updates"
4063
4234
  ],
4064
4235
  "title": "AgentSessionHistoryItem",
@@ -4078,7 +4249,7 @@
4078
4249
  "invalid_input",
4079
4250
  "resource_not_found"
4080
4251
  ],
4081
- "digest": "sha256:1d5dc59be3ce5b5186b4f3675283d0a87ff4aed46374e2d419defefaa85e2758"
4252
+ "digest": "sha256:0ec9eeab9cf92d991c5586cbb00eb01a9c56a9b0f81b1b3b8d372e2e70b9419a"
4082
4253
  },
4083
4254
  {
4084
4255
  "name": "zo.agent_session.list",
@@ -4171,10 +4342,91 @@
4171
4342
  "type": "string"
4172
4343
  },
4173
4344
  "last_activity_at": {
4174
- "description": "When the session's newest message or event was delivered to it; created_at when it has none.",
4345
+ "description": "When the session last received an input or finished a turn; created_at when it has done neither.",
4175
4346
  "title": "Last Activity At",
4176
4347
  "type": "string"
4177
4348
  },
4349
+ "turn_count": {
4350
+ "anyOf": [
4351
+ {
4352
+ "minimum": 0,
4353
+ "type": "integer"
4354
+ },
4355
+ {
4356
+ "type": "null"
4357
+ }
4358
+ ],
4359
+ "description": "Turns ended in the session; null for a session with no turn ended since turns were counted.",
4360
+ "title": "Turn Count"
4361
+ },
4362
+ "turns_duration_ms": {
4363
+ "anyOf": [
4364
+ {
4365
+ "minimum": 0,
4366
+ "type": "integer"
4367
+ },
4368
+ {
4369
+ "type": "null"
4370
+ }
4371
+ ],
4372
+ "description": "The summed duration of turns ended since the count was filled.",
4373
+ "title": "Turns Duration Ms"
4374
+ },
4375
+ "elapsed_ms": {
4376
+ "anyOf": [
4377
+ {
4378
+ "minimum": 0,
4379
+ "type": "integer"
4380
+ },
4381
+ {
4382
+ "type": "null"
4383
+ }
4384
+ ],
4385
+ "description": "Milliseconds from created_at to last_turn_ended_at, rounded.",
4386
+ "title": "Elapsed Ms"
4387
+ },
4388
+ "last_turn_ended_at": {
4389
+ "anyOf": [
4390
+ {
4391
+ "type": "string"
4392
+ },
4393
+ {
4394
+ "type": "null"
4395
+ }
4396
+ ],
4397
+ "description": "When the last turn ended, as an RFC 3339 time.",
4398
+ "title": "Last Turn Ended At"
4399
+ },
4400
+ "last_turn_outcome": {
4401
+ "anyOf": [
4402
+ {
4403
+ "enum": [
4404
+ "completed",
4405
+ "cancelled",
4406
+ "interrupted",
4407
+ "failed"
4408
+ ],
4409
+ "type": "string"
4410
+ },
4411
+ {
4412
+ "type": "null"
4413
+ }
4414
+ ],
4415
+ "description": "How the last turn ended.",
4416
+ "title": "Last Turn Outcome"
4417
+ },
4418
+ "last_turn_reason": {
4419
+ "anyOf": [
4420
+ {
4421
+ "type": "string"
4422
+ },
4423
+ {
4424
+ "type": "null"
4425
+ }
4426
+ ],
4427
+ "description": "The reason the last turn ended with, such as model_error.",
4428
+ "title": "Last Turn Reason"
4429
+ },
4178
4430
  "model": {
4179
4431
  "description": "The model the session's next inputs run with.",
4180
4432
  "title": "Model",
@@ -4203,6 +4455,12 @@
4203
4455
  "agent_id",
4204
4456
  "created_at",
4205
4457
  "last_activity_at",
4458
+ "turn_count",
4459
+ "turns_duration_ms",
4460
+ "elapsed_ms",
4461
+ "last_turn_ended_at",
4462
+ "last_turn_outcome",
4463
+ "last_turn_reason",
4206
4464
  "model",
4207
4465
  "reasoning"
4208
4466
  ],
@@ -4222,7 +4480,7 @@
4222
4480
  "implementation_unavailable",
4223
4481
  "resource_not_found"
4224
4482
  ],
4225
- "digest": "sha256:ccad299f85ad1e29daa8630f04f7844e9db5aff02940dbb700cb173bf25017a1"
4483
+ "digest": "sha256:77d2dc953e6259fb131c0d2e219299589c4fbfdab41f4db90140108e91e661ca"
4226
4484
  },
4227
4485
  {
4228
4486
  "name": "zo.agent_session.list_workspace",
@@ -4315,10 +4573,91 @@
4315
4573
  "type": "string"
4316
4574
  },
4317
4575
  "last_activity_at": {
4318
- "description": "When the session's newest message or event was delivered to it; created_at when it has none.",
4576
+ "description": "When the session last received an input or finished a turn; created_at when it has done neither.",
4319
4577
  "title": "Last Activity At",
4320
4578
  "type": "string"
4321
4579
  },
4580
+ "turn_count": {
4581
+ "anyOf": [
4582
+ {
4583
+ "minimum": 0,
4584
+ "type": "integer"
4585
+ },
4586
+ {
4587
+ "type": "null"
4588
+ }
4589
+ ],
4590
+ "description": "Turns ended in the session; null for a session with no turn ended since turns were counted.",
4591
+ "title": "Turn Count"
4592
+ },
4593
+ "turns_duration_ms": {
4594
+ "anyOf": [
4595
+ {
4596
+ "minimum": 0,
4597
+ "type": "integer"
4598
+ },
4599
+ {
4600
+ "type": "null"
4601
+ }
4602
+ ],
4603
+ "description": "The summed duration of turns ended since the count was filled.",
4604
+ "title": "Turns Duration Ms"
4605
+ },
4606
+ "elapsed_ms": {
4607
+ "anyOf": [
4608
+ {
4609
+ "minimum": 0,
4610
+ "type": "integer"
4611
+ },
4612
+ {
4613
+ "type": "null"
4614
+ }
4615
+ ],
4616
+ "description": "Milliseconds from created_at to last_turn_ended_at, rounded.",
4617
+ "title": "Elapsed Ms"
4618
+ },
4619
+ "last_turn_ended_at": {
4620
+ "anyOf": [
4621
+ {
4622
+ "type": "string"
4623
+ },
4624
+ {
4625
+ "type": "null"
4626
+ }
4627
+ ],
4628
+ "description": "When the last turn ended, as an RFC 3339 time.",
4629
+ "title": "Last Turn Ended At"
4630
+ },
4631
+ "last_turn_outcome": {
4632
+ "anyOf": [
4633
+ {
4634
+ "enum": [
4635
+ "completed",
4636
+ "cancelled",
4637
+ "interrupted",
4638
+ "failed"
4639
+ ],
4640
+ "type": "string"
4641
+ },
4642
+ {
4643
+ "type": "null"
4644
+ }
4645
+ ],
4646
+ "description": "How the last turn ended.",
4647
+ "title": "Last Turn Outcome"
4648
+ },
4649
+ "last_turn_reason": {
4650
+ "anyOf": [
4651
+ {
4652
+ "type": "string"
4653
+ },
4654
+ {
4655
+ "type": "null"
4656
+ }
4657
+ ],
4658
+ "description": "The reason the last turn ended with, such as model_error.",
4659
+ "title": "Last Turn Reason"
4660
+ },
4322
4661
  "model": {
4323
4662
  "description": "The model the session's next inputs run with.",
4324
4663
  "title": "Model",
@@ -4347,6 +4686,12 @@
4347
4686
  "agent_id",
4348
4687
  "created_at",
4349
4688
  "last_activity_at",
4689
+ "turn_count",
4690
+ "turns_duration_ms",
4691
+ "elapsed_ms",
4692
+ "last_turn_ended_at",
4693
+ "last_turn_outcome",
4694
+ "last_turn_reason",
4350
4695
  "model",
4351
4696
  "reasoning"
4352
4697
  ],
@@ -4365,7 +4710,7 @@
4365
4710
  "error_codes": [
4366
4711
  "implementation_unavailable"
4367
4712
  ],
4368
- "digest": "sha256:0c0023c827285b09c4e7fbb9d001c89faca96ee293d769568d77baf63885b0a2"
4713
+ "digest": "sha256:332ee8b48ca75d74d5e09e4b71c030bca6ad9c3950b1d02ce532dfbb041116db"
4369
4714
  },
4370
4715
  {
4371
4716
  "name": "zo.billing.list_rates",
@@ -6528,6 +6873,43 @@
6528
6873
  },
6529
6874
  "title": "Environment",
6530
6875
  "type": "object"
6876
+ },
6877
+ "last_used_at": {
6878
+ "anyOf": [
6879
+ {
6880
+ "maxLength": 40,
6881
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]{1,6})?(Z|[+-][0-9]{2}:[0-9]{2})$",
6882
+ "type": "string"
6883
+ },
6884
+ {
6885
+ "type": "null"
6886
+ }
6887
+ ],
6888
+ "description": "When Zo last handed this connection's credential to a Function run or machine.",
6889
+ "title": "Last Used At"
6890
+ },
6891
+ "usable": {
6892
+ "description": "Whether Zo will deliver this connection's credential now.",
6893
+ "title": "Usable",
6894
+ "type": "boolean"
6895
+ },
6896
+ "unusable_reason": {
6897
+ "anyOf": [
6898
+ {
6899
+ "enum": [
6900
+ "definition_withdrawn",
6901
+ "configuring",
6902
+ "reauthorization_required",
6903
+ "disabled"
6904
+ ],
6905
+ "type": "string"
6906
+ },
6907
+ {
6908
+ "type": "null"
6909
+ }
6910
+ ],
6911
+ "description": "Why Zo will not deliver this connection's credential now, or null when it will.",
6912
+ "title": "Unusable Reason"
6531
6913
  }
6532
6914
  },
6533
6915
  "required": [
@@ -6542,9 +6924,12 @@
6542
6924
  "status",
6543
6925
  "revision",
6544
6926
  "account_labels",
6545
- "environment"
6927
+ "environment",
6928
+ "last_used_at",
6929
+ "usable",
6930
+ "unusable_reason"
6546
6931
  ],
6547
- "title": "ConnectionWithAccountsResource",
6932
+ "title": "ConnectionReadResource",
6548
6933
  "type": "object"
6549
6934
  },
6550
6935
  "target": {
@@ -6557,7 +6942,7 @@
6557
6942
  "error_codes": [
6558
6943
  "resource_not_found"
6559
6944
  ],
6560
- "digest": "sha256:5ca6347217eba21af2b37e1830df0252e5d4115a3f7ee4f9357bed5e11280861"
6945
+ "digest": "sha256:888acd2e1feba5b19c1905857e5125329737f23ec450b85a4d63e1879b585cf2"
6561
6946
  },
6562
6947
  {
6563
6948
  "name": "zo.connection.list",
@@ -6585,7 +6970,7 @@
6585
6970
  "properties": {
6586
6971
  "connections": {
6587
6972
  "items": {
6588
- "$ref": "#/$defs/ConnectionWithAccountsResource"
6973
+ "$ref": "#/$defs/ConnectionReadResource"
6589
6974
  },
6590
6975
  "title": "Connections",
6591
6976
  "type": "array"
@@ -6609,7 +6994,7 @@
6609
6994
  "title": "ConnectionListResult",
6610
6995
  "type": "object",
6611
6996
  "$defs": {
6612
- "ConnectionWithAccountsResource": {
6997
+ "ConnectionReadResource": {
6613
6998
  "additionalProperties": false,
6614
6999
  "properties": {
6615
7000
  "id": {
@@ -6687,6 +7072,43 @@
6687
7072
  },
6688
7073
  "title": "Environment",
6689
7074
  "type": "object"
7075
+ },
7076
+ "last_used_at": {
7077
+ "anyOf": [
7078
+ {
7079
+ "maxLength": 40,
7080
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]{1,6})?(Z|[+-][0-9]{2}:[0-9]{2})$",
7081
+ "type": "string"
7082
+ },
7083
+ {
7084
+ "type": "null"
7085
+ }
7086
+ ],
7087
+ "description": "When Zo last handed this connection's credential to a Function run or machine.",
7088
+ "title": "Last Used At"
7089
+ },
7090
+ "usable": {
7091
+ "description": "Whether Zo will deliver this connection's credential now.",
7092
+ "title": "Usable",
7093
+ "type": "boolean"
7094
+ },
7095
+ "unusable_reason": {
7096
+ "anyOf": [
7097
+ {
7098
+ "enum": [
7099
+ "definition_withdrawn",
7100
+ "configuring",
7101
+ "reauthorization_required",
7102
+ "disabled"
7103
+ ],
7104
+ "type": "string"
7105
+ },
7106
+ {
7107
+ "type": "null"
7108
+ }
7109
+ ],
7110
+ "description": "Why Zo will not deliver this connection's credential now, or null when it will.",
7111
+ "title": "Unusable Reason"
6690
7112
  }
6691
7113
  },
6692
7114
  "required": [
@@ -6701,9 +7123,12 @@
6701
7123
  "status",
6702
7124
  "revision",
6703
7125
  "account_labels",
6704
- "environment"
7126
+ "environment",
7127
+ "last_used_at",
7128
+ "usable",
7129
+ "unusable_reason"
6705
7130
  ],
6706
- "title": "ConnectionWithAccountsResource",
7131
+ "title": "ConnectionReadResource",
6707
7132
  "type": "object"
6708
7133
  }
6709
7134
  }
@@ -6718,7 +7143,7 @@
6718
7143
  "error_codes": [
6719
7144
  "invalid_cursor"
6720
7145
  ],
6721
- "digest": "sha256:92aca1c5160f58db8d84f380e55f271730a7159e4ca3d2bddde8462adba18a30"
7146
+ "digest": "sha256:980544a4939be631e0b12a1930bd7fa07266ee893055cb2187a97e75e791c6d7"
6722
7147
  },
6723
7148
  {
6724
7149
  "name": "zo.connection.register_resource",
@@ -13310,6 +13735,13 @@
13310
13735
  "title": "Created At",
13311
13736
  "type": "string"
13312
13737
  },
13738
+ "route_ids": {
13739
+ "items": {
13740
+ "type": "string"
13741
+ },
13742
+ "title": "Route Ids",
13743
+ "type": "array"
13744
+ },
13313
13745
  "credential_slots": {
13314
13746
  "items": {
13315
13747
  "$ref": "#/$defs/CredentialSlotSummary"
@@ -13327,6 +13759,7 @@
13327
13759
  "invoke_enabled",
13328
13760
  "http_enabled",
13329
13761
  "created_at",
13762
+ "route_ids",
13330
13763
  "credential_slots"
13331
13764
  ],
13332
13765
  "title": "DeploymentWithSlotsSummary",
@@ -13416,7 +13849,7 @@
13416
13849
  "effect": "read",
13417
13850
  "result_kind": "inline",
13418
13851
  "error_codes": [],
13419
- "digest": "sha256:8fefdcc1440b09264f2c0b0a31ef8f3cefb5f2fe79f0166341e7537addf89819"
13852
+ "digest": "sha256:a7003bbcae500ade1da64eb0f61f5442119a59ec2ab0c8c402c9627b3d1dfffb"
13420
13853
  },
13421
13854
  {
13422
13855
  "name": "zo.function.get_run",
@@ -13458,6 +13891,7 @@
13458
13891
  "type": "string"
13459
13892
  },
13460
13893
  "entry_kind": {
13894
+ "description": "The API surface the run arrived through: `direct` for an invoke, `http` for a Website request; `connection` is reserved. Read `trigger` on the run for what started it.",
13461
13895
  "enum": [
13462
13896
  "direct",
13463
13897
  "connection",
@@ -13531,6 +13965,9 @@
13531
13965
  "type": "null"
13532
13966
  }
13533
13967
  ]
13968
+ },
13969
+ "trigger": {
13970
+ "$ref": "#/$defs/RunTrigger"
13534
13971
  }
13535
13972
  },
13536
13973
  "required": [
@@ -13547,7 +13984,8 @@
13547
13984
  "workspace_id",
13548
13985
  "result",
13549
13986
  "result_available",
13550
- "parent"
13987
+ "parent",
13988
+ "trigger"
13551
13989
  ],
13552
13990
  "title": "FunctionRun",
13553
13991
  "type": "object",
@@ -13576,6 +14014,47 @@
13576
14014
  "title": "RunParent",
13577
14015
  "type": "object"
13578
14016
  },
14017
+ "RunRef": {
14018
+ "additionalProperties": false,
14019
+ "properties": {
14020
+ "run_id": {
14021
+ "description": "The run that invoked this run.",
14022
+ "title": "Run Id",
14023
+ "type": "string"
14024
+ },
14025
+ "function_id": {
14026
+ "anyOf": [
14027
+ {
14028
+ "type": "string"
14029
+ },
14030
+ {
14031
+ "type": "null"
14032
+ }
14033
+ ],
14034
+ "description": "The caller's Function ID, or null for a Workflow run.",
14035
+ "title": "Function Id"
14036
+ },
14037
+ "workflow_id": {
14038
+ "anyOf": [
14039
+ {
14040
+ "type": "string"
14041
+ },
14042
+ {
14043
+ "type": "null"
14044
+ }
14045
+ ],
14046
+ "description": "The caller's Workflow ID, or null for a Function run.",
14047
+ "title": "Workflow Id"
14048
+ }
14049
+ },
14050
+ "required": [
14051
+ "run_id",
14052
+ "function_id",
14053
+ "workflow_id"
14054
+ ],
14055
+ "title": "RunRef",
14056
+ "type": "object"
14057
+ },
13579
14058
  "RunState": {
13580
14059
  "enum": [
13581
14060
  "queued",
@@ -13588,6 +14067,93 @@
13588
14067
  "unknown"
13589
14068
  ],
13590
14069
  "type": "string"
14070
+ },
14071
+ "RunTrigger": {
14072
+ "additionalProperties": false,
14073
+ "properties": {
14074
+ "kind": {
14075
+ "description": "What started the run.",
14076
+ "enum": [
14077
+ "direct",
14078
+ "http",
14079
+ "event",
14080
+ "workflow_step",
14081
+ "run",
14082
+ "agent"
14083
+ ],
14084
+ "title": "Kind",
14085
+ "type": "string"
14086
+ },
14087
+ "subscription_id": {
14088
+ "anyOf": [
14089
+ {
14090
+ "type": "string"
14091
+ },
14092
+ {
14093
+ "type": "null"
14094
+ }
14095
+ ],
14096
+ "description": "The event subscription that delivered the run.",
14097
+ "title": "Subscription Id"
14098
+ },
14099
+ "occurrence_id": {
14100
+ "anyOf": [
14101
+ {
14102
+ "type": "string"
14103
+ },
14104
+ {
14105
+ "type": "null"
14106
+ }
14107
+ ],
14108
+ "description": "The event occurrence that delivered the run.",
14109
+ "title": "Occurrence Id"
14110
+ },
14111
+ "event_type": {
14112
+ "anyOf": [
14113
+ {
14114
+ "type": "string"
14115
+ },
14116
+ {
14117
+ "type": "null"
14118
+ }
14119
+ ],
14120
+ "description": "The delivered event type.",
14121
+ "title": "Event Type"
14122
+ },
14123
+ "caller": {
14124
+ "anyOf": [
14125
+ {
14126
+ "$ref": "#/$defs/RunRef"
14127
+ },
14128
+ {
14129
+ "type": "null"
14130
+ }
14131
+ ],
14132
+ "description": "The Function or Workflow run that started this run."
14133
+ },
14134
+ "agent_session_id": {
14135
+ "anyOf": [
14136
+ {
14137
+ "type": "string"
14138
+ },
14139
+ {
14140
+ "type": "null"
14141
+ }
14142
+ ],
14143
+ "description": "The Agent session that invoked the run.",
14144
+ "title": "Agent Session Id"
14145
+ }
14146
+ },
14147
+ "required": [
14148
+ "kind",
14149
+ "subscription_id",
14150
+ "occurrence_id",
14151
+ "event_type",
14152
+ "caller",
14153
+ "agent_session_id"
14154
+ ],
14155
+ "title": "RunTrigger",
14156
+ "type": "object"
13591
14157
  }
13592
14158
  }
13593
14159
  },
@@ -13602,7 +14168,7 @@
13602
14168
  "resource_not_found",
13603
14169
  "implementation_unavailable"
13604
14170
  ],
13605
- "digest": "sha256:2505ec5258453629ea98a3d70911387096dbbd4c2f68d5c2c24ee5f32746eaca"
14171
+ "digest": "sha256:e2ffa72539a3742262be01ce613f5da85c900f4d2c1a30358fbf3d08b6bc6ba0"
13606
14172
  },
13607
14173
  {
13608
14174
  "name": "zo.function.invoke",
@@ -13978,6 +14544,7 @@
13978
14544
  "type": "string"
13979
14545
  },
13980
14546
  "entry_kind": {
14547
+ "description": "The API surface the run arrived through: `direct` for an invoke, `http` for a Website request; `connection` is reserved. Read `trigger` on the run for what started it.",
13981
14548
  "enum": [
13982
14549
  "direct",
13983
14550
  "connection",
@@ -14073,7 +14640,7 @@
14073
14640
  "resource_not_found",
14074
14641
  "implementation_unavailable"
14075
14642
  ],
14076
- "digest": "sha256:5afb66f0e9685192469f0fda5db8ea0cf49cf1a645ab23d22a03bc8698c8a7b4"
14643
+ "digest": "sha256:4c4ca436fc7e5ef58880efeace4433508105f2f749b9609eb799609ffd648fa2"
14077
14644
  },
14078
14645
  {
14079
14646
  "name": "zo.function.publish_contract",
@@ -22070,7 +22637,7 @@
22070
22637
  "audio": "#/$defs/AudioBlock",
22071
22638
  "image": "#/$defs/ImageBlock",
22072
22639
  "resource": "#/$defs/ResourceBlock",
22073
- "resource_link": "#/$defs/ResourceLinkBlock",
22640
+ "resource_link": "#/$defs/MessageResourceLinkBlock",
22074
22641
  "text": "#/$defs/TextBlock"
22075
22642
  },
22076
22643
  "propertyName": "type"
@@ -22089,7 +22656,7 @@
22089
22656
  "$ref": "#/$defs/ResourceBlock"
22090
22657
  },
22091
22658
  {
22092
- "$ref": "#/$defs/ResourceLinkBlock"
22659
+ "$ref": "#/$defs/MessageResourceLinkBlock"
22093
22660
  }
22094
22661
  ]
22095
22662
  },
@@ -22241,6 +22808,19 @@
22241
22808
  "title": "ImageBlock",
22242
22809
  "type": "object"
22243
22810
  },
22811
+ "LinkMeta": {
22812
+ "additionalProperties": false,
22813
+ "properties": {
22814
+ "zo": {
22815
+ "$ref": "#/$defs/ZoLinkMeta"
22816
+ }
22817
+ },
22818
+ "required": [
22819
+ "zo"
22820
+ ],
22821
+ "title": "LinkMeta",
22822
+ "type": "object"
22823
+ },
22244
22824
  "MessageDelivery": {
22245
22825
  "additionalProperties": false,
22246
22826
  "properties": {
@@ -22312,47 +22892,9 @@
22312
22892
  "title": "MessageDelivery",
22313
22893
  "type": "object"
22314
22894
  },
22315
- "PrincipalReference": {
22316
- "additionalProperties": false,
22317
- "properties": {
22318
- "type": {
22319
- "title": "Type",
22320
- "type": "string"
22321
- },
22322
- "id": {
22323
- "title": "Id",
22324
- "type": "string"
22325
- }
22326
- },
22327
- "required": [
22328
- "type",
22329
- "id"
22330
- ],
22331
- "title": "PrincipalReference",
22332
- "type": "object"
22333
- },
22334
- "ResourceBlock": {
22895
+ "MessageResourceLinkBlock": {
22335
22896
  "additionalProperties": false,
22336
- "properties": {
22337
- "type": {
22338
- "const": "resource",
22339
- "title": "Type",
22340
- "type": "string"
22341
- },
22342
- "resource": {
22343
- "$ref": "#/$defs/EmbeddedResource"
22344
- }
22345
- },
22346
- "required": [
22347
- "type",
22348
- "resource"
22349
- ],
22350
- "title": "ResourceBlock",
22351
- "type": "object"
22352
- },
22353
- "ResourceLinkBlock": {
22354
- "additionalProperties": false,
22355
- "description": "On input, ``uri`` names an upload (``zo-upload://``). On output, a presigned URL for stored media.",
22897
+ "description": "A stored file: ``uri`` is a URL valid for an hour, or ``zo-file://{file_id}`` once it's deleted.",
22356
22898
  "properties": {
22357
22899
  "type": {
22358
22900
  "const": "resource_link",
@@ -22397,17 +22939,834 @@
22397
22939
  ],
22398
22940
  "default": null,
22399
22941
  "title": "Size"
22942
+ },
22943
+ "_meta": {
22944
+ "$ref": "#/$defs/LinkMeta"
22945
+ }
22946
+ },
22947
+ "required": [
22948
+ "type",
22949
+ "uri",
22950
+ "name",
22951
+ "_meta"
22952
+ ],
22953
+ "title": "MessageResourceLinkBlock",
22954
+ "type": "object"
22955
+ },
22956
+ "PrincipalReference": {
22957
+ "additionalProperties": false,
22958
+ "properties": {
22959
+ "type": {
22960
+ "title": "Type",
22961
+ "type": "string"
22962
+ },
22963
+ "id": {
22964
+ "title": "Id",
22965
+ "type": "string"
22966
+ }
22967
+ },
22968
+ "required": [
22969
+ "type",
22970
+ "id"
22971
+ ],
22972
+ "title": "PrincipalReference",
22973
+ "type": "object"
22974
+ },
22975
+ "ResourceBlock": {
22976
+ "additionalProperties": false,
22977
+ "properties": {
22978
+ "type": {
22979
+ "const": "resource",
22980
+ "title": "Type",
22981
+ "type": "string"
22982
+ },
22983
+ "resource": {
22984
+ "$ref": "#/$defs/EmbeddedResource"
22985
+ }
22986
+ },
22987
+ "required": [
22988
+ "type",
22989
+ "resource"
22990
+ ],
22991
+ "title": "ResourceBlock",
22992
+ "type": "object"
22993
+ },
22994
+ "TextBlock": {
22995
+ "additionalProperties": false,
22996
+ "properties": {
22997
+ "type": {
22998
+ "const": "text",
22999
+ "title": "Type",
23000
+ "type": "string"
23001
+ },
23002
+ "text": {
23003
+ "maxLength": 100000,
23004
+ "minLength": 1,
23005
+ "title": "Text",
23006
+ "type": "string"
23007
+ }
23008
+ },
23009
+ "required": [
23010
+ "type",
23011
+ "text"
23012
+ ],
23013
+ "title": "TextBlock",
23014
+ "type": "object"
23015
+ },
23016
+ "ZoLinkMeta": {
23017
+ "additionalProperties": false,
23018
+ "properties": {
23019
+ "file_id": {
23020
+ "description": "The Knowledge file that holds the attachment.",
23021
+ "title": "File Id",
23022
+ "type": "string"
23023
+ }
23024
+ },
23025
+ "required": [
23026
+ "file_id"
23027
+ ],
23028
+ "title": "ZoLinkMeta",
23029
+ "type": "object"
23030
+ }
23031
+ }
23032
+ },
23033
+ "target": {
23034
+ "type": "agent",
23035
+ "input_pointer": "/agent_id"
23036
+ },
23037
+ "additional_checks": [],
23038
+ "effect": "read",
23039
+ "result_kind": "inline",
23040
+ "error_codes": [
23041
+ "implementation_unavailable",
23042
+ "resource_not_found"
23043
+ ],
23044
+ "digest": "sha256:ac04dbbd2642ad79c98bfd056cdef95a2db7538415dba5987ffc4adb2e4868dd"
23045
+ },
23046
+ {
23047
+ "name": "zo.model.generate_text",
23048
+ "version": 1,
23049
+ "publisher": "zo",
23050
+ "description": "Generate text with a model from a prompt or a conversation, or structured data when output is set: an object or a list matching a JSON Schema, one choice from a set, or any JSON. A user message can hold images and text files. One call, with no tools and no memory of earlier calls. Each call is charged to the workspace's credit for the tokens the provider reports and needs V2 billing.",
23051
+ "input_schema": {
23052
+ "additionalProperties": false,
23053
+ "properties": {
23054
+ "workspace_id": {
23055
+ "maxLength": 200,
23056
+ "minLength": 1,
23057
+ "title": "Workspace Id",
23058
+ "type": "string"
23059
+ },
23060
+ "model": {
23061
+ "description": "A model ID from zo.model.list, such as anthropic/claude-sonnet-5-5.",
23062
+ "maxLength": 200,
23063
+ "minLength": 1,
23064
+ "title": "Model",
23065
+ "type": "string"
23066
+ },
23067
+ "prompt": {
23068
+ "anyOf": [
23069
+ {
23070
+ "minLength": 1,
23071
+ "type": "string"
23072
+ },
23073
+ {
23074
+ "type": "null"
23075
+ }
23076
+ ],
23077
+ "default": null,
23078
+ "description": "A single user message. Set this or messages.",
23079
+ "title": "Prompt"
23080
+ },
23081
+ "messages": {
23082
+ "anyOf": [
23083
+ {
23084
+ "items": {
23085
+ "discriminator": {
23086
+ "mapping": {
23087
+ "assistant": "#/$defs/AssistantMessage",
23088
+ "user": "#/$defs/UserMessage"
23089
+ },
23090
+ "propertyName": "role"
23091
+ },
23092
+ "oneOf": [
23093
+ {
23094
+ "$ref": "#/$defs/UserMessage"
23095
+ },
23096
+ {
23097
+ "$ref": "#/$defs/AssistantMessage"
23098
+ }
23099
+ ]
23100
+ },
23101
+ "maxItems": 500,
23102
+ "minItems": 1,
23103
+ "type": "array"
23104
+ },
23105
+ {
23106
+ "type": "null"
23107
+ }
23108
+ ],
23109
+ "default": null,
23110
+ "description": "A conversation that ends with a user message. Set this or prompt.",
23111
+ "title": "Messages"
23112
+ },
23113
+ "instructions": {
23114
+ "anyOf": [
23115
+ {
23116
+ "minLength": 1,
23117
+ "type": "string"
23118
+ },
23119
+ {
23120
+ "type": "null"
23121
+ }
23122
+ ],
23123
+ "default": null,
23124
+ "description": "System instructions.",
23125
+ "title": "Instructions"
23126
+ },
23127
+ "output": {
23128
+ "anyOf": [
23129
+ {
23130
+ "discriminator": {
23131
+ "mapping": {
23132
+ "array": "#/$defs/ArrayOutput",
23133
+ "choice": "#/$defs/ChoiceOutput",
23134
+ "json": "#/$defs/JsonOutput",
23135
+ "object": "#/$defs/ObjectOutput"
23136
+ },
23137
+ "propertyName": "type"
23138
+ },
23139
+ "oneOf": [
23140
+ {
23141
+ "$ref": "#/$defs/ObjectOutput"
23142
+ },
23143
+ {
23144
+ "$ref": "#/$defs/ArrayOutput"
23145
+ },
23146
+ {
23147
+ "$ref": "#/$defs/ChoiceOutput"
23148
+ },
23149
+ {
23150
+ "$ref": "#/$defs/JsonOutput"
23151
+ }
23152
+ ]
23153
+ },
23154
+ {
23155
+ "type": "null"
23156
+ }
23157
+ ],
23158
+ "default": null,
23159
+ "description": "The structured output wanted. Omit for plain text.",
23160
+ "title": "Output"
23161
+ },
23162
+ "reasoning": {
23163
+ "anyOf": [
23164
+ {
23165
+ "maxLength": 32,
23166
+ "minLength": 1,
23167
+ "type": "string"
23168
+ },
23169
+ {
23170
+ "type": "null"
23171
+ }
23172
+ ],
23173
+ "default": null,
23174
+ "description": "Reasoning effort, one of the model's reasoning_levels. Omit for its default.",
23175
+ "title": "Reasoning"
23176
+ },
23177
+ "include": {
23178
+ "anyOf": [
23179
+ {
23180
+ "$ref": "#/$defs/Include"
23181
+ },
23182
+ {
23183
+ "type": "null"
23184
+ }
23185
+ ],
23186
+ "default": null
23187
+ },
23188
+ "provider_options": {
23189
+ "anyOf": [
23190
+ {
23191
+ "$ref": "#/$defs/ProviderOptions"
23192
+ },
23193
+ {
23194
+ "type": "null"
23195
+ }
23196
+ ],
23197
+ "default": null,
23198
+ "description": "Settings for the provider the model runs on, keyed by provider, in snake case. Only the routed provider's options are used; an option it doesn't take is refused before the call."
23199
+ },
23200
+ "max_output_tokens": {
23201
+ "anyOf": [
23202
+ {
23203
+ "minimum": 1,
23204
+ "type": "integer"
23205
+ },
23206
+ {
23207
+ "type": "null"
23208
+ }
23209
+ ],
23210
+ "default": null,
23211
+ "description": "The most tokens to generate.",
23212
+ "title": "Max Output Tokens"
23213
+ },
23214
+ "temperature": {
23215
+ "anyOf": [
23216
+ {
23217
+ "maximum": 2,
23218
+ "minimum": 0,
23219
+ "type": "number"
23220
+ },
23221
+ {
23222
+ "type": "null"
23223
+ }
23224
+ ],
23225
+ "default": null,
23226
+ "title": "Temperature"
23227
+ },
23228
+ "top_p": {
23229
+ "anyOf": [
23230
+ {
23231
+ "maximum": 1,
23232
+ "minimum": 0,
23233
+ "type": "number"
23234
+ },
23235
+ {
23236
+ "type": "null"
23237
+ }
23238
+ ],
23239
+ "default": null,
23240
+ "title": "Top P"
23241
+ },
23242
+ "top_k": {
23243
+ "anyOf": [
23244
+ {
23245
+ "minimum": 1,
23246
+ "type": "integer"
23247
+ },
23248
+ {
23249
+ "type": "null"
23250
+ }
23251
+ ],
23252
+ "default": null,
23253
+ "title": "Top K"
23254
+ },
23255
+ "presence_penalty": {
23256
+ "anyOf": [
23257
+ {
23258
+ "maximum": 2,
23259
+ "minimum": -2,
23260
+ "type": "number"
23261
+ },
23262
+ {
23263
+ "type": "null"
23264
+ }
23265
+ ],
23266
+ "default": null,
23267
+ "title": "Presence Penalty"
23268
+ },
23269
+ "frequency_penalty": {
23270
+ "anyOf": [
23271
+ {
23272
+ "maximum": 2,
23273
+ "minimum": -2,
23274
+ "type": "number"
23275
+ },
23276
+ {
23277
+ "type": "null"
23278
+ }
23279
+ ],
23280
+ "default": null,
23281
+ "title": "Frequency Penalty"
23282
+ },
23283
+ "stop_sequences": {
23284
+ "anyOf": [
23285
+ {
23286
+ "items": {
23287
+ "maxLength": 200,
23288
+ "minLength": 1,
23289
+ "type": "string"
23290
+ },
23291
+ "maxItems": 16,
23292
+ "minItems": 1,
23293
+ "type": "array"
23294
+ },
23295
+ {
23296
+ "type": "null"
23297
+ }
23298
+ ],
23299
+ "default": null,
23300
+ "title": "Stop Sequences"
23301
+ },
23302
+ "seed": {
23303
+ "anyOf": [
23304
+ {
23305
+ "type": "integer"
23306
+ },
23307
+ {
23308
+ "type": "null"
23309
+ }
23310
+ ],
23311
+ "default": null,
23312
+ "title": "Seed"
23313
+ }
23314
+ },
23315
+ "required": [
23316
+ "workspace_id",
23317
+ "model"
23318
+ ],
23319
+ "title": "GenerateTextInput",
23320
+ "type": "object",
23321
+ "$defs": {
23322
+ "ArrayOutput": {
23323
+ "additionalProperties": false,
23324
+ "properties": {
23325
+ "type": {
23326
+ "const": "array",
23327
+ "title": "Type",
23328
+ "type": "string"
23329
+ },
23330
+ "element_schema": {
23331
+ "additionalProperties": {
23332
+ "x-zo-json-value": true
23333
+ },
23334
+ "description": "A JSON Schema every element of the result matches.",
23335
+ "title": "Element Schema",
23336
+ "type": "object"
23337
+ },
23338
+ "name": {
23339
+ "anyOf": [
23340
+ {
23341
+ "maxLength": 64,
23342
+ "minLength": 1,
23343
+ "pattern": "^[A-Za-z0-9_-]+$",
23344
+ "type": "string"
23345
+ },
23346
+ {
23347
+ "type": "null"
23348
+ }
23349
+ ],
23350
+ "default": null,
23351
+ "title": "Name"
23352
+ },
23353
+ "description": {
23354
+ "anyOf": [
23355
+ {
23356
+ "maxLength": 1024,
23357
+ "minLength": 1,
23358
+ "type": "string"
23359
+ },
23360
+ {
23361
+ "type": "null"
23362
+ }
23363
+ ],
23364
+ "default": null,
23365
+ "title": "Description"
23366
+ }
23367
+ },
23368
+ "required": [
23369
+ "type",
23370
+ "element_schema"
23371
+ ],
23372
+ "title": "ArrayOutput",
23373
+ "type": "object"
23374
+ },
23375
+ "AssistantMessage": {
23376
+ "additionalProperties": false,
23377
+ "properties": {
23378
+ "role": {
23379
+ "const": "assistant",
23380
+ "title": "Role",
23381
+ "type": "string"
23382
+ },
23383
+ "content": {
23384
+ "items": {
23385
+ "$ref": "#/$defs/TextPart"
23386
+ },
23387
+ "maxItems": 100,
23388
+ "minItems": 1,
23389
+ "title": "Content",
23390
+ "type": "array"
23391
+ }
23392
+ },
23393
+ "required": [
23394
+ "role",
23395
+ "content"
23396
+ ],
23397
+ "title": "AssistantMessage",
23398
+ "type": "object"
23399
+ },
23400
+ "ChoiceOutput": {
23401
+ "additionalProperties": false,
23402
+ "properties": {
23403
+ "type": {
23404
+ "const": "choice",
23405
+ "title": "Type",
23406
+ "type": "string"
23407
+ },
23408
+ "options": {
23409
+ "description": "The result is exactly one of these.",
23410
+ "items": {
23411
+ "maxLength": 200,
23412
+ "minLength": 1,
23413
+ "type": "string"
23414
+ },
23415
+ "maxItems": 100,
23416
+ "minItems": 2,
23417
+ "title": "Options",
23418
+ "type": "array"
23419
+ }
23420
+ },
23421
+ "required": [
23422
+ "type",
23423
+ "options"
23424
+ ],
23425
+ "title": "ChoiceOutput",
23426
+ "type": "object"
23427
+ },
23428
+ "FilePart": {
23429
+ "additionalProperties": false,
23430
+ "description": "An image (PNG, JPEG, GIF or WebP, up to 20 MiB) or a text file (up to 1 MiB), as a Knowledge file by ID or\ninline as base64. A call may name at most 20 distinct Knowledge files. Other types, PDFs and video included, are\nrefused. Which types a model takes is its `input_media` in `zo.model.list`.",
23431
+ "properties": {
23432
+ "type": {
23433
+ "const": "file",
23434
+ "title": "Type",
23435
+ "type": "string"
23436
+ },
23437
+ "file_id": {
23438
+ "anyOf": [
23439
+ {
23440
+ "maxLength": 200,
23441
+ "minLength": 1,
23442
+ "type": "string"
23443
+ },
23444
+ {
23445
+ "type": "null"
23446
+ }
23447
+ ],
23448
+ "default": null,
23449
+ "description": "A Knowledge file the caller can read. Set this or data, not both.",
23450
+ "title": "File Id"
23451
+ },
23452
+ "data": {
23453
+ "anyOf": [
23454
+ {
23455
+ "minLength": 1,
23456
+ "type": "string"
23457
+ },
23458
+ {
23459
+ "type": "null"
23460
+ }
23461
+ ],
23462
+ "default": null,
23463
+ "description": "The file's bytes as base64.",
23464
+ "title": "Data"
23465
+ },
23466
+ "media_type": {
23467
+ "anyOf": [
23468
+ {
23469
+ "maxLength": 200,
23470
+ "minLength": 1,
23471
+ "type": "string"
23472
+ },
23473
+ {
23474
+ "type": "null"
23475
+ }
23476
+ ],
23477
+ "default": null,
23478
+ "description": "Required with data, such as image/png or text/plain. Ignored for a Knowledge file, which always uses its stored type.",
23479
+ "title": "Media Type"
23480
+ },
23481
+ "filename": {
23482
+ "anyOf": [
23483
+ {
23484
+ "maxLength": 255,
23485
+ "minLength": 1,
23486
+ "type": "string"
23487
+ },
23488
+ {
23489
+ "type": "null"
23490
+ }
23491
+ ],
23492
+ "default": null,
23493
+ "title": "Filename"
23494
+ }
23495
+ },
23496
+ "required": [
23497
+ "type"
23498
+ ],
23499
+ "title": "FilePart",
23500
+ "type": "object"
23501
+ },
23502
+ "Include": {
23503
+ "additionalProperties": false,
23504
+ "properties": {
23505
+ "reasoning": {
23506
+ "default": false,
23507
+ "description": "Return the model's reasoning text when it provides one.",
23508
+ "title": "Reasoning",
23509
+ "type": "boolean"
23510
+ }
23511
+ },
23512
+ "title": "Include",
23513
+ "type": "object",
23514
+ "required": []
23515
+ },
23516
+ "JsonOutput": {
23517
+ "additionalProperties": false,
23518
+ "properties": {
23519
+ "type": {
23520
+ "const": "json",
23521
+ "title": "Type",
23522
+ "type": "string"
23523
+ }
23524
+ },
23525
+ "required": [
23526
+ "type"
23527
+ ],
23528
+ "title": "JsonOutput",
23529
+ "type": "object"
23530
+ },
23531
+ "ObjectOutput": {
23532
+ "additionalProperties": false,
23533
+ "properties": {
23534
+ "type": {
23535
+ "const": "object",
23536
+ "title": "Type",
23537
+ "type": "string"
23538
+ },
23539
+ "schema": {
23540
+ "additionalProperties": {
23541
+ "x-zo-json-value": true
23542
+ },
23543
+ "description": "A JSON Schema whose root type is object. The result matches it.",
23544
+ "title": "Schema",
23545
+ "type": "object"
23546
+ },
23547
+ "name": {
23548
+ "anyOf": [
23549
+ {
23550
+ "maxLength": 64,
23551
+ "minLength": 1,
23552
+ "pattern": "^[A-Za-z0-9_-]+$",
23553
+ "type": "string"
23554
+ },
23555
+ {
23556
+ "type": "null"
23557
+ }
23558
+ ],
23559
+ "default": null,
23560
+ "title": "Name"
23561
+ },
23562
+ "description": {
23563
+ "anyOf": [
23564
+ {
23565
+ "maxLength": 1024,
23566
+ "minLength": 1,
23567
+ "type": "string"
23568
+ },
23569
+ {
23570
+ "type": "null"
23571
+ }
23572
+ ],
23573
+ "default": null,
23574
+ "title": "Description"
23575
+ }
23576
+ },
23577
+ "required": [
23578
+ "type",
23579
+ "schema"
23580
+ ],
23581
+ "title": "ObjectOutput",
23582
+ "type": "object"
23583
+ },
23584
+ "ProviderOptions": {
23585
+ "additionalProperties": false,
23586
+ "description": "Settings for one provider, keyed by provider, passed through to that\nprovider's request as the Vercel AI SDK's providerOptions are. Shared by\nevery model action that takes them.",
23587
+ "properties": {
23588
+ "anthropic": {
23589
+ "anyOf": [
23590
+ {
23591
+ "additionalProperties": {
23592
+ "x-zo-json-value": true
23593
+ },
23594
+ "type": "object"
23595
+ },
23596
+ {
23597
+ "type": "null"
23598
+ }
23599
+ ],
23600
+ "default": null,
23601
+ "description": "For Anthropic models: thinking, send_reasoning.",
23602
+ "title": "Anthropic"
23603
+ },
23604
+ "openai": {
23605
+ "anyOf": [
23606
+ {
23607
+ "additionalProperties": {
23608
+ "x-zo-json-value": true
23609
+ },
23610
+ "type": "object"
23611
+ },
23612
+ {
23613
+ "type": "null"
23614
+ }
23615
+ ],
23616
+ "default": null,
23617
+ "description": "For OpenAI models: reasoning_summary, text_verbosity, service_tier, user, logit_bias.",
23618
+ "title": "Openai"
23619
+ },
23620
+ "google": {
23621
+ "anyOf": [
23622
+ {
23623
+ "additionalProperties": {
23624
+ "x-zo-json-value": true
23625
+ },
23626
+ "type": "object"
23627
+ },
23628
+ {
23629
+ "type": "null"
23630
+ }
23631
+ ],
23632
+ "default": null,
23633
+ "description": "For Google models: thinking_config, safety_settings.",
23634
+ "title": "Google"
23635
+ },
23636
+ "xai": {
23637
+ "anyOf": [
23638
+ {
23639
+ "additionalProperties": {
23640
+ "x-zo-json-value": true
23641
+ },
23642
+ "type": "object"
23643
+ },
23644
+ {
23645
+ "type": "null"
23646
+ }
23647
+ ],
23648
+ "default": null,
23649
+ "description": "For xAI models. None are accepted yet.",
23650
+ "title": "Xai"
23651
+ },
23652
+ "deepseek": {
23653
+ "anyOf": [
23654
+ {
23655
+ "additionalProperties": {
23656
+ "x-zo-json-value": true
23657
+ },
23658
+ "type": "object"
23659
+ },
23660
+ {
23661
+ "type": "null"
23662
+ }
23663
+ ],
23664
+ "default": null,
23665
+ "description": "For DeepSeek models. None are accepted yet.",
23666
+ "title": "Deepseek"
23667
+ },
23668
+ "moonshot": {
23669
+ "anyOf": [
23670
+ {
23671
+ "additionalProperties": {
23672
+ "x-zo-json-value": true
23673
+ },
23674
+ "type": "object"
23675
+ },
23676
+ {
23677
+ "type": "null"
23678
+ }
23679
+ ],
23680
+ "default": null,
23681
+ "description": "For Moonshot models. None are accepted yet.",
23682
+ "title": "Moonshot"
23683
+ },
23684
+ "zai": {
23685
+ "anyOf": [
23686
+ {
23687
+ "additionalProperties": {
23688
+ "x-zo-json-value": true
23689
+ },
23690
+ "type": "object"
23691
+ },
23692
+ {
23693
+ "type": "null"
23694
+ }
23695
+ ],
23696
+ "default": null,
23697
+ "description": "For Z.ai models. None are accepted yet.",
23698
+ "title": "Zai"
23699
+ },
23700
+ "voyage": {
23701
+ "anyOf": [
23702
+ {
23703
+ "additionalProperties": {
23704
+ "x-zo-json-value": true
23705
+ },
23706
+ "type": "object"
23707
+ },
23708
+ {
23709
+ "type": "null"
23710
+ }
23711
+ ],
23712
+ "default": null,
23713
+ "description": "For Voyage models: truncation.",
23714
+ "title": "Voyage"
23715
+ },
23716
+ "bytedance": {
23717
+ "anyOf": [
23718
+ {
23719
+ "additionalProperties": {
23720
+ "x-zo-json-value": true
23721
+ },
23722
+ "type": "object"
23723
+ },
23724
+ {
23725
+ "type": "null"
23726
+ }
23727
+ ],
23728
+ "default": null,
23729
+ "description": "For ByteDance models. None are accepted yet.",
23730
+ "title": "Bytedance"
23731
+ },
23732
+ "recraft": {
23733
+ "anyOf": [
23734
+ {
23735
+ "additionalProperties": {
23736
+ "x-zo-json-value": true
23737
+ },
23738
+ "type": "object"
23739
+ },
23740
+ {
23741
+ "type": "null"
23742
+ }
23743
+ ],
23744
+ "default": null,
23745
+ "description": "For Recraft models. None are accepted yet.",
23746
+ "title": "Recraft"
23747
+ },
23748
+ "assemblyai": {
23749
+ "anyOf": [
23750
+ {
23751
+ "additionalProperties": {
23752
+ "x-zo-json-value": true
23753
+ },
23754
+ "type": "object"
23755
+ },
23756
+ {
23757
+ "type": "null"
23758
+ }
23759
+ ],
23760
+ "default": null,
23761
+ "description": "For AssemblyAI transcription: punctuate, format_text, disfluencies, filter_profanity, word_boost, boost_param.",
23762
+ "title": "Assemblyai"
22400
23763
  }
22401
23764
  },
22402
- "required": [
22403
- "type",
22404
- "uri",
22405
- "name"
22406
- ],
22407
- "title": "ResourceLinkBlock",
22408
- "type": "object"
23765
+ "title": "ProviderOptions",
23766
+ "type": "object",
23767
+ "required": []
22409
23768
  },
22410
- "TextBlock": {
23769
+ "TextPart": {
22411
23770
  "additionalProperties": false,
22412
23771
  "properties": {
22413
23772
  "type": {
@@ -22416,8 +23775,6 @@
22416
23775
  "type": "string"
22417
23776
  },
22418
23777
  "text": {
22419
- "maxLength": 100000,
22420
- "minLength": 1,
22421
23778
  "title": "Text",
22422
23779
  "type": "string"
22423
23780
  }
@@ -22426,23 +23783,235 @@
22426
23783
  "type",
22427
23784
  "text"
22428
23785
  ],
22429
- "title": "TextBlock",
23786
+ "title": "TextPart",
23787
+ "type": "object"
23788
+ },
23789
+ "UserMessage": {
23790
+ "additionalProperties": false,
23791
+ "properties": {
23792
+ "role": {
23793
+ "const": "user",
23794
+ "title": "Role",
23795
+ "type": "string"
23796
+ },
23797
+ "content": {
23798
+ "description": "Text and file parts, in order.",
23799
+ "items": {
23800
+ "discriminator": {
23801
+ "mapping": {
23802
+ "file": "#/$defs/FilePart",
23803
+ "text": "#/$defs/TextPart"
23804
+ },
23805
+ "propertyName": "type"
23806
+ },
23807
+ "oneOf": [
23808
+ {
23809
+ "$ref": "#/$defs/TextPart"
23810
+ },
23811
+ {
23812
+ "$ref": "#/$defs/FilePart"
23813
+ }
23814
+ ]
23815
+ },
23816
+ "maxItems": 100,
23817
+ "minItems": 1,
23818
+ "title": "Content",
23819
+ "type": "array"
23820
+ }
23821
+ },
23822
+ "required": [
23823
+ "role",
23824
+ "content"
23825
+ ],
23826
+ "title": "UserMessage",
22430
23827
  "type": "object"
22431
23828
  }
22432
23829
  }
22433
23830
  },
23831
+ "output_schema": {
23832
+ "additionalProperties": false,
23833
+ "properties": {
23834
+ "text": {
23835
+ "description": "The generated text. For structured output, the JSON the model wrote.",
23836
+ "title": "Text",
23837
+ "type": "string"
23838
+ },
23839
+ "output": {
23840
+ "anyOf": [
23841
+ {
23842
+ "x-zo-json-value": true
23843
+ },
23844
+ {
23845
+ "type": "null"
23846
+ }
23847
+ ],
23848
+ "description": "The parsed result when output was set, else null."
23849
+ },
23850
+ "reasoning": {
23851
+ "anyOf": [
23852
+ {
23853
+ "type": "string"
23854
+ },
23855
+ {
23856
+ "type": "null"
23857
+ }
23858
+ ],
23859
+ "description": "The model's reasoning text, when asked for and provided.",
23860
+ "title": "Reasoning"
23861
+ },
23862
+ "finish_reason": {
23863
+ "description": "Why generation ended. deadline: the request ran out of time and text holds what was generated by then.",
23864
+ "enum": [
23865
+ "stop",
23866
+ "length",
23867
+ "content_filter",
23868
+ "deadline",
23869
+ "other"
23870
+ ],
23871
+ "title": "Finish Reason",
23872
+ "type": "string"
23873
+ },
23874
+ "model": {
23875
+ "description": "The model that answered.",
23876
+ "title": "Model",
23877
+ "type": "string"
23878
+ },
23879
+ "usage": {
23880
+ "$ref": "#/$defs/Usage"
23881
+ },
23882
+ "charge": {
23883
+ "$ref": "#/$defs/Charge"
23884
+ }
23885
+ },
23886
+ "required": [
23887
+ "text",
23888
+ "output",
23889
+ "reasoning",
23890
+ "finish_reason",
23891
+ "model",
23892
+ "usage",
23893
+ "charge"
23894
+ ],
23895
+ "title": "GenerateTextResult",
23896
+ "type": "object",
23897
+ "$defs": {
23898
+ "Charge": {
23899
+ "additionalProperties": false,
23900
+ "properties": {
23901
+ "usd": {
23902
+ "anyOf": [
23903
+ {
23904
+ "type": "string"
23905
+ },
23906
+ {
23907
+ "type": "null"
23908
+ }
23909
+ ],
23910
+ "description": "What this call added to the workspace's usage, in US dollars as a decimal string. Null when the amount couldn't be confirmed; the workspace's billing entries are the record.",
23911
+ "title": "Usd"
23912
+ }
23913
+ },
23914
+ "required": [
23915
+ "usd"
23916
+ ],
23917
+ "title": "Charge",
23918
+ "type": "object"
23919
+ },
23920
+ "Usage": {
23921
+ "additionalProperties": false,
23922
+ "description": "What the provider reported, in the units the model is billed in. A\nmodel action sets only its own units.",
23923
+ "properties": {
23924
+ "input_tokens": {
23925
+ "anyOf": [
23926
+ {
23927
+ "minimum": 0,
23928
+ "type": "integer"
23929
+ },
23930
+ {
23931
+ "type": "null"
23932
+ }
23933
+ ],
23934
+ "default": null,
23935
+ "title": "Input Tokens"
23936
+ },
23937
+ "output_tokens": {
23938
+ "anyOf": [
23939
+ {
23940
+ "minimum": 0,
23941
+ "type": "integer"
23942
+ },
23943
+ {
23944
+ "type": "null"
23945
+ }
23946
+ ],
23947
+ "default": null,
23948
+ "title": "Output Tokens"
23949
+ },
23950
+ "cache_read_tokens": {
23951
+ "anyOf": [
23952
+ {
23953
+ "minimum": 0,
23954
+ "type": "integer"
23955
+ },
23956
+ {
23957
+ "type": "null"
23958
+ }
23959
+ ],
23960
+ "default": null,
23961
+ "title": "Cache Read Tokens"
23962
+ },
23963
+ "cache_write_tokens": {
23964
+ "anyOf": [
23965
+ {
23966
+ "minimum": 0,
23967
+ "type": "integer"
23968
+ },
23969
+ {
23970
+ "type": "null"
23971
+ }
23972
+ ],
23973
+ "default": null,
23974
+ "title": "Cache Write Tokens"
23975
+ },
23976
+ "reasoning_tokens": {
23977
+ "anyOf": [
23978
+ {
23979
+ "minimum": 0,
23980
+ "type": "integer"
23981
+ },
23982
+ {
23983
+ "type": "null"
23984
+ }
23985
+ ],
23986
+ "default": null,
23987
+ "title": "Reasoning Tokens"
23988
+ }
23989
+ },
23990
+ "title": "Usage",
23991
+ "type": "object",
23992
+ "required": []
23993
+ }
23994
+ }
23995
+ },
22434
23996
  "target": {
22435
- "type": "agent",
22436
- "input_pointer": "/agent_id"
23997
+ "type": "workspace",
23998
+ "input_pointer": "/workspace_id"
22437
23999
  },
22438
24000
  "additional_checks": [],
22439
- "effect": "read",
24001
+ "effect": "use",
22440
24002
  "result_kind": "inline",
22441
24003
  "error_codes": [
24004
+ "invalid_input",
24005
+ "conflict",
24006
+ "quota_exceeded",
24007
+ "rate_limited",
24008
+ "execution_deadline_exceeded",
24009
+ "provider_failure",
22442
24010
  "implementation_unavailable",
22443
- "resource_not_found"
24011
+ "file_too_large",
24012
+ "output_limit_exceeded"
22444
24013
  ],
22445
- "digest": "sha256:aadcb480b26c475386eb47a4694a413a0b118969638cd9bfd9d9e5d68b5f758e"
24014
+ "digest": "sha256:3b53f6bc7b92dbda22ad01a97d1c69baaf567234ef35d364297f96c979bca184"
22446
24015
  },
22447
24016
  {
22448
24017
  "name": "zo.model.list",
@@ -23025,7 +24594,7 @@
23025
24594
  }
23026
24595
  ],
23027
24596
  "default": null,
23028
- "description": "The app's client secret. Zo seals it in the workspace vault and stores only its `manager_ref.client_secret_id`; it is never returned.",
24597
+ "description": "The app's client secret. Zo seals it in the workspace vault and never returns it. A private app needs one. After an update, every connection on the app uses the new secret from its next refresh.",
23029
24598
  "title": "Client Secret"
23030
24599
  }
23031
24600
  },
@@ -23134,7 +24703,7 @@
23134
24703
  "invalid_input",
23135
24704
  "resource_not_found"
23136
24705
  ],
23137
- "digest": "sha256:36487e5b7a08bfe7fb60077cbdf001f9e49bcdad39180a2f39f4f338198d23ce"
24706
+ "digest": "sha256:d9216f3b7e1c6aa991dfd4572f88a4eff1f97e0bbd08bcaa9b28827d7536a828"
23138
24707
  },
23139
24708
  {
23140
24709
  "name": "zo.oauth_app.delete",
@@ -23561,7 +25130,7 @@
23561
25130
  }
23562
25131
  ],
23563
25132
  "default": null,
23564
- "description": "Omitted: keep the app's current `manager_ref` (with a new `client_secret`, only its secret id changes).",
25133
+ "description": "Omitted: keep the app's current `manager_ref`. It can't contain `client_secret`, `client_secret_id` or `client_secret_env`.",
23565
25134
  "title": "Manager Ref"
23566
25135
  },
23567
25136
  "visibility": {
@@ -23584,7 +25153,7 @@
23584
25153
  }
23585
25154
  ],
23586
25155
  "default": null,
23587
- "description": "The app's client secret. Zo seals it in the workspace vault and stores only its `manager_ref.client_secret_id`; it is never returned.",
25156
+ "description": "The app's client secret. Zo seals it in the workspace vault and never returns it. A private app needs one. After an update, every connection on the app uses the new secret from its next refresh.",
23588
25157
  "title": "Client Secret"
23589
25158
  }
23590
25159
  },
@@ -23717,7 +25286,7 @@
23717
25286
  "conflict",
23718
25287
  "resource_not_found"
23719
25288
  ],
23720
- "digest": "sha256:f5478f52aaa077c985cab0e10a44a13c9ac72d6dedac67d6974ef831e5aded61"
25289
+ "digest": "sha256:4b2d3c01b760b5007430f546a25fc645ad587fcc8aac0aacaf61bfcdab6c3d1f"
23721
25290
  },
23722
25291
  {
23723
25292
  "name": "zo.quota.get",
@@ -39066,226 +40635,291 @@
39066
40635
  "title": "Website",
39067
40636
  "type": "object",
39068
40637
  "$defs": {
39069
- "WebsiteHostname": {
40638
+ "WebsiteDnsRecord": {
40639
+ "additionalProperties": false,
40640
+ "properties": {
40641
+ "type": {
40642
+ "enum": [
40643
+ "CNAME",
40644
+ "TXT"
40645
+ ],
40646
+ "title": "Type",
40647
+ "type": "string"
40648
+ },
40649
+ "name": {
40650
+ "title": "Name",
40651
+ "type": "string"
40652
+ },
40653
+ "value": {
40654
+ "title": "Value",
40655
+ "type": "string"
40656
+ }
40657
+ },
40658
+ "required": [
40659
+ "type",
40660
+ "name",
40661
+ "value"
40662
+ ],
40663
+ "title": "WebsiteDnsRecord",
40664
+ "type": "object"
40665
+ },
40666
+ "WebsiteHostname": {
40667
+ "additionalProperties": false,
40668
+ "properties": {
40669
+ "hostname": {
40670
+ "title": "Hostname",
40671
+ "type": "string"
40672
+ },
40673
+ "state": {
40674
+ "enum": [
40675
+ "pending_dns",
40676
+ "pending_ssl",
40677
+ "active",
40678
+ "released"
40679
+ ],
40680
+ "title": "State",
40681
+ "type": "string"
40682
+ },
40683
+ "dns_records": {
40684
+ "description": "The records to keep at your DNS provider: a CNAME that routes the hostname to Zo, and a TXT record whose value is unique to this claim and proves you control the hostname.",
40685
+ "items": {
40686
+ "$ref": "#/$defs/WebsiteDnsRecord"
40687
+ },
40688
+ "title": "Dns Records",
40689
+ "type": "array"
40690
+ }
40691
+ },
40692
+ "required": [
40693
+ "hostname",
40694
+ "state",
40695
+ "dns_records"
40696
+ ],
40697
+ "title": "WebsiteHostname",
40698
+ "type": "object"
40699
+ }
40700
+ }
40701
+ },
40702
+ "target": {
40703
+ "type": "workspace",
40704
+ "input_pointer": "/workspace_id"
40705
+ },
40706
+ "additional_checks": [],
40707
+ "effect": "create",
40708
+ "result_kind": "inline",
40709
+ "error_codes": [
40710
+ "implementation_unavailable",
40711
+ "invalid_input",
40712
+ "conflict"
40713
+ ],
40714
+ "digest": "sha256:1a383ed93cdc7acb59c8937a36be01157a90dba7923afc6ffc8304a5080475f2"
40715
+ },
40716
+ {
40717
+ "name": "zo.website.delete",
40718
+ "version": 1,
40719
+ "publisher": "zo",
40720
+ "description": "Delete a Website and retire its routes.",
40721
+ "input_schema": {
40722
+ "additionalProperties": false,
40723
+ "properties": {
40724
+ "website_id": {
40725
+ "maxLength": 200,
40726
+ "minLength": 1,
40727
+ "title": "Website Id",
40728
+ "type": "string"
40729
+ },
40730
+ "expected_revision": {
40731
+ "exclusiveMinimum": 0,
40732
+ "maximum": 9007199254740991,
40733
+ "title": "Expected Revision",
40734
+ "type": "integer"
40735
+ }
40736
+ },
40737
+ "required": [
40738
+ "website_id",
40739
+ "expected_revision"
40740
+ ],
40741
+ "title": "WebsiteRevisionInput",
40742
+ "type": "object"
40743
+ },
40744
+ "output_schema": {
40745
+ "additionalProperties": false,
40746
+ "properties": {
40747
+ "id": {
40748
+ "title": "Id",
40749
+ "type": "string"
40750
+ },
40751
+ "deleted": {
40752
+ "const": true,
40753
+ "title": "Deleted",
40754
+ "type": "boolean"
40755
+ }
40756
+ },
40757
+ "required": [
40758
+ "id",
40759
+ "deleted"
40760
+ ],
40761
+ "title": "Deleted",
40762
+ "type": "object"
40763
+ },
40764
+ "target": {
40765
+ "type": "website",
40766
+ "input_pointer": "/website_id"
40767
+ },
40768
+ "additional_checks": [],
40769
+ "effect": "manage",
40770
+ "result_kind": "inline",
40771
+ "error_codes": [
40772
+ "implementation_unavailable",
40773
+ "conflict"
40774
+ ],
40775
+ "digest": "sha256:2db56e54e0b5566279d44af943774876d9996d525a3dab2b7af47389167ec896"
40776
+ },
40777
+ {
40778
+ "name": "zo.website.get",
40779
+ "version": 1,
40780
+ "publisher": "zo",
40781
+ "description": "Read a Website and its hostname.",
40782
+ "input_schema": {
40783
+ "additionalProperties": false,
40784
+ "properties": {
40785
+ "website_id": {
40786
+ "maxLength": 200,
40787
+ "minLength": 1,
40788
+ "title": "Website Id",
40789
+ "type": "string"
40790
+ }
40791
+ },
40792
+ "required": [
40793
+ "website_id"
40794
+ ],
40795
+ "title": "WebsiteGetInput",
40796
+ "type": "object"
40797
+ },
40798
+ "output_schema": {
40799
+ "additionalProperties": false,
40800
+ "properties": {
40801
+ "id": {
40802
+ "title": "Id",
40803
+ "type": "string"
40804
+ },
40805
+ "workspace_id": {
40806
+ "title": "Workspace Id",
40807
+ "type": "string"
40808
+ },
40809
+ "slug": {
40810
+ "title": "Slug",
40811
+ "type": "string"
40812
+ },
40813
+ "display_name": {
40814
+ "title": "Display Name",
40815
+ "type": "string"
40816
+ },
40817
+ "description": {
40818
+ "title": "Description",
40819
+ "type": "string"
40820
+ },
40821
+ "generated_hostname": {
40822
+ "title": "Generated Hostname",
40823
+ "type": "string"
40824
+ },
40825
+ "custom_hostname": {
40826
+ "anyOf": [
40827
+ {
40828
+ "$ref": "#/$defs/WebsiteHostname"
40829
+ },
40830
+ {
40831
+ "type": "null"
40832
+ }
40833
+ ]
40834
+ },
40835
+ "access": {
40836
+ "enum": [
40837
+ "public",
40838
+ "authenticated"
40839
+ ],
40840
+ "title": "Access",
40841
+ "type": "string"
40842
+ },
40843
+ "revision": {
40844
+ "exclusiveMinimum": 0,
40845
+ "maximum": 9007199254740991,
40846
+ "title": "Revision",
40847
+ "type": "integer"
40848
+ },
40849
+ "visibility": {
40850
+ "enum": [
40851
+ "workspace",
40852
+ "protected"
40853
+ ],
40854
+ "title": "Visibility",
40855
+ "type": "string"
40856
+ },
40857
+ "owner_user_id": {
40858
+ "anyOf": [
40859
+ {
40860
+ "type": "string"
40861
+ },
40862
+ {
40863
+ "type": "null"
40864
+ }
40865
+ ],
40866
+ "title": "Owner User Id"
40867
+ },
40868
+ "created_at": {
40869
+ "title": "Created At",
40870
+ "type": "string"
40871
+ },
40872
+ "updated_at": {
40873
+ "title": "Updated At",
40874
+ "type": "string"
40875
+ }
40876
+ },
40877
+ "required": [
40878
+ "id",
40879
+ "workspace_id",
40880
+ "slug",
40881
+ "display_name",
40882
+ "description",
40883
+ "generated_hostname",
40884
+ "custom_hostname",
40885
+ "access",
40886
+ "revision",
40887
+ "visibility",
40888
+ "owner_user_id",
40889
+ "created_at",
40890
+ "updated_at"
40891
+ ],
40892
+ "title": "Website",
40893
+ "type": "object",
40894
+ "$defs": {
40895
+ "WebsiteDnsRecord": {
39070
40896
  "additionalProperties": false,
39071
40897
  "properties": {
39072
- "hostname": {
39073
- "title": "Hostname",
39074
- "type": "string"
39075
- },
39076
- "state": {
40898
+ "type": {
39077
40899
  "enum": [
39078
- "pending_dns",
39079
- "pending_ssl",
39080
- "active",
39081
- "released"
40900
+ "CNAME",
40901
+ "TXT"
39082
40902
  ],
39083
- "title": "State",
40903
+ "title": "Type",
39084
40904
  "type": "string"
39085
- }
39086
- },
39087
- "required": [
39088
- "hostname",
39089
- "state"
39090
- ],
39091
- "title": "WebsiteHostname",
39092
- "type": "object"
39093
- }
39094
- }
39095
- },
39096
- "target": {
39097
- "type": "workspace",
39098
- "input_pointer": "/workspace_id"
39099
- },
39100
- "additional_checks": [],
39101
- "effect": "create",
39102
- "result_kind": "inline",
39103
- "error_codes": [
39104
- "implementation_unavailable",
39105
- "invalid_input",
39106
- "conflict"
39107
- ],
39108
- "digest": "sha256:8c7b48e80e39d01eb6fa121ba0a2688deba2f2ba7396dee8e3f583d7f6c884ff"
39109
- },
39110
- {
39111
- "name": "zo.website.delete",
39112
- "version": 1,
39113
- "publisher": "zo",
39114
- "description": "Delete a Website and retire its routes.",
39115
- "input_schema": {
39116
- "additionalProperties": false,
39117
- "properties": {
39118
- "website_id": {
39119
- "maxLength": 200,
39120
- "minLength": 1,
39121
- "title": "Website Id",
39122
- "type": "string"
39123
- },
39124
- "expected_revision": {
39125
- "exclusiveMinimum": 0,
39126
- "maximum": 9007199254740991,
39127
- "title": "Expected Revision",
39128
- "type": "integer"
39129
- }
39130
- },
39131
- "required": [
39132
- "website_id",
39133
- "expected_revision"
39134
- ],
39135
- "title": "WebsiteRevisionInput",
39136
- "type": "object"
39137
- },
39138
- "output_schema": {
39139
- "additionalProperties": false,
39140
- "properties": {
39141
- "id": {
39142
- "title": "Id",
39143
- "type": "string"
39144
- },
39145
- "deleted": {
39146
- "const": true,
39147
- "title": "Deleted",
39148
- "type": "boolean"
39149
- }
39150
- },
39151
- "required": [
39152
- "id",
39153
- "deleted"
39154
- ],
39155
- "title": "Deleted",
39156
- "type": "object"
39157
- },
39158
- "target": {
39159
- "type": "website",
39160
- "input_pointer": "/website_id"
39161
- },
39162
- "additional_checks": [],
39163
- "effect": "manage",
39164
- "result_kind": "inline",
39165
- "error_codes": [
39166
- "implementation_unavailable",
39167
- "conflict"
39168
- ],
39169
- "digest": "sha256:2db56e54e0b5566279d44af943774876d9996d525a3dab2b7af47389167ec896"
39170
- },
39171
- {
39172
- "name": "zo.website.get",
39173
- "version": 1,
39174
- "publisher": "zo",
39175
- "description": "Read a Website and its hostname.",
39176
- "input_schema": {
39177
- "additionalProperties": false,
39178
- "properties": {
39179
- "website_id": {
39180
- "maxLength": 200,
39181
- "minLength": 1,
39182
- "title": "Website Id",
39183
- "type": "string"
39184
- }
39185
- },
39186
- "required": [
39187
- "website_id"
39188
- ],
39189
- "title": "WebsiteGetInput",
39190
- "type": "object"
39191
- },
39192
- "output_schema": {
39193
- "additionalProperties": false,
39194
- "properties": {
39195
- "id": {
39196
- "title": "Id",
39197
- "type": "string"
39198
- },
39199
- "workspace_id": {
39200
- "title": "Workspace Id",
39201
- "type": "string"
39202
- },
39203
- "slug": {
39204
- "title": "Slug",
39205
- "type": "string"
39206
- },
39207
- "display_name": {
39208
- "title": "Display Name",
39209
- "type": "string"
39210
- },
39211
- "description": {
39212
- "title": "Description",
39213
- "type": "string"
39214
- },
39215
- "generated_hostname": {
39216
- "title": "Generated Hostname",
39217
- "type": "string"
39218
- },
39219
- "custom_hostname": {
39220
- "anyOf": [
39221
- {
39222
- "$ref": "#/$defs/WebsiteHostname"
39223
40905
  },
39224
- {
39225
- "type": "null"
39226
- }
39227
- ]
39228
- },
39229
- "access": {
39230
- "enum": [
39231
- "public",
39232
- "authenticated"
39233
- ],
39234
- "title": "Access",
39235
- "type": "string"
39236
- },
39237
- "revision": {
39238
- "exclusiveMinimum": 0,
39239
- "maximum": 9007199254740991,
39240
- "title": "Revision",
39241
- "type": "integer"
39242
- },
39243
- "visibility": {
39244
- "enum": [
39245
- "workspace",
39246
- "protected"
39247
- ],
39248
- "title": "Visibility",
39249
- "type": "string"
39250
- },
39251
- "owner_user_id": {
39252
- "anyOf": [
39253
- {
40906
+ "name": {
40907
+ "title": "Name",
39254
40908
  "type": "string"
39255
40909
  },
39256
- {
39257
- "type": "null"
40910
+ "value": {
40911
+ "title": "Value",
40912
+ "type": "string"
39258
40913
  }
40914
+ },
40915
+ "required": [
40916
+ "type",
40917
+ "name",
40918
+ "value"
39259
40919
  ],
39260
- "title": "Owner User Id"
39261
- },
39262
- "created_at": {
39263
- "title": "Created At",
39264
- "type": "string"
40920
+ "title": "WebsiteDnsRecord",
40921
+ "type": "object"
39265
40922
  },
39266
- "updated_at": {
39267
- "title": "Updated At",
39268
- "type": "string"
39269
- }
39270
- },
39271
- "required": [
39272
- "id",
39273
- "workspace_id",
39274
- "slug",
39275
- "display_name",
39276
- "description",
39277
- "generated_hostname",
39278
- "custom_hostname",
39279
- "access",
39280
- "revision",
39281
- "visibility",
39282
- "owner_user_id",
39283
- "created_at",
39284
- "updated_at"
39285
- ],
39286
- "title": "Website",
39287
- "type": "object",
39288
- "$defs": {
39289
40923
  "WebsiteHostname": {
39290
40924
  "additionalProperties": false,
39291
40925
  "properties": {
@@ -39302,11 +40936,20 @@
39302
40936
  ],
39303
40937
  "title": "State",
39304
40938
  "type": "string"
40939
+ },
40940
+ "dns_records": {
40941
+ "description": "The records to keep at your DNS provider: a CNAME that routes the hostname to Zo, and a TXT record whose value is unique to this claim and proves you control the hostname.",
40942
+ "items": {
40943
+ "$ref": "#/$defs/WebsiteDnsRecord"
40944
+ },
40945
+ "title": "Dns Records",
40946
+ "type": "array"
39305
40947
  }
39306
40948
  },
39307
40949
  "required": [
39308
40950
  "hostname",
39309
- "state"
40951
+ "state",
40952
+ "dns_records"
39310
40953
  ],
39311
40954
  "title": "WebsiteHostname",
39312
40955
  "type": "object"
@@ -39324,7 +40967,7 @@
39324
40967
  "implementation_unavailable",
39325
40968
  "resource_not_found"
39326
40969
  ],
39327
- "digest": "sha256:e95171ac43bb4bf95e277a4c6777ee8061c728feb119cbfc2354dc45dfb82d49"
40970
+ "digest": "sha256:2ecc0a4426f4cb62d99e7953c7cc2905417f1a97996ed79ad8b2fa5e539aea9c"
39328
40971
  },
39329
40972
  {
39330
40973
  "name": "zo.website.list",
@@ -39492,6 +41135,34 @@
39492
41135
  "title": "MachineRouteConfig",
39493
41136
  "type": "object"
39494
41137
  },
41138
+ "WebsiteDnsRecord": {
41139
+ "additionalProperties": false,
41140
+ "properties": {
41141
+ "type": {
41142
+ "enum": [
41143
+ "CNAME",
41144
+ "TXT"
41145
+ ],
41146
+ "title": "Type",
41147
+ "type": "string"
41148
+ },
41149
+ "name": {
41150
+ "title": "Name",
41151
+ "type": "string"
41152
+ },
41153
+ "value": {
41154
+ "title": "Value",
41155
+ "type": "string"
41156
+ }
41157
+ },
41158
+ "required": [
41159
+ "type",
41160
+ "name",
41161
+ "value"
41162
+ ],
41163
+ "title": "WebsiteDnsRecord",
41164
+ "type": "object"
41165
+ },
39495
41166
  "WebsiteHostname": {
39496
41167
  "additionalProperties": false,
39497
41168
  "properties": {
@@ -39508,11 +41179,20 @@
39508
41179
  ],
39509
41180
  "title": "State",
39510
41181
  "type": "string"
41182
+ },
41183
+ "dns_records": {
41184
+ "description": "The records to keep at your DNS provider: a CNAME that routes the hostname to Zo, and a TXT record whose value is unique to this claim and proves you control the hostname.",
41185
+ "items": {
41186
+ "$ref": "#/$defs/WebsiteDnsRecord"
41187
+ },
41188
+ "title": "Dns Records",
41189
+ "type": "array"
39511
41190
  }
39512
41191
  },
39513
41192
  "required": [
39514
41193
  "hostname",
39515
- "state"
41194
+ "state",
41195
+ "dns_records"
39516
41196
  ],
39517
41197
  "title": "WebsiteHostname",
39518
41198
  "type": "object"
@@ -39725,7 +41405,7 @@
39725
41405
  "implementation_unavailable",
39726
41406
  "invalid_input"
39727
41407
  ],
39728
- "digest": "sha256:1acce33b16bd903d94f40273da1785d694f99444facb40e166a061190db1bb74"
41408
+ "digest": "sha256:a4c5d48b532bc4a9323278889bc14679b58e50f189225e2b191408b16cf0e5b2"
39729
41409
  },
39730
41410
  {
39731
41411
  "name": "zo.website.update",
@@ -39932,6 +41612,34 @@
39932
41612
  "title": "Website",
39933
41613
  "type": "object",
39934
41614
  "$defs": {
41615
+ "WebsiteDnsRecord": {
41616
+ "additionalProperties": false,
41617
+ "properties": {
41618
+ "type": {
41619
+ "enum": [
41620
+ "CNAME",
41621
+ "TXT"
41622
+ ],
41623
+ "title": "Type",
41624
+ "type": "string"
41625
+ },
41626
+ "name": {
41627
+ "title": "Name",
41628
+ "type": "string"
41629
+ },
41630
+ "value": {
41631
+ "title": "Value",
41632
+ "type": "string"
41633
+ }
41634
+ },
41635
+ "required": [
41636
+ "type",
41637
+ "name",
41638
+ "value"
41639
+ ],
41640
+ "title": "WebsiteDnsRecord",
41641
+ "type": "object"
41642
+ },
39935
41643
  "WebsiteHostname": {
39936
41644
  "additionalProperties": false,
39937
41645
  "properties": {
@@ -39948,11 +41656,20 @@
39948
41656
  ],
39949
41657
  "title": "State",
39950
41658
  "type": "string"
41659
+ },
41660
+ "dns_records": {
41661
+ "description": "The records to keep at your DNS provider: a CNAME that routes the hostname to Zo, and a TXT record whose value is unique to this claim and proves you control the hostname.",
41662
+ "items": {
41663
+ "$ref": "#/$defs/WebsiteDnsRecord"
41664
+ },
41665
+ "title": "Dns Records",
41666
+ "type": "array"
39951
41667
  }
39952
41668
  },
39953
41669
  "required": [
39954
41670
  "hostname",
39955
- "state"
41671
+ "state",
41672
+ "dns_records"
39956
41673
  ],
39957
41674
  "title": "WebsiteHostname",
39958
41675
  "type": "object"
@@ -39971,7 +41688,7 @@
39971
41688
  "invalid_input",
39972
41689
  "conflict"
39973
41690
  ],
39974
- "digest": "sha256:99ad2a085bd283d6fee339a8c3c1adf1414065e7f0a5714f0292ba352c9d7655"
41691
+ "digest": "sha256:954824c368536054d6b91ed7131afba47b09abd1e5f9cacfc7a89479f2f37133"
39975
41692
  },
39976
41693
  {
39977
41694
  "name": "zo.website_route.create",
@@ -42480,6 +44197,7 @@
42480
44197
  },
42481
44198
  "entry_kind": {
42482
44199
  "const": "direct",
44200
+ "description": "Always `direct`. Read `trigger` on the run for what started it.",
42483
44201
  "title": "Entry Kind",
42484
44202
  "type": "string"
42485
44203
  },
@@ -42535,6 +44253,9 @@
42535
44253
  "result_available": {
42536
44254
  "title": "Result Available",
42537
44255
  "type": "boolean"
44256
+ },
44257
+ "trigger": {
44258
+ "$ref": "#/$defs/RunTrigger"
42538
44259
  }
42539
44260
  },
42540
44261
  "required": [
@@ -42551,7 +44272,8 @@
42551
44272
  "input",
42552
44273
  "steps",
42553
44274
  "result",
42554
- "result_available"
44275
+ "result_available",
44276
+ "trigger"
42555
44277
  ],
42556
44278
  "title": "WorkflowRun",
42557
44279
  "type": "object",
@@ -42575,6 +44297,47 @@
42575
44297
  "title": "Iterations",
42576
44298
  "type": "object"
42577
44299
  },
44300
+ "RunRef": {
44301
+ "additionalProperties": false,
44302
+ "properties": {
44303
+ "run_id": {
44304
+ "description": "The run that invoked this run.",
44305
+ "title": "Run Id",
44306
+ "type": "string"
44307
+ },
44308
+ "function_id": {
44309
+ "anyOf": [
44310
+ {
44311
+ "type": "string"
44312
+ },
44313
+ {
44314
+ "type": "null"
44315
+ }
44316
+ ],
44317
+ "description": "The caller's Function ID, or null for a Workflow run.",
44318
+ "title": "Function Id"
44319
+ },
44320
+ "workflow_id": {
44321
+ "anyOf": [
44322
+ {
44323
+ "type": "string"
44324
+ },
44325
+ {
44326
+ "type": "null"
44327
+ }
44328
+ ],
44329
+ "description": "The caller's Workflow ID, or null for a Function run.",
44330
+ "title": "Workflow Id"
44331
+ }
44332
+ },
44333
+ "required": [
44334
+ "run_id",
44335
+ "function_id",
44336
+ "workflow_id"
44337
+ ],
44338
+ "title": "RunRef",
44339
+ "type": "object"
44340
+ },
42578
44341
  "RunState": {
42579
44342
  "enum": [
42580
44343
  "queued",
@@ -42588,6 +44351,93 @@
42588
44351
  ],
42589
44352
  "type": "string"
42590
44353
  },
44354
+ "RunTrigger": {
44355
+ "additionalProperties": false,
44356
+ "properties": {
44357
+ "kind": {
44358
+ "description": "What started the run.",
44359
+ "enum": [
44360
+ "direct",
44361
+ "http",
44362
+ "event",
44363
+ "workflow_step",
44364
+ "run",
44365
+ "agent"
44366
+ ],
44367
+ "title": "Kind",
44368
+ "type": "string"
44369
+ },
44370
+ "subscription_id": {
44371
+ "anyOf": [
44372
+ {
44373
+ "type": "string"
44374
+ },
44375
+ {
44376
+ "type": "null"
44377
+ }
44378
+ ],
44379
+ "description": "The event subscription that delivered the run.",
44380
+ "title": "Subscription Id"
44381
+ },
44382
+ "occurrence_id": {
44383
+ "anyOf": [
44384
+ {
44385
+ "type": "string"
44386
+ },
44387
+ {
44388
+ "type": "null"
44389
+ }
44390
+ ],
44391
+ "description": "The event occurrence that delivered the run.",
44392
+ "title": "Occurrence Id"
44393
+ },
44394
+ "event_type": {
44395
+ "anyOf": [
44396
+ {
44397
+ "type": "string"
44398
+ },
44399
+ {
44400
+ "type": "null"
44401
+ }
44402
+ ],
44403
+ "description": "The delivered event type.",
44404
+ "title": "Event Type"
44405
+ },
44406
+ "caller": {
44407
+ "anyOf": [
44408
+ {
44409
+ "$ref": "#/$defs/RunRef"
44410
+ },
44411
+ {
44412
+ "type": "null"
44413
+ }
44414
+ ],
44415
+ "description": "The Function or Workflow run that started this run."
44416
+ },
44417
+ "agent_session_id": {
44418
+ "anyOf": [
44419
+ {
44420
+ "type": "string"
44421
+ },
44422
+ {
44423
+ "type": "null"
44424
+ }
44425
+ ],
44426
+ "description": "The Agent session that invoked the run.",
44427
+ "title": "Agent Session Id"
44428
+ }
44429
+ },
44430
+ "required": [
44431
+ "kind",
44432
+ "subscription_id",
44433
+ "occurrence_id",
44434
+ "event_type",
44435
+ "caller",
44436
+ "agent_session_id"
44437
+ ],
44438
+ "title": "RunTrigger",
44439
+ "type": "object"
44440
+ },
42591
44441
  "StepEntry": {
42592
44442
  "additionalProperties": false,
42593
44443
  "properties": {
@@ -42648,15 +44498,195 @@
42648
44498
  ],
42649
44499
  "default": null,
42650
44500
  "title": "Error Code"
44501
+ },
44502
+ "started_at": {
44503
+ "anyOf": [
44504
+ {
44505
+ "type": "string"
44506
+ },
44507
+ {
44508
+ "type": "null"
44509
+ }
44510
+ ],
44511
+ "description": "The first attempt's start time, or null before the step starts.",
44512
+ "title": "Started At"
44513
+ },
44514
+ "finished_at": {
44515
+ "anyOf": [
44516
+ {
44517
+ "type": "string"
44518
+ },
44519
+ {
44520
+ "type": "null"
44521
+ }
44522
+ ],
44523
+ "description": "The latest attempt's finish time, or null while the step has not finished.",
44524
+ "title": "Finished At"
44525
+ },
44526
+ "function_id": {
44527
+ "anyOf": [
44528
+ {
44529
+ "type": "string"
44530
+ },
44531
+ {
44532
+ "type": "null"
44533
+ }
44534
+ ],
44535
+ "description": "The called Function's ID, or null for wait, Agent, and parallel steps.",
44536
+ "title": "Function Id"
44537
+ },
44538
+ "error_message": {
44539
+ "anyOf": [
44540
+ {
44541
+ "maxLength": 300,
44542
+ "type": "string"
44543
+ },
44544
+ {
44545
+ "type": "null"
44546
+ }
44547
+ ],
44548
+ "description": "The child run's error message, or null when it has none.",
44549
+ "title": "Error Message"
44550
+ },
44551
+ "agent_session_id": {
44552
+ "anyOf": [
44553
+ {
44554
+ "type": "string"
44555
+ },
44556
+ {
44557
+ "type": "null"
44558
+ }
44559
+ ],
44560
+ "description": "The Agent session that replied, or null when no Agent session replied.",
44561
+ "title": "Agent Session Id"
44562
+ },
44563
+ "skip_reason": {
44564
+ "anyOf": [
44565
+ {
44566
+ "enum": [
44567
+ "condition_false",
44568
+ "parent_skipped"
44569
+ ],
44570
+ "type": "string"
44571
+ },
44572
+ {
44573
+ "type": "null"
44574
+ }
44575
+ ],
44576
+ "description": "Why the step was skipped, or null when it was not skipped.",
44577
+ "title": "Skip Reason"
44578
+ },
44579
+ "continued": {
44580
+ "description": "Whether the step continued after ending failed, cancelled, or unknown under `on_error: continue`.",
44581
+ "title": "Continued",
44582
+ "type": "boolean"
44583
+ },
44584
+ "failed_iterations": {
44585
+ "anyOf": [
44586
+ {
44587
+ "items": {
44588
+ "$ref": "#/$defs/StepIteration"
44589
+ },
44590
+ "maxItems": 100,
44591
+ "type": "array"
44592
+ },
44593
+ {
44594
+ "type": "null"
44595
+ }
44596
+ ],
44597
+ "description": "The first 100 failed, cancelled, or unknown iterations by index; an empty list when a resolved loop has none, and null for every other step.",
44598
+ "title": "Failed Iterations"
42651
44599
  }
42652
44600
  },
42653
44601
  "required": [
42654
44602
  "step",
42655
- "state"
44603
+ "state",
44604
+ "started_at",
44605
+ "finished_at",
44606
+ "function_id",
44607
+ "error_message",
44608
+ "agent_session_id",
44609
+ "skip_reason",
44610
+ "continued",
44611
+ "failed_iterations"
42656
44612
  ],
42657
44613
  "title": "StepEntry",
42658
44614
  "type": "object"
42659
44615
  },
44616
+ "StepIteration": {
44617
+ "additionalProperties": false,
44618
+ "properties": {
44619
+ "iteration": {
44620
+ "description": "The loop iteration's zero-based index.",
44621
+ "title": "Iteration",
44622
+ "type": "integer"
44623
+ },
44624
+ "state": {
44625
+ "description": "The iteration's final state.",
44626
+ "title": "State",
44627
+ "type": "string"
44628
+ },
44629
+ "run_id": {
44630
+ "anyOf": [
44631
+ {
44632
+ "type": "string"
44633
+ },
44634
+ {
44635
+ "type": "null"
44636
+ }
44637
+ ],
44638
+ "description": "The child Function run ID, or null when no Function run started.",
44639
+ "title": "Run Id"
44640
+ },
44641
+ "error_code": {
44642
+ "anyOf": [
44643
+ {
44644
+ "type": "string"
44645
+ },
44646
+ {
44647
+ "type": "null"
44648
+ }
44649
+ ],
44650
+ "description": "The iteration's error code, or null when it has none.",
44651
+ "title": "Error Code"
44652
+ },
44653
+ "error_message": {
44654
+ "anyOf": [
44655
+ {
44656
+ "maxLength": 300,
44657
+ "type": "string"
44658
+ },
44659
+ {
44660
+ "type": "null"
44661
+ }
44662
+ ],
44663
+ "description": "The child run's error message, or null when it has none.",
44664
+ "title": "Error Message"
44665
+ },
44666
+ "agent_session_id": {
44667
+ "anyOf": [
44668
+ {
44669
+ "type": "string"
44670
+ },
44671
+ {
44672
+ "type": "null"
44673
+ }
44674
+ ],
44675
+ "description": "The Agent session that replied, or null when no Agent session replied.",
44676
+ "title": "Agent Session Id"
44677
+ }
44678
+ },
44679
+ "required": [
44680
+ "iteration",
44681
+ "state",
44682
+ "run_id",
44683
+ "error_code",
44684
+ "error_message",
44685
+ "agent_session_id"
44686
+ ],
44687
+ "title": "StepIteration",
44688
+ "type": "object"
44689
+ },
42660
44690
  "WorkflowRunError": {
42661
44691
  "enum": [
42662
44692
  "step_failed",
@@ -42680,7 +44710,7 @@
42680
44710
  "resource_not_found",
42681
44711
  "implementation_unavailable"
42682
44712
  ],
42683
- "digest": "sha256:00478ddd31dbeb45aa4fd30e09eddfd5bec875dbf9257e5a412f51d54cc06e53"
44713
+ "digest": "sha256:3064b3976db41d34bcabbdc4d709195eb7cb0fa9e5b3dfd7b55cf682e91720ab"
42684
44714
  },
42685
44715
  {
42686
44716
  "name": "zo.workflow.invoke",
@@ -43029,6 +45059,7 @@
43029
45059
  },
43030
45060
  "entry_kind": {
43031
45061
  "const": "direct",
45062
+ "description": "Always `direct`. Read `trigger` on the run for what started it.",
43032
45063
  "title": "Entry Kind",
43033
45064
  "type": "string"
43034
45065
  },
@@ -43092,7 +45123,7 @@
43092
45123
  "resource_not_found",
43093
45124
  "implementation_unavailable"
43094
45125
  ],
43095
- "digest": "sha256:aceef50f9aa81c86aee06efb7adfa831673879888d32e4e3b57ab16387f6cbee"
45126
+ "digest": "sha256:ac1c9dc13fa389ef7a7458da1b2d7a749e7532264aa9f17c14028806fe7be968"
43096
45127
  },
43097
45128
  {
43098
45129
  "name": "zo.workflow.publish",
@@ -44748,6 +46779,7 @@
44748
46779
  "zo.machine_image.list": 1,
44749
46780
  "zo.machine_image.update": 1,
44750
46781
  "zo.message.get": 1,
46782
+ "zo.model.generate_text": 1,
44751
46783
  "zo.model.list": 1,
44752
46784
  "zo.oauth_app.create": 1,
44753
46785
  "zo.oauth_app.delete": 1,
@@ -44874,6 +46906,220 @@
44874
46906
  "digest": "sha256:1d66dd3ea01d21efe43ddda679ea5ec337e720b795620ad6cd8dc49e9443eb47",
44875
46907
  "contract_digest": "sha256:674ad131dbe9510ecaf0a0162ea12b3adf626ad9f14062559d786288d6ff9a8f"
44876
46908
  },
46909
+ {
46910
+ "publisher": "zo",
46911
+ "name": "agent.turn_ended",
46912
+ "version": 1,
46913
+ "description": "An Agent's turn ended. `outcome` is how the runner ended the turn; read the turn's messages from the session's history.",
46914
+ "payload_schema": {
46915
+ "type": "object",
46916
+ "additionalProperties": false,
46917
+ "required": [
46918
+ "agent_id",
46919
+ "session_id",
46920
+ "turn_id",
46921
+ "outcome",
46922
+ "reason",
46923
+ "trigger",
46924
+ "subscription_id",
46925
+ "subscription_ids",
46926
+ "occurrence_ids",
46927
+ "message_ids",
46928
+ "started_at",
46929
+ "duration_ms",
46930
+ "model",
46931
+ "reasoning",
46932
+ "model_requests",
46933
+ "tool_calls",
46934
+ "input_tokens",
46935
+ "output_tokens"
46936
+ ],
46937
+ "properties": {
46938
+ "agent_id": {
46939
+ "type": "string",
46940
+ "minLength": 1,
46941
+ "maxLength": 200
46942
+ },
46943
+ "session_id": {
46944
+ "type": "string",
46945
+ "minLength": 1,
46946
+ "maxLength": 200
46947
+ },
46948
+ "turn_id": {
46949
+ "type": "string",
46950
+ "minLength": 1,
46951
+ "maxLength": 200
46952
+ },
46953
+ "outcome": {
46954
+ "type": "string",
46955
+ "enum": [
46956
+ "completed",
46957
+ "cancelled",
46958
+ "interrupted",
46959
+ "failed"
46960
+ ]
46961
+ },
46962
+ "reason": {
46963
+ "anyOf": [
46964
+ {
46965
+ "type": "string",
46966
+ "maxLength": 200
46967
+ },
46968
+ {
46969
+ "type": "null"
46970
+ }
46971
+ ]
46972
+ },
46973
+ "trigger": {
46974
+ "type": "string",
46975
+ "enum": [
46976
+ "message",
46977
+ "event"
46978
+ ]
46979
+ },
46980
+ "subscription_id": {
46981
+ "anyOf": [
46982
+ {
46983
+ "type": "string",
46984
+ "minLength": 1,
46985
+ "maxLength": 200
46986
+ },
46987
+ {
46988
+ "type": "null"
46989
+ }
46990
+ ]
46991
+ },
46992
+ "subscription_ids": {
46993
+ "type": "array",
46994
+ "items": {
46995
+ "type": "string",
46996
+ "minLength": 1,
46997
+ "maxLength": 200
46998
+ }
46999
+ },
47000
+ "occurrence_ids": {
47001
+ "type": "array",
47002
+ "items": {
47003
+ "type": "string",
47004
+ "minLength": 1,
47005
+ "maxLength": 200
47006
+ }
47007
+ },
47008
+ "message_ids": {
47009
+ "type": "array",
47010
+ "items": {
47011
+ "type": "string",
47012
+ "minLength": 1,
47013
+ "maxLength": 200
47014
+ }
47015
+ },
47016
+ "started_at": {
47017
+ "anyOf": [
47018
+ {
47019
+ "type": "string",
47020
+ "maxLength": 40
47021
+ },
47022
+ {
47023
+ "type": "null"
47024
+ }
47025
+ ]
47026
+ },
47027
+ "duration_ms": {
47028
+ "anyOf": [
47029
+ {
47030
+ "type": "integer",
47031
+ "minimum": 0
47032
+ },
47033
+ {
47034
+ "type": "null"
47035
+ }
47036
+ ]
47037
+ },
47038
+ "model": {
47039
+ "anyOf": [
47040
+ {
47041
+ "type": "string",
47042
+ "maxLength": 200
47043
+ },
47044
+ {
47045
+ "type": "null"
47046
+ }
47047
+ ]
47048
+ },
47049
+ "reasoning": {
47050
+ "anyOf": [
47051
+ {
47052
+ "type": "string",
47053
+ "maxLength": 200
47054
+ },
47055
+ {
47056
+ "type": "null"
47057
+ }
47058
+ ]
47059
+ },
47060
+ "model_requests": {
47061
+ "anyOf": [
47062
+ {
47063
+ "type": "integer",
47064
+ "minimum": 0
47065
+ },
47066
+ {
47067
+ "type": "null"
47068
+ }
47069
+ ]
47070
+ },
47071
+ "tool_calls": {
47072
+ "anyOf": [
47073
+ {
47074
+ "type": "integer",
47075
+ "minimum": 0
47076
+ },
47077
+ {
47078
+ "type": "null"
47079
+ }
47080
+ ]
47081
+ },
47082
+ "input_tokens": {
47083
+ "anyOf": [
47084
+ {
47085
+ "type": "integer",
47086
+ "minimum": 0
47087
+ },
47088
+ {
47089
+ "type": "null"
47090
+ }
47091
+ ]
47092
+ },
47093
+ "output_tokens": {
47094
+ "anyOf": [
47095
+ {
47096
+ "type": "integer",
47097
+ "minimum": 0
47098
+ },
47099
+ {
47100
+ "type": "null"
47101
+ }
47102
+ ]
47103
+ }
47104
+ }
47105
+ },
47106
+ "filter_paths": [
47107
+ "/agent_id",
47108
+ "/session_id",
47109
+ "/outcome",
47110
+ "/trigger",
47111
+ "/subscription_id"
47112
+ ],
47113
+ "disclosure": {
47114
+ "kind": "custom",
47115
+ "subject": {
47116
+ "resource_type": "agent"
47117
+ }
47118
+ },
47119
+ "type": "zo.events.agent.turn_ended@v1",
47120
+ "digest": "sha256:9093ac8382f10341ad7400146243a43a3bd88c3e9b200ceb901169b27bb31a5b",
47121
+ "contract_digest": "sha256:449b282c2fe8cbc0d3aca4221bad11bbb7277578f5001659c17ef96e87ba0ad6"
47122
+ },
44877
47123
  {
44878
47124
  "publisher": "zo",
44879
47125
  "name": "function.run_finished",
@@ -45361,7 +47607,7 @@
45361
47607
  }
45362
47608
  ],
45363
47609
  "default": null,
45364
- "description": "Only rows after this time.",
47610
+ "description": "Only rows after this time. A run or turn row's time is when it ended.",
45365
47611
  "title": "Occurred After"
45366
47612
  },
45367
47613
  "occurred_before": {
@@ -45377,9 +47623,21 @@
45377
47623
  }
45378
47624
  ],
45379
47625
  "default": null,
45380
- "description": "Only rows before this time.",
47626
+ "description": "Only rows before this time. A run or turn row's time is when it ended.",
45381
47627
  "title": "Occurred Before"
45382
47628
  },
47629
+ "details": {
47630
+ "anyOf": [
47631
+ {
47632
+ "$ref": "#/$defs/ActivityDetailsFilter"
47633
+ },
47634
+ {
47635
+ "type": "null"
47636
+ }
47637
+ ],
47638
+ "default": null,
47639
+ "description": "Match any listed value for each details key; keys combine with AND. Empty is a no-op."
47640
+ },
45383
47641
  "principal": {
45384
47642
  "anyOf": [
45385
47643
  {
@@ -45493,6 +47751,101 @@
45493
47751
  },
45494
47752
  "required": [],
45495
47753
  "$defs": {
47754
+ "ActivityDetailsFilter": {
47755
+ "additionalProperties": false,
47756
+ "properties": {
47757
+ "turn_outcome": {
47758
+ "anyOf": [
47759
+ {
47760
+ "items": {
47761
+ "enum": [
47762
+ "completed",
47763
+ "failed",
47764
+ "cancelled",
47765
+ "interrupted"
47766
+ ],
47767
+ "type": "string"
47768
+ },
47769
+ "maxItems": 4,
47770
+ "minItems": 1,
47771
+ "type": "array"
47772
+ },
47773
+ {
47774
+ "type": "null"
47775
+ }
47776
+ ],
47777
+ "default": null,
47778
+ "description": "system_agent_turn_ended rows carry the runner's turn_outcome.",
47779
+ "title": "Turn Outcome"
47780
+ },
47781
+ "reason": {
47782
+ "anyOf": [
47783
+ {
47784
+ "items": {
47785
+ "maxLength": 64,
47786
+ "minLength": 1,
47787
+ "pattern": "^[a-z][a-z0-9_]*$",
47788
+ "type": "string"
47789
+ },
47790
+ "maxItems": 20,
47791
+ "minItems": 1,
47792
+ "type": "array"
47793
+ },
47794
+ {
47795
+ "type": "null"
47796
+ }
47797
+ ],
47798
+ "default": null,
47799
+ "description": "system_agent_turn_ended rows carry reason when the turn has an error reason.",
47800
+ "title": "Reason"
47801
+ },
47802
+ "error_code": {
47803
+ "anyOf": [
47804
+ {
47805
+ "items": {
47806
+ "maxLength": 64,
47807
+ "minLength": 1,
47808
+ "pattern": "^[a-z][a-z0-9_]*$",
47809
+ "type": "string"
47810
+ },
47811
+ "maxItems": 20,
47812
+ "minItems": 1,
47813
+ "type": "array"
47814
+ },
47815
+ {
47816
+ "type": "null"
47817
+ }
47818
+ ],
47819
+ "default": null,
47820
+ "description": "function_run_ended and workflow_run_ended carry error_code on errors. managed_machine_create_failed, managed_machine_resume_failed, machine_image_import_failed and database_create_failed carry error_code, including \"none\".",
47821
+ "title": "Error Code"
47822
+ },
47823
+ "trigger": {
47824
+ "anyOf": [
47825
+ {
47826
+ "items": {
47827
+ "maxLength": 64,
47828
+ "minLength": 1,
47829
+ "pattern": "^[a-z][a-z0-9_]*$",
47830
+ "type": "string"
47831
+ },
47832
+ "maxItems": 20,
47833
+ "minItems": 1,
47834
+ "type": "array"
47835
+ },
47836
+ {
47837
+ "type": "null"
47838
+ }
47839
+ ],
47840
+ "default": null,
47841
+ "description": "system_agent_turn_ended rows carry message or event; scheduled_runs_summarized rows carry schedule or event.",
47842
+ "title": "Trigger"
47843
+ }
47844
+ },
47845
+ "title": "ActivityDetailsFilter",
47846
+ "type": "object",
47847
+ "required": []
47848
+ },
45496
47849
  "EntityFilter": {
45497
47850
  "additionalProperties": false,
45498
47851
  "properties": {
@@ -45612,6 +47965,70 @@
45612
47965
  "last_activity_at.desc"
45613
47966
  ],
45614
47967
  "default": "id.asc"
47968
+ },
47969
+ "filter": {
47970
+ "additionalProperties": false,
47971
+ "properties": {
47972
+ "last_turn_ended_after": {
47973
+ "anyOf": [
47974
+ {
47975
+ "description": "An ISO 8601 timestamp with a time zone.",
47976
+ "maxLength": 40,
47977
+ "minLength": 1,
47978
+ "type": "string"
47979
+ },
47980
+ {
47981
+ "type": "null"
47982
+ }
47983
+ ],
47984
+ "default": null,
47985
+ "description": "Only sessions whose last turn ended after this time, exclusively.",
47986
+ "title": "Last Turn Ended After"
47987
+ },
47988
+ "last_turn_ended_before": {
47989
+ "anyOf": [
47990
+ {
47991
+ "description": "An ISO 8601 timestamp with a time zone.",
47992
+ "maxLength": 40,
47993
+ "minLength": 1,
47994
+ "type": "string"
47995
+ },
47996
+ {
47997
+ "type": "null"
47998
+ }
47999
+ ],
48000
+ "default": null,
48001
+ "description": "Only sessions whose last turn ended before this time, exclusively.",
48002
+ "title": "Last Turn Ended Before"
48003
+ },
48004
+ "last_turn_outcome": {
48005
+ "anyOf": [
48006
+ {
48007
+ "items": {
48008
+ "enum": [
48009
+ "completed",
48010
+ "cancelled",
48011
+ "interrupted",
48012
+ "failed"
48013
+ ],
48014
+ "type": "string"
48015
+ },
48016
+ "maxItems": 4,
48017
+ "minItems": 1,
48018
+ "type": "array"
48019
+ },
48020
+ {
48021
+ "type": "null"
48022
+ }
48023
+ ],
48024
+ "default": null,
48025
+ "description": "Only sessions whose last turn has any of these outcomes.",
48026
+ "title": "Last Turn Outcome"
48027
+ }
48028
+ },
48029
+ "type": "object",
48030
+ "required": [],
48031
+ "default": {}
45615
48032
  }
45616
48033
  },
45617
48034
  "required": []
@@ -45646,6 +48063,62 @@
45646
48063
  "filter": {
45647
48064
  "additionalProperties": false,
45648
48065
  "properties": {
48066
+ "last_turn_ended_after": {
48067
+ "anyOf": [
48068
+ {
48069
+ "description": "An ISO 8601 timestamp with a time zone.",
48070
+ "maxLength": 40,
48071
+ "minLength": 1,
48072
+ "type": "string"
48073
+ },
48074
+ {
48075
+ "type": "null"
48076
+ }
48077
+ ],
48078
+ "default": null,
48079
+ "description": "Only sessions whose last turn ended after this time, exclusively.",
48080
+ "title": "Last Turn Ended After"
48081
+ },
48082
+ "last_turn_ended_before": {
48083
+ "anyOf": [
48084
+ {
48085
+ "description": "An ISO 8601 timestamp with a time zone.",
48086
+ "maxLength": 40,
48087
+ "minLength": 1,
48088
+ "type": "string"
48089
+ },
48090
+ {
48091
+ "type": "null"
48092
+ }
48093
+ ],
48094
+ "default": null,
48095
+ "description": "Only sessions whose last turn ended before this time, exclusively.",
48096
+ "title": "Last Turn Ended Before"
48097
+ },
48098
+ "last_turn_outcome": {
48099
+ "anyOf": [
48100
+ {
48101
+ "items": {
48102
+ "enum": [
48103
+ "completed",
48104
+ "cancelled",
48105
+ "interrupted",
48106
+ "failed"
48107
+ ],
48108
+ "type": "string"
48109
+ },
48110
+ "maxItems": 4,
48111
+ "minItems": 1,
48112
+ "type": "array"
48113
+ },
48114
+ {
48115
+ "type": "null"
48116
+ }
48117
+ ],
48118
+ "default": null,
48119
+ "description": "Only sessions whose last turn has any of these outcomes.",
48120
+ "title": "Last Turn Outcome"
48121
+ },
45649
48122
  "agent_id": {
45650
48123
  "anyOf": [
45651
48124
  {
@@ -46191,95 +48664,350 @@
46191
48664
  "display_name.asc"
46192
48665
  ],
46193
48666
  "default": "id.asc"
46194
- }
46195
- },
46196
- "required": []
46197
- },
46198
- "zo.event.list@1": {
46199
- "type": "object",
46200
- "additionalProperties": false,
46201
- "properties": {
46202
- "limit": {
46203
- "type": "integer",
46204
- "minimum": 1,
46205
- "default": 33,
46206
- "description": "Rows per page, at most 33; a larger value is reduced to it."
46207
- },
46208
- "cursor": {
46209
- "type": "string",
46210
- "minLength": 1,
46211
- "maxLength": 5504,
46212
- "description": "The previous page's next_cursor, sent with the same sort, filter and search."
46213
- }
46214
- },
46215
- "required": []
46216
- },
46217
- "zo.function.list@1": {
46218
- "type": "object",
46219
- "additionalProperties": false,
46220
- "properties": {
46221
- "limit": {
46222
- "type": "integer",
46223
- "minimum": 1,
46224
- "default": 50,
46225
- "description": "Rows per page, at most 200; a larger value is reduced to it."
46226
- },
46227
- "cursor": {
46228
- "type": "string",
46229
- "minLength": 1,
46230
- "maxLength": 5504,
46231
- "description": "The previous page's next_cursor, sent with the same sort, filter and search."
46232
- }
46233
- },
46234
- "required": []
46235
- },
46236
- "zo.function.list_runs@1": {
46237
- "type": "object",
46238
- "additionalProperties": false,
46239
- "properties": {
46240
- "limit": {
46241
- "type": "integer",
46242
- "minimum": 1,
46243
- "default": 50,
46244
- "description": "Rows per page, at most 200; a larger value is reduced to it."
48667
+ }
48668
+ },
48669
+ "required": []
48670
+ },
48671
+ "zo.event.list@1": {
48672
+ "type": "object",
48673
+ "additionalProperties": false,
48674
+ "properties": {
48675
+ "limit": {
48676
+ "type": "integer",
48677
+ "minimum": 1,
48678
+ "default": 33,
48679
+ "description": "Rows per page, at most 33; a larger value is reduced to it."
48680
+ },
48681
+ "cursor": {
48682
+ "type": "string",
48683
+ "minLength": 1,
48684
+ "maxLength": 5504,
48685
+ "description": "The previous page's next_cursor, sent with the same sort, filter and search."
48686
+ }
48687
+ },
48688
+ "required": []
48689
+ },
48690
+ "zo.function.list@1": {
48691
+ "type": "object",
48692
+ "additionalProperties": false,
48693
+ "properties": {
48694
+ "limit": {
48695
+ "type": "integer",
48696
+ "minimum": 1,
48697
+ "default": 50,
48698
+ "description": "Rows per page, at most 200; a larger value is reduced to it."
48699
+ },
48700
+ "cursor": {
48701
+ "type": "string",
48702
+ "minLength": 1,
48703
+ "maxLength": 5504,
48704
+ "description": "The previous page's next_cursor, sent with the same sort, filter and search."
48705
+ },
48706
+ "filter": {
48707
+ "additionalProperties": false,
48708
+ "properties": {
48709
+ "connection_id": {
48710
+ "anyOf": [
48711
+ {
48712
+ "type": "string"
48713
+ },
48714
+ {
48715
+ "type": "null"
48716
+ }
48717
+ ],
48718
+ "default": null,
48719
+ "title": "Connection Id"
48720
+ }
48721
+ },
48722
+ "type": "object",
48723
+ "required": [],
48724
+ "default": {}
48725
+ }
48726
+ },
48727
+ "required": []
48728
+ },
48729
+ "zo.function.list_runs@1": {
48730
+ "type": "object",
48731
+ "additionalProperties": false,
48732
+ "properties": {
48733
+ "limit": {
48734
+ "type": "integer",
48735
+ "minimum": 1,
48736
+ "default": 50,
48737
+ "description": "Rows per page, at most 200; a larger value is reduced to it."
48738
+ },
48739
+ "cursor": {
48740
+ "type": "string",
48741
+ "minLength": 1,
48742
+ "maxLength": 5504,
48743
+ "description": "The previous page's next_cursor, sent with the same sort, filter and search."
48744
+ },
48745
+ "sort": {
48746
+ "type": "string",
48747
+ "enum": [
48748
+ "created_at.desc",
48749
+ "created_at.asc"
48750
+ ],
48751
+ "default": "created_at.desc"
48752
+ },
48753
+ "filter": {
48754
+ "additionalProperties": false,
48755
+ "properties": {
48756
+ "created_after": {
48757
+ "anyOf": [
48758
+ {
48759
+ "description": "An ISO 8601 timestamp with a time zone.",
48760
+ "maxLength": 40,
48761
+ "minLength": 1,
48762
+ "type": "string"
48763
+ },
48764
+ {
48765
+ "type": "null"
48766
+ }
48767
+ ],
48768
+ "default": null,
48769
+ "description": "Only runs created after this time.",
48770
+ "title": "Created After"
48771
+ },
48772
+ "created_before": {
48773
+ "anyOf": [
48774
+ {
48775
+ "description": "An ISO 8601 timestamp with a time zone.",
48776
+ "maxLength": 40,
48777
+ "minLength": 1,
48778
+ "type": "string"
48779
+ },
48780
+ {
48781
+ "type": "null"
48782
+ }
48783
+ ],
48784
+ "default": null,
48785
+ "description": "Only runs created before this time.",
48786
+ "title": "Created Before"
48787
+ },
48788
+ "state": {
48789
+ "anyOf": [
48790
+ {
48791
+ "items": {
48792
+ "$ref": "#/$defs/RunState"
48793
+ },
48794
+ "maxItems": 8,
48795
+ "minItems": 1,
48796
+ "type": "array"
48797
+ },
48798
+ {
48799
+ "type": "null"
48800
+ }
48801
+ ],
48802
+ "default": null,
48803
+ "description": "Only runs in any of these states.",
48804
+ "title": "State"
48805
+ },
48806
+ "error_code": {
48807
+ "anyOf": [
48808
+ {
48809
+ "items": {
48810
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
48811
+ "type": "string"
48812
+ },
48813
+ "maxItems": 20,
48814
+ "minItems": 1,
48815
+ "type": "array"
48816
+ },
48817
+ {
48818
+ "type": "null"
48819
+ }
48820
+ ],
48821
+ "default": null,
48822
+ "description": "Only runs with any of these error codes.",
48823
+ "title": "Error Code"
48824
+ },
48825
+ "deployment_id": {
48826
+ "anyOf": [
48827
+ {
48828
+ "maxLength": 200,
48829
+ "minLength": 1,
48830
+ "type": "string"
48831
+ },
48832
+ {
48833
+ "type": "null"
48834
+ }
48835
+ ],
48836
+ "default": null,
48837
+ "description": "Only runs of this deployment.",
48838
+ "title": "Deployment Id"
48839
+ },
48840
+ "entry_kind": {
48841
+ "anyOf": [
48842
+ {
48843
+ "items": {
48844
+ "enum": [
48845
+ "direct",
48846
+ "connection",
48847
+ "http"
48848
+ ],
48849
+ "type": "string"
48850
+ },
48851
+ "maxItems": 3,
48852
+ "minItems": 1,
48853
+ "type": "array"
48854
+ },
48855
+ {
48856
+ "type": "null"
48857
+ }
48858
+ ],
48859
+ "default": null,
48860
+ "description": "Only runs with any of these entry kinds.",
48861
+ "title": "Entry Kind"
48862
+ },
48863
+ "trigger": {
48864
+ "anyOf": [
48865
+ {
48866
+ "items": {
48867
+ "enum": [
48868
+ "direct",
48869
+ "http",
48870
+ "event",
48871
+ "workflow_step",
48872
+ "run",
48873
+ "agent"
48874
+ ],
48875
+ "type": "string"
48876
+ },
48877
+ "maxItems": 6,
48878
+ "minItems": 1,
48879
+ "type": "array"
48880
+ },
48881
+ {
48882
+ "type": "null"
48883
+ }
48884
+ ],
48885
+ "default": null,
48886
+ "description": "Only runs with any of these trigger kinds.",
48887
+ "title": "Trigger"
48888
+ },
48889
+ "subscription_id": {
48890
+ "anyOf": [
48891
+ {
48892
+ "maxLength": 200,
48893
+ "minLength": 1,
48894
+ "type": "string"
48895
+ },
48896
+ {
48897
+ "type": "null"
48898
+ }
48899
+ ],
48900
+ "default": null,
48901
+ "description": "Only runs delivered by this subscription.",
48902
+ "title": "Subscription Id"
48903
+ },
48904
+ "agent_session_id": {
48905
+ "anyOf": [
48906
+ {
48907
+ "maxLength": 200,
48908
+ "minLength": 1,
48909
+ "type": "string"
48910
+ },
48911
+ {
48912
+ "type": "null"
48913
+ }
48914
+ ],
48915
+ "default": null,
48916
+ "description": "Only runs started by this Agent session.",
48917
+ "title": "Agent Session Id"
48918
+ }
48919
+ },
48920
+ "type": "object",
48921
+ "required": [],
48922
+ "default": {}
48923
+ }
48924
+ },
48925
+ "required": [],
48926
+ "$defs": {
48927
+ "RunState": {
48928
+ "enum": [
48929
+ "queued",
48930
+ "starting",
48931
+ "running",
48932
+ "succeeded",
48933
+ "failed",
48934
+ "cancel_requested",
48935
+ "cancelled",
48936
+ "unknown"
48937
+ ],
48938
+ "type": "string"
48939
+ }
48940
+ }
48941
+ },
48942
+ "zo.machine.list@1": {
48943
+ "type": "object",
48944
+ "additionalProperties": false,
48945
+ "properties": {
48946
+ "limit": {
48947
+ "type": "integer",
48948
+ "minimum": 1,
48949
+ "default": 50,
48950
+ "description": "Rows per page, at most 200; a larger value is reduced to it."
48951
+ },
48952
+ "cursor": {
48953
+ "type": "string",
48954
+ "minLength": 1,
48955
+ "maxLength": 5504,
48956
+ "description": "The previous page's next_cursor, sent with the same sort, filter and search."
48957
+ },
48958
+ "sort": {
48959
+ "type": "string",
48960
+ "enum": [
48961
+ "id.asc",
48962
+ "created_at.desc",
48963
+ "created_at.asc",
48964
+ "display_name.asc"
48965
+ ],
48966
+ "default": "id.asc"
46245
48967
  },
46246
- "cursor": {
46247
- "type": "string",
46248
- "minLength": 1,
46249
- "maxLength": 5504,
46250
- "description": "The previous page's next_cursor, sent with the same sort, filter and search."
48968
+ "filter": {
48969
+ "additionalProperties": false,
48970
+ "properties": {
48971
+ "state": {
48972
+ "anyOf": [
48973
+ {
48974
+ "items": {
48975
+ "$ref": "#/$defs/ObservedState"
48976
+ },
48977
+ "maxItems": 8,
48978
+ "minItems": 1,
48979
+ "type": "array"
48980
+ },
48981
+ {
48982
+ "type": "null"
48983
+ }
48984
+ ],
48985
+ "default": null,
48986
+ "description": "Only machines in any of these states.",
48987
+ "title": "State"
48988
+ }
48989
+ },
48990
+ "type": "object",
48991
+ "required": [],
48992
+ "default": {}
46251
48993
  }
46252
48994
  },
46253
- "required": []
46254
- },
46255
- "zo.machine.list@1": {
46256
- "type": "object",
46257
- "additionalProperties": false,
46258
- "properties": {
46259
- "limit": {
46260
- "type": "integer",
46261
- "minimum": 1,
46262
- "default": 50,
46263
- "description": "Rows per page, at most 200; a larger value is reduced to it."
46264
- },
46265
- "cursor": {
46266
- "type": "string",
46267
- "minLength": 1,
46268
- "maxLength": 5504,
46269
- "description": "The previous page's next_cursor, sent with the same sort, filter and search."
46270
- },
46271
- "sort": {
46272
- "type": "string",
48995
+ "required": [],
48996
+ "$defs": {
48997
+ "ObservedState": {
46273
48998
  "enum": [
46274
- "id.asc",
46275
- "created_at.desc",
46276
- "created_at.asc",
46277
- "display_name.asc"
48999
+ "creating",
49000
+ "running",
49001
+ "stopping",
49002
+ "stopped",
49003
+ "resuming",
49004
+ "destroying",
49005
+ "destroyed",
49006
+ "failed"
46278
49007
  ],
46279
- "default": "id.asc"
49008
+ "type": "string"
46280
49009
  }
46281
- },
46282
- "required": []
49010
+ }
46283
49011
  },
46284
49012
  "zo.machine.list_files@1": {
46285
49013
  "type": "object",
@@ -46551,6 +49279,21 @@
46551
49279
  "description": "Only subscriptions to this event definition.",
46552
49280
  "title": "Event Id"
46553
49281
  },
49282
+ "schedule_id": {
49283
+ "anyOf": [
49284
+ {
49285
+ "maxLength": 200,
49286
+ "minLength": 1,
49287
+ "type": "string"
49288
+ },
49289
+ {
49290
+ "type": "null"
49291
+ }
49292
+ ],
49293
+ "default": null,
49294
+ "description": "Only subscriptions that run for this schedule.",
49295
+ "title": "Schedule Id"
49296
+ },
46554
49297
  "handler": {
46555
49298
  "anyOf": [
46556
49299
  {
@@ -46631,6 +49374,21 @@
46631
49374
  "description": "Only subscriptions to this event definition.",
46632
49375
  "title": "Event Id"
46633
49376
  },
49377
+ "schedule_id": {
49378
+ "anyOf": [
49379
+ {
49380
+ "maxLength": 200,
49381
+ "minLength": 1,
49382
+ "type": "string"
49383
+ },
49384
+ {
49385
+ "type": "null"
49386
+ }
49387
+ ],
49388
+ "default": null,
49389
+ "description": "Only subscriptions that run for this schedule.",
49390
+ "title": "Schedule Id"
49391
+ },
46634
49392
  "handler": {
46635
49393
  "anyOf": [
46636
49394
  {
@@ -46998,9 +49756,186 @@
46998
49756
  "minLength": 1,
46999
49757
  "maxLength": 5504,
47000
49758
  "description": "The previous page's next_cursor, sent with the same sort, filter and search."
49759
+ },
49760
+ "sort": {
49761
+ "type": "string",
49762
+ "enum": [
49763
+ "created_at.desc",
49764
+ "created_at.asc"
49765
+ ],
49766
+ "default": "created_at.desc"
49767
+ },
49768
+ "filter": {
49769
+ "additionalProperties": false,
49770
+ "properties": {
49771
+ "created_after": {
49772
+ "anyOf": [
49773
+ {
49774
+ "description": "An ISO 8601 timestamp with a time zone.",
49775
+ "maxLength": 40,
49776
+ "minLength": 1,
49777
+ "type": "string"
49778
+ },
49779
+ {
49780
+ "type": "null"
49781
+ }
49782
+ ],
49783
+ "default": null,
49784
+ "description": "Only runs created after this time.",
49785
+ "title": "Created After"
49786
+ },
49787
+ "created_before": {
49788
+ "anyOf": [
49789
+ {
49790
+ "description": "An ISO 8601 timestamp with a time zone.",
49791
+ "maxLength": 40,
49792
+ "minLength": 1,
49793
+ "type": "string"
49794
+ },
49795
+ {
49796
+ "type": "null"
49797
+ }
49798
+ ],
49799
+ "default": null,
49800
+ "description": "Only runs created before this time.",
49801
+ "title": "Created Before"
49802
+ },
49803
+ "state": {
49804
+ "anyOf": [
49805
+ {
49806
+ "items": {
49807
+ "$ref": "#/$defs/WorkflowRunState"
49808
+ },
49809
+ "maxItems": 7,
49810
+ "minItems": 1,
49811
+ "type": "array"
49812
+ },
49813
+ {
49814
+ "type": "null"
49815
+ }
49816
+ ],
49817
+ "default": null,
49818
+ "description": "Only runs in any of these states.",
49819
+ "title": "State"
49820
+ },
49821
+ "error_code": {
49822
+ "anyOf": [
49823
+ {
49824
+ "items": {
49825
+ "$ref": "#/$defs/WorkflowRunError"
49826
+ },
49827
+ "maxItems": 5,
49828
+ "minItems": 1,
49829
+ "type": "array"
49830
+ },
49831
+ {
49832
+ "type": "null"
49833
+ }
49834
+ ],
49835
+ "default": null,
49836
+ "description": "Only runs with any of these error codes.",
49837
+ "title": "Error Code"
49838
+ },
49839
+ "revision_id": {
49840
+ "anyOf": [
49841
+ {
49842
+ "maxLength": 200,
49843
+ "minLength": 1,
49844
+ "type": "string"
49845
+ },
49846
+ {
49847
+ "type": "null"
49848
+ }
49849
+ ],
49850
+ "default": null,
49851
+ "description": "Only runs of this revision.",
49852
+ "title": "Revision Id"
49853
+ },
49854
+ "trigger": {
49855
+ "anyOf": [
49856
+ {
49857
+ "items": {
49858
+ "enum": [
49859
+ "direct",
49860
+ "event",
49861
+ "run",
49862
+ "agent"
49863
+ ],
49864
+ "type": "string"
49865
+ },
49866
+ "maxItems": 4,
49867
+ "minItems": 1,
49868
+ "type": "array"
49869
+ },
49870
+ {
49871
+ "type": "null"
49872
+ }
49873
+ ],
49874
+ "default": null,
49875
+ "description": "Only runs with any of these trigger kinds.",
49876
+ "title": "Trigger"
49877
+ },
49878
+ "subscription_id": {
49879
+ "anyOf": [
49880
+ {
49881
+ "maxLength": 200,
49882
+ "minLength": 1,
49883
+ "type": "string"
49884
+ },
49885
+ {
49886
+ "type": "null"
49887
+ }
49888
+ ],
49889
+ "default": null,
49890
+ "description": "Only runs delivered by this subscription.",
49891
+ "title": "Subscription Id"
49892
+ },
49893
+ "agent_session_id": {
49894
+ "anyOf": [
49895
+ {
49896
+ "maxLength": 200,
49897
+ "minLength": 1,
49898
+ "type": "string"
49899
+ },
49900
+ {
49901
+ "type": "null"
49902
+ }
49903
+ ],
49904
+ "default": null,
49905
+ "description": "Only runs started by this Agent session.",
49906
+ "title": "Agent Session Id"
49907
+ }
49908
+ },
49909
+ "type": "object",
49910
+ "required": [],
49911
+ "default": {}
47001
49912
  }
47002
49913
  },
47003
- "required": []
49914
+ "required": [],
49915
+ "$defs": {
49916
+ "WorkflowRunError": {
49917
+ "enum": [
49918
+ "step_failed",
49919
+ "deadline_exceeded",
49920
+ "engine_error",
49921
+ "engine_rejected",
49922
+ "engine_unavailable"
49923
+ ],
49924
+ "type": "string"
49925
+ },
49926
+ "WorkflowRunState": {
49927
+ "enum": [
49928
+ "queued",
49929
+ "running",
49930
+ "cancel_requested",
49931
+ "succeeded",
49932
+ "failed",
49933
+ "cancelled",
49934
+ "unknown"
49935
+ ],
49936
+ "type": "string"
49937
+ }
49938
+ }
47004
49939
  },
47005
49940
  "zo.workspace.list_resources@1": {
47006
49941
  "type": "object",