windmill-client 1.813.0 → 1.815.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.
@@ -639,10 +639,16 @@ export type ProviderConfig = {
639
639
  reasoning_effort?: string;
640
640
  };
641
641
  /**
642
- * Conversation memory configuration
642
+ * Managed memory, stored by Windmill and replayed with each request. The memory is named by a memory id, see `memory_id`. While it is off, a step can supply its history in `previous_messages`.
643
643
  */
644
644
  export type MemoryConfig = {
645
645
  kind: 'off';
646
+ } | {
647
+ kind: 'window';
648
+ /**
649
+ * Number of most recent messages to load and store. 0 turns memory off.
650
+ */
651
+ context_length: number;
646
652
  } | {
647
653
  kind: 'auto';
648
654
  /**
@@ -903,9 +909,12 @@ export type AiAgent = {
903
909
  */
904
910
  output_type?: InputTransform;
905
911
  /**
906
- * The user's prompt/message to the AI agent. Supports variable interpolation with flow.input syntax.
912
+ * The user's prompt/message to the AI agent. Supports variable interpolation with
913
+ * flow.input syntax. Required unless memory is off and `previous_messages` supplies
914
+ * the prompt; image output always needs it.
915
+ *
907
916
  */
908
- user_message: InputTransform;
917
+ user_message?: InputTransform;
909
918
  /**
910
919
  * System instructions that guide the AI's behavior, persona, and response style. Optional.
911
920
  */
@@ -923,6 +932,24 @@ export type AiAgent = {
923
932
  value: MemoryConfig;
924
933
  type: 'static';
925
934
  } | JavascriptTransform | AiTransform;
935
+ /**
936
+ * String. Names the memory this step reads and writes, overriding the memory id the run
937
+ * was started with (the chat conversation, an app chat session or the `memory_id` run
938
+ * parameter). Leave unset to use the run's memory id. A fixed value shares one memory
939
+ * across every run; an expression such as `flow_input.customer_id` keeps one memory per
940
+ * key. When it evaluates to an empty value the agent runs without memory. Read only
941
+ * while `memory` is `window`: it is ignored when memory is off, and an older `auto` or
942
+ * `manual` memory reads neither history input.
943
+ *
944
+ */
945
+ memory_id?: InputTransform;
946
+ /**
947
+ * Array of MemoryMessage. History supplied by the flow, sent between the system prompt
948
+ * and the user message. Read only while `memory` is off or absent: managed memory
949
+ * ignores it, and an older `auto` or `manual` memory reads neither history input.
950
+ *
951
+ */
952
+ previous_messages?: InputTransform;
926
953
  /**
927
954
  * JSON Schema object defining structured output format. Used when you need the AI to return data in a specific shape.
928
955
  * Supports standard JSON Schema properties: type, properties, required, items, enum, pattern, minLength, maxLength, minimum, maximum, etc.
@@ -1023,7 +1050,7 @@ export type AiAgent = {
1023
1050
  * Path of a reusable `ai_agent` resource (hybrid linking). When set, the agent brain
1024
1051
  * config (provider/model/system prompt/etc.) and tool set are resolved at runtime from
1025
1052
  * that resource; the module's input_transforms then only carry the flow-local inputs
1026
- * (user_message/user_attachments/enabled_tools).
1053
+ * (user_message, user_attachments, enabled_tools and the history inputs memory_id and previous_messages).
1027
1054
  *
1028
1055
  */
1029
1056
  agent?: string;
@@ -1796,6 +1823,10 @@ export type FlowConversation = {
1796
1823
  * Username who created the conversation
1797
1824
  */
1798
1825
  created_by: string;
1826
+ /**
1827
+ * Started from the flow editor's test panel rather than a deployed run
1828
+ */
1829
+ is_test: boolean;
1799
1830
  };
1800
1831
  export type FlowConversationMessage = {
1801
1832
  /**
@@ -1834,6 +1865,36 @@ export type FlowConversationMessage = {
1834
1865
  * Whether the message is a success
1835
1866
  */
1836
1867
  success?: boolean;
1868
+ /**
1869
+ * On a tool row, the arguments the model wrote for the call. For a script, flow or AI agent tool these exclude the inputs its step wires in, which only the tool's job holds. Null for a provider-native web search, whose query the provider does not return.
1870
+ */
1871
+ tool_arguments?: string | null;
1872
+ /**
1873
+ * On a tool row, the text the model got back from the call, or what the call failed with — the row's own text names the tool rather than the reason. For a provider-native web search, its citations.
1874
+ */
1875
+ tool_result?: string | null;
1876
+ /**
1877
+ * On an answer, the thinking that produced it; on a tool row, the thinking that led to the call. Each round's thinking is on one row. The agent job's result keeps the turn's thinking as a single string.
1878
+ */
1879
+ reasoning?: string | null;
1880
+ /**
1881
+ * The files a user message carried, as object-storage references: every flow input other than user_message that held one or a list of them, at most 20. Never file bytes or a presigned URL.
1882
+ */
1883
+ attachments?: Array<{
1884
+ /**
1885
+ * The flow input that held the file
1886
+ */
1887
+ input: string;
1888
+ /**
1889
+ * The file's key in object storage
1890
+ */
1891
+ s3: string;
1892
+ /**
1893
+ * The secondary storage holding the file, absent for the primary one
1894
+ */
1895
+ storage?: string;
1896
+ filename?: string;
1897
+ }> | null;
1837
1898
  };
1838
1899
  export type EndpointTool = {
1839
1900
  /**
@@ -2132,6 +2193,10 @@ export type RunnableItem = {
2132
2193
  auto_kind?: string;
2133
2194
  use_codebase?: boolean;
2134
2195
  has_deploy_errors?: boolean;
2196
+ /**
2197
+ * flow-only. `chat_input_enabled` of the flow's value, projected so the list can mark flows that open as a chat. Omitted when the value has no such field.
2198
+ */
2199
+ chat_input_enabled?: boolean;
2135
2200
  raw_app?: boolean;
2136
2201
  execution_mode?: string;
2137
2202
  id?: number;
@@ -4783,6 +4848,32 @@ export type CustomInstanceDbLogs = {
4783
4848
  replication_user_error?: string;
4784
4849
  };
4785
4850
  export type CustomInstanceDbTag = 'ducklake' | 'datatable';
4851
+ export type InstanceDatatableRole = {
4852
+ id: string;
4853
+ name: string;
4854
+ enabled: boolean;
4855
+ };
4856
+ export type DatatableRoleTenants = {
4857
+ id: string;
4858
+ name?: string;
4859
+ tenants: Array<(string)>;
4860
+ };
4861
+ export type DatatablePermissions = {
4862
+ /**
4863
+ * 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.
4864
+ */
4865
+ supported: boolean;
4866
+ permissioned: boolean;
4867
+ default_role: string;
4868
+ roles: Array<DatatableRoleTenants>;
4869
+ governing_workspace_id?: string;
4870
+ editable: boolean;
4871
+ available_roles: Array<InstanceDatatableRole>;
4872
+ ungoverned_reachers?: Array<{
4873
+ workspace_id: string;
4874
+ datatable: string;
4875
+ }>;
4876
+ };
4786
4877
  export type CustomInstanceDb = {
4787
4878
  logs: CustomInstanceDbLogs;
4788
4879
  /**
@@ -5552,6 +5643,10 @@ export type UserWorkspaceList = {
5552
5643
  dev_workspace_label?: string | null;
5553
5644
  created_by?: string | null;
5554
5645
  disabled: boolean;
5646
+ /**
5647
+ * Whether this membership is a service account.
5648
+ */
5649
+ is_service_account?: boolean;
5555
5650
  }>;
5556
5651
  };
5557
5652
  export type CreateWorkspace = {
@@ -6048,10 +6143,20 @@ export type DucklakeSettings = {
6048
6143
  export type DataTableSettings = {
6049
6144
  datatables: {
6050
6145
  [key: string]: {
6051
- database: {
6146
+ /**
6147
+ * Set on an entry that owns its database. Absent on a fork's entry, which points at another workspace's data table instead.
6148
+ */
6149
+ database?: {
6052
6150
  resource_type: 'postgresql' | 'instance';
6053
6151
  resource_path?: string;
6054
6152
  };
6153
+ /**
6154
+ * The workspace and data table that govern this one. Server-owned: written by fork creation, and carried across a settings save whatever the request says.
6155
+ */
6156
+ reference?: {
6157
+ workspace_id: string;
6158
+ datatable: string;
6159
+ };
6055
6160
  /**
6056
6161
  * Whether the SQL migrations feature is opted in for this data table
6057
6162
  */
@@ -7635,6 +7740,12 @@ export type ConsumeLoginLinkData = {
7635
7740
  rd?: string;
7636
7741
  token: string;
7637
7742
  };
7743
+ export type ConfirmLoginLinkData = {
7744
+ token: string;
7745
+ };
7746
+ export type ConfirmLoginLinkResponse = {
7747
+ location: string;
7748
+ };
7638
7749
  export type ResetPasswordData = {
7639
7750
  /**
7640
7751
  * token and new password
@@ -7965,7 +8076,7 @@ export type CreateLoginLinkData = {
7965
8076
  requestBody: {
7966
8077
  email: string;
7967
8078
  /**
7968
- * link lifetime in seconds, at most 900 (default 600)
8079
+ * link lifetime in seconds, at most 7200 (default 600)
7969
8080
  */
7970
8081
  expires_in_s?: number;
7971
8082
  /**
@@ -7976,6 +8087,10 @@ export type CreateLoginLinkData = {
7976
8087
  * mint only while the account still has this login type (for example pending_oauth), so a link stops working once the owner has set a password or signed in with a provider
7977
8088
  */
7978
8089
  require_login_type?: string;
8090
+ /**
8091
+ * return a /user/login_link page that signs in only when its button is clicked, instead of a link spent by opening it; set it for links sent by email, which mail scanners open on delivery (default false)
8092
+ */
8093
+ confirm?: boolean;
7979
8094
  };
7980
8095
  };
7981
8096
  export type CreateLoginLinkResponse = {
@@ -8473,6 +8588,10 @@ export type GetPublicSettingsResponse = {
8473
8588
  * Whether this workspace admits guest sessions. An app's own `guest` execution mode is inert while this is false.
8474
8589
  */
8475
8590
  guest_access_enabled: boolean;
8591
+ /**
8592
+ * Whether every new fork of this workspace starts with its admins and developers as members, keeping their role.
8593
+ */
8594
+ add_admins_and_developers_to_forks: boolean;
8476
8595
  };
8477
8596
  export type GetSettingsData = {
8478
8597
  workspace: string;
@@ -8526,6 +8645,10 @@ export type GetSettingsResponse = {
8526
8645
  * JWKS URL a guest JWT (`jwt_guest_`) is verified against for this workspace. Mutually exclusive with `guest_jwt_public_key`.
8527
8646
  */
8528
8647
  guest_jwt_jwks_url?: string;
8648
+ /**
8649
+ * Whether every new fork of this workspace starts with its admins and developers as members, keeping their role.
8650
+ */
8651
+ add_admins_and_developers_to_forks?: boolean;
8529
8652
  };
8530
8653
  export type GetDeployToData = {
8531
8654
  workspace: string;
@@ -8864,7 +8987,33 @@ export type ListDataTablesResponse = Array<{
8864
8987
  name: string;
8865
8988
  resource_type: 'postgres' | 'instance';
8866
8989
  resource_path: string;
8990
+ governing_workspace_id?: string;
8991
+ permissioned: boolean;
8867
8992
  }>;
8993
+ export type GetDatatablePermissionsData = {
8994
+ datatableName: string;
8995
+ workspace: string;
8996
+ };
8997
+ export type GetDatatablePermissionsResponse = DatatablePermissions;
8998
+ export type SetDatatablePermissionsData = {
8999
+ datatableName: string;
9000
+ requestBody: {
9001
+ permissioned: boolean;
9002
+ default_role?: string;
9003
+ roles?: Array<DatatableRoleTenants>;
9004
+ };
9005
+ workspace: string;
9006
+ };
9007
+ export type SetDatatablePermissionsResponse = string;
9008
+ export type ListUsableDatatableRolesData = {
9009
+ datatableName: string;
9010
+ workspace: string;
9011
+ };
9012
+ export type ListUsableDatatableRolesResponse = {
9013
+ permissioned: boolean;
9014
+ roles: Array<(string)>;
9015
+ default_role: string;
9016
+ };
8868
9017
  export type ListDataTableSchemasData = {
8869
9018
  workspace: string;
8870
9019
  };
@@ -8923,7 +9072,15 @@ export type EditDataTableConfigData = {
8923
9072
  };
8924
9073
  workspace: string;
8925
9074
  };
8926
- export type EditDataTableConfigResponse = unknown;
9075
+ export type EditDataTableConfigResponse = {
9076
+ /**
9077
+ * Data tables in other workspaces that were governed by one this save deleted and no longer resolve.
9078
+ */
9079
+ stranded_references?: Array<{
9080
+ workspace_id: string;
9081
+ datatable: string;
9082
+ }>;
9083
+ };
8927
9084
  export type RunDatatableMigrationsData = {
8928
9085
  datatableName: string;
8929
9086
  /**
@@ -9202,6 +9359,16 @@ export type EditGuestAccessData = {
9202
9359
  workspace: string;
9203
9360
  };
9204
9361
  export type EditGuestAccessResponse = string;
9362
+ export type EditAddAdminsAndDevelopersToForksData = {
9363
+ /**
9364
+ * Whether new forks start with this workspace's admins and developers
9365
+ */
9366
+ requestBody: {
9367
+ add_admins_and_developers_to_forks: boolean;
9368
+ };
9369
+ workspace: string;
9370
+ };
9371
+ export type EditAddAdminsAndDevelopersToForksResponse = string;
9205
9372
  export type EditGuestJwtKeyData = {
9206
9373
  /**
9207
9374
  * The guest JWT verification key
@@ -9482,6 +9649,25 @@ export type RefreshCustomInstanceUserPwdResponse = {
9482
9649
  export type ListCustomInstanceDbsResponse = {
9483
9650
  [key: string]: CustomInstanceDb;
9484
9651
  };
9652
+ export type ListInstanceDatatableRolesResponse = Array<InstanceDatatableRole>;
9653
+ export type CreateInstanceDatatableRoleData = {
9654
+ requestBody: {
9655
+ name: string;
9656
+ };
9657
+ };
9658
+ export type CreateInstanceDatatableRoleResponse = InstanceDatatableRole;
9659
+ export type UpdateInstanceDatatableRoleData = {
9660
+ id: string;
9661
+ requestBody: {
9662
+ name?: string;
9663
+ enabled?: boolean;
9664
+ };
9665
+ };
9666
+ export type UpdateInstanceDatatableRoleResponse = InstanceDatatableRole;
9667
+ export type DeleteInstanceDatatableRoleData = {
9668
+ id: string;
9669
+ };
9670
+ export type DeleteInstanceDatatableRoleResponse = unknown;
9485
9671
  export type SetupCustomInstanceDbData = {
9486
9672
  /**
9487
9673
  * The name of the database to create
@@ -10758,6 +10944,14 @@ export type ListFlowsData = {
10758
10944
  };
10759
10945
  export type ListFlowsResponse = Array<(Flow & {
10760
10946
  draft_only?: boolean;
10947
+ /**
10948
+ * `chat_input_enabled` of the flow's value,
10949
+ * projected so the list can mark flows that open
10950
+ * as a chat. Omitted when the value has no such
10951
+ * field.
10952
+ *
10953
+ */
10954
+ chat_input_enabled?: boolean;
10761
10955
  /**
10762
10956
  * True when the authed user has a draft for this
10763
10957
  * flow — either no deployed row exists at this
@@ -12480,7 +12674,7 @@ export type RunWaitResultFlowByPathData = {
12480
12674
  */
12481
12675
  jobId?: string;
12482
12676
  /**
12483
- * memory ID for chat-enabled flows
12677
+ * 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.
12484
12678
  */
12485
12679
  memoryId?: string;
12486
12680
  path: string;
@@ -12512,7 +12706,7 @@ export type RunWaitResultFlowByVersionData = {
12512
12706
  */
12513
12707
  jobId?: string;
12514
12708
  /**
12515
- * memory ID for chat-enabled flows
12709
+ * 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.
12516
12710
  */
12517
12711
  memoryId?: string;
12518
12712
  /**
@@ -12547,7 +12741,7 @@ export type RunWaitResultFlowByVersionGetData = {
12547
12741
  */
12548
12742
  jobId?: string;
12549
12743
  /**
12550
- * memory ID for chat-enabled flows
12744
+ * 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.
12551
12745
  */
12552
12746
  memoryId?: string;
12553
12747
  /**
@@ -12584,7 +12778,7 @@ export type RunAndStreamFlowByPathData = {
12584
12778
  */
12585
12779
  jobId?: string;
12586
12780
  /**
12587
- * memory ID for chat-enabled flows
12781
+ * 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.
12588
12782
  */
12589
12783
  memoryId?: string;
12590
12784
  path: string;
@@ -12620,7 +12814,7 @@ export type RunAndStreamFlowByPathGetData = {
12620
12814
  */
12621
12815
  jobId?: string;
12622
12816
  /**
12623
- * memory ID for chat-enabled flows
12817
+ * 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.
12624
12818
  */
12625
12819
  memoryId?: string;
12626
12820
  path: string;
@@ -12658,7 +12852,7 @@ export type RunAndStreamFlowByVersionData = {
12658
12852
  */
12659
12853
  jobId?: string;
12660
12854
  /**
12661
- * memory ID for chat-enabled flows
12855
+ * 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.
12662
12856
  */
12663
12857
  memoryId?: string;
12664
12858
  /**
@@ -12697,7 +12891,7 @@ export type RunAndStreamFlowByVersionGetData = {
12697
12891
  */
12698
12892
  jobId?: string;
12699
12893
  /**
12700
- * memory ID for chat-enabled flows
12894
+ * 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.
12701
12895
  */
12702
12896
  memoryId?: string;
12703
12897
  /**
@@ -12938,7 +13132,7 @@ export type RunFlowByPathData = {
12938
13132
  */
12939
13133
  jobId?: string;
12940
13134
  /**
12941
- * memory ID for chat-enabled flows
13135
+ * 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.
12942
13136
  */
12943
13137
  memoryId?: string;
12944
13138
  /**
@@ -12985,7 +13179,7 @@ export type RunFlowByVersionData = {
12985
13179
  */
12986
13180
  jobId?: string;
12987
13181
  /**
12988
- * memory ID for chat-enabled flows
13182
+ * 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.
12989
13183
  */
12990
13184
  memoryId?: string;
12991
13185
  /**
@@ -13280,7 +13474,7 @@ export type RunFlowPreviewData = {
13280
13474
  */
13281
13475
  jobId?: string;
13282
13476
  /**
13283
- * memory ID for chat-enabled flows
13477
+ * 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.
13284
13478
  */
13285
13479
  memoryId?: string;
13286
13480
  /**
@@ -13292,7 +13486,7 @@ export type RunFlowPreviewData = {
13292
13486
  export type RunFlowPreviewResponse = string;
13293
13487
  export type RunFlowPreviewAndWaitResultData = {
13294
13488
  /**
13295
- * memory ID for chat-enabled flows
13489
+ * 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.
13296
13490
  */
13297
13491
  memoryId?: string;
13298
13492
  /**
@@ -14772,6 +14966,10 @@ export type ListFlowConversationsData = {
14772
14966
  * filter conversations by flow path
14773
14967
  */
14774
14968
  flowPath?: string;
14969
+ /**
14970
+ * which conversations to list - the flow editor's test chats, the deployed flow's own (the default), or both
14971
+ */
14972
+ kind?: 'test' | 'deployed' | 'all';
14775
14973
  /**
14776
14974
  * which page to return (start at 1, default 1)
14777
14975
  */
@@ -14783,6 +14981,20 @@ export type ListFlowConversationsData = {
14783
14981
  workspace: string;
14784
14982
  };
14785
14983
  export type ListFlowConversationsResponse = Array<FlowConversation>;
14984
+ export type UpdateFlowConversationData = {
14985
+ /**
14986
+ * conversation id
14987
+ */
14988
+ conversationId: string;
14989
+ requestBody: {
14990
+ /**
14991
+ * the chat's name
14992
+ */
14993
+ title: string;
14994
+ };
14995
+ workspace: string;
14996
+ };
14997
+ export type UpdateFlowConversationResponse = string;
14786
14998
  export type DeleteFlowConversationData = {
14787
14999
  /**
14788
15000
  * conversation id
@@ -18830,6 +19042,19 @@ export type $OpenApiTs = {
18830
19042
  302: unknown;
18831
19043
  };
18832
19044
  };
19045
+ post: {
19046
+ req: {
19047
+ token: string;
19048
+ };
19049
+ res: {
19050
+ /**
19051
+ * the post-login destination, or /user/login_link_expired when the link is used, expired or unknown
19052
+ */
19053
+ 200: {
19054
+ location: string;
19055
+ };
19056
+ };
19057
+ };
18833
19058
  };
18834
19059
  '/auth/reset_password': {
18835
19060
  post: {
@@ -19597,7 +19822,7 @@ export type $OpenApiTs = {
19597
19822
  requestBody: {
19598
19823
  email: string;
19599
19824
  /**
19600
- * link lifetime in seconds, at most 900 (default 600)
19825
+ * link lifetime in seconds, at most 7200 (default 600)
19601
19826
  */
19602
19827
  expires_in_s?: number;
19603
19828
  /**
@@ -19608,6 +19833,10 @@ export type $OpenApiTs = {
19608
19833
  * mint only while the account still has this login type (for example pending_oauth), so a link stops working once the owner has set a password or signed in with a provider
19609
19834
  */
19610
19835
  require_login_type?: string;
19836
+ /**
19837
+ * return a /user/login_link page that signs in only when its button is clicked, instead of a link spent by opening it; set it for links sent by email, which mail scanners open on delivery (default false)
19838
+ */
19839
+ confirm?: boolean;
19611
19840
  };
19612
19841
  };
19613
19842
  res: {
@@ -20640,6 +20869,10 @@ export type $OpenApiTs = {
20640
20869
  * Whether this workspace admits guest sessions. An app's own `guest` execution mode is inert while this is false.
20641
20870
  */
20642
20871
  guest_access_enabled: boolean;
20872
+ /**
20873
+ * Whether every new fork of this workspace starts with its admins and developers as members, keeping their role.
20874
+ */
20875
+ add_admins_and_developers_to_forks: boolean;
20643
20876
  };
20644
20877
  };
20645
20878
  };
@@ -20702,6 +20935,10 @@ export type $OpenApiTs = {
20702
20935
  * JWKS URL a guest JWT (`jwt_guest_`) is verified against for this workspace. Mutually exclusive with `guest_jwt_public_key`.
20703
20936
  */
20704
20937
  guest_jwt_jwks_url?: string;
20938
+ /**
20939
+ * Whether every new fork of this workspace starts with its admins and developers as members, keeping their role.
20940
+ */
20941
+ add_admins_and_developers_to_forks?: boolean;
20705
20942
  };
20706
20943
  };
20707
20944
  };
@@ -21340,10 +21577,61 @@ export type $OpenApiTs = {
21340
21577
  name: string;
21341
21578
  resource_type: 'postgres' | 'instance';
21342
21579
  resource_path: string;
21580
+ governing_workspace_id?: string;
21581
+ permissioned: boolean;
21343
21582
  }>;
21344
21583
  };
21345
21584
  };
21346
21585
  };
21586
+ '/w/{workspace}/workspaces/datatable_permissions/{datatable_name}': {
21587
+ get: {
21588
+ req: {
21589
+ datatableName: string;
21590
+ workspace: string;
21591
+ };
21592
+ res: {
21593
+ /**
21594
+ * the data table's roles and their tenants
21595
+ */
21596
+ 200: DatatablePermissions;
21597
+ };
21598
+ };
21599
+ post: {
21600
+ req: {
21601
+ datatableName: string;
21602
+ requestBody: {
21603
+ permissioned: boolean;
21604
+ default_role?: string;
21605
+ roles?: Array<DatatableRoleTenants>;
21606
+ };
21607
+ workspace: string;
21608
+ };
21609
+ res: {
21610
+ /**
21611
+ * status
21612
+ */
21613
+ 200: string;
21614
+ };
21615
+ };
21616
+ };
21617
+ '/w/{workspace}/workspaces/datatable_usable_roles/{datatable_name}': {
21618
+ get: {
21619
+ req: {
21620
+ datatableName: string;
21621
+ workspace: string;
21622
+ };
21623
+ res: {
21624
+ /**
21625
+ * usable roles
21626
+ */
21627
+ 200: {
21628
+ permissioned: boolean;
21629
+ roles: Array<(string)>;
21630
+ default_role: string;
21631
+ };
21632
+ };
21633
+ };
21634
+ };
21347
21635
  '/w/{workspace}/workspaces/list_datatable_schemas': {
21348
21636
  get: {
21349
21637
  req: {
@@ -21453,7 +21741,15 @@ export type $OpenApiTs = {
21453
21741
  /**
21454
21742
  * status
21455
21743
  */
21456
- 200: unknown;
21744
+ 200: {
21745
+ /**
21746
+ * Data tables in other workspaces that were governed by one this save deleted and no longer resolve.
21747
+ */
21748
+ stranded_references?: Array<{
21749
+ workspace_id: string;
21750
+ datatable: string;
21751
+ }>;
21752
+ };
21457
21753
  };
21458
21754
  };
21459
21755
  };
@@ -21951,6 +22247,25 @@ export type $OpenApiTs = {
21951
22247
  };
21952
22248
  };
21953
22249
  };
22250
+ '/w/{workspace}/workspaces/edit_add_admins_and_developers_to_forks': {
22251
+ post: {
22252
+ req: {
22253
+ /**
22254
+ * Whether new forks start with this workspace's admins and developers
22255
+ */
22256
+ requestBody: {
22257
+ add_admins_and_developers_to_forks: boolean;
22258
+ };
22259
+ workspace: string;
22260
+ };
22261
+ res: {
22262
+ /**
22263
+ * status
22264
+ */
22265
+ 200: string;
22266
+ };
22267
+ };
22268
+ };
21954
22269
  '/w/{workspace}/workspaces/edit_guest_jwt_key': {
21955
22270
  post: {
21956
22271
  req: {
@@ -22535,6 +22850,57 @@ export type $OpenApiTs = {
22535
22850
  };
22536
22851
  };
22537
22852
  };
22853
+ '/settings/datatable_roles': {
22854
+ get: {
22855
+ res: {
22856
+ /**
22857
+ * the instance role catalog
22858
+ */
22859
+ 200: Array<InstanceDatatableRole>;
22860
+ };
22861
+ };
22862
+ post: {
22863
+ req: {
22864
+ requestBody: {
22865
+ name: string;
22866
+ };
22867
+ };
22868
+ res: {
22869
+ /**
22870
+ * the created role
22871
+ */
22872
+ 200: InstanceDatatableRole;
22873
+ };
22874
+ };
22875
+ };
22876
+ '/settings/datatable_roles/{id}': {
22877
+ post: {
22878
+ req: {
22879
+ id: string;
22880
+ requestBody: {
22881
+ name?: string;
22882
+ enabled?: boolean;
22883
+ };
22884
+ };
22885
+ res: {
22886
+ /**
22887
+ * the updated role
22888
+ */
22889
+ 200: InstanceDatatableRole;
22890
+ };
22891
+ };
22892
+ delete: {
22893
+ req: {
22894
+ id: string;
22895
+ };
22896
+ res: {
22897
+ /**
22898
+ * deleted
22899
+ */
22900
+ 200: unknown;
22901
+ };
22902
+ };
22903
+ };
22538
22904
  '/settings/setup_custom_instance_pg_database/{name}': {
22539
22905
  post: {
22540
22906
  req: {
@@ -24909,6 +25275,14 @@ export type $OpenApiTs = {
24909
25275
  */
24910
25276
  200: Array<(Flow & {
24911
25277
  draft_only?: boolean;
25278
+ /**
25279
+ * `chat_input_enabled` of the flow's value,
25280
+ * projected so the list can mark flows that open
25281
+ * as a chat. Omitted when the value has no such
25282
+ * field.
25283
+ *
25284
+ */
25285
+ chat_input_enabled?: boolean;
24912
25286
  /**
24913
25287
  * True when the authed user has a draft for this
24914
25288
  * flow — either no deployed row exists at this
@@ -27736,7 +28110,7 @@ export type $OpenApiTs = {
27736
28110
  */
27737
28111
  jobId?: string;
27738
28112
  /**
27739
- * memory ID for chat-enabled flows
28113
+ * 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.
27740
28114
  */
27741
28115
  memoryId?: string;
27742
28116
  path: string;
@@ -27777,7 +28151,7 @@ export type $OpenApiTs = {
27777
28151
  */
27778
28152
  jobId?: string;
27779
28153
  /**
27780
- * memory ID for chat-enabled flows
28154
+ * 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.
27781
28155
  */
27782
28156
  memoryId?: string;
27783
28157
  /**
@@ -27819,7 +28193,7 @@ export type $OpenApiTs = {
27819
28193
  */
27820
28194
  jobId?: string;
27821
28195
  /**
27822
- * memory ID for chat-enabled flows
28196
+ * 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.
27823
28197
  */
27824
28198
  memoryId?: string;
27825
28199
  /**
@@ -27865,7 +28239,7 @@ export type $OpenApiTs = {
27865
28239
  */
27866
28240
  jobId?: string;
27867
28241
  /**
27868
- * memory ID for chat-enabled flows
28242
+ * 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.
27869
28243
  */
27870
28244
  memoryId?: string;
27871
28245
  path: string;
@@ -27908,7 +28282,7 @@ export type $OpenApiTs = {
27908
28282
  */
27909
28283
  jobId?: string;
27910
28284
  /**
27911
- * memory ID for chat-enabled flows
28285
+ * 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.
27912
28286
  */
27913
28287
  memoryId?: string;
27914
28288
  path: string;
@@ -27955,7 +28329,7 @@ export type $OpenApiTs = {
27955
28329
  */
27956
28330
  jobId?: string;
27957
28331
  /**
27958
- * memory ID for chat-enabled flows
28332
+ * 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.
27959
28333
  */
27960
28334
  memoryId?: string;
27961
28335
  /**
@@ -28001,7 +28375,7 @@ export type $OpenApiTs = {
28001
28375
  */
28002
28376
  jobId?: string;
28003
28377
  /**
28004
- * memory ID for chat-enabled flows
28378
+ * 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.
28005
28379
  */
28006
28380
  memoryId?: string;
28007
28381
  /**
@@ -28310,7 +28684,7 @@ export type $OpenApiTs = {
28310
28684
  */
28311
28685
  jobId?: string;
28312
28686
  /**
28313
- * memory ID for chat-enabled flows
28687
+ * 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.
28314
28688
  */
28315
28689
  memoryId?: string;
28316
28690
  /**
@@ -28366,7 +28740,7 @@ export type $OpenApiTs = {
28366
28740
  */
28367
28741
  jobId?: string;
28368
28742
  /**
28369
- * memory ID for chat-enabled flows
28743
+ * 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.
28370
28744
  */
28371
28745
  memoryId?: string;
28372
28746
  /**
@@ -28778,7 +29152,7 @@ export type $OpenApiTs = {
28778
29152
  */
28779
29153
  jobId?: string;
28780
29154
  /**
28781
- * memory ID for chat-enabled flows
29155
+ * 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.
28782
29156
  */
28783
29157
  memoryId?: string;
28784
29158
  /**
@@ -28799,7 +29173,7 @@ export type $OpenApiTs = {
28799
29173
  post: {
28800
29174
  req: {
28801
29175
  /**
28802
- * memory ID for chat-enabled flows
29176
+ * 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.
28803
29177
  */
28804
29178
  memoryId?: string;
28805
29179
  /**
@@ -30885,6 +31259,10 @@ export type $OpenApiTs = {
30885
31259
  * filter conversations by flow path
30886
31260
  */
30887
31261
  flowPath?: string;
31262
+ /**
31263
+ * which conversations to list - the flow editor's test chats, the deployed flow's own (the default), or both
31264
+ */
31265
+ kind?: 'test' | 'deployed' | 'all';
30888
31266
  /**
30889
31267
  * which page to return (start at 1, default 1)
30890
31268
  */
@@ -30903,6 +31281,29 @@ export type $OpenApiTs = {
30903
31281
  };
30904
31282
  };
30905
31283
  };
31284
+ '/w/{workspace}/flow_conversations/update/{conversation_id}': {
31285
+ post: {
31286
+ req: {
31287
+ /**
31288
+ * conversation id
31289
+ */
31290
+ conversationId: string;
31291
+ requestBody: {
31292
+ /**
31293
+ * the chat's name
31294
+ */
31295
+ title: string;
31296
+ };
31297
+ workspace: string;
31298
+ };
31299
+ res: {
31300
+ /**
31301
+ * flow conversation updated
31302
+ */
31303
+ 200: string;
31304
+ };
31305
+ };
31306
+ };
30906
31307
  '/w/{workspace}/flow_conversations/delete/{conversation_id}': {
30907
31308
  delete: {
30908
31309
  req: {