diff --git a/site/src/pages/WorkspacePage/Workspace.stories.tsx b/site/src/pages/WorkspacePage/Workspace.stories.tsx index 10887f5b5ebdc..0cd16234d4b71 100644 --- a/site/src/pages/WorkspacePage/Workspace.stories.tsx +++ b/site/src/pages/WorkspacePage/Workspace.stories.tsx @@ -3,7 +3,7 @@ import { Meta, StoryObj } from "@storybook/react"; import { WatchAgentMetadataContext } from "components/Resources/AgentMetadata"; import { ProvisionerJobLog } from "api/typesGenerated"; import * as Mocks from "testHelpers/entities"; -import { Workspace, WorkspaceErrors } from "./Workspace"; +import { Workspace } from "./Workspace"; import { withReactContext } from "storybook-react-context"; import EventSource from "eventsourcemock"; import { ProxyContext, getPreferredProxy } from "contexts/ProxyContext"; @@ -133,7 +133,7 @@ export const Failed: Story = { ...Running.args, workspace: Mocks.MockFailedWorkspace, workspaceErrors: { - [WorkspaceErrors.BUILD_ERROR]: Mocks.mockApiError({ + buildError: Mocks.mockApiError({ message: "A workspace build is already active.", }), }, @@ -224,7 +224,7 @@ export const GetBuildsError: Story = { args: { ...Running.args, workspaceErrors: { - [WorkspaceErrors.GET_BUILDS_ERROR]: Mocks.mockApiError({ + getBuildsError: Mocks.mockApiError({ message: "There is a problem fetching builds.", }), }, @@ -235,7 +235,7 @@ export const CancellationError: Story = { args: { ...Failed.args, workspaceErrors: { - [WorkspaceErrors.CANCELLATION_ERROR]: Mocks.mockApiError({ + cancellationError: Mocks.mockApiError({ message: "Job could not be canceled.", }), }, diff --git a/site/src/pages/WorkspacePage/Workspace.tsx b/site/src/pages/WorkspacePage/Workspace.tsx index 060ee10c5b8a2..09a835dbef5ee 100644 --- a/site/src/pages/WorkspacePage/Workspace.tsx +++ b/site/src/pages/WorkspacePage/Workspace.tsx @@ -29,11 +29,13 @@ import { BuildsTable } from "./BuildsTable"; import { WorkspaceDeletedBanner } from "./WorkspaceDeletedBanner"; import { WorkspaceStats } from "./WorkspaceStats"; -export enum WorkspaceErrors { - GET_BUILDS_ERROR = "getBuildsError", - BUILD_ERROR = "buildError", - CANCELLATION_ERROR = "cancellationError", -} +export type WorkspaceError = + | "getBuildsError" + | "buildError" + | "cancellationError"; + +export type WorkspaceErrors = Partial>; + export interface WorkspaceProps { scheduleProps: { onDeadlinePlus: (hours: number) => void; @@ -60,7 +62,7 @@ export interface WorkspaceProps { canChangeVersions: boolean; hideSSHButton?: boolean; hideVSCodeDesktopButton?: boolean; - workspaceErrors: Partial>; + workspaceErrors: WorkspaceErrors; buildInfo?: TypesGen.BuildInfoResponse; sshPrefix?: string; template?: TypesGen.Template; @@ -111,31 +113,14 @@ export const Workspace: FC> = ({ canAutostart, }) => { const navigate = useNavigate(); - const serverVersion = buildInfo?.version || ""; const { saveLocal, getLocal } = useLocalStorage(); - const buildError = Boolean(workspaceErrors[WorkspaceErrors.BUILD_ERROR]) && ( - - ); - - const cancellationError = Boolean( - workspaceErrors[WorkspaceErrors.CANCELLATION_ERROR], - ) && ( - - ); - - let transitionStats: TypesGen.TransitionStats | undefined = undefined; - if (template !== undefined) { - transitionStats = ActiveTransition(template, workspace); - } - const [showAlertPendingInQueue, setShowAlertPendingInQueue] = useState(false); + + // 2023-11-08 - MES - This effect will be called every single render because + // "now" will always change and invalidate the dependency array. Need to + // figure out if this effect really should run every render (possibly meaning + // no dependency array at all), or how to get the array stabilized (ideal) const now = dayjs(); useEffect(() => { if ( @@ -174,6 +159,9 @@ export const Workspace: FC> = ({ const autoStartFailing = workspace.autostart_schedule && !canAutostart; const requiresManualUpdate = updateRequired && autoStartFailing; + const transitionStats = + template !== undefined ? ActiveTransition(template, workspace) : undefined; + return ( <> @@ -213,6 +201,7 @@ export const Workspace: FC> = ({ handleUpdate={handleUpdate} handleCancel={handleCancel} handleSettings={handleSettings} + handleRetry={handleBuildRetry} handleChangeVersion={handleChangeVersion} handleDormantActivate={handleDormantActivate} canChangeVersions={canChangeVersions} @@ -244,8 +233,15 @@ export const Workspace: FC> = ({ {updateMessage && {updateMessage}} ))} - {buildError} - {cancellationError} + + {Boolean(workspaceErrors.buildError) && ( + + )} + + {Boolean(workspaceErrors.cancellationError) && ( + + )} + {workspace.latest_build.status === "running" && !workspace.health.healthy && ( > = ({ actions={ canRetryDebugMode && ( ); @@ -162,3 +167,13 @@ export const ActionLoadingButton: FC = ({ label }) => { ); }; + +export function RetryButton({ + handleAction, +}: Omit) { + return ( + + ); +} diff --git a/site/src/pages/WorkspacePage/WorkspaceActions/WorkspaceActions.tsx b/site/src/pages/WorkspacePage/WorkspaceActions/WorkspaceActions.tsx index 4efc94df53623..332ffa4151a15 100644 --- a/site/src/pages/WorkspacePage/WorkspaceActions/WorkspaceActions.tsx +++ b/site/src/pages/WorkspacePage/WorkspaceActions/WorkspaceActions.tsx @@ -1,4 +1,4 @@ -import { FC, Fragment, ReactNode } from "react"; +import { type FC, type ReactNode, Fragment } from "react"; import { Workspace, WorkspaceBuildParameter } from "api/typesGenerated"; import { useWorkspaceDuplication } from "pages/CreateWorkspacePage/useWorkspaceDuplication"; import { @@ -10,12 +10,9 @@ import { RestartButton, UpdateButton, ActivateButton, + RetryButton, } from "./Buttons"; -import { - ButtonMapping, - ButtonTypesEnum, - actionsByWorkspaceStatus, -} from "./constants"; +import { type ButtonType, actionsByWorkspaceStatus } from "./constants"; import Divider from "@mui/material/Divider"; import DuplicateIcon from "@mui/icons-material/FileCopyOutlined"; @@ -41,6 +38,7 @@ export interface WorkspaceActionsProps { handleCancel: () => void; handleSettings: () => void; handleChangeVersion: () => void; + handleRetry: () => void; handleDormantActivate: () => void; isUpdating: boolean; isRestarting: boolean; @@ -57,81 +55,68 @@ export const WorkspaceActions: FC = ({ handleUpdate, handleCancel, handleSettings, + handleRetry, handleChangeVersion, handleDormantActivate: handleDormantActivate, isUpdating, isRestarting, canChangeVersions, }) => { - const { - canCancel, - canAcceptJobs, - actions: actionsByStatus, - } = actionsByWorkspaceStatus( - workspace, - workspace.latest_build.status, - canChangeVersions, - ); - const canBeUpdated = workspace.outdated && canAcceptJobs; const { duplicateWorkspace, isDuplicationReady } = useWorkspaceDuplication(workspace); - // A mapping of button type to the corresponding React component - const buttonMapping: ButtonMapping = { - [ButtonTypesEnum.update]: , - [ButtonTypesEnum.updating]: ( - - ), - [ButtonTypesEnum.start]: ( - - ), - [ButtonTypesEnum.starting]: ( + // A mapping of button type to their corresponding React components + const buttonMapping: Record = { + update: , + updating: , + start: , + starting: ( ), - [ButtonTypesEnum.stop]: , - [ButtonTypesEnum.stopping]: ( - - ), - [ButtonTypesEnum.restart]: ( + stop: , + stopping: , + restart: ( ), - [ButtonTypesEnum.restarting]: ( + restarting: ( ), - [ButtonTypesEnum.deleting]: , - [ButtonTypesEnum.canceling]: , - [ButtonTypesEnum.deleted]: , - [ButtonTypesEnum.pending]: , - [ButtonTypesEnum.activate]: ( - - ), - [ButtonTypesEnum.activating]: ( - - ), + deleting: , + canceling: , + deleted: , + pending: , + activate: , + activating: , + retry: , }; + const { actions, canCancel, canAcceptJobs } = actionsByWorkspaceStatus( + workspace, + workspace.latest_build.status, + canChangeVersions, + ); + const canBeUpdated = workspace.outdated && canAcceptJobs; + return (
{canBeUpdated && - (isUpdating - ? buttonMapping[ButtonTypesEnum.updating] - : buttonMapping[ButtonTypesEnum.update])} + (isUpdating ? buttonMapping.updating : buttonMapping.update)} - {isRestarting && buttonMapping[ButtonTypesEnum.restarting]} - - {!isRestarting && - actionsByStatus.map((action) => ( - {buttonMapping[action]} - ))} + {isRestarting + ? buttonMapping.restarting + : actions.map((action) => ( + {buttonMapping[action]} + ))} {canCancel && } + { if (workspace.dormant_at) { return { - actions: [ButtonTypesEnum.activate], + actions: ["activate"], canCancel: false, canAcceptJobs: false, }; @@ -49,7 +57,7 @@ export const actionsByWorkspaceStatus = ( ) { if (status === "running") { return { - actions: [ButtonTypesEnum.stop], + actions: ["stop"], canCancel: false, canAcceptJobs: true, }; @@ -67,56 +75,56 @@ export const actionsByWorkspaceStatus = ( const statusToActions: Record = { starting: { - actions: [ButtonTypesEnum.starting], + actions: ["starting"], canCancel: true, canAcceptJobs: false, }, running: { - actions: [ButtonTypesEnum.stop, ButtonTypesEnum.restart], + actions: ["stop", "restart"], canCancel: false, canAcceptJobs: true, }, stopping: { - actions: [ButtonTypesEnum.stopping], + actions: ["stopping"], canCancel: true, canAcceptJobs: false, }, stopped: { - actions: [ButtonTypesEnum.start], + actions: ["start"], canCancel: false, canAcceptJobs: true, }, canceled: { - actions: [ButtonTypesEnum.start, ButtonTypesEnum.stop], + actions: ["start", "stop"], canCancel: false, canAcceptJobs: true, }, + // in the case of an error failed: { - actions: [ButtonTypesEnum.start, ButtonTypesEnum.stop], + actions: ["retry"], canCancel: false, canAcceptJobs: true, }, - /** - * disabled states - */ + + // Disabled states canceling: { - actions: [ButtonTypesEnum.canceling], + actions: ["canceling"], canCancel: false, canAcceptJobs: false, }, deleting: { - actions: [ButtonTypesEnum.deleting], + actions: ["deleting"], canCancel: true, canAcceptJobs: false, }, deleted: { - actions: [ButtonTypesEnum.deleted], + actions: ["deleted"], canCancel: false, canAcceptJobs: false, }, pending: { - actions: [ButtonTypesEnum.pending], + actions: ["pending"], canCancel: false, canAcceptJobs: false, }, diff --git a/site/src/pages/WorkspacePage/WorkspaceReadyPage.tsx b/site/src/pages/WorkspacePage/WorkspaceReadyPage.tsx index fd6a9343fac9c..e77a38b758079 100644 --- a/site/src/pages/WorkspacePage/WorkspaceReadyPage.tsx +++ b/site/src/pages/WorkspacePage/WorkspaceReadyPage.tsx @@ -9,7 +9,7 @@ import { getMaxDeadlineChange, getMinDeadline, } from "utils/schedule"; -import { Workspace, WorkspaceErrors } from "./Workspace"; +import { Workspace } from "./Workspace"; import { pageTitle } from "utils/page"; import { hasJobError } from "utils/workspace"; import { UpdateBuildParametersDialog } from "./UpdateBuildParametersDialog"; @@ -243,15 +243,16 @@ export const WorkspaceReadyPage = ({ handleCancel={cancelBuildMutation.mutate} handleSettings={() => navigate("settings")} handleBuildRetry={() => { + const logLevel = canRetryDebugMode ? "debug" : undefined; switch (workspace.latest_build.transition) { case "start": - startWorkspaceMutation.mutate({ logLevel: "debug" }); + startWorkspaceMutation.mutate({ logLevel }); break; case "stop": - stopWorkspaceMutation.mutate({ logLevel: "debug" }); + stopWorkspaceMutation.mutate({ logLevel }); break; case "delete": - deleteWorkspaceMutation.mutate({ logLevel: "debug" }); + deleteWorkspaceMutation.mutate({ logLevel }); break; } }} @@ -278,14 +279,14 @@ export const WorkspaceReadyPage = ({ hideSSHButton={featureVisibility["browser_only"]} hideVSCodeDesktopButton={featureVisibility["browser_only"]} workspaceErrors={{ - [WorkspaceErrors.GET_BUILDS_ERROR]: buildsError, - [WorkspaceErrors.BUILD_ERROR]: + getBuildsError: buildsError, + buildError: restartBuildError ?? startWorkspaceMutation.error ?? stopWorkspaceMutation.error ?? deleteWorkspaceMutation.error ?? updateWorkspaceMutation.error, - [WorkspaceErrors.CANCELLATION_ERROR]: cancelBuildMutation.error, + cancellationError: cancelBuildMutation.error, }} buildInfo={buildInfo} sshPrefix={sshPrefixQuery.data?.hostname_prefix} @@ -297,6 +298,7 @@ export const WorkspaceReadyPage = ({ } canAutostart={canAutostart} /> + + + + + { diff --git a/site/src/xServices/auth/authMethodsXService.typegen.ts b/site/src/xServices/auth/authMethodsXService.typegen.ts new file mode 100644 index 0000000000000..7115601fd01a6 --- /dev/null +++ b/site/src/xServices/auth/authMethodsXService.typegen.ts @@ -0,0 +1,37 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.authMethods.gettingAuthMethods:invocation[0]": { + type: "done.invoke.authMethods.gettingAuthMethods:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.authMethods.gettingAuthMethods:invocation[0]": { + type: "error.platform.authMethods.gettingAuthMethods:invocation[0]"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + getAuthMethods: "done.invoke.authMethods.gettingAuthMethods:invocation[0]"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignAuthMethods: "done.invoke.authMethods.gettingAuthMethods:invocation[0]"; + setError: "error.platform.authMethods.gettingAuthMethods:invocation[0]"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + getAuthMethods: "xstate.init"; + }; + matchesStates: "gettingAuthMethods" | "idle"; + tags: never; +} diff --git a/site/src/xServices/auth/authXService.typegen.ts b/site/src/xServices/auth/authXService.typegen.ts new file mode 100644 index 0000000000000..df760b7350bc6 --- /dev/null +++ b/site/src/xServices/auth/authXService.typegen.ts @@ -0,0 +1,104 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.authState.loadingInitialAuthData:invocation[0]": { + type: "done.invoke.authState.loadingInitialAuthData:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.authState.signedIn.profile.updatingProfile:invocation[0]": { + type: "done.invoke.authState.signedIn.profile.updatingProfile:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.signIn": { + type: "done.invoke.signIn"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.signOut": { + type: "done.invoke.signOut"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.authState.loadingInitialAuthData:invocation[0]": { + type: "error.platform.authState.loadingInitialAuthData:invocation[0]"; + data: unknown; + }; + "error.platform.authState.signedIn.profile.updatingProfile:invocation[0]": { + type: "error.platform.authState.signedIn.profile.updatingProfile:invocation[0]"; + data: unknown; + }; + "error.platform.signIn": { type: "error.platform.signIn"; data: unknown }; + "error.platform.signOut": { type: "error.platform.signOut"; data: unknown }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + loadInitialAuthData: "done.invoke.authState.loadingInitialAuthData:invocation[0]"; + signIn: "done.invoke.signIn"; + signOut: "done.invoke.signOut"; + updateProfile: "done.invoke.authState.signedIn.profile.updatingProfile:invocation[0]"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignData: + | "done.invoke.authState.loadingInitialAuthData:invocation[0]" + | "done.invoke.signIn"; + assignError: + | "error.platform.authState.loadingInitialAuthData:invocation[0]" + | "error.platform.signIn" + | "error.platform.signOut"; + assignUpdateProfileError: "error.platform.authState.signedIn.profile.updatingProfile:invocation[0]"; + clearData: "done.invoke.signOut"; + clearError: + | "SIGN_IN" + | "done.invoke.authState.loadingInitialAuthData:invocation[0]" + | "done.invoke.signOut"; + clearUpdateProfileError: "UPDATE_PROFILE"; + notifySuccessProfileUpdate: "done.invoke.authState.signedIn.profile.updatingProfile:invocation[0]"; + redirect: "done.invoke.signOut"; + updateUser: "done.invoke.authState.signedIn.profile.updatingProfile:invocation[0]"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: { + hasRedirectUrl: "done.invoke.signOut"; + isAuthenticated: "done.invoke.authState.loadingInitialAuthData:invocation[0]"; + needSetup: "done.invoke.authState.loadingInitialAuthData:invocation[0]"; + }; + eventsCausingServices: { + loadInitialAuthData: "xstate.init"; + signIn: "SIGN_IN"; + signOut: "SIGN_OUT"; + updateProfile: "UPDATE_PROFILE"; + }; + matchesStates: + | "configuringTheFirstUser" + | "loadingInitialAuthData" + | "signedIn" + | "signedIn.profile" + | "signedIn.profile.idle" + | "signedIn.profile.idle.error" + | "signedIn.profile.idle.noError" + | "signedIn.profile.updatingProfile" + | "signedOut" + | "signingIn" + | "signingOut" + | { + signedIn?: + | "profile" + | { + profile?: + | "idle" + | "updatingProfile" + | { idle?: "error" | "noError" }; + }; + }; + tags: never; +} diff --git a/site/src/xServices/createTemplate/createTemplateXService.typegen.ts b/site/src/xServices/createTemplate/createTemplateXService.typegen.ts new file mode 100644 index 0000000000000..9a7c4fc566fb7 --- /dev/null +++ b/site/src/xServices/createTemplate/createTemplateXService.typegen.ts @@ -0,0 +1,187 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "": { type: "" }; + "done.invoke.createTemplate.copyingTemplateData:invocation[0]": { + type: "done.invoke.createTemplate.copyingTemplateData:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.creating.checkingParametersAndVariables:invocation[0]": { + type: "done.invoke.createTemplate.creating.checkingParametersAndVariables:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.creating.creatingFirstVersion:invocation[0]": { + type: "done.invoke.createTemplate.creating.creatingFirstVersion:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.creating.creatingTemplate:invocation[0]": { + type: "done.invoke.createTemplate.creating.creatingTemplate:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]": { + type: "done.invoke.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.creating.loadingVersionLogs:invocation[0]": { + type: "done.invoke.createTemplate.creating.loadingVersionLogs:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]": { + type: "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.loadingStarterTemplate:invocation[0]": { + type: "done.invoke.createTemplate.loadingStarterTemplate:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createTemplate.uploading:invocation[0]": { + type: "done.invoke.createTemplate.uploading:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.createTemplate.copyingTemplateData:invocation[0]": { + type: "error.platform.createTemplate.copyingTemplateData:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.creating.checkingParametersAndVariables:invocation[0]": { + type: "error.platform.createTemplate.creating.checkingParametersAndVariables:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.creating.creatingFirstVersion:invocation[0]": { + type: "error.platform.createTemplate.creating.creatingFirstVersion:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.creating.creatingTemplate:invocation[0]": { + type: "error.platform.createTemplate.creating.creatingTemplate:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]": { + type: "error.platform.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.creating.loadingVersionLogs:invocation[0]": { + type: "error.platform.createTemplate.creating.loadingVersionLogs:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]": { + type: "error.platform.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.loadingStarterTemplate:invocation[0]": { + type: "error.platform.createTemplate.loadingStarterTemplate:invocation[0]"; + data: unknown; + }; + "error.platform.createTemplate.uploading:invocation[0]": { + type: "error.platform.createTemplate.uploading:invocation[0]"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + checkParametersAndVariables: "done.invoke.createTemplate.creating.checkingParametersAndVariables:invocation[0]"; + copyTemplateData: "done.invoke.createTemplate.copyingTemplateData:invocation[0]"; + createFirstVersion: "done.invoke.createTemplate.creating.creatingFirstVersion:invocation[0]"; + createTemplate: "done.invoke.createTemplate.creating.creatingTemplate:invocation[0]"; + createVersionWithParametersAndVariables: "done.invoke.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]"; + loadStarterTemplate: "done.invoke.createTemplate.loadingStarterTemplate:invocation[0]"; + loadVersionLogs: "done.invoke.createTemplate.creating.loadingVersionLogs:invocation[0]"; + uploadFile: "done.invoke.createTemplate.uploading:invocation[0]"; + waitForJobToBeCompleted: "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + }; + missingImplementations: { + actions: "onCreate"; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignCopiedTemplateData: "done.invoke.createTemplate.copyingTemplateData:invocation[0]"; + assignError: + | "error.platform.createTemplate.copyingTemplateData:invocation[0]" + | "error.platform.createTemplate.creating.checkingParametersAndVariables:invocation[0]" + | "error.platform.createTemplate.creating.creatingFirstVersion:invocation[0]" + | "error.platform.createTemplate.creating.creatingTemplate:invocation[0]" + | "error.platform.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]" + | "error.platform.createTemplate.creating.loadingVersionLogs:invocation[0]" + | "error.platform.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]" + | "error.platform.createTemplate.loadingStarterTemplate:invocation[0]"; + assignFile: "UPLOAD_FILE"; + assignJobError: "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + assignJobLogs: "done.invoke.createTemplate.creating.loadingVersionLogs:invocation[0]"; + assignParametersAndVariables: "done.invoke.createTemplate.creating.checkingParametersAndVariables:invocation[0]"; + assignStarterTemplate: "done.invoke.createTemplate.loadingStarterTemplate:invocation[0]"; + assignTemplateData: "CREATE"; + assignUploadResponse: "done.invoke.createTemplate.uploading:invocation[0]"; + assignVersion: + | "done.invoke.createTemplate.creating.creatingFirstVersion:invocation[0]" + | "done.invoke.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]" + | "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + displayUploadError: "error.platform.createTemplate.uploading:invocation[0]"; + onCreate: "done.invoke.createTemplate.creating.creatingTemplate:invocation[0]"; + removeFile: + | "REMOVE_FILE" + | "error.platform.createTemplate.uploading:invocation[0]"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: { + hasFailed: "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + hasFile: "REMOVE_FILE"; + hasNoParametersOrVariables: "done.invoke.createTemplate.creating.checkingParametersAndVariables:invocation[0]"; + hasParametersOrVariables: "done.invoke.createTemplate.copyingTemplateData:invocation[0]"; + isExampleProvided: ""; + isNotUsingExample: "UPLOAD_FILE"; + isTemplateIdToCopyProvided: ""; + }; + eventsCausingServices: { + checkParametersAndVariables: "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + copyTemplateData: ""; + createFirstVersion: + | "CREATE" + | "done.invoke.createTemplate.copyingTemplateData:invocation[0]"; + createTemplate: "done.invoke.createTemplate.creating.checkingParametersAndVariables:invocation[0]"; + createVersionWithParametersAndVariables: "CREATE"; + loadStarterTemplate: ""; + loadVersionLogs: "done.invoke.createTemplate.creating.waitingForJobToBeCompleted:invocation[0]"; + uploadFile: "UPLOAD_FILE"; + waitForJobToBeCompleted: + | "done.invoke.createTemplate.creating.creatingFirstVersion:invocation[0]" + | "done.invoke.createTemplate.creating.creatingVersionWithParametersAndVariables:invocation[0]"; + }; + matchesStates: + | "copyingTemplateData" + | "creating" + | "creating.checkingParametersAndVariables" + | "creating.created" + | "creating.creatingFirstVersion" + | "creating.creatingTemplate" + | "creating.creatingVersionWithParametersAndVariables" + | "creating.loadingVersionLogs" + | "creating.promptParametersAndVariables" + | "creating.waitingForJobToBeCompleted" + | "idle" + | "loadingStarterTemplate" + | "starting" + | "uploading" + | { + creating?: + | "checkingParametersAndVariables" + | "created" + | "creatingFirstVersion" + | "creatingTemplate" + | "creatingVersionWithParametersAndVariables" + | "loadingVersionLogs" + | "promptParametersAndVariables" + | "waitingForJobToBeCompleted"; + }; + tags: "loading" | "submitting"; +} diff --git a/site/src/xServices/createWorkspace/createWorkspaceXService.typegen.ts b/site/src/xServices/createWorkspace/createWorkspaceXService.typegen.ts new file mode 100644 index 0000000000000..06f7041e8a7a7 --- /dev/null +++ b/site/src/xServices/createWorkspace/createWorkspaceXService.typegen.ts @@ -0,0 +1,76 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "": { type: "" }; + "done.invoke.createWorkspaceState.autoCreating:invocation[0]": { + type: "done.invoke.createWorkspaceState.autoCreating:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createWorkspaceState.creatingWorkspace:invocation[0]": { + type: "done.invoke.createWorkspaceState.creatingWorkspace:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createWorkspaceState.loadingFormData:invocation[0]": { + type: "done.invoke.createWorkspaceState.loadingFormData:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.createWorkspaceState.autoCreating:invocation[0]": { + type: "error.platform.createWorkspaceState.autoCreating:invocation[0]"; + data: unknown; + }; + "error.platform.createWorkspaceState.creatingWorkspace:invocation[0]": { + type: "error.platform.createWorkspaceState.creatingWorkspace:invocation[0]"; + data: unknown; + }; + "error.platform.createWorkspaceState.loadingFormData:invocation[0]": { + type: "error.platform.createWorkspaceState.loadingFormData:invocation[0]"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + autoCreateWorkspace: "done.invoke.createWorkspaceState.autoCreating:invocation[0]"; + createWorkspace: "done.invoke.createWorkspaceState.creatingWorkspace:invocation[0]"; + loadFormData: "done.invoke.createWorkspaceState.loadingFormData:invocation[0]"; + }; + missingImplementations: { + actions: "onCreateWorkspace"; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignError: + | "error.platform.createWorkspaceState.autoCreating:invocation[0]" + | "error.platform.createWorkspaceState.creatingWorkspace:invocation[0]" + | "error.platform.createWorkspaceState.loadingFormData:invocation[0]"; + assignFormData: "done.invoke.createWorkspaceState.loadingFormData:invocation[0]"; + clearError: "CREATE_WORKSPACE"; + onCreateWorkspace: + | "done.invoke.createWorkspaceState.autoCreating:invocation[0]" + | "done.invoke.createWorkspaceState.creatingWorkspace:invocation[0]"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + autoCreateWorkspace: ""; + createWorkspace: "CREATE_WORKSPACE"; + loadFormData: + | "" + | "error.platform.createWorkspaceState.autoCreating:invocation[0]"; + }; + matchesStates: + | "autoCreating" + | "checkingMode" + | "created" + | "creatingWorkspace" + | "idle" + | "loadError" + | "loadingFormData"; + tags: never; +} diff --git a/site/src/xServices/pagination/paginationXService.typegen.ts b/site/src/xServices/pagination/paginationXService.typegen.ts new file mode 100644 index 0000000000000..5b098df17570f --- /dev/null +++ b/site/src/xServices/pagination/paginationXService.typegen.ts @@ -0,0 +1,27 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: {}; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignNextPage: "NEXT_PAGE"; + assignPage: "GO_TO_PAGE"; + assignPreviousPage: "PREVIOUS_PAGE"; + resetPage: "RESET_PAGE"; + sendUpdatePage: "GO_TO_PAGE" | "NEXT_PAGE" | "PREVIOUS_PAGE" | "RESET_PAGE"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: {}; + matchesStates: "ready"; + tags: never; +} diff --git a/site/src/xServices/template/searchUsersAndGroupsXService.typegen.ts b/site/src/xServices/template/searchUsersAndGroupsXService.typegen.ts new file mode 100644 index 0000000000000..3c27d79c133ca --- /dev/null +++ b/site/src/xServices/template/searchUsersAndGroupsXService.typegen.ts @@ -0,0 +1,35 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.searchUsersAndGroups.searching:invocation[0]": { + type: "done.invoke.searchUsersAndGroups.searching:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + search: "done.invoke.searchUsersAndGroups.searching:invocation[0]"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignSearchResults: "done.invoke.searchUsersAndGroups.searching:invocation[0]"; + clearResults: "CLEAR_RESULTS"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: { + queryHasMinLength: "SEARCH"; + }; + eventsCausingServices: { + search: "SEARCH"; + }; + matchesStates: "idle" | "searching"; + tags: never; +} diff --git a/site/src/xServices/template/templateACLXService.typegen.ts b/site/src/xServices/template/templateACLXService.typegen.ts new file mode 100644 index 0000000000000..52b5bc0cdad4b --- /dev/null +++ b/site/src/xServices/template/templateACLXService.typegen.ts @@ -0,0 +1,100 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.templateACL.addingGroup:invocation[0]": { + type: "done.invoke.templateACL.addingGroup:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateACL.addingUser:invocation[0]": { + type: "done.invoke.templateACL.addingUser:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateACL.loading:invocation[0]": { + type: "done.invoke.templateACL.loading:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateACL.removingGroup:invocation[0]": { + type: "done.invoke.templateACL.removingGroup:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateACL.removingUser:invocation[0]": { + type: "done.invoke.templateACL.removingUser:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateACL.updatingGroup:invocation[0]": { + type: "done.invoke.templateACL.updatingGroup:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateACL.updatingUser:invocation[0]": { + type: "done.invoke.templateACL.updatingUser:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + addGroup: "done.invoke.templateACL.addingGroup:invocation[0]"; + addUser: "done.invoke.templateACL.addingUser:invocation[0]"; + loadTemplateACL: "done.invoke.templateACL.loading:invocation[0]"; + removeGroup: "done.invoke.templateACL.removingGroup:invocation[0]"; + removeUser: "done.invoke.templateACL.removingUser:invocation[0]"; + updateGroup: "done.invoke.templateACL.updatingGroup:invocation[0]"; + updateUser: "done.invoke.templateACL.updatingUser:invocation[0]"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + addGroupToTemplateACL: "done.invoke.templateACL.addingGroup:invocation[0]"; + addUserToTemplateACL: "done.invoke.templateACL.addingUser:invocation[0]"; + assignGroupToBeAdded: "ADD_GROUP"; + assignGroupToBeUpdated: "UPDATE_GROUP_ROLE"; + assignTemplateACL: "done.invoke.templateACL.loading:invocation[0]"; + assignUserToBeAdded: "ADD_USER"; + assignUserToBeUpdated: "UPDATE_USER_ROLE"; + clearGroupToBeUpdated: "done.invoke.templateACL.updatingGroup:invocation[0]"; + clearUserToBeUpdated: "done.invoke.templateACL.updatingUser:invocation[0]"; + displayRemoveGroupSuccessMessage: "done.invoke.templateACL.removingGroup:invocation[0]"; + displayRemoveUserSuccessMessage: "done.invoke.templateACL.removingUser:invocation[0]"; + displayUpdateGroupSuccessMessage: "done.invoke.templateACL.updatingGroup:invocation[0]"; + displayUpdateUserSuccessMessage: "done.invoke.templateACL.updatingUser:invocation[0]"; + removeGroupFromTemplateACL: "REMOVE_GROUP"; + removeUserFromTemplateACL: "REMOVE_USER"; + runAddGroupCallback: "done.invoke.templateACL.addingGroup:invocation[0]"; + runAddUserCallback: "done.invoke.templateACL.addingUser:invocation[0]"; + updateGroupOnTemplateACL: "done.invoke.templateACL.updatingGroup:invocation[0]"; + updateUserOnTemplateACL: "done.invoke.templateACL.updatingUser:invocation[0]"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + addGroup: "ADD_GROUP"; + addUser: "ADD_USER"; + loadTemplateACL: "xstate.init"; + removeGroup: "REMOVE_GROUP"; + removeUser: "REMOVE_USER"; + updateGroup: "UPDATE_GROUP_ROLE"; + updateUser: "UPDATE_USER_ROLE"; + }; + matchesStates: + | "addingGroup" + | "addingUser" + | "idle" + | "loading" + | "removingGroup" + | "removingUser" + | "updatingGroup" + | "updatingUser"; + tags: never; +} diff --git a/site/src/xServices/templateVersion/templateVersionXService.typegen.ts b/site/src/xServices/templateVersion/templateVersionXService.typegen.ts new file mode 100644 index 0000000000000..6c81d53c917ce --- /dev/null +++ b/site/src/xServices/templateVersion/templateVersionXService.typegen.ts @@ -0,0 +1,74 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.templateVersion.initialInfo.template.loadingTemplate:invocation[0]": { + type: "done.invoke.templateVersion.initialInfo.template.loadingTemplate:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateVersion.initialInfo.versions.loadingVersions:invocation[0]": { + type: "done.invoke.templateVersion.initialInfo.versions.loadingVersions:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateVersion.loadingFiles:invocation[0]": { + type: "done.invoke.templateVersion.loadingFiles:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.templateVersion.loadingFiles:invocation[0]": { + type: "error.platform.templateVersion.loadingFiles:invocation[0]"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + loadFiles: "done.invoke.templateVersion.loadingFiles:invocation[0]"; + loadTemplate: "done.invoke.templateVersion.initialInfo.template.loadingTemplate:invocation[0]"; + loadVersions: "done.invoke.templateVersion.initialInfo.versions.loadingVersions:invocation[0]"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignError: "error.platform.templateVersion.loadingFiles:invocation[0]"; + assignFiles: "done.invoke.templateVersion.loadingFiles:invocation[0]"; + assignTemplate: "done.invoke.templateVersion.initialInfo.template.loadingTemplate:invocation[0]"; + assignVersions: "done.invoke.templateVersion.initialInfo.versions.loadingVersions:invocation[0]"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + loadFiles: "done.state.templateVersion.initialInfo"; + loadTemplate: "xstate.init"; + loadVersions: "xstate.init"; + }; + matchesStates: + | "done" + | "done.error" + | "done.ok" + | "initialInfo" + | "initialInfo.template" + | "initialInfo.template.loadingTemplate" + | "initialInfo.template.success" + | "initialInfo.versions" + | "initialInfo.versions.loadingVersions" + | "initialInfo.versions.success" + | "loadingFiles" + | { + done?: "error" | "ok"; + initialInfo?: + | "template" + | "versions" + | { + template?: "loadingTemplate" | "success"; + versions?: "loadingVersions" | "success"; + }; + }; + tags: never; +} diff --git a/site/src/xServices/templateVersionEditor/templateVersionEditorXService.typegen.ts b/site/src/xServices/templateVersionEditor/templateVersionEditorXService.typegen.ts new file mode 100644 index 0000000000000..66f52c0ada4a1 --- /dev/null +++ b/site/src/xServices/templateVersionEditor/templateVersionEditorXService.typegen.ts @@ -0,0 +1,136 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.cancelBuild": { + type: "done.invoke.cancelBuild"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.createBuild": { + type: "done.invoke.createBuild"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.fetchVersion": { + type: "done.invoke.fetchVersion"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.getResources": { + type: "done.invoke.getResources"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.publishingVersion": { + type: "done.invoke.publishingVersion"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.templateVersionEditor.promptVariables.loadingMissingVariables:invocation[0]": { + type: "done.invoke.templateVersionEditor.promptVariables.loadingMissingVariables:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.uploadTar": { + type: "done.invoke.uploadTar"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.watchBuildLogs": { + type: "done.invoke.watchBuildLogs"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.cancelBuild": { + type: "error.platform.cancelBuild"; + data: unknown; + }; + "error.platform.createBuild": { + type: "error.platform.createBuild"; + data: unknown; + }; + "error.platform.fetchVersion": { + type: "error.platform.fetchVersion"; + data: unknown; + }; + "error.platform.getResources": { + type: "error.platform.getResources"; + data: unknown; + }; + "error.platform.publishingVersion": { + type: "error.platform.publishingVersion"; + data: unknown; + }; + "error.platform.uploadTar": { + type: "error.platform.uploadTar"; + data: unknown; + }; + "error.platform.watchBuildLogs": { + type: "error.platform.watchBuildLogs"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + cancelBuild: "done.invoke.cancelBuild"; + createBuild: "done.invoke.createBuild"; + fetchVersion: "done.invoke.fetchVersion"; + getResources: "done.invoke.getResources"; + loadMissingVariables: "done.invoke.templateVersionEditor.promptVariables.loadingMissingVariables:invocation[0]"; + publishingVersion: "done.invoke.publishingVersion"; + uploadTar: "done.invoke.uploadTar"; + watchBuildLogs: "done.invoke.watchBuildLogs"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + addBuildLog: "ADD_BUILD_LOG"; + assignBuild: "done.invoke.createBuild" | "done.invoke.fetchVersion"; + assignCreateBuild: "CREATE_VERSION"; + assignLastSuccessfulPublishedVersion: "done.invoke.publishingVersion"; + assignMissingVariableValues: "SET_MISSING_VARIABLE_VALUES"; + assignMissingVariables: "done.invoke.templateVersionEditor.promptVariables.loadingMissingVariables:invocation[0]"; + assignPublishingError: "error.platform.publishingVersion"; + assignResources: "done.invoke.getResources"; + assignTarReader: "INITIALIZE"; + assignUploadResponse: "done.invoke.uploadTar"; + clearLastSuccessfulPublishedVersion: "CONFIRM_PUBLISH"; + clearPublishingError: "CONFIRM_PUBLISH"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: { + jobFailedWithMissingVariables: "done.invoke.fetchVersion"; + }; + eventsCausingServices: { + cancelBuild: "CANCEL_VERSION" | "CREATE_VERSION"; + createBuild: "SET_MISSING_VARIABLE_VALUES" | "done.invoke.uploadTar"; + fetchVersion: "BUILD_DONE"; + getResources: "done.invoke.fetchVersion"; + loadMissingVariables: "done.invoke.fetchVersion"; + publishingVersion: "CONFIRM_PUBLISH"; + uploadTar: "CREATE_VERSION" | "done.invoke.cancelBuild"; + watchBuildLogs: "done.invoke.createBuild"; + }; + matchesStates: + | "askPublishParameters" + | "cancelingInProgressBuild" + | "creatingBuild" + | "fetchResources" + | "fetchingVersion" + | "idle" + | "initializing" + | "promptVariables" + | "promptVariables.idle" + | "promptVariables.loadingMissingVariables" + | "publishingVersion" + | "uploadTar" + | "watchingBuildLogs" + | { promptVariables?: "idle" | "loadingMissingVariables" }; + tags: "loading"; +} diff --git a/site/src/xServices/terminal/terminalXService.typegen.ts b/site/src/xServices/terminal/terminalXService.typegen.ts new file mode 100644 index 0000000000000..a52b1b76c9614 --- /dev/null +++ b/site/src/xServices/terminal/terminalXService.typegen.ts @@ -0,0 +1,95 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.connect": { + type: "done.invoke.connect"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.getWebsocketURL": { + type: "done.invoke.getWebsocketURL"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.getWorkspace": { + type: "done.invoke.getWorkspace"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.getWorkspaceAgent": { + type: "done.invoke.getWorkspaceAgent"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.connect": { type: "error.platform.connect"; data: unknown }; + "error.platform.getWebsocketURL": { + type: "error.platform.getWebsocketURL"; + data: unknown; + }; + "error.platform.getWorkspace": { + type: "error.platform.getWorkspace"; + data: unknown; + }; + "error.platform.getWorkspaceAgent": { + type: "error.platform.getWorkspaceAgent"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + connect: "done.invoke.connect"; + getWebsocketURL: "done.invoke.getWebsocketURL"; + getWorkspace: "done.invoke.getWorkspace"; + getWorkspaceAgent: "done.invoke.getWorkspaceAgent"; + }; + missingImplementations: { + actions: "readMessage"; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignConnection: "CONNECT"; + assignWebsocket: "done.invoke.connect"; + assignWebsocketError: "error.platform.connect"; + assignWebsocketURL: "done.invoke.getWebsocketURL"; + assignWebsocketURLError: "error.platform.getWebsocketURL"; + assignWorkspace: "done.invoke.getWorkspace"; + assignWorkspaceAgent: "done.invoke.getWorkspaceAgent"; + assignWorkspaceAgentError: "error.platform.getWorkspaceAgent"; + assignWorkspaceError: "error.platform.getWorkspace"; + clearWebsocketError: "done.invoke.connect"; + clearWebsocketURLError: "done.invoke.getWebsocketURL"; + clearWorkspaceAgentError: "done.invoke.getWorkspaceAgent"; + clearWorkspaceError: "done.invoke.getWorkspace"; + disconnect: "DISCONNECT"; + readMessage: "READ"; + sendMessage: "WRITE"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + connect: "done.invoke.getWebsocketURL"; + getWebsocketURL: "done.invoke.getWorkspaceAgent"; + getWorkspace: "xstate.init"; + getWorkspaceAgent: "CONNECT" | "done.state.terminalState.setup"; + }; + matchesStates: + | "connected" + | "connecting" + | "disconnected" + | "gettingWebSocketURL" + | "gettingWorkspaceAgent" + | "setup" + | "setup.getWorkspace" + | "setup.getWorkspace.gettingWorkspace" + | "setup.getWorkspace.success" + | { + setup?: + | "getWorkspace" + | { getWorkspace?: "gettingWorkspace" | "success" }; + }; + tags: never; +} diff --git a/site/src/xServices/updateCheck/updateCheckXService.typegen.ts b/site/src/xServices/updateCheck/updateCheckXService.typegen.ts new file mode 100644 index 0000000000000..5e328abbf925a --- /dev/null +++ b/site/src/xServices/updateCheck/updateCheckXService.typegen.ts @@ -0,0 +1,46 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "": { type: "" }; + "done.invoke.getUpdateCheck": { + type: "done.invoke.getUpdateCheck"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.getUpdateCheck": { + type: "error.platform.getUpdateCheck"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + getUpdateCheck: "done.invoke.getUpdateCheck"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignError: "error.platform.getUpdateCheck"; + assignUpdateCheck: "done.invoke.getUpdateCheck"; + setDismissedVersion: "DISMISS"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: { + canViewUpdateCheck: ""; + shouldShowUpdateCheck: "done.invoke.getUpdateCheck"; + }; + eventsCausingServices: { + getUpdateCheck: ""; + }; + matchesStates: + | "checkingPermissions" + | "dismissed" + | "fetchingUpdateCheck" + | "show"; + tags: never; +} diff --git a/site/src/xServices/users/createUserXService.typegen.ts b/site/src/xServices/users/createUserXService.typegen.ts new file mode 100644 index 0000000000000..e3c9fd495e81f --- /dev/null +++ b/site/src/xServices/users/createUserXService.typegen.ts @@ -0,0 +1,39 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.createUser": { + type: "done.invoke.createUser"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.createUser": { + type: "error.platform.createUser"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + createUser: "done.invoke.createUser"; + }; + missingImplementations: { + actions: "redirectToUsersPage"; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignError: "error.platform.createUser"; + clearError: "CANCEL_CREATE_USER" | "CREATE"; + displayCreateUserSuccess: "done.invoke.createUser"; + redirectToUsersPage: "done.invoke.createUser"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + createUser: "CREATE"; + }; + matchesStates: "creatingUser" | "idle"; + tags: "loading"; +} diff --git a/site/src/xServices/users/searchUserXService.typegen.ts b/site/src/xServices/users/searchUserXService.typegen.ts new file mode 100644 index 0000000000000..59390b40946be --- /dev/null +++ b/site/src/xServices/users/searchUserXService.typegen.ts @@ -0,0 +1,33 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.searchUserMachine.searching:invocation[0]": { + type: "done.invoke.searchUserMachine.searching:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + searchUsers: "done.invoke.searchUserMachine.searching:invocation[0]"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignSearchResults: "done.invoke.searchUserMachine.searching:invocation[0]"; + clearResults: "CLEAR_RESULTS"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + searchUsers: "SEARCH"; + }; + matchesStates: "idle" | "searching"; + tags: never; +} diff --git a/site/src/xServices/users/usersXService.typegen.ts b/site/src/xServices/users/usersXService.typegen.ts new file mode 100644 index 0000000000000..dbf75064e9213 --- /dev/null +++ b/site/src/xServices/users/usersXService.typegen.ts @@ -0,0 +1,161 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "": { type: "" }; + "done.invoke.activateUser": { + type: "done.invoke.activateUser"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.deleteUser": { + type: "done.invoke.deleteUser"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.getUsers": { + type: "done.invoke.getUsers"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.resetUserPassword": { + type: "done.invoke.resetUserPassword"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.suspendUser": { + type: "done.invoke.suspendUser"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.updateUserRoles": { + type: "done.invoke.updateUserRoles"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.activateUser": { + type: "error.platform.activateUser"; + data: unknown; + }; + "error.platform.deleteUser": { + type: "error.platform.deleteUser"; + data: unknown; + }; + "error.platform.getUsers": { + type: "error.platform.getUsers"; + data: unknown; + }; + "error.platform.resetUserPassword": { + type: "error.platform.resetUserPassword"; + data: unknown; + }; + "error.platform.suspendUser": { + type: "error.platform.suspendUser"; + data: unknown; + }; + "error.platform.updateUserRoles": { + type: "error.platform.updateUserRoles"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + activateUser: "done.invoke.activateUser"; + deleteUser: "done.invoke.deleteUser"; + getUsers: "done.invoke.getUsers"; + resetUserPassword: "done.invoke.resetUserPassword"; + suspendUser: "done.invoke.suspendUser"; + updateUserRoles: "done.invoke.updateUserRoles"; + }; + missingImplementations: { + actions: "updateURL"; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignActivateUserError: "error.platform.activateUser"; + assignDeleteUserError: "error.platform.deleteUser"; + assignFilter: "UPDATE_FILTER"; + assignGetUsersError: "error.platform.getUsers"; + assignPaginationRef: "UPDATE_PAGE" | "xstate.init"; + assignResetUserPasswordError: "error.platform.resetUserPassword"; + assignSuspendUserError: "error.platform.suspendUser"; + assignUpdateRolesError: "error.platform.updateUserRoles"; + assignUserIdToResetPassword: "RESET_USER_PASSWORD"; + assignUserIdToUpdateRoles: "UPDATE_USER_ROLES"; + assignUserToActivate: "ACTIVATE_USER"; + assignUserToDelete: "DELETE_USER"; + assignUserToSuspend: "SUSPEND_USER"; + assignUsers: "done.invoke.getUsers"; + clearActivateUserError: "CONFIRM_USER_ACTIVATION"; + clearDeleteUserError: "CONFIRM_USER_DELETE"; + clearGetUsersError: + | "" + | "UPDATE_PAGE" + | "done.invoke.activateUser" + | "done.invoke.deleteUser" + | "done.invoke.suspendUser"; + clearResetUserPasswordError: "CONFIRM_USER_PASSWORD_RESET"; + clearSelectedUser: + | "CANCEL_USER_ACTIVATION" + | "CANCEL_USER_DELETE" + | "CANCEL_USER_PASSWORD_RESET" + | "CANCEL_USER_SUSPENSION" + | "done.invoke.getUsers" + | "done.invoke.resetUserPassword" + | "done.invoke.updateUserRoles" + | "error.platform.activateUser" + | "error.platform.deleteUser" + | "error.platform.getUsers" + | "error.platform.resetUserPassword" + | "error.platform.suspendUser" + | "error.platform.updateUserRoles"; + clearSuspendUserError: "CONFIRM_USER_SUSPENSION"; + clearUpdateUserRolesError: "UPDATE_USER_ROLES"; + clearUsers: "error.platform.getUsers"; + displayActivateSuccess: "done.invoke.activateUser"; + displayActivatedErrorMessage: "error.platform.activateUser"; + displayDeleteErrorMessage: "error.platform.deleteUser"; + displayDeleteSuccess: "done.invoke.deleteUser"; + displayResetPasswordErrorMessage: "error.platform.resetUserPassword"; + displayResetPasswordSuccess: "done.invoke.resetUserPassword"; + displaySuspendSuccess: "done.invoke.suspendUser"; + displaySuspendedErrorMessage: "error.platform.suspendUser"; + displayUpdateRolesErrorMessage: "error.platform.updateUserRoles"; + generateRandomPassword: "RESET_USER_PASSWORD"; + sendResetPage: "UPDATE_FILTER"; + updateURL: "UPDATE_PAGE"; + updateUserRolesInTheList: "done.invoke.updateUserRoles"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + activateUser: "CONFIRM_USER_ACTIVATION"; + deleteUser: "CONFIRM_USER_DELETE"; + getUsers: + | "" + | "UPDATE_PAGE" + | "done.invoke.activateUser" + | "done.invoke.deleteUser" + | "done.invoke.suspendUser"; + resetUserPassword: "CONFIRM_USER_PASSWORD_RESET"; + suspendUser: "CONFIRM_USER_SUSPENSION"; + updateUserRoles: "UPDATE_USER_ROLES"; + }; + matchesStates: + | "activatingUser" + | "confirmUserActivation" + | "confirmUserDeletion" + | "confirmUserPasswordReset" + | "confirmUserSuspension" + | "deletingUser" + | "gettingUsers" + | "idle" + | "resettingUserPassword" + | "startingPagination" + | "suspendingUser" + | "updatingUserRoles"; + tags: "loading"; +} diff --git a/site/src/xServices/workspace/workspaceXService.typegen.ts b/site/src/xServices/workspace/workspaceXService.typegen.ts new file mode 100644 index 0000000000000..f4c20deccf850 --- /dev/null +++ b/site/src/xServices/workspace/workspaceXService.typegen.ts @@ -0,0 +1,251 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.activateWorkspace": { + type: "done.invoke.activateWorkspace"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.cancelWorkspace": { + type: "done.invoke.cancelWorkspace"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.deleteWorkspace": { + type: "done.invoke.deleteWorkspace"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.listening": { + type: "done.invoke.listening"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.loadInitialWorkspaceData": { + type: "done.invoke.loadInitialWorkspaceData"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.scheduleBannerMachine": { + type: "done.invoke.scheduleBannerMachine"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.startWorkspace": { + type: "done.invoke.startWorkspace"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.stopWorkspace": { + type: "done.invoke.stopWorkspace"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.workspaceState.ready.build.requestingChangeVersion:invocation[0]": { + type: "done.invoke.workspaceState.ready.build.requestingChangeVersion:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.workspaceState.ready.build.requestingUpdate:invocation[0]": { + type: "done.invoke.workspaceState.ready.build.requestingUpdate:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.workspaceState.ready.sshConfig.gettingSshConfig:invocation[0]": { + type: "done.invoke.workspaceState.ready.sshConfig.gettingSshConfig:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.activateWorkspace": { + type: "error.platform.activateWorkspace"; + data: unknown; + }; + "error.platform.cancelWorkspace": { + type: "error.platform.cancelWorkspace"; + data: unknown; + }; + "error.platform.deleteWorkspace": { + type: "error.platform.deleteWorkspace"; + data: unknown; + }; + "error.platform.listening": { + type: "error.platform.listening"; + data: unknown; + }; + "error.platform.loadInitialWorkspaceData": { + type: "error.platform.loadInitialWorkspaceData"; + data: unknown; + }; + "error.platform.scheduleBannerMachine": { + type: "error.platform.scheduleBannerMachine"; + data: unknown; + }; + "error.platform.startWorkspace": { + type: "error.platform.startWorkspace"; + data: unknown; + }; + "error.platform.stopWorkspace": { + type: "error.platform.stopWorkspace"; + data: unknown; + }; + "error.platform.workspaceState.ready.build.requestingChangeVersion:invocation[0]": { + type: "error.platform.workspaceState.ready.build.requestingChangeVersion:invocation[0]"; + data: unknown; + }; + "error.platform.workspaceState.ready.build.requestingUpdate:invocation[0]": { + type: "error.platform.workspaceState.ready.build.requestingUpdate:invocation[0]"; + data: unknown; + }; + "error.platform.workspaceState.ready.sshConfig.gettingSshConfig:invocation[0]": { + type: "error.platform.workspaceState.ready.sshConfig.gettingSshConfig:invocation[0]"; + data: unknown; + }; + "xstate.after(2000)#workspaceState.ready.listening.error": { + type: "xstate.after(2000)#workspaceState.ready.listening.error"; + }; + "xstate.init": { type: "xstate.init" }; + "xstate.stop": { type: "xstate.stop" }; + }; + invokeSrcNameMap: { + activateWorkspace: "done.invoke.activateWorkspace"; + cancelWorkspace: "done.invoke.cancelWorkspace"; + changeWorkspaceVersion: "done.invoke.workspaceState.ready.build.requestingChangeVersion:invocation[0]"; + deleteWorkspace: "done.invoke.deleteWorkspace"; + getSSHPrefix: "done.invoke.workspaceState.ready.sshConfig.gettingSshConfig:invocation[0]"; + listening: "done.invoke.listening"; + loadInitialWorkspaceData: "done.invoke.loadInitialWorkspaceData"; + scheduleBannerMachine: "done.invoke.scheduleBannerMachine"; + startWorkspace: "done.invoke.startWorkspace"; + stopWorkspace: "done.invoke.stopWorkspace"; + updateWorkspace: "done.invoke.workspaceState.ready.build.requestingUpdate:invocation[0]"; + }; + missingImplementations: { + actions: "refreshBuilds"; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignBuild: + | "done.invoke.deleteWorkspace" + | "done.invoke.startWorkspace" + | "done.invoke.stopWorkspace" + | "done.invoke.workspaceState.ready.build.requestingChangeVersion:invocation[0]" + | "done.invoke.workspaceState.ready.build.requestingUpdate:invocation[0]"; + assignBuildError: + | "error.platform.deleteWorkspace" + | "error.platform.startWorkspace" + | "error.platform.stopWorkspace" + | "error.platform.workspaceState.ready.build.requestingChangeVersion:invocation[0]" + | "error.platform.workspaceState.ready.build.requestingUpdate:invocation[0]"; + assignCancellationError: "error.platform.cancelWorkspace"; + assignCancellationMessage: "done.invoke.cancelWorkspace"; + assignError: "error.platform.loadInitialWorkspaceData"; + assignInitialData: "done.invoke.loadInitialWorkspaceData"; + assignMissedParameters: + | "error.platform.workspaceState.ready.build.requestingChangeVersion:invocation[0]" + | "error.platform.workspaceState.ready.build.requestingUpdate:invocation[0]"; + assignSSHPrefix: "done.invoke.workspaceState.ready.sshConfig.gettingSshConfig:invocation[0]"; + assignTemplateVersionIdToChange: "CHANGE_VERSION"; + clearBuildError: + | "ACTIVATE" + | "CHANGE_VERSION" + | "DELETE" + | "RETRY_BUILD" + | "START" + | "STOP" + | "UPDATE"; + clearCancellationError: "CANCEL"; + clearCancellationMessage: "CANCEL"; + clearContext: "xstate.init"; + clearTemplateVersionIdToChange: "done.invoke.workspaceState.ready.build.requestingChangeVersion:invocation[0]"; + closeEventSource: "EVENT_SOURCE_ERROR" | "xstate.stop"; + disableDebugMode: + | "done.invoke.deleteWorkspace" + | "done.invoke.startWorkspace" + | "done.invoke.stopWorkspace"; + displayActivateError: "error.platform.activateWorkspace"; + displayCancellationMessage: "done.invoke.cancelWorkspace"; + displaySSHPrefixError: "error.platform.workspaceState.ready.sshConfig.gettingSshConfig:invocation[0]"; + enableDebugMode: "RETRY_BUILD"; + initializeEventSource: + | "done.invoke.loadInitialWorkspaceData" + | "xstate.after(2000)#workspaceState.ready.listening.error"; + logWatchWorkspaceWarning: "EVENT_SOURCE_ERROR"; + refreshBuilds: "REFRESH_TIMELINE"; + refreshWorkspace: "REFRESH_WORKSPACE"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: { + isChangingVersion: "UPDATE"; + isMissingBuildParameterError: + | "error.platform.workspaceState.ready.build.requestingChangeVersion:invocation[0]" + | "error.platform.workspaceState.ready.build.requestingUpdate:invocation[0]"; + lastBuildWasDeleting: "RETRY_BUILD"; + lastBuildWasStarting: "RETRY_BUILD"; + lastBuildWasStopping: "RETRY_BUILD"; + }; + eventsCausingServices: { + activateWorkspace: "ACTIVATE"; + cancelWorkspace: "CANCEL"; + changeWorkspaceVersion: "CHANGE_VERSION" | "UPDATE"; + deleteWorkspace: "DELETE" | "RETRY_BUILD"; + getSSHPrefix: "done.invoke.loadInitialWorkspaceData"; + listening: + | "done.invoke.loadInitialWorkspaceData" + | "xstate.after(2000)#workspaceState.ready.listening.error"; + loadInitialWorkspaceData: "xstate.init"; + scheduleBannerMachine: "done.invoke.loadInitialWorkspaceData"; + startWorkspace: "RETRY_BUILD" | "START"; + stopWorkspace: "RETRY_BUILD" | "STOP"; + updateWorkspace: "UPDATE"; + }; + matchesStates: + | "error" + | "loadInitialData" + | "ready" + | "ready.build" + | "ready.build.askingDelete" + | "ready.build.askingForMissedBuildParameters" + | "ready.build.idle" + | "ready.build.requestingActivate" + | "ready.build.requestingCancel" + | "ready.build.requestingChangeVersion" + | "ready.build.requestingDelete" + | "ready.build.requestingStart" + | "ready.build.requestingStop" + | "ready.build.requestingUpdate" + | "ready.listening" + | "ready.listening.error" + | "ready.listening.gettingEvents" + | "ready.schedule" + | "ready.sshConfig" + | "ready.sshConfig.error" + | "ready.sshConfig.gettingSshConfig" + | "ready.sshConfig.success" + | { + ready?: + | "build" + | "listening" + | "schedule" + | "sshConfig" + | { + build?: + | "askingDelete" + | "askingForMissedBuildParameters" + | "idle" + | "requestingActivate" + | "requestingCancel" + | "requestingChangeVersion" + | "requestingDelete" + | "requestingStart" + | "requestingStop" + | "requestingUpdate"; + listening?: "error" | "gettingEvents"; + sshConfig?: "error" | "gettingSshConfig" | "success"; + }; + }; + tags: never; +} diff --git a/site/src/xServices/workspaceAgentLogs/workspaceAgentLogsXService.typegen.ts b/site/src/xServices/workspaceAgentLogs/workspaceAgentLogsXService.typegen.ts new file mode 100644 index 0000000000000..6e7caf8c8d028 --- /dev/null +++ b/site/src/xServices/workspaceAgentLogs/workspaceAgentLogsXService.typegen.ts @@ -0,0 +1,44 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.streamLogs": { + type: "done.invoke.streamLogs"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.workspaceAgentLogsMachine.loading:invocation[0]": { + type: "done.invoke.workspaceAgentLogsMachine.loading:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.streamLogs": { + type: "error.platform.streamLogs"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + getLogs: "done.invoke.workspaceAgentLogsMachine.loading:invocation[0]"; + streamLogs: "done.invoke.streamLogs"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + addLogs: "ADD_LOGS"; + assignLogs: "done.invoke.workspaceAgentLogsMachine.loading:invocation[0]"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + getLogs: "FETCH_LOGS"; + streamLogs: "done.invoke.workspaceAgentLogsMachine.loading:invocation[0]"; + }; + matchesStates: "loaded" | "loading" | "waiting" | "watchLogs"; + tags: never; +} diff --git a/site/src/xServices/workspaceBuild/workspaceBuildXService.typegen.ts b/site/src/xServices/workspaceBuild/workspaceBuildXService.typegen.ts new file mode 100644 index 0000000000000..14ad2fd511001 --- /dev/null +++ b/site/src/xServices/workspaceBuild/workspaceBuildXService.typegen.ts @@ -0,0 +1,68 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.getLogs": { + type: "done.invoke.getLogs"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.streamWorkspaceBuildLogs": { + type: "done.invoke.streamWorkspaceBuildLogs"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.workspaceBuildState.gettingBuild:invocation[0]": { + type: "done.invoke.workspaceBuildState.gettingBuild:invocation[0]"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.getLogs": { type: "error.platform.getLogs"; data: unknown }; + "error.platform.streamWorkspaceBuildLogs": { + type: "error.platform.streamWorkspaceBuildLogs"; + data: unknown; + }; + "error.platform.workspaceBuildState.gettingBuild:invocation[0]": { + type: "error.platform.workspaceBuildState.gettingBuild:invocation[0]"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + getLogs: "done.invoke.getLogs"; + getWorkspaceBuild: "done.invoke.workspaceBuildState.gettingBuild:invocation[0]"; + streamWorkspaceBuildLogs: "done.invoke.streamWorkspaceBuildLogs"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + addLog: "ADD_LOG"; + assignBuild: "done.invoke.workspaceBuildState.gettingBuild:invocation[0]"; + assignBuildId: "done.invoke.workspaceBuildState.gettingBuild:invocation[0]"; + assignGetBuildError: "error.platform.workspaceBuildState.gettingBuild:invocation[0]"; + assignLogs: "done.invoke.getLogs"; + clearGetBuildError: "RESET" | "xstate.init"; + resetContext: "RESET"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + getLogs: "done.invoke.workspaceBuildState.gettingBuild:invocation[0]"; + getWorkspaceBuild: "RESET" | "xstate.init"; + streamWorkspaceBuildLogs: "done.invoke.getLogs"; + }; + matchesStates: + | "gettingBuild" + | "idle" + | "logs" + | "logs.gettingExistentLogs" + | "logs.loaded" + | "logs.watchingLogs" + | { logs?: "gettingExistentLogs" | "loaded" | "watchingLogs" }; + tags: never; +} diff --git a/site/src/xServices/workspaceSchedule/workspaceScheduleBannerXService.typegen.ts b/site/src/xServices/workspaceSchedule/workspaceScheduleBannerXService.typegen.ts new file mode 100644 index 0000000000000..d77d403eeb9e3 --- /dev/null +++ b/site/src/xServices/workspaceSchedule/workspaceScheduleBannerXService.typegen.ts @@ -0,0 +1,53 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.decreaseDeadline": { + type: "done.invoke.decreaseDeadline"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.increaseDeadline": { + type: "done.invoke.increaseDeadline"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.decreaseDeadline": { + type: "error.platform.decreaseDeadline"; + data: unknown; + }; + "error.platform.increaseDeadline": { + type: "error.platform.increaseDeadline"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + decreaseDeadline: "done.invoke.decreaseDeadline"; + increaseDeadline: "done.invoke.increaseDeadline"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignWorkspace: "REFRESH_WORKSPACE"; + displayFailureMessage: + | "error.platform.decreaseDeadline" + | "error.platform.increaseDeadline"; + displaySuccessMessage: + | "done.invoke.decreaseDeadline" + | "done.invoke.increaseDeadline"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: {}; + eventsCausingServices: { + decreaseDeadline: "DECREASE_DEADLINE"; + increaseDeadline: "INCREASE_DEADLINE"; + }; + matchesStates: "decreasingDeadline" | "idle" | "increasingDeadline"; + tags: "loading"; +} diff --git a/site/src/xServices/workspaceSchedule/workspaceScheduleXService.typegen.ts b/site/src/xServices/workspaceSchedule/workspaceScheduleXService.typegen.ts new file mode 100644 index 0000000000000..8357076d6fa47 --- /dev/null +++ b/site/src/xServices/workspaceSchedule/workspaceScheduleXService.typegen.ts @@ -0,0 +1,75 @@ +// This file was automatically generated. Edits will be overwritten + +export interface Typegen0 { + "@@xstate/typegen": true; + internalEvents: { + "done.invoke.checkPermissions": { + type: "done.invoke.checkPermissions"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.getTemplate": { + type: "done.invoke.getTemplate"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "done.invoke.submitSchedule": { + type: "done.invoke.submitSchedule"; + data: unknown; + __tip: "See the XState TS docs to learn how to strongly type this."; + }; + "error.platform.checkPermissions": { + type: "error.platform.checkPermissions"; + data: unknown; + }; + "error.platform.getTemplate": { + type: "error.platform.getTemplate"; + data: unknown; + }; + "error.platform.submitSchedule": { + type: "error.platform.submitSchedule"; + data: unknown; + }; + "xstate.init": { type: "xstate.init" }; + }; + invokeSrcNameMap: { + checkPermissions: "done.invoke.checkPermissions"; + getTemplate: "done.invoke.getTemplate"; + submitSchedule: "done.invoke.submitSchedule"; + }; + missingImplementations: { + actions: never; + delays: never; + guards: never; + services: never; + }; + eventsCausingActions: { + assignAutostopChanged: "SUBMIT_SCHEDULE"; + assignGetPermissionsError: "error.platform.checkPermissions"; + assignGetTemplateError: "error.platform.getTemplate"; + assignPermissions: "done.invoke.checkPermissions"; + assignSubmissionError: "error.platform.submitSchedule"; + assignTemplate: "done.invoke.getTemplate"; + clearGetPermissionsError: "xstate.init"; + clearGetTemplateError: "done.invoke.checkPermissions"; + restartWorkspace: "RESTART_WORKSPACE"; + }; + eventsCausingDelays: {}; + eventsCausingGuards: { + autostopChanged: "done.invoke.submitSchedule"; + }; + eventsCausingServices: { + checkPermissions: "xstate.init"; + getTemplate: "done.invoke.checkPermissions"; + submitSchedule: "SUBMIT_SCHEDULE"; + }; + matchesStates: + | "done" + | "error" + | "gettingPermissions" + | "gettingTemplate" + | "presentForm" + | "showingRestartDialog" + | "submittingSchedule"; + tags: "loading"; +}