windmill-client 1.819.0 → 1.821.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -375,7 +375,7 @@ export type FlowValue = {
375
375
  */
376
376
  end_id: string;
377
377
  /**
378
- * Color for the group in the flow editor
378
+ * Color for the group in the flow editor, one of: yellow, blue, green, purple, pink, orange, red, cyan, lime, gray. Omit it to let the editor pick one.
379
379
  */
380
380
  color?: string;
381
381
  }>;
@@ -657,6 +657,14 @@ export type MemoryConfig = {
657
657
  * Number of most recent messages to load and store. 0 turns memory off.
658
658
  */
659
659
  context_length: number;
660
+ } | {
661
+ kind: 'compaction';
662
+ /**
663
+ * Overrides the context window looked up from the model, in tokens. Only a model
664
+ * Windmill does not know needs one; those fall back to 128000.
665
+ *
666
+ */
667
+ context_window?: number;
660
668
  } | {
661
669
  kind: 'auto';
662
670
  /**
@@ -946,8 +954,8 @@ export type AiAgent = {
946
954
  * parameter). Leave unset to use the run's memory id. A fixed value shares one memory
947
955
  * across every run; an expression such as `flow_input.customer_id` keeps one memory per
948
956
  * key. When it evaluates to an empty value the agent runs without memory. Read only
949
- * while `memory` is `window`: it is ignored when memory is off, and an older `auto` or
950
- * `manual` memory reads neither history input.
957
+ * while `memory` is `window` or `compaction`: it is ignored when memory is off, and an
958
+ * older `auto` or `manual` memory reads neither history input.
951
959
  *
952
960
  */
953
961
  memory_id?: InputTransform;
@@ -1194,11 +1202,11 @@ export type FlowNote = {
1194
1202
  height: number;
1195
1203
  };
1196
1204
  /**
1197
- * Color of the note (e.g., "yellow", "#ffff00")
1205
+ * Color of the note, one of: yellow, blue, green, purple, pink, orange, red, cyan, lime, gray. Any other value renders unstyled.
1198
1206
  */
1199
1207
  color: string;
1200
1208
  /**
1201
- * Type of note - 'free' for standalone notes, 'group' for notes that group other nodes
1209
+ * Type of note - 'free' for standalone notes. 'group' notes are deprecated; segment a flow with FlowValue.groups instead.
1202
1210
  */
1203
1211
  type: 'free' | 'group';
1204
1212
  /**
@@ -1835,6 +1843,19 @@ export type FlowConversation = {
1835
1843
  * Started from the flow editor's test panel rather than a deployed run
1836
1844
  */
1837
1845
  is_test: boolean;
1846
+ /**
1847
+ * The turn the conversation is still answering, set by the list endpoint: its newest user message, while the flow run it started is queued or running. A run into this conversation is refused with 409 until the turn ends.
1848
+ */
1849
+ running_turn?: {
1850
+ /**
1851
+ * The flow run of the turn
1852
+ */
1853
+ job_id: string;
1854
+ /**
1855
+ * created_seq of the user message that started the turn
1856
+ */
1857
+ user_seq: number;
1858
+ } | null;
1838
1859
  };
1839
1860
  export type FlowConversationMessage = {
1840
1861
  /**
@@ -3221,6 +3242,20 @@ export type ListableResource = {
3221
3242
  *
3222
3243
  */
3223
3244
  is_draft?: boolean;
3245
+ /**
3246
+ * For an `ai_agent` resource only, its `memory` setting: the one part
3247
+ * of the value a listing returns, since it decides whether the agent
3248
+ * keeps a conversation.
3249
+ *
3250
+ */
3251
+ agent_memory?: unknown;
3252
+ /**
3253
+ * On a draft-only row, the path its editor has staged when it
3254
+ * differs from the storage path (e.g. a never-deployed item parked at
3255
+ * `u/{user}/draft_{uuid}`).
3256
+ *
3257
+ */
3258
+ draft_path?: string;
3224
3259
  };
