waveterm/frontend/types/gotypes.d.ts

1003 lines
23 KiB
TypeScript
Raw Normal View History

2024-06-12 02:42:10 +02:00
// Copyright 2024, Command Line Inc.
// SPDX-License-Identifier: Apache-2.0
2024-09-16 20:59:39 +02:00
// generated by cmd/generate/main-generatets.go
2024-06-12 02:42:10 +02:00
declare global {
2024-11-09 01:34:50 +01:00
// wshrpc.AiMessageData
type AiMessageData = {
message?: string;
};
2024-08-20 23:56:48 +02:00
// waveobj.Block
2024-06-12 02:42:10 +02:00
type Block = WaveObj & {
2024-10-24 07:47:29 +02:00
parentoref?: string;
2024-06-12 02:42:10 +02:00
blockdef: BlockDef;
runtimeopts?: RuntimeOpts;
stickers?: StickerType[];
2024-10-24 07:47:29 +02:00
subblockids?: string[];
2024-06-12 02:42:10 +02:00
};
2024-06-24 23:34:31 +02:00
// blockcontroller.BlockControllerRuntimeStatus
type BlockControllerRuntimeStatus = {
blockid: string;
shellprocstatus?: string;
shellprocconnname?: string;
2024-06-24 23:34:31 +02:00
};
2024-08-20 23:56:48 +02:00
// waveobj.BlockDef
2024-06-12 02:42:10 +02:00
type BlockDef = {
files?: {[key: string]: FileDef};
2024-06-12 02:42:10 +02:00
meta?: MetaType;
};
2024-09-18 08:10:09 +02:00
// wshrpc.BlockInfoData
type BlockInfoData = {
blockid: string;
tabid: string;
windowid: string;
2024-10-24 07:47:29 +02:00
block: Block;
2024-09-18 08:10:09 +02:00
};
// webcmd.BlockInputWSCommand
type BlockInputWSCommand = {
wscommand: "blockinput";
blockid: string;
inputdata64: string;
};
2024-08-20 23:56:48 +02:00
// waveobj.Client
2024-06-12 02:42:10 +02:00
type Client = WaveObj & {
2024-06-20 04:10:53 +02:00
windowids: string[];
tosagreed?: number;
2024-09-26 00:52:12 +02:00
hasoldhistory?: boolean;
2024-10-25 08:16:44 +02:00
nexttabid?: number;
2024-06-12 02:42:10 +02:00
};
2024-10-17 23:34:02 +02:00
// windowservice.CloseTabRtnType
type CloseTabRtnType = {
closewindow?: boolean;
newactivetabid?: string;
};
// wshrpc.CommandAppendIJsonData
type CommandAppendIJsonData = {
zoneid: string;
filename: string;
data: {[key: string]: any};
};
2024-08-20 23:56:48 +02:00
// wshrpc.CommandAuthenticateRtnData
type CommandAuthenticateRtnData = {
routeid: string;
authtoken?: string;
2024-08-20 23:56:48 +02:00
};
// wshrpc.CommandBlockInputData
type CommandBlockInputData = {
blockid: string;
inputdata64?: string;
signame?: string;
termsize?: TermSize;
};
// wshrpc.CommandBlockSetViewData
type CommandBlockSetViewData = {
blockid: string;
view: string;
};
// wshrpc.CommandControllerResyncData
type CommandControllerResyncData = {
forcerestart?: boolean;
tabid: string;
blockid: string;
rtopts?: RuntimeOpts;
};
// wshrpc.CommandCreateBlockData
type CommandCreateBlockData = {
2024-06-21 19:23:04 +02:00
tabid: string;
blockdef: BlockDef;
rtopts?: RuntimeOpts;
magnified?: boolean;
};
2024-10-24 07:47:29 +02:00
// wshrpc.CommandCreateSubBlockData
type CommandCreateSubBlockData = {
parentblockid: string;
blockdef: BlockDef;
};
2024-07-19 03:13:59 +02:00
// wshrpc.CommandDeleteBlockData
type CommandDeleteBlockData = {
blockid: string;
};
// wshrpc.CommandDisposeData
type CommandDisposeData = {
routeid: string;
};
2024-08-30 20:33:04 +02:00
// wshrpc.CommandEventReadHistoryData
type CommandEventReadHistoryData = {
event: string;
scope: string;
maxitems: number;
};
// wshrpc.CommandFileData
type CommandFileData = {
zoneid: string;
filename: string;
data64?: string;
};
// wshrpc.CommandGetMetaData
type CommandGetMetaData = {
oref: ORef;
2024-06-24 23:34:31 +02:00
};
// wshrpc.CommandMessageData
type CommandMessageData = {
oref: ORef;
message: string;
};
// wshrpc.CommandRemoteStreamFileData
type CommandRemoteStreamFileData = {
path: string;
byterange?: string;
};
// wshrpc.CommandRemoteStreamFileRtnData
type CommandRemoteStreamFileRtnData = {
fileinfo?: FileInfo[];
data64?: string;
};
2024-08-14 03:36:11 +02:00
// wshrpc.CommandRemoteWriteFileData
type CommandRemoteWriteFileData = {
path: string;
data64: string;
createmode?: number;
};
// wshrpc.CommandResolveIdsData
type CommandResolveIdsData = {
blockid: string;
ids: string[];
};
// wshrpc.CommandResolveIdsRtnData
type CommandResolveIdsRtnData = {
resolvedids: {[key: string]: ORef};
};
// wshrpc.CommandSetMetaData
type CommandSetMetaData = {
oref: ORef;
meta: MetaType;
};
2024-10-24 07:47:29 +02:00
// wshrpc.CommandWaitForRouteData
type CommandWaitForRouteData = {
routeid: string;
waitms: number;
};
2024-09-18 08:10:09 +02:00
// wshrpc.CommandWebSelectorData
type CommandWebSelectorData = {
windowid: string;
blockid: string;
tabid: string;
selector: string;
opts?: WebSelectorOpts;
};
2024-08-28 03:49:49 +02:00
// wconfig.ConfigError
type ConfigError = {
file: string;
err: string;
};
// wshrpc.ConnStatus
type ConnStatus = {
status: string;
connection: string;
connected: boolean;
2024-09-04 07:15:02 +02:00
hasconnected: boolean;
activeconnnum: number;
error?: string;
};
// wshrpc.CpuDataRequest
type CpuDataRequest = {
id: string;
2024-08-01 09:57:06 +02:00
count: number;
};
2024-10-17 23:50:36 +02:00
// vdom.DomRect
type DomRect = {
top: number;
left: number;
right: number;
bottom: number;
width: number;
height: number;
};
2024-08-20 23:56:48 +02:00
// waveobj.FileDef
2024-06-12 02:42:10 +02:00
type FileDef = {
filetype?: string;
path?: string;
url?: string;
content?: string;
meta?: {[key: string]: any};
2024-06-12 02:42:10 +02:00
};
// wshrpc.FileInfo
2024-06-12 02:42:10 +02:00
type FileInfo = {
path: string;
dir: string;
name: string;
2024-06-12 02:42:10 +02:00
notfound?: boolean;
size: number;
mode: number;
2024-06-24 23:34:31 +02:00
modestr: string;
2024-06-12 02:42:10 +02:00
modtime: number;
isdir?: boolean;
mimetype?: string;
readonly?: boolean;
2024-06-12 02:42:10 +02:00
};
// filestore.FileOptsType
type FileOptsType = {
maxsize?: number;
circular?: boolean;
ijson?: boolean;
ijsonbudget?: number;
};
2024-08-28 03:49:49 +02:00
// wconfig.FullConfigType
type FullConfigType = {
settings: SettingsType;
mimetypes: {[key: string]: MimeTypeConfigType};
widgets: {[key: string]: WidgetConfigType};
presets: {[key: string]: MetaType};
termthemes: {[key: string]: TermThemeType};
configerrors: ConfigError[];
};
2024-06-12 02:42:10 +02:00
// fileservice.FullFile
type FullFile = {
info: FileInfo;
data64: string;
};
2024-08-27 00:17:37 +02:00
// waveobj.LayoutActionData
type LayoutActionData = {
actiontype: string;
blockid: string;
nodesize?: number;
indexarr?: number[];
focused: boolean;
magnified: boolean;
2024-08-27 00:17:37 +02:00
};
2024-08-20 23:56:48 +02:00
// waveobj.LayoutState
type LayoutState = WaveObj & {
rootnode?: any;
magnifiednodeid?: string;
focusednodeid?: string;
leaforder?: LeafOrderEntry[];
pendingbackendactions?: LayoutActionData[];
2024-06-12 02:42:10 +02:00
};
// waveobj.LeafOrderEntry
type LeafOrderEntry = {
nodeid: string;
blockid: string;
};
2024-08-20 23:56:48 +02:00
// waveobj.MetaTSType
type MetaType = {
view?: string;
controller?: string;
file?: string;
url?: string;
pinnedurl?: string;
connection?: string;
edit?: boolean;
history?: string[];
"history:forward"?: string[];
2024-08-28 03:49:49 +02:00
"display:name"?: string;
"display:order"?: number;
icon?: string;
"icon:color"?: string;
"frame:*"?: boolean;
frame?: boolean;
"frame:bordercolor"?: string;
"frame:activebordercolor"?: string;
"frame:title"?: string;
"frame:icon"?: string;
"frame:text"?: string;
"cmd:*"?: boolean;
cmd?: string;
"cmd:interactive"?: boolean;
"cmd:login"?: boolean;
"cmd:runonstart"?: boolean;
"cmd:clearonstart"?: boolean;
"cmd:clearonrestart"?: boolean;
"cmd:env"?: {[key: string]: string};
"cmd:cwd"?: string;
"cmd:nowsh"?: boolean;
"ai:*"?: boolean;
"ai:preset"?: string;
"ai:apitype"?: string;
"ai:baseurl"?: string;
"ai:apitoken"?: string;
"ai:name"?: string;
"ai:model"?: string;
"ai:orgid"?: string;
"ai:apiversion"?: string;
"ai:maxtokens"?: number;
"ai:timeoutms"?: number;
"editor:*"?: boolean;
"editor:wordwrap"?: boolean;
2024-08-30 20:33:04 +02:00
"graph:*"?: boolean;
"graph:numpoints"?: number;
"graph:metrics"?: string[];
"sysinfo:type"?: string;
"bg:*"?: boolean;
bg?: string;
"bg:opacity"?: number;
"bg:blendmode"?: string;
"bg:bordercolor"?: string;
"bg:activebordercolor"?: string;
"term:*"?: boolean;
"term:fontsize"?: number;
"term:fontfamily"?: string;
"term:mode"?: string;
"term:theme"?: string;
2024-09-27 00:34:52 +02:00
"term:localshellpath"?: string;
2024-10-01 06:19:07 +02:00
"term:localshellopts"?: string[];
"term:scrollback"?: number;
2024-10-24 07:47:29 +02:00
"term:vdomblockid"?: string;
2024-10-17 23:50:36 +02:00
"vdom:*"?: boolean;
"vdom:initialized"?: boolean;
"vdom:correlationid"?: string;
2024-10-24 07:47:29 +02:00
"vdom:route"?: string;
"vdom:persist"?: boolean;
2024-08-01 09:57:06 +02:00
count?: number;
};
2024-06-12 02:42:10 +02:00
// tsgenmeta.MethodMeta
2024-06-12 02:42:10 +02:00
type MethodMeta = {
Desc: string;
ArgNames: string[];
ReturnDesc: string;
};
2024-06-24 23:34:31 +02:00
// wconfig.MimeTypeConfigType
type MimeTypeConfigType = {
icon: string;
color: string;
2024-06-24 23:34:31 +02:00
};
2024-06-12 02:42:10 +02:00
// waveobj.ORef
type ORef = string;
2024-06-12 02:42:10 +02:00
// wshrpc.OpenAIOptsType
type OpenAIOptsType = {
model: string;
2024-10-09 22:36:02 +02:00
apitype?: string;
apitoken: string;
2024-10-09 22:36:02 +02:00
orgid?: string;
apiversion?: string;
baseurl?: string;
maxtokens?: number;
maxchoices?: number;
2024-10-09 22:36:02 +02:00
timeoutms?: number;
};
// wshrpc.OpenAIPacketType
type OpenAIPacketType = {
type: string;
model?: string;
created?: number;
finish_reason?: string;
usage?: OpenAIUsageType;
index?: number;
text?: string;
error?: string;
};
// wshrpc.OpenAIPromptMessageType
type OpenAIPromptMessageType = {
role: string;
content: string;
name?: string;
};
// wshrpc.OpenAIUsageType
type OpenAIUsageType = {
prompt_tokens?: number;
completion_tokens?: number;
total_tokens?: number;
};
// wshrpc.OpenAiStreamRequest
type OpenAiStreamRequest = {
clientid?: string;
opts: OpenAIOptsType;
prompt: OpenAIPromptMessageType[];
};
2024-08-20 23:56:48 +02:00
// waveobj.Point
2024-06-12 02:42:10 +02:00
type Point = {
x: number;
y: number;
};
// wshutil.RpcMessage
type RpcMessage = {
command?: string;
reqid?: string;
resid?: string;
timeout?: number;
route?: string;
authtoken?: string;
source?: string;
cont?: boolean;
cancel?: boolean;
error?: string;
datatype?: string;
data?: any;
};
// wshrpc.RpcOpts
type RpcOpts = {
timeout?: number;
noresponse?: boolean;
route?: string;
};
2024-08-20 23:56:48 +02:00
// waveobj.RuntimeOpts
2024-06-12 02:42:10 +02:00
type RuntimeOpts = {
termsize?: TermSize;
winsize?: WinSize;
};
// webcmd.SetBlockTermSizeWSCommand
type SetBlockTermSizeWSCommand = {
wscommand: "setblocktermsize";
blockid: string;
termsize: TermSize;
};
2024-08-28 03:49:49 +02:00
// wconfig.SettingsType
type SettingsType = {
"ai:*"?: boolean;
"ai:preset"?: string;
2024-10-09 22:36:02 +02:00
"ai:apitype"?: string;
2024-08-28 03:49:49 +02:00
"ai:baseurl"?: string;
"ai:apitoken"?: string;
"ai:name"?: string;
"ai:model"?: string;
2024-10-09 22:36:02 +02:00
"ai:orgid"?: string;
"ai:apiversion"?: string;
2024-08-28 03:49:49 +02:00
"ai:maxtokens"?: number;
"ai:timeoutms"?: number;
"term:*"?: boolean;
"term:fontsize"?: number;
"term:fontfamily"?: string;
"term:theme"?: string;
2024-08-28 03:49:49 +02:00
"term:disablewebgl"?: boolean;
2024-09-27 00:34:52 +02:00
"term:localshellpath"?: string;
2024-10-01 06:19:07 +02:00
"term:localshellopts"?: string[];
"term:scrollback"?: number;
"term:copyonselect"?: boolean;
"editor:minimapenabled"?: boolean;
2024-09-05 08:08:56 +02:00
"editor:stickyscrollenabled"?: boolean;
2024-08-28 03:49:49 +02:00
"web:*"?: boolean;
"web:openlinksinternally"?: boolean;
"web:defaulturl"?: string;
"web:defaultsearch"?: string;
2024-08-28 03:49:49 +02:00
"blockheader:*"?: boolean;
"blockheader:showblockids"?: boolean;
"autoupdate:*"?: boolean;
"autoupdate:enabled"?: boolean;
"autoupdate:intervalms"?: number;
"autoupdate:installonquit"?: boolean;
Add release channels (#385) ## New release flow 1. Run "Bump Version" workflow with the desired version bump and the prerelease flag set to `true`. This will push a new version bump to the target branch and create a new git tag. - See below for more info on how the version bumping works. 2. A new "Build Helper" workflow run will kick off automatically for the new tag. Once it is complete, test the new build locally by downloading with the [download script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh). 3. Release the new build using the [publish script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh). This will trigger electron-updater to distribute the package to beta users. 4. Run "Bump Version" again with a release bump (either `major`, `minor`, or `patch`) and the prerelease flag set to `false`. 6. Release the new build to all channels using the [publish script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh). This will trigger electron-updater to distribute the package to all users. ## Change Summary Creates a new "Bump Version" workflow to manage versioning and tag creation. Build Helper is now automated. ### Version bumps Updates the `version.cjs` script so that an argument can be passed to trigger a version bump. Under the hood, this utilizes NPM's `semver` package. If arguments are present, the version will be bumped. If only a single argument is given, the following are valid inputs: - `none`: No-op. - `patch`: Bumps the patch version. - `minor`: Bumps the minor version. - `major`: Bumps the major version. - '1', 'true': Bumps the prerelease version. If two arguments are given, the first argument must be either `none`, `patch`, `minor`, or `major`. The second argument must be `1` or `true` to bump the prerelease version. ### electron-builder We are now using the release channels support in electron-builder. This will automatically detect the channel being built based on the package version to determine which channel update files need to be generated. See [here](https://www.electron.build/tutorials/release-using-channels.html) for more information. ### Github Actions #### Bump Version This adds a new "Bump Version" workflow for managing versioning and queuing new builds. When run, this workflow will bump the version, create a new tag, and push the changes to the target branch. There is a new dropdown when queuing the "Bump Version" workflow to select what kind of version bump to perform. A bump must always be performed when running a new build to ensure consistency. I had to create a GitHub App to grant write permissions to our main branch for the version bump commits. I've made a separate workflow file to manage the version bump commits, which should help prevent tampering. Thanks to using the GitHub API directly, I am able to make these commits signed! #### Build Helper Build Helper is now triggered when new tags are created, rather than being triggered automatically. This ensures we're always creating artifacts from known checkpoints. ### Settings Adds a new `autoupdate:channel` configuration to the settings file. If unset, the default from the artifact will be used (should correspond to the channel of the artifact when downloaded). ## Future Work I want to add a release workflow that will automatically copy over the corresponding version artifacts to the release bucket when a new GitHub Release is created. I also want to separate versions into separate subdirectories in the release bucket so we can clean them up more-easily. --------- Co-authored-by: wave-builder <builds@commandline.dev> Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 22:10:35 +02:00
"autoupdate:channel"?: string;
"preview:showhiddenfiles"?: boolean;
2024-08-28 03:49:49 +02:00
"widget:*"?: boolean;
"widget:showhelp"?: boolean;
"window:*"?: boolean;
"window:transparent"?: boolean;
"window:blur"?: boolean;
"window:opacity"?: number;
"window:bgcolor"?: string;
"window:reducedmotion"?: boolean;
"window:tilegapsize"?: number;
"window:showmenubar"?: boolean;
2024-09-25 07:05:38 +02:00
"window:nativetitlebar"?: boolean;
"window:disablehardwareacceleration"?: boolean;
2024-10-17 23:34:02 +02:00
"window:maxtabcachesize"?: number;
2024-08-28 03:49:49 +02:00
"telemetry:*"?: boolean;
"telemetry:enabled"?: boolean;
"conn:*"?: boolean;
"conn:askbeforewshinstall"?: boolean;
};
2024-08-20 23:56:48 +02:00
// waveobj.StickerClickOptsType
type StickerClickOptsType = {
sendinput?: string;
createblock?: BlockDef;
};
2024-08-20 23:56:48 +02:00
// waveobj.StickerDisplayOptsType
type StickerDisplayOptsType = {
icon: string;
imgsrc: string;
svgblob?: string;
};
2024-08-20 23:56:48 +02:00
// waveobj.StickerType
type StickerType = {
stickertype: string;
style: {[key: string]: any};
clickopts?: StickerClickOptsType;
display: StickerDisplayOptsType;
};
// wps.SubscriptionRequest
type SubscriptionRequest = {
event: string;
scopes?: string[];
allscopes?: boolean;
};
2024-08-20 23:56:48 +02:00
// waveobj.Tab
2024-06-12 02:42:10 +02:00
type Tab = WaveObj & {
name: string;
layoutstate: string;
2024-06-12 02:42:10 +02:00
blockids: string[];
};
2024-08-09 03:24:54 +02:00
2024-08-20 23:56:48 +02:00
// waveobj.TermSize
2024-06-12 02:42:10 +02:00
type TermSize = {
rows: number;
cols: number;
};
// wconfig.TermThemeType
type TermThemeType = {
"display:name": string;
"display:order": number;
black: string;
red: string;
green: string;
yellow: string;
blue: string;
magenta: string;
cyan: string;
white: string;
brightBlack: string;
brightRed: string;
brightGreen: string;
brightYellow: string;
brightBlue: string;
brightMagenta: string;
brightCyan: string;
brightWhite: string;
gray: string;
cmdtext: string;
foreground: string;
selectionBackground: string;
background: string;
cursor: string;
};
2024-08-20 00:01:00 +02:00
// wshrpc.TimeSeriesData
type TimeSeriesData = {
ts: number;
values: {[key: string]: number};
};
2024-08-20 23:56:48 +02:00
// waveobj.UIContext
2024-06-12 02:42:10 +02:00
type UIContext = {
windowid: string;
activetabid: string;
};
// userinput.UserInputRequest
type UserInputRequest = {
requestid: string;
querytext: string;
responsetype: string;
title: string;
markdown: boolean;
timeoutms: number;
checkboxmsg: string;
publictext: boolean;
};
// userinput.UserInputResponse
type UserInputResponse = {
type: string;
requestid: string;
text?: string;
confirm?: boolean;
errormsg?: string;
checkboxstat?: boolean;
};
2024-10-17 23:50:36 +02:00
// vdom.VDomAsyncInitiationRequest
type VDomAsyncInitiationRequest = {
type: "asyncinitiationrequest";
ts: number;
blockid?: string;
};
// vdom.VDomBackendOpts
type VDomBackendOpts = {
closeonctrlc?: boolean;
globalkeyboardevents?: boolean;
globalstyles?: boolean;
2024-10-17 23:50:36 +02:00
};
// vdom.VDomBackendUpdate
type VDomBackendUpdate = {
type: "backendupdate";
ts: number;
blockid: string;
opts?: VDomBackendOpts;
haswork?: boolean;
2024-10-17 23:50:36 +02:00
renderupdates?: VDomRenderUpdate[];
transferelems?: VDomTransferElem[];
2024-10-17 23:50:36 +02:00
statesync?: VDomStateSync[];
refoperations?: VDomRefOperation[];
messages?: VDomMessage[];
};
// vdom.VDomBinding
type VDomBinding = {
type: "binding";
bind: string;
};
// vdom.VDomCreateContext
type VDomCreateContext = {
type: "createcontext";
ts: number;
meta?: MetaType;
2024-10-24 07:47:29 +02:00
target?: VDomTarget;
2024-10-17 23:50:36 +02:00
persist?: boolean;
};
// vdom.VDomElem
type VDomElem = {
2024-10-17 23:50:36 +02:00
waveid?: string;
tag: string;
props?: {[key: string]: any};
children?: VDomElem[];
text?: string;
};
2024-10-17 23:50:36 +02:00
// vdom.VDomEvent
type VDomEvent = {
waveid: string;
2024-10-24 07:47:29 +02:00
eventtype: string;
globaleventtype?: string;
targetvalue?: string;
targetchecked?: boolean;
targetname?: string;
targetid?: string;
keydata?: WaveKeyboardEvent;
mousedata?: WavePointerData;
2024-10-17 23:50:36 +02:00
};
// vdom.VDomFrontendUpdate
type VDomFrontendUpdate = {
type: "frontendupdate";
ts: number;
blockid: string;
correlationid?: string;
dispose?: boolean;
resync?: boolean;
rendercontext?: VDomRenderContext;
events?: VDomEvent[];
statesync?: VDomStateSync[];
refupdates?: VDomRefUpdate[];
messages?: VDomMessage[];
};
// vdom.VDomFunc
type VDomFunc = {
type: "func";
stoppropagation?: boolean;
preventdefault?: boolean;
globalevent?: string;
#keys?: string[];
2024-10-17 23:50:36 +02:00
};
// vdom.VDomMessage
type VDomMessage = {
messagetype: string;
message: string;
stacktrace?: string;
params?: any[];
};
// vdom.VDomRef
type VDomRef = {
type: "ref";
refid: string;
trackposition?: boolean;
position?: VDomRefPosition;
hascurrent?: boolean;
};
// vdom.VDomRefOperation
type VDomRefOperation = {
refid: string;
op: string;
params?: any[];
outputref?: string;
2024-10-17 23:50:36 +02:00
};
// vdom.VDomRefPosition
type VDomRefPosition = {
offsetheight: number;
offsetwidth: number;
scrollheight: number;
scrollwidth: number;
scrolltop: number;
boundingclientrect: DomRect;
};
// vdom.VDomRefUpdate
type VDomRefUpdate = {
refid: string;
hascurrent: boolean;
position?: VDomRefPosition;
};
// vdom.VDomRenderContext
type VDomRenderContext = {
blockid: string;
focused: boolean;
width: number;
height: number;
rootrefid: string;
background?: boolean;
};
// vdom.VDomRenderUpdate
type VDomRenderUpdate = {
updatetype: "root"|"append"|"replace"|"remove"|"insert";
waveid?: string;
vdomwaveid?: string;
vdom?: VDomElem;
2024-10-17 23:50:36 +02:00
index?: number;
};
2024-10-17 23:50:36 +02:00
// vdom.VDomStateSync
type VDomStateSync = {
atom: string;
value: any;
};
2024-10-24 07:47:29 +02:00
// vdom.VDomTarget
type VDomTarget = {
newblock?: boolean;
magnified?: boolean;
};
// vdom.VDomTransferElem
type VDomTransferElem = {
waveid?: string;
tag: string;
props?: {[key: string]: any};
children?: string[];
text?: string;
};
2024-11-02 18:58:13 +01:00
// wshrpc.VDomUrlRequestData
type VDomUrlRequestData = {
method: string;
url: string;
headers: {[key: string]: string};
body?: string;
};
// wshrpc.VDomUrlRequestResponse
type VDomUrlRequestResponse = {
statuscode?: number;
headers?: {[key: string]: string};
body?: string;
};
type WSCommandType = {
wscommand: string;
} & ( SetBlockTermSizeWSCommand | BlockInputWSCommand | WSRpcCommand );
2024-06-12 02:42:10 +02:00
// eventbus.WSEventType
type WSEventType = {
eventtype: string;
oref?: string;
data: any;
};
// wps.WSFileEventData
2024-06-14 08:54:04 +02:00
type WSFileEventData = {
zoneid: string;
filename: string;
fileop: string;
data64: string;
};
// webcmd.WSRpcCommand
type WSRpcCommand = {
wscommand: "rpc";
message: RpcMessage;
};
// wconfig.WatcherUpdate
type WatcherUpdate = {
2024-08-28 03:49:49 +02:00
fullconfig: FullConfigType;
};
// wps.WaveEvent
type WaveEvent = {
event: string;
scopes?: string[];
sender?: string;
2024-08-30 20:33:04 +02:00
persist?: number;
data?: any;
};
// filestore.WaveFile
type WaveFile = {
zoneid: string;
name: string;
opts: FileOptsType;
createdts: number;
size: number;
modts: number;
meta: {[key: string]: any};
};
// wshrpc.WaveInfoData
type WaveInfoData = {
version: string;
clientid: string;
buildtime: string;
configdir: string;
datadir: string;
};
// vdom.WaveKeyboardEvent
type WaveKeyboardEvent = {
type: "keydown"|"keyup"|"keypress"|"unknown";
key: string;
code: string;
repeat?: boolean;
location?: number;
shift?: boolean;
control?: boolean;
alt?: boolean;
meta?: boolean;
cmd?: boolean;
option?: boolean;
};
// wshrpc.WaveNotificationOptions
type WaveNotificationOptions = {
title?: string;
body?: string;
silent?: boolean;
};
2024-06-12 02:42:10 +02:00
// waveobj.WaveObj
type WaveObj = {
otype: string;
oid: string;
version: number;
meta: MetaType;
2024-06-12 02:42:10 +02:00
};
2024-08-20 23:56:48 +02:00
// waveobj.WaveObjUpdate
2024-06-12 02:42:10 +02:00
type WaveObjUpdate = {
updatetype: string;
otype: string;
oid: string;
obj?: WaveObj;
};
// vdom.WavePointerData
type WavePointerData = {
button: number;
buttons: number;
clientx?: number;
clienty?: number;
pagex?: number;
pagey?: number;
screenx?: number;
screeny?: number;
movementx?: number;
movementy?: number;
shift?: boolean;
control?: boolean;
alt?: boolean;
meta?: boolean;
cmd?: boolean;
option?: boolean;
};
2024-08-20 23:56:48 +02:00
// waveobj.Window
2024-06-20 04:10:53 +02:00
type WaveWindow = WaveObj & {
workspaceid: string;
activetabid: string;
2024-10-11 01:12:56 +02:00
isnew?: boolean;
2024-06-20 04:10:53 +02:00
pos: Point;
winsize: WinSize;
lastfocusts: number;
};
2024-06-12 02:42:10 +02:00
// service.WebCallType
type WebCallType = {
service: string;
method: string;
uicontext?: UIContext;
args: any[];
};
// service.WebReturnType
type WebReturnType = {
success?: boolean;
error?: string;
data?: any;
updates?: WaveObjUpdate[];
};
2024-09-18 08:10:09 +02:00
// wshrpc.WebSelectorOpts
type WebSelectorOpts = {
all?: boolean;
inner?: boolean;
};
2024-08-28 03:49:49 +02:00
// wconfig.WidgetConfigType
type WidgetConfigType = {
"display:order"?: number;
icon?: string;
color?: string;
label?: string;
description?: string;
blockdef: BlockDef;
};
2024-08-20 23:56:48 +02:00
// waveobj.WinSize
2024-06-12 02:42:10 +02:00
type WinSize = {
width: number;
height: number;
};
2024-08-20 23:56:48 +02:00
// waveobj.Workspace
2024-06-12 02:42:10 +02:00
type Workspace = WaveObj & {
name: string;
tabids: string[];
};
// wshrpc.WshServerCommandMeta
type WshServerCommandMeta = {
commandtype: string;
};
2024-06-12 02:42:10 +02:00
}
export {}