windmill-client 1.811.1 → 1.813.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.
- package/dist/client.d.ts +7 -0
- package/dist/core/OpenAPI.mjs +1 -1
- package/dist/index.js +346 -1
- package/dist/index.mjs +2 -2
- package/dist/services.gen.d.ts +181 -1
- package/dist/services.gen.mjs +345 -1
- package/dist/types.gen.d.ts +838 -28
- package/package.json +1 -1
package/dist/types.gen.d.ts
CHANGED
|
@@ -937,6 +937,18 @@ export type AiAgent = {
|
|
|
937
937
|
*
|
|
938
938
|
*/
|
|
939
939
|
user_attachments?: InputTransform;
|
|
940
|
+
/**
|
|
941
|
+
* Array of strings naming which of the tools configured in `tools` the agent may call
|
|
942
|
+
* this run. Leaving it unset carries every one of them; an empty array carries none.
|
|
943
|
+
* A tool is named as the model is shown it. An entry the model is shown nothing of is
|
|
944
|
+
* named by what identifies it instead: an MCP server by its resource path, carrying
|
|
945
|
+
* every tool it exposes (which of them stays that entry's include_tools/exclude_tools),
|
|
946
|
+
* and a websearch entry by the reserved name '__wm_web_search', whatever summary it carries
|
|
947
|
+
* (no tool may take that name).
|
|
948
|
+
* Example: ['get_user', 'u/admin/github_mcp', '__wm_web_search']
|
|
949
|
+
*
|
|
950
|
+
*/
|
|
951
|
+
enabled_tools?: InputTransform;
|
|
940
952
|
/**
|
|
941
953
|
* Integer. Maximum number of tokens the AI will generate in its response.
|
|
942
954
|
* Range: 1 to 4,294,967,295. Typical values: 256-4096 for most use cases.
|
|
@@ -1011,7 +1023,7 @@ export type AiAgent = {
|
|
|
1011
1023
|
* Path of a reusable `ai_agent` resource (hybrid linking). When set, the agent brain
|
|
1012
1024
|
* config (provider/model/system prompt/etc.) and tool set are resolved at runtime from
|
|
1013
1025
|
* that resource; the module's input_transforms then only carry the flow-local inputs
|
|
1014
|
-
* (user_message/user_attachments).
|
|
1026
|
+
* (user_message/user_attachments/enabled_tools).
|
|
1015
1027
|
*
|
|
1016
1028
|
*/
|
|
1017
1029
|
agent?: string;
|
|
@@ -1895,6 +1907,97 @@ export type AIConfig = {
|
|
|
1895
1907
|
* Hides the Windmill AI assistant (chat, sessions, code generation, completion, fixes) from the workspace UI. Read from the workspace's own settings even when the providers served fall back to the instance config. AI agent steps and the AI sandbox in flows are unaffected.
|
|
1896
1908
|
*/
|
|
1897
1909
|
copilot_disabled?: boolean;
|
|
1910
|
+
/**
|
|
1911
|
+
* Stops browsers from backing their AI sessions up to the workspace's object storage. Read from the workspace's own settings like `copilot_disabled`.
|
|
1912
|
+
*/
|
|
1913
|
+
sessions_storage_disabled?: boolean;
|
|
1914
|
+
/**
|
|
1915
|
+
* The server deletes the backup of a session no push has reached for this many days. Unset keeps backups until the user deletes the session. Read from the workspace's own settings like `copilot_disabled`.
|
|
1916
|
+
*/
|
|
1917
|
+
sessions_retention_days?: number;
|
|
1918
|
+
};
|
|
1919
|
+
export type AISessionBackupListing = {
|
|
1920
|
+
id: string;
|
|
1921
|
+
updated_at: string;
|
|
1922
|
+
/**
|
|
1923
|
+
* the session's move count when this copy was pushed; of a session two workspaces list, the copy with the higher one is the later
|
|
1924
|
+
*/
|
|
1925
|
+
epoch: number;
|
|
1926
|
+
};
|
|
1927
|
+
export type AISessionBackupImage = {
|
|
1928
|
+
chat_id: string;
|
|
1929
|
+
id: string;
|
|
1930
|
+
data_url: string;
|
|
1931
|
+
};
|
|
1932
|
+
export type AISessionBackupChat = {
|
|
1933
|
+
id: string;
|
|
1934
|
+
record: {
|
|
1935
|
+
[key: string]: unknown;
|
|
1936
|
+
};
|
|
1937
|
+
};
|
|
1938
|
+
export type AISessionBackup = {
|
|
1939
|
+
id: string;
|
|
1940
|
+
head: {
|
|
1941
|
+
[key: string]: unknown;
|
|
1942
|
+
};
|
|
1943
|
+
chats: Array<AISessionBackupChat>;
|
|
1944
|
+
images: Array<AISessionBackupImage>;
|
|
1945
|
+
artifacts?: {
|
|
1946
|
+
[key: string]: unknown;
|
|
1947
|
+
};
|
|
1948
|
+
next?: AISessionBackupCursor;
|
|
1949
|
+
/**
|
|
1950
|
+
* a fingerprint of the session's listing; pages of one session whose fingerprints differ do not belong together
|
|
1951
|
+
*/
|
|
1952
|
+
listing: string;
|
|
1953
|
+
/**
|
|
1954
|
+
* the backup kept changing while this page was read, so it may mix two versions; the browser starts the session over
|
|
1955
|
+
*/
|
|
1956
|
+
moved?: boolean;
|
|
1957
|
+
};
|
|
1958
|
+
/**
|
|
1959
|
+
* where a pull of a session that did not fit one answer whole picks up; the rest of the session follows a pull naming that session alone with this as `resume`
|
|
1960
|
+
*/
|
|
1961
|
+
export type AISessionBackupCursor = {
|
|
1962
|
+
id: string;
|
|
1963
|
+
images: boolean;
|
|
1964
|
+
after: string;
|
|
1965
|
+
};
|
|
1966
|
+
export type AISessionBackupPush = {
|
|
1967
|
+
id: string;
|
|
1968
|
+
head?: {
|
|
1969
|
+
[key: string]: unknown;
|
|
1970
|
+
};
|
|
1971
|
+
chats?: Array<AISessionBackupChat>;
|
|
1972
|
+
images?: Array<AISessionBackupImage>;
|
|
1973
|
+
artifacts?: {
|
|
1974
|
+
[key: string]: unknown;
|
|
1975
|
+
};
|
|
1976
|
+
delete_chats?: Array<(string)>;
|
|
1977
|
+
delete_images?: Array<{
|
|
1978
|
+
chat_id: string;
|
|
1979
|
+
id: string;
|
|
1980
|
+
}>;
|
|
1981
|
+
/**
|
|
1982
|
+
* more parts of this session follow, in this push or a later one; the session is not listed on this one. Such a part names its push (`push`), or it is refused
|
|
1983
|
+
*/
|
|
1984
|
+
partial?: boolean;
|
|
1985
|
+
/**
|
|
1986
|
+
* a part of a push of the session whole; the head is on the part that opens it, which replaces whatever the storage holds of the session, and every piece the browser has is on one of them. An incremental part instead rides on a session the storage lists and is refused with needs_whole when it lists none
|
|
1987
|
+
*/
|
|
1988
|
+
whole?: boolean;
|
|
1989
|
+
/**
|
|
1990
|
+
* a push split over several parts names itself on each with a token the browser draws; the part that opens it unlists the session and the last part lists it again, and a later part is written only while that token is the one there (refused with needs_whole otherwise)
|
|
1991
|
+
*/
|
|
1992
|
+
push?: string;
|
|
1993
|
+
/**
|
|
1994
|
+
* this part opens the push named by `push`
|
|
1995
|
+
*/
|
|
1996
|
+
opens?: boolean;
|
|
1997
|
+
/**
|
|
1998
|
+
* the session's move count (its record's `moves`), kept with the marker that lists the session; an incremental part rides on the marker of the same count
|
|
1999
|
+
*/
|
|
2000
|
+
epoch?: number;
|
|
1898
2001
|
};
|
|
1899
2002
|
/**
|
|
1900
2003
|
* Read-only. Present when the workspace has no AI provider of its own and is running on Windmill's free tier. Ignored on write.
|
|
@@ -1946,6 +2049,15 @@ export type AITokenUsageBucket = {
|
|
|
1946
2049
|
reported_cost_nano_usd?: number;
|
|
1947
2050
|
requests: number;
|
|
1948
2051
|
};
|
|
2052
|
+
export type SharedAiArtifactInfo = {
|
|
2053
|
+
id: string;
|
|
2054
|
+
name: string;
|
|
2055
|
+
kind: 'md' | 'html';
|
|
2056
|
+
version: number;
|
|
2057
|
+
created_by: string;
|
|
2058
|
+
shared_at: string;
|
|
2059
|
+
expires_at: string;
|
|
2060
|
+
};
|
|
1949
2061
|
export type InstanceAIProviderSummary = {
|
|
1950
2062
|
provider: AIProvider;
|
|
1951
2063
|
models: Array<(string)>;
|
|
@@ -2792,6 +2904,30 @@ export type AuditLog = {
|
|
|
2792
2904
|
};
|
|
2793
2905
|
span?: string;
|
|
2794
2906
|
};
|
|
2907
|
+
export type TrashItem = {
|
|
2908
|
+
id: number;
|
|
2909
|
+
workspace_id: string;
|
|
2910
|
+
/**
|
|
2911
|
+
* script, flow, app, schedule, variable, resource, or a trigger kind such as http_trigger
|
|
2912
|
+
*/
|
|
2913
|
+
item_kind: string;
|
|
2914
|
+
item_path: string;
|
|
2915
|
+
deleted_by: string;
|
|
2916
|
+
deleted_at: string;
|
|
2917
|
+
/**
|
|
2918
|
+
* when the item is permanently deleted unless restored first
|
|
2919
|
+
*/
|
|
2920
|
+
expires_at: string;
|
|
2921
|
+
};
|
|
2922
|
+
export type TrashItemWithData = TrashItem & {
|
|
2923
|
+
/**
|
|
2924
|
+
* the deleted rows as they were stored; the shape depends on the kind, and a secret variable's value stays encrypted
|
|
2925
|
+
*
|
|
2926
|
+
*/
|
|
2927
|
+
item_data: {
|
|
2928
|
+
[key: string]: unknown;
|
|
2929
|
+
};
|
|
2930
|
+
};
|
|
2795
2931
|
export type MainArgSignature = {
|
|
2796
2932
|
type: 'Valid' | 'Invalid';
|
|
2797
2933
|
error: string;
|
|
@@ -3008,6 +3144,10 @@ export type ResourceType = {
|
|
|
3008
3144
|
edited_at?: string;
|
|
3009
3145
|
format_extension?: string;
|
|
3010
3146
|
is_fileset?: boolean;
|
|
3147
|
+
/**
|
|
3148
|
+
* The name the product goes by, e.g. "Google Sheets" for gsheets. Absent where nobody named the type.
|
|
3149
|
+
*/
|
|
3150
|
+
display_name?: string;
|
|
3011
3151
|
};
|
|
3012
3152
|
export type EditResourceType = {
|
|
3013
3153
|
schema?: unknown;
|
|
@@ -3017,6 +3157,10 @@ export type EditResourceType = {
|
|
|
3017
3157
|
* File extension for a type whose value is one file rather than a set of fields. Omit to leave it unchanged; send null to clear it.
|
|
3018
3158
|
*/
|
|
3019
3159
|
format_extension?: string | null;
|
|
3160
|
+
/**
|
|
3161
|
+
* The name the product goes by. Omit to leave it unchanged; send null to clear it.
|
|
3162
|
+
*/
|
|
3163
|
+
display_name?: string | null;
|
|
3020
3164
|
};
|
|
3021
3165
|
export type TriggerHistoryEntry = {
|
|
3022
3166
|
id: number;
|
|
@@ -3523,6 +3667,10 @@ export type HttpTrigger = TriggerExtraProperty & {
|
|
|
3523
3667
|
* If true, passes the request body as a raw string instead of parsing as JSON
|
|
3524
3668
|
*/
|
|
3525
3669
|
raw_string: boolean;
|
|
3670
|
+
/**
|
|
3671
|
+
* Origins allowed to call this route cross-origin, matched against the request's Origin header (ignoring case) and echoed back on a match. When set, the list governs both the preflight and the response, overriding any Access-Control-Allow-Origin the runnable returns via wm_headers. Use ['*'] to opt out of any restriction, including the http_route_default_allowed_origins instance setting. An empty list is not a configuration and resolves exactly as null does. When null, the instance setting applies, or Access-Control-Allow-Origin: * if it is unset. Ignored on a static website, which has no authentication of its own and so hands out public files: restricting which browsers may read them protects nothing while breaking cross-origin webfonts and fetches. A single-file static asset is not exempt, since it can carry an authentication_method.
|
|
3672
|
+
*/
|
|
3673
|
+
allowed_origins?: Array<(string)> | null;
|
|
3526
3674
|
/**
|
|
3527
3675
|
* Path to a script to run when the triggered job fails. A bare path, without the script/ or flow/ prefix a schedule error handler takes; it cannot be a flow.
|
|
3528
3676
|
*/
|
|
@@ -3615,6 +3763,10 @@ export type NewHttpTrigger = {
|
|
|
3615
3763
|
* If true, passes the request body as a raw string instead of parsing as JSON
|
|
3616
3764
|
*/
|
|
3617
3765
|
raw_string?: boolean;
|
|
3766
|
+
/**
|
|
3767
|
+
* Origins allowed to call this route cross-origin, matched against the request's Origin header (ignoring case) and echoed back on a match. When set, the list governs both the preflight and the response, overriding any Access-Control-Allow-Origin the runnable returns via wm_headers. Use ['*'] to opt out of any restriction, including the http_route_default_allowed_origins instance setting. An empty list is not a configuration and resolves exactly as null does. When null, the instance setting applies, or Access-Control-Allow-Origin: * if it is unset. Ignored on a static website, which has no authentication of its own and so hands out public files: restricting which browsers may read them protects nothing while breaking cross-origin webfonts and fetches. A single-file static asset is not exempt, since it can carry an authentication_method.
|
|
3768
|
+
*/
|
|
3769
|
+
allowed_origins?: Array<(string)> | null;
|
|
3618
3770
|
/**
|
|
3619
3771
|
* Path to a script to run when the triggered job fails. A bare path, without the script/ or flow/ prefix a schedule error handler takes; it cannot be a flow.
|
|
3620
3772
|
*/
|
|
@@ -3715,6 +3867,10 @@ export type EditHttpTrigger = {
|
|
|
3715
3867
|
* If true, passes the request body as a raw string instead of parsing as JSON
|
|
3716
3868
|
*/
|
|
3717
3869
|
raw_string?: boolean;
|
|
3870
|
+
/**
|
|
3871
|
+
* Origins allowed to call this route cross-origin, matched against the request's Origin header (ignoring case) and echoed back on a match. When set, the list governs both the preflight and the response, overriding any Access-Control-Allow-Origin the runnable returns via wm_headers. Use ['*'] to opt out of any restriction, including the http_route_default_allowed_origins instance setting. An empty list is not a configuration and resolves exactly as null does. When null, the instance setting applies, or Access-Control-Allow-Origin: * if it is unset. Ignored on a static website, which has no authentication of its own and so hands out public files: restricting which browsers may read them protects nothing while breaking cross-origin webfonts and fetches. A single-file static asset is not exempt, since it can carry an authentication_method.
|
|
3872
|
+
*/
|
|
3873
|
+
allowed_origins?: Array<(string)> | null;
|
|
3718
3874
|
/**
|
|
3719
3875
|
* Path to a script to run when the triggered job fails. A bare path, without the script/ or flow/ prefix a schedule error handler takes; it cannot be a flow.
|
|
3720
3876
|
*/
|
|
@@ -5489,7 +5645,7 @@ export type WorkspaceInvite = {
|
|
|
5489
5645
|
};
|
|
5490
5646
|
export type GlobalUserInfo = {
|
|
5491
5647
|
email: string;
|
|
5492
|
-
login_type: 'password' | 'github' | 'service_account';
|
|
5648
|
+
login_type: 'password' | 'github' | 'service_account' | 'pending_oauth';
|
|
5493
5649
|
super_admin: boolean;
|
|
5494
5650
|
devops?: boolean;
|
|
5495
5651
|
verified: boolean;
|
|
@@ -5647,7 +5803,7 @@ export type Policy = {
|
|
|
5647
5803
|
*/
|
|
5648
5804
|
sandbox?: boolean;
|
|
5649
5805
|
/**
|
|
5650
|
-
* Raw apps: author-declared scopes for the frontend SDK token. Takes effect only when `sandbox` is also true — an unsandboxed bundle runs with the viewer's own session, so no token is advertised or minted for it and this list stays inert. On a sandboxed app a non-empty list lets viewers mint (after consenting) a short-lived token carrying their own identity restricted to these scopes, handed to the app bundle so `windmill-client` calls run as the viewer. Must be a subset of the server's curated allowlist (jobs:run, jobs:read, users:read, resources:read, variables:read).
|
|
5806
|
+
* Raw apps: author-declared scopes for the frontend SDK token. Takes effect only when `sandbox` is also true — an unsandboxed bundle runs with the viewer's own session, so no token is advertised or minted for it and this list stays inert. On a sandboxed app a non-empty list lets viewers mint (after consenting) a short-lived token carrying their own identity restricted to these scopes, handed to the app bundle so `windmill-client` calls run as the viewer. Must be a subset of the server's curated allowlist (jobs:run, jobs:read, users:read, resources:read, variables:read, flow_conversations:read, flow_conversations:write).
|
|
5651
5807
|
*
|
|
5652
5808
|
*/
|
|
5653
5809
|
frontend_sdk_scopes?: Array<(string)>;
|
|
@@ -6118,6 +6274,10 @@ export type AutoPullSettings = {
|
|
|
6118
6274
|
[key: string]: (string);
|
|
6119
6275
|
};
|
|
6120
6276
|
last_pull_status?: AutoPullStatus;
|
|
6277
|
+
/**
|
|
6278
|
+
* Email of the admin automatic pulls apply changes as. Set by the server when the settings are saved.
|
|
6279
|
+
*/
|
|
6280
|
+
enabled_by?: string;
|
|
6121
6281
|
};
|
|
6122
6282
|
export type MetricMetadata = {
|
|
6123
6283
|
id: string;
|
|
@@ -7416,6 +7576,42 @@ export type ListAuditLogsData = {
|
|
|
7416
7576
|
workspace: string;
|
|
7417
7577
|
};
|
|
7418
7578
|
export type ListAuditLogsResponse = Array<AuditLog>;
|
|
7579
|
+
export type ListTrashData = {
|
|
7580
|
+
/**
|
|
7581
|
+
* only return items of this kind: script, flow, app, schedule, variable, resource, or a trigger kind such as http_trigger
|
|
7582
|
+
*
|
|
7583
|
+
*/
|
|
7584
|
+
itemKind?: string;
|
|
7585
|
+
/**
|
|
7586
|
+
* which page to return (starts at 0, default 0)
|
|
7587
|
+
*/
|
|
7588
|
+
page?: number;
|
|
7589
|
+
/**
|
|
7590
|
+
* number of items to return for a given page (default 100, max 1000)
|
|
7591
|
+
*/
|
|
7592
|
+
perPage?: number;
|
|
7593
|
+
workspace: string;
|
|
7594
|
+
};
|
|
7595
|
+
export type ListTrashResponse = Array<TrashItem>;
|
|
7596
|
+
export type GetTrashItemData = {
|
|
7597
|
+
id: number;
|
|
7598
|
+
workspace: string;
|
|
7599
|
+
};
|
|
7600
|
+
export type GetTrashItemResponse = TrashItemWithData;
|
|
7601
|
+
export type RestoreTrashItemData = {
|
|
7602
|
+
id: number;
|
|
7603
|
+
workspace: string;
|
|
7604
|
+
};
|
|
7605
|
+
export type RestoreTrashItemResponse = string;
|
|
7606
|
+
export type PermanentlyDeleteTrashItemData = {
|
|
7607
|
+
id: number;
|
|
7608
|
+
workspace: string;
|
|
7609
|
+
};
|
|
7610
|
+
export type PermanentlyDeleteTrashItemResponse = string;
|
|
7611
|
+
export type EmptyTrashData = {
|
|
7612
|
+
workspace: string;
|
|
7613
|
+
};
|
|
7614
|
+
export type EmptyTrashResponse = string;
|
|
7419
7615
|
export type LoginData = {
|
|
7420
7616
|
/**
|
|
7421
7617
|
* credentials
|
|
@@ -7435,6 +7631,10 @@ export type RequestPasswordResetData = {
|
|
|
7435
7631
|
};
|
|
7436
7632
|
};
|
|
7437
7633
|
export type RequestPasswordResetResponse = PasswordResetResponse;
|
|
7634
|
+
export type ConsumeLoginLinkData = {
|
|
7635
|
+
rd?: string;
|
|
7636
|
+
token: string;
|
|
7637
|
+
};
|
|
7438
7638
|
export type ResetPasswordData = {
|
|
7439
7639
|
/**
|
|
7440
7640
|
* token and new password
|
|
@@ -7499,7 +7699,7 @@ export type CreateUserGloballyData = {
|
|
|
7499
7699
|
*/
|
|
7500
7700
|
requestBody: {
|
|
7501
7701
|
email: string;
|
|
7502
|
-
password
|
|
7702
|
+
password?: string;
|
|
7503
7703
|
super_admin: boolean;
|
|
7504
7704
|
name?: string;
|
|
7505
7705
|
company?: string;
|
|
@@ -7507,6 +7707,10 @@ export type CreateUserGloballyData = {
|
|
|
7507
7707
|
* Skip sending email notifications to the user
|
|
7508
7708
|
*/
|
|
7509
7709
|
skip_email?: boolean;
|
|
7710
|
+
/**
|
|
7711
|
+
* password (default, requires `password`), pending_oauth (no credential until the first OAuth login proving the address adopts the account), or a configured OAuth login client key
|
|
7712
|
+
*/
|
|
7713
|
+
login_type?: string;
|
|
7510
7714
|
};
|
|
7511
7715
|
};
|
|
7512
7716
|
export type CreateUserGloballyResponse = string;
|
|
@@ -7754,6 +7958,67 @@ export type CreateTokenImpersonateData = {
|
|
|
7754
7958
|
requestBody: NewTokenImpersonate;
|
|
7755
7959
|
};
|
|
7756
7960
|
export type CreateTokenImpersonateResponse = string;
|
|
7961
|
+
export type CreateLoginLinkData = {
|
|
7962
|
+
/**
|
|
7963
|
+
* target account and link options
|
|
7964
|
+
*/
|
|
7965
|
+
requestBody: {
|
|
7966
|
+
email: string;
|
|
7967
|
+
/**
|
|
7968
|
+
* link lifetime in seconds, at most 900 (default 600)
|
|
7969
|
+
*/
|
|
7970
|
+
expires_in_s?: number;
|
|
7971
|
+
/**
|
|
7972
|
+
* same-origin path the browser lands on after login (default /user/workspaces)
|
|
7973
|
+
*/
|
|
7974
|
+
rd?: string;
|
|
7975
|
+
/**
|
|
7976
|
+
* 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
|
+
*/
|
|
7978
|
+
require_login_type?: string;
|
|
7979
|
+
};
|
|
7980
|
+
};
|
|
7981
|
+
export type CreateLoginLinkResponse = {
|
|
7982
|
+
url: string;
|
|
7983
|
+
expires_at: string;
|
|
7984
|
+
};
|
|
7985
|
+
export type SetCloudTrialOfferData = {
|
|
7986
|
+
requestBody: {
|
|
7987
|
+
email: string;
|
|
7988
|
+
/**
|
|
7989
|
+
* mark the offer used (a trial or subscription now exists) instead of recording it
|
|
7990
|
+
*/
|
|
7991
|
+
consumed?: boolean;
|
|
7992
|
+
};
|
|
7993
|
+
};
|
|
7994
|
+
export type SetCloudTrialOfferResponse = string;
|
|
7995
|
+
export type GetCloudTrialOfferResponse = {
|
|
7996
|
+
offered: boolean;
|
|
7997
|
+
};
|
|
7998
|
+
export type GoCloudTrialOfferResponse = {
|
|
7999
|
+
location: string;
|
|
8000
|
+
/**
|
|
8001
|
+
* present when the portal refused (e.g. the account already has a subscription); the offer is then spent
|
|
8002
|
+
*/
|
|
8003
|
+
reason?: string;
|
|
8004
|
+
};
|
|
8005
|
+
export type SetOnboardingProfileData = {
|
|
8006
|
+
requestBody: {
|
|
8007
|
+
email: string;
|
|
8008
|
+
/**
|
|
8009
|
+
* free-form context from the invite, every key optional. The frontend reads `touch_point` (answers onboarding's source question), `company` and `workspace_name` (prefill the first workspace's name), `hub_projects` (slugs surfaced first on an empty workspace), `tools` (integrations, used to pick hub projects when none are named) and `starter_prompts` (`[{label, prompt}]`, replacing the home page's example prompts); unknown keys are kept and ignored
|
|
8010
|
+
*/
|
|
8011
|
+
profile: {
|
|
8012
|
+
[key: string]: unknown;
|
|
8013
|
+
};
|
|
8014
|
+
};
|
|
8015
|
+
};
|
|
8016
|
+
export type SetOnboardingProfileResponse = string;
|
|
8017
|
+
export type GetOnboardingProfileResponse = {
|
|
8018
|
+
profile?: {
|
|
8019
|
+
[key: string]: unknown;
|
|
8020
|
+
} | null;
|
|
8021
|
+
};
|
|
7757
8022
|
export type DeleteTokenData = {
|
|
7758
8023
|
tokenPrefix: string;
|
|
7759
8024
|
};
|
|
@@ -7937,6 +8202,14 @@ export type GetSessionWorkspaceStatusData = {
|
|
|
7937
8202
|
export type GetSessionWorkspaceStatusResponse = {
|
|
7938
8203
|
[key: string]: ('active' | 'archived' | 'deleted');
|
|
7939
8204
|
};
|
|
8205
|
+
export type GetSessionWorkspaceRetentionData = {
|
|
8206
|
+
requestBody: {
|
|
8207
|
+
workspace_ids: Array<(string)>;
|
|
8208
|
+
};
|
|
8209
|
+
};
|
|
8210
|
+
export type GetSessionWorkspaceRetentionResponse = {
|
|
8211
|
+
[key: string]: (number);
|
|
8212
|
+
};
|
|
7940
8213
|
export type GetWorkspaceAsSuperAdminData = {
|
|
7941
8214
|
workspace: string;
|
|
7942
8215
|
};
|
|
@@ -10381,6 +10654,10 @@ export type ListHubIntegrationsResponse = Array<{
|
|
|
10381
10654
|
* how often the integration has been picked, absent on a hub that does not count picks
|
|
10382
10655
|
*/
|
|
10383
10656
|
picks?: number;
|
|
10657
|
+
/**
|
|
10658
|
+
* the label the hub curates for the integration, null or absent where it names none
|
|
10659
|
+
*/
|
|
10660
|
+
display_name?: string | null;
|
|
10384
10661
|
}>;
|
|
10385
10662
|
export type ListHubFlowsResponse = {
|
|
10386
10663
|
flows?: Array<{
|
|
@@ -10530,6 +10807,11 @@ export type ListFlowPathsFromWorkspaceRunnableData = {
|
|
|
10530
10807
|
workspace: string;
|
|
10531
10808
|
};
|
|
10532
10809
|
export type ListFlowPathsFromWorkspaceRunnableResponse = Array<(string)>;
|
|
10810
|
+
export type ListFlowPathsLinkingAgentData = {
|
|
10811
|
+
path: string;
|
|
10812
|
+
workspace: string;
|
|
10813
|
+
};
|
|
10814
|
+
export type ListFlowPathsLinkingAgentResponse = Array<(string)>;
|
|
10533
10815
|
export type GetFlowVersionData = {
|
|
10534
10816
|
version: number;
|
|
10535
10817
|
workspace: string;
|
|
@@ -14796,6 +15078,110 @@ export type ListAiUsageResponse = {
|
|
|
14796
15078
|
*/
|
|
14797
15079
|
truncated: boolean;
|
|
14798
15080
|
};
|
|
15081
|
+
export type ListAiSessionBackupsData = {
|
|
15082
|
+
workspace: string;
|
|
15083
|
+
};
|
|
15084
|
+
export type ListAiSessionBackupsResponse = {
|
|
15085
|
+
enabled: boolean;
|
|
15086
|
+
/**
|
|
15087
|
+
* names the storage answered from; sync state recorded against another one is void
|
|
15088
|
+
*/
|
|
15089
|
+
storage_id?: string;
|
|
15090
|
+
/**
|
|
15091
|
+
* bumped by every workspace key rotation; sync state recorded under another one is void
|
|
15092
|
+
*/
|
|
15093
|
+
backup_generation?: number;
|
|
15094
|
+
/**
|
|
15095
|
+
* the storage answered from is the instance object store, standing in for a workspace without storage of its own; a removal owed to it is retired by any answer from the workspace's own storage
|
|
15096
|
+
*/
|
|
15097
|
+
fallback?: boolean;
|
|
15098
|
+
/**
|
|
15099
|
+
* the newest 500 at most
|
|
15100
|
+
*/
|
|
15101
|
+
sessions: Array<AISessionBackupListing>;
|
|
15102
|
+
/**
|
|
15103
|
+
* the user has more sessions than the answer names
|
|
15104
|
+
*/
|
|
15105
|
+
truncated?: boolean;
|
|
15106
|
+
};
|
|
15107
|
+
export type PullAiSessionBackupsData = {
|
|
15108
|
+
requestBody: {
|
|
15109
|
+
ids: Array<(string)>;
|
|
15110
|
+
resume?: AISessionBackupCursor;
|
|
15111
|
+
};
|
|
15112
|
+
workspace: string;
|
|
15113
|
+
};
|
|
15114
|
+
export type PullAiSessionBackupsResponse = {
|
|
15115
|
+
enabled: boolean;
|
|
15116
|
+
storage_id?: string;
|
|
15117
|
+
backup_generation?: number;
|
|
15118
|
+
fallback?: boolean;
|
|
15119
|
+
sessions: Array<AISessionBackup>;
|
|
15120
|
+
deferred: Array<(string)>;
|
|
15121
|
+
};
|
|
15122
|
+
export type PushAiSessionBackupsData = {
|
|
15123
|
+
requestBody: {
|
|
15124
|
+
/**
|
|
15125
|
+
* the email the push was prepared for; refused with a 409 when it is not the caller's
|
|
15126
|
+
*/
|
|
15127
|
+
owner: string;
|
|
15128
|
+
sessions?: Array<AISessionBackupPush>;
|
|
15129
|
+
removed?: Array<(string)>;
|
|
15130
|
+
};
|
|
15131
|
+
workspace: string;
|
|
15132
|
+
};
|
|
15133
|
+
export type PushAiSessionBackupsResponse = {
|
|
15134
|
+
enabled: boolean;
|
|
15135
|
+
storage_id?: string;
|
|
15136
|
+
backup_generation?: number;
|
|
15137
|
+
fallback?: boolean;
|
|
15138
|
+
results: Array<{
|
|
15139
|
+
id: string;
|
|
15140
|
+
error?: string;
|
|
15141
|
+
/**
|
|
15142
|
+
* nothing was written and the session must be pushed whole again; an incremental part found no listed session to ride on (the backup was removed, or a push split over parts is in progress or was abandoned), or a later part of a push split over parts found another push had superseded it
|
|
15143
|
+
*/
|
|
15144
|
+
needs_whole?: boolean;
|
|
15145
|
+
}>;
|
|
15146
|
+
};
|
|
15147
|
+
export type ShareAiArtifactData = {
|
|
15148
|
+
requestBody: {
|
|
15149
|
+
/**
|
|
15150
|
+
* the artifact's id in the author's session
|
|
15151
|
+
*/
|
|
15152
|
+
artifact_id: string;
|
|
15153
|
+
name: string;
|
|
15154
|
+
kind: 'md' | 'html';
|
|
15155
|
+
version: number;
|
|
15156
|
+
content: string;
|
|
15157
|
+
};
|
|
15158
|
+
workspace: string;
|
|
15159
|
+
};
|
|
15160
|
+
export type ShareAiArtifactResponse = SharedAiArtifactInfo;
|
|
15161
|
+
export type GetAiArtifactShareStatusData = {
|
|
15162
|
+
artifactId: string;
|
|
15163
|
+
workspace: string;
|
|
15164
|
+
};
|
|
15165
|
+
export type GetAiArtifactShareStatusResponse = {
|
|
15166
|
+
retention_secs: number;
|
|
15167
|
+
share?: SharedAiArtifactInfo;
|
|
15168
|
+
};
|
|
15169
|
+
export type GetSharedAiArtifactData = {
|
|
15170
|
+
id: string;
|
|
15171
|
+
workspace: string;
|
|
15172
|
+
};
|
|
15173
|
+
export type GetSharedAiArtifactResponse = SharedAiArtifactInfo & {
|
|
15174
|
+
content: string;
|
|
15175
|
+
/**
|
|
15176
|
+
* whether the caller authored the share or is a workspace admin
|
|
15177
|
+
*/
|
|
15178
|
+
can_unshare: boolean;
|
|
15179
|
+
};
|
|
15180
|
+
export type UnshareAiArtifactData = {
|
|
15181
|
+
id: string;
|
|
15182
|
+
workspace: string;
|
|
15183
|
+
};
|
|
15184
|
+
export type UnshareAiArtifactResponse = string;
|
|
14799
15185
|
export type ResumeSuspendedTriggerJobsData = {
|
|
14800
15186
|
/**
|
|
14801
15187
|
* Optional list of job IDs to reassign
|
|
@@ -18281,54 +18667,135 @@ export type $OpenApiTs = {
|
|
|
18281
18667
|
};
|
|
18282
18668
|
};
|
|
18283
18669
|
};
|
|
18284
|
-
'/
|
|
18285
|
-
|
|
18670
|
+
'/w/{workspace}/trash/list': {
|
|
18671
|
+
get: {
|
|
18286
18672
|
req: {
|
|
18287
18673
|
/**
|
|
18288
|
-
*
|
|
18674
|
+
* only return items of this kind: script, flow, app, schedule, variable, resource, or a trigger kind such as http_trigger
|
|
18675
|
+
*
|
|
18289
18676
|
*/
|
|
18290
|
-
|
|
18291
|
-
};
|
|
18292
|
-
res: {
|
|
18677
|
+
itemKind?: string;
|
|
18293
18678
|
/**
|
|
18294
|
-
*
|
|
18295
|
-
*
|
|
18679
|
+
* which page to return (starts at 0, default 0)
|
|
18296
18680
|
*/
|
|
18297
|
-
|
|
18681
|
+
page?: number;
|
|
18682
|
+
/**
|
|
18683
|
+
* number of items to return for a given page (default 100, max 1000)
|
|
18684
|
+
*/
|
|
18685
|
+
perPage?: number;
|
|
18686
|
+
workspace: string;
|
|
18298
18687
|
};
|
|
18299
|
-
};
|
|
18300
|
-
};
|
|
18301
|
-
'/auth/logout': {
|
|
18302
|
-
post: {
|
|
18303
18688
|
res: {
|
|
18304
18689
|
/**
|
|
18305
|
-
*
|
|
18690
|
+
* the trashed items, most recently deleted first
|
|
18306
18691
|
*/
|
|
18307
|
-
200:
|
|
18692
|
+
200: Array<TrashItem>;
|
|
18308
18693
|
};
|
|
18309
18694
|
};
|
|
18310
18695
|
};
|
|
18311
|
-
'/
|
|
18696
|
+
'/w/{workspace}/trash/get/{id}': {
|
|
18312
18697
|
get: {
|
|
18698
|
+
req: {
|
|
18699
|
+
id: number;
|
|
18700
|
+
workspace: string;
|
|
18701
|
+
};
|
|
18313
18702
|
res: {
|
|
18314
18703
|
/**
|
|
18315
|
-
*
|
|
18704
|
+
* the trashed item
|
|
18316
18705
|
*/
|
|
18317
|
-
200:
|
|
18706
|
+
200: TrashItemWithData;
|
|
18318
18707
|
};
|
|
18319
18708
|
};
|
|
18320
18709
|
};
|
|
18321
|
-
'/
|
|
18322
|
-
|
|
18710
|
+
'/w/{workspace}/trash/restore/{id}': {
|
|
18711
|
+
post: {
|
|
18712
|
+
req: {
|
|
18713
|
+
id: number;
|
|
18714
|
+
workspace: string;
|
|
18715
|
+
};
|
|
18323
18716
|
res: {
|
|
18324
18717
|
/**
|
|
18325
|
-
*
|
|
18718
|
+
* item restored
|
|
18326
18719
|
*/
|
|
18327
|
-
200:
|
|
18720
|
+
200: string;
|
|
18328
18721
|
};
|
|
18329
18722
|
};
|
|
18330
18723
|
};
|
|
18331
|
-
'/
|
|
18724
|
+
'/w/{workspace}/trash/delete/{id}': {
|
|
18725
|
+
delete: {
|
|
18726
|
+
req: {
|
|
18727
|
+
id: number;
|
|
18728
|
+
workspace: string;
|
|
18729
|
+
};
|
|
18730
|
+
res: {
|
|
18731
|
+
/**
|
|
18732
|
+
* item permanently deleted
|
|
18733
|
+
*/
|
|
18734
|
+
200: string;
|
|
18735
|
+
};
|
|
18736
|
+
};
|
|
18737
|
+
};
|
|
18738
|
+
'/w/{workspace}/trash/empty': {
|
|
18739
|
+
post: {
|
|
18740
|
+
req: {
|
|
18741
|
+
workspace: string;
|
|
18742
|
+
};
|
|
18743
|
+
res: {
|
|
18744
|
+
/**
|
|
18745
|
+
* trashbin emptied
|
|
18746
|
+
*/
|
|
18747
|
+
200: string;
|
|
18748
|
+
};
|
|
18749
|
+
};
|
|
18750
|
+
};
|
|
18751
|
+
'/auth/login': {
|
|
18752
|
+
post: {
|
|
18753
|
+
req: {
|
|
18754
|
+
/**
|
|
18755
|
+
* credentials
|
|
18756
|
+
*/
|
|
18757
|
+
requestBody: Login;
|
|
18758
|
+
};
|
|
18759
|
+
res: {
|
|
18760
|
+
/**
|
|
18761
|
+
* Successfully authenticated. The session ID is returned in a cookie named `token` and as plaintext response. Preferred method of authorization is through the bearer token. The cookie is only for browser convenience.
|
|
18762
|
+
*
|
|
18763
|
+
*/
|
|
18764
|
+
200: string;
|
|
18765
|
+
};
|
|
18766
|
+
};
|
|
18767
|
+
};
|
|
18768
|
+
'/auth/logout': {
|
|
18769
|
+
post: {
|
|
18770
|
+
res: {
|
|
18771
|
+
/**
|
|
18772
|
+
* clear cookies and clear token (if applicable)
|
|
18773
|
+
*/
|
|
18774
|
+
200: string;
|
|
18775
|
+
};
|
|
18776
|
+
};
|
|
18777
|
+
};
|
|
18778
|
+
'/auth/is_smtp_configured': {
|
|
18779
|
+
get: {
|
|
18780
|
+
res: {
|
|
18781
|
+
/**
|
|
18782
|
+
* returns true if SMTP is configured
|
|
18783
|
+
*/
|
|
18784
|
+
200: boolean;
|
|
18785
|
+
};
|
|
18786
|
+
};
|
|
18787
|
+
};
|
|
18788
|
+
'/auth/is_password_login_disabled': {
|
|
18789
|
+
get: {
|
|
18790
|
+
res: {
|
|
18791
|
+
/**
|
|
18792
|
+
* returns true if password login is disabled
|
|
18793
|
+
*/
|
|
18794
|
+
200: boolean;
|
|
18795
|
+
};
|
|
18796
|
+
};
|
|
18797
|
+
};
|
|
18798
|
+
'/auth/request_password_reset': {
|
|
18332
18799
|
post: {
|
|
18333
18800
|
req: {
|
|
18334
18801
|
/**
|
|
@@ -18350,6 +18817,20 @@ export type $OpenApiTs = {
|
|
|
18350
18817
|
};
|
|
18351
18818
|
};
|
|
18352
18819
|
};
|
|
18820
|
+
'/auth/login_link/{token}': {
|
|
18821
|
+
get: {
|
|
18822
|
+
req: {
|
|
18823
|
+
rd?: string;
|
|
18824
|
+
token: string;
|
|
18825
|
+
};
|
|
18826
|
+
res: {
|
|
18827
|
+
/**
|
|
18828
|
+
* redirected to the post-login destination, or to /user/login_link_expired when the link is used, expired or unknown
|
|
18829
|
+
*/
|
|
18830
|
+
302: unknown;
|
|
18831
|
+
};
|
|
18832
|
+
};
|
|
18833
|
+
};
|
|
18353
18834
|
'/auth/reset_password': {
|
|
18354
18835
|
post: {
|
|
18355
18836
|
req: {
|
|
@@ -18483,7 +18964,7 @@ export type $OpenApiTs = {
|
|
|
18483
18964
|
*/
|
|
18484
18965
|
requestBody: {
|
|
18485
18966
|
email: string;
|
|
18486
|
-
password
|
|
18967
|
+
password?: string;
|
|
18487
18968
|
super_admin: boolean;
|
|
18488
18969
|
name?: string;
|
|
18489
18970
|
company?: string;
|
|
@@ -18491,6 +18972,10 @@ export type $OpenApiTs = {
|
|
|
18491
18972
|
* Skip sending email notifications to the user
|
|
18492
18973
|
*/
|
|
18493
18974
|
skip_email?: boolean;
|
|
18975
|
+
/**
|
|
18976
|
+
* password (default, requires `password`), pending_oauth (no credential until the first OAuth login proving the address adopts the account), or a configured OAuth login client key
|
|
18977
|
+
*/
|
|
18978
|
+
login_type?: string;
|
|
18494
18979
|
};
|
|
18495
18980
|
};
|
|
18496
18981
|
res: {
|
|
@@ -19103,6 +19588,129 @@ export type $OpenApiTs = {
|
|
|
19103
19588
|
};
|
|
19104
19589
|
};
|
|
19105
19590
|
};
|
|
19591
|
+
'/users/login_links': {
|
|
19592
|
+
post: {
|
|
19593
|
+
req: {
|
|
19594
|
+
/**
|
|
19595
|
+
* target account and link options
|
|
19596
|
+
*/
|
|
19597
|
+
requestBody: {
|
|
19598
|
+
email: string;
|
|
19599
|
+
/**
|
|
19600
|
+
* link lifetime in seconds, at most 900 (default 600)
|
|
19601
|
+
*/
|
|
19602
|
+
expires_in_s?: number;
|
|
19603
|
+
/**
|
|
19604
|
+
* same-origin path the browser lands on after login (default /user/workspaces)
|
|
19605
|
+
*/
|
|
19606
|
+
rd?: string;
|
|
19607
|
+
/**
|
|
19608
|
+
* 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
|
+
*/
|
|
19610
|
+
require_login_type?: string;
|
|
19611
|
+
};
|
|
19612
|
+
};
|
|
19613
|
+
res: {
|
|
19614
|
+
/**
|
|
19615
|
+
* login link minted
|
|
19616
|
+
*/
|
|
19617
|
+
201: {
|
|
19618
|
+
url: string;
|
|
19619
|
+
expires_at: string;
|
|
19620
|
+
};
|
|
19621
|
+
/**
|
|
19622
|
+
* the account does not have the required login type
|
|
19623
|
+
*/
|
|
19624
|
+
409: unknown;
|
|
19625
|
+
};
|
|
19626
|
+
};
|
|
19627
|
+
};
|
|
19628
|
+
'/users/cloud_trial_offer': {
|
|
19629
|
+
post: {
|
|
19630
|
+
req: {
|
|
19631
|
+
requestBody: {
|
|
19632
|
+
email: string;
|
|
19633
|
+
/**
|
|
19634
|
+
* mark the offer used (a trial or subscription now exists) instead of recording it
|
|
19635
|
+
*/
|
|
19636
|
+
consumed?: boolean;
|
|
19637
|
+
};
|
|
19638
|
+
};
|
|
19639
|
+
res: {
|
|
19640
|
+
/**
|
|
19641
|
+
* offer recorded or consumed
|
|
19642
|
+
*/
|
|
19643
|
+
200: string;
|
|
19644
|
+
};
|
|
19645
|
+
};
|
|
19646
|
+
get: {
|
|
19647
|
+
res: {
|
|
19648
|
+
/**
|
|
19649
|
+
* offer state
|
|
19650
|
+
*/
|
|
19651
|
+
200: {
|
|
19652
|
+
offered: boolean;
|
|
19653
|
+
};
|
|
19654
|
+
};
|
|
19655
|
+
};
|
|
19656
|
+
};
|
|
19657
|
+
'/users/cloud_trial_offer/go': {
|
|
19658
|
+
post: {
|
|
19659
|
+
res: {
|
|
19660
|
+
/**
|
|
19661
|
+
* where to go — the customer portal signed in with the trial being started, or the portal home with the reason the offer could not be used
|
|
19662
|
+
*/
|
|
19663
|
+
200: {
|
|
19664
|
+
location: string;
|
|
19665
|
+
/**
|
|
19666
|
+
* present when the portal refused (e.g. the account already has a subscription); the offer is then spent
|
|
19667
|
+
*/
|
|
19668
|
+
reason?: string;
|
|
19669
|
+
};
|
|
19670
|
+
/**
|
|
19671
|
+
* called with a job token
|
|
19672
|
+
*/
|
|
19673
|
+
403: unknown;
|
|
19674
|
+
/**
|
|
19675
|
+
* no offer for this account
|
|
19676
|
+
*/
|
|
19677
|
+
404: unknown;
|
|
19678
|
+
};
|
|
19679
|
+
};
|
|
19680
|
+
};
|
|
19681
|
+
'/users/onboarding_profile': {
|
|
19682
|
+
post: {
|
|
19683
|
+
req: {
|
|
19684
|
+
requestBody: {
|
|
19685
|
+
email: string;
|
|
19686
|
+
/**
|
|
19687
|
+
* free-form context from the invite, every key optional. The frontend reads `touch_point` (answers onboarding's source question), `company` and `workspace_name` (prefill the first workspace's name), `hub_projects` (slugs surfaced first on an empty workspace), `tools` (integrations, used to pick hub projects when none are named) and `starter_prompts` (`[{label, prompt}]`, replacing the home page's example prompts); unknown keys are kept and ignored
|
|
19688
|
+
*/
|
|
19689
|
+
profile: {
|
|
19690
|
+
[key: string]: unknown;
|
|
19691
|
+
};
|
|
19692
|
+
};
|
|
19693
|
+
};
|
|
19694
|
+
res: {
|
|
19695
|
+
/**
|
|
19696
|
+
* profile recorded
|
|
19697
|
+
*/
|
|
19698
|
+
200: string;
|
|
19699
|
+
};
|
|
19700
|
+
};
|
|
19701
|
+
get: {
|
|
19702
|
+
res: {
|
|
19703
|
+
/**
|
|
19704
|
+
* the profile, or null when none was recorded
|
|
19705
|
+
*/
|
|
19706
|
+
200: {
|
|
19707
|
+
profile?: {
|
|
19708
|
+
[key: string]: unknown;
|
|
19709
|
+
} | null;
|
|
19710
|
+
};
|
|
19711
|
+
};
|
|
19712
|
+
};
|
|
19713
|
+
};
|
|
19106
19714
|
'/users/tokens/delete/{token_prefix}': {
|
|
19107
19715
|
delete: {
|
|
19108
19716
|
req: {
|
|
@@ -19485,6 +20093,23 @@ export type $OpenApiTs = {
|
|
|
19485
20093
|
};
|
|
19486
20094
|
};
|
|
19487
20095
|
};
|
|
20096
|
+
'/workspaces/session_workspace_retention': {
|
|
20097
|
+
post: {
|
|
20098
|
+
req: {
|
|
20099
|
+
requestBody: {
|
|
20100
|
+
workspace_ids: Array<(string)>;
|
|
20101
|
+
};
|
|
20102
|
+
};
|
|
20103
|
+
res: {
|
|
20104
|
+
/**
|
|
20105
|
+
* map of workspace id to its `ai_config.sessions_retention_days`; a workspace without a retention, or one the caller cannot be authenticated into, is absent
|
|
20106
|
+
*/
|
|
20107
|
+
200: {
|
|
20108
|
+
[key: string]: (number);
|
|
20109
|
+
};
|
|
20110
|
+
};
|
|
20111
|
+
};
|
|
20112
|
+
};
|
|
19488
20113
|
'/w/{workspace}/workspaces/get_as_superadmin': {
|
|
19489
20114
|
get: {
|
|
19490
20115
|
req: {
|
|
@@ -24135,6 +24760,10 @@ export type $OpenApiTs = {
|
|
|
24135
24760
|
* how often the integration has been picked, absent on a hub that does not count picks
|
|
24136
24761
|
*/
|
|
24137
24762
|
picks?: number;
|
|
24763
|
+
/**
|
|
24764
|
+
* the label the hub curates for the integration, null or absent where it names none
|
|
24765
|
+
*/
|
|
24766
|
+
display_name?: string | null;
|
|
24138
24767
|
}>;
|
|
24139
24768
|
};
|
|
24140
24769
|
};
|
|
@@ -24359,6 +24988,20 @@ export type $OpenApiTs = {
|
|
|
24359
24988
|
};
|
|
24360
24989
|
};
|
|
24361
24990
|
};
|
|
24991
|
+
'/w/{workspace}/flows/list_paths_linking_agent/{path}': {
|
|
24992
|
+
get: {
|
|
24993
|
+
req: {
|
|
24994
|
+
path: string;
|
|
24995
|
+
workspace: string;
|
|
24996
|
+
};
|
|
24997
|
+
res: {
|
|
24998
|
+
/**
|
|
24999
|
+
* paths of the flows linking the `ai_agent` resource, as of their last deploy
|
|
25000
|
+
*/
|
|
25001
|
+
200: Array<(string)>;
|
|
25002
|
+
};
|
|
25003
|
+
};
|
|
25004
|
+
};
|
|
24362
25005
|
'/w/{workspace}/flows/get/v/{version}': {
|
|
24363
25006
|
get: {
|
|
24364
25007
|
req: {
|
|
@@ -30734,6 +31377,173 @@ export type $OpenApiTs = {
|
|
|
30734
31377
|
};
|
|
30735
31378
|
};
|
|
30736
31379
|
};
|
|
31380
|
+
'/w/{workspace}/ai/sessions/list': {
|
|
31381
|
+
get: {
|
|
31382
|
+
req: {
|
|
31383
|
+
workspace: string;
|
|
31384
|
+
};
|
|
31385
|
+
res: {
|
|
31386
|
+
/**
|
|
31387
|
+
* backups, newest first; `enabled` is false when the workspace has no storage for them
|
|
31388
|
+
*/
|
|
31389
|
+
200: {
|
|
31390
|
+
enabled: boolean;
|
|
31391
|
+
/**
|
|
31392
|
+
* names the storage answered from; sync state recorded against another one is void
|
|
31393
|
+
*/
|
|
31394
|
+
storage_id?: string;
|
|
31395
|
+
/**
|
|
31396
|
+
* bumped by every workspace key rotation; sync state recorded under another one is void
|
|
31397
|
+
*/
|
|
31398
|
+
backup_generation?: number;
|
|
31399
|
+
/**
|
|
31400
|
+
* the storage answered from is the instance object store, standing in for a workspace without storage of its own; a removal owed to it is retired by any answer from the workspace's own storage
|
|
31401
|
+
*/
|
|
31402
|
+
fallback?: boolean;
|
|
31403
|
+
/**
|
|
31404
|
+
* the newest 500 at most
|
|
31405
|
+
*/
|
|
31406
|
+
sessions: Array<AISessionBackupListing>;
|
|
31407
|
+
/**
|
|
31408
|
+
* the user has more sessions than the answer names
|
|
31409
|
+
*/
|
|
31410
|
+
truncated?: boolean;
|
|
31411
|
+
};
|
|
31412
|
+
};
|
|
31413
|
+
};
|
|
31414
|
+
};
|
|
31415
|
+
'/w/{workspace}/ai/sessions/pull': {
|
|
31416
|
+
post: {
|
|
31417
|
+
req: {
|
|
31418
|
+
requestBody: {
|
|
31419
|
+
ids: Array<(string)>;
|
|
31420
|
+
resume?: AISessionBackupCursor;
|
|
31421
|
+
};
|
|
31422
|
+
workspace: string;
|
|
31423
|
+
};
|
|
31424
|
+
res: {
|
|
31425
|
+
/**
|
|
31426
|
+
* the backups found; `deferred` lists ids that did not fit the response budget
|
|
31427
|
+
*/
|
|
31428
|
+
200: {
|
|
31429
|
+
enabled: boolean;
|
|
31430
|
+
storage_id?: string;
|
|
31431
|
+
backup_generation?: number;
|
|
31432
|
+
fallback?: boolean;
|
|
31433
|
+
sessions: Array<AISessionBackup>;
|
|
31434
|
+
deferred: Array<(string)>;
|
|
31435
|
+
};
|
|
31436
|
+
};
|
|
31437
|
+
};
|
|
31438
|
+
};
|
|
31439
|
+
'/w/{workspace}/ai/sessions/push': {
|
|
31440
|
+
post: {
|
|
31441
|
+
req: {
|
|
31442
|
+
requestBody: {
|
|
31443
|
+
/**
|
|
31444
|
+
* the email the push was prepared for; refused with a 409 when it is not the caller's
|
|
31445
|
+
*/
|
|
31446
|
+
owner: string;
|
|
31447
|
+
sessions?: Array<AISessionBackupPush>;
|
|
31448
|
+
removed?: Array<(string)>;
|
|
31449
|
+
};
|
|
31450
|
+
workspace: string;
|
|
31451
|
+
};
|
|
31452
|
+
res: {
|
|
31453
|
+
/**
|
|
31454
|
+
* one result per session written or removed, in request order
|
|
31455
|
+
*/
|
|
31456
|
+
200: {
|
|
31457
|
+
enabled: boolean;
|
|
31458
|
+
storage_id?: string;
|
|
31459
|
+
backup_generation?: number;
|
|
31460
|
+
fallback?: boolean;
|
|
31461
|
+
results: Array<{
|
|
31462
|
+
id: string;
|
|
31463
|
+
error?: string;
|
|
31464
|
+
/**
|
|
31465
|
+
* nothing was written and the session must be pushed whole again; an incremental part found no listed session to ride on (the backup was removed, or a push split over parts is in progress or was abandoned), or a later part of a push split over parts found another push had superseded it
|
|
31466
|
+
*/
|
|
31467
|
+
needs_whole?: boolean;
|
|
31468
|
+
}>;
|
|
31469
|
+
};
|
|
31470
|
+
};
|
|
31471
|
+
};
|
|
31472
|
+
};
|
|
31473
|
+
'/w/{workspace}/ai/shared_artifacts/share': {
|
|
31474
|
+
post: {
|
|
31475
|
+
req: {
|
|
31476
|
+
requestBody: {
|
|
31477
|
+
/**
|
|
31478
|
+
* the artifact's id in the author's session
|
|
31479
|
+
*/
|
|
31480
|
+
artifact_id: string;
|
|
31481
|
+
name: string;
|
|
31482
|
+
kind: 'md' | 'html';
|
|
31483
|
+
version: number;
|
|
31484
|
+
content: string;
|
|
31485
|
+
};
|
|
31486
|
+
workspace: string;
|
|
31487
|
+
};
|
|
31488
|
+
res: {
|
|
31489
|
+
/**
|
|
31490
|
+
* the shared copy
|
|
31491
|
+
*/
|
|
31492
|
+
200: SharedAiArtifactInfo;
|
|
31493
|
+
};
|
|
31494
|
+
};
|
|
31495
|
+
};
|
|
31496
|
+
'/w/{workspace}/ai/shared_artifacts/status': {
|
|
31497
|
+
get: {
|
|
31498
|
+
req: {
|
|
31499
|
+
artifactId: string;
|
|
31500
|
+
workspace: string;
|
|
31501
|
+
};
|
|
31502
|
+
res: {
|
|
31503
|
+
/**
|
|
31504
|
+
* the live share, if any, and how long shares last
|
|
31505
|
+
*/
|
|
31506
|
+
200: {
|
|
31507
|
+
retention_secs: number;
|
|
31508
|
+
share?: SharedAiArtifactInfo;
|
|
31509
|
+
};
|
|
31510
|
+
};
|
|
31511
|
+
};
|
|
31512
|
+
};
|
|
31513
|
+
'/w/{workspace}/ai/shared_artifacts/get/{id}': {
|
|
31514
|
+
get: {
|
|
31515
|
+
req: {
|
|
31516
|
+
id: string;
|
|
31517
|
+
workspace: string;
|
|
31518
|
+
};
|
|
31519
|
+
res: {
|
|
31520
|
+
/**
|
|
31521
|
+
* the shared artifact
|
|
31522
|
+
*/
|
|
31523
|
+
200: SharedAiArtifactInfo & {
|
|
31524
|
+
content: string;
|
|
31525
|
+
/**
|
|
31526
|
+
* whether the caller authored the share or is a workspace admin
|
|
31527
|
+
*/
|
|
31528
|
+
can_unshare: boolean;
|
|
31529
|
+
};
|
|
31530
|
+
};
|
|
31531
|
+
};
|
|
31532
|
+
};
|
|
31533
|
+
'/w/{workspace}/ai/shared_artifacts/delete/{id}': {
|
|
31534
|
+
delete: {
|
|
31535
|
+
req: {
|
|
31536
|
+
id: string;
|
|
31537
|
+
workspace: string;
|
|
31538
|
+
};
|
|
31539
|
+
res: {
|
|
31540
|
+
/**
|
|
31541
|
+
* share deleted
|
|
31542
|
+
*/
|
|
31543
|
+
200: string;
|
|
31544
|
+
};
|
|
31545
|
+
};
|
|
31546
|
+
};
|
|
30737
31547
|
'/w/{workspace}/trigger/{trigger_kind}/resume_suspended_trigger_jobs/{trigger_path}': {
|
|
30738
31548
|
post: {
|
|
30739
31549
|
req: {
|