3225
3260
  export type ResourceType = {
3226
3261
  workspace_id?: string;
@@ -3411,6 +3446,18 @@ export type ScheduleWJobs = Schedule & {
3411
3446
  success: boolean;
3412
3447
  duration_ms: number;
3413
3448
  }>;
3449
+ /**
3450
+ * runs in a row, up to the latest, that started or finished after the next occurrence was due, so that occurrence was missed
3451
+ */
3452
+ late_run_streak?: number;
3453
+ /**
3454
+ * occurrences missed by the latest streak of late runs, kept after it ends; a lower bound once a single late run misses 1000
3455
+ */
3456
+ missed_occurrences?: number;
3457
+ /**
3458
+ * latest missed occurrence, kept after the schedule runs on time again; past 1000 misses in one late run, when the miss was detected, at most one period later
3459
+ */
3460
+ last_missed_at?: string;
3414
3461
  };
3415
3462
  export type ErrorHandler = 'custom' | 'slack' | 'teams' | 'email' | 'instance_alerts';
3416
3463
  export type NewSchedule = {
@@ -4871,10 +4918,33 @@ export type CustomInstanceDbLogs = {
4871
4918
  user_connect?: LoggedWizardStatus;
4872
4919
  };
4873
4920
  export type CustomInstanceDbTag = 'ducklake' | 'datatable';
4921
+ export type ExternalInstancePgSetupStep = {
4922
+ name: string;
4923
+ status: 'ok' | 'warning' | 'error';
4924
+ message: string;
4925
+ };
4926
+ export type ExternalInstancePgSetupReport = {
4927
+ /**
4928
+ * no step failed; warnings leave it true
4929
+ */
4930
+ success: boolean;
4931
+ finished_at: string;
4932
+ steps: Array<ExternalInstancePgSetupStep>;
4933
+ };
4934
+ export type ExternalInstancePgStatus = {
4935
+ configured: boolean;
4936
+ database_count: number;
4937
+ last_setup?: ExternalInstancePgSetupReport;
4938
+ };
4939
+ /**
4940
+ * The Windmill-managed Postgres cluster a data table role is a login on: Windmill's own (behind `instance` data tables) or the external instance cluster (behind `external_instance` ones). Defaults to `instance`.
4941
+ */
4942
+ export type DatatableRoleCluster = 'instance' | 'external_instance';
4874
4943
  export type InstanceDatatableRole = {
4875
4944
  id: string;
4876
4945
  name: string;
4877
4946
  enabled: boolean;
4947
+ cluster: DatatableRoleCluster;
4878
4948
  };
4879
4949
  export type DatatableRoleTenants = {
4880
4950
  id: string;
@@ -4883,9 +4953,10 @@ export type DatatableRoleTenants = {
4883
4953
  };
4884
4954
  export type DatatablePermissions = {
4885
4955
  /**
4886
- * Whether this data table can be put under roles at all. Only one backed by the instance database can: a role is a login on that cluster.
4956
+ * Whether this data table can be put under roles at all. Only one on a database Windmill manages can: a role is a login on that database's cluster.
4887
4957
  */
4888
4958
  supported: boolean;
4959
+ cluster?: DatatableRoleCluster;
4889
4960
  permissioned: boolean;
4890
4961
  default_role: string;
4891
4962
  roles: Array<DatatableRoleTenants>;
@@ -5044,9 +5115,13 @@ export type CustomInstanceDb = {
5044
5115
  error?: string | null;
5045
5116
  tag?: CustomInstanceDbTag;
5046
5117
  /**
5047
- * Workspaces that reference this database via a ducklake catalog or datatable database with resource_type 'instance'. Computed at request time, not persisted.
5118
+ * Workspaces that reference this database through a ducklake catalog or a datatable database of the kind being listed — 'instance' for the instance databases endpoint, 'external_instance' for the external cluster one. Computed at request time, not persisted, and only returned to superadmins.
5048
5119
  */
5049
5120
  used_by_workspaces?: Array<(string)>;
5121
+ /**
5122
+ * The workspace a member created this database for as a fork copy. Only that workspace can import into it or point a fork at it.
5123
+ */
5124
+ workspace_id?: string;
5050
5125
  };
5051
5126
  export type NewSqsTrigger = {
5052
5127
  /**
@@ -6086,6 +6161,10 @@ export type ListableApp = {
6086
6161
  *
6087
6162
  */
6088
6163
  is_draft?: boolean;
6164
+ /**
6165
+ * No deployed counterpart exists at this path — the draft is the whole item.
6166
+ */
6167
+ draft_only?: boolean;
6089
6168
  /**
6090
6169
  * User-typed path the editor has staged but not yet deployed.
6091
6170
  * Sourced from the draft JSON's `draft_path` field (the editor
@@ -6278,7 +6357,7 @@ export type DucklakeSettings = {
6278
6357
  ducklakes: {
6279
6358
  [key: string]: {
6280
6359
  catalog: {
6281
- resource_type: 'postgresql' | 'mysql' | 'instance';
6360
+ resource_type: 'postgresql' | 'mysql' | 'instance' | 'external_instance';
6282
6361
  resource_path?: string;
6283
6362
  };
6284
6363
  storage: {
@@ -6322,7 +6401,7 @@ export type DataTableSettings = {
6322
6401
  * Set on an entry that owns its database. Absent on a fork's entry, which points at another workspace's data table instead.
6323
6402
  */
6324
6403
  database?: {
6325
- resource_type: 'postgresql' | 'instance';
6404
+ resource_type: 'postgresql' | 'instance' | 'external_instance';
6326
6405
  resource_path?: string;
6327
6406
  };
6328
6407
  /**
@@ -6805,6 +6884,10 @@ export type OperatorSettings = {
6805
6884
  * Whether operators can view workers page
6806
6885
  */
6807
6886
  workers: boolean;
6887
+ /**
6888
+ * Whether operators can compose flows out of existing runnables (consumes a full seat). Omitting the field leaves the stored value unchanged.
6889
+ */
6890
+ builder_flows?: boolean;
6808
6891
  /**
6809
6892
  * Whether operators can create, edit and delete schedules. Granted unless withdrawn; omitting the field leaves the stored value unchanged.
6810
6893
  */
@@ -8579,6 +8662,12 @@ export type CreateWorkspaceForkGitBranchData = {
8579
8662
  };
8580
8663
  export type CreateWorkspaceForkGitBranchResponse = Array<(string)>;
8581
8664
  export type CreateWorkspaceForkData = {
8665
+ /**
8666
+ * return once the request is validated and create the fork in the background, answering
8667
+ * with the creation id getForkCreationStatus reads
8668
+ *
8669
+ */
8670
+ background?: boolean;
8582
8671
  /**
8583
8672
  * new forked workspace
8584
8673
  */
@@ -8586,6 +8675,18 @@ export type CreateWorkspaceForkData = {
8586
8675
  workspace: string;
8587
8676
  };
8588
8677
  export type CreateWorkspaceForkResponse = string;
8678
+ export type GetForkCreationStatusData = {
8679
+ creationId: string;
8680
+ workspace: string;
8681
+ };
8682
+ export type GetForkCreationStatusResponse = {
8683
+ status: 'running' | 'completed' | 'failed';
8684
+ /**
8685
+ * the part of the copy a running fork is in
8686
+ */
8687
+ step?: string;
8688
+ error?: string;
8689
+ };
8589
8690
  export type AttachDevWorkspaceData = {
8590
8691
  requestBody: {
8591
8692
  dev_workspace_id: string;
@@ -9231,7 +9332,7 @@ export type ListDataTablesData = {
9231
9332
  };
9232
9333
  export type ListDataTablesResponse = Array<{
9233
9334
  name: string;
9234
- resource_type: 'postgres' | 'instance';
9335
+ resource_type: 'postgres' | 'instance' | 'external_instance';
9235
9336
  resource_path: string;
9236
9337
  governing_workspace_id?: string;
9237
9338
  permissioned: boolean;
@@ -9928,13 +10029,38 @@ export type UpdateSharedUiResponse = string;
9928
10029
  export type RefreshCustomInstanceUserPwdResponse = {
9929
10030
  [key: string]: unknown;
9930
10031
  };
10032
+ export type GetExternalInstancePgStatusResponse = ExternalInstancePgStatus;
10033
+ export type SetupExternalInstancePgData = {
10034
+ requestBody: {
10035
+ rotate_passwords?: boolean;
10036
+ };
10037
+ };
10038
+ export type SetupExternalInstancePgResponse = ExternalInstancePgSetupReport;
10039
+ export type ListExternalInstancePgDatabasesResponse = {
10040
+ [key: string]: CustomInstanceDb;
10041
+ };
10042
+ export type CreateExternalInstancePgDatabaseData = {
10043
+ name: string;
10044
+ requestBody: {
10045
+ tag?: CustomInstanceDbTag;
10046
+ };
10047
+ };
10048
+ export type CreateExternalInstancePgDatabaseResponse = unknown;
10049
+ export type DropExternalInstancePgDatabaseData = {
10050
+ name: string;
10051
+ };
10052
+ export type DropExternalInstancePgDatabaseResponse = unknown;
9931
10053
  export type ListCustomInstanceDbsResponse = {
9932
10054
  [key: string]: CustomInstanceDb;
9933
10055
  };
10056
+ export type ListInstanceDatatableRolesData = {
10057
+ cluster?: DatatableRoleCluster;
10058
+ };
9934
10059
  export type ListInstanceDatatableRolesResponse = Array<InstanceDatatableRole>;
9935
10060
  export type CreateInstanceDatatableRoleData = {
9936
10061
  requestBody: {
9937
10062
  name: string;
10063
+ cluster?: DatatableRoleCluster;
9938
10064
  };
9939
10065
  };
9940
10066
  export type CreateInstanceDatatableRoleResponse = InstanceDatatableRole;
@@ -11122,6 +11248,10 @@ export type ListHubIntegrationsData = {
11122
11248
  };
11123
11249
  export type ListHubIntegrationsResponse = Array<{
11124
11250
  name: string;
11251
+ /**
11252
+ * whether the integration carries provider knowledge checked against the live API, on top of the resource type and example scripts /integrations/hub/{app}/meta returns for any integration. Absent on a hub predating the flag.
11253
+ */
11254
+ documented?: boolean;
11125
11255
  /**
11126
11256
  * how often the integration has been picked, absent on a hub that does not count picks
11127
11257
  */
@@ -11131,6 +11261,72 @@ export type ListHubIntegrationsResponse = Array<{
11131
11261
  */
11132
11262
  display_name?: string | null;
11133
11263
  }>;
11264
+ export type GetHubIntegrationMetaData = {
11265
+ /**
11266
+ * integration slug
11267
+ */
11268
+ app: string;
11269
+ };
11270
+ export type GetHubIntegrationMetaResponse = {
11271
+ app: string;
11272
+ display_name: string;
11273
+ description?: string | null;
11274
+ docs_url?: string | null;
11275
+ /**
11276
+ * whether the script set was pruned to idiomatic actions rather than generated one per endpoint; null when nobody has assessed it, which is distinct from a stated false
11277
+ */
11278
+ curated?: boolean | null;
11279
+ /**
11280
+ * whether the provider knowledge was authored (curated) or inferred from the shipped scripts (derived)
11281
+ */
11282
+ metadata_source?: 'curated' | 'derived';
11283
+ /**
11284
+ * the integration's authored meta.json verbatim; the content repo owns its schema, so it is passed through unvalidated
11285
+ */
11286
+ meta?: {
11287
+ [key: string]: unknown;
11288
+ } | null;
11289
+ meta_updated_at?: string | null;
11290
+ /**
11291
+ * facts computed from the integration's shipped scripts
11292
+ */
11293
+ derived?: {
11294
+ api_hosts: Array<{
11295
+ host: string;
11296
+ count: number;
11297
+ }>;
11298
+ style: 'fetch' | 'sdk' | 'mixed' | 'unknown';
11299
+ languages: {
11300
+ [key: string]: (number);
11301
+ };
11302
+ script_counts: {
11303
+ total: number;
11304
+ by_kind: {
11305
+ [key: string]: (number);
11306
+ };
11307
+ };
11308
+ top_scripts: Array<{
11309
+ path: string;
11310
+ ask_id?: number;
11311
+ version_id?: number;
11312
+ summary: string;
11313
+ description?: string | null;
11314
+ kind: string;
11315
+ language?: string | null;
11316
+ views?: number;
11317
+ votes?: number;
11318
+ }>;
11319
+ };
11320
+ resource_types?: Array<{
11321
+ id?: number;
11322
+ name: string;
11323
+ description?: string | null;
11324
+ /**
11325
+ * the resource type's JSON schema; the hub stores it as text and returns it as a JSON string, so a client must be ready for either that or an object
11326
+ */
11327
+ schema: unknown;
11328
+ }>;
11329
+ };
11134
11330
  export type ListHubFlowsResponse = {
11135
11331
  flows?: Array<{
11136
11332
  id: number;
@@ -12086,6 +12282,7 @@ export type GetTopHubScriptsResponse = {
12086
12282
  id: number;
12087
12283
  ask_id: number;
12088
12284
  summary: string;
12285
+ description?: string | null;
12089
12286
  app: string;
12090
12287
  version_id: number;
12091
12288
  kind: HubScriptKind;
@@ -12116,6 +12313,7 @@ export type QueryHubScriptsResponse = Array<{
12116
12313
  id: number;
12117
12314
  version_id: number;
12118
12315
  summary: string;
12316
+ description?: string;
12119
12317
  app: string;
12120
12318
  kind: HubScriptKind;
12121
12319
  score: number;
@@ -13814,6 +14012,22 @@ export type RunFlowPreviewData = {
13814
14012
  workspace: string;
13815
14013
  };
13816
14014
  export type RunFlowPreviewResponse = string;
14015
+ export type RunAgentData = {
14016
+ /**
14017
+ * The conversation this turn belongs to. A uuid is used as is; any other string is hashed within the workspace and agent.
14018
+ */
14019
+ memoryId?: string;
14020
+ path: string;
14021
+ /**
14022
+ * the run's inputs
14023
+ */
14024
+ requestBody: {
14025
+ user_message?: string;
14026
+ user_attachments?: Array<unknown>;
14027
+ };
14028
+ workspace: string;
14029
+ };
14030
+ export type RunAgentResponse = string;
13817
14031
  export type RunFlowPreviewAndWaitResultData = {
13818
14032
  /**
13819
14033
  * Memory id for the flow's AI agent steps. A uuid is used as is; any other string is hashed within the workspace and flow, so the same string always names the same memory of that flow.
@@ -20726,6 +20940,12 @@ export type $OpenApiTs = {
20726
20940
  '/w/{workspace}/workspaces/create_fork': {
20727
20941
  post: {
20728
20942
  req: {
20943
+ /**
20944
+ * return once the request is validated and create the fork in the background, answering
20945
+ * with the creation id getForkCreationStatus reads
20946
+ *
20947
+ */
20948
+ background?: boolean;
20729
20949
  /**
20730
20950
  * new forked workspace
20731
20951
  */
@@ -20734,12 +20954,33 @@ export type $OpenApiTs = {
20734
20954
  };
20735
20955
  res: {
20736
20956
  /**
20737
- * forked workspace created
20957
+ * forked workspace created, or with background set, the id of its creation
20738
20958
  */
20739
20959
  201: string;
20740
20960
  };
20741
20961
  };
20742
20962
  };
20963
+ '/w/{workspace}/workspaces/fork_creation_status/{creation_id}': {
20964
+ get: {
20965
+ req: {
20966
+ creationId: string;
20967
+ workspace: string;
20968
+ };
20969
+ res: {
20970
+ /**
20971
+ * fork creation status
20972
+ */
20973
+ 200: {
20974
+ status: 'running' | 'completed' | 'failed';
20975
+ /**
20976
+ * the part of the copy a running fork is in
20977
+ */
20978
+ step?: string;
20979
+ error?: string;
20980
+ };
20981
+ };
20982
+ };
20983
+ };
20743
20984
  '/w/{workspace}/workspaces/attach_dev_workspace': {
20744
20985
  post: {
20745
20986
  req: {
@@ -21950,7 +22191,7 @@ export type $OpenApiTs = {
21950
22191
  */
21951
22192
  200: Array<{
21952
22193
  name: string;
21953
- resource_type: 'postgres' | 'instance';
22194
+ resource_type: 'postgres' | 'instance' | 'external_instance';
21954
22195
  resource_path: string;
21955
22196
  governing_workspace_id?: string;
21956
22197
  permissioned: boolean;
@@ -23276,6 +23517,70 @@ export type $OpenApiTs = {
23276
23517
  };
23277
23518
  };
23278
23519
  };
23520
+ '/settings/external_instance_pg/status': {
23521
+ get: {
23522
+ res: {
23523
+ /**
23524
+ * external instance cluster status
23525
+ */
23526
+ 200: ExternalInstancePgStatus;
23527
+ };
23528
+ };
23529
+ };
23530
+ '/settings/external_instance_pg/setup': {
23531
+ post: {
23532
+ req: {
23533
+ requestBody: {
23534
+ rotate_passwords?: boolean;
23535
+ };
23536
+ };
23537
+ res: {
23538
+ /**
23539
+ * the setup report, also stored as the last setup
23540
+ */
23541
+ 200: ExternalInstancePgSetupReport;
23542
+ };
23543
+ };
23544
+ };
23545
+ '/settings/external_instance_pg/databases': {
23546
+ get: {
23547
+ res: {
23548
+ /**
23549
+ * databases by name
23550
+ */
23551
+ 200: {
23552
+ [key: string]: CustomInstanceDb;
23553
+ };
23554
+ };
23555
+ };
23556
+ };
23557
+ '/settings/external_instance_pg/databases/{name}': {
23558
+ post: {
23559
+ req: {
23560
+ name: string;
23561
+ requestBody: {
23562
+ tag?: CustomInstanceDbTag;
23563
+ };
23564
+ };
23565
+ res: {
23566
+ /**
23567
+ * database created
23568
+ */
23569
+ 200: unknown;
23570
+ };
23571
+ };
23572
+ delete: {
23573
+ req: {
23574
+ name: string;
23575
+ };
23576
+ res: {
23577
+ /**
23578
+ * database dropped
23579
+ */
23580
+ 200: unknown;
23581
+ };
23582
+ };
23583
+ };
23279
23584
  '/settings/list_custom_instance_pg_databases': {
23280
23585
  post: {
23281
23586
  res: {
@@ -23290,9 +23595,12 @@ export type $OpenApiTs = {
23290
23595
  };
23291
23596
  '/settings/datatable_roles': {
23292
23597
  get: {
23598
+ req: {
23599
+ cluster?: DatatableRoleCluster;
23600
+ };
23293
23601
  res: {
23294
23602
  /**
23295
- * the instance role catalog
23603
+ * the cluster's role catalog
23296
23604
  */
23297
23605
  200: Array<InstanceDatatableRole>;
23298
23606
  };
@@ -23301,6 +23609,7 @@ export type $OpenApiTs = {
23301
23609
  req: {
23302
23610
  requestBody: {
23303
23611
  name: string;
23612
+ cluster?: DatatableRoleCluster;
23304
23613
  };
23305
23614
  };
23306
23615
  res: {
@@ -25573,6 +25882,10 @@ export type $OpenApiTs = {
25573
25882
  */
25574
25883
  200: Array<{
25575
25884
  name: string;
25885
+ /**
25886
+ * whether the integration carries provider knowledge checked against the live API, on top of the resource type and example scripts /integrations/hub/{app}/meta returns for any integration. Absent on a hub predating the flag.
25887
+ */
25888
+ documented?: boolean;
25576
25889
  /**
25577
25890
  * how often the integration has been picked, absent on a hub that does not count picks
25578
25891
  */
@@ -25585,6 +25898,81 @@ export type $OpenApiTs = {
25585
25898
  };
25586
25899
  };
25587
25900
  };
25901
+ '/integrations/hub/{app}/meta': {
25902
+ get: {
25903
+ req: {
25904
+ /**
25905
+ * integration slug
25906
+ */
25907
+ app: string;
25908
+ };
25909
+ res: {
25910
+ /**
25911
+ * integration metadata
25912
+ */
25913
+ 200: {
25914
+ app: string;
25915
+ display_name: string;
25916
+ description?: string | null;
25917
+ docs_url?: string | null;
25918
+ /**
25919
+ * whether the script set was pruned to idiomatic actions rather than generated one per endpoint; null when nobody has assessed it, which is distinct from a stated false
25920
+ */
25921
+ curated?: boolean | null;
25922
+ /**
25923
+ * whether the provider knowledge was authored (curated) or inferred from the shipped scripts (derived)
25924
+ */
25925
+ metadata_source?: 'curated' | 'derived';
25926
+ /**
25927
+ * the integration's authored meta.json verbatim; the content repo owns its schema, so it is passed through unvalidated
25928
+ */
25929
+ meta?: {
25930
+ [key: string]: unknown;
25931
+ } | null;
25932
+ meta_updated_at?: string | null;
25933
+ /**
25934
+ * facts computed from the integration's shipped scripts
25935
+ */
25936
+ derived?: {
25937
+ api_hosts: Array<{
25938
+ host: string;
25939
+ count: number;
25940
+ }>;
25941
+ style: 'fetch' | 'sdk' | 'mixed' | 'unknown';
25942
+ languages: {
25943
+ [key: string]: (number);
25944
+ };
25945
+ script_counts: {
25946
+ total: number;
25947
+ by_kind: {
25948
+ [key: string]: (number);
25949
+ };
25950
+ };
25951
+ top_scripts: Array<{
25952
+ path: string;
25953
+ ask_id?: number;
25954
+ version_id?: number;
25955
+ summary: string;
25956
+ description?: string | null;
25957
+ kind: string;
25958
+ language?: string | null;
25959
+ views?: number;
25960
+ votes?: number;
25961
+ }>;
25962
+ };
25963
+ resource_types?: Array<{
25964
+ id?: number;
25965
+ name: string;
25966
+ description?: string | null;
25967
+ /**
25968
+ * the resource type's JSON schema; the hub stores it as text and returns it as a JSON string, so a client must be ready for either that or an object
25969
+ */
25970
+ schema: unknown;
25971
+ }>;
25972
+ };
25973
+ };
25974
+ };
25975
+ };
25588
25976
  '/flows/hub/list': {
25589
25977
  get: {
25590
25978
  res: {
@@ -27149,6 +27537,7 @@ export type $OpenApiTs = {
27149
27537
  id: number;
27150
27538
  ask_id: number;
27151
27539
  summary: string;
27540
+ description?: string | null;
27152
27541
  app: string;
27153
27542
  version_id: number;
27154
27543
  kind: HubScriptKind;
@@ -27188,6 +27577,7 @@ export type $OpenApiTs = {
27188
27577
  id: number;
27189
27578
  version_id: number;
27190
27579
  summary: string;
27580
+ description?: string;
27191
27581
  app: string;
27192
27582
  kind: HubScriptKind;
27193
27583
  score: number;
@@ -28642,6 +29032,10 @@ export type $OpenApiTs = {
28642
29032
  * job result
28643
29033
  */
28644
29034
  200: unknown;
29035
+ /**
29036
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29037
+ */
29038
+ 409: unknown;
28645
29039
  };
28646
29040
  };
28647
29041
  };
@@ -28686,6 +29080,10 @@ export type $OpenApiTs = {
28686
29080
  * job result
28687
29081
  */
28688
29082
  200: unknown;
29083
+ /**
29084
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29085
+ */
29086
+ 409: unknown;
28689
29087
  };
28690
29088
  };
28691
29089
  get: {
@@ -28730,6 +29128,10 @@ export type $OpenApiTs = {
28730
29128
  * job result
28731
29129
  */
28732
29130
  200: unknown;
29131
+ /**
29132
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29133
+ */
29134
+ 409: unknown;
28733
29135
  };
28734
29136
  };
28735
29137
  };
@@ -28775,6 +29177,10 @@ export type $OpenApiTs = {
28775
29177
  * server-sent events stream of job updates
28776
29178
  */
28777
29179
  200: string;
29180
+ /**
29181
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29182
+ */
29183
+ 409: unknown;
28778
29184
  };
28779
29185
  };
28780
29186
  get: {
@@ -28820,6 +29226,10 @@ export type $OpenApiTs = {
28820
29226
  * server-sent events stream of job updates
28821
29227
  */
28822
29228
  200: string;
29229
+ /**
29230
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29231
+ */
29232
+ 409: unknown;
28823
29233
  };
28824
29234
  };
28825
29235
  };
@@ -28868,6 +29278,10 @@ export type $OpenApiTs = {
28868
29278
  * server-sent events stream of job updates
28869
29279
  */
28870
29280
  200: string;
29281
+ /**
29282
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29283
+ */
29284
+ 409: unknown;
28871
29285
  };
28872
29286
  };
28873
29287
  get: {
@@ -28916,6 +29330,10 @@ export type $OpenApiTs = {
28916
29330
  * server-sent events stream of job updates
28917
29331
  */
28918
29332
  200: string;
29333
+ /**
29334
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29335
+ */
29336
+ 409: unknown;
28919
29337
  };
28920
29338
  };
28921
29339
  };
@@ -29227,6 +29645,10 @@ export type $OpenApiTs = {
29227
29645
  * job created
29228
29646
  */
29229
29647
  201: string;
29648
+ /**
29649
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29650
+ */
29651
+ 409: unknown;
29230
29652
  };
29231
29653
  };
29232
29654
  };
@@ -29286,6 +29708,10 @@ export type $OpenApiTs = {
29286
29708
  * job created
29287
29709
  */
29288
29710
  201: string;
29711
+ /**
29712
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
29713
+ */
29714
+ 409: unknown;
29289
29715
  };
29290
29716
  };
29291
29717
  };
@@ -29669,6 +30095,35 @@ export type $OpenApiTs = {
29669
30095
  requestBody: FlowPreview;
29670
30096
  workspace: string;
29671
30097
  };
30098
+ res: {
30099
+ /**
30100
+ * job created
30101
+ */
30102
+ 201: string;
30103
+ /**
30104
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
30105
+ */
30106
+ 409: unknown;
30107
+ };
30108
+ };
30109
+ };
30110
+ '/w/{workspace}/jobs/run/agent/{path}': {
30111
+ post: {
30112
+ req: {
30113
+ /**
30114
+ * The conversation this turn belongs to. A uuid is used as is; any other string is hashed within the workspace and agent.
30115
+ */
30116
+ memoryId?: string;
30117
+ path: string;
30118
+ /**
30119
+ * the run's inputs
30120
+ */
30121
+ requestBody: {
30122
+ user_message?: string;
30123
+ user_attachments?: Array<unknown>;
30124
+ };
30125
+ workspace: string;
30126
+ };
29672
30127
  res: {
29673
30128
  /**
29674
30129
  * job created
@@ -29695,6 +30150,10 @@ export type $OpenApiTs = {
29695
30150
  * job result
29696
30151
  */
29697
30152
  200: unknown;
30153
+ /**
30154
+ * Chat-enabled flow only: the conversation named by `memory_id` is still answering a message. The body is JSON: `{ "error": string, "running_turn": { "job_id", "user_seq" } }`.
30155
+ */
30156
+ 409: unknown;
29698
30157
  };
29699
30158
  };
29700
30159
  };