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-06-18 07:38:48 +02:00
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// waveobj.Block
|
2024-06-12 02:42:10 +02:00
|
|
|
type Block = WaveObj & {
|
|
|
|
blockdef: BlockDef;
|
|
|
|
runtimeopts?: RuntimeOpts;
|
2024-06-18 07:38:48 +02:00
|
|
|
stickers?: StickerType[];
|
2024-06-12 02:42:10 +02:00
|
|
|
};
|
|
|
|
|
2024-06-24 23:34:31 +02:00
|
|
|
// blockcontroller.BlockControllerRuntimeStatus
|
|
|
|
type BlockControllerRuntimeStatus = {
|
|
|
|
blockid: string;
|
|
|
|
shellprocstatus?: string;
|
2024-09-05 09:21:08 +02:00
|
|
|
shellprocconnname?: string;
|
2024-06-24 23:34:31 +02:00
|
|
|
};
|
2024-06-12 22:47:13 +02:00
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// waveobj.BlockDef
|
2024-06-12 02:42:10 +02:00
|
|
|
type BlockDef = {
|
2024-06-18 07:38:48 +02:00
|
|
|
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;
|
|
|
|
meta: MetaType;
|
|
|
|
};
|
|
|
|
|
2024-06-18 07:38:48 +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[];
|
2024-07-30 20:44:19 +02:00
|
|
|
tosagreed?: number;
|
2024-09-26 00:52:12 +02:00
|
|
|
hasoldhistory?: boolean;
|
2024-06-12 02:42:10 +02:00
|
|
|
};
|
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshrpc.CommandAppendIJsonData
|
|
|
|
type CommandAppendIJsonData = {
|
|
|
|
zoneid: string;
|
|
|
|
filename: string;
|
2024-07-30 21:33:28 +02:00
|
|
|
data: {[key: string]: any};
|
2024-07-18 00:24:43 +02:00
|
|
|
};
|
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// wshrpc.CommandAuthenticateRtnData
|
|
|
|
type CommandAuthenticateRtnData = {
|
|
|
|
routeid: string;
|
|
|
|
};
|
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshrpc.CommandBlockInputData
|
|
|
|
type CommandBlockInputData = {
|
|
|
|
blockid: string;
|
|
|
|
inputdata64?: string;
|
|
|
|
signame?: string;
|
|
|
|
termsize?: TermSize;
|
|
|
|
};
|
|
|
|
|
|
|
|
// wshrpc.CommandBlockSetViewData
|
|
|
|
type CommandBlockSetViewData = {
|
|
|
|
blockid: string;
|
|
|
|
view: string;
|
|
|
|
};
|
|
|
|
|
2024-09-05 09:21:08 +02:00
|
|
|
// wshrpc.CommandControllerResyncData
|
|
|
|
type CommandControllerResyncData = {
|
|
|
|
forcerestart?: boolean;
|
|
|
|
tabid: string;
|
|
|
|
blockid: string;
|
|
|
|
rtopts?: RuntimeOpts;
|
|
|
|
};
|
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshrpc.CommandCreateBlockData
|
|
|
|
type CommandCreateBlockData = {
|
2024-06-21 19:23:04 +02:00
|
|
|
tabid: string;
|
2024-06-20 22:03:50 +02:00
|
|
|
blockdef: BlockDef;
|
2024-08-21 05:14:14 +02:00
|
|
|
rtopts?: RuntimeOpts;
|
|
|
|
magnified?: boolean;
|
2024-06-20 22:03:50 +02:00
|
|
|
};
|
|
|
|
|
2024-07-19 03:13:59 +02:00
|
|
|
// wshrpc.CommandDeleteBlockData
|
|
|
|
type CommandDeleteBlockData = {
|
|
|
|
blockid: string;
|
|
|
|
};
|
|
|
|
|
2024-08-30 20:33:04 +02:00
|
|
|
// wshrpc.CommandEventReadHistoryData
|
|
|
|
type CommandEventReadHistoryData = {
|
|
|
|
event: string;
|
|
|
|
scope: string;
|
|
|
|
maxitems: number;
|
|
|
|
};
|
|
|
|
|
2024-07-23 22:16:53 +02:00
|
|
|
// wshrpc.CommandFileData
|
|
|
|
type CommandFileData = {
|
|
|
|
zoneid: string;
|
|
|
|
filename: string;
|
|
|
|
data64?: string;
|
|
|
|
};
|
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshrpc.CommandGetMetaData
|
|
|
|
type CommandGetMetaData = {
|
|
|
|
oref: ORef;
|
2024-06-24 23:34:31 +02:00
|
|
|
};
|
2024-06-22 09:41:49 +02:00
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshrpc.CommandMessageData
|
|
|
|
type CommandMessageData = {
|
|
|
|
oref: ORef;
|
|
|
|
message: string;
|
|
|
|
};
|
|
|
|
|
2024-08-12 19:58:39 +02:00
|
|
|
// wshrpc.CommandRemoteStreamFileData
|
|
|
|
type CommandRemoteStreamFileData = {
|
|
|
|
path: string;
|
|
|
|
byterange?: string;
|
|
|
|
};
|
|
|
|
|
|
|
|
// wshrpc.CommandRemoteStreamFileRtnData
|
|
|
|
type CommandRemoteStreamFileRtnData = {
|
2024-08-19 20:02:40 +02:00
|
|
|
fileinfo?: FileInfo[];
|
2024-08-12 19:58:39 +02:00
|
|
|
data64?: string;
|
|
|
|
};
|
|
|
|
|
2024-08-14 03:36:11 +02:00
|
|
|
// wshrpc.CommandRemoteWriteFileData
|
|
|
|
type CommandRemoteWriteFileData = {
|
|
|
|
path: string;
|
|
|
|
data64: string;
|
|
|
|
createmode?: number;
|
|
|
|
};
|
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshrpc.CommandResolveIdsData
|
|
|
|
type CommandResolveIdsData = {
|
2024-08-14 01:52:35 +02:00
|
|
|
blockid: string;
|
2024-07-18 00:24:43 +02:00
|
|
|
ids: string[];
|
|
|
|
};
|
|
|
|
|
|
|
|
// wshrpc.CommandResolveIdsRtnData
|
|
|
|
type CommandResolveIdsRtnData = {
|
|
|
|
resolvedids: {[key: string]: ORef};
|
|
|
|
};
|
|
|
|
|
|
|
|
// wshrpc.CommandSetMetaData
|
|
|
|
type CommandSetMetaData = {
|
|
|
|
oref: ORef;
|
|
|
|
meta: MetaType;
|
|
|
|
};
|
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2024-08-24 03:12:40 +02:00
|
|
|
// wshrpc.ConnStatus
|
|
|
|
type ConnStatus = {
|
|
|
|
status: string;
|
|
|
|
connection: string;
|
|
|
|
connected: boolean;
|
2024-09-04 07:15:02 +02:00
|
|
|
hasconnected: boolean;
|
2024-09-06 08:09:30 +02:00
|
|
|
activeconnnum: number;
|
2024-08-24 03:12:40 +02:00
|
|
|
error?: string;
|
|
|
|
};
|
|
|
|
|
2024-07-31 23:13:36 +02:00
|
|
|
// wshrpc.CpuDataRequest
|
|
|
|
type CpuDataRequest = {
|
|
|
|
id: string;
|
2024-08-01 09:57:06 +02:00
|
|
|
count: number;
|
2024-07-31 23:13:36 +02:00
|
|
|
};
|
|
|
|
|
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;
|
2024-07-30 21:33:28 +02:00
|
|
|
meta?: {[key: string]: any};
|
2024-06-12 02:42:10 +02:00
|
|
|
};
|
|
|
|
|
2024-08-12 19:58:39 +02:00
|
|
|
// wshrpc.FileInfo
|
2024-06-12 02:42:10 +02:00
|
|
|
type FileInfo = {
|
|
|
|
path: string;
|
2024-09-03 01:48:10 +02:00
|
|
|
dir: string;
|
2024-06-27 21:30:08 +02:00
|
|
|
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;
|
2024-09-03 01:48:10 +02:00
|
|
|
readonly?: boolean;
|
2024-06-12 02:42:10 +02:00
|
|
|
};
|
|
|
|
|
2024-06-18 07:38:48 +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};
|
|
|
|
defaultwidgets: {[key: string]: WidgetConfigType};
|
|
|
|
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[];
|
2024-08-28 08:16:07 +02:00
|
|
|
focused: boolean;
|
|
|
|
magnified: boolean;
|
2024-08-27 00:17:37 +02:00
|
|
|
};
|
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// waveobj.LayoutState
|
2024-08-15 03:40:41 +02:00
|
|
|
type LayoutState = WaveObj & {
|
|
|
|
rootnode?: any;
|
2024-07-30 19:59:53 +02:00
|
|
|
magnifiednodeid?: string;
|
2024-08-26 20:56:00 +02:00
|
|
|
focusednodeid?: string;
|
2024-08-31 05:20:25 +02:00
|
|
|
leaforder?: LeafOrderEntry[];
|
2024-08-28 03:38:57 +02:00
|
|
|
pendingbackendactions?: LayoutActionData[];
|
2024-06-12 02:42:10 +02:00
|
|
|
};
|
|
|
|
|
2024-08-31 05:20:25 +02:00
|
|
|
// waveobj.LeafOrderEntry
|
|
|
|
type LeafOrderEntry = {
|
|
|
|
nodeid: string;
|
|
|
|
blockid: string;
|
|
|
|
};
|
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// waveobj.MetaTSType
|
2024-07-30 21:33:28 +02:00
|
|
|
type MetaType = {
|
|
|
|
view?: string;
|
|
|
|
controller?: string;
|
|
|
|
file?: string;
|
|
|
|
url?: string;
|
|
|
|
connection?: string;
|
2024-08-30 22:56:53 +02:00
|
|
|
edit?: boolean;
|
2024-08-20 07:07:35 +02:00
|
|
|
history?: string[];
|
|
|
|
"history:forward"?: string[];
|
2024-08-28 03:49:49 +02:00
|
|
|
"display:name"?: string;
|
|
|
|
"display:order"?: number;
|
2024-07-30 21:33:28 +02:00
|
|
|
icon?: string;
|
|
|
|
"icon:color"?: string;
|
|
|
|
frame?: boolean;
|
|
|
|
"frame:*"?: boolean;
|
|
|
|
"frame:bordercolor"?: string;
|
|
|
|
"frame:bordercolor:focused"?: string;
|
2024-10-07 07:08:26 +02:00
|
|
|
"frame:title"?: string;
|
|
|
|
"frame:icon"?: string;
|
|
|
|
"frame:text"?: string;
|
2024-07-30 21:33:28 +02:00
|
|
|
cmd?: string;
|
|
|
|
"cmd:*"?: boolean;
|
|
|
|
"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;
|
2024-08-30 20:33:04 +02:00
|
|
|
"graph:*"?: boolean;
|
|
|
|
"graph:numpoints"?: number;
|
|
|
|
"graph:metrics"?: string[];
|
2024-07-30 21:33:28 +02:00
|
|
|
bg?: string;
|
|
|
|
"bg:*"?: boolean;
|
|
|
|
"bg:opacity"?: number;
|
|
|
|
"bg:blendmode"?: 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[];
|
2024-10-07 18:51:23 +02:00
|
|
|
"term:scrollback"?: number;
|
2024-08-01 09:57:06 +02:00
|
|
|
count?: number;
|
2024-07-30 21:33:28 +02:00
|
|
|
};
|
2024-06-12 02:42:10 +02:00
|
|
|
|
2024-06-12 22:47:13 +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;
|
2024-06-26 21:14:59 +02:00
|
|
|
color: string;
|
2024-06-24 23:34:31 +02:00
|
|
|
};
|
2024-06-22 09:41:49 +02:00
|
|
|
|
2024-06-12 02:42:10 +02:00
|
|
|
// waveobj.ORef
|
2024-07-18 00:24:43 +02:00
|
|
|
type ORef = string;
|
2024-06-12 02:42:10 +02:00
|
|
|
|
2024-07-26 22:30:11 +02:00
|
|
|
// wshrpc.OpenAIOptsType
|
2024-07-25 11:30:49 +02:00
|
|
|
type OpenAIOptsType = {
|
|
|
|
model: string;
|
|
|
|
apitoken: string;
|
|
|
|
baseurl?: string;
|
|
|
|
maxtokens?: number;
|
|
|
|
maxchoices?: number;
|
|
|
|
timeout?: number;
|
|
|
|
};
|
|
|
|
|
2024-07-26 22:30:11 +02:00
|
|
|
// wshrpc.OpenAIPacketType
|
2024-07-25 11:30:49 +02:00
|
|
|
type OpenAIPacketType = {
|
|
|
|
type: string;
|
|
|
|
model?: string;
|
|
|
|
created?: number;
|
|
|
|
finish_reason?: string;
|
|
|
|
usage?: OpenAIUsageType;
|
|
|
|
index?: number;
|
|
|
|
text?: string;
|
|
|
|
error?: string;
|
|
|
|
};
|
|
|
|
|
2024-07-26 22:30:11 +02:00
|
|
|
// wshrpc.OpenAIPromptMessageType
|
2024-07-25 11:30:49 +02:00
|
|
|
type OpenAIPromptMessageType = {
|
|
|
|
role: string;
|
|
|
|
content: string;
|
|
|
|
name?: string;
|
|
|
|
};
|
|
|
|
|
2024-07-26 22:30:11 +02:00
|
|
|
// wshrpc.OpenAIUsageType
|
2024-07-25 11:30:49 +02:00
|
|
|
type OpenAIUsageType = {
|
|
|
|
prompt_tokens?: number;
|
|
|
|
completion_tokens?: number;
|
|
|
|
total_tokens?: number;
|
|
|
|
};
|
|
|
|
|
2024-07-26 22:30:11 +02:00
|
|
|
// wshrpc.OpenAiStreamRequest
|
2024-07-25 11:30:49 +02:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshutil.RpcMessage
|
|
|
|
type RpcMessage = {
|
|
|
|
command?: string;
|
|
|
|
reqid?: string;
|
|
|
|
resid?: string;
|
|
|
|
timeout?: number;
|
2024-08-14 01:52:35 +02:00
|
|
|
route?: string;
|
|
|
|
source?: string;
|
2024-07-18 00:24:43 +02:00
|
|
|
cont?: boolean;
|
2024-07-19 00:56:04 +02:00
|
|
|
cancel?: boolean;
|
2024-07-18 00:24:43 +02:00
|
|
|
error?: string;
|
|
|
|
datatype?: string;
|
|
|
|
data?: any;
|
|
|
|
};
|
|
|
|
|
2024-08-14 01:52:35 +02:00
|
|
|
// 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;
|
|
|
|
};
|
|
|
|
|
2024-06-12 23:18:03 +02:00
|
|
|
// 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:baseurl"?: string;
|
|
|
|
"ai:apitoken"?: string;
|
|
|
|
"ai:name"?: string;
|
|
|
|
"ai:model"?: string;
|
|
|
|
"ai:maxtokens"?: number;
|
|
|
|
"ai:timeoutms"?: number;
|
|
|
|
"term:*"?: boolean;
|
|
|
|
"term:fontsize"?: number;
|
|
|
|
"term:fontfamily"?: string;
|
2024-10-07 23:08:57 +02:00
|
|
|
"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[];
|
2024-10-07 18:51:23 +02:00
|
|
|
"term:scrollback"?: number;
|
2024-09-04 23:00:29 +02:00
|
|
|
"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;
|
2024-09-20 20:24:37 +02:00
|
|
|
"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;
|
2024-10-07 23:08:57 +02:00
|
|
|
"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;
|
2024-09-05 20:19:52 +02:00
|
|
|
"window:tilegapsize"?: number;
|
2024-09-25 07:05:38 +02:00
|
|
|
"window:nativetitlebar"?: boolean;
|
2024-09-25 19:08:15 +02:00
|
|
|
"window:disablehardwareacceleration"?: boolean;
|
2024-08-28 03:49:49 +02:00
|
|
|
"telemetry:*"?: boolean;
|
|
|
|
"telemetry:enabled"?: boolean;
|
2024-06-20 22:03:50 +02:00
|
|
|
};
|
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// waveobj.StickerClickOptsType
|
2024-06-18 07:38:48 +02:00
|
|
|
type StickerClickOptsType = {
|
|
|
|
sendinput?: string;
|
|
|
|
createblock?: BlockDef;
|
|
|
|
};
|
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// waveobj.StickerDisplayOptsType
|
2024-06-18 07:38:48 +02:00
|
|
|
type StickerDisplayOptsType = {
|
|
|
|
icon: string;
|
|
|
|
imgsrc: string;
|
|
|
|
svgblob?: string;
|
|
|
|
};
|
|
|
|
|
2024-08-20 23:56:48 +02:00
|
|
|
// waveobj.StickerType
|
2024-06-18 07:38:48 +02:00
|
|
|
type StickerType = {
|
|
|
|
stickertype: string;
|
2024-07-30 21:33:28 +02:00
|
|
|
style: {[key: string]: any};
|
2024-06-18 07:38:48 +02:00
|
|
|
clickopts?: StickerClickOptsType;
|
|
|
|
display: StickerDisplayOptsType;
|
|
|
|
};
|
|
|
|
|
2024-09-12 03:03:55 +02:00
|
|
|
// wps.SubscriptionRequest
|
2024-07-26 22:30:11 +02:00
|
|
|
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;
|
2024-08-15 03:40:41 +02:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2024-07-25 05:34:22 +02:00
|
|
|
// wconfig.TermThemeType
|
|
|
|
type TermThemeType = {
|
2024-08-30 06:35:22 +02:00
|
|
|
"display:name": string;
|
|
|
|
"display:order": number;
|
2024-07-25 05:34:22 +02:00
|
|
|
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;
|
2024-10-06 21:42:25 +02:00
|
|
|
cursor: string;
|
2024-07-25 05:34:22 +02:00
|
|
|
};
|
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2024-07-19 00:21:33 +02:00
|
|
|
// 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-07-23 22:16:53 +02:00
|
|
|
// vdom.Elem
|
|
|
|
type VDomElem = {
|
|
|
|
id?: string;
|
|
|
|
tag: string;
|
2024-07-30 21:33:28 +02:00
|
|
|
props?: {[key: string]: any};
|
2024-07-23 22:16:53 +02:00
|
|
|
children?: VDomElem[];
|
|
|
|
text?: string;
|
|
|
|
};
|
|
|
|
|
|
|
|
// vdom.VDomFuncType
|
|
|
|
type VDomFuncType = {
|
|
|
|
#func: string;
|
|
|
|
#stopPropagation?: boolean;
|
|
|
|
#preventDefault?: boolean;
|
|
|
|
#keys?: string[];
|
|
|
|
};
|
|
|
|
|
|
|
|
// vdom.VDomRefType
|
|
|
|
type VDomRefType = {
|
|
|
|
#ref: string;
|
|
|
|
current: any;
|
|
|
|
};
|
|
|
|
|
2024-06-12 23:18:03 +02:00
|
|
|
type WSCommandType = {
|
|
|
|
wscommand: string;
|
2024-07-18 00:24:43 +02:00
|
|
|
} & ( SetBlockTermSizeWSCommand | BlockInputWSCommand | WSRpcCommand );
|
2024-06-12 23:18:03 +02:00
|
|
|
|
2024-06-12 02:42:10 +02:00
|
|
|
// eventbus.WSEventType
|
|
|
|
type WSEventType = {
|
|
|
|
eventtype: string;
|
|
|
|
oref?: string;
|
|
|
|
data: any;
|
|
|
|
};
|
|
|
|
|
2024-09-12 03:03:55 +02:00
|
|
|
// wps.WSFileEventData
|
2024-06-14 08:54:04 +02:00
|
|
|
type WSFileEventData = {
|
|
|
|
zoneid: string;
|
|
|
|
filename: string;
|
|
|
|
fileop: string;
|
|
|
|
data64: string;
|
|
|
|
};
|
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// webcmd.WSRpcCommand
|
|
|
|
type WSRpcCommand = {
|
|
|
|
wscommand: "rpc";
|
|
|
|
message: RpcMessage;
|
|
|
|
};
|
|
|
|
|
2024-06-20 22:03:50 +02:00
|
|
|
// wconfig.WatcherUpdate
|
|
|
|
type WatcherUpdate = {
|
2024-08-28 03:49:49 +02:00
|
|
|
fullconfig: FullConfigType;
|
2024-06-20 22:03:50 +02:00
|
|
|
};
|
|
|
|
|
2024-09-12 03:03:55 +02:00
|
|
|
// wps.WaveEvent
|
2024-07-26 22:30:11 +02:00
|
|
|
type WaveEvent = {
|
|
|
|
event: string;
|
|
|
|
scopes?: string[];
|
|
|
|
sender?: string;
|
2024-08-30 20:33:04 +02:00
|
|
|
persist?: number;
|
2024-07-26 22:30:11 +02:00
|
|
|
data?: any;
|
|
|
|
};
|
|
|
|
|
2024-06-18 07:38:48 +02:00
|
|
|
// filestore.WaveFile
|
|
|
|
type WaveFile = {
|
|
|
|
zoneid: string;
|
|
|
|
name: string;
|
|
|
|
opts: FileOptsType;
|
|
|
|
createdts: number;
|
|
|
|
size: number;
|
|
|
|
modts: number;
|
2024-07-30 21:33:28 +02:00
|
|
|
meta: {[key: string]: any};
|
2024-06-18 07:38:48 +02:00
|
|
|
};
|
|
|
|
|
2024-06-12 02:42:10 +02:00
|
|
|
// waveobj.WaveObj
|
|
|
|
type WaveObj = {
|
|
|
|
otype: string;
|
|
|
|
oid: string;
|
|
|
|
version: number;
|
2024-07-30 21:33:28 +02:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
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;
|
|
|
|
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;
|
2024-06-20 22:03:50 +02:00
|
|
|
color?: string;
|
|
|
|
label?: string;
|
|
|
|
description?: string;
|
2024-06-20 08:59:41 +02:00
|
|
|
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[];
|
|
|
|
};
|
2024-06-18 07:38:48 +02:00
|
|
|
|
2024-07-18 00:24:43 +02:00
|
|
|
// wshrpc.WshServerCommandMeta
|
|
|
|
type WshServerCommandMeta = {
|
|
|
|
commandtype: string;
|
|
|
|
};
|
|
|
|
|
2024-06-12 02:42:10 +02:00
|
|
|
}
|
|
|
|
|
2024-06-27 21:30:08 +02:00
|
|
|
export {}
|