windmill-client 1.763.0 → 1.765.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' | 'data_pipeline';
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_amqp' | '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
  */
@@ -2716,7 +2716,7 @@ export type EditSchedule = {
2716
2716
  /**
2717
2717
  * job trigger kind (schedule, http, websocket...)
2718
2718
  */
2719
- export type JobTriggerKind = 'webhook' | 'default_email' | 'email' | 'schedule' | 'http' | 'websocket' | 'postgres' | 'kafka' | 'nats' | 'mqtt' | 'sqs' | 'gcp' | 'azure' | 'google' | 'github' | 'asset' | 'freshness' | 'app';
2719
+ export type JobTriggerKind = 'webhook' | 'default_email' | 'email' | 'schedule' | 'http' | 'websocket' | 'postgres' | 'kafka' | 'nats' | 'mqtt' | 'amqp' | 'sqs' | 'gcp' | 'azure' | 'google' | 'github' | 'asset' | 'freshness' | 'app';
2720
2720
  /**
2721
2721
  * job trigger mode
2722
2722
  */
@@ -3106,6 +3106,7 @@ export type TriggersCount = {
3106
3106
  kafka_count?: number;
3107
3107
  nats_count?: number;
3108
3108
  mqtt_count?: number;
3109
+ amqp_count?: number;
3109
3110
  gcp_count?: number;
3110
3111
  azure_count?: number;
3111
3112
  sqs_count?: number;
@@ -3522,6 +3523,172 @@ export type EditMqttTrigger = {
3522
3523
  preserve_permissioned_as?: boolean;
3523
3524
  labels?: Array<(string)>;
3524
3525
  };
3526
+ export type AmqpExchange = {
3527
+ /**
3528
+ * Name of the exchange to bind the consumed queue to
3529
+ */
3530
+ exchange_name: string;
3531
+ /**
3532
+ * Routing keys used to bind the queue to the exchange
3533
+ */
3534
+ routing_keys?: Array<(string)>;
3535
+ };
3536
+ export type AmqpOptions = {
3537
+ /**
3538
+ * Declare the queue (durable) before consuming; when false the queue is declared passively and must already exist
3539
+ */
3540
+ declare_queue?: boolean;
3541
+ /**
3542
+ * Maximum number of unacknowledged messages the broker delivers at once (1-65535)
3543
+ */
3544
+ prefetch_count?: number;
3545
+ };
3546
+ export type AmqpTrigger = TriggerExtraProperty & {
3547
+ /**
3548
+ * Path to the AMQP resource containing broker connection configuration
3549
+ */
3550
+ amqp_resource_path: string;
3551
+ /**
3552
+ * Name of the queue to consume messages from
3553
+ */
3554
+ queue_name: string;
3555
+ /**
3556
+ * Optional exchange binding for the consumed queue
3557
+ */
3558
+ exchange?: AmqpExchange | null;
3559
+ /**
3560
+ * Optional consumer options (queue declaration, prefetch)
3561
+ */
3562
+ options?: AmqpOptions | null;
3563
+ /**
3564
+ * ID of the server currently handling this trigger (internal)
3565
+ */
3566
+ server_id?: string;
3567
+ /**
3568
+ * Timestamp of last server heartbeat (internal)
3569
+ */
3570
+ last_server_ping?: string;
3571
+ /**
3572
+ * Last error message if the trigger failed
3573
+ */
3574
+ error?: string;
3575
+ /**
3576
+ * Path to a script or flow to run when the triggered job fails
3577
+ */
3578
+ error_handler_path?: string;
3579
+ /**
3580
+ * Arguments to pass to the error handler
3581
+ */
3582
+ error_handler_args?: ScriptArgs;
3583
+ /**
3584
+ * Retry configuration for failed executions
3585
+ */
3586
+ retry?: Retry;
3587
+ };
3588
+ export type NewAmqpTrigger = {
3589
+ /**
3590
+ * Path to the AMQP resource containing broker connection configuration
3591
+ */
3592
+ amqp_resource_path: string;
3593
+ /**
3594
+ * Name of the queue to consume messages from
3595
+ */
3596
+ queue_name: string;
3597
+ /**
3598
+ * Optional exchange binding for the consumed queue
3599
+ */
3600
+ exchange?: AmqpExchange | null;
3601
+ /**
3602
+ * Optional consumer options (queue declaration, prefetch)
3603
+ */
3604
+ options?: AmqpOptions | null;
3605
+ /**
3606
+ * The unique Windmill path for this trigger. Must be of the form `u/<user>/<path>` or `f/<folder>/<path>`.
3607
+ */
3608
+ path: string;
3609
+ /**
3610
+ * Path to the script or flow to execute when a message is received
3611
+ */
3612
+ script_path: string;
3613
+ /**
3614
+ * True if script_path points to a flow, false if it points to a script
3615
+ */
3616
+ is_flow: boolean;
3617
+ mode?: TriggerMode;
3618
+ /**
3619
+ * Path to a script or flow to run when the triggered job fails
3620
+ */
3621
+ error_handler_path?: string;
3622
+ /**
3623
+ * Arguments to pass to the error handler
3624
+ */
3625
+ error_handler_args?: ScriptArgs;
3626
+ /**
3627
+ * Retry configuration for failed executions
3628
+ */
3629
+ retry?: Retry;
3630
+ /**
3631
+ * The user or group this trigger runs as. Used during deployment to preserve the original trigger owner.
3632
+ */
3633
+ permissioned_as?: string;
3634
+ /**
3635
+ * When true and the caller is a member of the 'wm_deployers' group, preserves the original permissioned_as value instead of overwriting it.
3636
+ */
3637
+ preserve_permissioned_as?: boolean;
3638
+ labels?: Array<(string)>;
3639
+ };
3640
+ export type EditAmqpTrigger = {
3641
+ /**
3642
+ * Path to the AMQP resource containing broker connection configuration
3643
+ */
3644
+ amqp_resource_path: string;
3645
+ /**
3646
+ * Name of the queue to consume messages from
3647
+ */
3648
+ queue_name: string;
3649
+ /**
3650
+ * Optional exchange binding for the consumed queue
3651
+ */
3652
+ exchange?: AmqpExchange | null;
3653
+ /**
3654
+ * Optional consumer options (queue declaration, prefetch)
3655
+ */
3656
+ options?: AmqpOptions | null;
3657
+ /**
3658
+ * The unique Windmill path for this trigger. Must be of the form `u/<user>/<path>` or `f/<folder>/<path>`.
3659
+ */
3660
+ path: string;
3661
+ /**
3662
+ * Path to the script or flow to execute when a message is received
3663
+ */
3664
+ script_path: string;
3665
+ /**
3666
+ * True if script_path points to a flow, false if it points to a script
3667
+ */
3668
+ is_flow: boolean;
3669
+ mode?: TriggerMode;
3670
+ /**
3671
+ * Path to a script or flow to run when the triggered job fails
3672
+ */
3673
+ error_handler_path?: string;
3674
+ /**
3675
+ * Arguments to pass to the error handler
3676
+ */
3677
+ error_handler_args?: ScriptArgs;
3678
+ /**
3679
+ * Retry configuration for failed executions
3680
+ */
3681
+ retry?: Retry;
3682
+ /**
3683
+ * The user or group this trigger runs as. Used during deployment to preserve the original trigger owner.
3684
+ */
3685
+ permissioned_as?: string;
3686
+ /**
3687
+ * When true and the caller is a member of the 'wm_deployers' group, preserves the original permissioned_as value instead of overwriting it.
3688
+ */
3689
+ preserve_permissioned_as?: boolean;
3690
+ labels?: Array<(string)>;
3691
+ };
3525
3692
  /**
3526
3693
  * Delivery mode for messages. 'push' for HTTP push delivery where messages are sent to a webhook endpoint, 'pull' for polling where the trigger actively fetches messages.
3527
3694
  */
@@ -5289,7 +5456,7 @@ export type CriticalAlert = {
5289
5456
  */
5290
5457
  workspace_id?: string | null;
5291
5458
  };
5292
- export type CaptureTriggerKind = 'webhook' | 'http' | 'websocket' | 'kafka' | 'default_email' | 'nats' | 'postgres' | 'sqs' | 'mqtt' | 'gcp' | 'azure' | 'email';
5459
+ export type CaptureTriggerKind = 'webhook' | 'http' | 'websocket' | 'kafka' | 'default_email' | 'nats' | 'postgres' | 'sqs' | 'mqtt' | 'amqp' | 'gcp' | 'azure' | 'email';
5293
5460
  export type Capture = {
5294
5461
  trigger_kind: CaptureTriggerKind;
5295
5462
  main_args: unknown;
@@ -5405,7 +5572,7 @@ export type WorkspaceItemDiff = {
5405
5572
  /**
5406
5573
  * Type of the item
5407
5574
  */
5408
- kind: 'script' | 'flow' | 'app' | 'raw_app' | 'resource' | 'variable' | 'resource_type' | 'folder' | 'schedule' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'sqs_trigger' | 'gcp_trigger' | 'azure_trigger' | 'email_trigger';
5575
+ kind: 'script' | 'flow' | 'app' | 'raw_app' | 'resource' | 'variable' | 'resource_type' | 'folder' | 'schedule' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'amqp_trigger' | 'sqs_trigger' | 'gcp_trigger' | 'azure_trigger' | 'email_trigger';
5409
5576
  /**
5410
5577
  * Path of the item in the workspace
5411
5578
  */
@@ -5617,6 +5784,30 @@ export type Asset = {
5617
5784
  path: string;
5618
5785
  kind: AssetKind;
5619
5786
  };
5787
+ /**
5788
+ * One `// measure` or `// dimension` declaration, as catalogued from the
5789
+ * script that materializes the table. `expr` and `filter` are the author's
5790
+ * own SQL: a reader renders a measure as `expr` plus, when `filter` is set,
5791
+ * a trailing `FILTER (WHERE filter)`.
5792
+ *
5793
+ */
5794
+ export type DataMetric = {
5795
+ /**
5796
+ * The declaring script, and the path reads are authorized against
5797
+ */
5798
+ script_path: string;
5799
+ /**
5800
+ * Canonical scheme-less DuckLake path, `<lake>/<schema>.<table>` (schema defaults to `main`)
5801
+ */
5802
+ table_path: string;
5803
+ kind: 'measure' | 'dimension';
5804
+ name: string;
5805
+ expr: string;
5806
+ /**
5807
+ * Row predicate from a measure's trailing `where`
5808
+ */
5809
+ filter?: string;
5810
+ };
5620
5811
  /**
5621
5812
  * One save-time schema-contract warning: a consumer reference that does
5622
5813
  * not match the referenced asset's latest captured schema.
@@ -5625,7 +5816,7 @@ export type Asset = {
5625
5816
  *
5626
5817
  */
5627
5818
  export type ContractWarning = {
5628
- kind: 'missing_column' | 'missing_lineage_source' | 'missing_relationship_column' | 'relationship_type_mismatch' | 'suppressed';
5819
+ kind: 'missing_column' | 'missing_lineage_source' | 'missing_relationship_column' | 'relationship_type_mismatch' | 'missing_measure_column' | 'missing_dimension_column' | 'non_aggregate_measure' | 'suppressed';
5629
5820
  asset_path: string;
5630
5821
  column?: string;
5631
5822
  expected_type?: string;
@@ -7494,6 +7685,23 @@ export type GetGitSyncEnabledResponse = {
7494
7685
  user_count?: number | null;
7495
7686
  max_users?: number | null;
7496
7687
  };
7688
+ export type GetGitSyncDeployModeData = {
7689
+ /**
7690
+ * The branch the caller would push.
7691
+ */
7692
+ branch?: string;
7693
+ workspace: string;
7694
+ };
7695
+ export type GetGitSyncDeployModeResponse = {
7696
+ /**
7697
+ * At least one git-sync repository is configured.
7698
+ */
7699
+ configured: boolean;
7700
+ /**
7701
+ * True means a `git push` is confirmed to deploy via auto-pull: exactly one licensed, deliverable repository tracks the branch. False is *not confirmed* rather than a definite no — it also covers unlicensed, ambiguous (several repos track it), and conservative false-negatives; determine the deploy path another way (CI `git push`, or `wmill sync push`).
7702
+ */
7703
+ deploy_on_push: boolean;
7704
+ };
7497
7705
  export type EditWorkspaceGitSyncConfigData = {
7498
7706
  /**
7499
7707
  * Workspace Git sync settings
@@ -7612,6 +7820,7 @@ export type GetUsedTriggersResponse = {
7612
7820
  nats_used: boolean;
7613
7821
  postgres_used: boolean;
7614
7822
  mqtt_used: boolean;
7823
+ amqp_used: boolean;
7615
7824
  gcp_used: boolean;
7616
7825
  azure_used: boolean;
7617
7826
  sqs_used: boolean;
@@ -7703,16 +7912,19 @@ export type CreateDeploymentRequestCommentData = {
7703
7912
  workspace: string;
7704
7913
  };
7705
7914
  export type CreateDeploymentRequestCommentResponse = DeploymentRequestComment;
7706
- export type LogAiChatData = {
7915
+ export type LogFeatureUsageData = {
7707
7916
  requestBody: {
7708
- session_id: string;
7709
- provider: string;
7710
- model: string;
7711
- mode: string;
7917
+ events: Array<{
7918
+ feature: string;
7919
+ kind: string;
7920
+ key?: string;
7921
+ entity_id?: string;
7922
+ value?: number;
7923
+ }>;
7712
7924
  };
7713
7925
  workspace: string;
7714
7926
  };
7715
- export type LogAiChatResponse = void;
7927
+ export type LogFeatureUsageResponse = void;
7716
7928
  export type GetCloudQuotasData = {
7717
7929
  workspace: string;
7718
7930
  };
@@ -8187,6 +8399,42 @@ export type SetPublicAppRateLimitData = {
8187
8399
  workspace: string;
8188
8400
  };
8189
8401
  export type SetPublicAppRateLimitResponse = string;
8402
+ export type ListDataMetricsData = {
8403
+ cursorKind?: string;
8404
+ cursorName?: string;
8405
+ cursorScript?: string;
8406
+ /**
8407
+ * Keyset cursor. To page, pass the previous response's `next_cursor` fields back as `cursor_*`; all four move together, and are omitted for the first page. Continue whenever `next_cursor` is present. Every returned row is one the caller may read, so the cursor never names a hidden row.
8408
+ *
8409
+ */
8410
+ cursorTable?: string;
8411
+ /**
8412
+ * Producing script path prefix, e.g. `f/analytics`
8413
+ */
8414
+ pathPrefix?: string;
8415
+ /**
8416
+ * Results per page, capped at 1000 (default 1000)
8417
+ */
8418
+ perPage?: number;
8419
+ /**
8420
+ * DuckLake table path, with or without the `ducklake://` scheme
8421
+ */
8422
+ table?: string;
8423
+ workspace: string;
8424
+ };
8425
+ export type ListDataMetricsResponse = {
8426
+ metrics: Array<DataMetric>;
8427
+ /**
8428
+ * Present when more rows may follow: pass its fields back as the `cursor_*` params. Absent means the catalog is exhausted.
8429
+ *
8430
+ */
8431
+ next_cursor?: {
8432
+ table_path: string;
8433
+ kind: string;
8434
+ name: string;
8435
+ script_path: string;
8436
+ };
8437
+ };
8190
8438
  export type ListAvailableScopesResponse = Array<ScopeDomain>;
8191
8439
  export type GetOidcTokenData = {
8192
8440
  audience: string;
@@ -13560,6 +13808,102 @@ export type TestMqttConnectionData = {
13560
13808
  workspace: string;
13561
13809
  };
13562
13810
  export type TestMqttConnectionResponse = string;
13811
+ export type CreateAmqpTriggerData = {
13812
+ /**
13813
+ * new amqp trigger
13814
+ */
13815
+ requestBody: NewAmqpTrigger;
13816
+ workspace: string;
13817
+ };
13818
+ export type CreateAmqpTriggerResponse = string;
13819
+ export type UpdateAmqpTriggerData = {
13820
+ path: string;
13821
+ /**
13822
+ * updated trigger
13823
+ */
13824
+ requestBody: EditAmqpTrigger;
13825
+ workspace: string;
13826
+ };
13827
+ export type UpdateAmqpTriggerResponse = string;
13828
+ export type DeleteAmqpTriggerData = {
13829
+ path: string;
13830
+ workspace: string;
13831
+ };
13832
+ export type DeleteAmqpTriggerResponse = string;
13833
+ export type GetAmqpTriggerData = {
13834
+ /**
13835
+ * When true, overlay the authed user's draft (if any) onto the deployed payload.
13836
+ */
13837
+ getDraft?: boolean;
13838
+ path: string;
13839
+ workspace: string;
13840
+ };
13841
+ export type GetAmqpTriggerResponse = AmqpTrigger & UserDraftOverlay;
13842
+ export type ListAmqpTriggersData = {
13843
+ /**
13844
+ * When true, append per-user draft rows whose path has no
13845
+ * deployed counterpart. Synthesized rows carry `draft_only: true`
13846
+ * so the home page can render a "Draft" badge. Gated to
13847
+ * non-operators + page 0 + no narrowing filters on the backend so
13848
+ * picker callers stay deployed-only and pagination stays clean.
13849
+ *
13850
+ */
13851
+ includeDraftOnly?: boolean;
13852
+ isFlow?: boolean;
13853
+ /**
13854
+ * Filter by label
13855
+ */
13856
+ label?: string;
13857
+ /**
13858
+ * which page to return (start at 1, default 1)
13859
+ */
13860
+ page?: number;
13861
+ /**
13862
+ * filter by path
13863
+ */
13864
+ path?: string;
13865
+ pathStart?: string;
13866
+ /**
13867
+ * number of items to return for a given page (default 30, max 100)
13868
+ */
13869
+ perPage?: number;
13870
+ workspace: string;
13871
+ };
13872
+ export type ListAmqpTriggersResponse = Array<AmqpTrigger>;
13873
+ export type ExistsAmqpTriggerData = {
13874
+ path: string;
13875
+ workspace: string;
13876
+ };
13877
+ export type ExistsAmqpTriggerResponse = boolean;
13878
+ export type SetAmqpTriggerModeData = {
13879
+ path: string;
13880
+ /**
13881
+ * updated amqp trigger enable
13882
+ */
13883
+ requestBody: {
13884
+ mode: TriggerMode;
13885
+ /**
13886
+ * Bypass the parent-state conflict warning when enabling a trigger in a fork whose parent has the same path enabled.
13887
+ *
13888
+ */
13889
+ force?: boolean;
13890
+ };
13891
+ workspace: string;
13892
+ };
13893
+ export type SetAmqpTriggerModeResponse = string;
13894
+ export type TestAmqpConnectionData = {
13895
+ /**
13896
+ * test amqp connection
13897
+ */
13898
+ requestBody: {
13899
+ /**
13900
+ * Path to the AMQP resource containing broker connection configuration
13901
+ */
13902
+ amqp_resource_path: string;
13903
+ };
13904
+ workspace: string;
13905
+ };
13906
+ export type TestAmqpConnectionResponse = string;
13563
13907
  export type CreateGcpTriggerData = {
13564
13908
  /**
13565
13909
  * new gcp trigger
@@ -14450,7 +14794,7 @@ export type ListBlacklistedAgentTokensResponse = Array<{
14450
14794
  }>;
14451
14795
  export type GetMinVersionResponse = string;
14452
14796
  export type GetGranularAclsData = {
14453
- kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
14797
+ kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'amqp_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
14454
14798
  path: string;
14455
14799
  workspace: string;
14456
14800
  };
@@ -14458,7 +14802,7 @@ export type GetGranularAclsResponse = {
14458
14802
  [key: string]: (boolean);
14459
14803
  };
14460
14804
  export type AddGranularAclsData = {
14461
- kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
14805
+ kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'amqp_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
14462
14806
  path: string;
14463
14807
  /**
14464
14808
  * acl to add
@@ -14471,7 +14815,7 @@ export type AddGranularAclsData = {
14471
14815
  };
14472
14816
  export type AddGranularAclsResponse = string;
14473
14817
  export type RemoveGranularAclsData = {
14474
- kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
14818
+ kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'amqp_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
14475
14819
  path: string;
14476
14820
  /**
14477
14821
  * acl to add
@@ -18263,6 +18607,32 @@ export type $OpenApiTs = {
18263
18607
  };
18264
18608
  };
18265
18609
  };
18610
+ '/w/{workspace}/workspaces/git_sync_deploy_mode': {
18611
+ get: {
18612
+ req: {
18613
+ /**
18614
+ * The branch the caller would push.
18615
+ */
18616
+ branch?: string;
18617
+ workspace: string;
18618
+ };
18619
+ res: {
18620
+ /**
18621
+ * Git sync deploy mode
18622
+ */
18623
+ 200: {
18624
+ /**
18625
+ * At least one git-sync repository is configured.
18626
+ */
18627
+ configured: boolean;
18628
+ /**
18629
+ * True means a `git push` is confirmed to deploy via auto-pull: exactly one licensed, deliverable repository tracks the branch. False is *not confirmed* rather than a definite no — it also covers unlicensed, ambiguous (several repos track it), and conservative false-negatives; determine the deploy path another way (CI `git push`, or `wmill sync push`).
18630
+ */
18631
+ deploy_on_push: boolean;
18632
+ };
18633
+ };
18634
+ };
18635
+ };
18266
18636
  '/w/{workspace}/workspaces/edit_git_sync_config': {
18267
18637
  post: {
18268
18638
  req: {
@@ -18491,6 +18861,7 @@ export type $OpenApiTs = {
18491
18861
  nats_used: boolean;
18492
18862
  postgres_used: boolean;
18493
18863
  mqtt_used: boolean;
18864
+ amqp_used: boolean;
18494
18865
  gcp_used: boolean;
18495
18866
  azure_used: boolean;
18496
18867
  sqs_used: boolean;
@@ -18695,14 +19066,17 @@ export type $OpenApiTs = {
18695
19066
  };
18696
19067
  };
18697
19068
  };
18698
- '/w/{workspace}/workspaces/log_chat': {
19069
+ '/w/{workspace}/workspaces/log_feature_usage': {
18699
19070
  post: {
18700
19071
  req: {
18701
19072
  requestBody: {
18702
- session_id: string;
18703
- provider: string;
18704
- model: string;
18705
- mode: string;
19073
+ events: Array<{
19074
+ feature: string;
19075
+ kind: string;
19076
+ key?: string;
19077
+ entity_id?: string;
19078
+ value?: number;
19079
+ }>;
18706
19080
  };
18707
19081
  workspace: string;
18708
19082
  };
@@ -19758,6 +20132,51 @@ export type $OpenApiTs = {
19758
20132
  };
19759
20133
  };
19760
20134
  };
20135
+ '/w/{workspace}/data_metrics/list': {
20136
+ get: {
20137
+ req: {
20138
+ cursorKind?: string;
20139
+ cursorName?: string;
20140
+ cursorScript?: string;
20141
+ /**
20142
+ * Keyset cursor. To page, pass the previous response's `next_cursor` fields back as `cursor_*`; all four move together, and are omitted for the first page. Continue whenever `next_cursor` is present. Every returned row is one the caller may read, so the cursor never names a hidden row.
20143
+ *
20144
+ */
20145
+ cursorTable?: string;
20146
+ /**
20147
+ * Producing script path prefix, e.g. `f/analytics`
20148
+ */
20149
+ pathPrefix?: string;
20150
+ /**
20151
+ * Results per page, capped at 1000 (default 1000)
20152
+ */
20153
+ perPage?: number;
20154
+ /**
20155
+ * DuckLake table path, with or without the `ducklake://` scheme
20156
+ */
20157
+ table?: string;
20158
+ workspace: string;
20159
+ };
20160
+ res: {
20161
+ /**
20162
+ * declared measures and dimensions
20163
+ */
20164
+ 200: {
20165
+ metrics: Array<DataMetric>;
20166
+ /**
20167
+ * Present when more rows may follow: pass its fields back as the `cursor_*` params. Absent means the catalog is exhausted.
20168
+ *
20169
+ */
20170
+ next_cursor?: {
20171
+ table_path: string;
20172
+ kind: string;
20173
+ name: string;
20174
+ script_path: string;
20175
+ };
20176
+ };
20177
+ };
20178
+ };
20179
+ };
19761
20180
  '/tokens/list/scopes': {
19762
20181
  get: {
19763
20182
  res: {
@@ -28240,6 +28659,174 @@ export type $OpenApiTs = {
28240
28659
  };
28241
28660
  };
28242
28661
  };
28662
+ '/w/{workspace}/amqp_triggers/create': {
28663
+ post: {
28664
+ req: {
28665
+ /**
28666
+ * new amqp trigger
28667
+ */
28668
+ requestBody: NewAmqpTrigger;
28669
+ workspace: string;
28670
+ };
28671
+ res: {
28672
+ /**
28673
+ * amqp trigger created
28674
+ */
28675
+ 201: string;
28676
+ };
28677
+ };
28678
+ };
28679
+ '/w/{workspace}/amqp_triggers/update/{path}': {
28680
+ post: {
28681
+ req: {
28682
+ path: string;
28683
+ /**
28684
+ * updated trigger
28685
+ */
28686
+ requestBody: EditAmqpTrigger;
28687
+ workspace: string;
28688
+ };
28689
+ res: {
28690
+ /**
28691
+ * amqp trigger updated
28692
+ */
28693
+ 200: string;
28694
+ };
28695
+ };
28696
+ };
28697
+ '/w/{workspace}/amqp_triggers/delete/{path}': {
28698
+ delete: {
28699
+ req: {
28700
+ path: string;
28701
+ workspace: string;
28702
+ };
28703
+ res: {
28704
+ /**
28705
+ * amqp trigger deleted
28706
+ */
28707
+ 200: string;
28708
+ };
28709
+ };
28710
+ };
28711
+ '/w/{workspace}/amqp_triggers/get/{path}': {
28712
+ get: {
28713
+ req: {
28714
+ /**
28715
+ * When true, overlay the authed user's draft (if any) onto the deployed payload.
28716
+ */
28717
+ getDraft?: boolean;
28718
+ path: string;
28719
+ workspace: string;
28720
+ };
28721
+ res: {
28722
+ /**
28723
+ * amqp trigger retrieved
28724
+ */
28725
+ 200: AmqpTrigger & UserDraftOverlay;
28726
+ };
28727
+ };
28728
+ };
28729
+ '/w/{workspace}/amqp_triggers/list': {
28730
+ get: {
28731
+ req: {
28732
+ /**
28733
+ * When true, append per-user draft rows whose path has no
28734
+ * deployed counterpart. Synthesized rows carry `draft_only: true`
28735
+ * so the home page can render a "Draft" badge. Gated to
28736
+ * non-operators + page 0 + no narrowing filters on the backend so
28737
+ * picker callers stay deployed-only and pagination stays clean.
28738
+ *
28739
+ */
28740
+ includeDraftOnly?: boolean;
28741
+ isFlow?: boolean;
28742
+ /**
28743
+ * Filter by label
28744
+ */
28745
+ label?: string;
28746
+ /**
28747
+ * which page to return (start at 1, default 1)
28748
+ */
28749
+ page?: number;
28750
+ /**
28751
+ * filter by path
28752
+ */
28753
+ path?: string;
28754
+ pathStart?: string;
28755
+ /**
28756
+ * number of items to return for a given page (default 30, max 100)
28757
+ */
28758
+ perPage?: number;
28759
+ workspace: string;
28760
+ };
28761
+ res: {
28762
+ /**
28763
+ * amqp trigger list
28764
+ */
28765
+ 200: Array<AmqpTrigger>;
28766
+ };
28767
+ };
28768
+ };
28769
+ '/w/{workspace}/amqp_triggers/exists/{path}': {
28770
+ get: {
28771
+ req: {
28772
+ path: string;
28773
+ workspace: string;
28774
+ };
28775
+ res: {
28776
+ /**
28777
+ * amqp trigger exists
28778
+ */
28779
+ 200: boolean;
28780
+ };
28781
+ };
28782
+ };
28783
+ '/w/{workspace}/amqp_triggers/setmode/{path}': {
28784
+ post: {
28785
+ req: {
28786
+ path: string;
28787
+ /**
28788
+ * updated amqp trigger enable
28789
+ */
28790
+ requestBody: {
28791
+ mode: TriggerMode;
28792
+ /**
28793
+ * Bypass the parent-state conflict warning when enabling a trigger in a fork whose parent has the same path enabled.
28794
+ *
28795
+ */
28796
+ force?: boolean;
28797
+ };
28798
+ workspace: string;
28799
+ };
28800
+ res: {
28801
+ /**
28802
+ * amqp trigger enabled set
28803
+ */
28804
+ 200: string;
28805
+ };
28806
+ };
28807
+ };
28808
+ '/w/{workspace}/amqp_triggers/test': {
28809
+ post: {
28810
+ req: {
28811
+ /**
28812
+ * test amqp connection
28813
+ */
28814
+ requestBody: {
28815
+ /**
28816
+ * Path to the AMQP resource containing broker connection configuration
28817
+ */
28818
+ amqp_resource_path: string;
28819
+ };
28820
+ workspace: string;
28821
+ };
28822
+ res: {
28823
+ /**
28824
+ * successfully connected to amqp
28825
+ */
28826
+ 200: string;
28827
+ };
28828
+ };
28829
+ };
28243
28830
  '/w/{workspace}/gcp_triggers/create': {
28244
28831
  post: {
28245
28832
  req: {
@@ -30007,7 +30594,7 @@ export type $OpenApiTs = {
30007
30594
  '/w/{workspace}/acls/get/{kind}/{path}': {
30008
30595
  get: {
30009
30596
  req: {
30010
- kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
30597
+ kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'amqp_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
30011
30598
  path: string;
30012
30599
  workspace: string;
30013
30600
  };
@@ -30024,7 +30611,7 @@ export type $OpenApiTs = {
30024
30611
  '/w/{workspace}/acls/add/{kind}/{path}': {
30025
30612
  post: {
30026
30613
  req: {
30027
- kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
30614
+ kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'amqp_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
30028
30615
  path: string;
30029
30616
  /**
30030
30617
  * acl to add
@@ -30046,7 +30633,7 @@ export type $OpenApiTs = {
30046
30633
  '/w/{workspace}/acls/remove/{kind}/{path}': {
30047
30634
  post: {
30048
30635
  req: {
30049
- kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
30636
+ kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow' | 'folder' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'nats_trigger' | 'postgres_trigger' | 'mqtt_trigger' | 'amqp_trigger' | 'gcp_trigger' | 'azure_trigger' | 'sqs_trigger' | 'email_trigger' | 'volume';
30050
30637
  path: string;
30051
30638
  /**
30052
30639
  * acl to add