@zocomputer/system-api 0.2.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.
@@ -55,13 +55,17 @@ export interface ZoActivityListQueryV1 {
55
55
  sort?: "occurred_at.desc";
56
56
  filter?: {
57
57
  /**
58
- * Only rows after this time.
58
+ * Only rows after this time. A run or turn row's time is when it ended.
59
59
  */
60
60
  occurred_after?: (string | null);
61
61
  /**
62
- * Only rows before this time.
62
+ * Only rows before this time. A run or turn row's time is when it ended.
63
63
  */
64
64
  occurred_before?: (string | null);
65
+ /**
66
+ * Match any listed value for each details key; keys combine with AND. Empty is a no-op.
67
+ */
68
+ details?: (ZoActivityListQueryV1ActivityDetailsFilter | null);
65
69
  /**
66
70
  * Only what this principal did.
67
71
  */
@@ -88,6 +92,24 @@ export interface ZoActivityListQueryV1 {
88
92
  search?: (string | null);
89
93
  };
90
94
  }
95
+ export interface ZoActivityListQueryV1ActivityDetailsFilter {
96
+ /**
97
+ * system_agent_turn_ended rows carry the runner's turn_outcome.
98
+ */
99
+ turn_outcome?: ([("completed" | "failed" | "cancelled" | "interrupted")] | [("completed" | "failed" | "cancelled" | "interrupted"), ("completed" | "failed" | "cancelled" | "interrupted")] | [("completed" | "failed" | "cancelled" | "interrupted"), ("completed" | "failed" | "cancelled" | "interrupted"), ("completed" | "failed" | "cancelled" | "interrupted")] | [("completed" | "failed" | "cancelled" | "interrupted"), ("completed" | "failed" | "cancelled" | "interrupted"), ("completed" | "failed" | "cancelled" | "interrupted"), ("completed" | "failed" | "cancelled" | "interrupted")] | null);
100
+ /**
101
+ * system_agent_turn_ended rows carry reason when the turn has an error reason.
102
+ */
103
+ reason?: ([string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | null);
104
+ /**
105
+ * 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".
106
+ */
107
+ error_code?: ([string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | null);
108
+ /**
109
+ * system_agent_turn_ended rows carry message or event; scheduled_runs_summarized rows carry schedule or event.
110
+ */
111
+ trigger?: ([string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | null);
112
+ }
91
113
  export interface ZoActivityListQueryV1EntityFilter {
92
114
  type: string;
93
115
  id: string;
@@ -425,7 +447,7 @@ export interface ZoAgentListMessagesOutputV1Message {
425
447
  workspace_id: string;
426
448
  author: ZoAgentListMessagesOutputV1PrincipalReference;
427
449
  recipient: ZoAgentListMessagesOutputV1PrincipalReference;
428
- content: (ZoAgentListMessagesOutputV1TextBlock | ZoAgentListMessagesOutputV1ImageBlock | ZoAgentListMessagesOutputV1AudioBlock | ZoAgentListMessagesOutputV1ResourceBlock | ZoAgentListMessagesOutputV1ResourceLinkBlock)[];
450
+ content: (ZoAgentListMessagesOutputV1TextBlock | ZoAgentListMessagesOutputV1ImageBlock | ZoAgentListMessagesOutputV1AudioBlock | ZoAgentListMessagesOutputV1ResourceBlock | ZoAgentListMessagesOutputV1MessageResourceLinkBlock)[];
429
451
  created_at: string;
430
452
  /**
431
453
  * The delivery to the recipient Agent.
@@ -464,14 +486,24 @@ export interface ZoAgentListMessagesOutputV1EmbeddedResource {
464
486
  blob?: (string | null);
465
487
  }
466
488
  /**
467
- * On input, ``uri`` names an upload (``zo-upload://``). On output, a presigned URL for stored media.
489
+ * A stored file: ``uri`` is a URL valid for an hour, or ``zo-file://{file_id}`` once it's deleted.
468
490
  */
469
- export interface ZoAgentListMessagesOutputV1ResourceLinkBlock {
491
+ export interface ZoAgentListMessagesOutputV1MessageResourceLinkBlock {
470
492
  type: "resource_link";
471
493
  uri: string;
472
494
  name: string;
473
495
  mimeType?: (string | null);
474
496
  size?: (number | null);
497
+ _meta: ZoAgentListMessagesOutputV1LinkMeta;
498
+ }
499
+ export interface ZoAgentListMessagesOutputV1LinkMeta {
500
+ zo: ZoAgentListMessagesOutputV1ZoLinkMeta;
501
+ }
502
+ export interface ZoAgentListMessagesOutputV1ZoLinkMeta {
503
+ /**
504
+ * The Knowledge file that holds the attachment.
505
+ */
506
+ file_id: string;
475
507
  }
476
508
  export interface ZoAgentListMessagesOutputV1MessageDelivery {
477
509
  session_id: string;
@@ -694,9 +726,33 @@ export interface ZoAgentSessionGetOutputV1 {
694
726
  agent_id: string;
695
727
  created_at: string;
696
728
  /**
697
- * When the session's newest message or event was delivered to it; created_at when it has none.
729
+ * When the session last received an input or finished a turn; created_at when it has done neither.
698
730
  */
699
731
  last_activity_at: string;
732
+ /**
733
+ * Turns ended in the session; null for a session with no turn ended since turns were counted.
734
+ */
735
+ turn_count: (number | null);
736
+ /**
737
+ * The summed duration of turns ended since the count was filled.
738
+ */
739
+ turns_duration_ms: (number | null);
740
+ /**
741
+ * Milliseconds from created_at to last_turn_ended_at, rounded.
742
+ */
743
+ elapsed_ms: (number | null);
744
+ /**
745
+ * When the last turn ended, as an RFC 3339 time.
746
+ */
747
+ last_turn_ended_at: (string | null);
748
+ /**
749
+ * How the last turn ended.
750
+ */
751
+ last_turn_outcome: (("completed" | "cancelled" | "interrupted" | "failed") | null);
752
+ /**
753
+ * The reason the last turn ended with, such as model_error.
754
+ */
755
+ last_turn_reason: (string | null);
700
756
  /**
701
757
  * The model the session's next inputs run with.
702
758
  */
@@ -725,7 +781,23 @@ export interface ZoAgentSessionHistoryOutputV1AgentSessionHistoryItem {
725
781
  * Position in the session; the stream continues after the newest item's seq.
726
782
  */
727
783
  seq: number;
728
- kind: ("input" | "response" | "tool_results");
784
+ kind: ("input" | "response" | "tool_results" | "turn_ended");
785
+ /**
786
+ * The turn that produced this item.
787
+ */
788
+ turn_id: string;
789
+ /**
790
+ * RFC 3339 row time, or the turn's end time for turn_ended; null when that end time was not recorded.
791
+ */
792
+ created_at: (string | null);
793
+ /**
794
+ * The turn's outcome on turn_ended; null on row items.
795
+ */
796
+ outcome: (("completed" | "cancelled" | "interrupted" | "failed") | null);
797
+ /**
798
+ * The turn's outcome reason on turn_ended; null on row items.
799
+ */
800
+ reason: (string | null);
729
801
  /**
730
802
  * ACP session/update updates, with Zo fields under _meta.zo.
731
803
  */
@@ -760,9 +832,33 @@ export interface ZoAgentSessionListOutputV1AgentSession {
760
832
  agent_id: string;
761
833
  created_at: string;
762
834
  /**
763
- * When the session's newest message or event was delivered to it; created_at when it has none.
835
+ * When the session last received an input or finished a turn; created_at when it has done neither.
764
836
  */
765
837
  last_activity_at: string;
838
+ /**
839
+ * Turns ended in the session; null for a session with no turn ended since turns were counted.
840
+ */
841
+ turn_count: (number | null);
842
+ /**
843
+ * The summed duration of turns ended since the count was filled.
844
+ */
845
+ turns_duration_ms: (number | null);
846
+ /**
847
+ * Milliseconds from created_at to last_turn_ended_at, rounded.
848
+ */
849
+ elapsed_ms: (number | null);
850
+ /**
851
+ * When the last turn ended, as an RFC 3339 time.
852
+ */
853
+ last_turn_ended_at: (string | null);
854
+ /**
855
+ * How the last turn ended.
856
+ */
857
+ last_turn_outcome: (("completed" | "cancelled" | "interrupted" | "failed") | null);
858
+ /**
859
+ * The reason the last turn ended with, such as model_error.
860
+ */
861
+ last_turn_reason: (string | null);
766
862
  /**
767
863
  * The model the session's next inputs run with.
768
864
  */
@@ -782,6 +878,20 @@ export interface ZoAgentSessionListQueryV1 {
782
878
  */
783
879
  cursor?: string;
784
880
  sort?: ("id.asc" | "created_at.desc" | "created_at.asc" | "display_name.asc" | "last_activity_at.desc");
881
+ filter?: {
882
+ /**
883
+ * Only sessions whose last turn ended after this time, exclusively.
884
+ */
885
+ last_turn_ended_after?: (string | null);
886
+ /**
887
+ * Only sessions whose last turn ended before this time, exclusively.
888
+ */
889
+ last_turn_ended_before?: (string | null);
890
+ /**
891
+ * Only sessions whose last turn has any of these outcomes.
892
+ */
893
+ last_turn_outcome?: ([("completed" | "cancelled" | "interrupted" | "failed")] | [("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed")] | [("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed")] | [("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed")] | null);
894
+ };
785
895
  }
786
896
  export interface ZoAgentSessionListWorkspaceInputV1 {
787
897
  workspace_id: string;
@@ -800,9 +910,33 @@ export interface ZoAgentSessionListWorkspaceOutputV1AgentSession {
800
910
  agent_id: string;
801
911
  created_at: string;
802
912
  /**
803
- * When the session's newest message or event was delivered to it; created_at when it has none.
913
+ * When the session last received an input or finished a turn; created_at when it has done neither.
804
914
  */
805
915
  last_activity_at: string;
916
+ /**
917
+ * Turns ended in the session; null for a session with no turn ended since turns were counted.
918
+ */
919
+ turn_count: (number | null);
920
+ /**
921
+ * The summed duration of turns ended since the count was filled.
922
+ */
923
+ turns_duration_ms: (number | null);
924
+ /**
925
+ * Milliseconds from created_at to last_turn_ended_at, rounded.
926
+ */
927
+ elapsed_ms: (number | null);
928
+ /**
929
+ * When the last turn ended, as an RFC 3339 time.
930
+ */
931
+ last_turn_ended_at: (string | null);
932
+ /**
933
+ * How the last turn ended.
934
+ */
935
+ last_turn_outcome: (("completed" | "cancelled" | "interrupted" | "failed") | null);
936
+ /**
937
+ * The reason the last turn ended with, such as model_error.
938
+ */
939
+ last_turn_reason: (string | null);
806
940
  /**
807
941
  * The model the session's next inputs run with.
808
942
  */
@@ -823,6 +957,18 @@ export interface ZoAgentSessionListWorkspaceQueryV1 {
823
957
  cursor?: string;
824
958
  sort?: ("id.asc" | "created_at.desc" | "created_at.asc" | "display_name.asc" | "last_activity_at.desc");
825
959
  filter?: {
960
+ /**
961
+ * Only sessions whose last turn ended after this time, exclusively.
962
+ */
963
+ last_turn_ended_after?: (string | null);
964
+ /**
965
+ * Only sessions whose last turn ended before this time, exclusively.
966
+ */
967
+ last_turn_ended_before?: (string | null);
968
+ /**
969
+ * Only sessions whose last turn has any of these outcomes.
970
+ */
971
+ last_turn_outcome?: ([("completed" | "cancelled" | "interrupted" | "failed")] | [("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed")] | [("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed")] | [("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed"), ("completed" | "cancelled" | "interrupted" | "failed")] | null);
826
972
  /**
827
973
  * Only this Agent's sessions.
828
974
  */
@@ -1261,15 +1407,27 @@ export interface ZoConnectionGetOutputV1 {
1261
1407
  environment: {
1262
1408
  [k: string]: string;
1263
1409
  };
1410
+ /**
1411
+ * When Zo last handed this connection's credential to a Function run or machine.
1412
+ */
1413
+ last_used_at: (string | null);
1414
+ /**
1415
+ * Whether Zo will deliver this connection's credential now.
1416
+ */
1417
+ usable: boolean;
1418
+ /**
1419
+ * Why Zo will not deliver this connection's credential now, or null when it will.
1420
+ */
1421
+ unusable_reason: (("definition_withdrawn" | "configuring" | "reauthorization_required" | "disabled") | null);
1264
1422
  }
1265
1423
  export interface ZoConnectionListInputV1 {
1266
1424
  workspace_id: string;
1267
1425
  }
1268
1426
  export interface ZoConnectionListOutputV1 {
1269
- connections: ZoConnectionListOutputV1ConnectionWithAccountsResource[];
1427
+ connections: ZoConnectionListOutputV1ConnectionReadResource[];
1270
1428
  next_cursor: (string | null);
1271
1429
  }
1272
- export interface ZoConnectionListOutputV1ConnectionWithAccountsResource {
1430
+ export interface ZoConnectionListOutputV1ConnectionReadResource {
1273
1431
  id: string;
1274
1432
  workspace_id: string;
1275
1433
  display_name: string;
@@ -1286,6 +1444,18 @@ export interface ZoConnectionListOutputV1ConnectionWithAccountsResource {
1286
1444
  environment: {
1287
1445
  [k: string]: string;
1288
1446
  };
1447
+ /**
1448
+ * When Zo last handed this connection's credential to a Function run or machine.
1449
+ */
1450
+ last_used_at: (string | null);
1451
+ /**
1452
+ * Whether Zo will deliver this connection's credential now.
1453
+ */
1454
+ usable: boolean;
1455
+ /**
1456
+ * Why Zo will not deliver this connection's credential now, or null when it will.
1457
+ */
1458
+ unusable_reason: (("definition_withdrawn" | "configuring" | "reauthorization_required" | "disabled") | null);
1289
1459
  }
1290
1460
  export interface ZoConnectionListQueryV1 {
1291
1461
  /**
@@ -2709,6 +2879,7 @@ export interface ZoFunctionGetOutputV1DeploymentWithSlotsSummary {
2709
2879
  invoke_enabled: boolean;
2710
2880
  http_enabled: boolean;
2711
2881
  created_at: string;
2882
+ route_ids: string[];
2712
2883
  credential_slots: ZoFunctionGetOutputV1CredentialSlotSummary[];
2713
2884
  }
2714
2885
  /**
@@ -2733,6 +2904,9 @@ export interface ZoFunctionGetRunOutputV1 {
2733
2904
  id: string;
2734
2905
  function_id: string;
2735
2906
  deployment_id: string;
2907
+ /**
2908
+ * 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.
2909
+ */
2736
2910
  entry_kind: ("direct" | "connection" | "http");
2737
2911
  state: ZoFunctionGetRunOutputV1RunState;
2738
2912
  error_code: (string | null);
@@ -2744,12 +2918,53 @@ export interface ZoFunctionGetRunOutputV1 {
2744
2918
  result: JsonValue;
2745
2919
  result_available: boolean;
2746
2920
  parent: (ZoFunctionGetRunOutputV1RunParent | null);
2921
+ trigger: ZoFunctionGetRunOutputV1RunTrigger;
2747
2922
  }
2748
2923
  export interface ZoFunctionGetRunOutputV1RunParent {
2749
2924
  workflow_run_id: string;
2750
2925
  step: string;
2751
2926
  iteration: number;
2752
2927
  }
2928
+ export interface ZoFunctionGetRunOutputV1RunTrigger {
2929
+ /**
2930
+ * What started the run.
2931
+ */
2932
+ kind: ("direct" | "http" | "event" | "workflow_step" | "run" | "agent");
2933
+ /**
2934
+ * The event subscription that delivered the run.
2935
+ */
2936
+ subscription_id: (string | null);
2937
+ /**
2938
+ * The event occurrence that delivered the run.
2939
+ */
2940
+ occurrence_id: (string | null);
2941
+ /**
2942
+ * The delivered event type.
2943
+ */
2944
+ event_type: (string | null);
2945
+ /**
2946
+ * The Function or Workflow run that started this run.
2947
+ */
2948
+ caller: (ZoFunctionGetRunOutputV1RunRef | null);
2949
+ /**
2950
+ * The Agent session that invoked the run.
2951
+ */
2952
+ agent_session_id: (string | null);
2953
+ }
2954
+ export interface ZoFunctionGetRunOutputV1RunRef {
2955
+ /**
2956
+ * The run that invoked this run.
2957
+ */
2958
+ run_id: string;
2959
+ /**
2960
+ * The caller's Function ID, or null for a Workflow run.
2961
+ */
2962
+ function_id: (string | null);
2963
+ /**
2964
+ * The caller's Workflow ID, or null for a Function run.
2965
+ */
2966
+ workflow_id: (string | null);
2967
+ }
2753
2968
  export interface ZoFunctionInvokeInputV1 {
2754
2969
  function_id: string;
2755
2970
  contract_version: number;
@@ -2811,6 +3026,9 @@ export interface ZoFunctionListQueryV1 {
2811
3026
  * The previous page's next_cursor, sent with the same sort, filter and search.
2812
3027
  */
2813
3028
  cursor?: string;
3029
+ filter?: {
3030
+ connection_id?: (string | null);
3031
+ };
2814
3032
  }
2815
3033
  export interface ZoFunctionListRunsInputV1 {
2816
3034
  function_id: string;
@@ -2824,6 +3042,9 @@ export interface ZoFunctionListRunsOutputV1FunctionRunSummary {
2824
3042
  id: string;
2825
3043
  function_id: string;
2826
3044
  deployment_id: string;
3045
+ /**
3046
+ * 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.
3047
+ */
2827
3048
  entry_kind: ("direct" | "connection" | "http");
2828
3049
  state: ZoFunctionListRunsOutputV1RunState;
2829
3050
  error_code: (string | null);
@@ -2832,6 +3053,7 @@ export interface ZoFunctionListRunsOutputV1FunctionRunSummary {
2832
3053
  deadline: string;
2833
3054
  finished_at: (string | null);
2834
3055
  }
3056
+ export type ZoFunctionListRunsQueryV1RunState = ("queued" | "starting" | "running" | "succeeded" | "failed" | "cancel_requested" | "cancelled" | "unknown");
2835
3057
  export interface ZoFunctionListRunsQueryV1 {
2836
3058
  /**
2837
3059
  * Rows per page, at most 200; a larger value is reduced to it.
@@ -2841,6 +3063,45 @@ export interface ZoFunctionListRunsQueryV1 {
2841
3063
  * The previous page's next_cursor, sent with the same sort, filter and search.
2842
3064
  */
2843
3065
  cursor?: string;
3066
+ sort?: ("created_at.desc" | "created_at.asc");
3067
+ filter?: {
3068
+ /**
3069
+ * Only runs created after this time.
3070
+ */
3071
+ created_after?: (string | null);
3072
+ /**
3073
+ * Only runs created before this time.
3074
+ */
3075
+ created_before?: (string | null);
3076
+ /**
3077
+ * Only runs in any of these states.
3078
+ */
3079
+ state?: ([ZoFunctionListRunsQueryV1RunState] | [ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState] | [ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState] | [ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState] | [ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState] | [ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState] | [ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState] | [ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState, ZoFunctionListRunsQueryV1RunState] | null);
3080
+ /**
3081
+ * Only runs with any of these error codes.
3082
+ */
3083
+ error_code?: ([string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | null);
3084
+ /**
3085
+ * Only runs of this deployment.
3086
+ */
3087
+ deployment_id?: (string | null);
3088
+ /**
3089
+ * Only runs with any of these entry kinds.
3090
+ */
3091
+ entry_kind?: ([("direct" | "connection" | "http")] | [("direct" | "connection" | "http"), ("direct" | "connection" | "http")] | [("direct" | "connection" | "http"), ("direct" | "connection" | "http"), ("direct" | "connection" | "http")] | null);
3092
+ /**
3093
+ * Only runs with any of these trigger kinds.
3094
+ */
3095
+ trigger?: ([("direct" | "http" | "event" | "workflow_step" | "run" | "agent")] | [("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent")] | [("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent")] | [("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent")] | [("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent")] | [("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent"), ("direct" | "http" | "event" | "workflow_step" | "run" | "agent")] | null);
3096
+ /**
3097
+ * Only runs delivered by this subscription.
3098
+ */
3099
+ subscription_id?: (string | null);
3100
+ /**
3101
+ * Only runs started by this Agent session.
3102
+ */
3103
+ agent_session_id?: (string | null);
3104
+ };
2844
3105
  }
2845
3106
  export interface ZoFunctionPublishContractInputV1 {
2846
3107
  function_id: string;
@@ -3480,6 +3741,7 @@ export interface ZoMachineListOutputV1MachineBootedView {
3480
3741
  init: ("none" | "image");
3481
3742
  command: (string[] | null);
3482
3743
  }
3744
+ export type ZoMachineListQueryV1ObservedState = ("creating" | "running" | "stopping" | "stopped" | "resuming" | "destroying" | "destroyed" | "failed");
3483
3745
  export interface ZoMachineListQueryV1 {
3484
3746
  /**
3485
3747
  * Rows per page, at most 200; a larger value is reduced to it.
@@ -3490,6 +3752,12 @@ export interface ZoMachineListQueryV1 {
3490
3752
  */
3491
3753
  cursor?: string;
3492
3754
  sort?: ("id.asc" | "created_at.desc" | "created_at.asc" | "display_name.asc");
3755
+ filter?: {
3756
+ /**
3757
+ * Only machines in any of these states.
3758
+ */
3759
+ state?: ([ZoMachineListQueryV1ObservedState] | [ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState] | [ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState] | [ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState] | [ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState] | [ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState] | [ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState] | [ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState, ZoMachineListQueryV1ObservedState] | null);
3760
+ };
3493
3761
  }
3494
3762
  export interface ZoMachineListConfigurationsInputV1 {
3495
3763
  workspace_id: string;
@@ -4308,7 +4576,7 @@ export interface ZoMessageGetOutputV1 {
4308
4576
  workspace_id: string;
4309
4577
  author: ZoMessageGetOutputV1PrincipalReference;
4310
4578
  recipient: ZoMessageGetOutputV1PrincipalReference;
4311
- content: (ZoMessageGetOutputV1TextBlock | ZoMessageGetOutputV1ImageBlock | ZoMessageGetOutputV1AudioBlock | ZoMessageGetOutputV1ResourceBlock | ZoMessageGetOutputV1ResourceLinkBlock)[];
4579
+ content: (ZoMessageGetOutputV1TextBlock | ZoMessageGetOutputV1ImageBlock | ZoMessageGetOutputV1AudioBlock | ZoMessageGetOutputV1ResourceBlock | ZoMessageGetOutputV1MessageResourceLinkBlock)[];
4312
4580
  created_at: string;
4313
4581
  /**
4314
4582
  * The delivery to the recipient Agent.
@@ -4347,14 +4615,24 @@ export interface ZoMessageGetOutputV1EmbeddedResource {
4347
4615
  blob?: (string | null);
4348
4616
  }
4349
4617
  /**
4350
- * On input, ``uri`` names an upload (``zo-upload://``). On output, a presigned URL for stored media.
4618
+ * A stored file: ``uri`` is a URL valid for an hour, or ``zo-file://{file_id}`` once it's deleted.
4351
4619
  */
4352
- export interface ZoMessageGetOutputV1ResourceLinkBlock {
4620
+ export interface ZoMessageGetOutputV1MessageResourceLinkBlock {
4353
4621
  type: "resource_link";
4354
4622
  uri: string;
4355
4623
  name: string;
4356
4624
  mimeType?: (string | null);
4357
4625
  size?: (number | null);
4626
+ _meta: ZoMessageGetOutputV1LinkMeta;
4627
+ }
4628
+ export interface ZoMessageGetOutputV1LinkMeta {
4629
+ zo: ZoMessageGetOutputV1ZoLinkMeta;
4630
+ }
4631
+ export interface ZoMessageGetOutputV1ZoLinkMeta {
4632
+ /**
4633
+ * The Knowledge file that holds the attachment.
4634
+ */
4635
+ file_id: string;
4358
4636
  }
4359
4637
  export interface ZoMessageGetOutputV1MessageDelivery {
4360
4638
  session_id: string;
@@ -4372,6 +4650,386 @@ export interface ZoMessageGetOutputV1MessageDelivery {
4372
4650
  */
4373
4651
  reasoning: (string | null);
4374
4652
  }
4653
+ export interface ZoModelGenerateTextInputV1 {
4654
+ workspace_id: string;
4655
+ /**
4656
+ * A model ID from zo.model.list, such as anthropic/claude-sonnet-5-5.
4657
+ */
4658
+ model: string;
4659
+ /**
4660
+ * A single user message. Set this or messages.
4661
+ */
4662
+ prompt?: (string | null);
4663
+ /**
4664
+ * A conversation that ends with a user message. Set this or prompt.
4665
+ */
4666
+ messages?: ([(ZoModelGenerateTextInputV1UserMessage | ZoModelGenerateTextInputV1AssistantMessage), ...((ZoModelGenerateTextInputV1UserMessage | ZoModelGenerateTextInputV1AssistantMessage))[]] | null);
4667
+ /**
4668
+ * System instructions.
4669
+ */
4670
+ instructions?: (string | null);
4671
+ /**
4672
+ * The structured output wanted. Omit for plain text.
4673
+ */
4674
+ output?: ((ZoModelGenerateTextInputV1ObjectOutput | ZoModelGenerateTextInputV1ArrayOutput | ZoModelGenerateTextInputV1ChoiceOutput | ZoModelGenerateTextInputV1JsonOutput) | null);
4675
+ /**
4676
+ * Reasoning effort, one of the model's reasoning_levels. Omit for its default.
4677
+ */
4678
+ reasoning?: (string | null);
4679
+ include?: (ZoModelGenerateTextInputV1Include | null);
4680
+ /**
4681
+ * 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.
4682
+ */
4683
+ provider_options?: (ZoModelGenerateTextInputV1ProviderOptions | null);
4684
+ /**
4685
+ * The most tokens to generate.
4686
+ */
4687
+ max_output_tokens?: (number | null);
4688
+ temperature?: (number | null);
4689
+ top_p?: (number | null);
4690
+ top_k?: (number | null);
4691
+ presence_penalty?: (number | null);
4692
+ frequency_penalty?: (number | null);
4693
+ stop_sequences?: ([string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string] | null);
4694
+ seed?: (number | null);
4695
+ }
4696
+ export interface ZoModelGenerateTextInputV1UserMessage {
4697
+ role: "user";
4698
+ /**
4699
+ * Text and file parts, in order.
4700
+ *
4701
+ * @minItems 1
4702
+ * @maxItems 100
4703
+ */
4704
+ content: [(ZoModelGenerateTextInputV1TextPart | ZoModelGenerateTextInputV1FilePart), ...((ZoModelGenerateTextInputV1TextPart | ZoModelGenerateTextInputV1FilePart))[]];
4705
+ }
4706
+ export interface ZoModelGenerateTextInputV1TextPart {
4707
+ type: "text";
4708
+ text: string;
4709
+ }
4710
+ /**
4711
+ * 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
4712
+ * inline as base64. A call may name at most 20 distinct Knowledge files. Other types, PDFs and video included, are
4713
+ * refused. Which types a model takes is its `input_media` in `zo.model.list`.
4714
+ */
4715
+ export interface ZoModelGenerateTextInputV1FilePart {
4716
+ type: "file";
4717
+ /**
4718
+ * A Knowledge file the caller can read. Set this or data, not both.
4719
+ */
4720
+ file_id?: (string | null);
4721
+ /**
4722
+ * The file's bytes as base64.
4723
+ */
4724
+ data?: (string | null);
4725
+ /**
4726
+ * Required with data, such as image/png or text/plain. Ignored for a Knowledge file, which always uses its stored type.
4727
+ */
4728
+ media_type?: (string | null);
4729
+ filename?: (string | null);
4730
+ }
4731
+ export interface ZoModelGenerateTextInputV1AssistantMessage {
4732
+ role: "assistant";
4733
+ /**
4734
+ * @minItems 1
4735
+ * @maxItems 100
4736
+ */
4737
+ content: [ZoModelGenerateTextInputV1TextPart, ...(ZoModelGenerateTextInputV1TextPart)[]];
4738
+ }
4739
+ export interface ZoModelGenerateTextInputV1ObjectOutput {
4740
+ type: "object";
4741
+ /**
4742
+ * A JSON Schema whose root type is object. The result matches it.
4743
+ */
4744
+ schema: {
4745
+ [k: string]: JsonValue;
4746
+ };
4747
+ name?: (string | null);
4748
+ description?: (string | null);
4749
+ }
4750
+ export interface ZoModelGenerateTextInputV1ArrayOutput {
4751
+ type: "array";
4752
+ /**
4753
+ * A JSON Schema every element of the result matches.
4754
+ */
4755
+ element_schema: {
4756
+ [k: string]: JsonValue;
4757
+ };
4758
+ name?: (string | null);
4759
+ description?: (string | null);
4760
+ }
4761
+ export interface ZoModelGenerateTextInputV1ChoiceOutput {
4762
+ type: "choice";
4763
+ /**
4764
+ * The result is exactly one of these.
4765
+ *
4766
+ * @minItems 2
4767
+ * @maxItems 100
4768
+ */
4769
+ options: [string, string, ...(string)[]];
4770
+ }
4771
+ export interface ZoModelGenerateTextInputV1JsonOutput {
4772
+ type: "json";
4773
+ }
4774
+ export interface ZoModelGenerateTextInputV1Include {
4775
+ /**
4776
+ * Return the model's reasoning text when it provides one.
4777
+ */
4778
+ reasoning?: boolean;
4779
+ }
4780
+ /**
4781
+ * Settings for one provider, keyed by provider, passed through to that
4782
+ * provider's request as the Vercel AI SDK's providerOptions are. Shared by
4783
+ * every model action that takes them.
4784
+ */
4785
+ export interface ZoModelGenerateTextInputV1ProviderOptions {
4786
+ /**
4787
+ * For Anthropic models: thinking, send_reasoning.
4788
+ */
4789
+ anthropic?: ({
4790
+ [k: string]: JsonValue;
4791
+ } | null);
4792
+ /**
4793
+ * For OpenAI models: reasoning_summary, text_verbosity, service_tier, user, logit_bias.
4794
+ */
4795
+ openai?: ({
4796
+ [k: string]: JsonValue;
4797
+ } | null);
4798
+ /**
4799
+ * For Google models: thinking_config, safety_settings.
4800
+ */
4801
+ google?: ({
4802
+ [k: string]: JsonValue;
4803
+ } | null);
4804
+ /**
4805
+ * For xAI models. None are accepted yet.
4806
+ */
4807
+ xai?: ({
4808
+ [k: string]: JsonValue;
4809
+ } | null);
4810
+ /**
4811
+ * For DeepSeek models. None are accepted yet.
4812
+ */
4813
+ deepseek?: ({
4814
+ [k: string]: JsonValue;
4815
+ } | null);
4816
+ /**
4817
+ * For Moonshot models. None are accepted yet.
4818
+ */
4819
+ moonshot?: ({
4820
+ [k: string]: JsonValue;
4821
+ } | null);
4822
+ /**
4823
+ * For Z.ai models. None are accepted yet.
4824
+ */
4825
+ zai?: ({
4826
+ [k: string]: JsonValue;
4827
+ } | null);
4828
+ /**
4829
+ * For Voyage models: truncation.
4830
+ */
4831
+ voyage?: ({
4832
+ [k: string]: JsonValue;
4833
+ } | null);
4834
+ /**
4835
+ * For ByteDance models. None are accepted yet.
4836
+ */
4837
+ bytedance?: ({
4838
+ [k: string]: JsonValue;
4839
+ } | null);
4840
+ /**
4841
+ * For Recraft models. None are accepted yet.
4842
+ */
4843
+ recraft?: ({
4844
+ [k: string]: JsonValue;
4845
+ } | null);
4846
+ /**
4847
+ * For AssemblyAI transcription: punctuate, format_text, disfluencies, filter_profanity, word_boost, boost_param.
4848
+ */
4849
+ assemblyai?: ({
4850
+ [k: string]: JsonValue;
4851
+ } | null);
4852
+ }
4853
+ export interface ZoModelGenerateTextOutputV1 {
4854
+ /**
4855
+ * The generated text. For structured output, the JSON the model wrote.
4856
+ */
4857
+ text: string;
4858
+ /**
4859
+ * The parsed result when output was set, else null.
4860
+ */
4861
+ output: (JsonValue | null);
4862
+ /**
4863
+ * The model's reasoning text, when asked for and provided.
4864
+ */
4865
+ reasoning: (string | null);
4866
+ /**
4867
+ * Why generation ended. deadline: the request ran out of time and text holds what was generated by then.
4868
+ */
4869
+ finish_reason: ("stop" | "length" | "content_filter" | "deadline" | "other");
4870
+ /**
4871
+ * The model that answered.
4872
+ */
4873
+ model: string;
4874
+ usage: ZoModelGenerateTextOutputV1Usage;
4875
+ charge: ZoModelGenerateTextOutputV1Charge;
4876
+ }
4877
+ /**
4878
+ * What the provider reported, in the units the model is billed in. A
4879
+ * model action sets only its own units.
4880
+ */
4881
+ export interface ZoModelGenerateTextOutputV1Usage {
4882
+ input_tokens?: (number | null);
4883
+ output_tokens?: (number | null);
4884
+ cache_read_tokens?: (number | null);
4885
+ cache_write_tokens?: (number | null);
4886
+ reasoning_tokens?: (number | null);
4887
+ }
4888
+ export interface ZoModelGenerateTextOutputV1Charge {
4889
+ /**
4890
+ * 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.
4891
+ */
4892
+ usd: (string | null);
4893
+ }
4894
+ export interface ZoModelListInputV1 {
4895
+ workspace_id: string;
4896
+ }
4897
+ export interface ZoModelListOutputV1 {
4898
+ models: ZoModelListOutputV1ModelEntry[];
4899
+ next_cursor: (string | null);
4900
+ }
4901
+ export interface ZoModelListOutputV1ModelEntry {
4902
+ /**
4903
+ * The ID to pass as model.
4904
+ */
4905
+ id: string;
4906
+ display_name: string;
4907
+ provider: string;
4908
+ capabilities: ("text" | "structured_output" | "embedding" | "rerank" | "image" | "speech" | "transcription" | "video")[];
4909
+ /**
4910
+ * Media types the model accepts in file parts, such as image/* and text/*.
4911
+ */
4912
+ input_media: string[];
4913
+ context_window_tokens: (number | null);
4914
+ max_output_tokens: (number | null);
4915
+ /**
4916
+ * The reasoning levels the model offers. Empty when it has none.
4917
+ */
4918
+ reasoning_levels: string[];
4919
+ /**
4920
+ * Every setting the model accepts, with its allowed values. A setting not listed is refused with invalid_input before the call.
4921
+ */
4922
+ settings: ZoModelListOutputV1ModelSetting[];
4923
+ /**
4924
+ * Named limits for the model's actions, such as max_values.
4925
+ */
4926
+ limits: {
4927
+ [k: string]: number;
4928
+ };
4929
+ /**
4930
+ * Every rate the model is billed at, the rows zo.billing.list_rates returns for it. A call is charged at the rates whose conditions it meets.
4931
+ */
4932
+ prices: ZoModelListOutputV1ModelPrice[];
4933
+ status: ("available" | "deprecated");
4934
+ }
4935
+ /**
4936
+ * One setting the model accepts and the values it allows.
4937
+ */
4938
+ export interface ZoModelListOutputV1ModelSetting {
4939
+ /**
4940
+ * The input field, such as temperature or reasoning.
4941
+ */
4942
+ name: string;
4943
+ /**
4944
+ * The smallest allowed value, as a decimal string.
4945
+ */
4946
+ minimum: (string | null);
4947
+ /**
4948
+ * The largest allowed value, as a decimal string.
4949
+ */
4950
+ maximum: (string | null);
4951
+ /**
4952
+ * The most items a list setting takes.
4953
+ */
4954
+ max_items: (number | null);
4955
+ /**
4956
+ * The allowed values of a string setting.
4957
+ */
4958
+ values: (string[] | null);
4959
+ }
4960
+ /**
4961
+ * One of the model's rates: the row ``zo.billing.list_rates`` returns for it.
4962
+ */
4963
+ export interface ZoModelListOutputV1ModelPrice {
4964
+ /**
4965
+ * The rate's key in zo.billing.list_rates.
4966
+ */
4967
+ rate_key: string;
4968
+ /**
4969
+ * The usage meter the rate prices, as zo.billing.list_rates names it.
4970
+ */
4971
+ meter: string;
4972
+ /**
4973
+ * What one billed unit is. input, output, cache_read and cache_write are tokens: the usage fields input_tokens, output_tokens, cache_read_tokens and cache_write_tokens. request is one generated output, such as an image or a video.
4974
+ */
4975
+ unit: ("input" | "output" | "cache_read" | "cache_write" | "request" | "character" | "millisecond" | "audio_minute" | "megapixel" | "video_second");
4976
+ /**
4977
+ * The workspace's current price for per units, as a decimal string.
4978
+ */
4979
+ usd: string;
4980
+ /**
4981
+ * How many units usd is for: 1000000 for tokens.
4982
+ */
4983
+ per: string;
4984
+ conditions: ZoModelListOutputV1RateConditions;
4985
+ }
4986
+ /**
4987
+ * When the rate applies, as zo.billing.list_rates gives it: input-token tiers for text models; operation, selector, resolution, quality, duration and quantity bounds for media models.
4988
+ */
4989
+ export interface ZoModelListOutputV1RateConditions {
4990
+ /**
4991
+ * Inclusive request-size lower bound.
4992
+ */
4993
+ request_input_tokens_min?: (number | null);
4994
+ /**
4995
+ * Exclusive request-size upper bound.
4996
+ */
4997
+ request_input_tokens_max?: (number | null);
4998
+ /**
4999
+ * The matching tier prices the whole request.
5000
+ */
5001
+ whole_request?: boolean;
5002
+ operation?: (string | null);
5003
+ resolution?: (string | null);
5004
+ quality?: (string | null);
5005
+ duration_seconds?: (string | null);
5006
+ quantity_min?: (string | null);
5007
+ quantity_max?: (string | null);
5008
+ included_quantity?: (string | null);
5009
+ default_quantity?: (string | null);
5010
+ quantity_argument?: (string | null);
5011
+ selector?: {
5012
+ [k: string]: JsonValue;
5013
+ };
5014
+ rounding?: ("none" | "ceil_step");
5015
+ }
5016
+ export interface ZoModelListQueryV1 {
5017
+ /**
5018
+ * Rows per page, at most 200; a larger value is reduced to it.
5019
+ */
5020
+ limit?: number;
5021
+ /**
5022
+ * The previous page's next_cursor, sent with the same sort, filter and search.
5023
+ */
5024
+ cursor?: string;
5025
+ sort?: "id.asc";
5026
+ filter?: {
5027
+ /**
5028
+ * Only models with this capability.
5029
+ */
5030
+ capability?: (("text" | "structured_output" | "embedding" | "rerank" | "image" | "speech" | "transcription" | "video") | null);
5031
+ };
5032
+ }
4375
5033
  export interface ZoOauthAppCreateInputV1 {
4376
5034
  workspace_id: string;
4377
5035
  provider: string;
@@ -4386,7 +5044,7 @@ export interface ZoOauthAppCreateInputV1 {
4386
5044
  requested_scopes: string[];
4387
5045
  connection_id?: (string | null);
4388
5046
  /**
4389
- * 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.
5047
+ * 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.
4390
5048
  */
4391
5049
  client_secret?: (string | null);
4392
5050
  }
@@ -4478,14 +5136,14 @@ export interface ZoOauthAppUpdateInputV1 {
4478
5136
  expected_state: string;
4479
5137
  client_id?: (string | null);
4480
5138
  /**
4481
- * Omitted: keep the app's current `manager_ref` (with a new `client_secret`, only its secret id changes).
5139
+ * Omitted: keep the app's current `manager_ref`. It can't contain `client_secret`, `client_secret_id` or `client_secret_env`.
4482
5140
  */
4483
5141
  manager_ref?: ({
4484
5142
  [k: string]: JsonValue;
4485
5143
  } | null);
4486
5144
  visibility: ("private" | "public");
4487
5145
  /**
4488
- * 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.
5146
+ * 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.
4489
5147
  */
4490
5148
  client_secret?: (string | null);
4491
5149
  }
@@ -5754,6 +6412,10 @@ export interface ZoSubscriptionListQueryV1 {
5754
6412
  * Only subscriptions to this event definition.
5755
6413
  */
5756
6414
  event_id?: (string | null);
6415
+ /**
6416
+ * Only subscriptions that run for this schedule.
6417
+ */
6418
+ schedule_id?: (string | null);
5757
6419
  /**
5758
6420
  * Only subscriptions whose handler is this resource: its handler_resource_type and handler_resource_id, such as an Agent.
5759
6421
  */
@@ -5911,6 +6573,10 @@ export interface ZoSubscriptionListQueryV2 {
5911
6573
  * Only subscriptions to this event definition.
5912
6574
  */
5913
6575
  event_id?: (string | null);
6576
+ /**
6577
+ * Only subscriptions that run for this schedule.
6578
+ */
6579
+ schedule_id?: (string | null);
5914
6580
  /**
5915
6581
  * Only subscriptions whose handler is this resource: its handler_resource_type and handler_resource_id, such as an Agent.
5916
6582
  */
@@ -7576,6 +8242,15 @@ export interface ZoWebsiteCreateOutputV1 {
7576
8242
  export interface ZoWebsiteCreateOutputV1WebsiteHostname {
7577
8243
  hostname: string;
7578
8244
  state: ("pending_dns" | "pending_ssl" | "active" | "released");
8245
+ /**
8246
+ * 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.
8247
+ */
8248
+ dns_records: ZoWebsiteCreateOutputV1WebsiteDnsRecord[];
8249
+ }
8250
+ export interface ZoWebsiteCreateOutputV1WebsiteDnsRecord {
8251
+ type: ("CNAME" | "TXT");
8252
+ name: string;
8253
+ value: string;
7579
8254
  }
7580
8255
  export interface ZoWebsiteDeleteInputV1 {
7581
8256
  website_id: string;
@@ -7606,6 +8281,15 @@ export interface ZoWebsiteGetOutputV1 {
7606
8281
  export interface ZoWebsiteGetOutputV1WebsiteHostname {
7607
8282
  hostname: string;
7608
8283
  state: ("pending_dns" | "pending_ssl" | "active" | "released");
8284
+ /**
8285
+ * 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.
8286
+ */
8287
+ dns_records: ZoWebsiteGetOutputV1WebsiteDnsRecord[];
8288
+ }
8289
+ export interface ZoWebsiteGetOutputV1WebsiteDnsRecord {
8290
+ type: ("CNAME" | "TXT");
8291
+ name: string;
8292
+ value: string;
7609
8293
  }
7610
8294
  export interface ZoWebsiteListInputV1 {
7611
8295
  workspace_id: string;
@@ -7634,6 +8318,15 @@ export interface ZoWebsiteListOutputV1WebsiteListItem {
7634
8318
  export interface ZoWebsiteListOutputV1WebsiteHostname {
7635
8319
  hostname: string;
7636
8320
  state: ("pending_dns" | "pending_ssl" | "active" | "released");
8321
+ /**
8322
+ * 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.
8323
+ */
8324
+ dns_records: ZoWebsiteListOutputV1WebsiteDnsRecord[];
8325
+ }
8326
+ export interface ZoWebsiteListOutputV1WebsiteDnsRecord {
8327
+ type: ("CNAME" | "TXT");
8328
+ name: string;
8329
+ value: string;
7637
8330
  }
7638
8331
  export interface ZoWebsiteListOutputV1WebsiteRoute {
7639
8332
  id: string;
@@ -7710,6 +8403,15 @@ export interface ZoWebsiteUpdateOutputV1 {
7710
8403
  export interface ZoWebsiteUpdateOutputV1WebsiteHostname {
7711
8404
  hostname: string;
7712
8405
  state: ("pending_dns" | "pending_ssl" | "active" | "released");
8406
+ /**
8407
+ * 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.
8408
+ */
8409
+ dns_records: ZoWebsiteUpdateOutputV1WebsiteDnsRecord[];
8410
+ }
8411
+ export interface ZoWebsiteUpdateOutputV1WebsiteDnsRecord {
8412
+ type: ("CNAME" | "TXT");
8413
+ name: string;
8414
+ value: string;
7713
8415
  }
7714
8416
  export interface ZoWebsiteRouteCreateInputV1 {
7715
8417
  website_id: string;
@@ -8098,6 +8800,9 @@ export interface ZoWorkflowGetRunOutputV1 {
8098
8800
  id: string;
8099
8801
  workflow_id: string;
8100
8802
  revision_id: string;
8803
+ /**
8804
+ * Always `direct`. Read `trigger` on the run for what started it.
8805
+ */
8101
8806
  entry_kind: "direct";
8102
8807
  state: ZoWorkflowGetRunOutputV1RunState;
8103
8808
  error_code: (ZoWorkflowGetRunOutputV1WorkflowRunError | null);
@@ -8109,6 +8814,7 @@ export interface ZoWorkflowGetRunOutputV1 {
8109
8814
  steps: ZoWorkflowGetRunOutputV1StepEntry[];
8110
8815
  result: JsonValue;
8111
8816
  result_available: boolean;
8817
+ trigger: ZoWorkflowGetRunOutputV1RunTrigger;
8112
8818
  }
8113
8819
  export interface ZoWorkflowGetRunOutputV1StepEntry {
8114
8820
  step: string;
@@ -8117,11 +8823,109 @@ export interface ZoWorkflowGetRunOutputV1StepEntry {
8117
8823
  attempts?: (number | null);
8118
8824
  iterations?: (ZoWorkflowGetRunOutputV1Iterations | null);
8119
8825
  error_code?: (string | null);
8826
+ /**
8827
+ * The first attempt's start time, or null before the step starts.
8828
+ */
8829
+ started_at: (string | null);
8830
+ /**
8831
+ * The latest attempt's finish time, or null while the step has not finished.
8832
+ */
8833
+ finished_at: (string | null);
8834
+ /**
8835
+ * The called Function's ID, or null for wait, Agent, and parallel steps.
8836
+ */
8837
+ function_id: (string | null);
8838
+ /**
8839
+ * The child run's error message, or null when it has none.
8840
+ */
8841
+ error_message: (string | null);
8842
+ /**
8843
+ * The Agent session that replied, or null when no Agent session replied.
8844
+ */
8845
+ agent_session_id: (string | null);
8846
+ /**
8847
+ * Why the step was skipped, or null when it was not skipped.
8848
+ */
8849
+ skip_reason: (("condition_false" | "parent_skipped") | null);
8850
+ /**
8851
+ * Whether the step continued after ending failed, cancelled, or unknown under `on_error: continue`.
8852
+ */
8853
+ continued: boolean;
8854
+ /**
8855
+ * 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.
8856
+ */
8857
+ failed_iterations: (ZoWorkflowGetRunOutputV1StepIteration[] | null);
8120
8858
  }
8121
8859
  export interface ZoWorkflowGetRunOutputV1Iterations {
8122
8860
  total: number;
8123
8861
  finished: number;
8124
8862
  }
8863
+ export interface ZoWorkflowGetRunOutputV1StepIteration {
8864
+ /**
8865
+ * The loop iteration's zero-based index.
8866
+ */
8867
+ iteration: number;
8868
+ /**
8869
+ * The iteration's final state.
8870
+ */
8871
+ state: string;
8872
+ /**
8873
+ * The child Function run ID, or null when no Function run started.
8874
+ */
8875
+ run_id: (string | null);
8876
+ /**
8877
+ * The iteration's error code, or null when it has none.
8878
+ */
8879
+ error_code: (string | null);
8880
+ /**
8881
+ * The child run's error message, or null when it has none.
8882
+ */
8883
+ error_message: (string | null);
8884
+ /**
8885
+ * The Agent session that replied, or null when no Agent session replied.
8886
+ */
8887
+ agent_session_id: (string | null);
8888
+ }
8889
+ export interface ZoWorkflowGetRunOutputV1RunTrigger {
8890
+ /**
8891
+ * What started the run.
8892
+ */
8893
+ kind: ("direct" | "http" | "event" | "workflow_step" | "run" | "agent");
8894
+ /**
8895
+ * The event subscription that delivered the run.
8896
+ */
8897
+ subscription_id: (string | null);
8898
+ /**
8899
+ * The event occurrence that delivered the run.
8900
+ */
8901
+ occurrence_id: (string | null);
8902
+ /**
8903
+ * The delivered event type.
8904
+ */
8905
+ event_type: (string | null);
8906
+ /**
8907
+ * The Function or Workflow run that started this run.
8908
+ */
8909
+ caller: (ZoWorkflowGetRunOutputV1RunRef | null);
8910
+ /**
8911
+ * The Agent session that invoked the run.
8912
+ */
8913
+ agent_session_id: (string | null);
8914
+ }
8915
+ export interface ZoWorkflowGetRunOutputV1RunRef {
8916
+ /**
8917
+ * The run that invoked this run.
8918
+ */
8919
+ run_id: string;
8920
+ /**
8921
+ * The caller's Function ID, or null for a Workflow run.
8922
+ */
8923
+ function_id: (string | null);
8924
+ /**
8925
+ * The caller's Workflow ID, or null for a Function run.
8926
+ */
8927
+ workflow_id: (string | null);
8928
+ }
8125
8929
  export interface ZoWorkflowInvokeInputV1 {
8126
8930
  workflow_id: string;
8127
8931
  input: JsonValue;
@@ -8189,6 +8993,9 @@ export interface ZoWorkflowListRunsOutputV1WorkflowRunSummary {
8189
8993
  id: string;
8190
8994
  workflow_id: string;
8191
8995
  revision_id: string;
8996
+ /**
8997
+ * Always `direct`. Read `trigger` on the run for what started it.
8998
+ */
8192
8999
  entry_kind: "direct";
8193
9000
  state: ZoWorkflowListRunsOutputV1RunState;
8194
9001
  error_code: (ZoWorkflowListRunsOutputV1WorkflowRunError | null);
@@ -8196,6 +9003,8 @@ export interface ZoWorkflowListRunsOutputV1WorkflowRunSummary {
8196
9003
  deadline: string;
8197
9004
  finished_at: (string | null);
8198
9005
  }
9006
+ export type ZoWorkflowListRunsQueryV1WorkflowRunState = ("queued" | "running" | "cancel_requested" | "succeeded" | "failed" | "cancelled" | "unknown");
9007
+ export type ZoWorkflowListRunsQueryV1WorkflowRunError = ("step_failed" | "deadline_exceeded" | "engine_error" | "engine_rejected" | "engine_unavailable");
8199
9008
  export interface ZoWorkflowListRunsQueryV1 {
8200
9009
  /**
8201
9010
  * Rows per page, at most 200; a larger value is reduced to it.
@@ -8205,6 +9014,41 @@ export interface ZoWorkflowListRunsQueryV1 {
8205
9014
  * The previous page's next_cursor, sent with the same sort, filter and search.
8206
9015
  */
8207
9016
  cursor?: string;
9017
+ sort?: ("created_at.desc" | "created_at.asc");
9018
+ filter?: {
9019
+ /**
9020
+ * Only runs created after this time.
9021
+ */
9022
+ created_after?: (string | null);
9023
+ /**
9024
+ * Only runs created before this time.
9025
+ */
9026
+ created_before?: (string | null);
9027
+ /**
9028
+ * Only runs in any of these states.
9029
+ */
9030
+ state?: ([ZoWorkflowListRunsQueryV1WorkflowRunState] | [ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState] | [ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState] | [ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState] | [ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState] | [ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState] | [ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState, ZoWorkflowListRunsQueryV1WorkflowRunState] | null);
9031
+ /**
9032
+ * Only runs with any of these error codes.
9033
+ */
9034
+ error_code?: ([ZoWorkflowListRunsQueryV1WorkflowRunError] | [ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError] | [ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError] | [ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError] | [ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError, ZoWorkflowListRunsQueryV1WorkflowRunError] | null);
9035
+ /**
9036
+ * Only runs of this revision.
9037
+ */
9038
+ revision_id?: (string | null);
9039
+ /**
9040
+ * Only runs with any of these trigger kinds.
9041
+ */
9042
+ trigger?: ([("direct" | "event" | "run" | "agent")] | [("direct" | "event" | "run" | "agent"), ("direct" | "event" | "run" | "agent")] | [("direct" | "event" | "run" | "agent"), ("direct" | "event" | "run" | "agent"), ("direct" | "event" | "run" | "agent")] | [("direct" | "event" | "run" | "agent"), ("direct" | "event" | "run" | "agent"), ("direct" | "event" | "run" | "agent"), ("direct" | "event" | "run" | "agent")] | null);
9043
+ /**
9044
+ * Only runs delivered by this subscription.
9045
+ */
9046
+ subscription_id?: (string | null);
9047
+ /**
9048
+ * Only runs started by this Agent session.
9049
+ */
9050
+ agent_session_id?: (string | null);
9051
+ };
8208
9052
  }
8209
9053
  export interface ZoWorkflowPublishInputV1 {
8210
9054
  workflow_id: string;
@@ -9037,6 +9881,19 @@ export type Operations = {
9037
9881
  output: ZoMessageGetOutputV1;
9038
9882
  };
9039
9883
  };
9884
+ "zo.model.generate_text": {
9885
+ 1: {
9886
+ input: ZoModelGenerateTextInputV1;
9887
+ output: ZoModelGenerateTextOutputV1;
9888
+ };
9889
+ };
9890
+ "zo.model.list": {
9891
+ 1: {
9892
+ input: ZoModelListInputV1;
9893
+ output: ZoModelListOutputV1;
9894
+ query: ZoModelListQueryV1;
9895
+ };
9896
+ };
9040
9897
  "zo.oauth_app.create": {
9041
9898
  1: {
9042
9899
  input: ZoOauthAppCreateInputV1;
@@ -9543,6 +10400,8 @@ export type DefaultVersions = {
9543
10400
  "zo.machine_image.list": 1;
9544
10401
  "zo.machine_image.update": 1;
9545
10402
  "zo.message.get": 1;
10403
+ "zo.model.generate_text": 1;
10404
+ "zo.model.list": 1;
9546
10405
  "zo.oauth_app.create": 1;
9547
10406
  "zo.oauth_app.delete": 1;
9548
10407
  "zo.oauth_app.get": 1;