/** * Bug report severity levels */ export declare const bugSeverityValidator: import("convex/values").VUnion<"low" | "medium" | "high" | "critical", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">, import("convex/values").VLiteral<"critical", "required">], "required", never>; export type BugSeverity = "low" | "medium" | "high" | "critical"; /** * Bug report status */ export declare const bugStatusValidator: import("convex/values").VUnion<"open" | "in-progress" | "resolved" | "closed", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"in-progress", "required">, import("convex/values").VLiteral<"resolved", "required">, import("convex/values").VLiteral<"closed", "required">], "required", never>; export type BugStatus = "open" | "in-progress" | "resolved" | "closed"; /** * Feedback type */ export declare const feedbackTypeValidator: import("convex/values").VUnion<"feature_request" | "change_request" | "general", [import("convex/values").VLiteral<"feature_request", "required">, import("convex/values").VLiteral<"change_request", "required">, import("convex/values").VLiteral<"general", "required">], "required", never>; export type FeedbackType = "feature_request" | "change_request" | "general"; /** * Feedback priority */ export declare const feedbackPriorityValidator: import("convex/values").VUnion<"critical" | "nice_to_have" | "important", [import("convex/values").VLiteral<"nice_to_have", "required">, import("convex/values").VLiteral<"important", "required">, import("convex/values").VLiteral<"critical", "required">], "required", never>; export type FeedbackPriority = "nice_to_have" | "important" | "critical"; /** * Feedback status */ export declare const feedbackStatusValidator: import("convex/values").VUnion<"open" | "under_review" | "planned" | "in_progress" | "completed" | "declined", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"under_review", "required">, import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"completed", "required">, import("convex/values").VLiteral<"declined", "required">], "required", never>; export type FeedbackStatus = "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined"; /** * Reporter type */ export declare const reporterTypeValidator: import("convex/values").VUnion<"staff" | "customer", [import("convex/values").VLiteral<"staff", "required">, import("convex/values").VLiteral<"customer", "required">], "required", never>; export type ReporterType = "staff" | "customer"; /** * Effort estimate */ export declare const effortValidator: import("convex/values").VUnion<"low" | "medium" | "high", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">], "required", never>; export type Effort = "low" | "medium" | "high"; /** * Input request status */ export declare const inputRequestStatusValidator: import("convex/values").VUnion<"pending" | "answered" | "expired" | "cancelled", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"answered", "required">, import("convex/values").VLiteral<"expired", "required">, import("convex/values").VLiteral<"cancelled", "required">], "required", never>; export type InputRequestStatus = "pending" | "answered" | "expired" | "cancelled"; /** * Input type for interview */ export declare const inputTypeValidator: import("convex/values").VUnion<"text" | "choice" | "form", [import("convex/values").VLiteral<"text", "required">, import("convex/values").VLiteral<"choice", "required">, import("convex/values").VLiteral<"form", "required">], "required", never>; export type InputType = "text" | "choice" | "form"; /** * Input configuration */ export declare const inputConfigValidator: import("convex/values").VObject<{ placeholder?: string; fields?: { placeholder?: string; required: boolean; type: string; label: string; name: string; }[]; multiline?: boolean; options?: { description?: string; label: string; value: string; }[]; }, { placeholder: import("convex/values").VString; multiline: import("convex/values").VBoolean; options: import("convex/values").VArray<{ description?: string; label: string; value: string; }[], import("convex/values").VObject<{ description?: string; label: string; value: string; }, { label: import("convex/values").VString; value: import("convex/values").VString; description: import("convex/values").VString; }, "required", "label" | "value" | "description">, "optional">; fields: import("convex/values").VArray<{ placeholder?: string; required: boolean; type: string; label: string; name: string; }[], import("convex/values").VObject<{ placeholder?: string; required: boolean; type: string; label: string; name: string; }, { name: import("convex/values").VString; label: import("convex/values").VString; type: import("convex/values").VString; required: import("convex/values").VBoolean; placeholder: import("convex/values").VString; }, "required", "required" | "type" | "placeholder" | "label" | "name">, "optional">; }, "required", "placeholder" | "fields" | "multiline" | "options">; /** * Counter type for ticket numbers */ export declare const counterTypeValidator: import("convex/values").VUnion<"bug" | "feedback", [import("convex/values").VLiteral<"bug", "required">, import("convex/values").VLiteral<"feedback", "required">], "required", never>; export type CounterType = "bug" | "feedback"; declare const _default: import("convex/server").SchemaDefinition<{ /** * Bug Reports - in-app bug reports with diagnostics */ bugReports: import("convex/server").TableDefinition; aiSummary?: string; aiRootCauseAnalysis?: string; aiReproductionSteps?: string[]; aiSuggestedFix?: string; aiEstimatedEffort?: "low" | "medium" | "high"; aiSuggestedSeverity?: "low" | "medium" | "high" | "critical"; aiAnalyzedAt?: number; aiThreadId?: string; notificationsSentAt?: number; ticketNumber?: string; description: string; severity: "low" | "medium" | "high" | "critical"; status: "open" | "in-progress" | "resolved" | "closed"; reporterType: "staff" | "customer"; title: string; reporterId: string; reporterEmail: string; reporterName: string; url: string; browserInfo: string; viewportWidth: number; viewportHeight: number; networkState: string; createdAt: number; updatedAt: number; }, { title: import("convex/values").VString; description: import("convex/values").VString; severity: import("convex/values").VUnion<"low" | "medium" | "high" | "critical", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">, import("convex/values").VLiteral<"critical", "required">], "required", never>; status: import("convex/values").VUnion<"open" | "in-progress" | "resolved" | "closed", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"in-progress", "required">, import("convex/values").VLiteral<"resolved", "required">, import("convex/values").VLiteral<"closed", "required">], "required", never>; isArchived: import("convex/values").VBoolean; reporterType: import("convex/values").VUnion<"staff" | "customer", [import("convex/values").VLiteral<"staff", "required">, import("convex/values").VLiteral<"customer", "required">], "required", never>; reporterId: import("convex/values").VString; reporterEmail: import("convex/values").VString; reporterName: import("convex/values").VString; url: import("convex/values").VString; route: import("convex/values").VString; browserInfo: import("convex/values").VString; consoleErrors: import("convex/values").VString; screenshotStorageId: import("convex/values").VId, "optional">; viewportWidth: import("convex/values").VFloat64; viewportHeight: import("convex/values").VFloat64; networkState: import("convex/values").VString; aiSummary: import("convex/values").VString; aiRootCauseAnalysis: import("convex/values").VString; aiReproductionSteps: import("convex/values").VArray, "optional">; aiSuggestedFix: import("convex/values").VString; aiEstimatedEffort: import("convex/values").VUnion<"low" | "medium" | "high", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">], "optional", never>; aiSuggestedSeverity: import("convex/values").VUnion<"low" | "medium" | "high" | "critical", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">, import("convex/values").VLiteral<"critical", "required">], "optional", never>; aiAnalyzedAt: import("convex/values").VFloat64; aiThreadId: import("convex/values").VString; notificationsSentAt: import("convex/values").VFloat64; ticketNumber: import("convex/values").VString; createdAt: import("convex/values").VFloat64; updatedAt: import("convex/values").VFloat64; }, "required", "description" | "severity" | "status" | "reporterType" | "title" | "isArchived" | "reporterId" | "reporterEmail" | "reporterName" | "url" | "route" | "browserInfo" | "consoleErrors" | "screenshotStorageId" | "viewportWidth" | "viewportHeight" | "networkState" | "aiSummary" | "aiRootCauseAnalysis" | "aiReproductionSteps" | "aiSuggestedFix" | "aiEstimatedEffort" | "aiSuggestedSeverity" | "aiAnalyzedAt" | "aiThreadId" | "notificationsSentAt" | "ticketNumber" | "createdAt" | "updatedAt">, { by_status: ["status", "_creationTime"]; by_severity: ["severity", "_creationTime"]; by_reporter: ["reporterType", "reporterId", "_creationTime"]; by_created: ["createdAt", "_creationTime"]; by_archived: ["isArchived", "_creationTime"]; by_ai_analyzed: ["aiAnalyzedAt", "_creationTime"]; by_ticket_number: ["ticketNumber", "_creationTime"]; }, {}, {}>; /** * Feedback - feature requests, change requests, and general feedback */ feedback: import("convex/server").TableDefinition; aiSummary?: string; aiEstimatedEffort?: "low" | "medium" | "high"; aiAnalyzedAt?: number; aiThreadId?: string; notificationsSentAt?: number; ticketNumber?: string; aiImpactAnalysis?: string; aiActionItems?: string[]; aiSuggestedPriority?: "critical" | "nice_to_have" | "important"; type: "feature_request" | "change_request" | "general"; description: string; status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined"; reporterType: "staff" | "customer"; title: string; reporterId: string; reporterEmail: string; reporterName: string; url: string; browserInfo: string; viewportWidth: number; viewportHeight: number; networkState: string; createdAt: number; updatedAt: number; priority: "critical" | "nice_to_have" | "important"; }, { type: import("convex/values").VUnion<"feature_request" | "change_request" | "general", [import("convex/values").VLiteral<"feature_request", "required">, import("convex/values").VLiteral<"change_request", "required">, import("convex/values").VLiteral<"general", "required">], "required", never>; title: import("convex/values").VString; description: import("convex/values").VString; priority: import("convex/values").VUnion<"critical" | "nice_to_have" | "important", [import("convex/values").VLiteral<"nice_to_have", "required">, import("convex/values").VLiteral<"important", "required">, import("convex/values").VLiteral<"critical", "required">], "required", never>; status: import("convex/values").VUnion<"open" | "under_review" | "planned" | "in_progress" | "completed" | "declined", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"under_review", "required">, import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"completed", "required">, import("convex/values").VLiteral<"declined", "required">], "required", never>; isArchived: import("convex/values").VBoolean; reporterType: import("convex/values").VUnion<"staff" | "customer", [import("convex/values").VLiteral<"staff", "required">, import("convex/values").VLiteral<"customer", "required">], "required", never>; reporterId: import("convex/values").VString; reporterEmail: import("convex/values").VString; reporterName: import("convex/values").VString; url: import("convex/values").VString; route: import("convex/values").VString; browserInfo: import("convex/values").VString; consoleErrors: import("convex/values").VString; screenshotStorageId: import("convex/values").VId, "optional">; viewportWidth: import("convex/values").VFloat64; viewportHeight: import("convex/values").VFloat64; networkState: import("convex/values").VString; aiSummary: import("convex/values").VString; aiImpactAnalysis: import("convex/values").VString; aiActionItems: import("convex/values").VArray, "optional">; aiEstimatedEffort: import("convex/values").VUnion<"low" | "medium" | "high", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">], "optional", never>; aiSuggestedPriority: import("convex/values").VUnion<"critical" | "nice_to_have" | "important", [import("convex/values").VLiteral<"nice_to_have", "required">, import("convex/values").VLiteral<"important", "required">, import("convex/values").VLiteral<"critical", "required">], "optional", never>; aiAnalyzedAt: import("convex/values").VFloat64; aiThreadId: import("convex/values").VString; notificationsSentAt: import("convex/values").VFloat64; ticketNumber: import("convex/values").VString; createdAt: import("convex/values").VFloat64; updatedAt: import("convex/values").VFloat64; }, "required", "type" | "description" | "status" | "reporterType" | "title" | "isArchived" | "reporterId" | "reporterEmail" | "reporterName" | "url" | "route" | "browserInfo" | "consoleErrors" | "screenshotStorageId" | "viewportWidth" | "viewportHeight" | "networkState" | "aiSummary" | "aiEstimatedEffort" | "aiAnalyzedAt" | "aiThreadId" | "notificationsSentAt" | "ticketNumber" | "createdAt" | "updatedAt" | "priority" | "aiImpactAnalysis" | "aiActionItems" | "aiSuggestedPriority">, { by_status: ["status", "_creationTime"]; by_type: ["type", "_creationTime"]; by_priority: ["priority", "_creationTime"]; by_reporter: ["reporterType", "reporterId", "_creationTime"]; by_created: ["createdAt", "_creationTime"]; by_archived: ["isArchived", "_creationTime"]; by_ai_analyzed: ["aiAnalyzedAt", "_creationTime"]; by_ticket_number: ["ticketNumber", "_creationTime"]; }, {}, {}>; /** * Support Teams - configure teams for notification routing */ supportTeams: import("convex/server").TableDefinition; memberEmails: import("convex/values").VArray, "required">; feedbackTypes: import("convex/values").VArray<("feature_request" | "change_request" | "general")[], import("convex/values").VUnion<"feature_request" | "change_request" | "general", [import("convex/values").VLiteral<"feature_request", "required">, import("convex/values").VLiteral<"change_request", "required">, import("convex/values").VLiteral<"general", "required">], "required", never>, "required">; bugReportSeverities: import("convex/values").VArray<("low" | "medium" | "high" | "critical")[], import("convex/values").VUnion<"low" | "medium" | "high" | "critical", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">, import("convex/values").VLiteral<"critical", "required">], "required", never>, "required">; isActive: import("convex/values").VBoolean; createdAt: import("convex/values").VFloat64; updatedAt: import("convex/values").VFloat64; }, "required", "createdAt" | "updatedAt" | "teamName" | "memberEmails" | "feedbackTypes" | "bugReportSeverities" | "isActive">, { by_active: ["isActive", "_creationTime"]; }, {}, {}>; /** * Feedback Input Requests - track pending user input during interviews */ feedbackInputRequests: import("convex/server").TableDefinition; toolCallId: import("convex/values").VString; status: import("convex/values").VUnion<"pending" | "answered" | "expired" | "cancelled", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"answered", "required">, import("convex/values").VLiteral<"expired", "required">, import("convex/values").VLiteral<"cancelled", "required">], "required", never>; inputType: import("convex/values").VUnion<"text" | "choice" | "form", [import("convex/values").VLiteral<"text", "required">, import("convex/values").VLiteral<"choice", "required">, import("convex/values").VLiteral<"form", "required">], "required", never>; prompt: import("convex/values").VString; config: import("convex/values").VObject<{ placeholder?: string; fields?: { placeholder?: string; required: boolean; type: string; label: string; name: string; }[]; multiline?: boolean; options?: { description?: string; label: string; value: string; }[]; }, { placeholder: import("convex/values").VString; multiline: import("convex/values").VBoolean; options: import("convex/values").VArray<{ description?: string; label: string; value: string; }[], import("convex/values").VObject<{ description?: string; label: string; value: string; }, { label: import("convex/values").VString; value: import("convex/values").VString; description: import("convex/values").VString; }, "required", "label" | "value" | "description">, "optional">; fields: import("convex/values").VArray<{ placeholder?: string; required: boolean; type: string; label: string; name: string; }[], import("convex/values").VObject<{ placeholder?: string; required: boolean; type: string; label: string; name: string; }, { name: import("convex/values").VString; label: import("convex/values").VString; type: import("convex/values").VString; required: import("convex/values").VBoolean; placeholder: import("convex/values").VString; }, "required", "required" | "type" | "placeholder" | "label" | "name">, "optional">; }, "optional", "placeholder" | "fields" | "multiline" | "options">; response: import("convex/values").VString; respondedAt: import("convex/values").VFloat64; agentName: import("convex/values").VString; userId: import("convex/values").VString; createdAt: import("convex/values").VFloat64; expiresAt: import("convex/values").VFloat64; }, "required", "status" | "createdAt" | "inputType" | "threadId" | "toolCallId" | "prompt" | "config" | "response" | "respondedAt" | "agentName" | "userId" | "expiresAt" | "config.placeholder" | "config.fields" | "config.multiline" | "config.options">, { by_thread_status: ["threadId", "status", "_creationTime"]; by_user_status: ["userId", "status", "_creationTime"]; by_created: ["createdAt", "_creationTime"]; }, {}, {}>; /** * Interview Sessions - track interview state and generated reports */ interviewSessions: import("convex/server").TableDefinition; reportType: import("convex/values").VUnion<"bug" | "feedback", [import("convex/values").VLiteral<"bug", "required">, import("convex/values").VLiteral<"feedback", "required">], "required", never>; reporterType: import("convex/values").VUnion<"staff" | "customer", [import("convex/values").VLiteral<"staff", "required">, import("convex/values").VLiteral<"customer", "required">], "required", never>; reporterId: import("convex/values").VString; reporterEmail: import("convex/values").VString; reporterName: import("convex/values").VString; context: import("convex/values").VString; generatedTitle: import("convex/values").VString; generatedDescription: import("convex/values").VString; generatedSeverity: import("convex/values").VUnion<"low" | "medium" | "high" | "critical", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">, import("convex/values").VLiteral<"critical", "required">], "optional", never>; generatedFeedbackType: import("convex/values").VUnion<"feature_request" | "change_request" | "general", [import("convex/values").VLiteral<"feature_request", "required">, import("convex/values").VLiteral<"change_request", "required">, import("convex/values").VLiteral<"general", "required">], "optional", never>; generatedPriority: import("convex/values").VUnion<"critical" | "nice_to_have" | "important", [import("convex/values").VLiteral<"nice_to_have", "required">, import("convex/values").VLiteral<"important", "required">, import("convex/values").VLiteral<"critical", "required">], "optional", never>; generatedFeatureArea: import("convex/values").VString; generatedReproSteps: import("convex/values").VArray, "optional">; isComplete: import("convex/values").VBoolean; createdAt: import("convex/values").VFloat64; updatedAt: import("convex/values").VFloat64; }, "required", "reporterType" | "reporterId" | "reporterEmail" | "reporterName" | "createdAt" | "updatedAt" | "threadId" | "reportType" | "context" | "generatedTitle" | "generatedDescription" | "generatedSeverity" | "generatedFeedbackType" | "generatedPriority" | "generatedFeatureArea" | "generatedReproSteps" | "isComplete">, { by_thread: ["threadId", "_creationTime"]; by_reporter: ["reporterType", "reporterId", "_creationTime"]; by_created: ["createdAt", "_creationTime"]; }, {}, {}>; /** * Counters - track sequential numbers for ticket IDs */ ticketCounters: import("convex/server").TableDefinition, import("convex/values").VLiteral<"feedback", "required">], "required", never>; year: import("convex/values").VFloat64; nextNumber: import("convex/values").VFloat64; }, "required", "type" | "year" | "nextNumber">, { by_type_year: ["type", "year", "_creationTime"]; }, {}, {}>; /** * API Keys - for accessing the HTTP endpoint */ apiKeys: import("convex/server").TableDefinition; keyPrefix: import("convex/values").VString; name: import("convex/values").VString; expiresAt: import("convex/values").VFloat64; isRevoked: import("convex/values").VBoolean; revokedAt: import("convex/values").VFloat64; createdAt: import("convex/values").VFloat64; }, "required", "name" | "createdAt" | "expiresAt" | "keyHash" | "keyPrefix" | "isRevoked" | "revokedAt">, { by_key_hash: ["keyHash", "_creationTime"]; by_key_prefix: ["keyPrefix", "_creationTime"]; by_revoked: ["isRevoked", "_creationTime"]; }, {}, {}>; }, true>; export default _default; //# sourceMappingURL=schema.d.ts.map