windmill-client 1.818.0 → 1.820.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
  /**
@@ -2164,6 +2185,9 @@ export type WorkspaceDependencies = {
2164
2185
  created_at: string;
2165
2186
  };
2166
2187
  export type NewWorkspaceDependencies = {
2188
+ /**
2189
+ * must equal the workspace in the request path
2190
+ */
2167
2191
  workspace_id: string;
2168
2192
  language: ScriptLang;
2169
2193
  name?: string;
@@ -3408,6 +3432,18 @@ export type ScheduleWJobs = Schedule & {
3408
3432
  success: boolean;
3409
3433
  duration_ms: number;
3410
3434
  }>;
3435
+ /**
3436
+ * runs in a row, up to the latest, that started or finished after the next occurrence was due, so that occurrence was missed
3437
+ */
3438
+ late_run_streak?: number;
3439
+ /**
3440
+ * occurrences missed by the latest streak of late runs, kept after it ends; a lower bound once a single late run misses 1000
3441
+ */
3442
+ missed_occurrences?: number;
3443
+ /**
3444
+ * 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
3445
+ */
3446
+ last_missed_at?: string;
3411
3447
  };
3412
3448
  export type ErrorHandler = 'custom' | 'slack' | 'teams' | 'email' | 'instance_alerts';
