SYMBOL INDEX (3392 symbols across 676 files) FILE: apps/cli/src/agents/repo.ts type IAgentsRepo (line 11) | interface IAgentsRepo { class FSAgentsRepo (line 19) | class FSAgentsRepo implements IAgentsRepo { method list (line 22) | async list(): Promise[]> { method parseAgentMd (line 39) | private async parseAgentMd(filePath: string): Promise> { method create (line 79) | async create(agent: z.infer): Promise { method update (line 85) | async update(id: string, agent: z.infer): Pr... method delete (line 91) | async delete(id: string): Promise { FILE: apps/cli/src/agents/runtime.ts type IAgentRuntime (line 26) | interface IAgentRuntime { class AgentRuntime (line 30) | class AgentRuntime implements IAgentRuntime { method constructor (line 38) | constructor({ method trigger (line 61) | async trigger(runId: string): Promise { function mapAgentTool (line 112) | async function mapAgentTool(t: z.infer): Promise<... class RunLogger (line 152) | class RunLogger { method ensureRunsDir (line 156) | ensureRunsDir() { method constructor (line 163) | constructor(runId: string) { method log (line 172) | log(event: z.infer) { method close (line 178) | close() { class StreamStepMessageBuilder (line 183) | class StreamStepMessageBuilder { method flushBuffers (line 189) | flushBuffers() { method ingest (line 201) | ingest(event: z.infer) { method get (line 230) | get(): z.infer { function normaliseAskHumanToolCall (line 240) | function normaliseAskHumanToolCall(message: z.infer> { function convertFromMessages (line 272) | function convertFromMessages(messages: z.infer[]): Model... function buildTools (line 344) | async function buildTools(agent: z.infer): Promise { class AgentState (line 357) | class AgentState { method getPendingPermissions (line 371) | getPendingPermissions(): z.infer[] { method getPendingAskHumans (line 390) | getPendingAskHumans(): z.infer[] { method finalResponse (line 409) | finalResponse(): string { method ingest (line 424) | ingest(event: z.infer) { FILE: apps/cli/src/app.ts function renderGreeting (line 20) | function renderGreeting() { function app (line 38) | async function app(opts: { function getToolCallPermission (line 154) | async function getToolCallPermission( function getAskHumanResponse (line 173) | async function getAskHumanResponse( function getUserInput (line 186) | async function getUserInput( function modelConfig (line 197) | async function modelConfig() { function renderCurrentModel (line 379) | function renderCurrentModel(provider: string, flavor: string, model: str... function listAvailableExamples (line 386) | async function listAvailableExamples(): Promise { function writeAgents (line 390) | async function writeAgents(agents: z.infer[] | undefined) { function mergeMcpServers (line 403) | async function mergeMcpServers(servers: Record { FILE: apps/cli/src/application/lib/bus.ts type IBus (line 4) | interface IBus { class InMemoryBus (line 12) | class InMemoryBus implements IBus { method publish (line 15) | async publish(event: z.infer): Promise { method subscribe (line 26) | async subscribe(runId: string, handler: (event: z.infer & {... function execTool (line 11) | async function execTool(agentTool: z.infer, input... FILE: apps/cli/src/application/lib/id-gen.ts type IMonotonicallyIncreasingIdGenerator (line 1) | interface IMonotonicallyIncreasingIdGenerator { class IdGen (line 5) | class IdGen implements IMonotonicallyIncreasingIdGenerator { method constructor (line 11) | constructor() { method next (line 20) | async next(): Promise { FILE: apps/cli/src/application/lib/message-queue.ts type IMessageQueue (line 9) | interface IMessageQueue { class InMemoryMessageQueue (line 14) | class InMemoryMessageQueue implements IMessageQueue { method constructor (line 18) | constructor({ method enqueue (line 26) | async enqueue(runId: string, message: string): Promise { method dequeue (line 38) | async dequeue(runId: string): Promise ... FILE: apps/cli/src/application/lib/random-id.ts function randomId (line 5) | async function randomId(): Promise { FILE: apps/cli/src/application/lib/stream-renderer.ts type StreamRendererOptions (line 5) | interface StreamRendererOptions { class StreamRenderer (line 12) | class StreamRenderer { method constructor (line 18) | constructor(options?: StreamRendererOptions) { method render (line 28) | render(event: z.infer) { method renderLlmEvent (line 57) | private renderLlmEvent(event: z.infer) { method onStart (line 86) | private onStart(agentName: string, runId: string) { method onEnd (line 93) | private onEnd() { method onError (line 101) | private onError(error: string) { method onStepStart (line 109) | private onStepStart() { method onStepEnd (line 116) | private onStepEnd() { method onStepMessage (line 121) | private onStepMessage(stepIndex: number, message: any) { method onStepToolInvocation (line 133) | private onStepToolInvocation(toolName: string, input: string) { method onStepToolResult (line 143) | private onStepToolResult(toolName: string, result: unknown) { method onReasoningStart (line 152) | private onReasoningStart() { method onReasoningDelta (line 162) | private onReasoningDelta(delta: string) { method onReasoningEnd (line 167) | private onReasoningEnd() { method onTextStart (line 173) | private onTextStart() { method onTextDelta (line 188) | private onTextDelta(delta: string) { method onTextEnd (line 198) | private onTextEnd() { method onToolCall (line 204) | private onToolCall(toolCallId: string, toolName: string, input: unknow... method onPauseForHumanInput (line 215) | private onPauseForHumanInput(toolCallId: string, question: string) { method onFinishStep (line 222) | private onFinishStep( method write (line 251) | private write(text: string) { method indent (line 255) | private indent(text: string): string { method truncate (line 262) | private truncate(text: string): string { method bold (line 267) | private bold(text: string): string { method dim (line 271) | private dim(text: string): string { method italic (line 275) | private italic(text: string): string { method cyan (line 279) | private cyan(text: string): string { method green (line 283) | private green(text: string): string { method red (line 287) | private red(text: string): string { method magenta (line 291) | private magenta(text: string): string { method yellow (line 295) | private yellow(text: string): string { method neutral (line 299) | private neutral(text: string): string { FILE: apps/cli/src/config/config.ts function ensureDirs (line 8) | function ensureDirs() { FILE: apps/cli/src/config/security.ts constant SECURITY_CONFIG_PATH (line 5) | const SECURITY_CONFIG_PATH = path.join(WorkDir, "config", "security.json"); constant DEFAULT_ALLOW_LIST (line 7) | const DEFAULT_ALLOW_LIST = [ function ensureSecurityConfig (line 23) | function ensureSecurityConfig() { function normalizeList (line 33) | function normalizeList(commands: unknown[]): string[] { function parseSecurityPayload (line 45) | function parseSecurityPayload(payload: unknown): string[] { function readAllowList (line 66) | function readAllowList(): string[] { function getSecurityAllowList (line 79) | function getSecurityAllowList(): string[] { function resetSecurityAllowListCache (line 98) | function resetSecurityAllowListCache() { FILE: apps/cli/src/knowledge/sync_calendar.ts constant CREDENTIALS_PATH (line 9) | const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json'); constant TOKEN_PATH (line 10) | const TOKEN_PATH = path.join(process.cwd(), 'token_calendar_notes.json'); constant SYNC_INTERVAL_MS (line 11) | const SYNC_INTERVAL_MS = 60 * 1000; constant SCOPES (line 12) | const SCOPES = [ function loadSavedCredentialsIfExist (line 21) | async function loadSavedCredentialsIfExist(): Promise { function cleanFilename (line 98) | function cleanFilename(name: string): string { function cleanUpOldFiles (line 104) | function cleanUpOldFiles(currentEventIds: Set, syncDir: string) { function saveEvent (line 141) | async function saveEvent(event: any, syncDir: string): Promise { function processAttachments (line 156) | async function processAttachments(drive: any, event: any, syncDir: strin... function syncCalendarWindow (line 208) | async function syncCalendarWindow(auth: OAuth2Client, syncDir: string, l... function main (line 254) | async function main() { FILE: apps/cli/src/knowledge/sync_gmail.ts constant DEFAULT_SYNC_DIR (line 9) | const DEFAULT_SYNC_DIR = 'synced_emails_ts'; constant CREDENTIALS_PATH (line 10) | const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json'); constant TOKEN_PATH (line 11) | const TOKEN_PATH = path.join(process.cwd(), 'token_api.json'); constant SYNC_INTERVAL_MS (line 12) | const SYNC_INTERVAL_MS = 60 * 1000; constant SCOPES (line 13) | const SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']; function loadSavedCredentialsIfExist (line 19) | async function loadSavedCredentialsIfExist(): Promise { function cleanFilename (line 92) | function cleanFilename(name: string): string { function decodeBase64 (line 96) | function decodeBase64(data: string): string { function getBody (line 100) | function getBody(payload: any): string { function saveAttachment (line 131) | async function saveAttachment(gmail: any, userId: string, msgId: string,... function processThread (line 162) | async function processThread(auth: OAuth2Client, threadId: string, syncD... function loadState (line 225) | function loadState(stateFile: string): { historyId?: string } { function saveState (line 232) | function saveState(historyId: string, stateFile: string) { function fullSync (line 239) | async function fullSync(auth: OAuth2Client, syncDir: string, attachments... function partialSync (line 272) | async function partialSync(auth: OAuth2Client, startHistoryId: string, s... function main (line 326) | async function main() { FILE: apps/cli/src/mcp/mcp.ts type mcpState (line 16) | type mcpState = { function getClient (line 23) | async function getClient(serverName: string): Promise { function cleanup (line 80) | async function cleanup() { function listServers (line 88) | async function listServers(): Promise> { function listTools (line 105) | async function listTools(serverName: string, cursor?: string): Promise { method getConfig (line 28) | async getConfig(): Promise> { method upsert (line 33) | async upsert(serverName: string, config: z.infer { FILE: apps/cli/src/models/models.ts function getProvider (line 41) | async function getProvider(name: string = ""): Promise { FILE: apps/cli/src/models/repo.ts type IModelConfigRepo (line 7) | interface IModelConfigRepo { class FSModelConfigRepo (line 26) | class FSModelConfigRepo implements IModelConfigRepo { method constructor (line 29) | constructor() { method ensureDefaultConfig (line 33) | private async ensureDefaultConfig(): Promise { method getConfig (line 41) | async getConfig(): Promise> { method setConfig (line 46) | private async setConfig(config: z.infer): Promise<... method upsert (line 50) | async upsert(providerName: string, config: z.infer): ... method delete (line 56) | async delete(providerName: string): Promise { method setDefault (line 62) | async setDefault(providerName: string, model: string): Promise { FILE: apps/cli/src/runs/lock.ts type IRunsLock (line 1) | interface IRunsLock { class InMemoryRunsLock (line 6) | class InMemoryRunsLock implements IRunsLock { method lock (line 9) | async lock(runId: string): Promise { method release (line 17) | async release(runId: string): Promise { FILE: apps/cli/src/runs/repo.ts type IRunsRepo (line 22) | interface IRunsRepo { class FSRunsRepo (line 29) | class FSRunsRepo implements IRunsRepo { method constructor (line 31) | constructor({ method appendEvents (line 39) | async appendEvents(runId: string, events: z.infer[]):... method create (line 46) | async create(options: z.infer): Promise> { method list (line 81) | async list(cursor?: string): Promise> { FILE: apps/cli/src/runs/runs.ts function createRun (line 28) | async function createRun(opts: z.infer): Promis... function createMessage (line 36) | async function createMessage(runId: string, message: string): Promise { FILE: apps/cli/src/shared/prefix-logger.ts class PrefixLogger (line 3) | class PrefixLogger { method constructor (line 7) | constructor(prefix: string, parent: PrefixLogger | null = null) { method log (line 12) | log(...args: any[]) { method child (line 23) | child(childPrefix: string): PrefixLogger { FILE: apps/cli/src/tui/api.ts type RunEventType (line 21) | type RunEventType = z.infer; type RowboatApiOptions (line 23) | interface RowboatApiOptions { class RowboatApi (line 27) | class RowboatApi { method constructor (line 29) | constructor({ baseUrl }: RowboatApiOptions = {}) { method buildUrl (line 33) | private buildUrl(pathname: string): string { method request (line 37) | private async request(pathname: string, init?: RequestInit): Promis... method getHealth (line 74) | async getHealth(): Promise> { method getModelConfig (line 79) | async getModelConfig(): Promise> { method listAgents (line 84) | async listAgents(): Promise[]> { method listRuns (line 89) | async listRuns(cursor?: string): Promise> { method createRun (line 103) | async createRun(agentId: string): Promise> { method sendMessage (line 111) | async sendMessage(runId: string, message: string): Promise { method subscribeToEvents (line 142) | async subscribeToEvents(onEvent: (event: RunEventType) => void, onErro... FILE: apps/cli/src/tui/index.tsx function runTui (line 5) | function runTui({ serverUrl }: { serverUrl?: string }) { FILE: apps/cli/src/tui/ui.tsx type AgentType (line 14) | type AgentType = z.infer; type ModelConfigType (line 15) | type ModelConfigType = z.infer; type RunSummary (line 16) | type RunSummary = z.infer["runs"][number]; type RunType (line 17) | type RunType = z.infer; type RunEventType (line 18) | type RunEventType = z.infer; type Toast (line 20) | type Toast = { type ChatLine (line 25) | type ChatLine = { type ModalState (line 31) | type ModalState = type ConnectionState (line 43) | type ConnectionState = "connecting" | "ready" | "error"; type FocusTarget (line 44) | type FocusTarget = "chat" | "sidebar"; type PendingPermission (line 46) | type PendingPermission = { type PendingHuman (line 53) | type PendingHuman = { type SidebarItem (line 59) | type SidebarItem = function RowboatTui (line 63) | function RowboatTui({ serverUrl }: { serverUrl: string }) { function Header (line 715) | function Header({ function Sidebar (line 775) | function Sidebar({ function ChatPanel (line 838) | function ChatPanel({ function ModalSurface (line 924) | function ModalSurface({ children }: { children: React.ReactNode }) { function AgentPickerModal (line 934) | function AgentPickerModal({ function MessageModal (line 963) | function MessageModal({ function derivePendingPermissions (line 1009) | function derivePendingPermissions(run: RunType | undefined): PendingPerm... function derivePendingHuman (line 1035) | function derivePendingHuman(run: RunType | undefined): PendingHuman[] { function getRunStatus (line 1057) | function getRunStatus(run: RunType | undefined): { label: string; color:... function MessageBubble (line 1074) | function MessageBubble({ event }: { event: ChatLine }) { function formatEvent (line 1094) | function formatEvent(event: RunEventType): ChatLine | null { function truncate (line 1145) | function truncate(input: string, len = 60): string { function formatTimestamp (line 1152) | function formatTimestamp(iso: string): string { function timeAgo (line 1160) | function timeAgo(iso: string): string { FILE: apps/experimental/chat_widget/app/api/bootstrap.js/route.ts function GET (line 7) | async function GET() { FILE: apps/experimental/chat_widget/app/app.tsx type Message (line 9) | type Message = { function ChatWindowHeader (line 16) | function ChatWindowHeader({ function LoadingAssistantResponse (line 57) | function LoadingAssistantResponse() { function AssistantMessage (line 69) | function AssistantMessage({ function UserMessage (line 82) | function UserMessage({ function ChatWindowMessages (line 93) | function ChatWindowMessages({ function ChatWindowInput (line 131) | function ChatWindowInput({ function ChatWindowBody (line 162) | function ChatWindowBody({ function ChatWindow (line 212) | function ChatWindow({ function App (line 252) | function App({ FILE: apps/experimental/chat_widget/app/layout.tsx function RootLayout (line 21) | function RootLayout({ FILE: apps/experimental/chat_widget/app/markdown-content.tsx function MarkdownContent (line 4) | function MarkdownContent({ content }: { content: string }) { FILE: apps/experimental/chat_widget/app/page.tsx function Page (line 6) | function Page() { FILE: apps/experimental/chat_widget/app/providers.tsx function Providers (line 6) | function Providers({ FILE: apps/experimental/chat_widget/public/bootstrap.template.js constant CONFIG (line 2) | const CONFIG = { class SessionManager (line 33) | class SessionManager { method createGuestSession (line 34) | static async createGuestSession() { class CookieManager (line 57) | class CookieManager { method getCookie (line 58) | static getCookie(name) { method setCookie (line 65) | static setCookie(name, value) { method deleteCookie (line 69) | static deleteCookie(name) { class IframeManager (line 75) | class IframeManager { method createIframe (line 76) | static createIframe(url, isMinimized) { method updateSize (line 87) | static updateSize(iframe, isMinimized) { method removeIframe (line 92) | static removeIframe(iframe) { class ChatWidget (line 100) | class ChatWidget { method constructor (line 101) | constructor() { method init (line 112) | async init() { method createAndMountIframe (line 123) | createAndMountIframe() { method buildUrl (line 130) | buildUrl() { method setupEventListeners (line 141) | setupEventListeners() { method handleMessage (line 145) | handleMessage(event) { method handleSessionExpired (line 153) | async handleSessionExpired() { method handleStateChange (line 168) | handleStateChange(data) { method getStoredMinimizedState (line 173) | getStoredMinimizedState() { FILE: apps/experimental/simulation_runner/db.py function get_db (line 22) | def get_db(): function get_collection (line 26) | def get_collection(collection_name: str): function get_api_key (line 30) | def get_api_key(project_id: str): function get_pending_run (line 45) | def get_pending_run() -> Optional[TestRun]: function set_run_to_completed (line 70) | def set_run_to_completed(test_run: TestRun, aggregate: AggregateResults): function update_run_heartbeat (line 86) | def update_run_heartbeat(run_id: str): function mark_stale_jobs_as_failed (line 96) | def mark_stale_jobs_as_failed(threshold_minutes: int = 20) -> int: function get_simulations_for_run (line 118) | def get_simulations_for_run(test_run: TestRun) -> list[TestSimulation]: function get_scenario_by_id (line 145) | def get_scenario_by_id(scenario_id: str) -> TestScenario: function write_test_result (line 166) | def write_test_result(result: TestResult): FILE: apps/experimental/simulation_runner/scenario_types.py class TestScenario (line 8) | class TestScenario(BaseModel): class TestSimulation (line 17) | class TestSimulation(BaseModel): class AggregateResults (line 27) | class AggregateResults(BaseModel): class TestRun (line 32) | class TestRun(BaseModel): class TestResult (line 44) | class TestResult(BaseModel): FILE: apps/experimental/simulation_runner/service.py class JobService (line 21) | class JobService: method __init__ (line 22) | def __init__(self): method poll_and_process_jobs (line 27) | async def poll_and_process_jobs(self, max_iterations: Optional[int] = ... method process_run (line 48) | async def process_run(self, run: TestRun): method fail_stale_runs_loop (line 85) | async def fail_stale_runs_loop(self): method heartbeat_loop (line 95) | async def heartbeat_loop(self, run_id: str, stop_event: asyncio.Event): method start (line 106) | def start(self): FILE: apps/experimental/simulation_runner/simulation.py function simulate_simulation (line 17) | async def simulate_simulation( function simulate_simulations (line 140) | async def simulate_simulations( FILE: apps/experimental/tools_webhook/app.py function require_signed_request (line 21) | def require_signed_request(f): function tool_call (line 71) | def tool_call(): FILE: apps/experimental/tools_webhook/function_map.py function greet (line 9) | def greet(name: str, message: str): function add (line 13) | def add(a: int, b: int): function get_account_balance (line 17) | def get_account_balance(user_id: str): FILE: apps/experimental/tools_webhook/tests/test_app.py function client (line 8) | def client(): function test_tool_call_greet (line 18) | def test_tool_call_greet(client): function test_tool_call_missing_params (line 50) | def test_tool_call_missing_params(client): function test_tool_call_invalid_func (line 75) | def test_tool_call_invalid_func(client): FILE: apps/experimental/tools_webhook/tests/test_tool_caller.py function test_call_tool_greet (line 7) | def test_call_tool_greet(): function test_call_tool_add (line 12) | def test_call_tool_add(): function test_call_tool_missing_func (line 17) | def test_call_tool_missing_func(): function test_call_tool_missing_param (line 23) | def test_call_tool_missing_param(): function test_call_tool_unexpected_param (line 29) | def test_call_tool_unexpected_param(): function test_call_tool_type_conversion_error (line 36) | def test_call_tool_type_conversion_error(): FILE: apps/experimental/tools_webhook/tool_caller.py function call_tool (line 8) | def call_tool(function_name: str, parameters: dict, functions_map: dict): FILE: apps/python-sdk/src/rowboat/client.py class Client (line 10) | class Client: method __init__ (line 11) | def __init__(self, host: str, projectId: str, apiKey: str) -> None: method _call_api (line 18) | def _call_api( method run_turn (line 37) | def run_turn( FILE: apps/python-sdk/src/rowboat/schema.py class SystemMessage (line 4) | class SystemMessage(BaseModel): class UserMessage (line 8) | class UserMessage(BaseModel): class AssistantMessage (line 12) | class AssistantMessage(BaseModel): class FunctionCall (line 18) | class FunctionCall(BaseModel): class ToolCall (line 22) | class ToolCall(BaseModel): class AssistantMessageWithToolCalls (line 27) | class AssistantMessageWithToolCalls(BaseModel): class ToolMessage (line 33) | class ToolMessage(BaseModel): class Turn (line 47) | class Turn(BaseModel): class ApiRequest (line 51) | class ApiRequest(BaseModel): class ApiResponse (line 56) | class ApiResponse(BaseModel): FILE: apps/rowboat/app/actions/assistant-templates.actions.ts function serializeTemplate (line 13) | function serializeTemplate(template: any) { function serializeTemplates (line 17) | function serializeTemplates(templates: any[]) { type ListResponse (line 41) | type ListResponse = { items: any[]; nextCursor: string | null }; function buildPrebuiltList (line 43) | function buildPrebuiltList(params: z.infer):... function listAssistantTemplates (line 75) | async function listAssistantTemplates(request: z.infer> { function updateUserEmail (line 33) | async function updateUserEmail(email: string) { FILE: apps/rowboat/app/actions/billing.actions.ts function getCustomer (line 25) | async function getCustomer(): Promise> { function authorizeUserAction (line 37) | async function authorizeUserAction(request: z.infer) { function getCustomerPortalUrl (line 57) | async function getCustomerPortalUrl(returnUrl: string): Promise { function getPrices (line 66) | async function getPrices(): Promise> { function updateSubscriptionPlan (line 75) | async function updateSubscriptionPlan(plan: z.infer; function validateUrl (line 14) | function validateUrl(url: string): string { function addServer (line 29) | async function addServer(projectId: string, name: string, server: McpSer... function removeServer (line 42) | async function removeServer(projectId: string, name: string): Promise[]> { function rotateSecret (line 163) | async function rotateSecret(projectId: string): Promise { function updateWebhookUrl (line 172) | async function updateWebhookUrl(projectId: string, url: string) { function createApiKey (line 182) | async function createApiKey(projectId: string): Promise[]): z.infer... function convertBack (line 63) | function convertBack(messages: z.infer { FILE: apps/rowboat/app/api/widget/v1/session/user/route.ts function POST (line 8) | async function POST(req: NextRequest): Promise { FILE: apps/rowboat/app/api/widget/v1/utils.ts function clientIdCheck (line 19) | async function clientIdCheck(req: NextRequest, handler: (projectId: stri... function authCheck (line 46) | async function authCheck(req: NextRequest, handler: (session: z.infer { function ensureTemplateSeeded (line 117) | async function ensureTemplateSeeded(prebuiltKey: string): Promise { FILE: apps/rowboat/app/lib/auth.ts constant GUEST_SESSION (line 9) | const GUEST_SESSION = { constant GUEST_DB_USER (line 15) | const GUEST_DB_USER: z.infer = { function requireAuth (line 35) | async function requireAuth(): Promise> { function getUserFromSessionId (line 61) | async function getUserFromSessionId(sessionUserId: string): Promise) { method flush (line 35) | flush(): z.infer[] { function getCustomerForUserId (line 42) | async function getCustomerForUserId(userId: string): Promise { function authorize (line 120) | async function authorize(customerId: string, request: z.infer> { function updateSubscriptionPlan (line 215) | async function updateSubscriptionPlan(customerId: string, request: z.inf... function getEligibleModels (line 235) | async function getEligibleModels(customerId: string): Promise { FILE: apps/rowboat/app/lib/embedding.ts constant EMBEDDING_PROVIDER_API_KEY (line 3) | const EMBEDDING_PROVIDER_API_KEY = process.env.EMBEDDING_PROVIDER_API_KE... constant EMBEDDING_PROVIDER_BASE_URL (line 4) | const EMBEDDING_PROVIDER_BASE_URL = process.env.EMBEDDING_PROVIDER_BASE_... constant EMBEDDING_MODEL (line 5) | const EMBEDDING_MODEL = process.env.EMBEDDING_MODEL || 'text-embedding-3... FILE: apps/rowboat/app/lib/feature_flags.ts constant USE_RAG (line 1) | const USE_RAG = process.env.USE_RAG === 'true'; constant USE_RAG_UPLOADS (line 2) | const USE_RAG_UPLOADS = process.env.USE_RAG_UPLOADS === 'true'; constant USE_RAG_SCRAPING (line 3) | const USE_RAG_SCRAPING = process.env.USE_RAG_SCRAPING === 'true'; constant USE_CHAT_WIDGET (line 4) | const USE_CHAT_WIDGET = process.env.USE_CHAT_WIDGET === 'true'; constant USE_AUTH (line 5) | const USE_AUTH = process.env.USE_AUTH === 'true'; constant USE_RAG_S3_UPLOADS (line 6) | const USE_RAG_S3_UPLOADS = process.env.USE_RAG_S3_UPLOADS === 'true'; constant USE_GEMINI_FILE_PARSING (line 7) | const USE_GEMINI_FILE_PARSING = process.env.USE_GEMINI_FILE_PARSING === ... constant USE_BILLING (line 8) | const USE_BILLING = process.env.NEXT_PUBLIC_USE_BILLING === 'true' || pr... constant USE_COMPOSIO_TOOLS (line 9) | const USE_COMPOSIO_TOOLS = process.env.USE_COMPOSIO_TOOLS === 'true'; constant USE_KLAVIS_TOOLS (line 10) | const USE_KLAVIS_TOOLS = process.env.USE_KLAVIS_TOOLS === 'false'; constant USE_MULTIPLE_PROJECTS (line 13) | const USE_MULTIPLE_PROJECTS = true; constant USE_VOICE_FEATURE (line 14) | const USE_VOICE_FEATURE = false; constant USE_TRANSFER_CONTROL_OPTIONS (line 15) | const USE_TRANSFER_CONTROL_OPTIONS = false; constant USE_PRODUCT_TOUR (line 16) | const USE_PRODUCT_TOUR = false; constant SHOW_COPILOT_MARQUEE (line 17) | const SHOW_COPILOT_MARQUEE = false; constant SHOW_PROMPTS_SECTION (line 18) | const SHOW_PROMPTS_SECTION = true; constant SHOW_DARK_MODE_TOGGLE (line 19) | const SHOW_DARK_MODE_TOGGLE = false; constant SHOW_VISUALIZATION (line 20) | const SHOW_VISUALIZATION = false; constant SHOW_COMMUNITY_PUBLISH (line 23) | const SHOW_COMMUNITY_PUBLISH = false; FILE: apps/rowboat/app/lib/mcp.ts function getMcpClient (line 6) | async function getMcpClient(serverUrl: string, serverName: string): Prom... FILE: apps/rowboat/app/lib/types/types.ts type WithStringId (line 139) | type WithStringId = T & { _id: string }; function convertMcpServerToolToWorkflowTool (line 142) | function convertMcpServerToolToWorkflowTool( FILE: apps/rowboat/app/lib/types/voice_types.ts type TwilioConfigResponse (line 17) | interface TwilioConfigResponse { type InboundConfigResponse (line 22) | interface InboundConfigResponse { FILE: apps/rowboat/app/lib/types/workflow_types.ts function sanitizeTextWithMentions (line 121) | function sanitizeTextWithMentions( FILE: apps/rowboat/app/lib/utils.ts class PrefixLogger (line 3) | class PrefixLogger { method constructor (line 7) | constructor(prefix: string, parent: PrefixLogger | null = null) { method log (line 12) | log(...args: any[]) { method child (line 23) | child(childPrefix: string): PrefixLogger { FILE: apps/rowboat/app/loading.tsx function Loading (line 4) | function Loading() { FILE: apps/rowboat/app/new-chat-link.tsx function NewChatLink (line 3) | function NewChatLink({demo}: {demo: string}) { FILE: apps/rowboat/app/onboarding/app.tsx function App (line 12) | function App() { FILE: apps/rowboat/app/onboarding/layout.tsx function Layout (line 3) | function Layout({ FILE: apps/rowboat/app/onboarding/page.tsx function Page (line 8) | async function Page() { FILE: apps/rowboat/app/page.tsx function Home (line 7) | function Home() { FILE: apps/rowboat/app/projects/[projectId]/config/app.tsx function Section (line 20) | function Section({ function SectionRow (line 33) | function SectionRow({ function LeftLabel (line 41) | function LeftLabel({ function RightContent (line 49) | function RightContent({ function BasicSettingsSection (line 57) | function BasicSettingsSection({ function SecretSection (line 107) | function SecretSection({ function WebhookUrlSection (line 184) | function WebhookUrlSection({ function DeleteProjectSection (line 288) | function DeleteProjectSection({ function ApiKeyDisplay (line 376) | function ApiKeyDisplay({ apiKey }: { apiKey: string }) { function ConfigApp (line 407) | function ConfigApp({ function SimpleConfigApp (line 429) | function SimpleConfigApp({ FILE: apps/rowboat/app/projects/[projectId]/config/components/project.tsx function Section (line 24) | function Section({ function SectionRow (line 46) | function SectionRow({ function LeftLabel (line 54) | function LeftLabel({ function RightContent (line 62) | function RightContent({ function ProjectNameSection (line 70) | function ProjectNameSection({ function ProjectIdSection (line 117) | function ProjectIdSection({ projectId }: { projectId: string }) { function SecretSection (line 133) | function SecretSection({ projectId }: { projectId: string }) { function ApiKeyDisplay (line 202) | function ApiKeyDisplay({ apiKey, onDelete }: { apiKey: string; onDelete:... function ApiKeysSection (line 232) | function ApiKeysSection({ projectId }: { projectId: string }) { type ConnectedToolkit (line 419) | interface ConnectedToolkit { function DisconnectToolkitsSection (line 426) | function DisconnectToolkitsSection({ projectId, onProjectConfigUpdated }: { function DeleteProjectSection (line 685) | function DeleteProjectSection({ projectId }: { projectId: string }) { function ProjectSection (line 793) | function ProjectSection({ function SimpleProjectSection (line 811) | function SimpleProjectSection({ FILE: apps/rowboat/app/projects/[projectId]/config/components/voice.tsx function PhoneNumberSection (line 15) | function PhoneNumberSection({ function AccountSidSection (line 48) | function AccountSidSection({ function AuthTokenSection (line 81) | function AuthTokenSection({ function LabelSection (line 114) | function LabelSection({ function VoiceSection (line 147) | function VoiceSection({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/config/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/conversations/[conversationId]/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/conversations/components/conversation-view.tsx function TurnContainer (line 14) | function TurnContainer({ turn, index, projectId }: { turn: z.infer; function ConversationsList (line 15) | function ConversationsList({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/conversations/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/copilot/app.tsx function getAppliedChangeKey (line 26) | function getAppliedChangeKey(messageIndex: number, actionIndex: number, ... type AppProps (line 30) | interface AppProps { function handleNewChat (line 358) | function handleNewChat() { function handleCopyJson (line 363) | function handleCopyJson(data: { messages: any[] }) { FILE: apps/rowboat/app/projects/[projectId]/copilot/components/TriggerSetupModal.tsx type TriggerSetupModalProps (line 17) | interface TriggerSetupModalProps { type Toolkit (line 27) | type Toolkit = z.infer; type TriggerType (line 28) | type TriggerType = z.infer; type ProjectConfig (line 29) | type ProjectConfig = z.infer; function TriggerSetupModal (line 31) | function TriggerSetupModal({ FILE: apps/rowboat/app/projects/[projectId]/copilot/components/actions.tsx function Action (line 22) | function Action({ function ActionSummary (line 259) | function ActionSummary() { function ActionHeader (line 270) | function ActionHeader() { function ActionField (line 284) | function ActionField({ function StreamingAction (line 383) | function StreamingAction({ FILE: apps/rowboat/app/projects/[projectId]/copilot/components/messages.tsx type CopilotTriggerType (line 16) | type CopilotTriggerType = z.infer; function enrich (line 33) | function enrich(response: string): z.infer { function UserMessage (line 125) | function UserMessage({ content }: { content: string }) { function InternalAssistantMessage (line 141) | function InternalAssistantMessage({ content }: { content: string }) { function AssistantMessage (line 184) | function AssistantMessage({ function AssistantMessageLoading (line 578) | function AssistantMessageLoading({ currentStatus }: { currentStatus: 'th... function Messages (line 598) | function Messages({ FILE: apps/rowboat/app/projects/[projectId]/copilot/components/use-trigger-actions.ts type ScheduledJobActionsModule (line 8) | type ScheduledJobActionsModule = typeof import('@/app/actions/scheduled-... type RecurringJobActionsModule (line 9) | type RecurringJobActionsModule = typeof import('@/app/actions/recurring-... type ComposioActionsModule (line 10) | type ComposioActionsModule = typeof import('@/app/actions/composio.actio... type CopilotTrigger (line 12) | type CopilotTrigger = z.infer; type CopilotAction (line 13) | type CopilotAction = z.infer['... type TriggerSetupModalState (line 15) | interface TriggerSetupModalState { type UseCopilotTriggerActionsParams (line 24) | interface UseCopilotTriggerActionsParams { type UseCopilotTriggerActionsResult (line 31) | interface UseCopilotTriggerActionsResult { function loadScheduledJobActions (line 43) | function loadScheduledJobActions(): Promise { function loadRecurringJobActions (line 50) | function loadRecurringJobActions(): Promise { function loadComposioActions (line 57) | function loadComposioActions(): Promise { type TriggerInput (line 88) | type TriggerInput = z.infer; function useCopilotTriggerActions (line 123) | function useCopilotTriggerActions({ FILE: apps/rowboat/app/projects/[projectId]/copilot/use-copilot.tsx type UseCopilotParams (line 10) | interface UseCopilotParams { type UseCopilotResult (line 18) | interface UseCopilotResult { function useCopilot (line 34) | function useCopilot({ projectId, workflow, context, dataSources, trigger... FILE: apps/rowboat/app/projects/[projectId]/copilot/use-parsed-blocks.tsx type Block (line 3) | type Block = function parseMarkdown (line 9) | function parseMarkdown(markdown: string): Block[] { function useParsedBlocks (line 26) | function useParsedBlocks(text: string): Block[] { FILE: apps/rowboat/app/projects/[projectId]/entities/AgentGraphVisualizer.tsx function sanitizeId (line 7) | function sanitizeId(name: string): string { function generateMermaidFromWorkflow (line 11) | function generateMermaidFromWorkflow(workflow: any, isDark: boolean): st... function getCssVarValue (line 121) | function getCssVarValue(varName: string, fallback: string) { FILE: apps/rowboat/app/projects/[projectId]/entities/agent_config.tsx type TabType (line 34) | type TabType = 'instructions' | 'configurations'; function AgentConfig (line 36) | function AgentConfig({ function GenerateInstructionsModal (line 750) | function GenerateInstructionsModal({ function validateAgentName (line 893) | function validateAgentName(value: string, currentName?: string, usedName... FILE: apps/rowboat/app/projects/[projectId]/entities/datasource_config.tsx function DataSourceConfig (line 17) | function DataSourceConfig({ FILE: apps/rowboat/app/projects/[projectId]/entities/pipeline_config.tsx function PipelineConfig (line 14) | function PipelineConfig({ FILE: apps/rowboat/app/projects/[projectId]/entities/prompt_config.tsx function PromptConfig (line 20) | function PromptConfig({ FILE: apps/rowboat/app/projects/[projectId]/entities/tool_config.tsx function ParameterConfig (line 28) | function ParameterConfig({ function ToolConfig (line 154) | function ToolConfig({ FILE: apps/rowboat/app/projects/[projectId]/jobs/[jobId]/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/jobs/components/job-view.tsx function JobView (line 12) | function JobView({ projectId, jobId }: { projectId: string; jobId: strin... FILE: apps/rowboat/app/projects/[projectId]/jobs/components/jobs-list.tsx type ListedItem (line 12) | type ListedItem = z.infer; type JobsListProps (line 14) | interface JobsListProps { function JobsList (line 21) | function JobsList({ projectId, filters, showTitle = true, customTitle }:... FILE: apps/rowboat/app/projects/[projectId]/jobs/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/layout.tsx function Layout (line 1) | async function Layout({ FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/components/composio-trigger-deployment-view.tsx function ComposioTriggerDeploymentView (line 15) | function ComposioTriggerDeploymentView({ projectId, deploymentId }: { pr... FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/components/create-recurring-job-rule-form.tsx type FormMessage (line 15) | type FormMessage = { type BackButtonConfig (line 20) | type BackButtonConfig = type FormSubmitPayload (line 24) | type FormSubmitPayload = { type RecurringJobRuleFormBaseProps (line 29) | type RecurringJobRuleFormBaseProps = { function RecurringJobRuleFormBase (line 84) | function RecurringJobRuleFormBase({ function CreateRecurringJobRuleForm (line 336) | function CreateRecurringJobRuleForm({ function EditRecurringJobRuleForm (line 376) | function EditRecurringJobRuleForm({ FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/components/job-rules-tabs.tsx function JobRulesTabs (line 10) | function JobRulesTabs({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/components/recurring-job-rule-view.tsx function RecurringJobRuleView (line 16) | function RecurringJobRuleView({ projectId, ruleId }: { projectId: string... FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/components/recurring-job-rules-list.tsx type ListedItem (line 14) | type ListedItem = z.infer; function RecurringJobRulesList (line 16) | function RecurringJobRulesList({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/components/triggers-tab.tsx type TriggerDeployment (line 22) | type TriggerDeployment = z.infer; function TriggersTab (line 26) | function TriggersTab({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/recurring/[ruleId]/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/recurring/new/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/scheduled/[ruleId]/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/scheduled/components/create-scheduled-job-rule-form.tsx type FormMessage (line 16) | type FormMessage = { type BackButtonConfig (line 21) | type BackButtonConfig = type FormSubmitPayload (line 25) | type FormSubmitPayload = { type ScheduledJobRuleFormBaseProps (line 30) | type ScheduledJobRuleFormBaseProps = { function ScheduledJobRuleFormBase (line 76) | function ScheduledJobRuleFormBase({ function CreateScheduledJobRuleForm (line 292) | function CreateScheduledJobRuleForm({ projectId, onBack, hasExistingTrig... function EditScheduledJobRuleForm (line 333) | function EditScheduledJobRuleForm({ FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/scheduled/components/scheduled-job-rule-view.tsx function ScheduledJobRuleView (line 16) | function ScheduledJobRuleView({ projectId, ruleId }: { projectId: string... FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/scheduled/components/scheduled-job-rules-list.tsx type ListedItem (line 14) | type ListedItem = z.infer; function ScheduledJobRulesList (line 16) | function ScheduledJobRulesList({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/scheduled/new/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/manage-triggers/triggers/[deploymentId]/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/page.tsx function Page (line 4) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/playground/app.tsx function App (line 12) | function App({ FILE: apps/rowboat/app/projects/[projectId]/playground/components/chat.tsx function Chat (line 16) | function Chat({ FILE: apps/rowboat/app/projects/[projectId]/playground/components/feedback-modal.tsx type FeedbackModalProps (line 5) | interface FeedbackModalProps { function FeedbackModal (line 12) | function FeedbackModal({ isOpen, onClose, onSubmit, title = "Provide Fee... FILE: apps/rowboat/app/projects/[projectId]/playground/components/messages.tsx function UserMessage (line 14) | function UserMessage({ content }: { content: string }) { function InternalAssistantMessage (line 34) | function InternalAssistantMessage({ content, sender, latency, delta, sho... function AssistantMessage (line 145) | function AssistantMessage({ function TypingIndicator (line 232) | function TypingIndicator() { function ToolCalls (line 246) | function ToolCalls({ function ToolCall (line 294) | function ToolCall({ function TransferToAgentToolCall (line 362) | function TransferToAgentToolCall({ function ClientToolCall (line 410) | function ClientToolCall({ function ExpandableContent (line 661) | function ExpandableContent({ type MessageActionsMenuProps (line 732) | type MessageActionsMenuProps = { function MessageActionsMenu (line 747) | function MessageActionsMenu({ function Messages (line 791) | function Messages({ FILE: apps/rowboat/app/projects/[projectId]/playground/components/profile-context-box.tsx type ProfileContextBoxProps (line 6) | interface ProfileContextBoxProps { function ProfileContextBox (line 12) | function ProfileContextBox({ FILE: apps/rowboat/app/projects/[projectId]/playground/copilot-prompts.ts constant FIX_WORKFLOW_PROMPT (line 1) | const FIX_WORKFLOW_PROMPT = `There is an issue with this turn of chat (i... constant FIX_WORKFLOW_PROMPT_WITH_FEEDBACK (line 5) | const FIX_WORKFLOW_PROMPT_WITH_FEEDBACK = `There is an issue with this t... constant EXPLAIN_WORKFLOW_PROMPT_ASSISTANT (line 11) | const EXPLAIN_WORKFLOW_PROMPT_ASSISTANT = `Please explain why the assist... constant EXPLAIN_WORKFLOW_PROMPT_TOOL (line 13) | const EXPLAIN_WORKFLOW_PROMPT_TOOL = `Please explain why the following t... constant EXPLAIN_WORKFLOW_PROMPT_TRANSITION (line 15) | const EXPLAIN_WORKFLOW_PROMPT_TRANSITION = `Please explain why the follo... FILE: apps/rowboat/app/projects/[projectId]/sources/[sourceId]/page.tsx function Page (line 4) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/sources/[sourceId]/source-page.tsx function SourcePage (line 23) | function SourcePage({ FILE: apps/rowboat/app/projects/[projectId]/sources/components/delete.tsx function DeleteSource (line 6) | function DeleteSource({ FILE: apps/rowboat/app/projects/[projectId]/sources/components/files-source.tsx function FileListItem (line 13) | function FileListItem({ function PaginatedFileList (line 88) | function PaginatedFileList({ function FilesSource (line 170) | function FilesSource({ function formatFileSize (line 306) | function formatFileSize(bytes: number): string { FILE: apps/rowboat/app/projects/[projectId]/sources/components/scrape-source.tsx function UrlListItem (line 15) | function UrlListItem({ file, onDelete }: { function UrlList (line 54) | function UrlList({ sourceId, onDelete }: { function ScrapeSource (line 121) | function ScrapeSource({ FILE: apps/rowboat/app/projects/[projectId]/sources/components/section.tsx type SectionProps (line 3) | interface SectionProps { function Section (line 10) | function Section({ title, description, children, className }: SectionPro... function SectionRow (line 30) | function SectionRow({ children, className }: { children: ReactNode; clas... function SectionLabel (line 38) | function SectionLabel({ children, className }: { children: ReactNode; cl... function SectionContent (line 46) | function SectionContent({ children, className }: { children: ReactNode; ... FILE: apps/rowboat/app/projects/[projectId]/sources/components/self-updating-source-status.tsx function SelfUpdatingSourceStatus (line 8) | function SelfUpdatingSourceStatus({ FILE: apps/rowboat/app/projects/[projectId]/sources/components/shared.tsx function UrlList (line 1) | function UrlList({ urls }: { urls: string }) { function TableLabel (line 7) | function TableLabel({ children, className }: { children: React.ReactNode... function TableValue (line 11) | function TableValue({ children, className }: { children: React.ReactNode... FILE: apps/rowboat/app/projects/[projectId]/sources/components/source-status.tsx function SourceStatus (line 6) | function SourceStatus({ FILE: apps/rowboat/app/projects/[projectId]/sources/components/sources-list.tsx function SourcesList (line 15) | function SourcesList({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/sources/components/text-source.tsx function TextSource (line 11) | function TextSource({ FILE: apps/rowboat/app/projects/[projectId]/sources/components/toggle-source.tsx function ToggleSource (line 6) | function ToggleSource({ FILE: apps/rowboat/app/projects/[projectId]/sources/components/web-recrawl.tsx function Recrawl (line 5) | function Recrawl({ FILE: apps/rowboat/app/projects/[projectId]/sources/new/form.tsx function Form (line 12) | function Form({ FILE: apps/rowboat/app/projects/[projectId]/sources/new/page.tsx function Page (line 11) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/sources/page.tsx function Page (line 9) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/tools/components/AddWebhookTool.tsx type AddWebhookToolProps (line 9) | interface AddWebhookToolProps { function AddWebhookTool (line 14) | function AddWebhookTool({ projectId, onAddTool }: AddWebhookToolProps) { FILE: apps/rowboat/app/projects/[projectId]/tools/components/ComposioToolsPanel.tsx type ToolType (line 15) | type ToolType = z.infer; type ToolListResponse (line 16) | type ToolListResponse = z.infer; type ServerList (line 21) | type ServerList = Record; type CustomMcpServersProps (line 23) | type CustomMcpServersProps = { function CustomMcpServers (line 28) | function CustomMcpServers({ tools: workflowTools, onAddTool }: CustomMcp... FILE: apps/rowboat/app/projects/[projectId]/tools/components/MCPServersCommon.tsx type McpServerType (line 13) | type McpServerType = z.infer; type McpToolType (line 14) | type McpToolType = z.infer; type ServerLogoProps (line 16) | interface ServerLogoProps { function ServerLogo (line 22) | function ServerLogo({ serverName, className = "", fallback }: ServerLogo... type ServerOperationBannerProps (line 60) | interface ServerOperationBannerProps { function ServerOperationBanner (line 65) | function ServerOperationBanner({ serverName, operation }: ServerOperatio... type ToolCardProps (line 105) | interface ToolCardProps { function ToolCard (line 115) | function ToolCard({ type ServerCardProps (line 190) | interface ServerCardProps { function ServerCard (line 204) | function ServerCard({ type ToolManagementPanelProps (line 364) | interface ToolManagementPanelProps { function ToolManagementPanel (line 376) | function ToolManagementPanel({ FILE: apps/rowboat/app/projects/[projectId]/tools/components/McpToolsPanel.tsx type McpToolsPanelProps (line 10) | interface McpToolsPanelProps { function McpToolsPanel (line 24) | function McpToolsPanel({ FILE: apps/rowboat/app/projects/[projectId]/tools/components/SelectComposioToolkit.tsx type ToolkitType (line 18) | type ToolkitType = z.infer; type ToolkitListResponse (line 19) | type ToolkitListResponse = z.infer; type SelectComposioToolkitProps (line 22) | interface SelectComposioToolkitProps { function SelectComposioToolkit (line 31) | function SelectComposioToolkit({ FILE: apps/rowboat/app/projects/[projectId]/tools/components/ServerCard.tsx type ServerCardProps (line 14) | type ServerCardProps = { function ServerCard (line 36) | function ServerCard({ FILE: apps/rowboat/app/projects/[projectId]/tools/components/ToolkitAuthModal.tsx type ToolkitAuthModalProps (line 14) | interface ToolkitAuthModalProps { function ToolkitAuthModal (line 22) | function ToolkitAuthModal({ FILE: apps/rowboat/app/projects/[projectId]/tools/components/ToolkitCard.tsx type ToolkitType (line 12) | type ToolkitType = z.infer; type ToolkitCardProps (line 28) | interface ToolkitCardProps { function ToolkitCard (line 36) | function ToolkitCard({ FILE: apps/rowboat/app/projects/[projectId]/tools/components/ToolsConfig.tsx type ToolsConfigProps (line 14) | interface ToolsConfigProps { type ToolkitType (line 22) | type ToolkitType = z.infer; function ToolsConfig (line 24) | function ToolsConfig({ FILE: apps/rowboat/app/projects/[projectId]/tools/components/WebhookConfig.tsx function WebhookConfig (line 9) | function WebhookConfig({ projectId }: { projectId: string }) { FILE: apps/rowboat/app/projects/[projectId]/tools/oauth/callback/page.tsx function OAuthCallback (line 5) | function OAuthCallback() { FILE: apps/rowboat/app/projects/[projectId]/workflow/app.tsx function App (line 19) | function App({ FILE: apps/rowboat/app/projects/[projectId]/workflow/components/ComposioTriggerTypesPanel.tsx type ComposioTriggerTypesPanelProps (line 12) | interface ComposioTriggerTypesPanelProps { type TriggerType (line 19) | type TriggerType = z.infer; function ComposioTriggerTypesPanel (line 21) | function ComposioTriggerTypesPanel({ FILE: apps/rowboat/app/projects/[projectId]/workflow/components/DataSourcesModal.tsx type DataSourcesModalProps (line 12) | interface DataSourcesModalProps { function DataSourcesModal (line 22) | function DataSourcesModal({ FILE: apps/rowboat/app/projects/[projectId]/workflow/components/ToolsModal.tsx type ToolsModalProps (line 9) | interface ToolsModalProps { function ToolsModal (line 18) | function ToolsModal({ FILE: apps/rowboat/app/projects/[projectId]/workflow/components/TopBar.tsx type TopBarProps (line 12) | interface TopBarProps { function TopBar (line 64) | function TopBar({ FILE: apps/rowboat/app/projects/[projectId]/workflow/components/TriggerConfigForm.tsx type TriggerConfigFormProps (line 10) | interface TriggerConfigFormProps { type JsonSchemaProperty (line 19) | interface JsonSchemaProperty { type JsonSchema (line 27) | interface JsonSchema { function TriggerConfigForm (line 34) | function TriggerConfigForm({ FILE: apps/rowboat/app/projects/[projectId]/workflow/config_list.tsx function List (line 3) | function List({ function ListItem (line 22) | function ListItem({ FILE: apps/rowboat/app/projects/[projectId]/workflow/entity_list.tsx constant GAP_SIZE (line 32) | const GAP_SIZE = 4; constant PANEL_RATIOS (line 35) | const PANEL_RATIOS = { type EntityListProps (line 47) | interface EntityListProps { type EmptyStateProps (line 93) | interface EmptyStateProps { type ServerCardProps (line 221) | interface ServerCardProps { type ComposioToolkit (line 302) | type ComposioToolkit = { type PipelineCardProps (line 309) | interface PipelineCardProps { function handleToolSelection (line 659) | function handleToolSelection(name: string) { function handleSelectDataSource (line 663) | function handleSelectDataSource(id: string) { function AgentDropdown (line 1350) | function AgentDropdown({ function EntityDropdown (line 1396) | function EntityDropdown({ type ComposioCardProps (line 1424) | interface ComposioCardProps { type AgentTypeModalProps (line 1842) | interface AgentTypeModalProps { function AgentTypeModal (line 1849) | function AgentTypeModal({ isOpen, onClose, onConfirm, onCreatePipeline }... type AddVariableModalProps (line 2026) | interface AddVariableModalProps { function AddVariableModal (line 2035) | function AddVariableModal({ isOpen, onClose, onConfirm, initialName, ini... FILE: apps/rowboat/app/projects/[projectId]/workflow/error.tsx function Error (line 4) | function Error(props: { error: Error }) { FILE: apps/rowboat/app/projects/[projectId]/workflow/loading.tsx function Loading (line 4) | function Loading() { FILE: apps/rowboat/app/projects/[projectId]/workflow/page.tsx constant DEFAULT_MODEL (line 24) | const DEFAULT_MODEL = process.env.PROVIDER_DEFAULT_MODEL || "gpt-4.1"; function Page (line 30) | async function Page( FILE: apps/rowboat/app/projects/[projectId]/workflow/preview-modal.tsx type PreviewModalContextType (line 10) | type PreviewModalContextType = { function PreviewModalProvider (line 30) | function PreviewModalProvider({ children }: { children: React.ReactNode ... function PreviewModal (line 83) | function PreviewModal({ FILE: apps/rowboat/app/projects/[projectId]/workflow/trigger-transform.ts constant COPILOT_TRIGGER_LIMIT (line 5) | const COPILOT_TRIGGER_LIMIT = 100; constant DEFAULT_TRIGGER_FETCH_LIMIT (line 7) | const DEFAULT_TRIGGER_FETCH_LIMIT = COPILOT_TRIGGER_LIMIT; type CopilotTrigger (line 9) | type CopilotTrigger = z.infer; type TransformParams (line 11) | interface TransformParams { function transformTriggersForCopilot (line 34) | function transformTriggersForCopilot({ FILE: apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx constant VIEW_MODE_RATIOS (line 51) | const VIEW_MODE_RATIOS = { constant PANEL_RATIOS (line 81) | const PANEL_RATIOS = { type StateItem (line 92) | interface StateItem { type State (line 109) | interface State { type Action (line 116) | type Action = { function reducer (line 255) | function reducer(state: State, action: Action): State { function useEntitySelection (line 957) | function useEntitySelection() { function WorkflowEditor (line 963) | function WorkflowEditor({ FILE: apps/rowboat/app/projects/app.tsx function App (line 6) | function App() { FILE: apps/rowboat/app/projects/components/build-assistant-section.tsx constant SHOW_PREBUILT_CARDS (line 30) | const SHOW_PREBUILT_CARDS = process.env.NEXT_PUBLIC_SHOW_PREBUILT_CARDS ... constant ITEMS_PER_PAGE (line 34) | const ITEMS_PER_PAGE = 10; function BuildAssistantSection (line 55) | function BuildAssistantSection() { FILE: apps/rowboat/app/projects/components/create-project.tsx type TabState (line 67) | type TabState = typeof TabType[keyof typeof TabType]; type CreateProjectProps (line 128) | interface CreateProjectProps { function CreateProject (line 135) | function CreateProject({ defaultName, onOpenProjectPane, isProjectPaneOp... FILE: apps/rowboat/app/projects/components/custom-prompt-card.tsx type CustomPromptCardProps (line 7) | interface CustomPromptCardProps { function CustomPromptCard (line 15) | function CustomPromptCard({ FILE: apps/rowboat/app/projects/components/project-list.tsx type ProjectListProps (line 11) | interface ProjectListProps { constant ITEMS_PER_PAGE (line 17) | const ITEMS_PER_PAGE = 10; function ProjectList (line 19) | function ProjectList({ projects, isLoading, searchQuery }: ProjectListPr... FILE: apps/rowboat/app/projects/components/search-input.tsx type TimeFilter (line 6) | type TimeFilter = 'all' | 'today' | 'week' | 'month'; type SearchInputProps (line 8) | interface SearchInputProps { function SearchInput (line 16) | function SearchInput({ FILE: apps/rowboat/app/projects/components/search-projects.tsx type SearchProjectsProps (line 8) | interface SearchProjectsProps { function SearchProjects (line 17) | function SearchProjects({ FILE: apps/rowboat/app/projects/components/submit-button.tsx function Submit (line 8) | function Submit() { FILE: apps/rowboat/app/projects/components/templates-section.tsx type TemplatesSectionProps (line 9) | interface TemplatesSectionProps {} function TemplatesSection (line 11) | function TemplatesSection({}: TemplatesSectionProps) { FILE: apps/rowboat/app/projects/layout.tsx function Layout (line 6) | function Layout({ FILE: apps/rowboat/app/projects/layout/components/app-layout.tsx type AppLayoutProps (line 9) | interface AppLayoutProps { function AppLayout (line 15) | function AppLayout({ children, useAuth = false, useBilling = false }: Ap... FILE: apps/rowboat/app/projects/layout/components/menu-item.tsx type MenuItemProps (line 3) | interface MenuItemProps { function MenuItem (line 10) | function MenuItem({ FILE: apps/rowboat/app/projects/layout/components/sidebar.tsx type SidebarProps (line 34) | interface SidebarProps { constant EXPANDED_ICON_SIZE (line 42) | const EXPANDED_ICON_SIZE = 20; constant COLLAPSED_ICON_SIZE (line 43) | const COLLAPSED_ICON_SIZE = 20; function Sidebar (line 45) | function Sidebar({ projectId, useAuth, collapsed = false, onToggleCollap... FILE: apps/rowboat/app/projects/layout/index.tsx function Layout (line 4) | async function Layout({ FILE: apps/rowboat/app/projects/layout/menu.tsx type NavLinkProps (line 7) | interface NavLinkProps { function NavLink (line 15) | function NavLink({ href, label, icon, collapsed, selected = false }: Nav... function Menu (line 29) | function Menu({ FILE: apps/rowboat/app/projects/layout/nav.tsx function Nav (line 10) | function Nav({ FILE: apps/rowboat/app/projects/lib/project-creation-utils.ts type CreateProjectOptions (line 5) | interface CreateProjectOptions { type CreateProjectFromJsonOptions (line 13) | interface CreateProjectFromJsonOptions { function createProjectWithOptions (line 23) | async function createProjectWithOptions(options: CreateProjectOptions): ... function createProjectFromJsonWithOptions (line 73) | async function createProjectFromJsonWithOptions(options: CreateProjectFr... function createProjectFromTemplate (line 112) | async function createProjectFromTemplate( FILE: apps/rowboat/app/projects/page.tsx function Page (line 4) | async function Page() { FILE: apps/rowboat/app/providers.tsx function Providers (line 7) | function Providers({ className, children }: { className: string, childre... FILE: apps/rowboat/app/providers/help-modal-provider.tsx type HelpModalContextType (line 6) | interface HelpModalContextType { function HelpModalProvider (line 13) | function HelpModalProvider({ children }: { children: ReactNode }) { function useHelpModal (line 36) | function useHelpModal() { FILE: apps/rowboat/app/providers/theme-provider.tsx type Theme (line 5) | type Theme = 'dark' | 'light' type ThemeProviderProps (line 7) | type ThemeProviderProps = { type ThemeProviderState (line 12) | type ThemeProviderState = { function ThemeProvider (line 19) | function ThemeProvider({ function useTheme (line 54) | function useTheme() { FILE: apps/rowboat/app/scripts/mongodb-drop-indexes.ts function main (line 5) | async function main() { FILE: apps/rowboat/app/scripts/mongodb-ensure-indexes.ts function main (line 5) | async function main() { FILE: apps/rowboat/app/scripts/rag-worker.ts constant FILE_PARSING_PROVIDER_API_KEY (line 23) | const FILE_PARSING_PROVIDER_API_KEY = process.env.FILE_PARSING_PROVIDER_... constant FILE_PARSING_PROVIDER_BASE_URL (line 24) | const FILE_PARSING_PROVIDER_BASE_URL = process.env.FILE_PARSING_PROVIDER... constant FILE_PARSING_MODEL (line 25) | const FILE_PARSING_MODEL = process.env.FILE_PARSING_MODEL || 'gpt-4.1'; function retryable (line 50) | async function retryable(fn: () => Promise, maxAttempts: number = ... function runProcessFilePipeline (line 64) | async function runProcessFilePipeline(_logger: PrefixLogger, usageTracke... function runScrapePipeline (line 179) | async function runScrapePipeline(_logger: PrefixLogger, usageTracker: Us... function runProcessTextPipeline (line 248) | async function runProcessTextPipeline(_logger: PrefixLogger, usageTracke... function runDeletionPipeline (line 300) | async function runDeletionPipeline(_logger: PrefixLogger, job: z.infer void }) { FILE: apps/rowboat/components/common/copy-button.tsx function CopyButton (line 6) | function CopyButton({ FILE: apps/rowboat/components/common/help-modal.tsx type HelpModalProps (line 4) | interface HelpModalProps { function HelpModal (line 10) | function HelpModal({ isOpen, onClose, onStartTour }: HelpModalProps) { FILE: apps/rowboat/components/common/panel-common.tsx function ActionButton (line 7) | function ActionButton({ type PanelProps (line 34) | interface PanelProps { function Panel (line 50) | function Panel({ FILE: apps/rowboat/components/common/product-tour.tsx type TourStep (line 6) | interface TourStep { constant TOUR_STEPS (line 12) | const TOUR_STEPS: TourStep[] = [ function TourBackdrop (line 60) | function TourBackdrop({ targetElement }: { targetElement: Element | null... function ProductTour (line 138) | function ProductTour({ FILE: apps/rowboat/components/common/project-wide-change-confirmation-modal.tsx type ProjectWideChangeConfirmationModalProps (line 6) | interface ProjectWideChangeConfirmationModalProps { function ProjectWideChangeConfirmationModal (line 17) | function ProjectWideChangeConfirmationModal({ FILE: apps/rowboat/components/common/section-card.tsx type SectionCardProps (line 4) | interface SectionCardProps { function SectionCard (line 19) | function SectionCard({ icon, title, children, labelWidth = 'md:w-32', cl... FILE: apps/rowboat/components/common/tool-param-card.tsx function ToolParamCard (line 10) | function ToolParamCard({ FILE: apps/rowboat/components/ui/button.tsx type ButtonProps (line 4) | interface ButtonProps extends ButtonHTMLAttributes { FILE: apps/rowboat/components/ui/dropdown.tsx type DropdownOption (line 4) | interface DropdownOption { type DropdownProps (line 11) | interface DropdownProps extends Omit { FILE: apps/rowboat/components/ui/modal.tsx type ModalProps (line 7) | interface ModalProps { function Modal (line 14) | function Modal({ isOpen, onClose, title, children }: ModalProps) { FILE: apps/rowboat/components/ui/page-header.tsx type PageHeaderProps (line 1) | interface PageHeaderProps { function PageHeader (line 7) | function PageHeader({ title, description, children }: PageHeaderProps) { FILE: apps/rowboat/components/ui/page-heading.tsx type PageHeadingProps (line 4) | interface PageHeadingProps { function PageHeading (line 9) | function PageHeading({ title, description }: PageHeadingProps) { FILE: apps/rowboat/components/ui/picture-img.tsx type SourceProps (line 3) | interface SourceProps { type PictureImgProps (line 10) | interface PictureImgProps extends React.ImgHTMLAttributes): ... function createContextFilterForAgent (line 237) | function createContextFilterForAgent(agentConfig: z.infer[]): AgentInp... function getStartOfTurnAgentName (line 213) | function getStartOfTurnAgentName( function createTransferEvents (line 287) | function createTransferEvents( class AgentTransferCounter (line 317) | class AgentTransferCounter { method increment (line 320) | increment(fromAgent: string, toAgent: string): void { method get (line 325) | get(fromAgent: string, toAgent: string): number { function ensureSystemMessage (line 331) | function ensureSystemMessage(logger: PrefixLogger, messages: z.infer): { function createAgentsWithNativeHandoffs (line 406) | function createAgentsWithNativeHandoffs( function createAgentsLegacy (line 551) | function createAgentsLegacy( function getGiveUpControlInstructions (line 693) | function getGiveUpControlInstructions( function maybeInjectGiveUpControlInstructions (line 715) | function maybeInjectGiveUpControlInstructions( function handlePipelineAgentExecution (line 1187) | function handlePipelineAgentExecution( function getResponse (line 1550) | async function getResponse( FILE: apps/rowboat/src/application/lib/agents-runtime/pipeline-state-manager.ts type PipelineExecutionResult (line 9) | interface PipelineExecutionResult { class PipelineStateManager (line 19) | class PipelineStateManager { method constructor (line 23) | constructor(logger: PrefixLogger) { method initializePipelineExecution (line 28) | initializePipelineExecution( method handlePipelineExecution (line 59) | async handlePipelineExecution( method storePipelineState (line 175) | storePipelineState(agentName: string, state: z.infer( function listToolkits (line 78) | async function listToolkits(cursor: string | null = null): Promise> { function listAuthConfigs (line 215) | async function listAuthConfigs(toolkitSlug: string, cursor: string | nul... function createAuthConfig (line 229) | async function createAuthConfig(request: z.infer | ... function getCurrentWorkflowPrompt (line 68) | function getCurrentWorkflowPrompt(workflow: z.infer): s... function getDataSourcesPrompt (line 76) | function getDataSourcesPrompt(dataSources: z.infer): Promise { FILE: apps/rowboat/src/application/policies/usage-quota.policy.interface.ts type IUsageQuotaPolicy (line 3) | interface IUsageQuotaPolicy { FILE: apps/rowboat/src/application/repositories/api-keys.repository.interface.ts type IApiKeysRepository (line 11) | interface IApiKeysRepository { FILE: apps/rowboat/src/application/repositories/composio-trigger-deployments.repository.interface.ts type IComposioTriggerDeploymentsRepository (line 30) | interface IComposioTriggerDeploymentsRepository { FILE: apps/rowboat/src/application/repositories/conversations.repository.interface.ts type IConversationsRepository (line 27) | interface IConversationsRepository { FILE: apps/rowboat/src/application/repositories/data-source-docs.repository.interface.ts type IDataSourceDocsRepository (line 34) | interface IDataSourceDocsRepository { FILE: apps/rowboat/src/application/repositories/data-sources.repository.interface.ts type IDataSourcesRepository (line 52) | interface IDataSourcesRepository { FILE: apps/rowboat/src/application/repositories/jobs.repository.interface.ts type IJobsRepository (line 65) | interface IJobsRepository { FILE: apps/rowboat/src/application/repositories/project-members.repository.interface.ts type IProjectMembersRepository (line 10) | interface IProjectMembersRepository { FILE: apps/rowboat/src/application/repositories/projects.repository.interface.ts type IProjectsRepository (line 40) | interface IProjectsRepository { FILE: apps/rowboat/src/application/repositories/recurring-job-rules.repository.interface.ts type IRecurringJobRulesRepository (line 36) | interface IRecurringJobRulesRepository { FILE: apps/rowboat/src/application/repositories/scheduled-job-rules.repository.interface.ts type IScheduledJobRulesRepository (line 45) | interface IScheduledJobRulesRepository { FILE: apps/rowboat/src/application/repositories/users.repository.interface.ts type IUsersRepository (line 9) | interface IUsersRepository { FILE: apps/rowboat/src/application/services/cache.service.interface.ts type ICacheService (line 8) | interface ICacheService { FILE: apps/rowboat/src/application/services/pub-sub.service.interface.ts type Subscription (line 8) | interface Subscription { type IPubSubService (line 64) | interface IPubSubService { FILE: apps/rowboat/src/application/services/temp-binary-cache.ts type Entry (line 3) | type Entry = { class TempBinaryCache (line 9) | class TempBinaryCache { method constructor (line 13) | constructor() { method startCleanup (line 17) | private startCleanup() { method put (line 28) | put(buf: Buffer, mimeType: string, ttlMs: number = 10 * 60 * 1000): st... method get (line 35) | get(id: string): { buf: Buffer; mimeType: string } | undefined { FILE: apps/rowboat/src/application/services/uploads-storage.service.interface.ts type IUploadsStorageService (line 1) | interface IUploadsStorageService { FILE: apps/rowboat/src/application/use-cases/api-keys/create-api-key.use-case.ts class MaxKeysReachedError (line 15) | class MaxKeysReachedError extends BadRequestError { method constructor (line 16) | constructor(message?: string, options?: ErrorOptions) { type ICreateApiKeyUseCase (line 21) | interface ICreateApiKeyUseCase { class CreateApiKeyUseCase (line 25) | class CreateApiKeyUseCase implements ICreateApiKeyUseCase { method constructor (line 29) | constructor({ method execute (line 40) | async execute(data: z.infer): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/api-keys/list-api-keys.use-case.ts type IListApiKeysUseCase (line 13) | interface IListApiKeysUseCase { class ListApiKeysUseCase (line 17) | class ListApiKeysUseCase implements IListApiKeysUseCase { method constructor (line 21) | constructor({ method execute (line 32) | async execute(data: z.infer): Promise): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/composio-trigger-deployments/fetch-composio-trigger-deployment.use-case.ts type IFetchComposioTriggerDeploymentUseCase (line 15) | interface IFetchComposioTriggerDeploymentUseCase { class FetchComposioTriggerDeploymentUseCase (line 19) | class FetchComposioTriggerDeploymentUseCase implements IFetchComposioTri... method constructor (line 24) | constructor({ method execute (line 38) | async execute(request: z.infer): Promise): Promise): Promise): Promise { method verifySignature (line 163) | private verifySignature(headers: Record, payload: stri... FILE: apps/rowboat/src/application/use-cases/conversations/create-cached-turn.use-case.ts type ICreateCachedTurnUseCase (line 18) | interface ICreateCachedTurnUseCase { class CreateCachedTurnUseCase (line 22) | class CreateCachedTurnUseCase implements ICreateCachedTurnUseCase { method constructor (line 28) | constructor({ method execute (line 45) | async execute(data: z.infer): Promise<{ key: strin... FILE: apps/rowboat/src/application/use-cases/conversations/create-conversation.use-case.ts type ICreateConversationUseCase (line 21) | interface ICreateConversationUseCase { class CreateConversationUseCase (line 25) | class CreateConversationUseCase implements ICreateConversationUseCase { method constructor (line 31) | constructor({ method execute (line 48) | async execute(data: z.infer): Promise): Promise): Promise): Promise): AsyncGenerator): Promise<{ key: strin... FILE: apps/rowboat/src/application/use-cases/copilot/run-copilot-cached-turn.use-case.ts type IRunCopilotCachedTurnUseCase (line 18) | interface IRunCopilotCachedTurnUseCase { class RunCopilotCachedTurnUseCase (line 22) | class RunCopilotCachedTurnUseCase implements IRunCopilotCachedTurnUseCase { method constructor (line 27) | constructor({ method execute (line 41) | async *execute(data: z.infer): AsyncGenerator): Promise { FILE: apps/rowboat/src/application/use-cases/data-sources/create-data-source.use-case.ts type ICreateDataSourceUseCase (line 14) | interface ICreateDataSourceUseCase { class CreateDataSourceUseCase (line 18) | class CreateDataSourceUseCase implements ICreateDataSourceUseCase { method constructor (line 23) | constructor({ method execute (line 37) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/data-sources/delete-doc-from-data-source.use-case.ts type IDeleteDocFromDataSourceUseCase (line 15) | interface IDeleteDocFromDataSourceUseCase { class DeleteDocFromDataSourceUseCase (line 19) | class DeleteDocFromDataSourceUseCase implements IDeleteDocFromDataSource... method constructor (line 25) | constructor({ method execute (line 42) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/application/use-cases/data-sources/fetch-data-source.use-case.ts type IFetchDataSourceUseCase (line 15) | interface IFetchDataSourceUseCase { class FetchDataSourceUseCase (line 19) | class FetchDataSourceUseCase implements IFetchDataSourceUseCase { method constructor (line 24) | constructor({ method execute (line 38) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/data-sources/get-upload-urls-for-files.use-case.ts type IGetUploadUrlsForFilesUseCase (line 17) | interface IGetUploadUrlsForFilesUseCase { class GetUploadUrlsForFilesUseCase (line 21) | class GetUploadUrlsForFilesUseCase implements IGetUploadUrlsForFilesUseC... method constructor (line 28) | constructor({ method execute (line 48) | async execute(request: z.infer): Promise<{ fileId:... FILE: apps/rowboat/src/application/use-cases/data-sources/list-data-sources.use-case.ts type IListDataSourcesUseCase (line 14) | interface IListDataSourcesUseCase { class ListDataSourcesUseCase (line 18) | class ListDataSourcesUseCase implements IListDataSourcesUseCase { method constructor (line 23) | constructor({ method execute (line 37) | async execute(request: z.infer): Promise): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/data-sources/toggle-data-source.use-case.ts type IToggleDataSourceUseCase (line 16) | interface IToggleDataSourceUseCase { class ToggleDataSourceUseCase (line 20) | class ToggleDataSourceUseCase implements IToggleDataSourceUseCase { method constructor (line 25) | constructor({ method execute (line 39) | async execute(request: z.infer): Promise): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/projects/create-composio-managed-connected-account.use-case.ts type ICreateComposioManagedConnectedAccountUseCase (line 20) | interface ICreateComposioManagedConnectedAccountUseCase { class CreateComposioManagedConnectedAccountUseCase (line 24) | class CreateComposioManagedConnectedAccountUseCase implements ICreateCom... method constructor (line 29) | constructor({ method execute (line 43) | async execute(request: z.infer): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/projects/delete-project.use-case.ts type IDeleteProjectUseCase (line 24) | interface IDeleteProjectUseCase { class DeleteProjectUseCase (line 28) | class DeleteProjectUseCase implements IDeleteProjectUseCase { method constructor (line 41) | constructor({ projectsRepository, projectMembersRepository, projectAct... method execute (line 67) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/application/use-cases/projects/fetch-project.use-case.ts type IFetchProjectUseCase (line 15) | interface IFetchProjectUseCase { class FetchProjectUseCase (line 19) | class FetchProjectUseCase implements IFetchProjectUseCase { method constructor (line 25) | constructor({ method execute (line 42) | async execute(request: z.infer): Promise): Promise): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/projects/revert-to-live-workflow.use-case.ts type IRevertToLiveWorkflowUseCase (line 14) | interface IRevertToLiveWorkflowUseCase { class RevertToLiveWorkflowUseCase (line 18) | class RevertToLiveWorkflowUseCase implements IRevertToLiveWorkflowUseCase { method constructor (line 23) | constructor({ method execute (line 37) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/application/use-cases/projects/rotate-secret.use-case.ts type IRotateSecretUseCase (line 14) | interface IRotateSecretUseCase { class RotateSecretUseCase (line 18) | class RotateSecretUseCase implements IRotateSecretUseCase { method constructor (line 23) | constructor({ projectsRepository, projectActionAuthorizationPolicy, us... method execute (line 29) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/application/use-cases/projects/sync-connected-account.use-case.ts type ISyncConnectedAccountUseCase (line 18) | interface ISyncConnectedAccountUseCase { class SyncConnectedAccountUseCase (line 22) | class SyncConnectedAccountUseCase implements ISyncConnectedAccountUseCase { method constructor (line 27) | constructor({ method execute (line 41) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/projects/update-live-workflow.use-case.ts type IUpdateLiveWorkflowUseCase (line 15) | interface IUpdateLiveWorkflowUseCase { class UpdateLiveWorkflowUseCase (line 19) | class UpdateLiveWorkflowUseCase implements IUpdateLiveWorkflowUseCase { method constructor (line 24) | constructor({ method execute (line 38) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/application/use-cases/projects/update-project-name.use-case.ts type IUpdateProjectNameUseCase (line 14) | interface IUpdateProjectNameUseCase { class UpdateProjectNameUseCase (line 18) | class UpdateProjectNameUseCase implements IUpdateProjectNameUseCase { method constructor (line 23) | constructor({ projectsRepository, projectActionAuthorizationPolicy, us... method execute (line 29) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/application/use-cases/projects/update-webhook-url.use-case.ts type IUpdateWebhookUrlUseCase (line 14) | interface IUpdateWebhookUrlUseCase { class UpdateWebhookUrlUseCase (line 18) | class UpdateWebhookUrlUseCase implements IUpdateWebhookUrlUseCase { method constructor (line 23) | constructor({ projectsRepository, projectActionAuthorizationPolicy, us... method execute (line 29) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/application/use-cases/recurring-job-rules/create-recurring-job-rule.use-case.ts type ICreateRecurringJobRuleUseCase (line 21) | interface ICreateRecurringJobRuleUseCase { class CreateRecurringJobRuleUseCase (line 25) | class CreateRecurringJobRuleUseCase implements ICreateRecurringJobRuleUs... method constructor (line 30) | constructor({ method execute (line 44) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/recurring-job-rules/fetch-recurring-job-rule.use-case.ts type IFetchRecurringJobRuleUseCase (line 15) | interface IFetchRecurringJobRuleUseCase { class FetchRecurringJobRuleUseCase (line 19) | class FetchRecurringJobRuleUseCase implements IFetchRecurringJobRuleUseC... method constructor (line 24) | constructor({ method execute (line 38) | async execute(request: z.infer): Promise): Promise): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/application/use-cases/scheduled-job-rules/fetch-scheduled-job-rule.use-case.ts type IFetchScheduledJobRuleUseCase (line 15) | interface IFetchScheduledJobRuleUseCase { class FetchScheduledJobRuleUseCase (line 19) | class FetchScheduledJobRuleUseCase implements IFetchScheduledJobRuleUseC... method constructor (line 24) | constructor({ method execute (line 38) | async execute(request: z.infer): Promise): Promise): Promise { method pollRecurring (line 151) | private async pollRecurring(): Promise { method scheduleNextPoll (line 169) | private scheduleNextPoll(): void { method run (line 183) | async run(): Promise { method stop (line 193) | async stop(): Promise { FILE: apps/rowboat/src/application/workers/jobs.worker.ts type IJobsWorker (line 14) | interface IJobsWorker { class JobsWorker (line 19) | class JobsWorker implements IJobsWorker { method constructor (line 33) | constructor({ method processJob (line 58) | async processJob(job: z.infer): Promise { method handleNewJobMessage (line 154) | private async handleNewJobMessage(message: string): Promise { method pollForJobs (line 186) | private async pollForJobs(): Promise { method startPolling (line 206) | private async startPolling(): Promise { method startSubscription (line 222) | private async startSubscription(): Promise { method run (line 241) | async run(): Promise { method stop (line 266) | async stop(): Promise { FILE: apps/rowboat/src/entities/errors/common.ts class BillingError (line 1) | class BillingError extends Error { method constructor (line 2) | constructor(message?: string, options?: ErrorOptions) { class QuotaExceededError (line 7) | class QuotaExceededError extends Error { method constructor (line 8) | constructor(message?: string, options?: ErrorOptions) { class BadRequestError (line 13) | class BadRequestError extends Error { method constructor (line 14) | constructor(message?: string, options?: ErrorOptions) { class NotFoundError (line 19) | class NotFoundError extends Error { method constructor (line 20) | constructor(message?: string, options?: ErrorOptions) { class NotAuthorizedError (line 25) | class NotAuthorizedError extends Error { method constructor (line 26) | constructor(message?: string, options?: ErrorOptions) { FILE: apps/rowboat/src/entities/errors/job-errors.ts class JobAcquisitionError (line 1) | class JobAcquisitionError extends Error { method constructor (line 2) | constructor(message?: string, options?: ErrorOptions) { FILE: apps/rowboat/src/entities/models/assistant-template.ts type AssistantTemplate (line 30) | type AssistantTemplate = z.infer; type AssistantTemplateLike (line 40) | type AssistantTemplateLike = z.infer; FILE: apps/rowboat/src/infrastructure/mongodb/drop-indexes.ts function dropAllIndexes (line 14) | async function dropAllIndexes(database: Db): Promise { FILE: apps/rowboat/src/infrastructure/mongodb/ensure-indexes.ts function ensureAllIndexes (line 16) | async function ensureAllIndexes(database: Db): Promise { FILE: apps/rowboat/src/infrastructure/policies/redis.usage-quota.policy.ts constant MAX_QUERIES_PER_MINUTE (line 6) | const MAX_QUERIES_PER_MINUTE = Number(process.env.MAX_QUERIES_PER_MINUTE... constant MAX_JOBS_PER_HOUR (line 7) | const MAX_JOBS_PER_HOUR = Number(process.env.MAX_JOBS_PER_HOUR) || 0; class RedisUsageQuotaPolicy (line 9) | class RedisUsageQuotaPolicy implements IUsageQuotaPolicy { method assertAndConsumeProjectAction (line 10) | async assertAndConsumeProjectAction(projectId: string): Promise { method assertAndConsumeRunJobAction (line 28) | async assertAndConsumeRunJobAction(projectId: string): Promise { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.api-keys.indexes.ts constant API_KEYS_COLLECTION (line 3) | const API_KEYS_COLLECTION = "api_keys"; constant API_KEYS_INDEXES (line 5) | const API_KEYS_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.api-keys.repository.ts class MongoDBApiKeysRepository (line 13) | class MongoDBApiKeysRepository implements IApiKeysRepository { method checkAndConsumeKey (line 16) | async checkAndConsumeKey(projectId: string, apiKey: string): Promise): Promise[]> { method delete (line 55) | async delete(projectId: string, id: string): Promise { method deleteAll (line 60) | async deleteAll(projectId: string): Promise { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.assistant-templates.repository.ts class MongoDBAssistantTemplatesRepository (line 10) | class MongoDBAssistantTemplatesRepository { method create (line 14) | async create(data: Omit, 'id' | 'pub... method fetch (line 22) | async fetch(id: string): Promise | n... method list (line 28) | async list(filters: { method toggleLike (line 63) | async toggleLike(assistantId: string, userId: string, userEmail?: stri... method getLikeCount (line 77) | async getLikeCount(assistantId: string): Promise { method getLikedTemplates (line 82) | async getLikedTemplates(templateIds: string[], userId: string): Promis... method getCategories (line 90) | async getCategories(): Promise { method deleteByIdAndAuthor (line 95) | async deleteByIdAndAuthor(id: string, authorId: string): Promise): Promise | null> { method addTurn (line 56) | async addTurn(conversationId: string, data: z.infer { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.data-source-docs.indexes.ts constant DATA_SOURCE_DOCS_COLLECTION (line 3) | const DATA_SOURCE_DOCS_COLLECTION = "source_docs"; constant DATA_SOURCE_DOCS_INDEXES (line 5) | const DATA_SOURCE_DOCS_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.data-source-docs.repository.ts class MongoDBDataSourceDocsRepository (line 23) | class MongoDBDataSourceDocsRepository implements IDataSourceDocsReposito... method bulkCreate (line 26) | async bulkCreate(projectId: string, sourceId: string, data: z.infer | null> { method bulkFetch (line 59) | async bulkFetch(ids: string[]): Promise[... method list (line 67) | async list( method markSourceDocsPending (line 106) | async markSourceDocsPending(sourceId: string): Promise { method markAsDeleted (line 119) | async markAsDeleted(id: string): Promise { method updateByVersion (line 131) | async updateByVersion( method delete (line 158) | async delete(id: string): Promise { method deleteBySourceId (line 163) | async deleteBySourceId(sourceId: string): Promise { method deleteByProjectId (line 167) | async deleteByProjectId(projectId: string): Promise { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.data-sources.indexes.ts constant DATA_SOURCES_COLLECTION (line 3) | const DATA_SOURCES_COLLECTION = "sources"; constant DATA_SOURCES_INDEXES (line 5) | const DATA_SOURCES_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.data-sources.repository.ts class MongoDBDataSourcesRepository (line 24) | class MongoDBDataSourcesRepository implements IDataSourcesRepository { method create (line 27) | async create(data: z.infer): Promise | null> { method list (line 65) | async list( method update (line 109) | async update( method delete (line 139) | async delete(id: string): Promise { method deleteByProjectId (line 144) | async deleteByProjectId(projectId: string): Promise { method pollDeleteJob (line 148) | async pollDeleteJob(): Promise | null> { method pollPendingJob (line 162) | async pollPendingJob(): Promise | null> { method release (line 209) | async release(id: string, version: number, updates: z.infer): Promise | null> { method poll (line 74) | async poll(workerId: string): Promise | null> { method lock (line 112) | async lock(id: string, workerId: string): Promise> { method update (line 149) | async update(id: string, data: z.infer): Promi... method release (line 182) | async release(id: string): Promise { method list (line 203) | async list( method deleteByProjectId (line 271) | async deleteByProjectId(projectId: string): Promise { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.project-members.indexes.ts constant PROJECT_MEMBERS_COLLECTION (line 3) | const PROJECT_MEMBERS_COLLECTION = "project_members"; constant PROJECT_MEMBERS_INDEXES (line 5) | const PROJECT_MEMBERS_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.project-members.repository.ts class MongoDBProjectMembersRepository (line 12) | class MongoDBProjectMembersRepository implements IProjectMembersReposito... method create (line 15) | async create(data: z.infer): Promise... method findByUserId (line 47) | async findByUserId(userId: string, cursor?: string, limit: number = 50... method exists (line 75) | async exists(projectId: string, userId: string): Promise { method deleteByProjectId (line 83) | async deleteByProjectId(projectId: string): Promise { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.projects.indexes.ts constant PROJECTS_COLLECTION (line 3) | const PROJECTS_COLLECTION = "projects"; constant PROJECTS_INDEXES (line 5) | const PROJECTS_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.projects.repository.ts class MongodbProjectsRepository (line 17) | class MongodbProjectsRepository implements IProjectsRepository { method constructor (line 21) | constructor({ method create (line 29) | async create(data: z.infer): Promise | null> { method countCreatedProjects (line 67) | async countCreatedProjects(createdByUserId: string): Promise { method listProjects (line 71) | async listProjects(userId: string, cursor?: string, limit?: number): P... method addComposioConnectedAccount (line 86) | async addComposioConnectedAccount(projectId: string, data: z.infer { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.recurring-job-rules.indexes.ts constant RECURRING_JOB_RULES_COLLECTION (line 3) | const RECURRING_JOB_RULES_COLLECTION = "recurring_job_rules"; constant RECURRING_JOB_RULES_INDEXES (line 5) | const RECURRING_JOB_RULES_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.recurring-job-rules.repository.ts class MongoDBRecurringJobRulesRepository (line 37) | class MongoDBRecurringJobRulesRepository implements IRecurringJobRulesRe... method convertDocToModel (line 44) | private convertDocToModel(doc: z.infer): z.infer): Promise... method fetch (line 82) | async fetch(id: string): Promise | nu... method poll (line 96) | async poll(workerId: string): Promise... method release (line 143) | async release(id: string): Promise> { method list (line 172) | async list(projectId: string, cursor?: string, limit: number = 50): Pr... method toggle (line 197) | async toggle(id: string, disabled: boolean): Promise { method updateNextRunAt (line 247) | async updateNextRunAt(id: string, cron: string): Promise { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.scheduled-job-rules.indexes.ts constant SCHEDULED_JOB_RULES_COLLECTION (line 3) | const SCHEDULED_JOB_RULES_COLLECTION = "scheduled_job_rules"; constant SCHEDULED_JOB_RULES_INDEXES (line 5) | const SCHEDULED_JOB_RULES_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.scheduled-job-rules.repository.ts class MongoDBScheduledJobRulesRepository (line 35) | class MongoDBScheduledJobRulesRepository implements IScheduledJobRulesRe... method convertDocToModel (line 42) | private convertDocToModel(doc: z.infer): z.infer): Promise | nu... method poll (line 105) | async poll(workerId: string): Promise... method updateRule (line 144) | async updateRule(id: string, data: z.infer): Promi... method release (line 196) | async release(id: string): Promise> { method list (line 224) | async list(projectId: string, cursor?: string, limit: number = 50): Pr... method delete (line 249) | async delete(id: string): Promise { method deleteByProjectId (line 257) | async deleteByProjectId(projectId: string): Promise { FILE: apps/rowboat/src/infrastructure/repositories/mongodb.shared-workflows.indexes.ts constant SHARED_WORKFLOWS_COLLECTION (line 3) | const SHARED_WORKFLOWS_COLLECTION = "shared_workflows"; constant SHARED_WORKFLOWS_INDEXES (line 5) | const SHARED_WORKFLOWS_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.users.indexes.ts constant USERS_COLLECTION (line 3) | const USERS_COLLECTION = "users"; constant USERS_INDEXES (line 5) | const USERS_INDEXES: IndexDescription[] = [ FILE: apps/rowboat/src/infrastructure/repositories/mongodb.users.repository.ts class MongoDBUsersRepository (line 12) | class MongoDBUsersRepository implements IUsersRepository { method create (line 15) | async create(data: z.infer): Promise | null> { method fetchByAuth0Id (line 45) | async fetchByAuth0Id(auth0Id: string): Promise | ... method updateEmail (line 55) | async updateEmail(id: string, email: string): Promise { method getDownloadUrl (line 24) | async getDownloadUrl(fileId: string): Promise { method getFileContents (line 28) | async getFileContents(fileId: string): Promise { FILE: apps/rowboat/src/infrastructure/services/redis.cache.service.ts class RedisCacheService (line 4) | class RedisCacheService implements ICacheService { method get (line 5) | async get(key: string): Promise { method set (line 9) | async set(key: string, value: string, ttl?: number): Promise { method delete (line 17) | async delete(key: string): Promise { FILE: apps/rowboat/src/infrastructure/services/redis.pub-sub.service.ts class RedisPubSubService (line 18) | class RedisPubSubService implements IPubSubService { method constructor (line 22) | constructor() { method setupRedisSubscriber (line 31) | private setupRedisSubscriber(): void { method publish (line 60) | async publish(channel: string, message: string): Promise { method subscribe (line 77) | async subscribe(channel: string, handler: (message: string) => void): ... method unsubscribe (line 108) | private async unsubscribe(channel: string, handler: (message: string) ... FILE: apps/rowboat/src/infrastructure/services/s3.uploads-storage.service.ts class S3UploadsStorageService (line 7) | class S3UploadsStorageService implements IUploadsStorageService { method constructor (line 12) | constructor({ method getUploadUrl (line 28) | async getUploadUrl(key: string, contentType: string): Promise { method getDownloadUrl (line 37) | async getDownloadUrl(fileId: string): Promise { method getFileContents (line 52) | async getFileContents(fileId: string): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/api-keys/create-api-key.controller.ts type ICreateApiKeyController (line 13) | interface ICreateApiKeyController { class CreateApiKeyController (line 17) | class CreateApiKeyController implements ICreateApiKeyController { method constructor (line 19) | constructor({ createApiKeyUseCase }: { createApiKeyUseCase: ICreateApi... method execute (line 22) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/api-keys/list-api-keys.controller.ts type IListApiKeysController (line 13) | interface IListApiKeysController { class ListApiKeysController (line 17) | class ListApiKeysController implements IListApiKeysController { method constructor (line 19) | constructor({ listApiKeysUseCase }: { listApiKeysUseCase: IListApiKeys... method execute (line 22) | async execute(request: z.infer): Promise): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/composio-trigger-deployments/fetch-composio-trigger-deployment.controller.ts type IFetchComposioTriggerDeploymentController (line 13) | interface IFetchComposioTriggerDeploymentController { class FetchComposioTriggerDeploymentController (line 17) | class FetchComposioTriggerDeploymentController implements IFetchComposio... method constructor (line 20) | constructor({ method execute (line 28) | async execute(request: z.infer): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/conversations/create-cached-turn.controller.ts type ICreateCachedTurnController (line 14) | interface ICreateCachedTurnController { class CreateCachedTurnController (line 18) | class CreateCachedTurnController implements ICreateCachedTurnController { method constructor (line 21) | constructor({ method execute (line 29) | async execute(request: z.infer): Promise<{ key: st... FILE: apps/rowboat/src/interface-adapters/controllers/conversations/create-playground-conversation.controller.ts type ICreatePlaygroundConversationController (line 14) | interface ICreatePlaygroundConversationController { class CreatePlaygroundConversationController (line 18) | class CreatePlaygroundConversationController implements ICreatePlaygroun... method constructor (line 21) | constructor({ method execute (line 29) | async execute(request: z.infer): Promise): Promise): Promise): AsyncGenerator): Promise): Promise<{ key: st... FILE: apps/rowboat/src/interface-adapters/controllers/copilot/run-copilot-cached-turn.controller.ts type IRunCopilotCachedTurnController (line 13) | interface IRunCopilotCachedTurnController { class RunCopilotCachedTurnController (line 17) | class RunCopilotCachedTurnController implements IRunCopilotCachedTurnCon... method constructor (line 20) | constructor({ method execute (line 28) | async *execute(request: z.infer): AsyncGenerator): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/data-sources/create-data-source.controller.ts type ICreateDataSourceController (line 14) | interface ICreateDataSourceController { class CreateDataSourceController (line 18) | class CreateDataSourceController implements ICreateDataSourceController { method constructor (line 21) | constructor({ createDataSourceUseCase }: { createDataSourceUseCase: IC... method execute (line 25) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/data-sources/delete-doc-from-data-source.controller.ts type IDeleteDocFromDataSourceController (line 12) | interface IDeleteDocFromDataSourceController { class DeleteDocFromDataSourceController (line 16) | class DeleteDocFromDataSourceController implements IDeleteDocFromDataSou... method constructor (line 19) | constructor({ deleteDocFromDataSourceUseCase }: { deleteDocFromDataSou... method execute (line 23) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/data-sources/fetch-data-source.controller.ts type IFetchDataSourceController (line 13) | interface IFetchDataSourceController { class FetchDataSourceController (line 17) | class FetchDataSourceController implements IFetchDataSourceController { method constructor (line 20) | constructor({ fetchDataSourceUseCase }: { fetchDataSourceUseCase: IFet... method execute (line 24) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/data-sources/get-upload-urls-for-files.controller.ts type IGetUploadUrlsForFilesController (line 13) | interface IGetUploadUrlsForFilesController { class GetUploadUrlsForFilesController (line 17) | class GetUploadUrlsForFilesController implements IGetUploadUrlsForFilesC... method constructor (line 20) | constructor({ getUploadUrlsForFilesUseCase }: { getUploadUrlsForFilesU... method execute (line 24) | async execute(request: z.infer): Promise<{ fileId:... FILE: apps/rowboat/src/interface-adapters/controllers/data-sources/list-data-sources.controller.ts type IListDataSourcesController (line 13) | interface IListDataSourcesController { class ListDataSourcesController (line 17) | class ListDataSourcesController implements IListDataSourcesController { method constructor (line 20) | constructor({ listDataSourcesUseCase }: { listDataSourcesUseCase: ILis... method execute (line 24) | async execute(request: z.infer): Promise): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/data-sources/toggle-data-source.controller.ts type IToggleDataSourceController (line 14) | interface IToggleDataSourceController { class ToggleDataSourceController (line 18) | class ToggleDataSourceController implements IToggleDataSourceController { method constructor (line 21) | constructor({ toggleDataSourceUseCase }: { toggleDataSourceUseCase: IT... method execute (line 25) | async execute(request: z.infer): Promise): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/create-composio-managed-connected-account.controller.ts type ICreateComposioManagedConnectedAccountController (line 15) | interface ICreateComposioManagedConnectedAccountController { class CreateComposioManagedConnectedAccountController (line 19) | class CreateComposioManagedConnectedAccountController implements ICreate... method constructor (line 22) | constructor({ createComposioManagedConnectedAccountUseCase }: { create... method execute (line 26) | async execute(request: z.infer): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/delete-project.controller.ts type IDeleteProjectController (line 6) | interface IDeleteProjectController { class DeleteProjectController (line 10) | class DeleteProjectController implements IDeleteProjectController { method constructor (line 13) | constructor({ method execute (line 21) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/fetch-project.controller.ts type IFetchProjectController (line 13) | interface IFetchProjectController { class FetchProjectController (line 17) | class FetchProjectController implements IFetchProjectController { method constructor (line 20) | constructor({ method execute (line 28) | async execute(request: z.infer): Promise): Promise): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/revert-to-live-workflow.controller.ts type IRevertToLiveWorkflowController (line 6) | interface IRevertToLiveWorkflowController { class RevertToLiveWorkflowController (line 10) | class RevertToLiveWorkflowController implements IRevertToLiveWorkflowCon... method constructor (line 13) | constructor({ revertToLiveWorkflowUseCase }: { revertToLiveWorkflowUse... method execute (line 17) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/rotate-secret.controller.ts type IRotateSecretController (line 12) | interface IRotateSecretController { class RotateSecretController (line 16) | class RotateSecretController implements IRotateSecretController { method constructor (line 19) | constructor({ method execute (line 27) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/sync-connected-account.controller.ts type ISyncConnectedAccountController (line 15) | interface ISyncConnectedAccountController { class SyncConnectedAccountController (line 19) | class SyncConnectedAccountController implements ISyncConnectedAccountCon... method constructor (line 22) | constructor({ syncConnectedAccountUseCase }: { syncConnectedAccountUse... method execute (line 26) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/update-live-workflow.controller.ts type IUpdateLiveWorkflowController (line 6) | interface IUpdateLiveWorkflowController { class UpdateLiveWorkflowController (line 10) | class UpdateLiveWorkflowController implements IUpdateLiveWorkflowControl... method constructor (line 13) | constructor({ updateLiveWorkflowUseCase }: { updateLiveWorkflowUseCase... method execute (line 17) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/update-project-name.controller.ts type IUpdateProjectNameController (line 6) | interface IUpdateProjectNameController { class UpdateProjectNameController (line 10) | class UpdateProjectNameController implements IUpdateProjectNameController { method constructor (line 13) | constructor({ method execute (line 21) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/projects/update-webhook-url.controller.ts type IUpdateWebhookUrlController (line 6) | interface IUpdateWebhookUrlController { class UpdateWebhookUrlController (line 10) | class UpdateWebhookUrlController implements IUpdateWebhookUrlController { method constructor (line 13) | constructor({ method execute (line 21) | async execute(request: z.infer): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/recurring-job-rules/create-recurring-job-rule.controller.ts type ICreateRecurringJobRuleController (line 17) | interface ICreateRecurringJobRuleController { class CreateRecurringJobRuleController (line 21) | class CreateRecurringJobRuleController implements ICreateRecurringJobRul... method constructor (line 24) | constructor({ method execute (line 32) | async execute(request: z.infer): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/recurring-job-rules/fetch-recurring-job-rule.controller.ts type IFetchRecurringJobRuleController (line 13) | interface IFetchRecurringJobRuleController { class FetchRecurringJobRuleController (line 17) | class FetchRecurringJobRuleController implements IFetchRecurringJobRuleC... method constructor (line 20) | constructor({ method execute (line 28) | async execute(request: z.infer): Promise): Promise): Promise): Promise): Promise): Promise { FILE: apps/rowboat/src/interface-adapters/controllers/scheduled-job-rules/fetch-scheduled-job-rule.controller.ts type IFetchScheduledJobRuleController (line 13) | interface IFetchScheduledJobRuleController { class FetchScheduledJobRuleController (line 17) | class FetchScheduledJobRuleController implements IFetchScheduledJobRuleC... method constructor (line 20) | constructor({ method execute (line 28) | async execute(request: z.infer): Promise): Promise): Promise; type ArtifactHeaderProps (line 26) | type ArtifactHeaderProps = HTMLAttributes; type ArtifactCloseProps (line 41) | type ArtifactCloseProps = ComponentProps; type ArtifactTitleProps (line 65) | type ArtifactTitleProps = HTMLAttributes; type ArtifactDescriptionProps (line 74) | type ArtifactDescriptionProps = HTMLAttributes; type ArtifactActionsProps (line 83) | type ArtifactActionsProps = HTMLAttributes; type ArtifactActionProps (line 92) | type ArtifactActionProps = ComponentProps & { type ArtifactContentProps (line 140) | type ArtifactContentProps = HTMLAttributes; FILE: apps/rowboatx/components/ai-elements/canvas.tsx type CanvasProps (line 5) | type CanvasProps = ReactFlowProps & { FILE: apps/rowboatx/components/ai-elements/chain-of-thought.tsx type ChainOfThoughtContextValue (line 20) | type ChainOfThoughtContextValue = { type ChainOfThoughtProps (line 39) | type ChainOfThoughtProps = ComponentProps<"div"> & { type ChainOfThoughtHeaderProps (line 78) | type ChainOfThoughtHeaderProps = ComponentProps< type ChainOfThoughtStepProps (line 111) | type ChainOfThoughtStepProps = ComponentProps<"div"> & { type ChainOfThoughtSearchResultsProps (line 160) | type ChainOfThoughtSearchResultsProps = ComponentProps<"div">; type ChainOfThoughtSearchResultProps (line 171) | type ChainOfThoughtSearchResultProps = ComponentProps; type ChainOfThoughtContentProps (line 185) | type ChainOfThoughtContentProps = ComponentProps< type ChainOfThoughtImageProps (line 210) | type ChainOfThoughtImageProps = ComponentProps<"div"> & { FILE: apps/rowboatx/components/ai-elements/checkpoint.tsx type CheckpointProps (line 14) | type CheckpointProps = HTMLAttributes; type CheckpointIconProps (line 30) | type CheckpointIconProps = LucideProps; type CheckpointTriggerProps (line 41) | type CheckpointTriggerProps = ComponentProps & { FILE: apps/rowboatx/components/ai-elements/code-block.tsx type CodeBlockProps (line 17) | type CodeBlockProps = HTMLAttributes & { type CodeBlockContextType (line 23) | type CodeBlockContextType = { method line (line 33) | line(node, line) { function highlightCode (line 52) | async function highlightCode( type CodeBlockCopyButtonProps (line 132) | type CodeBlockCopyButtonProps = ComponentProps & { FILE: apps/rowboatx/components/ai-elements/confirmation.tsx type ToolUIPartApproval (line 14) | type ToolUIPartApproval = type ConfirmationContextValue (line 42) | type ConfirmationContextValue = { type ConfirmationProps (line 61) | type ConfirmationProps = ComponentProps & { type ConfirmationTitleProps (line 83) | type ConfirmationTitleProps = ComponentProps; type ConfirmationRequestProps (line 92) | type ConfirmationRequestProps = { type ConfirmationAcceptedProps (line 108) | type ConfirmationAcceptedProps = { type ConfirmationRejectedProps (line 132) | type ConfirmationRejectedProps = { type ConfirmationActionsProps (line 156) | type ConfirmationActionsProps = ComponentProps<"div">; type ConfirmationActionProps (line 178) | type ConfirmationActionProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/connection.tsx constant HALF (line 3) | const HALF = 0.5; FILE: apps/rowboatx/components/ai-elements/context.tsx constant PERCENT_MAX (line 15) | const PERCENT_MAX = 100; constant ICON_RADIUS (line 16) | const ICON_RADIUS = 10; constant ICON_VIEWBOX (line 17) | const ICON_VIEWBOX = 24; constant ICON_CENTER (line 18) | const ICON_CENTER = 12; constant ICON_STROKE_WIDTH (line 19) | const ICON_STROKE_WIDTH = 2; type ModelId (line 21) | type ModelId = string; type ContextSchema (line 23) | type ContextSchema = { type ContextProps (line 42) | type ContextProps = ComponentProps & ContextSchema; type ContextTriggerProps (line 104) | type ContextTriggerProps = ComponentProps; type ContextContentProps (line 128) | type ContextContentProps = ComponentProps; type ContextContentHeaderProps (line 140) | type ContextContentHeaderProps = ComponentProps<"div">; type ContextContentBodyProps (line 179) | type ContextContentBodyProps = ComponentProps<"div">; type ContextContentFooterProps (line 191) | type ContextContentFooterProps = ComponentProps<"div">; type ContextInputUsageProps (line 231) | type ContextInputUsageProps = ComponentProps<"div">; type ContextOutputUsageProps (line 271) | type ContextOutputUsageProps = ComponentProps<"div">; type ContextReasoningUsageProps (line 311) | type ContextReasoningUsageProps = ComponentProps<"div">; type ContextCacheUsageProps (line 351) | type ContextCacheUsageProps = ComponentProps<"div">; FILE: apps/rowboatx/components/ai-elements/controls.tsx type ControlsProps (line 7) | type ControlsProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/conversation.tsx type ConversationProps (line 10) | type ConversationProps = ComponentProps; type ConversationContentProps (line 22) | type ConversationContentProps = ComponentProps< type ConversationEmptyStateProps (line 36) | type ConversationEmptyStateProps = ComponentProps<"div"> & { type ConversationScrollButtonProps (line 71) | type ConversationScrollButtonProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/image.tsx type ImageProps (line 5) | type ImageProps = Experimental_GeneratedImage & { FILE: apps/rowboatx/components/ai-elements/inline-citation.tsx type InlineCitationProps (line 26) | type InlineCitationProps = ComponentProps<"span">; type InlineCitationTextProps (line 38) | type InlineCitationTextProps = ComponentProps<"span">; type InlineCitationCardProps (line 50) | type InlineCitationCardProps = ComponentProps; type InlineCitationCardTriggerProps (line 56) | type InlineCitationCardTriggerProps = ComponentProps & { type InlineCitationCardBodyProps (line 83) | type InlineCitationCardBodyProps = ComponentProps<"div">; type InlineCitationCarouselProps (line 99) | type InlineCitationCarouselProps = ComponentProps; type InlineCitationCarouselContentProps (line 117) | type InlineCitationCarouselContentProps = ComponentProps<"div">; type InlineCitationCarouselItemProps (line 123) | type InlineCitationCarouselItemProps = ComponentProps<"div">; type InlineCitationCarouselHeaderProps (line 135) | type InlineCitationCarouselHeaderProps = ComponentProps<"div">; type InlineCitationCarouselIndexProps (line 150) | type InlineCitationCarouselIndexProps = ComponentProps<"div">; type InlineCitationCarouselPrevProps (line 187) | type InlineCitationCarouselPrevProps = ComponentProps<"button">; type InlineCitationCarouselNextProps (line 214) | type InlineCitationCarouselNextProps = ComponentProps<"button">; type InlineCitationSourceProps (line 241) | type InlineCitationSourceProps = ComponentProps<"div"> & { type InlineCitationQuoteProps (line 271) | type InlineCitationQuoteProps = ComponentProps<"blockquote">; FILE: apps/rowboatx/components/ai-elements/loader.tsx type LoaderIconProps (line 4) | type LoaderIconProps = { type LoaderProps (line 82) | type LoaderProps = HTMLAttributes & { FILE: apps/rowboatx/components/ai-elements/message.tsx type MessageProps (line 27) | type MessageProps = HTMLAttributes & { type MessageContentProps (line 42) | type MessageContentProps = HTMLAttributes; type MessageActionsProps (line 62) | type MessageActionsProps = ComponentProps<"div">; type MessageActionProps (line 74) | type MessageActionProps = ComponentProps & { type MessageBranchContextType (line 110) | type MessageBranchContextType = { type MessageBranchProps (line 135) | type MessageBranchProps = HTMLAttributes & { type MessageBranchContentProps (line 185) | type MessageBranchContentProps = HTMLAttributes; type MessageBranchSelectorProps (line 218) | type MessageBranchSelectorProps = HTMLAttributes; type MessageBranchPreviousProps (line 243) | type MessageBranchPreviousProps = ComponentProps; type MessageBranchNextProps (line 266) | type MessageBranchNextProps = ComponentProps; type MessageBranchPageProps (line 291) | type MessageBranchPageProps = HTMLAttributes; type MessageResponseProps (line 312) | type MessageResponseProps = ComponentProps; type MessageAttachmentProps (line 329) | type MessageAttachmentProps = HTMLAttributes & { function MessageAttachment (line 335) | function MessageAttachment({ type MessageAttachmentsProps (line 413) | type MessageAttachmentsProps = ComponentProps<"div">; function MessageAttachments (line 415) | function MessageAttachments({ type MessageToolbarProps (line 437) | type MessageToolbarProps = ComponentProps<"div">; FILE: apps/rowboatx/components/ai-elements/model-selector.tsx type ModelSelectorProps (line 22) | type ModelSelectorProps = ComponentProps; type ModelSelectorTriggerProps (line 28) | type ModelSelectorTriggerProps = ComponentProps; type ModelSelectorContentProps (line 34) | type ModelSelectorContentProps = ComponentProps & { type ModelSelectorDialogProps (line 52) | type ModelSelectorDialogProps = ComponentProps; type ModelSelectorInputProps (line 58) | type ModelSelectorInputProps = ComponentProps; type ModelSelectorListProps (line 67) | type ModelSelectorListProps = ComponentProps; type ModelSelectorEmptyProps (line 73) | type ModelSelectorEmptyProps = ComponentProps; type ModelSelectorGroupProps (line 79) | type ModelSelectorGroupProps = ComponentProps; type ModelSelectorItemProps (line 85) | type ModelSelectorItemProps = ComponentProps; type ModelSelectorShortcutProps (line 91) | type ModelSelectorShortcutProps = ComponentProps; type ModelSelectorSeparatorProps (line 97) | type ModelSelectorSeparatorProps = ComponentProps< type ModelSelectorLogoProps (line 105) | type ModelSelectorLogoProps = Omit< type ModelSelectorLogoGroupProps (line 184) | type ModelSelectorLogoGroupProps = ComponentProps<"div">; type ModelSelectorNameProps (line 199) | type ModelSelectorNameProps = ComponentProps<"span">; FILE: apps/rowboatx/components/ai-elements/node.tsx type NodeProps (line 14) | type NodeProps = ComponentProps & { type NodeHeaderProps (line 35) | type NodeHeaderProps = ComponentProps; type NodeTitleProps (line 44) | type NodeTitleProps = ComponentProps; type NodeDescriptionProps (line 48) | type NodeDescriptionProps = ComponentProps; type NodeActionProps (line 54) | type NodeActionProps = ComponentProps; type NodeContentProps (line 58) | type NodeContentProps = ComponentProps; type NodeFooterProps (line 64) | type NodeFooterProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/open-in-chat.tsx type OpenInProps (line 196) | type OpenInProps = ComponentProps & { type OpenInContentProps (line 206) | type OpenInContentProps = ComponentProps; type OpenInItemProps (line 216) | type OpenInItemProps = ComponentProps; type OpenInLabelProps (line 222) | type OpenInLabelProps = ComponentProps; type OpenInSeparatorProps (line 228) | type OpenInSeparatorProps = ComponentProps; type OpenInTriggerProps (line 234) | type OpenInTriggerProps = ComponentProps; type OpenInChatGPTProps (line 247) | type OpenInChatGPTProps = ComponentProps; type OpenInClaudeProps (line 267) | type OpenInClaudeProps = ComponentProps; type OpenInT3Props (line 287) | type OpenInT3Props = ComponentProps; type OpenInSciraProps (line 307) | type OpenInSciraProps = ComponentProps; type OpenInv0Props (line 327) | type OpenInv0Props = ComponentProps; type OpenInCursorProps (line 347) | type OpenInCursorProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/panel.tsx type PanelProps (line 5) | type PanelProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/plan.tsx type PlanContextValue (line 24) | type PlanContextValue = { type PlanProps (line 38) | type PlanProps = ComponentProps & { type PlanHeaderProps (line 55) | type PlanHeaderProps = ComponentProps; type PlanTitleProps (line 65) | type PlanTitleProps = Omit< type PlanDescriptionProps (line 82) | type PlanDescriptionProps = Omit< type PlanActionProps (line 107) | type PlanActionProps = ComponentProps; type PlanContentProps (line 113) | type PlanContentProps = ComponentProps; type PlanFooterProps (line 121) | type PlanFooterProps = ComponentProps<"div">; type PlanTriggerProps (line 127) | type PlanTriggerProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/prompt-input.tsx type AttachmentsContext (line 78) | type AttachmentsContext = { type TextInputContext (line 87) | type TextInputContext = { type PromptInputControllerProps (line 93) | type PromptInputControllerProps = { type PromptInputProviderProps (line 137) | type PromptInputProviderProps = PropsWithChildren<{ function PromptInputProvider (line 145) | function PromptInputProvider({ type PromptInputAttachmentProps (line 280) | type PromptInputAttachmentProps = HTMLAttributes & { function PromptInputAttachment (line 285) | function PromptInputAttachment({ type PromptInputAttachmentsProps (line 376) | type PromptInputAttachmentsProps = Omit< function PromptInputAttachments (line 383) | function PromptInputAttachments({ type PromptInputActionAddAttachmentsProps (line 406) | type PromptInputActionAddAttachmentsProps = ComponentProps< type PromptInputMessage (line 431) | type PromptInputMessage = { type PromptInputProps (line 436) | type PromptInputProps = Omit< type PromptInputBodyProps (line 806) | type PromptInputBodyProps = HTMLAttributes; type PromptInputTextareaProps (line 815) | type PromptInputTextareaProps = ComponentProps< type PromptInputHeaderProps (line 916) | type PromptInputHeaderProps = Omit< type PromptInputFooterProps (line 932) | type PromptInputFooterProps = Omit< type PromptInputToolsProps (line 948) | type PromptInputToolsProps = HTMLAttributes; type PromptInputButtonProps (line 957) | type PromptInputButtonProps = ComponentProps; type PromptInputActionMenuProps (line 979) | type PromptInputActionMenuProps = ComponentProps; type PromptInputActionMenuTriggerProps (line 984) | type PromptInputActionMenuTriggerProps = PromptInputButtonProps; type PromptInputActionMenuContentProps (line 998) | type PromptInputActionMenuContentProps = ComponentProps< type PromptInputActionMenuItemProps (line 1008) | type PromptInputActionMenuItemProps = ComponentProps< type PromptInputSubmitProps (line 1021) | type PromptInputSubmitProps = ComponentProps & { type SpeechRecognition (line 1057) | interface SpeechRecognition extends EventTarget { type SpeechRecognitionEvent (line 1073) | interface SpeechRecognitionEvent extends Event { type SpeechRecognitionResultList (line 1078) | type SpeechRecognitionResultList = { type SpeechRecognitionResult (line 1084) | type SpeechRecognitionResult = { type SpeechRecognitionAlternative (line 1091) | type SpeechRecognitionAlternative = { type SpeechRecognitionErrorEvent (line 1096) | interface SpeechRecognitionErrorEvent extends Event { type Window (line 1101) | interface Window { type PromptInputSpeechButtonProps (line 1111) | type PromptInputSpeechButtonProps = ComponentProps< type PromptInputSelectProps (line 1217) | type PromptInputSelectProps = ComponentProps; type PromptInputSelectTriggerProps (line 1223) | type PromptInputSelectTriggerProps = ComponentProps< type PromptInputSelectContentProps (line 1241) | type PromptInputSelectContentProps = ComponentProps< type PromptInputSelectItemProps (line 1252) | type PromptInputSelectItemProps = ComponentProps; type PromptInputSelectValueProps (line 1261) | type PromptInputSelectValueProps = ComponentProps; type PromptInputHoverCardProps (line 1270) | type PromptInputHoverCardProps = ComponentProps; type PromptInputHoverCardTriggerProps (line 1280) | type PromptInputHoverCardTriggerProps = ComponentProps< type PromptInputHoverCardContentProps (line 1288) | type PromptInputHoverCardContentProps = ComponentProps< type PromptInputTabsListProps (line 1299) | type PromptInputTabsListProps = HTMLAttributes; type PromptInputTabProps (line 1306) | type PromptInputTabProps = HTMLAttributes; type PromptInputTabLabelProps (line 1313) | type PromptInputTabLabelProps = HTMLAttributes; type PromptInputTabBodyProps (line 1328) | type PromptInputTabBodyProps = HTMLAttributes; type PromptInputTabItemProps (line 1337) | type PromptInputTabItemProps = HTMLAttributes; type PromptInputCommandProps (line 1352) | type PromptInputCommandProps = ComponentProps; type PromptInputCommandInputProps (line 1359) | type PromptInputCommandInputProps = ComponentProps; type PromptInputCommandListProps (line 1368) | type PromptInputCommandListProps = ComponentProps; type PromptInputCommandEmptyProps (line 1377) | type PromptInputCommandEmptyProps = ComponentProps; type PromptInputCommandGroupProps (line 1386) | type PromptInputCommandGroupProps = ComponentProps; type PromptInputCommandItemProps (line 1395) | type PromptInputCommandItemProps = ComponentProps; type PromptInputCommandSeparatorProps (line 1404) | type PromptInputCommandSeparatorProps = ComponentProps< FILE: apps/rowboatx/components/ai-elements/queue.tsx type QueueMessagePart (line 15) | type QueueMessagePart = { type QueueMessage (line 23) | type QueueMessage = { type QueueTodo (line 28) | type QueueTodo = { type QueueItemProps (line 35) | type QueueItemProps = ComponentProps<"li">; type QueueItemIndicatorProps (line 47) | type QueueItemIndicatorProps = ComponentProps<"span"> & { type QueueItemContentProps (line 68) | type QueueItemContentProps = ComponentProps<"span"> & { type QueueItemDescriptionProps (line 89) | type QueueItemDescriptionProps = ComponentProps<"div"> & { type QueueItemActionsProps (line 110) | type QueueItemActionsProps = ComponentProps<"div">; type QueueItemActionProps (line 119) | type QueueItemActionProps = Omit< type QueueItemAttachmentProps (line 140) | type QueueItemAttachmentProps = ComponentProps<"div">; type QueueItemImageProps (line 149) | type QueueItemImageProps = ComponentProps<"img">; type QueueItemFileProps (line 164) | type QueueItemFileProps = ComponentProps<"span">; type QueueListProps (line 183) | type QueueListProps = ComponentProps; type QueueSectionProps (line 198) | type QueueSectionProps = ComponentProps; type QueueSectionTriggerProps (line 209) | type QueueSectionTriggerProps = ComponentProps<"button">; type QueueSectionLabelProps (line 231) | type QueueSectionLabelProps = ComponentProps<"span"> & { type QueueSectionContentProps (line 254) | type QueueSectionContentProps = ComponentProps< type QueueProps (line 265) | type QueueProps = ComponentProps<"div">; FILE: apps/rowboatx/components/ai-elements/reasoning.tsx type ReasoningContextValue (line 16) | type ReasoningContextValue = { type ReasoningProps (line 33) | type ReasoningProps = ComponentProps & { constant AUTO_CLOSE_DELAY (line 41) | const AUTO_CLOSE_DELAY = 1000; constant MS_IN_S (line 42) | const MS_IN_S = 1000; type ReasoningTriggerProps (line 114) | type ReasoningTriggerProps = ComponentProps & { type ReasoningContentProps (line 157) | type ReasoningContentProps = ComponentProps< FILE: apps/rowboatx/components/ai-elements/shimmer.tsx type TextShimmerProps (line 13) | type TextShimmerProps = { FILE: apps/rowboatx/components/ai-elements/sources.tsx type SourcesProps (line 12) | type SourcesProps = ComponentProps<"div">; type SourcesTriggerProps (line 21) | type SourcesTriggerProps = ComponentProps & { type SourcesContentProps (line 44) | type SourcesContentProps = ComponentProps; type SourceProps (line 60) | type SourceProps = ComponentProps<"a">; FILE: apps/rowboatx/components/ai-elements/suggestion.tsx type SuggestionsProps (line 11) | type SuggestionsProps = ComponentProps; type SuggestionProps (line 26) | type SuggestionProps = Omit, "onClick"> & { FILE: apps/rowboatx/components/ai-elements/task.tsx type TaskItemFileProps (line 12) | type TaskItemFileProps = ComponentProps<"div">; type TaskItemProps (line 30) | type TaskItemProps = ComponentProps<"div">; type TaskProps (line 38) | type TaskProps = ComponentProps; type TaskTriggerProps (line 48) | type TaskTriggerProps = ComponentProps & { type TaskContentProps (line 69) | type TaskContentProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/tool.tsx type ToolProps (line 23) | type ToolProps = ComponentProps; type ToolHeaderProps (line 32) | type ToolHeaderProps = { type ToolContentProps (line 95) | type ToolContentProps = ComponentProps; type ToolInputProps (line 107) | type ToolInputProps = ComponentProps<"div"> & { type ToolOutputProps (line 122) | type ToolOutputProps = ComponentProps<"div"> & { FILE: apps/rowboatx/components/ai-elements/toolbar.tsx type ToolbarProps (line 5) | type ToolbarProps = ComponentProps; FILE: apps/rowboatx/components/ai-elements/web-preview.tsx type WebPreviewContextValue (line 21) | type WebPreviewContextValue = { type WebPreviewProps (line 38) | type WebPreviewProps = ComponentProps<"div"> & { type WebPreviewNavigationProps (line 80) | type WebPreviewNavigationProps = ComponentProps<"div">; type WebPreviewNavigationButtonProps (line 95) | type WebPreviewNavigationButtonProps = ComponentProps & { type WebPreviewUrlProps (line 127) | type WebPreviewUrlProps = ComponentProps; type WebPreviewBodyProps (line 168) | type WebPreviewBodyProps = ComponentProps<"iframe"> & { type WebPreviewConsoleProps (line 194) | type WebPreviewConsoleProps = ComponentProps<"div"> & { FILE: apps/rowboatx/components/app-sidebar.tsx type RowboatSummary (line 89) | type RowboatSummary = { type ResourceKind (line 95) | type ResourceKind = "agent" | "config" | "run" type SidebarSelect (line 97) | type SidebarSelect = (item: { kind: ResourceKind; name: string }) => void type AppSidebarProps (line 99) | type AppSidebarProps = React.ComponentProps & { function AppSidebar (line 103) | function AppSidebar({ onSelectResource, ...props }: AppSidebarProps) { FILE: apps/rowboatx/components/json-editor.tsx type JsonEditorProps (line 12) | interface JsonEditorProps { function JsonEditor (line 18) | function JsonEditor({ content, onChange, readOnly = false }: JsonEditorP... FILE: apps/rowboatx/components/markdown-viewer.tsx type MarkdownViewerProps (line 7) | interface MarkdownViewerProps { function MarkdownViewer (line 11) | function MarkdownViewer({ content }: MarkdownViewerProps) { FILE: apps/rowboatx/components/nav-main.tsx function NavMain (line 21) | function NavMain({ FILE: apps/rowboatx/components/nav-projects.tsx function NavProjects (line 15) | function NavProjects({ FILE: apps/rowboatx/components/nav-user.tsx function NavUser (line 37) | function NavUser({ FILE: apps/rowboatx/components/team-switcher.tsx function TeamSwitcher (line 22) | function TeamSwitcher({ FILE: apps/rowboatx/components/tiptap-markdown-editor.tsx type TiptapMarkdownEditorProps (line 29) | interface TiptapMarkdownEditorProps { type ToolbarButtonProps (line 48) | type ToolbarButtonProps = { function ToolbarButton (line 56) | function ToolbarButton({ icon: Icon, label, active, disabled, onClick }:... function TiptapMarkdownEditor (line 71) | function TiptapMarkdownEditor({ FILE: apps/rowboatx/components/ui/alert.tsx function Alert (line 22) | function Alert({ function AlertTitle (line 37) | function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { function AlertDescription (line 50) | function AlertDescription({ FILE: apps/rowboatx/components/ui/avatar.tsx function Avatar (line 8) | function Avatar({ function AvatarImage (line 24) | function AvatarImage({ function AvatarFallback (line 37) | function AvatarFallback({ FILE: apps/rowboatx/components/ui/badge.tsx function Badge (line 28) | function Badge({ FILE: apps/rowboatx/components/ui/breadcrumb.tsx function Breadcrumb (line 7) | function Breadcrumb({ ...props }: React.ComponentProps<"nav">) { function BreadcrumbList (line 11) | function BreadcrumbList({ className, ...props }: React.ComponentProps<"o... function BreadcrumbItem (line 24) | function BreadcrumbItem({ className, ...props }: React.ComponentProps<"l... function BreadcrumbLink (line 34) | function BreadcrumbLink({ function BreadcrumbPage (line 52) | function BreadcrumbPage({ className, ...props }: React.ComponentProps<"s... function BreadcrumbSeparator (line 65) | function BreadcrumbSeparator({ function BreadcrumbEllipsis (line 83) | function BreadcrumbEllipsis({ FILE: apps/rowboatx/components/ui/button-group.tsx function ButtonGroup (line 24) | function ButtonGroup({ function ButtonGroupText (line 40) | function ButtonGroupText({ function ButtonGroupSeparator (line 60) | function ButtonGroupSeparator({ FILE: apps/rowboatx/components/ui/button.tsx function Button (line 39) | function Button({ FILE: apps/rowboatx/components/ui/card.tsx function Card (line 5) | function Card({ className, ...props }: React.ComponentProps<"div">) { function CardHeader (line 18) | function CardHeader({ className, ...props }: React.ComponentProps<"div">) { function CardTitle (line 31) | function CardTitle({ className, ...props }: React.ComponentProps<"div">) { function CardDescription (line 41) | function CardDescription({ className, ...props }: React.ComponentProps<"... function CardAction (line 51) | function CardAction({ className, ...props }: React.ComponentProps<"div">) { function CardContent (line 64) | function CardContent({ className, ...props }: React.ComponentProps<"div"... function CardFooter (line 74) | function CardFooter({ className, ...props }: React.ComponentProps<"div">) { FILE: apps/rowboatx/components/ui/carousel.tsx type CarouselApi (line 12) | type CarouselApi = UseEmblaCarouselType[1] type UseCarouselParameters (line 13) | type UseCarouselParameters = Parameters type CarouselOptions (line 14) | type CarouselOptions = UseCarouselParameters[0] type CarouselPlugin (line 15) | type CarouselPlugin = UseCarouselParameters[1] type CarouselProps (line 17) | type CarouselProps = { type CarouselContextProps (line 24) | type CarouselContextProps = { function useCarousel (line 35) | function useCarousel() { function Carousel (line 45) | function Carousel({ function CarouselContent (line 135) | function CarouselContent({ className, ...props }: React.ComponentProps<"... function CarouselItem (line 156) | function CarouselItem({ className, ...props }: React.ComponentProps<"div... function CarouselPrevious (line 174) | function CarouselPrevious({ function CarouselNext (line 204) | function CarouselNext({ FILE: apps/rowboatx/components/ui/collapsible.tsx function Collapsible (line 5) | function Collapsible({ function CollapsibleTrigger (line 11) | function CollapsibleTrigger({ function CollapsibleContent (line 22) | function CollapsibleContent({ FILE: apps/rowboatx/components/ui/command.tsx function Command (line 16) | function Command({ function CommandDialog (line 32) | function CommandDialog({ function CommandInput (line 63) | function CommandInput({ function CommandList (line 85) | function CommandList({ function CommandEmpty (line 101) | function CommandEmpty({ function CommandGroup (line 113) | function CommandGroup({ function CommandSeparator (line 129) | function CommandSeparator({ function CommandItem (line 142) | function CommandItem({ function CommandShortcut (line 158) | function CommandShortcut({ FILE: apps/rowboatx/components/ui/dialog.tsx function Dialog (line 9) | function Dialog({ function DialogTrigger (line 15) | function DialogTrigger({ function DialogPortal (line 21) | function DialogPortal({ function DialogClose (line 27) | function DialogClose({ function DialogOverlay (line 33) | function DialogOverlay({ function DialogContent (line 49) | function DialogContent({ function DialogHeader (line 83) | function DialogHeader({ className, ...props }: React.ComponentProps<"div... function DialogFooter (line 93) | function DialogFooter({ className, ...props }: React.ComponentProps<"div... function DialogTitle (line 106) | function DialogTitle({ function DialogDescription (line 119) | function DialogDescription({ FILE: apps/rowboatx/components/ui/dropdown-menu.tsx function DropdownMenu (line 9) | function DropdownMenu({ function DropdownMenuPortal (line 15) | function DropdownMenuPortal({ function DropdownMenuTrigger (line 23) | function DropdownMenuTrigger({ function DropdownMenuContent (line 34) | function DropdownMenuContent({ function DropdownMenuGroup (line 54) | function DropdownMenuGroup({ function DropdownMenuItem (line 62) | function DropdownMenuItem({ function DropdownMenuCheckboxItem (line 85) | function DropdownMenuCheckboxItem({ function DropdownMenuRadioGroup (line 111) | function DropdownMenuRadioGroup({ function DropdownMenuRadioItem (line 122) | function DropdownMenuRadioItem({ function DropdownMenuLabel (line 146) | function DropdownMenuLabel({ function DropdownMenuSeparator (line 166) | function DropdownMenuSeparator({ function DropdownMenuShortcut (line 179) | function DropdownMenuShortcut({ function DropdownMenuSub (line 195) | function DropdownMenuSub({ function DropdownMenuSubTrigger (line 201) | function DropdownMenuSubTrigger({ function DropdownMenuSubContent (line 225) | function DropdownMenuSubContent({ FILE: apps/rowboatx/components/ui/hover-card.tsx function HoverCard (line 8) | function HoverCard({ function HoverCardTrigger (line 14) | function HoverCardTrigger({ function HoverCardContent (line 22) | function HoverCardContent({ FILE: apps/rowboatx/components/ui/input-group.tsx function InputGroup (line 11) | function InputGroup({ className, ...props }: React.ComponentProps<"div">) { function InputGroupAddon (line 60) | function InputGroupAddon({ function InputGroupButton (line 100) | function InputGroupButton({ function InputGroupText (line 119) | function InputGroupText({ className, ...props }: React.ComponentProps<"s... function InputGroupInput (line 131) | function InputGroupInput({ function InputGroupTextarea (line 147) | function InputGroupTextarea({ FILE: apps/rowboatx/components/ui/input.tsx function Input (line 5) | function Input({ className, type, ...props }: React.ComponentProps<"inpu... FILE: apps/rowboatx/components/ui/progress.tsx function Progress (line 8) | function Progress({ FILE: apps/rowboatx/components/ui/scroll-area.tsx function ScrollArea (line 8) | function ScrollArea({ function ScrollBar (line 31) | function ScrollBar({ FILE: apps/rowboatx/components/ui/select.tsx function Select (line 9) | function Select({ function SelectGroup (line 15) | function SelectGroup({ function SelectValue (line 21) | function SelectValue({ function SelectTrigger (line 27) | function SelectTrigger({ function SelectContent (line 53) | function SelectContent({ function SelectLabel (line 90) | function SelectLabel({ function SelectItem (line 103) | function SelectItem({ function SelectSeparator (line 127) | function SelectSeparator({ function SelectScrollUpButton (line 140) | function SelectScrollUpButton({ function SelectScrollDownButton (line 158) | function SelectScrollDownButton({ FILE: apps/rowboatx/components/ui/separator.tsx function Separator (line 8) | function Separator({ FILE: apps/rowboatx/components/ui/sheet.tsx function Sheet (line 9) | function Sheet({ ...props }: React.ComponentProps) { function SidebarMenuItem (line 465) | function SidebarMenuItem({ className, ...props }: React.ComponentProps<"... function SidebarMenuButton (line 498) | function SidebarMenuButton({ function SidebarMenuAction (line 548) | function SidebarMenuAction({ function SidebarMenuBadge (line 580) | function SidebarMenuBadge({ function SidebarMenuSkeleton (line 602) | function SidebarMenuSkeleton({ function SidebarMenuSub (line 640) | function SidebarMenuSub({ className, ...props }: React.ComponentProps<"u... function SidebarMenuSubItem (line 655) | function SidebarMenuSubItem({ function SidebarMenuSubButton (line 669) | function SidebarMenuSubButton({ FILE: apps/rowboatx/components/ui/skeleton.tsx function Skeleton (line 3) | function Skeleton({ className, ...props }: React.ComponentProps<"div">) { FILE: apps/rowboatx/components/ui/textarea.tsx function Textarea (line 5) | function Textarea({ className, ...props }: React.ComponentProps<"textare... FILE: apps/rowboatx/components/ui/tooltip.tsx function TooltipProvider (line 8) | function TooltipProvider({ function Tooltip (line 21) | function Tooltip({ function TooltipTrigger (line 31) | function TooltipTrigger({ function TooltipContent (line 37) | function TooltipContent({ FILE: apps/rowboatx/global.d.ts type Window (line 4) | interface Window { FILE: apps/rowboatx/hooks/use-mobile.ts constant MOBILE_BREAKPOINT (line 3) | const MOBILE_BREAKPOINT = 768 function useIsMobile (line 5) | function useIsMobile() { FILE: apps/rowboatx/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: apps/rowboatx/types/turndown.d.ts class TurndownService (line 2) | class TurndownService { FILE: apps/x/apps/main/src/auth-server.ts constant OAUTH_CALLBACK_PATH (line 4) | const OAUTH_CALLBACK_PATH = '/oauth/callback'; constant DEFAULT_PORT (line 5) | const DEFAULT_PORT = 8080; function escapeHtml (line 8) | function escapeHtml(str: string): string { type AuthServerResult (line 17) | interface AuthServerResult { function createAuthServer (line 26) | function createAuthServer( FILE: apps/x/apps/main/src/composio-handler.ts constant REDIRECT_URI (line 7) | const REDIRECT_URI = 'http://localhost:8081/oauth/callback'; function emitComposioEvent (line 19) | function emitComposioEvent(event: { toolkitSlug: string; success: boolea... function isConfigured (line 31) | function isConfigured(): { configured: boolean } { function setApiKey (line 38) | function setApiKey(apiKey: string): { success: boolean; error?: string } { function initiateConnection (line 53) | async function initiateConnection(toolkitSlug: string): Promise<{ function getConnectionStatus (line 209) | async function getConnectionStatus(toolkitSlug: string): Promise<{ function syncConnection (line 226) | async function syncConnection( function disconnect (line 243) | async function disconnect(toolkitSlug: string): Promise<{ success: boole... function listConnected (line 264) | function listConnected(): { toolkits: string[] } { function executeAction (line 271) | async function executeAction( FILE: apps/x/apps/main/src/ipc.ts type InvokeChannels (line 36) | type InvokeChannels = ipc.InvokeChannels; type IPCChannels (line 37) | type IPCChannels = ipc.IPCChannels; type InvokeHandler (line 42) | type InvokeHandler = ( type InvokeHandlers (line 51) | type InvokeHandlers = { function registerIpcHandlers (line 63) | function registerIpcHandlers(handlers: InvokeHandlers) { function getVersions (line 89) | function getVersions(): { function emitKnowledgeCommitEvent (line 112) | function emitKnowledgeCommitEvent(): void { function emitWorkspaceChangeEvent (line 124) | function emitWorkspaceChangeEvent(event: z.infer { function stopWorkspaceWatcher (line 217) | function stopWorkspaceWatcher(): void { function emitRunEvent (line 229) | function emitRunEvent(event: z.infer): void { function emitServiceEvent (line 238) | function emitServiceEvent(event: z.infer): void { function emitOAuthEvent (line 247) | function emitOAuthEvent(event: { provider: string; success: boolean; err... function startRunsWatcher (line 257) | async function startRunsWatcher(): Promise { function startServicesWatcher (line 267) | async function startServicesWatcher(): Promise { function stopRunsWatcher (line 276) | function stopRunsWatcher(): void { function stopServicesWatcher (line 283) | function stopServicesWatcher(): void { function setupIpcHandlers (line 298) | function setupIpcHandlers() { FILE: apps/x/apps/main/src/main.ts function registerAppProtocol (line 43) | function registerAppProtocol() { function createWindow (line 75) | function createWindow() { FILE: apps/x/apps/main/src/oauth-handler.ts constant REDIRECT_URI (line 15) | const REDIRECT_URI = 'http://localhost:8080/oauth/callback'; type ActiveOAuthFlow (line 25) | interface ActiveOAuthFlow { function cancelActiveFlow (line 37) | function cancelActiveFlow(reason: string = 'cancelled'): void { function getOAuthRepo (line 63) | function getOAuthRepo(): IOAuthRepo { function getClientRegistrationRepo (line 70) | function getClientRegistrationRepo(): IClientRegistrationRepo { function getProviderConfiguration (line 77) | async function getProviderConfiguration(provider: string, clientIdOverri... function connectProvider (line 151) | async function connectProvider(provider: string, clientId?: string): Pro... function disconnectProvider (line 281) | async function disconnectProvider(provider: string): Promise<{ success: ... function getAccessToken (line 296) | async function getAccessToken(provider: string): Promise { function listProviders (line 339) | function listProviders(): { providers: string[] } { FILE: apps/x/apps/main/src/test-agent.ts function main (line 4) | async function main() { FILE: apps/x/apps/preload/src/preload.ts type InvokeChannels (line 4) | type InvokeChannels = ipcShared.InvokeChannels; type IPCChannels (line 5) | type IPCChannels = ipcShared.IPCChannels; type SendChannels (line 6) | type SendChannels = ipcShared.SendChannels; method invoke (line 14) | invoke( method send (line 27) | send( method on (line 40) | on( FILE: apps/x/apps/renderer/src/App.tsx type DirEntry (line 76) | type DirEntry = z.infer type RunEventType (line 77) | type RunEventType = z.infer type ListRunsResponseType (line 78) | type ListRunsResponseType = z.infer type TreeNode (line 80) | interface TreeNode extends DirEntry { constant DEFAULT_SIDEBAR_WIDTH (line 87) | const DEFAULT_SIDEBAR_WIDTH = 256 constant MACOS_TRAFFIC_LIGHTS_RESERVED_PX (line 100) | const MACOS_TRAFFIC_LIGHTS_RESERVED_PX = 16 + 12 * 3 + 8 * 2 constant TITLEBAR_BUTTON_PX (line 101) | const TITLEBAR_BUTTON_PX = 32 constant TITLEBAR_BUTTON_GAP_PX (line 102) | const TITLEBAR_BUTTON_GAP_PX = 4 constant TITLEBAR_HEADER_GAP_PX (line 103) | const TITLEBAR_HEADER_GAP_PX = 8 constant TITLEBAR_TOGGLE_MARGIN_LEFT_PX (line 104) | const TITLEBAR_TOGGLE_MARGIN_LEFT_PX = 12 constant TITLEBAR_BUTTONS_COLLAPSED (line 105) | const TITLEBAR_BUTTONS_COLLAPSED = 5 constant TITLEBAR_BUTTON_GAPS_COLLAPSED (line 106) | const TITLEBAR_BUTTON_GAPS_COLLAPSED = 4 constant GRAPH_TAB_PATH (line 107) | const GRAPH_TAB_PATH = '__rowboat_graph_view__' constant WIKI_LINK_TOKEN_REGEX (line 144) | const WIKI_LINK_TOKEN_REGEX = /\[\[([^[\]]+)\]\]/g constant KNOWLEDGE_PREFIX (line 145) | const KNOWLEDGE_PREFIX = 'knowledge/' function sortNodes (line 254) | function sortNodes(nodes: TreeNode[]): TreeNode[] { function buildTree (line 267) | function buildTree(entries: DirEntry[]): TreeNode[] { type ViewState (line 305) | type ViewState = function viewStatesEqual (line 311) | function viewStatesEqual(a: ViewState, b: ViewState): boolean { function FixedSidebarToggle (line 320) | function FixedSidebarToggle({ function ContentHeader (line 399) | function ContentHeader({ function App (line 456) | function App() { FILE: apps/x/apps/renderer/src/components/ai-elements/ask-human-request.tsx type AskHumanRequestProps (line 10) | type AskHumanRequestProps = ComponentProps<"div"> & { FILE: apps/x/apps/renderer/src/components/ai-elements/context.tsx constant PERCENT_MAX (line 15) | const PERCENT_MAX = 100; constant ICON_RADIUS (line 16) | const ICON_RADIUS = 10; constant ICON_VIEWBOX (line 17) | const ICON_VIEWBOX = 24; constant ICON_CENTER (line 18) | const ICON_CENTER = 12; constant ICON_STROKE_WIDTH (line 19) | const ICON_STROKE_WIDTH = 2; type ModelId (line 21) | type ModelId = string; type ContextSchema (line 23) | type ContextSchema = { type ContextProps (line 42) | type ContextProps = ComponentProps & ContextSchema; type ContextTriggerProps (line 104) | type ContextTriggerProps = ComponentProps; type ContextContentProps (line 128) | type ContextContentProps = ComponentProps; type ContextContentHeaderProps (line 140) | type ContextContentHeaderProps = ComponentProps<"div">; type ContextContentBodyProps (line 179) | type ContextContentBodyProps = ComponentProps<"div">; type ContextContentFooterProps (line 191) | type ContextContentFooterProps = ComponentProps<"div">; type ContextInputUsageProps (line 231) | type ContextInputUsageProps = ComponentProps<"div">; type ContextOutputUsageProps (line 271) | type ContextOutputUsageProps = ComponentProps<"div">; type ContextReasoningUsageProps (line 311) | type ContextReasoningUsageProps = ComponentProps<"div">; type ContextCacheUsageProps (line 351) | type ContextCacheUsageProps = ComponentProps<"div">; FILE: apps/x/apps/renderer/src/components/ai-elements/conversation.tsx type ScrollPreservationContextValue (line 11) | interface ScrollPreservationContextValue { type ConversationProps (line 19) | type ConversationProps = ComponentProps & { type ConversationContentProps (line 137) | type ConversationContentProps = ComponentProps< type ConversationEmptyStateProps (line 151) | type ConversationEmptyStateProps = ComponentProps<"div"> & { type ConversationScrollButtonProps (line 186) | type ConversationScrollButtonProps = ComponentProps; FILE: apps/x/apps/renderer/src/components/ai-elements/file-path-card.tsx constant AUDIO_EXTENSIONS (line 8) | const AUDIO_EXTENSIONS = new Set(['.wav', '.mp3', '.m4a', '.ogg', '.flac... constant IMAGE_EXTENSIONS (line 9) | const IMAGE_EXTENSIONS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.web... constant VIDEO_EXTENSIONS (line 10) | const VIDEO_EXTENSIONS = new Set(['.mp4', '.mov', '.avi', '.mkv', '.webm']) constant DOCUMENT_EXTENSIONS (line 11) | const DOCUMENT_EXTENSIONS = new Set(['.pdf', '.doc', '.docx', '.xls', '.... function getExtension (line 13) | function getExtension(filePath: string): string { function getFileNameWithoutExt (line 18) | function getFileNameWithoutExt(filePath: string): string { function getFileCategory (line 24) | function getFileCategory(ext: string): { label: string; icon: typeof Fil... function getExtLabel (line 33) | function getExtLabel(ext: string): string { function CardShell (line 38) | function CardShell({ function KnowledgeFileCard (line 73) | function KnowledgeFileCard({ filePath }: { filePath: string }) { function AudioFileCard (line 97) | function AudioFileCard({ filePath }: { filePath: string }) { function SystemFileCard (line 173) | function SystemFileCard({ filePath }: { filePath: string }) { function FilePathCard (line 218) | function FilePathCard({ filePath }: { filePath: string }) { FILE: apps/x/apps/renderer/src/components/ai-elements/markdown-code-override.tsx function MarkdownPreOverride (line 4) | function MarkdownPreOverride(props: JSX.IntrinsicElements['pre']) { FILE: apps/x/apps/renderer/src/components/ai-elements/message.tsx type MessageProps (line 26) | type MessageProps = HTMLAttributes & { type MessageContentProps (line 41) | type MessageContentProps = HTMLAttributes; type MessageActionsProps (line 62) | type MessageActionsProps = ComponentProps<"div">; type MessageActionProps (line 74) | type MessageActionProps = ComponentProps & { type MessageBranchContextType (line 110) | type MessageBranchContextType = { type MessageBranchProps (line 135) | type MessageBranchProps = HTMLAttributes & { type MessageBranchContentProps (line 185) | type MessageBranchContentProps = HTMLAttributes; type MessageBranchSelectorProps (line 215) | type MessageBranchSelectorProps = HTMLAttributes & { type MessageBranchPreviousProps (line 244) | type MessageBranchPreviousProps = ComponentProps; type MessageBranchNextProps (line 267) | type MessageBranchNextProps = ComponentProps; type MessageBranchPageProps (line 292) | type MessageBranchPageProps = HTMLAttributes; type MessageResponseProps (line 313) | type MessageResponseProps = ComponentProps; type MessageAttachmentProps (line 330) | type MessageAttachmentProps = HTMLAttributes & { function MessageAttachment (line 336) | function MessageAttachment({ type MessageAttachmentsProps (line 414) | type MessageAttachmentsProps = ComponentProps<"div">; function MessageAttachments (line 416) | function MessageAttachments({ type MessageToolbarProps (line 438) | type MessageToolbarProps = ComponentProps<"div">; FILE: apps/x/apps/renderer/src/components/ai-elements/permission-request.tsx type PermissionRequestProps (line 17) | type PermissionRequestProps = ComponentProps<"div"> & { FILE: apps/x/apps/renderer/src/components/ai-elements/prompt-input.tsx type AttachmentsContext (line 81) | type AttachmentsContext = { type FileMention (line 90) | type FileMention = { type MentionsContext (line 96) | type MentionsContext = { type TextInputContext (line 103) | type TextInputContext = { type PromptInputControllerProps (line 109) | type PromptInputControllerProps = { type KnowledgeFilesContext (line 167) | type KnowledgeFilesContext = { type PromptInputProviderProps (line 179) | type PromptInputProviderProps = PropsWithChildren<{ function PromptInputProvider (line 190) | function PromptInputProvider({ type PromptInputAttachmentProps (line 369) | type PromptInputAttachmentProps = HTMLAttributes & { function PromptInputAttachment (line 374) | function PromptInputAttachment({ type PromptInputAttachmentsProps (line 465) | type PromptInputAttachmentsProps = Omit< function PromptInputAttachments (line 472) | function PromptInputAttachments({ type PromptInputActionAddAttachmentsProps (line 495) | type PromptInputActionAddAttachmentsProps = ComponentProps< type PromptInputMessage (line 520) | type PromptInputMessage = { type PromptInputProps (line 525) | type PromptInputProps = Omit< type PromptInputBodyProps (line 896) | type PromptInputBodyProps = HTMLAttributes; type PromptInputTextareaProps (line 905) | type PromptInputTextareaProps = ComponentProps< type PromptInputHeaderProps (line 1210) | type PromptInputHeaderProps = Omit< type PromptInputFooterProps (line 1226) | type PromptInputFooterProps = Omit< type PromptInputToolsProps (line 1242) | type PromptInputToolsProps = HTMLAttributes; type PromptInputButtonProps (line 1251) | type PromptInputButtonProps = ComponentProps; type PromptInputActionMenuProps (line 1273) | type PromptInputActionMenuProps = ComponentProps; type PromptInputActionMenuTriggerProps (line 1278) | type PromptInputActionMenuTriggerProps = PromptInputButtonProps; type PromptInputActionMenuContentProps (line 1292) | type PromptInputActionMenuContentProps = ComponentProps< type PromptInputActionMenuItemProps (line 1302) | type PromptInputActionMenuItemProps = ComponentProps< type PromptInputSubmitProps (line 1315) | type PromptInputSubmitProps = ComponentProps & { type SpeechRecognition (line 1351) | interface SpeechRecognition extends EventTarget { type SpeechRecognitionEvent (line 1367) | interface SpeechRecognitionEvent extends Event { type SpeechRecognitionResultList (line 1372) | type SpeechRecognitionResultList = { type SpeechRecognitionResult (line 1378) | type SpeechRecognitionResult = { type SpeechRecognitionAlternative (line 1385) | type SpeechRecognitionAlternative = { type SpeechRecognitionErrorEvent (line 1390) | interface SpeechRecognitionErrorEvent extends Event { type Window (line 1395) | interface Window { type PromptInputSpeechButtonProps (line 1405) | type PromptInputSpeechButtonProps = ComponentProps< type PromptInputSelectProps (line 1511) | type PromptInputSelectProps = ComponentProps; type PromptInputSelectTriggerProps (line 1517) | type PromptInputSelectTriggerProps = ComponentProps< type PromptInputSelectContentProps (line 1535) | type PromptInputSelectContentProps = ComponentProps< type PromptInputSelectItemProps (line 1546) | type PromptInputSelectItemProps = ComponentProps; type PromptInputSelectValueProps (line 1555) | type PromptInputSelectValueProps = ComponentProps; type PromptInputHoverCardProps (line 1564) | type PromptInputHoverCardProps = ComponentProps; type PromptInputHoverCardTriggerProps (line 1574) | type PromptInputHoverCardTriggerProps = ComponentProps< type PromptInputHoverCardContentProps (line 1582) | type PromptInputHoverCardContentProps = ComponentProps< type PromptInputTabsListProps (line 1593) | type PromptInputTabsListProps = HTMLAttributes; type PromptInputTabProps (line 1600) | type PromptInputTabProps = HTMLAttributes; type PromptInputTabLabelProps (line 1607) | type PromptInputTabLabelProps = HTMLAttributes; type PromptInputTabBodyProps (line 1622) | type PromptInputTabBodyProps = HTMLAttributes; type PromptInputTabItemProps (line 1631) | type PromptInputTabItemProps = HTMLAttributes; type PromptInputCommandProps (line 1646) | type PromptInputCommandProps = ComponentProps; type PromptInputCommandInputProps (line 1653) | type PromptInputCommandInputProps = ComponentProps; type PromptInputCommandListProps (line 1662) | type PromptInputCommandListProps = ComponentProps; type PromptInputCommandEmptyProps (line 1671) | type PromptInputCommandEmptyProps = ComponentProps; type PromptInputCommandGroupProps (line 1680) | type PromptInputCommandGroupProps = ComponentProps; type PromptInputCommandItemProps (line 1689) | type PromptInputCommandItemProps = ComponentProps; type PromptInputCommandSeparatorProps (line 1698) | type PromptInputCommandSeparatorProps = ComponentProps< FILE: apps/x/apps/renderer/src/components/ai-elements/reasoning.tsx type ReasoningContextValue (line 16) | type ReasoningContextValue = { type ReasoningProps (line 33) | type ReasoningProps = ComponentProps & { constant AUTO_CLOSE_DELAY (line 41) | const AUTO_CLOSE_DELAY = 1000; constant MS_IN_S (line 42) | const MS_IN_S = 1000; type ReasoningTriggerProps (line 114) | type ReasoningTriggerProps = ComponentProps & { type ReasoningContentProps (line 157) | type ReasoningContentProps = ComponentProps< FILE: apps/x/apps/renderer/src/components/ai-elements/shimmer.tsx type TextShimmerProps (line 13) | type TextShimmerProps = { FILE: apps/x/apps/renderer/src/components/ai-elements/suggestions.tsx type Suggestion (line 4) | interface Suggestion { type SuggestionsProps (line 44) | interface SuggestionsProps { function Suggestions (line 51) | function Suggestions({ FILE: apps/x/apps/renderer/src/components/ai-elements/tool.tsx type ToolProps (line 48) | type ToolProps = ComponentProps; type ToolHeaderProps (line 57) | type ToolHeaderProps = { type ToolContentProps (line 120) | type ToolContentProps = ComponentProps; type ToolInputProps (line 132) | type ToolInputProps = ComponentProps<"div"> & { type ToolOutputProps (line 147) | type ToolOutputProps = ComponentProps<"div"> & { FILE: apps/x/apps/renderer/src/components/ai-elements/web-search-result.tsx type WebSearchResultProps (line 15) | interface WebSearchResultProps { function getDomain (line 22) | function getDomain(url: string): string { function WebSearchResult (line 30) | function WebSearchResult({ query, results, status, title = "Searched the... FILE: apps/x/apps/renderer/src/components/background-task-detail.tsx type BackgroundTaskSchedule (line 4) | interface BackgroundTaskSchedule { type BackgroundTaskDetailProps (line 13) | interface BackgroundTaskDetailProps { function formatScheduleDescription (line 26) | function formatScheduleDescription(schedule: BackgroundTaskSchedule): st... function formatDateTime (line 39) | function formatDateTime(isoString: string | null | undefined): string { function BackgroundTaskDetail (line 49) | function BackgroundTaskDetail({ FILE: apps/x/apps/renderer/src/components/chat-button.tsx type ChatInputBarProps (line 6) | interface ChatInputBarProps { function ChatInputBar (line 11) | function ChatInputBar({ onSubmit, onOpen }: ChatInputBarProps) { FILE: apps/x/apps/renderer/src/components/chat-input-with-mentions.tsx type StagedAttachment (line 36) | type StagedAttachment = { constant MAX_ATTACHMENT_SIZE (line 46) | const MAX_ATTACHMENT_SIZE = 10 * 1024 * 1024 // 10MB function getAttachmentIcon (line 48) | function getAttachmentIcon(kind: AttachmentIconKind) { type ChatInputInnerProps (line 67) | interface ChatInputInnerProps { function ChatInputInner (line 80) | function ChatInputInner({ type ChatInputWithMentionsProps (line 313) | interface ChatInputWithMentionsProps { function ChatInputWithMentions (line 329) | function ChatInputWithMentions({ FILE: apps/x/apps/renderer/src/components/chat-message-attachments.tsx function getAttachmentIcon (line 23) | function getAttachmentIcon(kind: AttachmentIconKind) { function ImageAttachmentPreview (line 42) | function ImageAttachmentPreview({ attachment }: { attachment: MessageAtt... type ChatMessageAttachmentsProps (line 86) | interface ChatMessageAttachmentsProps { function ChatMessageAttachments (line 91) | function ChatMessageAttachments({ attachments, className }: ChatMessageA... FILE: apps/x/apps/renderer/src/components/chat-sidebar.tsx constant MIN_WIDTH (line 48) | const MIN_WIDTH = 360 constant MAX_WIDTH (line 49) | const MAX_WIDTH = 1600 constant MIN_MAIN_PANE_WIDTH (line 50) | const MIN_MAIN_PANE_WIDTH = 420 constant MIN_MAIN_PANE_RATIO (line 51) | const MIN_MAIN_PANE_RATIO = 0.3 constant DEFAULT_WIDTH (line 52) | const DEFAULT_WIDTH = 460 constant RIGHT_PANE_WIDTH_STORAGE_KEY (line 53) | const RIGHT_PANE_WIDTH_STORAGE_KEY = 'x:right-pane-width' function clampPaneWidth (line 55) | function clampPaneWidth(width: number, maxWidth: number = MAX_WIDTH): nu... function getInitialPaneWidth (line 61) | function getInitialPaneWidth(defaultWidth: number): number { type ChatSidebarProps (line 75) | interface ChatSidebarProps { function ChatSidebar (line 113) | function ChatSidebar({ FILE: apps/x/apps/renderer/src/components/composio-api-key-modal.tsx type ComposioApiKeyModalProps (line 14) | interface ComposioApiKeyModalProps { function ComposioApiKeyModal (line 21) | function ComposioApiKeyModal({ FILE: apps/x/apps/renderer/src/components/connectors-popover.tsx type ProviderState (line 25) | interface ProviderState { type ProviderStatus (line 31) | interface ProviderStatus { type ConnectorsPopoverProps (line 35) | interface ConnectorsPopoverProps { function ConnectorsPopover (line 42) | function ConnectorsPopover({ children, tooltip, open: openProp, onOpenCh... FILE: apps/x/apps/renderer/src/components/editor-toolbar.tsx type EditorToolbarProps (line 30) | interface EditorToolbarProps { function EditorToolbar (line 36) | function EditorToolbar({ FILE: apps/x/apps/renderer/src/components/google-client-id-modal.tsx constant GOOGLE_CLIENT_ID_SETUP_GUIDE_URL (line 14) | const GOOGLE_CLIENT_ID_SETUP_GUIDE_URL = type GoogleClientIdModalProps (line 17) | interface GoogleClientIdModalProps { function GoogleClientIdModal (line 25) | function GoogleClientIdModal({ FILE: apps/x/apps/renderer/src/components/graph-view.tsx type GraphNode (line 6) | type GraphNode = { type GraphEdge (line 16) | type GraphEdge = { type GraphViewProps (line 21) | type GraphViewProps = { type NodePosition (line 29) | type NodePosition = { constant SIMULATION_STEPS (line 36) | const SIMULATION_STEPS = 240 constant SPRING_LENGTH (line 37) | const SPRING_LENGTH = 80 constant SPRING_STRENGTH (line 38) | const SPRING_STRENGTH = 0.0038 constant REPULSION (line 39) | const REPULSION = 5800 constant DAMPING (line 40) | const DAMPING = 0.83 constant MIN_DISTANCE (line 41) | const MIN_DISTANCE = 34 constant CLUSTER_STRENGTH (line 42) | const CLUSTER_STRENGTH = 0.0018 constant CLUSTER_RADIUS_MIN (line 43) | const CLUSTER_RADIUS_MIN = 120 constant CLUSTER_RADIUS_MAX (line 44) | const CLUSTER_RADIUS_MAX = 240 constant CLUSTER_RADIUS_STEP (line 45) | const CLUSTER_RADIUS_STEP = 45 constant FLOAT_BASE (line 46) | const FLOAT_BASE = 3.5 constant FLOAT_VARIANCE (line 47) | const FLOAT_VARIANCE = 2 constant FLOAT_SPEED_BASE (line 48) | const FLOAT_SPEED_BASE = 0.0006 constant FLOAT_SPEED_VARIANCE (line 49) | const FLOAT_SPEED_VARIANCE = 0.00025 function GraphView (line 51) | function GraphView({ nodes, edges, isLoading, error, onSelectNode }: Gra... FILE: apps/x/apps/renderer/src/components/help-popover.tsx type HelpPopoverProps (line 19) | interface HelpPopoverProps { function HelpPopover (line 24) | function HelpPopover({ children, tooltip }: HelpPopoverProps) { FILE: apps/x/apps/renderer/src/components/markdown-editor.tsx constant BLANK_LINE_MARKER (line 15) | const BLANK_LINE_MARKER = '\u200B' function preprocessMarkdown (line 18) | function preprocessMarkdown(markdown: string): string { function postprocessMarkdown (line 36) | function postprocessMarkdown(markdown: string): string { function getMarkdownWithBlankLines (line 48) | function getMarkdownWithBlankLines(editor: Editor): string { type WikiLinkConfig (line 185) | type WikiLinkConfig = { type MarkdownEditorProps (line 192) | interface MarkdownEditorProps { type WikiLinkMatch (line 203) | type WikiLinkMatch = { type SelectionHighlightRange (line 208) | type SelectionHighlightRange = { from: number; to: number } | null method addProseMirrorPlugins (line 217) | addProseMirrorPlugins() { method addKeyboardShortcuts (line 245) | addKeyboardShortcuts() { function MarkdownEditor (line 278) | function MarkdownEditor({ FILE: apps/x/apps/renderer/src/components/mention-popover.tsx type MentionPopoverProps (line 8) | interface MentionPopoverProps { constant MAX_VISIBLE_FILES (line 20) | const MAX_VISIBLE_FILES = 8 function MentionPopover (line 22) | function MentionPopover({ FILE: apps/x/apps/renderer/src/components/onboarding-modal.tsx type ProviderState (line 31) | interface ProviderState { type OnboardingModalProps (line 37) | interface OnboardingModalProps { type Step (line 42) | type Step = 0 | 1 | 2 type LlmProviderFlavor (line 44) | type LlmProviderFlavor = "openai" | "anthropic" | "google" | "openrouter... type LlmModelOption (line 46) | interface LlmModelOption { function OnboardingModal (line 52) | function OnboardingModal({ open, onComplete }: OnboardingModalProps) { FILE: apps/x/apps/renderer/src/components/search-dialog.tsx type SearchResult (line 15) | interface SearchResult { type SearchType (line 22) | type SearchType = 'knowledge' | 'chat' function activeTabToTypes (line 24) | function activeTabToTypes(section: ActiveSection): SearchType[] { type SearchDialogProps (line 29) | interface SearchDialogProps { function SearchDialog (line 36) | function SearchDialog({ open, onOpenChange, onSelectFile, onSelectRun }:... function FilterToggle (line 182) | function FilterToggle({ FILE: apps/x/apps/renderer/src/components/settings-dialog.tsx type ConfigTab (line 25) | type ConfigTab = "models" | "mcp" | "security" | "appearance" type TabConfig (line 27) | interface TabConfig { type SettingsDialogProps (line 65) | interface SettingsDialogProps { function ThemeOption (line 71) | function ThemeOption({ function AppearanceSettings (line 100) | function AppearanceSettings() { type LlmProviderFlavor (line 137) | type LlmProviderFlavor = "openai" | "anthropic" | "google" | "openrouter... type LlmModelOption (line 139) | interface LlmModelOption { function ModelSettings (line 168) | function ModelSettings({ dialogOpen }: { dialogOpen: boolean }) { function SettingsDialog (line 502) | function SettingsDialog({ children }: SettingsDialogProps) { FILE: apps/x/apps/renderer/src/components/sidebar-content.tsx type TreeNode (line 92) | interface TreeNode { type KnowledgeActions (line 100) | type KnowledgeActions = { type RunListItem (line 112) | type RunListItem = { type BackgroundTaskItem (line 119) | type BackgroundTaskItem = { type ServiceEventType (line 136) | type ServiceEventType = z.infer constant MAX_SYNC_EVENTS (line 138) | const MAX_SYNC_EVENTS = 1000 constant RUN_STALE_MS (line 139) | const RUN_STALE_MS = 2 * 60 * 60 * 1000 constant SERVICE_LABELS (line 141) | const SERVICE_LABELS: Record = { type TasksActions (line 150) | type TasksActions = { type SidebarContentPanelProps (line 158) | type SidebarContentPanelProps = { function formatEventTime (line 178) | function formatEventTime(ts: string): string { function formatRunTime (line 184) | function formatRunTime(ts: string): string { function SyncStatusBar (line 203) | function SyncStatusBar() { function SidebarContentPanel (line 381) | function SidebarContentPanel({ function transcribeWithDeepgram (line 570) | async function transcribeWithDeepgram(audioBlob: Blob): Promise { function TabBar (line 27) | function TabBar({ FILE: apps/x/apps/renderer/src/components/ui/alert-dialog.tsx function AlertDialog (line 7) | function AlertDialog({ function AlertDialogTrigger (line 13) | function AlertDialogTrigger({ function AlertDialogPortal (line 21) | function AlertDialogPortal({ function AlertDialogOverlay (line 29) | function AlertDialogOverlay({ function AlertDialogContent (line 45) | function AlertDialogContent({ function AlertDialogHeader (line 68) | function AlertDialogHeader({ function AlertDialogFooter (line 84) | function AlertDialogFooter({ function AlertDialogTitle (line 100) | function AlertDialogTitle({ function AlertDialogDescription (line 116) | function AlertDialogDescription({ function AlertDialogMedia (line 129) | function AlertDialogMedia({ function AlertDialogAction (line 145) | function AlertDialogAction({ function AlertDialogCancel (line 163) | function AlertDialogCancel({ FILE: apps/x/apps/renderer/src/components/ui/badge.tsx function Badge (line 28) | function Badge({ FILE: apps/x/apps/renderer/src/components/ui/button-group.tsx function ButtonGroup (line 24) | function ButtonGroup({ function ButtonGroupText (line 40) | function ButtonGroupText({ function ButtonGroupSeparator (line 60) | function ButtonGroupSeparator({ FILE: apps/x/apps/renderer/src/components/ui/button.tsx function Button (line 41) | function Button({ FILE: apps/x/apps/renderer/src/components/ui/collapsible.tsx function Collapsible (line 5) | function Collapsible({ function CollapsibleTrigger (line 11) | function CollapsibleTrigger({ function CollapsibleContent (line 22) | function CollapsibleContent({ FILE: apps/x/apps/renderer/src/components/ui/command.tsx function Command (line 14) | function Command({ function CommandDialog (line 30) | function CommandDialog({ function CommandInput (line 61) | function CommandInput({ function CommandList (line 83) | function CommandList({ function CommandEmpty (line 99) | function CommandEmpty({ function CommandGroup (line 111) | function CommandGroup({ function CommandSeparator (line 127) | function CommandSeparator({ function CommandItem (line 140) | function CommandItem({ function CommandShortcut (line 156) | function CommandShortcut({ FILE: apps/x/apps/renderer/src/components/ui/context-menu.tsx function ContextMenu (line 7) | function ContextMenu({ function ContextMenuTrigger (line 13) | function ContextMenuTrigger({ function ContextMenuGroup (line 21) | function ContextMenuGroup({ function ContextMenuPortal (line 29) | function ContextMenuPortal({ function ContextMenuSub (line 37) | function ContextMenuSub({ function ContextMenuRadioGroup (line 43) | function ContextMenuRadioGroup({ function ContextMenuSubTrigger (line 54) | function ContextMenuSubTrigger({ function ContextMenuSubContent (line 78) | function ContextMenuSubContent({ function ContextMenuContent (line 94) | function ContextMenuContent({ function ContextMenuItem (line 112) | function ContextMenuItem({ function ContextMenuCheckboxItem (line 135) | function ContextMenuCheckboxItem({ function ContextMenuRadioItem (line 161) | function ContextMenuRadioItem({ function ContextMenuLabel (line 185) | function ContextMenuLabel({ function ContextMenuSeparator (line 205) | function ContextMenuSeparator({ function ContextMenuShortcut (line 218) | function ContextMenuShortcut({ FILE: apps/x/apps/renderer/src/components/ui/dialog.tsx function Dialog (line 7) | function Dialog({ function DialogTrigger (line 13) | function DialogTrigger({ function DialogPortal (line 19) | function DialogPortal({ function DialogClose (line 25) | function DialogClose({ function DialogOverlay (line 31) | function DialogOverlay({ function DialogContent (line 47) | function DialogContent({ function DialogHeader (line 81) | function DialogHeader({ className, ...props }: React.ComponentProps<"div... function DialogFooter (line 91) | function DialogFooter({ className, ...props }: React.ComponentProps<"div... function DialogTitle (line 104) | function DialogTitle({ function DialogDescription (line 117) | function DialogDescription({ FILE: apps/x/apps/renderer/src/components/ui/dropdown-menu.tsx function DropdownMenu (line 7) | function DropdownMenu({ function DropdownMenuPortal (line 13) | function DropdownMenuPortal({ function DropdownMenuTrigger (line 21) | function DropdownMenuTrigger({ function DropdownMenuContent (line 32) | function DropdownMenuContent({ function DropdownMenuGroup (line 52) | function DropdownMenuGroup({ function DropdownMenuItem (line 60) | function DropdownMenuItem({ function DropdownMenuCheckboxItem (line 83) | function DropdownMenuCheckboxItem({ function DropdownMenuRadioGroup (line 109) | function DropdownMenuRadioGroup({ function DropdownMenuRadioItem (line 120) | function DropdownMenuRadioItem({ function DropdownMenuLabel (line 144) | function DropdownMenuLabel({ function DropdownMenuSeparator (line 164) | function DropdownMenuSeparator({ function DropdownMenuShortcut (line 177) | function DropdownMenuShortcut({ function DropdownMenuSub (line 193) | function DropdownMenuSub({ function DropdownMenuSubTrigger (line 199) | function DropdownMenuSubTrigger({ function DropdownMenuSubContent (line 223) | function DropdownMenuSubContent({ FILE: apps/x/apps/renderer/src/components/ui/hover-card.tsx function HoverCard (line 6) | function HoverCard({ function HoverCardTrigger (line 12) | function HoverCardTrigger({ function HoverCardContent (line 20) | function HoverCardContent({ FILE: apps/x/apps/renderer/src/components/ui/input-group.tsx function InputGroup (line 11) | function InputGroup({ className, ...props }: React.ComponentProps<"div">) { function InputGroupAddon (line 60) | function InputGroupAddon({ function InputGroupButton (line 100) | function InputGroupButton({ function InputGroupText (line 119) | function InputGroupText({ className, ...props }: React.ComponentProps<"s... function InputGroupInput (line 131) | function InputGroupInput({ FILE: apps/x/apps/renderer/src/components/ui/input.tsx function Input (line 5) | function Input({ className, type, ...props }: React.ComponentProps<"inpu... FILE: apps/x/apps/renderer/src/components/ui/popover.tsx function Popover (line 6) | function Popover({ function PopoverTrigger (line 12) | function PopoverTrigger({ function PopoverContent (line 18) | function PopoverContent({ function PopoverAnchor (line 40) | function PopoverAnchor({ FILE: apps/x/apps/renderer/src/components/ui/progress.tsx function Progress (line 8) | function Progress({ FILE: apps/x/apps/renderer/src/components/ui/select.tsx function Select (line 9) | function Select({ function SelectGroup (line 15) | function SelectGroup({ function SelectValue (line 21) | function SelectValue({ function SelectTrigger (line 27) | function SelectTrigger({ function SelectContent (line 53) | function SelectContent({ function SelectLabel (line 90) | function SelectLabel({ function SelectItem (line 103) | function SelectItem({ function SelectSeparator (line 130) | function SelectSeparator({ function SelectScrollUpButton (line 143) | function SelectScrollUpButton({ function SelectScrollDownButton (line 161) | function SelectScrollDownButton({ FILE: apps/x/apps/renderer/src/components/ui/separator.tsx function Separator (line 6) | function Separator({ FILE: apps/x/apps/renderer/src/components/ui/sheet.tsx function Sheet (line 9) | function Sheet({ ...props }: React.ComponentProps) { function SidebarMenuItem (line 502) | function SidebarMenuItem({ className, ...props }: React.ComponentProps<"... function SidebarMenuButton (line 535) | function SidebarMenuButton({ function SidebarMenuAction (line 585) | function SidebarMenuAction({ function SidebarMenuBadge (line 617) | function SidebarMenuBadge({ function SidebarMenuSkeleton (line 639) | function SidebarMenuSkeleton({ function SidebarMenuSub (line 677) | function SidebarMenuSub({ className, ...props }: React.ComponentProps<"u... function SidebarMenuSubItem (line 692) | function SidebarMenuSubItem({ function SidebarMenuSubButton (line 706) | function SidebarMenuSubButton({ FILE: apps/x/apps/renderer/src/components/ui/skeleton.tsx function Skeleton (line 3) | function Skeleton({ className, ...props }: React.ComponentProps<"div">) { FILE: apps/x/apps/renderer/src/components/ui/switch.tsx function Switch (line 6) | function Switch({ FILE: apps/x/apps/renderer/src/components/ui/textarea.tsx type TextareaProps (line 4) | interface TextareaProps FILE: apps/x/apps/renderer/src/components/ui/tooltip.tsx function TooltipProvider (line 6) | function TooltipProvider({ function Tooltip (line 19) | function Tooltip({ function TooltipTrigger (line 29) | function TooltipTrigger({ function TooltipContent (line 35) | function TooltipContent({ FILE: apps/x/apps/renderer/src/components/version-history-panel.tsx type CommitInfo (line 6) | interface CommitInfo { type VersionHistoryPanelProps (line 13) | interface VersionHistoryPanelProps { function formatTimestamp (line 20) | function formatTimestamp(unixSeconds: number): { date: string; time: str... function VersionHistoryPanel (line 27) | function VersionHistoryPanel({ FILE: apps/x/apps/renderer/src/contexts/file-card-context.tsx type FileCardContextType (line 3) | interface FileCardContextType { function useFileCard (line 9) | function useFileCard() { function FileCardProvider (line 15) | function FileCardProvider({ FILE: apps/x/apps/renderer/src/contexts/sidebar-context.tsx type ActiveSection (line 5) | type ActiveSection = "knowledge" | "tasks" type SidebarSectionContextProps (line 7) | type SidebarSectionContextProps = { function useSidebarSection (line 14) | function useSidebarSection() { function SidebarSectionProvider (line 22) | function SidebarSectionProvider({ FILE: apps/x/apps/renderer/src/contexts/theme-context.tsx type Theme (line 5) | type Theme = "light" | "dark" | "system" type ThemeContextProps (line 7) | type ThemeContextProps = { constant STORAGE_KEY (line 15) | const STORAGE_KEY = "rowboat-theme" function getSystemTheme (line 17) | function getSystemTheme(): "light" | "dark" { function useTheme (line 22) | function useTheme() { function ThemeProvider (line 30) | function ThemeProvider({ FILE: apps/x/apps/renderer/src/extensions/image-upload.tsx function ImageUploadPlaceholder (line 8) | function ImageUploadPlaceholder({ node }: { node: { attrs: { progress?: ... method addAttributes (line 50) | addAttributes() { method parseHTML (line 61) | parseHTML() { method renderHTML (line 69) | renderHTML({ HTMLAttributes }: { HTMLAttributes: Record... method addNodeView (line 73) | addNodeView() { function createImageUploadHandler (line 79) | function createImageUploadHandler( function removePlaceholder (line 141) | function removePlaceholder( FILE: apps/x/apps/renderer/src/extensions/wiki-link.ts type WikiLinkOptions (line 8) | type WikiLinkOptions = { method addOptions (line 73) | addOptions() { method addAttributes (line 79) | addAttributes() { method parseHTML (line 87) | parseHTML() { method renderHTML (line 104) | renderHTML({ node, HTMLAttributes }) { method addStorage (line 119) | addStorage() { method addProseMirrorPlugins (line 135) | addProseMirrorPlugins() { FILE: apps/x/apps/renderer/src/global.d.ts type InvokeChannels (line 2) | type InvokeChannels = ipc.InvokeChannels; type SendChannels (line 3) | type SendChannels = ipc.SendChannels; type IPCChannels (line 4) | type IPCChannels = ipc.IPCChannels; type Window (line 7) | interface Window { FILE: apps/x/apps/renderer/src/hooks/use-debounce.ts function useDebounce (line 9) | function useDebounce(value: T, delay: number): T { FILE: apps/x/apps/renderer/src/hooks/use-mention-detection.ts type ActiveMention (line 4) | interface ActiveMention { type UseMentionDetectionResult (line 9) | interface UseMentionDetectionResult { function useMentionDetection (line 18) | function useMentionDetection( FILE: apps/x/apps/renderer/src/hooks/use-mobile.ts constant MOBILE_BREAKPOINT (line 3) | const MOBILE_BREAKPOINT = 768 function useIsMobile (line 5) | function useIsMobile() { FILE: apps/x/apps/renderer/src/hooks/useOAuth.ts function useOAuth (line 7) | function useOAuth(provider: string) { function useConnectedProviders (line 104) | function useConnectedProviders() { function useAvailableProviders (line 135) | function useAvailableProviders() { FILE: apps/x/apps/renderer/src/lib/attachment-presentation.ts type AttachmentLike (line 3) | type AttachmentLike = { type AttachmentIconKind (line 9) | type AttachmentIconKind = constant ARCHIVE_EXTENSIONS (line 18) | const ARCHIVE_EXTENSIONS = new Set([ constant SPREADSHEET_EXTENSIONS (line 22) | const SPREADSHEET_EXTENSIONS = new Set([ constant CODE_EXTENSIONS (line 26) | const CODE_EXTENSIONS = new Set([ function getAttachmentDisplayName (line 32) | function getAttachmentDisplayName(attachment: AttachmentLike): string { function getAttachmentTypeLabel (line 38) | function getAttachmentTypeLabel(attachment: AttachmentLike): string { function getAttachmentIconKind (line 54) | function getAttachmentIconKind(attachment: AttachmentLike): AttachmentIc... function getAttachmentToneClass (line 78) | function getAttachmentToneClass(typeLabel: string): string { FILE: apps/x/apps/renderer/src/lib/chat-conversation.ts type MessageAttachment (line 5) | interface MessageAttachment { type ChatMessage (line 13) | interface ChatMessage { type ToolCall (line 21) | interface ToolCall { type ErrorMessage (line 30) | interface ErrorMessage { type ConversationItem (line 37) | type ConversationItem = ChatMessage | ToolCall | ErrorMessage type PermissionResponse (line 38) | type PermissionResponse = 'approve' | 'deny' type ChatTabViewState (line 40) | type ChatTabViewState = { type ToolState (line 58) | type ToolState = 'input-streaming' | 'input-available' | 'output-availab... type WebSearchCardResult (line 108) | type WebSearchCardResult = { title: string; url: string; description: st... type WebSearchCardData (line 110) | type WebSearchCardData = { FILE: apps/x/apps/renderer/src/lib/file-utils.ts constant IMAGE_MIMES (line 1) | const IMAGE_MIMES = new Set([ constant EXTENSION_TO_MIME (line 6) | const EXTENSION_TO_MIME: Record = { function isImageMime (line 26) | function isImageMime(mimeType: string): boolean { function getMimeFromExtension (line 30) | function getMimeFromExtension(ext: string): string { function getFileDisplayName (line 35) | function getFileDisplayName(filePath: string): string { function getExtension (line 39) | function getExtension(filePath: string): string { function toFileUrl (line 45) | function toFileUrl(filePath: string): string { FILE: apps/x/apps/renderer/src/lib/google-client-id-store.ts function getGoogleClientId (line 3) | function getGoogleClientId(): string | null { function setGoogleClientId (line 7) | function setGoogleClientId(clientId: string): void { function clearGoogleClientId (line 15) | function clearGoogleClientId(): void { FILE: apps/x/apps/renderer/src/lib/mention-files.ts type BuildMentionFileListOptions (line 3) | type BuildMentionFileListOptions = { FILE: apps/x/apps/renderer/src/lib/mention-highlights.ts type MentionRange (line 3) | type MentionRange = { type MentionHighlightSegment (line 8) | type MentionHighlightSegment = { FILE: apps/x/apps/renderer/src/lib/textarea-caret.ts constant PROPERTIES_TO_COPY (line 7) | const PROPERTIES_TO_COPY = [ type CaretCoordinates (line 41) | interface CaretCoordinates { function getCaretCoordinates (line 47) | function getCaretCoordinates( function getCaretAbsoluteCoordinates (line 107) | function getCaretAbsoluteCoordinates( FILE: apps/x/apps/renderer/src/lib/toast.ts type ToastType (line 5) | type ToastType = 'success' | 'error' | 'info'; type Toast (line 7) | interface Toast { function toast (line 19) | function toast(message: string, type: ToastType = 'info'): void { function getToasts (line 34) | function getToasts(): Toast[] { function subscribe (line 41) | function subscribe(listener: () => void): () => void { function notifyListeners (line 48) | function notifyListeners(): void { function removeToast (line 55) | function removeToast(id: string): void { FILE: apps/x/apps/renderer/src/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: apps/x/apps/renderer/src/lib/wiki-links.ts constant KNOWLEDGE_PREFIX (line 1) | const KNOWLEDGE_PREFIX = 'knowledge/' FILE: apps/x/packages/core/src/agent-schedule/repo.ts constant DEFAULT_AGENT_SCHEDULES (line 7) | const DEFAULT_AGENT_SCHEDULES: z.infer["agen... type IAgentScheduleRepo (line 9) | interface IAgentScheduleRepo { class FSAgentScheduleRepo (line 16) | class FSAgentScheduleRepo implements IAgentScheduleRepo { method ensureConfig (line 19) | async ensureConfig(): Promise { method getConfig (line 27) | async getConfig(): Promise> { method upsert (line 32) | async upsert(agentName: string, entry: z.infer { FILE: apps/x/packages/core/src/agent-schedule/runner.ts constant DEFAULT_STARTING_MESSAGE (line 13) | const DEFAULT_STARTING_MESSAGE = "go"; constant POLL_INTERVAL_MS (line 15) | const POLL_INTERVAL_MS = 60 * 1000; constant TIMEOUT_MS (line 16) | const TIMEOUT_MS = 30 * 60 * 1000; function toLocalISOString (line 22) | function toLocalISOString(date: Date): string { function triggerRun (line 30) | function triggerRun(): void { function interruptibleSleep (line 38) | function interruptibleSleep(ms: number): Promise { function calculateNextRunAt (line 55) | function calculateNextRunAt( function shouldRunNow (line 106) | function shouldRunNow( function runAgent (line 146) | async function runAgent( function checkForTimeouts (line 224) | async function checkForTimeouts( function pollAndRun (line 259) | async function pollAndRun(): Promise { function init (line 323) | async function init(): Promise { FILE: apps/x/packages/core/src/agent-schedule/state-repo.ts constant DEFAULT_AGENT_SCHEDULE_STATE (line 7) | const DEFAULT_AGENT_SCHEDULE_STATE: z.infer["... type IAgentScheduleStateRepo (line 9) | interface IAgentScheduleStateRepo { class FSAgentScheduleStateRepo (line 18) | class FSAgentScheduleStateRepo implements IAgentScheduleStateRepo { method ensureState (line 21) | async ensureState(): Promise { method getState (line 29) | async getState(): Promise> { method getAgentState (line 34) | async getAgentState(agentName: string): Promise { FILE: apps/x/packages/core/src/agents/repo.ts type IAgentsRepo (line 12) | interface IAgentsRepo { class FSAgentsRepo (line 20) | class FSAgentsRepo implements IAgentsRepo { method list (line 23) | async list(): Promise[]> { method parseAgentMd (line 45) | private async parseAgentMd(filePath: string): Promise> { method create (line 85) | async create(agent: z.infer): Promise { method update (line 91) | async update(id: string, agent: z.infer): Pr... method delete (line 97) | async delete(id: string): Promise { FILE: apps/x/packages/core/src/agents/runtime.ts type IAgentRuntime (line 32) | interface IAgentRuntime { class AgentRuntime (line 36) | class AgentRuntime implements IAgentRuntime { method constructor (line 45) | constructor({ method trigger (line 71) | async trigger(runId: string): Promise { function mapAgentTool (line 151) | async function mapAgentTool(t: z.infer): Promise<... class RunLogger (line 193) | class RunLogger { method ensureRunsDir (line 197) | ensureRunsDir() { method constructor (line 204) | constructor(runId: string) { method log (line 213) | log(event: z.infer) { method close (line 219) | close() { class StreamStepMessageBuilder (line 224) | class StreamStepMessageBuilder { method flushBuffers (line 231) | flushBuffers() { method ingest (line 243) | ingest(event: z.infer) { method get (line 279) | get(): z.infer { function formatLlmStreamError (line 289) | function formatLlmStreamError(rawError: unknown): string { function loadAgent (line 313) | async function loadAgent(id: string): Promise> { function formatBytes (line 360) | function formatBytes(bytes: number): string { function convertFromMessages (line 366) | function convertFromMessages(messages: z.infer[]): Model... function buildTools (line 464) | async function buildTools(agent: z.infer): Promise { class AgentState (line 484) | class AgentState { method getPendingPermissions (line 499) | getPendingPermissions(): z.infer[] { method getPendingAskHumans (line 518) | getPendingAskHumans(): z.infer[] { method getAbortedToolResults (line 541) | getAbortedToolResults(): z.infer[] { method clearAllPending (line 561) | clearAllPending(): void { method finalResponse (line 570) | finalResponse(): string { method ingest (line 585) | ingest(event: z.infer) { FILE: apps/x/packages/core/src/application/assistant/runtime-context.ts type RuntimeShellDialect (line 1) | type RuntimeShellDialect = 'windows-cmd' | 'posix-sh'; type RuntimeOsName (line 2) | type RuntimeOsName = 'Windows' | 'macOS' | 'Linux' | 'Unknown'; type RuntimeContext (line 4) | interface RuntimeContext { function getExecutionShell (line 11) | function getExecutionShell(platform: NodeJS.Platform = process.platform)... function getRuntimeContext (line 15) | function getRuntimeContext(platform: NodeJS.Platform = process.platform)... function getRuntimeContextPrompt (line 51) | function getRuntimeContextPrompt(runtime: RuntimeContext): string { FILE: apps/x/packages/core/src/application/assistant/skills/index.ts constant CURRENT_DIR (line 15) | const CURRENT_DIR = path.dirname(fileURLToPath(import.meta.url)); constant CATALOG_PREFIX (line 16) | const CATALOG_PREFIX = "src/application/assistant/skills"; type SkillDefinition (line 18) | type SkillDefinition = { type ResolvedSkill (line 25) | type ResolvedSkill = { function resolveSkill (line 180) | function resolveSkill(identifier: string): ResolvedSkill | null { FILE: apps/x/packages/core/src/application/assistant/skills/slack/tool-catalog.ts type SlackToolDefinition (line 1) | type SlackToolDefinition = { FILE: apps/x/packages/core/src/application/lib/builtin-tools.ts type SlackToolHint (line 39) | type SlackToolHint = { type SlackToolResult (line 135) | type SlackToolResult = { success: boolean; data?: unknown; error?: strin... function executeSlackTool (line 138) | async function executeSlackTool( constant LLMPARSE_MIME_TYPES (line 265) | const LLMPARSE_MIME_TYPES: Record = { FILE: apps/x/packages/core/src/application/lib/bus.ts type IBus (line 4) | interface IBus { class InMemoryBus (line 12) | class InMemoryBus implements IBus { method publish (line 15) | async publish(event: z.infer): Promise { method subscribe (line 26) | async subscribe(runId: string, handler: (event: z.infer... type CommandResult (line 65) | interface CommandResult { function executeCommand (line 77) | async function executeCommand( type AbortableCommandResult (line 109) | interface AbortableCommandResult extends CommandResult { constant SIGKILL_GRACE_MS (line 113) | const SIGKILL_GRACE_MS = 200; function killProcessTree (line 119) | function killProcessTree(proc: ChildProcess, signal: NodeJS.Signals): vo... function executeCommandAbortable (line 138) | function executeCommandAbortable( function executeCommandSync (line 266) | function executeCommandSync( FILE: apps/x/packages/core/src/application/lib/exec-tool.ts type ToolContext (line 10) | interface ToolContext { function execMcpTool (line 16) | async function execMcpTool(agentTool: z.infer & {... function execTool (line 21) | async function execTool(agentTool: z.infer, input... FILE: apps/x/packages/core/src/application/lib/id-gen.ts type IMonotonicallyIncreasingIdGenerator (line 1) | interface IMonotonicallyIncreasingIdGenerator { class IdGen (line 5) | class IdGen implements IMonotonicallyIncreasingIdGenerator { method constructor (line 11) | constructor() { method next (line 20) | async next(): Promise { FILE: apps/x/packages/core/src/application/lib/message-queue.ts type UserMessageContentType (line 5) | type UserMessageContentType = z.infer; type EnqueuedMessage (line 7) | type EnqueuedMessage = { type IMessageQueue (line 12) | interface IMessageQueue { class InMemoryMessageQueue (line 17) | class InMemoryMessageQueue implements IMessageQueue { method constructor (line 21) | constructor({ method enqueue (line 29) | async enqueue(runId: string, message: UserMessageContentType): Promise... method dequeue (line 41) | async dequeue(runId: string): Promise { FILE: apps/x/packages/core/src/auth/client-repo.ts type IClientRegistrationRepo (line 6) | interface IClientRegistrationRepo { type ClientRegistrationStorage (line 12) | type ClientRegistrationStorage = { class FSClientRegistrationRepo (line 16) | class FSClientRegistrationRepo implements IClientRegistrationRepo { method constructor (line 19) | constructor() { method ensureConfigFile (line 23) | private async ensureConfigFile(): Promise { method readConfig (line 32) | private async readConfig(): Promise { method writeConfig (line 42) | private async writeConfig(config: ClientRegistrationStorage): Promise<... method getClientRegistration (line 46) | async getClientRegistration(provider: string): Promise { FILE: apps/x/packages/core/src/auth/oauth-client.ts function toOAuthTokens (line 12) | function toOAuthTokens(response: client.TokenEndpointResponse): OAuthTok... function discoverConfiguration (line 38) | async function discoverConfiguration( function createStaticConfiguration (line 66) | function createStaticConfiguration( function registerClient (line 96) | async function registerClient( function generatePKCE (line 137) | async function generatePKCE(): Promise<{ verifier: string; challenge: st... function generateState (line 146) | function generateState(): string { function buildAuthorizationUrl (line 153) | function buildAuthorizationUrl( function exchangeCodeForTokens (line 166) | async function exchangeCodeForTokens( function refreshTokens (line 187) | async function refreshTokens( function isTokenExpired (line 215) | function isTokenExpired(tokens: OAuthTokens): boolean { function clearConfigCache (line 223) | function clearConfigCache(issuerUrl?: string, clientId?: string): void { function getCachedConfiguration (line 236) | function getCachedConfiguration(issuerUrl: string, clientId: string): cl... FILE: apps/x/packages/core/src/auth/provider-client-id.ts type ProviderClientIdOverrides (line 1) | type ProviderClientIdOverrides = Map; function setProviderClientIdOverride (line 5) | function setProviderClientIdOverride(provider: string, clientId: string)... function getProviderClientIdOverride (line 13) | function getProviderClientIdOverride(provider: string): string | undefin... function hasProviderClientIdOverride (line 17) | function hasProviderClientIdOverride(provider: string): boolean { function clearProviderClientIdOverride (line 21) | function clearProviderClientIdOverride(provider: string): void { FILE: apps/x/packages/core/src/auth/providers.ts type ProviderConfig (line 47) | type ProviderConfig = z.infer; type ProviderConfigEntry (line 48) | type ProviderConfigEntry = ProviderConfig[string]; function getProviderConfig (line 86) | function getProviderConfig(providerName: string): ProviderConfigEntry { function getAllProviderConfigs (line 97) | function getAllProviderConfigs(): ProviderConfig { function getAvailableProviders (line 104) | function getAvailableProviders(): string[] { FILE: apps/x/packages/core/src/auth/repo.ts constant DEFAULT_CONFIG (line 25) | const DEFAULT_CONFIG: z.infer = { type IOAuthRepo (line 30) | interface IOAuthRepo { class FSOAuthRepo (line 37) | class FSOAuthRepo implements IOAuthRepo { method constructor (line 40) | constructor() { method ensureConfigFile (line 44) | private async ensureConfigFile(): Promise { method normalizeConfig (line 52) | private normalizeConfig(payload: unknown): { config: z.infer> { method writeConfig (line 87) | private async writeConfig(config: z.infer): ... method read (line 91) | async read(provider: string): Promise { method getClientFacingConfig (line 107) | async getClientFacingConfig(): Promise; type ClientRegistrationRequest (line 28) | type ClientRegistrationRequest = z.infer; type ClientRegistrationResponse (line 42) | type ClientRegistrationResponse = z.infer; function loadConfig (line 56) | function loadConfig(): ComposioConfig { function saveConfig (line 71) | function saveConfig(config: ComposioConfig): void { function getApiKey (line 82) | function getApiKey(): string | null { function setApiKey (line 90) | function setApiKey(apiKey: string): void { function isConfigured (line 100) | function isConfigured(): boolean { function composioApiCall (line 107) | async function composioApiCall( function listToolkits (line 176) | async function listToolkits(cursor: string | null = null): Promise; type IComposioAccountsRepo (line 21) | interface IComposioAccountsRepo { function ensureStorageDir (line 34) | function ensureStorageDir(): void { function loadAccounts (line 44) | function loadAccounts(): ConnectedAccountsStorage { function saveAccounts (line 59) | function saveAccounts(storage: ConnectedAccountsStorage): void { class ComposioAccountsRepo (line 68) | class ComposioAccountsRepo implements IComposioAccountsRepo { method getAccount (line 72) | getAccount(toolkitSlug: string): LocalConnectedAccount | null { method getAllAccounts (line 80) | getAllAccounts(): Record { method saveAccount (line 88) | saveAccount(account: LocalConnectedAccount): void { method updateAccountStatus (line 98) | updateAccountStatus(toolkitSlug: string, status: ConnectedAccountStatu... method deleteAccount (line 114) | deleteAccount(toolkitSlug: string): void { method isConnected (line 123) | isConnected(toolkitSlug: string): boolean { method getConnectedToolkits (line 131) | getConnectedToolkits(): string[] { FILE: apps/x/packages/core/src/composio/types.ts type AuthScheme (line 229) | type AuthScheme = z.infer; type ConnectedAccountStatus (line 230) | type ConnectedAccountStatus = z.infer; type Toolkit (line 231) | type Toolkit = z.infer; type Tool (line 232) | type Tool = z.infer; type AuthConfig (line 233) | type AuthConfig = z.infer; type ConnectedAccount (line 234) | type ConnectedAccount = z.infer; type LocalConnectedAccount (line 235) | type LocalConnectedAccount = z.infer; type ExecuteActionRequest (line 236) | type ExecuteActionRequest = z.infer; type ExecuteActionResponse (line 237) | type ExecuteActionResponse = z.infer; FILE: apps/x/packages/core/src/config/config.ts function ensureDirs (line 13) | function ensureDirs() { function ensureDefaultConfigs (line 21) | function ensureDefaultConfigs() { constant WELCOME_CONTENT (line 33) | const WELCOME_CONTENT = `# Welcome to Rowboat function ensureWelcomeFile (line 84) | function ensureWelcomeFile() { FILE: apps/x/packages/core/src/config/initConfigs.ts function initConfigs (line 12) | async function initConfigs(): Promise { FILE: apps/x/packages/core/src/config/note_creation_config.ts type NoteCreationStrictness (line 5) | type NoteCreationStrictness = 'low' | 'medium' | 'high'; type NoteCreationConfig (line 7) | interface NoteCreationConfig { constant CONFIG_FILE (line 13) | const CONFIG_FILE = path.join(WorkDir, 'config', 'note_creation.json'); constant DEFAULT_STRICTNESS (line 14) | const DEFAULT_STRICTNESS: NoteCreationStrictness = 'high'; function readConfig (line 19) | function readConfig(): NoteCreationConfig { function writeConfig (line 41) | function writeConfig(config: NoteCreationConfig): void { function getNoteCreationStrictness (line 53) | function getNoteCreationStrictness(): NoteCreationStrictness { function setNoteCreationStrictness (line 61) | function setNoteCreationStrictness(strictness: NoteCreationStrictness): ... function isStrictnessConfigured (line 70) | function isStrictnessConfigured(): boolean { function markStrictnessConfigured (line 77) | function markStrictnessConfigured(): void { function setStrictnessAndMarkConfigured (line 86) | function setStrictnessAndMarkConfigured(strictness: NoteCreationStrictne... function getNoteCreationAgentSuffix (line 96) | function getNoteCreationAgentSuffix(): string { function isOnboardingComplete (line 104) | function isOnboardingComplete(): boolean { function markOnboardingComplete (line 120) | function markOnboardingComplete(): void { FILE: apps/x/packages/core/src/config/security.ts constant SECURITY_CONFIG_PATH (line 6) | const SECURITY_CONFIG_PATH = path.join(WorkDir, "config", "security.json"); constant DEFAULT_ALLOW_LIST (line 8) | const DEFAULT_ALLOW_LIST = [ function addToSecurityConfig (line 23) | async function addToSecurityConfig(commands: string[]): Promise { function ensureSecurityConfig (line 44) | async function ensureSecurityConfig(): Promise { function ensureSecurityConfigSync (line 59) | function ensureSecurityConfigSync() { function normalizeList (line 69) | function normalizeList(commands: unknown[]): string[] { function parseSecurityPayload (line 81) | function parseSecurityPayload(payload: unknown): string[] { function readAllowList (line 102) | function readAllowList(): string[] { function getSecurityAllowList (line 115) | function getSecurityAllowList(): string[] { function resetSecurityAllowListCache (line 132) | function resetSecurityAllowListCache() { FILE: apps/x/packages/core/src/config/strictness_analyzer.ts constant GMAIL_SYNC_DIR (line 10) | const GMAIL_SYNC_DIR = path.join(WorkDir, 'gmail_sync'); type EmailInfo (line 12) | interface EmailInfo { type AnalysisResult (line 21) | interface AnalysisResult { constant NEWSLETTER_PATTERNS (line 35) | const NEWSLETTER_PATTERNS = [ constant NEWSLETTER_SENDER_PATTERNS (line 47) | const NEWSLETTER_SENDER_PATTERNS = [ constant AUTOMATED_PATTERNS (line 60) | const AUTOMATED_PATTERNS = [ constant AUTOMATED_SUBJECT_PATTERNS (line 74) | const AUTOMATED_SUBJECT_PATTERNS = [ constant CONSUMER_SERVICE_DOMAINS (line 93) | const CONSUMER_SERVICE_DOMAINS = [ function parseEmailFile (line 118) | function parseEmailFile(filePath: string): EmailInfo | null { function isNewsletter (line 179) | function isNewsletter(email: EmailInfo): boolean { function isAutomated (line 202) | function isAutomated(email: EmailInfo): boolean { function isConsumerService (line 225) | function isConsumerService(email: EmailInfo): boolean { type EmailCategory (line 244) | type EmailCategory = 'internal' | 'newsletter' | 'automated' | 'consumer... function categorizeEmail (line 246) | function categorizeEmail(email: EmailInfo, userDomain: string): { function inferUserDomain (line 276) | function inferUserDomain(emails: EmailInfo[]): string { function analyzeEmailsAndRecommend (line 316) | function analyzeEmailsAndRecommend(): AnalysisResult { function autoConfigureStrictnessIfNeeded (line 439) | function autoConfigureStrictnessIfNeeded(): boolean { FILE: apps/x/packages/core/src/knowledge/build_graph.ts constant NOTES_OUTPUT_DIR (line 25) | const NOTES_OUTPUT_DIR = path.join(WorkDir, 'knowledge'); constant NOTE_CREATION_AGENT (line 26) | const NOTE_CREATION_AGENT = 'note_creation'; constant SYNC_INTERVAL_MS (line 29) | const SYNC_INTERVAL_MS = 30 * 1000; constant SOURCE_FOLDERS (line 30) | const SOURCE_FOLDERS = [ constant VOICE_MEMOS_KNOWLEDGE_DIR (line 37) | const VOICE_MEMOS_KNOWLEDGE_DIR = path.join(NOTES_OUTPUT_DIR, 'Voice Mem... function extractPathFromToolInput (line 39) | function extractPathFromToolInput(input: string): string | null { function getUnprocessedVoiceMemos (line 53) | function getUnprocessedVoiceMemos(state: GraphState): string[] { function readFileContents (line 131) | async function readFileContents(filePaths: string[]): Promise<{ path: st... function waitForRunCompletion (line 149) | async function waitForRunCompletion(runId: string): Promise { function createNotesFromBatch (line 163) | async function createNotesFromBatch( type BatchResult (line 235) | type BatchResult = { function buildGraphWithFiles (line 242) | async function buildGraphWithFiles( function buildGraph (line 357) | async function buildGraph(sourceDir: string): Promise { function processVoiceMemosForKnowledge (line 380) | async function processVoiceMemosForKnowledge(): Promise { function processAllSources (line 525) | async function processAllSources(): Promise { function init (line 639) | async function init() { function resetGraphState (line 663) | function resetGraphState(): void { FILE: apps/x/packages/core/src/knowledge/fireflies-client-factory.ts constant FIREFLIES_MCP_URL (line 11) | const FIREFLIES_MCP_URL = 'https://api.fireflies.ai/mcp'; class FirefliesClientFactory (line 17) | class FirefliesClientFactory { method getClient (line 32) | static async getClient(): Promise { method hasValidCredentials (line 108) | static async hasValidCredentials(): Promise { method clearCache (line 117) | static async clearCache(): Promise { method initializeConfigCache (line 132) | private static async initializeConfigCache(): Promise { method createMcpClient (line 192) | private static async createMcpClient(tokens: OAuthTokens): Promise { method getClient (line 41) | static async getClient(): Promise { method hasValidCredentials (line 117) | static async hasValidCredentials(requiredScopes: string | string[]): P... method clearCache (line 135) | static clearCache(): void { method initializeConfigCache (line 146) | private static async initializeConfigCache(): Promise { method createClientFromTokens (line 205) | private static createClientFromTokens(tokens: OAuthTokens, clientId: s... FILE: apps/x/packages/core/src/knowledge/granola/repo.ts type IGranolaConfigRepo (line 6) | interface IGranolaConfigRepo { class FSGranolaConfigRepo (line 11) | class FSGranolaConfigRepo implements IGranolaConfigRepo { method constructor (line 15) | constructor() { method ensureConfigFile (line 19) | private async ensureConfigFile(): Promise { method getConfig (line 28) | async getConfig(): Promise { method setConfig (line 39) | async setConfig(config: GranolaConfig): Promise { FILE: apps/x/packages/core/src/knowledge/granola/sync.ts constant GRANOLA_CLIENT_VERSION (line 17) | const GRANOLA_CLIENT_VERSION = '6.462.1'; constant GRANOLA_API_BASE (line 18) | const GRANOLA_API_BASE = 'https://api.granola.ai'; constant GRANOLA_CONFIG_PATH (line 19) | const GRANOLA_CONFIG_PATH = path.join(homedir(), 'Library', 'Application... constant SYNC_DIR (line 20) | const SYNC_DIR = path.join(WorkDir, 'granola_notes'); constant STATE_FILE (line 21) | const STATE_FILE = path.join(SYNC_DIR, 'sync_state.json'); constant SYNC_INTERVAL_MS (line 22) | const SYNC_INTERVAL_MS = 5 * 60 * 1000; constant API_DELAY_MS (line 23) | const API_DELAY_MS = 1000; constant RATE_LIMIT_RETRY_DELAY_MS (line 24) | const RATE_LIMIT_RETRY_DELAY_MS = 60 * 1000; constant MAX_RETRIES (line 25) | const MAX_RETRIES = 3; constant MAX_BATCH_SIZE (line 26) | const MAX_BATCH_SIZE = 10; function triggerSync (line 31) | function triggerSync(): void { function interruptibleSleep (line 39) | function interruptibleSleep(ms: number): Promise { type WorkosTokens (line 54) | interface WorkosTokens { type SupabaseJson (line 60) | interface SupabaseJson { function extractAccessToken (line 64) | function extractAccessToken(): string | null { function sleep (line 96) | function sleep(ms: number): Promise { function callWithRateLimit (line 100) | async function callWithRateLimit( function getHeaders (line 142) | function getHeaders(accessToken: string): Record { function apiCall (line 151) | async function apiCall( function getDocuments (line 175) | async function getDocuments(accessToken: string, limit: number, offset: ... function loadState (line 199) | function loadState(): SyncState { function saveState (line 211) | function saveState(state: SyncState): void { function cleanFilename (line 217) | function cleanFilename(name: string): string { function ensureDir (line 221) | function ensureDir(dirPath: string): void { type ProseMirrorNode (line 227) | interface ProseMirrorNode { function convertProseMirrorToMarkdown (line 234) | function convertProseMirrorToMarkdown(content: ProseMirrorNode | undefin... function documentToMarkdown (line 298) | function documentToMarkdown(doc: Document): string { function syncNotes (line 328) | async function syncNotes(): Promise { function init (line 498) | async function init(): Promise { FILE: apps/x/packages/core/src/knowledge/granola/types.ts type GranolaConfig (line 8) | type GranolaConfig = z.infer; type Document (line 42) | type Document = z.infer; type GetWorkspacesResponse (line 55) | type GetWorkspacesResponse = z.infer; type GetDocumentsRequest (line 61) | type GetDocumentsRequest = z.infer; type GetDocumentsResponse (line 67) | type GetDocumentsResponse = z.infer; type GetDocumentTranscriptRequest (line 72) | type GetDocumentTranscriptRequest = z.infer; type GetDocumentListsResponse (line 100) | type GetDocumentListsResponse = z.infer; type GetDocumentsBatchRequest (line 105) | type GetDocumentsBatchRequest = z.infer; type GetDocumentsBatchResponse (line 110) | type GetDocumentsBatchResponse = z.infer; type SyncState (line 118) | type SyncState = z.infer; FILE: apps/x/packages/core/src/knowledge/graph_state.ts constant STATE_FILE (line 11) | const STATE_FILE = path.join(WorkDir, 'knowledge_graph_state.json'); type FileState (line 13) | interface FileState { type GraphState (line 19) | interface GraphState { function loadState (line 27) | function loadState(): GraphState { function saveState (line 45) | function saveState(state: GraphState): void { function computeFileHash (line 57) | function computeFileHash(filePath: string): string { function hasFileChanged (line 66) | function hasFileChanged(filePath: string, state: GraphState): boolean { function markFileAsProcessed (line 91) | function markFileAsProcessed(filePath: string, state: GraphState): void { function getFilesToProcess (line 106) | function getFilesToProcess( function resetState (line 142) | function resetState(): void { FILE: apps/x/packages/core/src/knowledge/knowledge_index.ts constant KNOWLEDGE_DIR (line 5) | const KNOWLEDGE_DIR = path.join(WorkDir, 'knowledge'); type PersonEntry (line 10) | interface PersonEntry { type OrganizationEntry (line 22) | interface OrganizationEntry { type ProjectEntry (line 32) | interface ProjectEntry { type TopicEntry (line 42) | interface TopicEntry { type OtherEntry (line 52) | interface OtherEntry { type KnowledgeIndex (line 62) | interface KnowledgeIndex { function extractField (line 75) | function extractField(content: string, fieldName: string): string | unde... function extractList (line 94) | function extractList(content: string, fieldName: string): string[] { function extractTitle (line 103) | function extractTitle(content: string): string { function parsePersonNote (line 111) | function parsePersonNote(filePath: string, content: string): PersonEntry { function parseOrganizationNote (line 128) | function parseOrganizationNote(filePath: string, content: string): Organ... function parseProjectNote (line 143) | function parseProjectNote(filePath: string, content: string): ProjectEnt... function parseTopicNote (line 158) | function parseTopicNote(filePath: string, content: string): TopicEntry { function parseOtherNote (line 173) | function parseOtherNote(filePath: string, content: string): OtherEntry { function scanDirectoryRecursive (line 190) | function scanDirectoryRecursive(dir: string): string[] { function getFolderType (line 216) | function getFolderType(filePath: string): string { function buildKnowledgeIndex (line 233) | function buildKnowledgeIndex(): KnowledgeIndex { function formatIndexForPrompt (line 281) | function formatIndexForPrompt(index: KnowledgeIndex): string { FILE: apps/x/packages/core/src/knowledge/limit_event_items.ts constant MAX_EVENT_ITEMS (line 1) | const MAX_EVENT_ITEMS = 50; function limitEventItems (line 3) | function limitEventItems(items: string[], max: number = MAX_EVENT_ITEMS)... FILE: apps/x/packages/core/src/knowledge/sync_calendar.ts constant SYNC_DIR (line 12) | const SYNC_DIR = path.join(WorkDir, 'calendar_sync'); constant SYNC_INTERVAL_MS (line 13) | const SYNC_INTERVAL_MS = 5 * 60 * 1000; constant LOOKBACK_DAYS (line 14) | const LOOKBACK_DAYS = 14; constant REQUIRED_SCOPES (line 15) | const REQUIRED_SCOPES = [ function triggerSync (line 24) | function triggerSync(): void { function interruptibleSleep (line 32) | function interruptibleSleep(ms: number): Promise { function cleanFilename (line 47) | function cleanFilename(name: string): string { function cleanUpOldFiles (line 53) | function cleanUpOldFiles(currentEventIds: Set, syncDir: string):... function saveEvent (line 93) | async function saveEvent(event: cal.Schema$Event, syncDir: string): Prom... function processAttachments (line 117) | async function processAttachments(drive: drive.Drive, event: cal.Schema$... function syncCalendarWindow (line 173) | async function syncCalendarWindow(auth: OAuth2Client, syncDir: string, l... function performSync (line 319) | async function performSync(syncDir: string, lookbackDays: number) { function init (line 346) | async function init() { FILE: apps/x/packages/core/src/knowledge/sync_fireflies.ts constant SYNC_DIR (line 9) | const SYNC_DIR = path.join(WorkDir, 'fireflies_transcripts'); constant SYNC_INTERVAL_MS (line 10) | const SYNC_INTERVAL_MS = 30 * 60 * 1000; constant STATE_FILE (line 11) | const STATE_FILE = path.join(SYNC_DIR, 'sync_state.json'); constant LOOKBACK_DAYS (line 12) | const LOOKBACK_DAYS = 30; constant API_DELAY_MS (line 13) | const API_DELAY_MS = 2000; constant RATE_LIMIT_RETRY_DELAY_MS (line 14) | const RATE_LIMIT_RETRY_DELAY_MS = 60 * 1000; constant MAX_RETRIES (line 15) | const MAX_RETRIES = 3; function triggerSync (line 20) | function triggerSync(): void { function interruptibleSleep (line 28) | function interruptibleSleep(ms: number): Promise { type FirefliesMeeting (line 43) | interface FirefliesMeeting { type FirefliesTranscriptSentence (line 61) | interface FirefliesTranscriptSentence { type FirefliesSummary (line 71) | interface FirefliesSummary { type FirefliesMeetingData (line 80) | interface FirefliesMeetingData { type McpToolResult (line 98) | interface McpToolResult { function sleep (line 111) | function sleep(ms: number): Promise { function callWithRateLimit (line 118) | async function callWithRateLimit( function cleanFilename (line 158) | function cleanFilename(name: string): string { function formatDuration (line 162) | function formatDuration(seconds?: number): string { function formatTimestamp (line 169) | function formatTimestamp(seconds?: number): string { function loadState (line 176) | function loadState(): { function saveState (line 191) | function saveState(lastSyncDate: string, syncedIds: string[], lastCheckT... function parseMcpResult (line 203) | function parseMcpResult(result: McpToolResult): T | null { function parseToonTranscript (line 232) | function parseToonTranscript(text: string): FirefliesTranscriptSentence[] { function getRawText (line 264) | function getRawText(result: McpToolResult): string | null { function meetingToMarkdown (line 276) | function meetingToMarkdown(meeting: FirefliesMeetingData): string { function syncMeetings (line 380) | async function syncMeetings() { function init (line 637) | async function init() { FILE: apps/x/packages/core/src/knowledge/sync_gmail.ts constant SYNC_DIR (line 12) | const SYNC_DIR = path.join(WorkDir, 'gmail_sync'); constant SYNC_INTERVAL_MS (line 13) | const SYNC_INTERVAL_MS = 5 * 60 * 1000; constant REQUIRED_SCOPE (line 14) | const REQUIRED_SCOPE = 'https://www.googleapis.com/auth/gmail.readonly'; function triggerSync (line 20) | function triggerSync(): void { function interruptibleSleep (line 28) | function interruptibleSleep(ms: number): Promise { function cleanFilename (line 43) | function cleanFilename(name: string): string { function decodeBase64 (line 47) | function decodeBase64(data: string): string { function getBody (line 51) | function getBody(payload: gmail.Schema$MessagePart): string { function saveAttachment (line 82) | async function saveAttachment(gmail: gmail.Gmail, userId: string, msgId:... function processThread (line 113) | async function processThread(auth: OAuth2Client, threadId: string, syncD... function loadState (line 178) | function loadState(stateFile: string): { historyId?: string } { function saveState (line 185) | function saveState(historyId: string, stateFile: string) { function fullSync (line 192) | async function fullSync(auth: OAuth2Client, syncDir: string, attachments... function partialSync (line 295) | async function partialSync(auth: OAuth2Client, startHistoryId: string, s... function performSync (line 410) | async function performSync() { function init (line 443) | async function init() { FILE: apps/x/packages/core/src/knowledge/version_history.ts constant KNOWLEDGE_DIR (line 6) | const KNOWLEDGE_DIR = path.join(WorkDir, 'knowledge'); type CommitListener (line 12) | type CommitListener = () => void; function onCommit (line 15) | function onCommit(listener: CommitListener): () => void { function initRepo (line 27) | async function initRepo(): Promise { function getAllMdFiles (line 59) | function getAllMdFiles(baseDir: string, relDir: string): string[] { function commitAll (line 86) | async function commitAll(message: string, authorName: string): Promise { function cleanup (line 79) | async function cleanup() { function forceCloseAllMcpClients (line 92) | async function forceCloseAllMcpClients(): Promise { function listServers (line 103) | async function listServers(): Promise> { function listTools (line 120) | async function listTools(serverName: string, cursor?: string): Promise { method getConfig (line 32) | async getConfig(): Promise> { method upsert (line 37) | async upsert(serverName: string, config: z.infer { FILE: apps/x/packages/core/src/models/models-dev.ts constant CACHE_PATH (line 6) | const CACHE_PATH = path.join(WorkDir, "config", "models.dev.json"); constant CACHE_TTL_MS (line 7) | const CACHE_TTL_MS = 24 * 60 * 60 * 1000; type ProviderSummary (line 26) | type ProviderSummary = { type CacheFile (line 36) | type CacheFile = { function readCache (line 41) | async function readCache(): Promise { function writeCache (line 50) | async function writeCache(data: unknown): Promise { function fetchModelsDev (line 58) | async function fetchModelsDev(): Promise { function isCacheFresh (line 68) | function isCacheFresh(fetchedAt: string): boolean { function getModelsDevData (line 73) | async function getModelsDevData(): Promise<{ data: z.infer): boolean { function supportsToolCall (line 133) | function supportsToolCall(model: z.infer): boolean { function normalizeModels (line 137) | function normalizeModels(models: Record): ProviderV2 { function testModelConnection (line 71) | async function testModelConnection( FILE: apps/x/packages/core/src/models/repo.ts type IModelConfigRepo (line 7) | interface IModelConfigRepo { class FSModelConfigRepo (line 20) | class FSModelConfigRepo implements IModelConfigRepo { method ensureConfig (line 23) | async ensureConfig(): Promise { method getConfig (line 31) | async getConfig(): Promise> { method setConfig (line 36) | async setConfig(config: z.infer): Promise { FILE: apps/x/packages/core/src/pre_built/config.ts constant CONFIG_PATH (line 12) | const CONFIG_PATH = path.join(WorkDir, 'config', 'prebuilt.json'); constant STATE_PATH (line 13) | const STATE_PATH = path.join(WorkDir, 'pre-built', 'runner_state.json'); constant USER_CONFIG_PATH (line 14) | const USER_CONFIG_PATH = path.join(WorkDir, 'config', 'user.json'); function ensureDir (line 16) | function ensureDir(dirPath: string): void { function ensureConfigFile (line 22) | function ensureConfigFile(): void { function getDefaultConfig (line 31) | function getDefaultConfig(): PreBuiltConfig { function loadConfig (line 42) | function loadConfig(): PreBuiltConfig { function saveConfig (line 54) | function saveConfig(config: PreBuiltConfig): void { function getAgentConfig (line 60) | function getAgentConfig(agentName: string): PreBuiltAgentConfig { function setAgentConfig (line 65) | function setAgentConfig(agentName: string, agentConfig: Partial { function runAgent (line 38) | async function runAgent(agentName: string): Promise { function checkAndRunAgents (line 91) | async function checkAndRunAgents(): Promise { function logStatus (line 108) | function logStatus(): void { function init (line 126) | async function init(): Promise { function triggerAgent (line 151) | async function triggerAgent(agentName: string): Promise { function getStatus (line 161) | function getStatus(): Record; type PreBuiltAgentConfig (line 16) | type PreBuiltAgentConfig = z.infer; type PreBuiltConfig (line 22) | type PreBuiltConfig = z.infer; type PreBuiltState (line 28) | type PreBuiltState = z.infer; constant PREBUILT_AGENTS (line 31) | const PREBUILT_AGENTS = [ type PreBuiltAgentName (line 36) | type PreBuiltAgentName = typeof PREBUILT_AGENTS[number]; FILE: apps/x/packages/core/src/runs/abort-registry.ts type IAbortRegistry (line 3) | interface IAbortRegistry { type RunAbortState (line 46) | interface RunAbortState { constant SIGKILL_GRACE_MS (line 52) | const SIGKILL_GRACE_MS = 200; class InMemoryAbortRegistry (line 54) | class InMemoryAbortRegistry implements IAbortRegistry { method createForRun (line 57) | createForRun(runId: string): AbortSignal { method registerProcess (line 70) | registerProcess(runId: string, process: ChildProcess): void { method unregisterProcess (line 83) | unregisterProcess(runId: string, process: ChildProcess): void { method abort (line 89) | abort(runId: string): void { method forceAbort (line 113) | forceAbort(runId: string): void { method isAborted (line 134) | isAborted(runId: string): boolean { method cleanup (line 139) | cleanup(runId: string): void { method killProcessTree (line 155) | private killProcessTree(proc: ChildProcess, signal: NodeJS.Signals): v... FILE: apps/x/packages/core/src/runs/lock.ts type IRunsLock (line 1) | interface IRunsLock { class InMemoryRunsLock (line 6) | class InMemoryRunsLock implements IRunsLock { method lock (line 9) | async lock(runId: string): Promise { method release (line 17) | async release(runId: string): Promise { FILE: apps/x/packages/core/src/runs/repo.ts type IRunsRepo (line 10) | interface IRunsRepo { function cleanContentForTitle (line 21) | function cleanContentForTitle(content: string): string { class FSRunsRepo (line 31) | class FSRunsRepo implements IRunsRepo { method constructor (line 33) | constructor({ method extractTitle (line 43) | private extractTitle(events: z.infer[]): string | und... method readRunMetadata (line 73) | private async readRunMetadata(filePath: string): Promise<{ method appendEvents (line 153) | async appendEvents(runId: string, events: z.infer[]):... method create (line 160) | async create(options: z.infer): Promise> { method list (line 197) | async list(cursor?: string): Promise> { method delete (line 257) | async delete(id: string): Promise { FILE: apps/x/packages/core/src/runs/runs.ts function createRun (line 14) | async function createRun(opts: z.infer): Promis... function createMessage (line 22) | async function createMessage(runId: string, message: UserMessageContentT... function authorizePermission (line 30) | async function authorizePermission(runId: string, ev: z.infer { function deleteRun (line 92) | async function deleteRun(runId: string): Promise { function fetchRun (line 105) | async function fetchRun(runId: string): Promise> { function listRuns (line 110) | async function listRuns(cursor?: string): Promise { function listMarkdownFiles (line 328) | async function listMarkdownFiles(dir: string): Promise { function readFirstLines (line 350) | async function readFirstLines(filePath: string, n: number): Promise Promise | ... class ServiceBus (line 5) | class ServiceBus { method publish (line 8) | async publish(event: ServiceEventType): Promise { method subscribe (line 13) | async subscribe(handler: ServiceEventHandler): Promise<() => void> { FILE: apps/x/packages/core/src/services/service_logger.ts type ServiceNameType (line 9) | type ServiceNameType = ServiceEventType["service"]; type DistributiveOmit (line 10) | type DistributiveOmit = T extends unknown ? Om... type ServiceEventInput (line 11) | type ServiceEventInput = DistributiveOmit; constant LOG_DIR (line 13) | const LOG_DIR = path.join(WorkDir, "logs"); constant LOG_FILE (line 14) | const LOG_FILE = path.join(LOG_DIR, "services.jsonl"); constant MAX_LOG_BYTES (line 15) | const MAX_LOG_BYTES = 10 * 1024 * 1024; type ServiceRunContext (line 17) | type ServiceRunContext = { function safeTimestampForFile (line 23) | function safeTimestampForFile(ts: string): string { class ServiceLogger (line 27) | class ServiceLogger { method ensureReady (line 34) | private async ensureReady(): Promise { method rotateIfNeeded (line 47) | private async rotateIfNeeded(nextBytes: number): Promise { method log (line 74) | async log(event: ServiceEventInput): Promise { method startRun (line 97) | async startRun(opts: { FILE: apps/x/packages/core/src/workspace/watcher.ts type WorkspaceChangeCallback (line 9) | type WorkspaceChangeCallback = (event: z.infer { function getRoot (line 103) | async function getRoot(): Promise<{ root: string }> { function exists (line 108) | async function exists(relPath: string): Promise<{ exists: boolean }> { function stat (line 118) | async function stat(relPath: string): Promise( function validateResponse (line 483) | function validateResponse( FILE: apps/x/packages/shared/src/prefix-logger.ts class PrefixLogger (line 3) | class PrefixLogger { method constructor (line 7) | constructor(prefix: string, parent: PrefixLogger | null = null) { method log (line 12) | log(...args: unknown[]) { method child (line 23) | child(childPrefix: string): PrefixLogger { FILE: apps/x/packages/shared/src/service-events.ts type ServiceNameType (line 64) | type ServiceNameType = z.infer; type ServiceEventType (line 65) | type ServiceEventType = z.infer;