SYMBOL INDEX (167 symbols across 40 files) FILE: core/src/BotSecrets.ts type BotSecrets (line 1) | interface BotSecrets { FILE: core/src/CodeEvaluation.ts function evaluateCode (line 4) | async function evaluateCode(input: string, context: AutomatronContext) { function postProcessResult (line 27) | function postProcessResult(returnedValue: any) { FILE: core/src/Cron.ts type CronEntry (line 5) | interface CronEntry { function addCronEntry (line 12) | async function addCronEntry( function getCronCollection (line 35) | async function getCronCollection(context: AutomatronContext) { function getPendingCronJobs (line 40) | async function getPendingCronJobs(context: AutomatronContext) { function updateCronJob (line 45) | async function updateCronJob( FILE: core/src/DataEncryption.ts function decrypt (line 4) | function decrypt( function encrypt (line 12) | function encrypt(context: AutomatronContext, payload: any): string { FILE: core/src/DeviceTracking.ts function getCollection (line 6) | async function getCollection(context: AutomatronContext) { type DeviceLogEntry (line 11) | interface DeviceLogEntry { function getDeviceStateUpdater (line 18) | async function getDeviceStateUpdater( function trackDevice (line 60) | async function trackDevice( function getDeviceRef (line 77) | function getDeviceRef(context: AutomatronContext, deviceId: string) { function checkDeviceOnlineStatus (line 81) | async function checkDeviceOnlineStatus(context: AutomatronContext) { function getDeviceIds (line 95) | async function getDeviceIds(context: AutomatronContext) { FILE: core/src/ExpenseTracking.ts type ExpenseRecord (line 8) | type ExpenseRecord = ExpenseTrackingGristTables['Daily_Expenses'] function getGristDoc (line 10) | function getGristDoc(context: AutomatronContext) { function recordExpense (line 18) | async function recordExpense( function getExpensesSummaryData (line 96) | async function getExpensesSummaryData(context: AutomatronContext) { FILE: core/src/ExpenseTrackingGrist.ts type Text (line 2) | type Text = string type Numeric (line 3) | type Numeric = number type Int (line 4) | type Int = number type Bool (line 5) | type Bool = boolean type Date (line 6) | type Date = number type DateTime (line 7) | type DateTime = string type Choice (line 8) | type Choice = string type Reference (line 9) | type Reference = number type ReferenceList (line 10) | type ReferenceList = ['L', ...number[]] | null type ChoiceList (line 11) | type ChoiceList = ['L', ...string[]] | null type Attachments (line 12) | type Attachments = ['L', ...number[]] | null type Any (line 13) | type Any = any type ExpenseTrackingGristTables (line 16) | type ExpenseTrackingGristTables = { FILE: core/src/HomeAutomation.ts function sendHomeCommand (line 5) | async function sendHomeCommand( FILE: core/src/ImageMessageHandler.ts function annotateImage (line 28) | async function annotateImage(blobName: string) { FILE: core/src/LINEClient.ts class LINEClient (line 3) | class LINEClient { method constructor (line 6) | constructor(config: { channelAccessToken: string }) { method replyMessage (line 14) | replyMessage(replyToken: string, messages: messagingApi.Message[]) { method pushMessage (line 17) | pushMessage(to: string, messages: messagingApi.Message[]) { method getMessageContent (line 20) | getMessageContent(messageId: string) { method showLoadingAnimation (line 23) | showLoadingAnimation(chatId: string) { FILE: core/src/LINEMessageUtilities.ts function toMessages (line 3) | function toMessages(data: any): messagingApi.Message[] { function createBubble (line 10) | function createBubble( function truncate (line 76) | function truncate(text: string, maxLength: number) { FILE: core/src/LanguageModelAssistant.ts type Role (line 12) | type Role = 'system' | 'user' | 'assistant' type ChatMessage (line 13) | interface ChatMessage { type LlmHistoryEntry (line 17) | interface LlmHistoryEntry { function getCollection (line 24) | async function getCollection(context: AutomatronContext) { FILE: core/src/MessageHandler.ts function handleTextMessage (line 30) | async function handleTextMessage( function handleImage (line 142) | async function handleImage( FILE: core/src/MessageHistory.ts type MessageHistoryEntry (line 4) | interface MessageHistoryEntry { function saveMessageHistory (line 10) | async function saveMessageHistory( function getMessageHistory (line 23) | async function getMessageHistory( FILE: core/src/MongoDatabase.ts function getDb (line 14) | async function getDb(context: AutomatronContext): Promise { FILE: core/src/NotificationProcessor.ts type INotification (line 5) | interface INotification { function handleNotification (line 15) | async function handleNotification( function saveNotificationToDb (line 40) | async function saveNotificationToDb( function handleKbankNotification (line 50) | async function handleKbankNotification( function parseAmount (line 93) | function parseAmount(text: string) { FILE: core/src/PersistentState.ts type StateDoc (line 5) | interface StateDoc { type StateDocStack (line 10) | interface StateDocStack extends StateDoc { function push (line 14) | async function push( function pop (line 32) | async function pop(context: AutomatronContext, key: string): Promise { function get (line 42) | async function get(context: AutomatronContext, key: string): Promise { function set (line 50) | async function set( function ref (line 68) | function ref(context: AutomatronContext, key: string) { FILE: core/src/PreludeCode.ts function deployPrelude (line 21) | async function deployPrelude(context: AutomatronContext) { function getPreludeCode (line 40) | async function getPreludeCode(context: AutomatronContext) { function getCodeExecutionContext (line 57) | async function getCodeExecutionContext( FILE: core/src/RomanNumerals.ts function decodeRomanNumerals (line 1) | function decodeRomanNumerals(romanNumerals: string) { class InvalidRomanNumeralError (line 29) | class InvalidRomanNumeralError extends Error { method constructor (line 30) | constructor(s: string) { FILE: core/src/SMSHandler.ts function handleSMS (line 7) | async function handleSMS( FILE: core/src/SlackMessageUtilities.ts type SlackMessage (line 3) | type SlackMessage = SlackMessageWithoutBlocks | SlackMessageWithBlocks type SlackMessageWithoutBlocks (line 4) | type SlackMessageWithoutBlocks = { type SlackMessageWithBlocks (line 8) | type SlackMessageWithBlocks = { text?: string; blocks: KnownBlock[] } function createErrorMessage (line 10) | function createErrorMessage(error: Error): SlackMessage { FILE: core/src/SpeedDial.ts function getCollection (line 4) | async function getCollection(context: AutomatronContext) { function saveSpeedDial (line 9) | async function saveSpeedDial( function getSpeedDialCode (line 22) | async function getSpeedDialCode( function getAllSpeedDials (line 34) | async function getAllSpeedDials(context: AutomatronContext) { FILE: core/src/TemporaryBlobStorage.ts function putBlob (line 7) | async function putBlob(buffer: Buffer, extension: string) { function getBlob (line 14) | async function getBlob(blobName: string) { function getBlobUrl (line 22) | async function getBlobUrl(blobName: string) { FILE: core/src/Tracing.ts function trace (line 3) | async function trace( FILE: core/src/TypedGristDocAPI.ts type TypedGristDocAPI (line 4) | interface TypedGristDocAPI type AnyTable (line 36) | type AnyTable = { [colId: string]: unknown } type AnyTables (line 37) | type AnyTables = { [table: string]: AnyTable } type FilterSpec (line 38) | type FilterSpec = { FILE: core/src/bot.ts function getAutomatronContext (line 34) | function getAutomatronContext(req: Request, res: Response): AutomatronCo... function runMiddleware (line 50) | async function runMiddleware( function handleWebhook (line 66) | async function handleWebhook( function logToSlack (line 292) | function logToSlack( function requireApiKey (line 436) | function requireApiKey(req: Request, res: Response, next: NextFunction) { function requireFirebaseAuth (line 450) | function requireFirebaseAuth(req: Request, res: Response, next: NextFunc... class Slack (line 463) | class Slack { method constructor (line 464) | constructor(private webhookUrl: string) {} method pushMessage (line 465) | async pushMessage(message: SlackMessage) { type ThirdPartyServices (line 470) | interface ThirdPartyServices { function endpoint (line 476) | function endpoint( function handleRequest (line 490) | async function handleRequest( function logError (line 526) | function logError(title: string, e: any, extra: Record = {}) { function getLineConfig (line 536) | function getLineConfig(req: Request, res: Response) { function readAsBuffer (line 549) | function readAsBuffer(stream: Stream) { FILE: core/src/logger.ts function getSeverity (line 8) | function getSeverity(label: string) { FILE: core/src/modules.d.ts class ImageAnnotatorClient (line 2) | class ImageAnnotatorClient { type AirtableRecord (line 27) | interface AirtableRecord { class Airtable (line 31) | class Airtable { FILE: core/src/scripts/updateEnv.ts method run (line 19) | async run({ args }) { function writeEnv (line 41) | async function writeEnv(key: string, encodedValue: string) { FILE: core/src/server.ts constant PORT (line 13) | const PORT = process.env.PORT || 28364 function loadEnv (line 20) | function loadEnv(): Promise { FILE: core/src/types.ts type AutomatronContext (line 6) | interface AutomatronContext { type HttpRequestInfo (line 13) | interface HttpRequestInfo { type Request (line 21) | interface Request { type Response (line 25) | interface Response { type Global (line 30) | interface Global { type AutomatronResponse (line 38) | type AutomatronResponse = type TextMessageHandler (line 45) | type TextMessageHandler = ( FILE: webui/app/Clock.tsx function Clock (line 3) | function Clock() { FILE: webui/app/backend.ts class AutomatronBackend (line 17) | class AutomatronBackend implements Backend { method constructor (line 22) | constructor() { method getUrl (line 34) | private async getUrl() { method signIn (line 45) | async signIn() { method signOut (line 55) | async signOut() { method send (line 59) | async send(text: string): Promise { method getHeaders (line 72) | private async getHeaders() { method getHistory (line 78) | async getHistory(): Promise { method getSpeedDials (line 82) | async getSpeedDials(): Promise { method getKnobs (line 86) | async getKnobs(): Promise }>> { method getIdToken (line 90) | private async getIdToken() { method _get (line 94) | async _get(url: string) { method _post (line 101) | async _post(url: string, data: any) { class FakeBackend (line 109) | class FakeBackend implements Backend { method signIn (line 113) | async signIn() { method signOut (line 117) | async signOut() { method getHistory (line 121) | async getHistory(): Promise { method getSpeedDials (line 125) | async getSpeedDials(): Promise { method getKnobs (line 129) | async getKnobs(): Promise }>> { method send (line 133) | async send(text: string): Promise { type Ok (line 138) | type Ok = { ok: true; result: X } type Backend (line 140) | interface Backend { FILE: webui/app/requireAuth.ts function requireAuth (line 4) | async function requireAuth() { FILE: webui/app/root.tsx function App (line 12) | function App() { FILE: webui/app/routes/_index.tsx function Index (line 9) | function Index() { function AuthButton (line 18) | function AuthButton() { type FloatingButton (line 48) | interface FloatingButton { function FloatingButton (line 54) | function FloatingButton(props: FloatingButton) { FILE: webui/app/routes/automatron._index.tsx type ActionResult (line 28) | interface ActionResult { function AutomatronConsole (line 52) | function AutomatronConsole() { type OutputViewer (line 129) | interface OutputViewer { type OkResult (line 133) | type OkResult = z.infer function OutputViewer (line 145) | function OutputViewer(props: OutputViewer) { type ResultEntry (line 165) | type ResultEntry = { type: 'text'; text: string } type ResultItem (line 167) | interface ResultItem { function ResultItem (line 171) | function ResultItem(props: ResultItem) { type AutomatronHistory (line 192) | interface AutomatronHistory { function AutomatronHistory (line 195) | function AutomatronHistory(props: AutomatronHistory) { type Panel (line 216) | interface Panel { function Panel (line 221) | function Panel(props: Panel) { type SpeedDial (line 232) | interface SpeedDial { function SpeedDial (line 235) | function SpeedDial(props: SpeedDial) { FILE: webui/app/routes/automatron.knobs.tsx type AutomatronKnobs (line 7) | interface AutomatronKnobs {} function AutomatronKnobs (line 16) | function AutomatronKnobs() { FILE: webui/app/routes/automatron.tsx function AutomatronLayout (line 4) | function AutomatronLayout() { FILE: webui/tests/automatron.spec.ts function send (line 31) | async function send(page: Page, ...results: any[]) {