3413
3449
  export type NewSchedule = {
@@ -4868,10 +4904,33 @@ export type CustomInstanceDbLogs = {
4868
4904
  user_connect?: LoggedWizardStatus;
4869
4905
  };
4870
4906
  export type CustomInstanceDbTag = 'ducklake' | 'datatable';
4907
+ export type ExternalInstancePgSetupStep = {
4908
+ name: string;
4909
+ status: 'ok' | 'warning' | 'error';
4910
+ message: string;
4911
+ };
4912
+ export type ExternalInstancePgSetupReport = {
4913
+ /**
4914
+ * no step failed; warnings leave it true
4915
+ */
4916
+ success: boolean;
4917
+ finished_at: string;
4918
+ steps: Array<ExternalInstancePgSetupStep>;
4919
+ };
4920
+ export type ExternalInstancePgStatus = {
4921
+ configured: boolean;
4922
+ database_count: number;
4923
+ last_setup?: ExternalInstancePgSetupReport;
4924
+ };
4925
+ /**
4926
+ * 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`.
4927
+ */
4928
+ export type DatatableRoleCluster = 'instance' | 'external_instance';
4871
4929
  export type InstanceDatatableRole = {
4872
4930
  id: string;
4873
4931
  name: string;
4874
4932
  enabled: boolean;
4933
+ cluster: DatatableRoleCluster;
4875
4934
  };
4876
4935
  export type DatatableRoleTenants = {
4877
4936
  id: string;
@@ -4880,9 +4939,10 @@ export type DatatableRoleTenants = {
4880
4939
  };
4881
4940
  export type DatatablePermissions = {
4882
4941
  /**
4883
- * 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.
4942
+ * 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.
4884
4943
  */
4885
4944
  supported: boolean;
4945
+ cluster?: DatatableRoleCluster;
4886
4946
  permissioned: boolean;
4887
4947
  default_role: string;
4888
4948
  roles: Array<DatatableRoleTenants>;
@@ -5041,9 +5101,13 @@ export type CustomInstanceDb = {
5041
5101
  error?: string | null;
5042
5102
  tag?: CustomInstanceDbTag;
5043
5103
  /**
5044
- * Workspaces that reference this database via a ducklake catalog or datatable database with resource_type 'instance'. Computed at request time, not persisted.
5104
+ * 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.
5045
5105
  */
5046
5106
  used_by_workspaces?: Array<(string)>;
5107
+ /**
5108
+ * 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.
5109
+ */
5110
+ workspace_id?: string;
5047
5111
  };
5048
5112
  export type NewSqsTrigger = {
5049
5113
  /**
@@ -6275,7 +6339,7 @@ export type DucklakeSettings = {
6275
6339
  ducklakes: {
6276
6340
  [key: string]: {
6277
6341
  catalog: {
6278
- resource_type: 'postgresql' | 'mysql' | 'instance';
6342
+ resource_type: 'postgresql' | 'mysql' | 'instance' | 'external_instance';
6279
6343
  resource_path?: string;
6280
6344
  };
6281
6345
  storage: {
@@ -6319,7 +6383,7 @@ export type DataTableSettings = {
6319
6383
  * Set on an entry that owns its database. Absent on a fork's entry, which points at another workspace's data table instead.
6320
6384
  */
6321
6385
  database?: {
6322
- resource_type: 'postgresql' | 'instance';
6386
+ resource_type: 'postgresql' | 'instance' | 'external_instance';
6323
6387
  resource_path?: string;
6324
6388
  };
6325
6389
  /**
@@ -8576,6 +8640,12 @@ export type CreateWorkspaceForkGitBranchData = {
8576
8640
  };
8577
8641
  export type CreateWorkspaceForkGitBranchResponse = Array<(string)>;
8578
8642
  export type CreateWorkspaceForkData = {
8643
+ /**
8644
+ * return once the request is validated and create the fork in the background, answering
8645
+ * with the creation id getForkCreationStatus reads
8646
+ *
8647
+ */
8648
+ background?: boolean;
8579
8649
  /**
8580
8650
  * new forked workspace
8581
8651
  */
@@ -8583,6 +8653,18 @@ export type CreateWorkspaceForkData = {
8583
8653
  workspace: string;
8584
8654
  };
8585
8655
  export type CreateWorkspaceForkResponse = string;
8656
+ export type GetForkCreationStatusData = {
8657
+ creationId: string;
8658
+ workspace: string;
8659
+ };
8660
+ export type GetForkCreationStatusResponse = {
8661
+ status: 'running' | 'completed' | 'failed';
8662
+ /**
8663
+ * the part of the copy a running fork is in
8664
+ */
8665
+ step?: string;
8666
+ error?: string;
8667
+ };
8586
8668
  export type AttachDevWorkspaceData = {
8587
8669
  requestBody: {
8588
8670
  dev_workspace_id: string;
@@ -9228,7 +9310,7 @@ export type ListDataTablesData = {
9228
9310
  };
9229
9311
  export type ListDataTablesResponse = Array<{
9230
9312
  name: string;
9231
- resource_type: 'postgres' | 'instance';
9313
+ resource_type: 'postgres' | 'instance' | 'external_instance';
9232
9314
  resource_path: string;
9233
9315
  governing_workspace_id?: string;
9234
9316
  permissioned: boolean;
@@ -9925,13 +10007,38 @@ export type UpdateSharedUiResponse = string;
9925
10007
  export type RefreshCustomInstanceUserPwdResponse = {
9926
10008
  [key: string]: unknown;
9927
10009
  };
10010
+ export type GetExternalInstancePgStatusResponse = ExternalInstancePgStatus;
10011
+ export type SetupExternalInstancePgData = {
10012
+ requestBody: {
10013
+ rotate_passwords?: boolean;
10014
+ };
10015
+ };
10016
+ export type SetupExternalInstancePgResponse = ExternalInstancePgSetupReport;
10017
+ export type ListExternalInstancePgDatabasesResponse = {
10018
+ [key: string]: CustomInstanceDb;
10019
+ };
10020
+ export type CreateExternalInstancePgDatabaseData = {
10021
+ name: string;
10022
+ requestBody: {
10023
+ tag?: CustomInstanceDbTag;
10024
+ };
10025
+ };
10026
+ export type CreateExternalInstancePgDatabaseResponse = unknown;
10027
+ export type DropExternalInstancePgDatabaseData = {
10028
+ name: string;
10029
+ };
10030
+ export type DropExternalInstancePgDatabaseResponse = unknown;
9928
10031
  export type ListCustomInstanceDbsResponse = {
9929
10032
  [key: string]: CustomInstanceDb;
9930
10033
  };
10034
+ export type ListInstanceDatatableRolesData = {
10035
+ cluster?: DatatableRoleCluster;
10036
+ };
9931
10037
  export type ListInstanceDatatableRolesResponse = Array<InstanceDatatableRole>;
9932
10038
  export type CreateInstanceDatatableRoleData = {
9933
10039
  requestBody: {
9934
10040
  name: string;
10041
+ cluster?: DatatableRoleCluster;
9935
10042
  };
9936
10043
  };
9937
10044
  export type CreateInstanceDatatableRoleResponse = InstanceDatatableRole;
@@ -20723,6 +20830,12 @@ export type $OpenApiTs = {
20723
20830
  '/w/{workspace}/workspaces/create_fork': {
20724
20831
  post: {
20725
20832
  req: {
20833
+ /**
20834
+ * return once the request is validated and create the fork in the background, answering
20835
+ * with the creation id getForkCreationStatus reads
20836
+ *
20837
+ */
20838
+ background?: boolean;
20726
20839
  /**
20727
20840
  * new forked workspace
20728
20841
  */
@@ -20731,12 +20844,33 @@ export type $OpenApiTs = {
20731
20844
  };
20732
20845
  res: {
20733
20846
  /**
20734
- * forked workspace created
20847
+ * forked workspace created, or with background set, the id of its creation
20735
20848
  */
20736
20849
  201: string;
20737
20850
  };
20738
20851
  };
20739
20852
  };
20853
+ '/w/{workspace}/workspaces/fork_creation_status/{creation_id}': {
20854
+ get: {
20855
+ req: {
20856
+ creationId: string;
20857
+ workspace: string;
20858
+ };
20859
+ res: {
20860
+ /**
20861
+ * fork creation status
20862
+ */
20863
+ 200: {
20864
+ status: 'running' | 'completed' | 'failed';
20865
+ /**
20866
+ * the part of the copy a running fork is in
20867
+ */
20868
+ step?: string;
20869
+ error?: string;
20870
+ };
20871
+ };
20872
+ };
20873
+ };
20740
20874
  '/w/{workspace}/workspaces/attach_dev_workspace': {
20741
20875
  post: {
20742
20876
  req: {
@@ -21947,7 +22081,7 @@ export type $OpenApiTs = {
21947
22081
  */
21948
22082
  200: Array<{
21949
22083
  name: string;
21950
- resource_type: 'postgres' | 'instance';
22084
+ resource_type: 'postgres' | 'instance' | 'external_instance';
21951
22085
  resource_path: string;
21952
22086
  governing_workspace_id?: string;
21953
22087
  permissioned: boolean;
@@ -23273,6 +23407,70 @@ export type $OpenApiTs = {
23273
23407
  };
23274
23408
  };
23275
23409
  };
23410
+ '/settings/external_instance_pg/status': {
23411
+ get: {
23412
+ res: {
23413
+ /**
23414
+ * external instance cluster status
23415
+ */
23416
+ 200: ExternalInstancePgStatus;
23417
+ };
23418
+ };
23419
+ };
23420
+ '/settings/external_instance_pg/setup': {
23421
+ post: {
23422
+ req: {
23423
+ requestBody: {
23424
+ rotate_passwords?: boolean;
23425
+ };
23426
+ };
23427
+ res: {
23428
+ /**
23429
+ * the setup report, also stored as the last setup
23430
+ */
23431
+ 200: ExternalInstancePgSetupReport;
23432
+ };
23433
+ };
23434
+ };
23435
+ '/settings/external_instance_pg/databases': {
23436
+ get: {
23437
+ res: {
23438
+ /**
23439
+ * databases by name
23440
+ */
23441
+ 200: {
23442
+ [key: string]: CustomInstanceDb;
23443
+ };
23444
+ };
23445
+ };
23446
+ };
23447
+ '/settings/external_instance_pg/databases/{name}': {
23448
+ post: {
23449
+ req: {
23450
+ name: string;
23451
+ requestBody: {
23452
+ tag?: CustomInstanceDbTag;
23453
+ };
23454
+ };
23455
+ res: {
23456
+ /**
23457
+ * database created
23458
+ */
23459
+ 200: unknown;
23460
+ };
23461
+ };
23462
+ delete: {
23463
+ req: {
23464
+ name: string;
23465
+ };
23466
+ res: {
23467
+ /**
23468
+ * database dropped
23469
+ */
23470
+ 200: unknown;
23471
+ };
23472
+ };
23473
+ };
23276
23474
  '/settings/list_custom_instance_pg_databases': {
23277
23475
  post: {
23278
23476
  res: {
@@ -23287,9 +23485,12 @@ export type $OpenApiTs = {
23287
23485
  };
23288
23486
  '/settings/datatable_roles': {
23289
23487
  get: {
23488
+ req: {
23489
+ cluster?: DatatableRoleCluster;
23490
+ };
23290
23491
  res: {
23291
23492
  /**
23292
- * the instance role catalog
23493
+ * the cluster's role catalog
23293
23494
  */
23294
23495
  200: Array<InstanceDatatableRole>;
23295
23496
  };
@@ -23298,6 +23499,7 @@ export type $OpenApiTs = {
23298
23499
  req: {
23299
23500
  requestBody: {
23300
23501
  name: string;
23502
+ cluster?: DatatableRoleCluster;
23301
23503
  };
23302
23504
  };
23303
23505
  res: {
@@ -28358,6 +28560,10 @@ export type $OpenApiTs = {
28358
28560
  * workspace dependencies created
28359
28561
  */
28360
28562
  201: string;
28563
+ /**
28564
+ * the body's workspace_id does not match the workspace in the path
28565
+ */
28566
+ 400: unknown;
28361
28567
  };
28362
28568
  };
28363
28569
  };
@@ -28635,6 +28841,10 @@ export type $OpenApiTs = {
28635
28841
  * job result
28636
28842
  */
28637
28843
  200: unknown;
28844
+ /**
28845
+ * 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" } }`.
28846
+ */
28847
+ 409: unknown;
28638
28848
  };
28639
28849
  };
28640
28850
  };
@@ -28679,6 +28889,10 @@ export type $OpenApiTs = {
28679
28889
  * job result
28680
28890
  */
28681
28891
  200: unknown;
28892
+ /**
28893
+ * 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" } }`.
28894
+ */
28895
+ 409: unknown;
28682
28896
  };
28683
28897
  };
28684
28898
  get: {
@@ -28723,6 +28937,10 @@ export type $OpenApiTs = {
28723
28937
  * job result
28724
28938
  */
28725
28939
  200: unknown;
28940
+ /**
28941
+ * 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" } }`.
28942
+ */
28943
+ 409: unknown;
28726
28944
  };
28727
28945
  };
28728
28946
  };
@@ -28768,6 +28986,10 @@ export type $OpenApiTs = {
28768
28986
  * server-sent events stream of job updates
28769
28987
  */
28770
28988
  200: string;
28989
+ /**
28990
+ * 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" } }`.
28991
+ */
28992
+ 409: unknown;
28771
28993
  };
28772
28994
  };
28773
28995
  get: {
@@ -28813,6 +29035,10 @@ export type $OpenApiTs = {
28813
29035
  * server-sent events stream of job updates
28814
29036
  */
28815
29037
  200: string;
29038
+ /**
29039
+ * 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" } }`.
29040
+ */
29041
+ 409: unknown;
28816
29042
  };
28817
29043
  };
28818
29044
  };
@@ -28861,6 +29087,10 @@ export type $OpenApiTs = {
28861
29087
  * server-sent events stream of job updates
28862
29088
  */
28863
29089
  200: string;
29090
+ /**
29091
+ * 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" } }`.
29092
+ */
29093
+ 409: unknown;
28864
29094
  };
28865
29095
  };
28866
29096
  get: {
@@ -28909,6 +29139,10 @@ export type $OpenApiTs = {
28909
29139
  * server-sent events stream of job updates
28910
29140
  */
28911
29141
  200: string;
29142
+ /**
29143
+ * 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" } }`.
29144
+ */
29145
+ 409: unknown;
28912
29146
  };
28913
29147
  };
28914
29148
  };
@@ -29220,6 +29454,10 @@ export type $OpenApiTs = {
29220
29454
  * job created
29221
29455
  */
29222
29456
  201: string;
29457
+ /**
29458
+ * 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" } }`.
29459
+ */
29460
+ 409: unknown;
29223
29461
  };
29224
29462
  };
29225
29463
  };
@@ -29279,6 +29517,10 @@ export type $OpenApiTs = {
29279
29517
  * job created
29280
29518
  */
29281
29519
  201: string;
29520
+ /**
29521
+ * 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" } }`.
29522
+ */
29523
+ 409: unknown;
29282
29524
  };
29283
29525
  };
29284
29526
  };
@@ -29667,6 +29909,10 @@ export type $OpenApiTs = {
29667
29909
  * job created
29668
29910
  */
29669
29911
  201: string;
29912
+ /**
29913
+ * 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" } }`.
29914
+ */
29915
+ 409: unknown;
29670
29916
  };
29671
29917
  };
29672
29918
  };
@@ -29688,6 +29934,10 @@ export type $OpenApiTs = {
29688
29934
  * job result
29689
29935
  */
29690
29936
  200: unknown;
29937
+ /**
29938
+ * 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" } }`.
29939
+ */
29940
+ 409: unknown;
29691
29941
  };
29692
29942
  };
29693
29943
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "windmill-client",
3
3
  "description": "Windmill SDK client for browsers and Node.js",
4
- "version": "1.818.0",
4
+ "version": "1.820.0",
5
5
  "author": "Ruben Fiszel",
6
6
  "license": "Apache 2.0",
7
7
  "homepage": "https://github.com/windmill-labs/windmill/tree/main/typescript-client#readme",