mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-05-17 21:27:16 +02:00
508 lines
12 KiB
TypeScript
Generated
508 lines
12 KiB
TypeScript
Generated
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
|
import type { ModelChangeEvent } from "./ModelChangeEvent";
|
|
|
|
export type AnyModel =
|
|
| CookieJar
|
|
| Environment
|
|
| Folder
|
|
| GraphQlIntrospection
|
|
| GrpcConnection
|
|
| GrpcEvent
|
|
| GrpcRequest
|
|
| HttpRequest
|
|
| HttpResponse
|
|
| HttpResponseEvent
|
|
| KeyValue
|
|
| Plugin
|
|
| Settings
|
|
| SyncState
|
|
| WebsocketConnection
|
|
| WebsocketEvent
|
|
| WebsocketRequest
|
|
| Workspace
|
|
| WorkspaceMeta;
|
|
|
|
export type ClientCertificate = {
|
|
host: string;
|
|
port: number | null;
|
|
crtFile: string | null;
|
|
keyFile: string | null;
|
|
pfxFile: string | null;
|
|
passphrase: string | null;
|
|
enabled?: boolean;
|
|
};
|
|
|
|
export type Cookie = {
|
|
name: string;
|
|
value: string;
|
|
domain: CookieDomain;
|
|
expires: CookieExpires;
|
|
path: string;
|
|
secure: boolean;
|
|
httpOnly: boolean;
|
|
sameSite: CookieSameSite | null;
|
|
};
|
|
|
|
export type CookieDomain = { HostOnly: string } | { Suffix: string } | "NotPresent" | "Empty";
|
|
|
|
export type CookieExpires = { AtUtc: string } | "SessionEnd";
|
|
|
|
export type CookieJar = {
|
|
model: "cookie_jar";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
cookies: Array<Cookie>;
|
|
name: string;
|
|
};
|
|
|
|
export type CookieSameSite = "Strict" | "Lax" | "None";
|
|
|
|
export type DnsOverride = {
|
|
hostname: string;
|
|
ipv4: Array<string>;
|
|
ipv6: Array<string>;
|
|
enabled?: boolean;
|
|
};
|
|
|
|
export type EditorKeymap = "default" | "vim" | "vscode" | "emacs";
|
|
|
|
export type EncryptedKey = { encryptedKey: string };
|
|
|
|
export type Environment = {
|
|
model: "environment";
|
|
id: string;
|
|
workspaceId: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
name: string;
|
|
public: boolean;
|
|
parentModel: string;
|
|
parentId: string | null;
|
|
/**
|
|
* Variables defined in this environment scope.
|
|
* Child environments override parent variables by name.
|
|
*/
|
|
variables: Array<EnvironmentVariable>;
|
|
color: string | null;
|
|
sortPriority: number;
|
|
};
|
|
|
|
export type EnvironmentVariable = { enabled?: boolean; name: string; value: string; id?: string };
|
|
|
|
export type Folder = {
|
|
model: "folder";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
folderId: string | null;
|
|
authentication: Record<string, any>;
|
|
authenticationType: string | null;
|
|
description: string;
|
|
headers: Array<HttpRequestHeader>;
|
|
name: string;
|
|
sortPriority: number;
|
|
settingSendCookies: InheritedBoolSetting;
|
|
settingStoreCookies: InheritedBoolSetting;
|
|
settingValidateCertificates: InheritedBoolSetting;
|
|
settingFollowRedirects: InheritedBoolSetting;
|
|
settingRequestTimeout: InheritedIntSetting;
|
|
};
|
|
|
|
export type GraphQlIntrospection = {
|
|
model: "graphql_introspection";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
requestId: string;
|
|
content: string | null;
|
|
};
|
|
|
|
export type GrpcConnection = {
|
|
model: "grpc_connection";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
requestId: string;
|
|
elapsed: number;
|
|
error: string | null;
|
|
method: string;
|
|
service: string;
|
|
status: number;
|
|
state: GrpcConnectionState;
|
|
trailers: { [key in string]?: string };
|
|
url: string;
|
|
};
|
|
|
|
export type GrpcConnectionState = "initialized" | "connected" | "closed";
|
|
|
|
export type GrpcEvent = {
|
|
model: "grpc_event";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
requestId: string;
|
|
connectionId: string;
|
|
content: string;
|
|
error: string | null;
|
|
eventType: GrpcEventType;
|
|
metadata: { [key in string]?: string };
|
|
status: number | null;
|
|
};
|
|
|
|
export type GrpcEventType =
|
|
| "info"
|
|
| "error"
|
|
| "client_message"
|
|
| "server_message"
|
|
| "connection_start"
|
|
| "connection_end";
|
|
|
|
export type GrpcRequest = {
|
|
model: "grpc_request";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
folderId: string | null;
|
|
authenticationType: string | null;
|
|
authentication: Record<string, any>;
|
|
description: string;
|
|
message: string;
|
|
metadata: Array<HttpRequestHeader>;
|
|
method: string | null;
|
|
name: string;
|
|
service: string | null;
|
|
sortPriority: number;
|
|
/**
|
|
* Server URL (http for plaintext or https for secure)
|
|
*/
|
|
url: string;
|
|
settingSendCookies: InheritedBoolSetting;
|
|
settingStoreCookies: InheritedBoolSetting;
|
|
};
|
|
|
|
export type HttpRequest = {
|
|
model: "http_request";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
folderId: string | null;
|
|
authentication: Record<string, any>;
|
|
authenticationType: string | null;
|
|
body: Record<string, any>;
|
|
bodyType: string | null;
|
|
description: string;
|
|
headers: Array<HttpRequestHeader>;
|
|
method: string;
|
|
name: string;
|
|
sortPriority: number;
|
|
url: string;
|
|
/**
|
|
* URL parameters used for both path placeholders (`:id`) and query string entries.
|
|
*/
|
|
urlParameters: Array<HttpUrlParameter>;
|
|
settingSendCookies: InheritedBoolSetting;
|
|
settingStoreCookies: InheritedBoolSetting;
|
|
settingValidateCertificates: InheritedBoolSetting;
|
|
settingFollowRedirects: InheritedBoolSetting;
|
|
settingRequestTimeout: InheritedIntSetting;
|
|
};
|
|
|
|
export type HttpRequestHeader = { enabled?: boolean; name: string; value: string; id?: string };
|
|
|
|
export type HttpResponse = {
|
|
model: "http_response";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
requestId: string;
|
|
bodyPath: string | null;
|
|
contentLength: number | null;
|
|
contentLengthCompressed: number | null;
|
|
elapsed: number;
|
|
elapsedHeaders: number;
|
|
elapsedDns: number;
|
|
error: string | null;
|
|
headers: Array<HttpResponseHeader>;
|
|
remoteAddr: string | null;
|
|
requestContentLength: number | null;
|
|
requestHeaders: Array<HttpResponseHeader>;
|
|
status: number;
|
|
statusReason: string | null;
|
|
state: HttpResponseState;
|
|
url: string;
|
|
version: string | null;
|
|
};
|
|
|
|
export type HttpResponseEvent = {
|
|
model: "http_response_event";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
responseId: string;
|
|
event: HttpResponseEventData;
|
|
};
|
|
|
|
/**
|
|
* Serializable representation of HTTP response events for DB storage.
|
|
* This mirrors `yaak_http::sender::HttpResponseEvent` but with serde support.
|
|
* The `From` impl is in yaak-http to avoid circular dependencies.
|
|
*/
|
|
export type HttpResponseEventData =
|
|
| { type: "setting"; name: string; value: string }
|
|
| { type: "info"; message: string }
|
|
| {
|
|
type: "redirect";
|
|
url: string;
|
|
status: number;
|
|
behavior: string;
|
|
dropped_body: boolean;
|
|
dropped_headers: Array<string>;
|
|
}
|
|
| {
|
|
type: "send_url";
|
|
method: string;
|
|
scheme: string;
|
|
username: string;
|
|
password: string;
|
|
host: string;
|
|
port: number;
|
|
path: string;
|
|
query: string;
|
|
fragment: string;
|
|
}
|
|
| { type: "receive_url"; version: string; status: string }
|
|
| { type: "header_up"; name: string; value: string }
|
|
| { type: "header_down"; name: string; value: string }
|
|
| { type: "chunk_sent"; bytes: number }
|
|
| { type: "chunk_received"; bytes: number }
|
|
| {
|
|
type: "dns_resolved";
|
|
hostname: string;
|
|
addresses: Array<string>;
|
|
duration: bigint;
|
|
overridden: boolean;
|
|
};
|
|
|
|
export type HttpResponseHeader = { name: string; value: string };
|
|
|
|
export type HttpResponseState = "initialized" | "connected" | "closed";
|
|
|
|
export type HttpUrlParameter = {
|
|
enabled?: boolean;
|
|
/**
|
|
* Colon-prefixed parameters are treated as path parameters if they match, like `/users/:id`
|
|
* Other entries are appended as query parameters
|
|
*/
|
|
name: string;
|
|
value: string;
|
|
id?: string;
|
|
};
|
|
|
|
export type InheritedBoolSetting = { enabled?: boolean; value: boolean };
|
|
|
|
export type InheritedIntSetting = { enabled?: boolean; value: number };
|
|
|
|
export type KeyValue = {
|
|
model: "key_value";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
key: string;
|
|
namespace: string;
|
|
value: string;
|
|
};
|
|
|
|
export type ModelPayload = {
|
|
model: AnyModel;
|
|
updateSource: UpdateSource;
|
|
change: ModelChangeEvent;
|
|
};
|
|
|
|
export type ParentAuthentication = {
|
|
authentication: Record<string, any>;
|
|
authenticationType: string | null;
|
|
};
|
|
|
|
export type ParentHeaders = { headers: Array<HttpRequestHeader> };
|
|
|
|
export type Plugin = {
|
|
model: "plugin";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
checkedAt: string | null;
|
|
directory: string;
|
|
enabled: boolean;
|
|
url: string | null;
|
|
source: PluginSource;
|
|
};
|
|
|
|
export type PluginKeyValue = {
|
|
model: "plugin_key_value";
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
pluginName: string;
|
|
key: string;
|
|
value: string;
|
|
};
|
|
|
|
export type PluginSource = "bundled" | "filesystem" | "registry";
|
|
|
|
export type ProxySetting =
|
|
| {
|
|
type: "enabled";
|
|
http: string;
|
|
https: string;
|
|
auth: ProxySettingAuth | null;
|
|
bypass: string;
|
|
disabled: boolean;
|
|
}
|
|
| { type: "disabled" };
|
|
|
|
export type ProxySettingAuth = { user: string; password: string };
|
|
|
|
export type Settings = {
|
|
model: "settings";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
appearance: string;
|
|
clientCertificates: Array<ClientCertificate>;
|
|
coloredMethods: boolean;
|
|
editorFont: string | null;
|
|
editorFontSize: number;
|
|
editorKeymap: EditorKeymap;
|
|
editorSoftWrap: boolean;
|
|
hideWindowControls: boolean;
|
|
useNativeTitlebar: boolean;
|
|
interfaceFont: string | null;
|
|
interfaceFontSize: number;
|
|
interfaceScale: number;
|
|
openWorkspaceNewWindow: boolean | null;
|
|
proxy: ProxySetting | null;
|
|
themeDark: string;
|
|
themeLight: string;
|
|
updateChannel: string;
|
|
hideLicenseBadge: boolean;
|
|
autoupdate: boolean;
|
|
autoDownloadUpdates: boolean;
|
|
checkNotifications: boolean;
|
|
hotkeys: { [key in string]?: Array<string> };
|
|
};
|
|
|
|
export type SyncState = {
|
|
model: "sync_state";
|
|
id: string;
|
|
workspaceId: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
flushedAt: string;
|
|
modelId: string;
|
|
checksum: string;
|
|
relPath: string;
|
|
syncDir: string;
|
|
};
|
|
|
|
export type UpdateSource =
|
|
| { type: "background" }
|
|
| { type: "import" }
|
|
| { type: "plugin" }
|
|
| { type: "sync" }
|
|
| { type: "window"; label: string };
|
|
|
|
export type WebsocketConnection = {
|
|
model: "websocket_connection";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
requestId: string;
|
|
elapsed: number;
|
|
error: string | null;
|
|
headers: Array<HttpResponseHeader>;
|
|
state: WebsocketConnectionState;
|
|
status: number;
|
|
url: string;
|
|
};
|
|
|
|
export type WebsocketConnectionState = "initialized" | "connected" | "closing" | "closed";
|
|
|
|
export type WebsocketEvent = {
|
|
model: "websocket_event";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
requestId: string;
|
|
connectionId: string;
|
|
isServer: boolean;
|
|
message: Array<number>;
|
|
messageType: WebsocketEventType;
|
|
};
|
|
|
|
export type WebsocketEventType = "binary" | "close" | "frame" | "open" | "ping" | "pong" | "text";
|
|
|
|
export type WebsocketMessageType = "text" | "binary";
|
|
|
|
export type WebsocketRequest = {
|
|
model: "websocket_request";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
workspaceId: string;
|
|
folderId: string | null;
|
|
authentication: Record<string, any>;
|
|
authenticationType: string | null;
|
|
description: string;
|
|
headers: Array<HttpRequestHeader>;
|
|
message: string;
|
|
name: string;
|
|
sortPriority: number;
|
|
url: string;
|
|
/**
|
|
* URL parameters used for both path placeholders (`:id`) and query string entries.
|
|
*/
|
|
urlParameters: Array<HttpUrlParameter>;
|
|
settingSendCookies: InheritedBoolSetting;
|
|
settingStoreCookies: InheritedBoolSetting;
|
|
};
|
|
|
|
export type Workspace = {
|
|
model: "workspace";
|
|
id: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
authentication: Record<string, any>;
|
|
authenticationType: string | null;
|
|
description: string;
|
|
headers: Array<HttpRequestHeader>;
|
|
name: string;
|
|
encryptionKeyChallenge: string | null;
|
|
settingValidateCertificates: boolean;
|
|
settingFollowRedirects: boolean;
|
|
settingRequestTimeout: number;
|
|
settingDnsOverrides: Array<DnsOverride>;
|
|
settingSendCookies: boolean;
|
|
settingStoreCookies: boolean;
|
|
};
|
|
|
|
export type WorkspaceMeta = {
|
|
model: "workspace_meta";
|
|
id: string;
|
|
workspaceId: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
encryptionKey: EncryptedKey | null;
|
|
settingSyncDir: string | null;
|
|
};
|