windmill-client 1.728.1 → 1.730.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.
@@ -49,7 +49,7 @@ export type UserDraftOverlay = {
49
49
  * Postgres `DRAFT_KIND` enum and the backend `UserDraftItemKind`.
50
50
  *
51
51
  */
52
- export type UserDraftItemKind = 'script' | 'flow' | 'app' | 'raw_app' | 'resource' | 'variable' | 'trigger_schedule' | 'trigger_webhook' | 'trigger_default_email' | 'trigger_email' | 'trigger_http' | 'trigger_websocket' | 'trigger_postgres' | 'trigger_kafka' | 'trigger_nats' | 'trigger_mqtt' | 'trigger_sqs' | 'trigger_gcp' | 'trigger_azure' | 'trigger_poll' | 'trigger_cli' | 'trigger_nextcloud' | 'trigger_google' | 'trigger_github';
52
+ export type UserDraftItemKind = 'script' | 'flow' | 'app' | 'raw_app' | 'resource' | 'variable' | 'trigger_schedule' | 'trigger_webhook' | 'trigger_default_email' | 'trigger_email' | 'trigger_http' | 'trigger_websocket' | 'trigger_postgres' | 'trigger_kafka' | 'trigger_nats' | 'trigger_mqtt' | 'trigger_sqs' | 'trigger_gcp' | 'trigger_azure' | 'trigger_poll' | 'trigger_cli' | 'trigger_nextcloud' | 'trigger_google' | 'trigger_github' | 'data_pipeline';
53
53
  /**
54
54
  * Top-level flow definition containing metadata, configuration, and the flow structure
55
55
  */
@@ -2697,7 +2697,7 @@ export type EditSchedule = {
2697
2697
  /**
2698
2698
  * job trigger kind (schedule, http, websocket...)
2699
2699
  */
2700
- export type JobTriggerKind = 'webhook' | 'default_email' | 'email' | 'schedule' | 'http' | 'websocket' | 'postgres' | 'kafka' | 'nats' | 'mqtt' | 'sqs' | 'gcp' | 'azure' | 'google' | 'github';
2700
+ export type JobTriggerKind = 'webhook' | 'default_email' | 'email' | 'schedule' | 'http' | 'websocket' | 'postgres' | 'kafka' | 'nats' | 'mqtt' | 'sqs' | 'gcp' | 'azure' | 'google' | 'github' | 'asset';
2701
2701
  /**
2702
2702
  * job trigger mode
2703
2703
  */
@@ -7905,9 +7905,9 @@ export type CreateAccountData = {
7905
7905
  */
7906
7906
  cc_client_secret?: string;
7907
7907
  /**
7908
- * OAuth token URL override for resource-level authentication (client_credentials flow only)
7908
+ * Instance name for built-in providers whose client-credentials token URL is instance-templated; substituted into the fixed-host registry template server-side (client_credentials flow only). The token URL is never caller-supplied.
7909
7909
  */
7910
- cc_token_url?: string;
7910
+ cc_instance?: string;
7911
7911
  /**
7912
7912
  * MCP server URL for MCP OAuth token refresh
7913
7913
  */
@@ -7931,18 +7931,19 @@ export type ConnectClientCredentialsData = {
7931
7931
  requestBody: {
7932
7932
  scopes?: Array<(string)>;
7933
7933
  /**
7934
- * OAuth client ID for resource-level authentication
7934
+ * OAuth client ID. Omit to use the credentials configured on the provider's instance OAuth entry.
7935
7935
  */
7936
- cc_client_id: string;
7936
+ cc_client_id?: string;
7937
7937
  /**
7938
- * OAuth client secret for resource-level authentication
7938
+ * OAuth client secret. Omit to use the credentials configured on the provider's instance OAuth entry.
7939
7939
  */
7940
- cc_client_secret: string;
7940
+ cc_client_secret?: string;
7941
7941
  /**
7942
- * OAuth token URL override for resource-level authentication
7942
+ * Instance name for built-in providers whose client-credentials token URL is instance-templated; substituted into the fixed-host registry template server-side. The token URL is never caller-supplied.
7943
7943
  */
7944
- cc_token_url?: string;
7944
+ cc_instance?: string;
7945
7945
  };
7946
+ workspace: string;
7946
7947
  };
7947
7948
  export type ConnectClientCredentialsResponse = TokenResponse;
7948
7949
  export type RefreshTokenData = {
@@ -7980,7 +7981,11 @@ export type ListOauthLoginsResponse = {
7980
7981
  */
7981
7982
  auto_login?: string;
7982
7983
  };
7983
- export type ListOauthConnectsResponse = Array<(string)>;
7984
+ export type ListOauthConnectsResponse = Array<{
7985
+ name: string;
7986
+ supports_client_credentials: boolean;
7987
+ has_shared_credentials: boolean;
7988
+ }>;
7984
7989
  export type GetOauthConnectData = {
7985
7990
  /**
7986
7991
  * client name
@@ -7993,6 +7998,10 @@ export type GetOauthConnectResponse = {
7993
7998
  };
7994
7999
  scopes?: Array<(string)>;
7995
8000
  grant_types?: Array<(string)>;
8001
+ /**
8002
+ * The instance OAuth entry carries shared client-credentials, so the connect dialog can skip the bring-your-own form and run the exchange server-side
8003
+ */
8004
+ client_credentials_configured?: boolean;
7996
8005
  };
7997
8006
  export type SendMessageToConversationData = {
7998
8007
  requestBody: {
@@ -9382,6 +9391,10 @@ export type DiffRawScriptsWithDeployedData = {
9382
9391
  };
9383
9392
  export type DiffRawScriptsWithDeployedResponse = Array<(string)>;
9384
9393
  export type ListDraftsData = {
9394
+ /**
9395
+ * List every draft in the workspace (all users), not just the current user's own + legacy rows. Other users' rows come back with `mine=false` (view-only).
9396
+ */
9397
+ allUsers?: boolean;
9385
9398
  workspace: string;
9386
9399
  };
9387
9400
  export type ListDraftsResponse = Array<{
@@ -9404,6 +9417,23 @@ export type ListDraftsResponse = Array<{
9404
9417
  */
9405
9418
  legacy_draft: boolean;
9406
9419
  created_at: string;
9420
+ /**
9421
+ * Whether the current user may deploy/discard this draft (same check the deploy/discard endpoints enforce).
9422
+ */
9423
+ can_write: boolean;
9424
+ /**
9425
+ * The row belongs to the current user (own draft or the legacy no-owner row) and is therefore actionable. Always true in the default listing; with `all_users=true`, other users' rows are false (view-only).
9426
+ */
9427
+ mine: boolean;
9428
+ /**
9429
+ * Draft authors at this (path, kind) — the legacy NULL-email row surfaced as a null username.
9430
+ * Populated only for the shared full-page-editor kinds (script/flow/app/raw_app); omitted for
9431
+ * drawer kinds, which keep their drafts private. Feeds the Draft badge's owner-avatar circles.
9432
+ *
9433
+ */
9434
+ draft_users?: Array<{
9435
+ username?: string | null;
9436
+ }>;
9407
9437
  }>;
9408
9438
  export type GetDraftForUserData = {
9409
9439
  kind: UserDraftItemKind;
@@ -9418,6 +9448,15 @@ export type GetDraftForUserResponse = {
9418
9448
  value: unknown;
9419
9449
  created_at: string;
9420
9450
  };
9451
+ export type GetOwnDraftData = {
9452
+ kind: UserDraftItemKind;
9453
+ path: string;
9454
+ workspace: string;
9455
+ };
9456
+ export type GetOwnDraftResponse = {
9457
+ value: unknown;
9458
+ created_at: string;
9459
+ } | null;
9421
9460
  export type UpdateDraftData = {
9422
9461
  kind: UserDraftItemKind;
9423
9462
  path: string;
@@ -9438,6 +9477,10 @@ export type UpdateDraftData = {
9438
9477
  * Delete-only. Target the legacy workspace-level row (email NULL) instead of the current user's row. Used to discard a legacy draft from the review page.
9439
9478
  */
9440
9479
  legacy?: boolean;
9480
+ /**
9481
+ * Upsert-only override for the stored creation timestamp. Normal saves omit it (stamped server-side); the localStorage→DB migration passes the draft's original write time so migrated drafts keep their age.
9482
+ */
9483
+ created_at?: string;
9441
9484
  };
9442
9485
  workspace: string;
9443
9486
  };
@@ -9445,6 +9488,18 @@ export type UpdateDraftResponse = {
9445
9488
  status: 'saved' | 'conflict';
9446
9489
  current_timestamp: string;
9447
9490
  };
9491
+ export type MigrateLegacyDraftData = {
9492
+ kind: UserDraftItemKind;
9493
+ path: string;
9494
+ requestBody: {
9495
+ /**
9496
+ * delete the legacy draft, or take ownership of it.
9497
+ */
9498
+ action: 'delete' | 'assign_to_self';
9499
+ };
9500
+ workspace: string;
9501
+ };
9502
+ export type MigrateLegacyDraftResponse = string;
9448
9503
  export type GetCustomTagsData = {
9449
9504
  showWorkspaceRestriction?: boolean;
9450
9505
  };
@@ -11302,6 +11357,46 @@ export type GetCompletedJobTimingResponse = {
11302
11357
  started_at?: string;
11303
11358
  duration_ms?: number;
11304
11359
  };
11360
+ export type ListDispatchEventsData = {
11361
+ id: string;
11362
+ workspace: string;
11363
+ };
11364
+ export type ListDispatchEventsResponse = Array<{
11365
+ subscriber_path: string;
11366
+ asset_kind: 's3object' | 'resource' | 'variable' | 'ducklake' | 'datatable' | 'volume';
11367
+ asset_path: string;
11368
+ outcome: 'dispatched' | 'join_pending' | 'skipped';
11369
+ child_job_id?: string;
11370
+ partition?: string;
11371
+ received_inputs?: number;
11372
+ required_inputs?: number;
11373
+ debounce_s?: number;
11374
+ reason?: string;
11375
+ created_at: string;
11376
+ }>;
11377
+ export type ListAssetDispatchEdgesData = {
11378
+ /**
11379
+ * Only edges dispatched at/after this instant.
11380
+ */
11381
+ createdAfter?: string;
11382
+ /**
11383
+ * Folder path prefix the children live under, e.g. `f/orders/`.
11384
+ */
11385
+ pathStart: string;
11386
+ workspace: string;
11387
+ };
11388
+ export type ListAssetDispatchEdgesResponse = Array<{
11389
+ producer_job_id: string;
11390
+ /**
11391
+ * Set for `dispatched`; absent for `join_pending` inputs.
11392
+ */
11393
+ child_job_id?: string;
11394
+ subscriber_path: string;
11395
+ outcome: 'dispatched' | 'join_pending';
11396
+ asset_kind: 's3object' | 'resource' | 'variable' | 'ducklake' | 'datatable' | 'volume';
11397
+ asset_path: string;
11398
+ created_at: string;
11399
+ }>;
11305
11400
  export type DeleteCompletedJobData = {
11306
11401
  id: string;
11307
11402
  workspace: string;
@@ -14400,6 +14495,63 @@ export type ListFavoriteAssetsResponse = Array<{
14400
14495
  */
14401
14496
  path: string;
14402
14497
  }>;
14498
+ export type GetAssetsGraphData = {
14499
+ /**
14500
+ * Filter by asset kinds (comma-separated list)
14501
+ */
14502
+ assetKinds?: string;
14503
+ /**
14504
+ * Scope the graph to runnables in a single folder
14505
+ */
14506
+ folder?: string;
14507
+ workspace: string;
14508
+ };
14509
+ export type GetAssetsGraphResponse = {
14510
+ assets: Array<{
14511
+ kind: AssetKind;
14512
+ path: string;
14513
+ }>;
14514
+ runnables: Array<{
14515
+ path: string;
14516
+ usage_kind: AssetUsageKind;
14517
+ /**
14518
+ * True iff the script is a pipeline member (deployed with `// pipeline`). Omitted when false.
14519
+ */
14520
+ in_pipeline?: boolean;
14521
+ }>;
14522
+ edges: Array<{
14523
+ runnable_path: string;
14524
+ runnable_kind: AssetUsageKind;
14525
+ asset_kind: AssetKind;
14526
+ asset_path: string;
14527
+ access_type?: AssetUsageAccessType;
14528
+ }>;
14529
+ triggers: Array<({
14530
+ trigger_kind: 'asset';
14531
+ asset_kind: AssetKind;
14532
+ asset_path: string;
14533
+ runnable_kind: AssetUsageKind;
14534
+ runnable_path: string;
14535
+ } | {
14536
+ trigger_kind: 'schedule' | 'email' | 'kafka' | 'mqtt' | 'nats' | 'postgres' | 'sqs' | 'gcp';
14537
+ path: string;
14538
+ runnable_kind: AssetUsageKind;
14539
+ runnable_path: string;
14540
+ })>;
14541
+ };
14542
+ export type ListPipelineFoldersData = {
14543
+ workspace: string;
14544
+ };
14545
+ export type ListPipelineFoldersResponse = Array<{
14546
+ /**
14547
+ * The folder name (without the `f/` prefix)
14548
+ */
14549
+ folder: string;
14550
+ /**
14551
+ * Number of pipeline-member scripts in the folder
14552
+ */
14553
+ script_count: number;
14554
+ }>;
14403
14555
  export type ListVolumesData = {
14404
14556
  workspace: string;
14405
14557
  };
@@ -18732,9 +18884,9 @@ export type $OpenApiTs = {
18732
18884
  */
18733
18885
  cc_client_secret?: string;
18734
18886
  /**
18735
- * OAuth token URL override for resource-level authentication (client_credentials flow only)
18887
+ * Instance name for built-in providers whose client-credentials token URL is instance-templated; substituted into the fixed-host registry template server-side (client_credentials flow only). The token URL is never caller-supplied.
18736
18888
  */
18737
- cc_token_url?: string;
18889
+ cc_instance?: string;
18738
18890
  /**
18739
18891
  * MCP server URL for MCP OAuth token refresh
18740
18892
  */
@@ -18754,7 +18906,7 @@ export type $OpenApiTs = {
18754
18906
  };
18755
18907
  };
18756
18908
  };
18757
- '/oauth/connect_client_credentials/{client}': {
18909
+ '/w/{workspace}/oauth/connect_client_credentials/{client}': {
18758
18910
  post: {
18759
18911
  req: {
18760
18912
  /**
@@ -18767,18 +18919,19 @@ export type $OpenApiTs = {
18767
18919
  requestBody: {
18768
18920
  scopes?: Array<(string)>;
18769
18921
  /**
18770
- * OAuth client ID for resource-level authentication
18922
+ * OAuth client ID. Omit to use the credentials configured on the provider's instance OAuth entry.
18771
18923
  */
18772
- cc_client_id: string;
18924
+ cc_client_id?: string;
18773
18925
  /**
18774
- * OAuth client secret for resource-level authentication
18926
+ * OAuth client secret. Omit to use the credentials configured on the provider's instance OAuth entry.
18775
18927
  */
18776
- cc_client_secret: string;
18928
+ cc_client_secret?: string;
18777
18929
  /**
18778
- * OAuth token URL override for resource-level authentication
18930
+ * Instance name for built-in providers whose client-credentials token URL is instance-templated; substituted into the fixed-host registry template server-side. The token URL is never caller-supplied.
18779
18931
  */
18780
- cc_token_url?: string;
18932
+ cc_instance?: string;
18781
18933
  };
18934
+ workspace: string;
18782
18935
  };
18783
18936
  res: {
18784
18937
  /**
@@ -18874,7 +19027,11 @@ export type $OpenApiTs = {
18874
19027
  /**
18875
19028
  * list of oauth connects clients
18876
19029
  */
18877
- 200: Array<(string)>;
19030
+ 200: Array<{
19031
+ name: string;
19032
+ supports_client_credentials: boolean;
19033
+ has_shared_credentials: boolean;
19034
+ }>;
18878
19035
  };
18879
19036
  };
18880
19037
  };
@@ -18896,6 +19053,10 @@ export type $OpenApiTs = {
18896
19053
  };
18897
19054
  scopes?: Array<(string)>;
18898
19055
  grant_types?: Array<(string)>;
19056
+ /**
19057
+ * The instance OAuth entry carries shared client-credentials, so the connect dialog can skip the bring-your-own form and run the exchange server-side
19058
+ */
19059
+ client_credentials_configured?: boolean;
18899
19060
  };
18900
19061
  };
18901
19062
  };
@@ -21289,6 +21450,10 @@ export type $OpenApiTs = {
21289
21450
  '/w/{workspace}/drafts/list': {
21290
21451
  get: {
21291
21452
  req: {
21453
+ /**
21454
+ * List every draft in the workspace (all users), not just the current user's own + legacy rows. Other users' rows come back with `mine=false` (view-only).
21455
+ */
21456
+ allUsers?: boolean;
21292
21457
  workspace: string;
21293
21458
  };
21294
21459
  res: {
@@ -21315,6 +21480,23 @@ export type $OpenApiTs = {
21315
21480
  */
21316
21481
  legacy_draft: boolean;
21317
21482
  created_at: string;
21483
+ /**
21484
+ * Whether the current user may deploy/discard this draft (same check the deploy/discard endpoints enforce).
21485
+ */
21486
+ can_write: boolean;
21487
+ /**
21488
+ * The row belongs to the current user (own draft or the legacy no-owner row) and is therefore actionable. Always true in the default listing; with `all_users=true`, other users' rows are false (view-only).
21489
+ */
21490
+ mine: boolean;
21491
+ /**
21492
+ * Draft authors at this (path, kind) — the legacy NULL-email row surfaced as a null username.
21493
+ * Populated only for the shared full-page-editor kinds (script/flow/app/raw_app); omitted for
21494
+ * drawer kinds, which keep their drafts private. Feeds the Draft badge's owner-avatar circles.
21495
+ *
21496
+ */
21497
+ draft_users?: Array<{
21498
+ username?: string | null;
21499
+ }>;
21318
21500
  }>;
21319
21501
  };
21320
21502
  };
@@ -21345,6 +21527,24 @@ export type $OpenApiTs = {
21345
21527
  };
21346
21528
  };
21347
21529
  };
21530
+ '/w/{workspace}/drafts/get_own/{kind}/{path}': {
21531
+ get: {
21532
+ req: {
21533
+ kind: UserDraftItemKind;
21534
+ path: string;
21535
+ workspace: string;
21536
+ };
21537
+ res: {
21538
+ /**
21539
+ * the user's draft content, or null when none exists
21540
+ */
21541
+ 200: {
21542
+ value: unknown;
21543
+ created_at: string;
21544
+ } | null;
21545
+ };
21546
+ };
21547
+ };
21348
21548
  '/w/{workspace}/drafts/update/{kind}/{path}': {
21349
21549
  post: {
21350
21550
  req: {
@@ -21367,6 +21567,10 @@ export type $OpenApiTs = {
21367
21567
  * Delete-only. Target the legacy workspace-level row (email NULL) instead of the current user's row. Used to discard a legacy draft from the review page.
21368
21568
  */
21369
21569
  legacy?: boolean;
21570
+ /**
21571
+ * Upsert-only override for the stored creation timestamp. Normal saves omit it (stamped server-side); the localStorage→DB migration passes the draft's original write time so migrated drafts keep their age.
21572
+ */
21573
+ created_at?: string;
21370
21574
  };
21371
21575
  workspace: string;
21372
21576
  };
@@ -21381,6 +21585,27 @@ export type $OpenApiTs = {
21381
21585
  };
21382
21586
  };
21383
21587
  };
21588
+ '/w/{workspace}/drafts/migrate_legacy/{kind}/{path}': {
21589
+ post: {
21590
+ req: {
21591
+ kind: UserDraftItemKind;
21592
+ path: string;
21593
+ requestBody: {
21594
+ /**
21595
+ * delete the legacy draft, or take ownership of it.
21596
+ */
21597
+ action: 'delete' | 'assign_to_self';
21598
+ };
21599
+ workspace: string;
21600
+ };
21601
+ res: {
21602
+ /**
21603
+ * migration result
21604
+ */
21605
+ 200: string;
21606
+ };
21607
+ };
21608
+ };
21384
21609
  '/workers/custom_tags': {
21385
21610
  get: {
21386
21611
  req: {
@@ -23955,6 +24180,64 @@ export type $OpenApiTs = {
23955
24180
  };
23956
24181
  };
23957
24182
  };
24183
+ '/w/{workspace}/jobs_u/dispatch_events/{id}': {
24184
+ get: {
24185
+ req: {
24186
+ id: string;
24187
+ workspace: string;
24188
+ };
24189
+ res: {
24190
+ /**
24191
+ * dispatch events for this producer job
24192
+ */
24193
+ 200: Array<{
24194
+ subscriber_path: string;
24195
+ asset_kind: 's3object' | 'resource' | 'variable' | 'ducklake' | 'datatable' | 'volume';
24196
+ asset_path: string;
24197
+ outcome: 'dispatched' | 'join_pending' | 'skipped';
24198
+ child_job_id?: string;
24199
+ partition?: string;
24200
+ received_inputs?: number;
24201
+ required_inputs?: number;
24202
+ debounce_s?: number;
24203
+ reason?: string;
24204
+ created_at: string;
24205
+ }>;
24206
+ };
24207
+ };
24208
+ };
24209
+ '/w/{workspace}/jobs/asset_dispatch_edges': {
24210
+ get: {
24211
+ req: {
24212
+ /**
24213
+ * Only edges dispatched at/after this instant.
24214
+ */
24215
+ createdAfter?: string;
24216
+ /**
24217
+ * Folder path prefix the children live under, e.g. `f/orders/`.
24218
+ */
24219
+ pathStart: string;
24220
+ workspace: string;
24221
+ };
24222
+ res: {
24223
+ /**
24224
+ * asset-cascade edges for the folder
24225
+ */
24226
+ 200: Array<{
24227
+ producer_job_id: string;
24228
+ /**
24229
+ * Set for `dispatched`; absent for `join_pending` inputs.
24230
+ */
24231
+ child_job_id?: string;
24232
+ subscriber_path: string;
24233
+ outcome: 'dispatched' | 'join_pending';
24234
+ asset_kind: 's3object' | 'resource' | 'variable' | 'ducklake' | 'datatable' | 'volume';
24235
+ asset_path: string;
24236
+ created_at: string;
24237
+ }>;
24238
+ };
24239
+ };
24240
+ };
23958
24241
  '/w/{workspace}/jobs/completed/delete/{id}': {
23959
24242
  post: {
23960
24243
  req: {
@@ -29450,6 +29733,81 @@ export type $OpenApiTs = {
29450
29733
  };
29451
29734
  };
29452
29735
  };
29736
+ '/w/{workspace}/assets/graph': {
29737
+ get: {
29738
+ req: {
29739
+ /**
29740
+ * Filter by asset kinds (comma-separated list)
29741
+ */
29742
+ assetKinds?: string;
29743
+ /**
29744
+ * Scope the graph to runnables in a single folder
29745
+ */
29746
+ folder?: string;
29747
+ workspace: string;
29748
+ };
29749
+ res: {
29750
+ /**
29751
+ * asset graph nodes, lineage edges and trigger edges
29752
+ */
29753
+ 200: {
29754
+ assets: Array<{
29755
+ kind: AssetKind;
29756
+ path: string;
29757
+ }>;
29758
+ runnables: Array<{
29759
+ path: string;
29760
+ usage_kind: AssetUsageKind;
29761
+ /**
29762
+ * True iff the script is a pipeline member (deployed with `// pipeline`). Omitted when false.
29763
+ */
29764
+ in_pipeline?: boolean;
29765
+ }>;
29766
+ edges: Array<{
29767
+ runnable_path: string;
29768
+ runnable_kind: AssetUsageKind;
29769
+ asset_kind: AssetKind;
29770
+ asset_path: string;
29771
+ access_type?: AssetUsageAccessType;
29772
+ }>;
29773
+ triggers: Array<({
29774
+ trigger_kind: 'asset';
29775
+ asset_kind: AssetKind;
29776
+ asset_path: string;
29777
+ runnable_kind: AssetUsageKind;
29778
+ runnable_path: string;
29779
+ } | {
29780
+ trigger_kind: 'schedule' | 'email' | 'kafka' | 'mqtt' | 'nats' | 'postgres' | 'sqs' | 'gcp';
29781
+ path: string;
29782
+ runnable_kind: AssetUsageKind;
29783
+ runnable_path: string;
29784
+ })>;
29785
+ };
29786
+ };
29787
+ };
29788
+ };
29789
+ '/w/{workspace}/assets/pipelines': {
29790
+ get: {
29791
+ req: {
29792
+ workspace: string;
29793
+ };
29794
+ res: {
29795
+ /**
29796
+ * folders containing pipeline scripts, with their script counts
29797
+ */
29798
+ 200: Array<{
29799
+ /**
29800
+ * The folder name (without the `f/` prefix)
29801
+ */
29802
+ folder: string;
29803
+ /**
29804
+ * Number of pipeline-member scripts in the folder
29805
+ */
29806
+ script_count: number;
29807
+ }>;
29808
+ };
29809
+ };
29810
+ };
29453
29811
  '/w/{workspace}/volumes/list': {
29454
29812
  get: {
29455
29813
  req: {
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.728.1",
4
+ "version": "1.730.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",