feat(web): connect mobile workspace to live data
This commit is contained in:
6
packages/backend/convex/_generated/api.d.ts
vendored
6
packages/backend/convex/_generated/api.d.ts
vendored
@@ -12,6 +12,7 @@ import type * as agentWorkspace from "../agentWorkspace.js";
|
||||
import type * as artifactModel from "../artifactModel.js";
|
||||
import type * as auth from "../auth.js";
|
||||
import type * as authz from "../authz.js";
|
||||
import type * as conversationMessages from "../conversationMessages.js";
|
||||
import type * as daemonCommands from "../daemonCommands.js";
|
||||
import type * as daemonRuntime from "../daemonRuntime.js";
|
||||
import type * as daemons from "../daemons.js";
|
||||
@@ -22,7 +23,9 @@ import type * as organizations from "../organizations.js";
|
||||
import type * as privateData from "../privateData.js";
|
||||
import type * as projectArtifacts from "../projectArtifacts.js";
|
||||
import type * as projectIssues from "../projectIssues.js";
|
||||
import type * as projectStore from "../projectStore.js";
|
||||
import type * as projects from "../projects.js";
|
||||
import type * as signals from "../signals.js";
|
||||
import type * as todos from "../todos.js";
|
||||
|
||||
import type {
|
||||
@@ -36,6 +39,7 @@ declare const fullApi: ApiFromModules<{
|
||||
artifactModel: typeof artifactModel;
|
||||
auth: typeof auth;
|
||||
authz: typeof authz;
|
||||
conversationMessages: typeof conversationMessages;
|
||||
daemonCommands: typeof daemonCommands;
|
||||
daemonRuntime: typeof daemonRuntime;
|
||||
daemons: typeof daemons;
|
||||
@@ -46,7 +50,9 @@ declare const fullApi: ApiFromModules<{
|
||||
privateData: typeof privateData;
|
||||
projectArtifacts: typeof projectArtifacts;
|
||||
projectIssues: typeof projectIssues;
|
||||
projectStore: typeof projectStore;
|
||||
projects: typeof projects;
|
||||
signals: typeof signals;
|
||||
todos: typeof todos;
|
||||
}>;
|
||||
|
||||
|
||||
@@ -5,4 +5,12 @@ export {
|
||||
MobileWorkListScreen,
|
||||
MobileWorkUnitDetailScreen,
|
||||
} from "./mobile-workspace/index";
|
||||
export type { MobileWorkspaceScreenProps } from "./mobile-workspace/index";
|
||||
export type {
|
||||
MobileAssistantMessageView,
|
||||
MobileAssistantView,
|
||||
MobileSignalView,
|
||||
MobileWorkspaceScreenProps,
|
||||
MobileWorkspaceView,
|
||||
MobileWorkUnitTone,
|
||||
MobileWorkUnitView,
|
||||
} from "./mobile-workspace/index";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,4 +3,12 @@ export { MobileExpandedWorkScreen } from "./mobile-expanded-work-screen";
|
||||
export { MobileHomeScreen } from "./mobile-home-screen";
|
||||
export { MobileWorkListScreen } from "./mobile-work-list-screen";
|
||||
export { MobileWorkUnitDetailScreen } from "./mobile-work-unit-detail-screen";
|
||||
export type { MobileWorkspaceScreenProps } from "./types";
|
||||
export type {
|
||||
MobileAssistantMessageView,
|
||||
MobileAssistantView,
|
||||
MobileSignalView,
|
||||
MobileWorkspaceScreenProps,
|
||||
MobileWorkspaceView,
|
||||
MobileWorkUnitTone,
|
||||
MobileWorkUnitView,
|
||||
} from "./types";
|
||||
|
||||
50
packages/ui/src/components/mobile-workspace/models.ts
Normal file
50
packages/ui/src/components/mobile-workspace/models.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
export type MobileWorkUnitTone = "blue" | "green" | "orange" | "purple";
|
||||
|
||||
export interface MobileWorkUnitView {
|
||||
readonly artifactCount: number;
|
||||
readonly code: string;
|
||||
readonly id: string;
|
||||
readonly nextAction: string;
|
||||
readonly progress: number;
|
||||
readonly statusLabel: string;
|
||||
readonly summary: string;
|
||||
readonly title: string;
|
||||
readonly tone: MobileWorkUnitTone;
|
||||
readonly updatedLabel: string;
|
||||
}
|
||||
|
||||
export interface MobileSignalView {
|
||||
readonly desiredOutcome: string;
|
||||
readonly id: string;
|
||||
readonly summary: string;
|
||||
readonly title: string;
|
||||
}
|
||||
|
||||
export interface MobileAssistantMessageView {
|
||||
readonly id: string;
|
||||
readonly role: "assistant" | "user";
|
||||
readonly text: string;
|
||||
}
|
||||
|
||||
export interface MobileAssistantView {
|
||||
readonly isBusy: boolean;
|
||||
readonly messages: readonly MobileAssistantMessageView[];
|
||||
readonly statusLabel: string;
|
||||
readonly statusTone: "amber" | "green" | "red";
|
||||
}
|
||||
|
||||
export interface MobileWorkspaceView {
|
||||
readonly activeCount: number;
|
||||
readonly activityCount: number;
|
||||
readonly artifactCount: number;
|
||||
readonly assistant: MobileAssistantView;
|
||||
readonly isLoading: boolean;
|
||||
readonly latestSignal?: MobileSignalView;
|
||||
readonly needsAttentionCount: number;
|
||||
readonly organizationLabel: string;
|
||||
readonly projectName?: string;
|
||||
readonly selectedWorkUnit?: MobileWorkUnitView;
|
||||
readonly shippedCount: number;
|
||||
readonly totalCount: number;
|
||||
readonly workUnits: readonly MobileWorkUnitView[];
|
||||
}
|
||||
@@ -4,3 +4,12 @@ export type MobileWorkspaceScreenProps = Omit<
|
||||
MobileWorkspaceRendererProps,
|
||||
"variant"
|
||||
>;
|
||||
|
||||
export type {
|
||||
MobileAssistantMessageView,
|
||||
MobileAssistantView,
|
||||
MobileSignalView,
|
||||
MobileWorkspaceView,
|
||||
MobileWorkUnitTone,
|
||||
MobileWorkUnitView,
|
||||
} from "./models";
|
||||
|
||||
Reference in New Issue
Block a user