├── src ├── cli │ ├── agent-in │ ├── code-in │ ├── swe-in │ ├── code-system │ ├── research-in │ ├── slack.ts │ ├── cliHumanInLoop.ts │ ├── tokens.ts │ └── mcp.ts ├── codeTask │ └── DOCS.md ├── utils │ ├── errors.test.ts │ ├── functional.ts │ ├── beep.ts │ ├── mime.ts │ ├── env-var.ts │ ├── tty.ts │ └── time.ts ├── swe │ ├── coder │ │ ├── reflectionUtils.ts │ │ ├── validators │ │ │ ├── validationRule.ts │ │ │ ├── pathExistsRule.ts │ │ │ └── moduleAliasRule.ts │ │ └── coderTypes.ts │ ├── codeReview │ │ └── local │ │ │ └── localCodeReview.test.ts │ ├── discovery │ │ └── README.md │ ├── lang │ │ ├── languageTools.ts │ │ ├── php │ │ │ └── phpTools.ts │ │ ├── terraform │ │ │ └── terraformTools.ts │ │ ├── python │ │ │ └── pythonTools.ts │ │ └── nodejs │ │ │ └── package-json-scripts-documentation.ts │ ├── vector │ │ ├── codestral │ │ │ └── types.ts │ │ ├── chunking │ │ │ ├── contextualizerChunker.test.ts │ │ │ └── chunkTypes.ts │ │ └── vector.ts │ ├── createBranchName.ts │ ├── sweErrors.ts │ ├── generateTestRequirements.ts │ ├── prompt.ts │ ├── summariseRequirements.ts │ ├── extractFilenames.ts │ └── selectProject.ts ├── functionSchema │ ├── functionSchemaToJsonSchema.ts │ ├── functionSchemaToJsonSchema.test.ts │ ├── functionSchemaTypes.ts │ ├── generateFunctionSchemas.ts │ ├── functionUtils.ts │ └── typeDefinition.ts ├── functions │ ├── scm │ │ ├── sourceControlManagement.test.ts │ │ └── cicdStatsService.ts │ ├── web │ │ └── web.test.ts │ ├── customFunctions.ts │ └── storage │ │ └── filestore.ts ├── modules │ ├── mongo │ │ ├── MongoCodeTaskRepository.test.ts │ │ └── MongoFunctionCacheService.ts │ ├── postgres │ │ ├── postgresCodeReviewService.test.ts │ │ ├── postgresModule.cjs │ │ ├── postgresPromptsService.test.ts │ │ └── postgresLlmCallService.test.ts │ ├── slack │ │ └── slackModule.cjs │ ├── firestore │ │ ├── firestoreModule.cjs │ │ ├── firestoreUserService.test.ts │ │ ├── firebasePromptService.test.ts │ │ ├── firestoreAgentStateService.test.ts │ │ ├── firestoreChatService.test.ts │ │ ├── firestore.ts │ │ ├── resetFirestoreEmulator.ts │ │ └── DOCS.md │ ├── memory │ │ ├── inMemoryPromptService.test.ts │ │ ├── inMemoryCodeReviewService.test.ts │ │ ├── inMemoryLlmCallService.test.ts │ │ ├── inMemoryChatService.test.ts │ │ └── inMemoryUserService.test.ts │ ├── cache │ │ └── functionCacheService.ts │ └── DOCS.md ├── fastify │ ├── trace-init │ │ ├── index.ts │ │ └── traceModule.cjs │ ├── index.ts │ ├── jwt.ts │ └── hooks.ts ├── routes │ ├── codeTask │ │ ├── index.ts │ │ ├── listCodeTasksRoute.ts │ │ ├── listPresetsRoute.ts │ │ └── createPresetRoute.ts │ ├── auth │ │ ├── index.ts │ │ ├── auth-routes.ts │ │ ├── signUp.ts │ │ └── signIn.ts │ ├── codeEdit │ │ ├── index.ts │ │ └── getFileSystemTreeRoute.ts │ ├── webhooks │ │ ├── knownBuildFailures.ts │ │ └── webhookAgentUser.ts │ ├── chat │ │ ├── listChatsRoute.ts │ │ ├── createChatRoute.ts │ │ ├── getChatByIdRoute.ts │ │ └── index.ts │ ├── agent │ │ ├── getAvailableFunctionsRoute.ts │ │ ├── listAgentsRoute.ts │ │ └── deleteAgentsRoute.ts │ ├── routeTestUtils.ts │ ├── codeReview │ │ ├── index.ts │ │ ├── listCodeReviewsRoute.ts │ │ ├── deleteCodeReviewRoute.ts │ │ ├── createCodeReviewRoute.ts │ │ ├── updateCodeReviewRoute.ts │ │ └── getCodeReviewByIdRoute.ts │ ├── profile │ │ ├── view.ts │ │ └── user-routes.ts │ └── llms │ │ └── llm-routes.ts ├── llm │ ├── multi-agent │ │ ├── alloy.ts │ │ └── multiRegistry.ts │ ├── errors.ts │ ├── services │ │ └── key-rotation.ts │ ├── llmCallService │ │ └── llmCall.ts │ └── tokens.ts ├── o11y │ ├── ollyModule.cjs │ └── trace │ │ └── SugaredOptions.ts ├── chat │ ├── DOCS.md │ └── chatService.ts ├── functionRegistryModule.cjs ├── chatBot │ ├── DOCS.md │ └── chatBotService.ts ├── sre │ ├── README.md │ └── buildFailureAgent.ts ├── test │ └── testSetup.ts ├── initTiktokenizer.ts ├── agent │ ├── autonomous │ │ ├── analyseIteration.ts │ │ └── functions │ │ │ └── agentFeedback.ts │ └── agentExecutions.ts ├── index.ts ├── cache │ └── functionCacheService.ts └── config │ └── configuration.test.ts ├── docs ├── docs │ ├── overview.md │ ├── blog │ │ ├── index.md │ │ └── posts │ │ │ └── intro.md │ ├── agents.md │ ├── assets │ │ ├── tai.png │ │ ├── tai-old.png │ │ └── styles.css │ ├── google-cloud.md │ ├── integrations.md │ ├── chatbot.md │ ├── index.css │ ├── getting-started-ui.md │ └── roadmap.md ├── bin │ ├── build │ ├── serve │ ├── setup │ └── deploy └── README.md ├── .node-version ├── .python-version ├── bin ├── configure_parts │ └── db_setup ├── run ├── container-shell ├── path │ ├── DOCS.md │ ├── n │ ├── jira │ ├── port │ └── ai ├── post_install ├── container-restart-server ├── cmd-script └── dev-restart ├── frontend ├── public │ ├── .gitkeep │ ├── favicon-32x32.png │ ├── images │ │ ├── splash.png │ │ └── logo │ │ │ ├── tai.png │ │ │ ├── tai-dark.png │ │ │ └── tai-large.png │ ├── i18n │ │ └── en.json │ └── fonts │ │ └── inter │ │ ├── Inter-roman.var.woff2 │ │ ├── Inter-italic.var.woff2 │ │ └── inter.css ├── src │ ├── test │ │ └── testSetup.ts │ ├── _redirects │ ├── app │ │ ├── modules │ │ │ ├── codeTask │ │ │ │ ├── codeTask.types.ts │ │ │ │ ├── designReview │ │ │ │ │ ├── designFileSelection │ │ │ │ │ │ └── fileSelectionEditDialog │ │ │ │ │ │ │ └── fileSelectionEditDialog.component.scss │ │ │ │ │ ├── designReview.component.scss │ │ │ │ │ └── DOCS.md │ │ │ │ ├── codeTaskList │ │ │ │ │ └── codeTaskList.component.scss │ │ │ │ ├── codeTask.component.scss │ │ │ │ └── codeTask.routes.ts │ │ │ ├── codeEdit │ │ │ │ ├── code-edit.component.scss │ │ │ │ ├── filesystem-tree │ │ │ │ │ └── filesystem-tree.component.scss │ │ │ │ ├── code-edit.routes.ts │ │ │ │ └── code-edit.service.spec.ts │ │ │ ├── agents │ │ │ │ ├── new-agent │ │ │ │ │ ├── new-autonomous-agent │ │ │ │ │ │ └── new-autonomous-agent.component.scss │ │ │ │ │ ├── new-workflows-agent │ │ │ │ │ │ └── new-workflows-agent.component.scss │ │ │ │ │ ├── new-agent.component.html │ │ │ │ │ └── new-agent.component.ts │ │ │ │ └── agent │ │ │ │ │ ├── agent-llm-calls │ │ │ │ │ └── agent-llm-calls.component.scss │ │ │ │ │ ├── function-edit-modal │ │ │ │ │ ├── function-edit-modal.component.scss │ │ │ │ │ └── function-edit-modal.component.html │ │ │ │ │ ├── agent-iterations │ │ │ │ │ └── agent-iterations.component.scss │ │ │ │ │ └── agent-memory │ │ │ │ │ └── agent-memory.component.html │ │ │ ├── codeReview │ │ │ │ ├── code-review.component.html │ │ │ │ ├── code-review.component.ts │ │ │ │ └── code-review.routes.ts │ │ │ ├── prompts │ │ │ │ ├── list │ │ │ │ │ └── prompt-list.component.scss │ │ │ │ ├── message.types.ts │ │ │ │ └── prompts.component.ts │ │ │ ├── landing │ │ │ │ └── home │ │ │ │ │ ├── home.routes.ts │ │ │ │ │ ├── home.component.ts │ │ │ │ │ └── home.component.spec.ts │ │ │ ├── admin │ │ │ │ ├── admin.service.ts │ │ │ │ └── admin.service.spec.ts │ │ │ ├── slack │ │ │ │ ├── slack.routes.ts │ │ │ │ └── slack.service.ts │ │ │ ├── auth │ │ │ │ ├── sign-in │ │ │ │ │ └── sign-in.routes.ts │ │ │ │ ├── sign-up │ │ │ │ │ └── sign-up.routes.ts │ │ │ │ ├── sign-out │ │ │ │ │ └── sign-out.routes.ts │ │ │ │ ├── reset-password │ │ │ │ │ └── reset-password.routes.ts │ │ │ │ ├── unlock-session │ │ │ │ │ └── unlock-session.routes.ts │ │ │ │ ├── forgot-password │ │ │ │ │ └── forgot-password.routes.ts │ │ │ │ └── confirmation-required │ │ │ │ │ ├── confirmation-required.routes.ts │ │ │ │ │ └── confirmation-required.component.ts │ │ │ ├── chat │ │ │ │ ├── chat.component.html │ │ │ │ ├── chat.component.ts │ │ │ │ ├── chat.routes.ts │ │ │ │ └── chat.types.ts │ │ │ ├── profile │ │ │ │ └── profile.routes.ts │ │ │ └── message.types.ts │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── core │ │ │ ├── types.ts │ │ │ ├── navigation │ │ │ │ └── navigation.types.ts │ │ │ ├── icons │ │ │ │ └── icons.provider.ts │ │ │ ├── pipes │ │ │ │ └── safe-html.pipe.ts │ │ │ ├── auth │ │ │ │ ├── auth.provider.ts │ │ │ │ └── guards │ │ │ │ │ └── noAuth.guard.ts │ │ │ ├── logger │ │ │ │ └── logger.ts │ │ │ ├── transloco │ │ │ │ └── transloco.http-loader.ts │ │ │ ├── api-state.types.ts │ │ │ ├── services │ │ │ │ └── local-storage.service.spec.ts │ │ │ └── interceptors │ │ │ │ └── base-url.interceptor.ts │ │ ├── shared.ts │ │ ├── layout │ │ │ ├── common │ │ │ │ ├── shortcuts │ │ │ │ │ └── shortcuts.types.ts │ │ │ │ ├── notifications │ │ │ │ │ └── notifications.types.ts │ │ │ │ └── quick-list │ │ │ │ │ ├── quick-list.types.ts │ │ │ │ │ └── quick-list.component.scss │ │ │ ├── empty │ │ │ │ └── empty.component.html │ │ │ └── layout.component.scss │ │ ├── mock-api │ │ │ └── common │ │ │ │ └── user │ │ │ │ └── data.ts │ │ └── app.component.ts │ ├── @fuse │ │ ├── index.ts │ │ ├── version │ │ │ ├── index.ts │ │ │ ├── public-api.ts │ │ │ ├── fuse-version.ts │ │ │ └── version.ts │ │ ├── animations │ │ │ ├── index.ts │ │ │ ├── defaults.ts │ │ │ ├── expand-collapse.ts │ │ │ └── public-api.ts │ │ ├── validators │ │ │ ├── index.ts │ │ │ └── public-api.ts │ │ ├── lib │ │ │ └── mock-api │ │ │ │ ├── index.ts │ │ │ │ ├── mock-api.constants.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── mock-api.types.ts │ │ │ │ └── mock-api.utils.ts │ │ ├── components │ │ │ ├── card │ │ │ │ ├── card.types.ts │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── card.component.html │ │ │ ├── alert │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── alert.types.ts │ │ │ ├── drawer │ │ │ │ ├── index.ts │ │ │ │ ├── drawer.component.html │ │ │ │ ├── drawer.types.ts │ │ │ │ └── public-api.ts │ │ │ ├── masonry │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── masonry.component.html │ │ │ ├── highlight │ │ │ │ ├── index.ts │ │ │ │ ├── highlight.component.scss │ │ │ │ ├── public-api.ts │ │ │ │ └── highlight.component.html │ │ │ ├── fullscreen │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── fullscreen.component.html │ │ │ ├── loading-bar │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── loading-bar.component.html │ │ │ │ └── loading-bar.component.scss │ │ │ └── navigation │ │ │ │ ├── index.ts │ │ │ │ ├── vertical │ │ │ │ ├── components │ │ │ │ │ ├── spacer │ │ │ │ │ │ └── spacer.component.html │ │ │ │ │ └── divider │ │ │ │ │ │ └── divider.component.html │ │ │ │ └── vertical.component.scss │ │ │ │ ├── horizontal │ │ │ │ └── components │ │ │ │ │ ├── spacer │ │ │ │ │ └── spacer.component.html │ │ │ │ │ └── divider │ │ │ │ │ └── divider.component.html │ │ │ │ └── public-api.ts │ │ ├── services │ │ │ ├── config │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── config.constants.ts │ │ │ │ └── config.types.ts │ │ │ ├── utils │ │ │ │ ├── index.ts │ │ │ │ └── public-api.ts │ │ │ ├── loading │ │ │ │ ├── index.ts │ │ │ │ └── public-api.ts │ │ │ ├── platform │ │ │ │ ├── index.ts │ │ │ │ └── public-api.ts │ │ │ ├── confirmation │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── confirmation.types.ts │ │ │ ├── media-watcher │ │ │ │ ├── index.ts │ │ │ │ └── public-api.ts │ │ │ └── splash-screen │ │ │ │ ├── index.ts │ │ │ │ └── public-api.ts │ │ ├── pipes │ │ │ └── find-by-key │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── find-by-key.pipe.ts │ │ ├── directives │ │ │ ├── scrollbar │ │ │ │ ├── index.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── scrollbar.types.ts │ │ │ └── scroll-reset │ │ │ │ ├── index.ts │ │ │ │ └── public-api.ts │ │ ├── styles │ │ │ ├── main.scss │ │ │ └── components │ │ │ │ └── input.scss │ │ └── tailwind │ │ │ └── utils │ │ │ └── generate-contrasts.js │ ├── main.ts │ ├── styles │ │ ├── tailwind.scss │ │ ├── vendors.scss │ │ └── inter.css │ └── environments │ │ ├── environment.prod.ts │ │ └── environment.ts ├── .node-version ├── .npmrc ├── transloco.config.js ├── pnpm-workspace.yaml ├── .gitignore ├── tsconfig.spec.json ├── tsconfig.app.json ├── .editorconfig ├── bin │ └── find-problematic-test ├── LICENSE.md ├── tsconfig.json └── README.md ├── test ├── filesystem │ ├── dir1 │ │ ├── file1a │ │ ├── file1b │ │ └── dir2 │ │ │ ├── file2a │ │ │ ├── dir3 │ │ │ ├── file3a │ │ │ └── file3b │ │ │ └── .gitignore │ ├── toplevel │ └── .gitignore └── llm │ ├── purple.jpg │ ├── table.png │ └── document.pdf ├── .npmrc ├── .dockerignore ├── .husky ├── pre-push └── install.mjs ├── shared ├── config.ts ├── agent │ ├── agent.types.ts │ └── agent.utils.ts ├── slack │ ├── slack.model.ts │ ├── slack.api.ts │ └── slack.schema.ts ├── routes.ts ├── llm │ └── llm.api.ts ├── scm │ └── git.model.ts ├── files │ ├── files.model.ts │ └── files.schema.ts ├── codeReview │ └── codeReview.model.ts ├── auth │ └── auth.api.ts ├── common.schema.ts ├── chat │ └── chat.model.ts ├── typeUtils.ts └── errors.ts ├── .secretlintrc.json ├── .claude └── settings.local.json ├── .gitignore ├── .typedai.json ├── pnpm-workspace.yaml ├── docker-compose.yml ├── biome.json ├── prompts └── promptsService.ts ├── .github └── workflows │ └── playwright.yml ├── LICENCE └── CHANGELOG.md /src/cli/agent-in: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/cli/code-in: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/cli/swe-in: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/docs/overview.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/cli/code-system: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/cli/research-in: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/codeTask/DOCS.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 22.14.0 2 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.11.7 2 | -------------------------------------------------------------------------------- /bin/configure_parts/db_setup: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/public/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/utils/errors.test.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/filesystem/dir1/file1a: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/filesystem/dir1/file1b: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/filesystem/toplevel: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/bin/build: -------------------------------------------------------------------------------- 1 | mkdocs build 2 | -------------------------------------------------------------------------------- /frontend/src/test/testSetup.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/swe/coder/reflectionUtils.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/filesystem/dir1/dir2/file2a: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/.node-version: -------------------------------------------------------------------------------- 1 | v22.14.0 2 | -------------------------------------------------------------------------------- /test/filesystem/dir1/dir2/dir3/file3a: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/filesystem/dir1/dir2/dir3/file3b: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.org/ -------------------------------------------------------------------------------- /docs/docs/blog/index.md: -------------------------------------------------------------------------------- 1 | # Blog 2 | 3 | -------------------------------------------------------------------------------- /frontend/.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true 2 | -------------------------------------------------------------------------------- /test/filesystem/dir1/dir2/.gitignore: -------------------------------------------------------------------------------- 1 | file2a -------------------------------------------------------------------------------- /docs/bin/serve: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | mkdocs serve 3 | -------------------------------------------------------------------------------- /frontend/src/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 2 | -------------------------------------------------------------------------------- /src/functionSchema/functionSchemaToJsonSchema.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/swe/codeReview/local/localCodeReview.test.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/app/modules/codeTask/codeTask.types.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/functionSchema/functionSchemaToJsonSchema.test.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/functions/scm/sourceControlManagement.test.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/modules/mongo/MongoCodeTaskRepository.test.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/app/modules/codeEdit/code-edit.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/fastify/trace-init/index.ts: -------------------------------------------------------------------------------- 1 | import './trace-init'; 2 | -------------------------------------------------------------------------------- /src/modules/postgres/postgresCodeReviewService.test.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/@fuse/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fuse.provider'; 2 | -------------------------------------------------------------------------------- /src/routes/codeTask/index.ts: -------------------------------------------------------------------------------- 1 | export * from './codeTaskRoutes'; 2 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | bin 4 | .venv 5 | .typedai/ 6 | -------------------------------------------------------------------------------- /.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | pnpm run lint:ci && pnpm run test 3 | -------------------------------------------------------------------------------- /docs/bin/setup: -------------------------------------------------------------------------------- 1 | pip install mkdocs mkdocs-material mkdocs-glightbox 2 | -------------------------------------------------------------------------------- /frontend/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/llm/multi-agent/alloy.ts: -------------------------------------------------------------------------------- 1 | // https://xbow.com/blog/alloy-agents/ 2 | -------------------------------------------------------------------------------- /bin/run: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | mkdir -p ~/.config/gcloud 3 | docker-compose up --build 4 | -------------------------------------------------------------------------------- /docs/bin/deploy: -------------------------------------------------------------------------------- 1 | ./bin/build && cd site && gsutil -m cp -r . gs://$DOCS_BUCKET/ 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/version/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/version/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/app/modules/codeEdit/filesystem-tree/filesystem-tree.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/docs/agents.md: -------------------------------------------------------------------------------- 1 | # Running Agents 2 | 3 | ## Agent Context 4 | 5 | Coming soon... -------------------------------------------------------------------------------- /frontend/src/@fuse/animations/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/animations/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/validators/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/validators/public-api'; 2 | -------------------------------------------------------------------------------- /shared/config.ts: -------------------------------------------------------------------------------- 1 | export type AuthType = 'google_iap' | 'single_user' | 'password'; 2 | -------------------------------------------------------------------------------- /test/llm/purple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/test/llm/purple.jpg -------------------------------------------------------------------------------- /test/llm/table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/test/llm/table.png -------------------------------------------------------------------------------- /frontend/src/@fuse/lib/mock-api/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/lib/mock-api/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/validators/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/validators/validators'; 2 | -------------------------------------------------------------------------------- /test/llm/document.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/test/llm/document.pdf -------------------------------------------------------------------------------- /bin/container-shell: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker exec -it $(docker ps -qf "name=typedai-dev") bash 3 | -------------------------------------------------------------------------------- /docs/docs/assets/tai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/docs/docs/assets/tai.png -------------------------------------------------------------------------------- /frontend/src/@fuse/components/card/card.types.ts: -------------------------------------------------------------------------------- 1 | export type FuseCardFace = 'front' | 'back'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/card/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/card/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/config/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/config/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/utils/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/app/modules/agents/new-agent/new-autonomous-agent/new-autonomous-agent.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/app/modules/codeReview/code-review.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/o11y/ollyModule.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | logger: require('./logger.ts').logger, 3 | }; 4 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/alert/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/alert/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/drawer/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/drawer/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/masonry/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/masonry/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/pipes/find-by-key/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/pipes/find-by-key/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/loading/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/loading/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/platform/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/platform/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/utils/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/utils/utils.service'; 2 | -------------------------------------------------------------------------------- /docs/docs/assets/tai-old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/docs/docs/assets/tai-old.png -------------------------------------------------------------------------------- /docs/docs/google-cloud.md: -------------------------------------------------------------------------------- 1 | 2 | # Persistent file store 3 | https://cloud.google.com/storage/docs/hns-overview -------------------------------------------------------------------------------- /frontend/src/@fuse/components/card/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/card/card.component'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/highlight/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/highlight/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/directives/scrollbar/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/directives/scrollbar/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/transloco.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | rootTranslationsPath: 'src/assets/i18n/', 3 | }; 4 | -------------------------------------------------------------------------------- /test/filesystem/.gitignore: -------------------------------------------------------------------------------- 1 | # test/filesystem is used by the FileSystem.listFilesRecursively tests 2 | file3b -------------------------------------------------------------------------------- /frontend/src/@fuse/components/fullscreen/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/fullscreen/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/loading-bar/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/loading-bar/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/navigation/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/navigation/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/directives/scroll-reset/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/directives/scroll-reset/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/confirmation/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/confirmation/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/media-watcher/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/media-watcher/public-api'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/platform/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/platform/platform.service'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/splash-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/splash-screen/public-api'; 2 | -------------------------------------------------------------------------------- /src/swe/discovery/README.md: -------------------------------------------------------------------------------- 1 | This folder contains agents which perform the discovery/research 2 | phase of a task. -------------------------------------------------------------------------------- /frontend/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/frontend/public/favicon-32x32.png -------------------------------------------------------------------------------- /frontend/public/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/frontend/public/images/splash.png -------------------------------------------------------------------------------- /frontend/src/@fuse/components/masonry/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/masonry/masonry.component'; 2 | -------------------------------------------------------------------------------- /bin/path/DOCS.md: -------------------------------------------------------------------------------- 1 | This folder is intended to be added to the users PATH so the commands are available from any directory. -------------------------------------------------------------------------------- /docs/docs/assets/styles.css: -------------------------------------------------------------------------------- 1 | .md-header__topic:first-child { 2 | font-weight: 500; 3 | transform: scaleY(0.9); 4 | } -------------------------------------------------------------------------------- /frontend/public/images/logo/tai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/frontend/public/images/logo/tai.png -------------------------------------------------------------------------------- /frontend/src/@fuse/directives/scrollbar/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/directives/scrollbar/scrollbar.directive'; 2 | -------------------------------------------------------------------------------- /bin/post_install: -------------------------------------------------------------------------------- 1 | # TODO: Check front-end and backend ai and @sinclair/typebox versions in package-lock.json are identical 2 | -------------------------------------------------------------------------------- /docs/docs/blog/posts/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | draft: true 3 | date: 2024-01-31 4 | categories: 5 | - Intro 6 | --- 7 | 8 | # Intro -------------------------------------------------------------------------------- /frontend/src/@fuse/components/fullscreen/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/fullscreen/fullscreen.component'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/highlight/highlight.component.scss: -------------------------------------------------------------------------------- 1 | textarea[fuse-highlight] { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/loading-bar/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/loading-bar/loading-bar.component'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/media-watcher/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/media-watcher/media-watcher.service'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/splash-screen/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/splash-screen/splash-screen.service'; 2 | -------------------------------------------------------------------------------- /frontend/public/images/logo/tai-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/frontend/public/images/logo/tai-dark.png -------------------------------------------------------------------------------- /frontend/public/images/logo/tai-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/frontend/public/images/logo/tai-large.png -------------------------------------------------------------------------------- /frontend/src/@fuse/directives/scroll-reset/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/directives/scroll-reset/scroll-reset.directive'; 2 | -------------------------------------------------------------------------------- /frontend/src/@fuse/version/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/version/fuse-version'; 2 | export * from '@fuse/version/version'; 3 | -------------------------------------------------------------------------------- /src/chat/DOCS.md: -------------------------------------------------------------------------------- 1 | # Chat 2 | 3 | Chat is for simple request/response chats as on clade.ai, chat.openai.com and gemini.google.com/app -------------------------------------------------------------------------------- /.secretlintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": [ 3 | { 4 | "id": "@secretlint/secretlint-rule-preset-recommend" 5 | } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/functionRegistryModule.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | functionRegistry: require('./functionRegistry.ts').functionRegistry, 3 | }; 4 | -------------------------------------------------------------------------------- /src/functions/web/web.test.ts: -------------------------------------------------------------------------------- 1 | import { expect } from 'chai'; 2 | import sinon from 'sinon'; 3 | 4 | describe('PublicWeb', () => {}); 5 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # MkDocs documentation site 2 | 3 | ### Setup 4 | 5 | `./bin/setup` 6 | 7 | ## Serve 8 | 9 | `./bin/serve` 10 | -------------------------------------------------------------------------------- /frontend/public/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "welcome-back": "Welcome back", 3 | "Project": "Project", 4 | "Analytics": "Analytics" 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/drawer/drawer.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | -------------------------------------------------------------------------------- /frontend/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: flex; 3 | flex: 1 1 auto; 4 | width: 100%; 5 | height: 100%; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/public/fonts/inter/Inter-roman.var.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/frontend/public/fonts/inter/Inter-roman.var.woff2 -------------------------------------------------------------------------------- /src/modules/slack/slackModule.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | SlackChatBotService: require('./slackChatBotService.ts').SlackChatBotService, 3 | }; 4 | -------------------------------------------------------------------------------- /frontend/public/fonts/inter/Inter-italic.var.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-nous/main/frontend/public/fonts/inter/Inter-italic.var.woff2 -------------------------------------------------------------------------------- /frontend/pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | onlyBuiltDependencies: 2 | - '@biomejs/biome' 3 | - '@parcel/watcher' 4 | - esbuild 5 | - lmdb 6 | - msgpackr-extract 7 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/drawer/drawer.types.ts: -------------------------------------------------------------------------------- 1 | export type FuseDrawerMode = 'over' | 'side'; 2 | 3 | export type FuseDrawerPosition = 'left' | 'right'; 4 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/config/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/config/config.service'; 2 | export * from '@fuse/services/config/config.types'; 3 | -------------------------------------------------------------------------------- /frontend/src/@fuse/version/fuse-version.ts: -------------------------------------------------------------------------------- 1 | import { Version } from '@fuse/version/version'; 2 | 3 | export const FUSE_VERSION = new Version('21.0.0').full; 4 | -------------------------------------------------------------------------------- /frontend/src/app/modules/agents/agent/agent-llm-calls/agent-llm-calls.component.scss: -------------------------------------------------------------------------------- 1 | .expansion-preview { 2 | font-weight: normal; 3 | font-size: smaller; 4 | } -------------------------------------------------------------------------------- /frontend/src/@fuse/components/loading-bar/loading-bar.component.html: -------------------------------------------------------------------------------- 1 | @if (show) { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/loading/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/loading/loading.interceptor'; 2 | export * from '@fuse/services/loading/loading.service'; 3 | -------------------------------------------------------------------------------- /src/modules/postgres/postgresModule.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | postgresApplicationContext: require('./postgresApplicationContext.ts').postgresApplicationContext, 3 | }; 4 | -------------------------------------------------------------------------------- /frontend/src/@fuse/pipes/find-by-key/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/pipes/find-by-key/find-by-key.module'; 2 | export * from '@fuse/pipes/find-by-key/find-by-key.pipe'; 3 | -------------------------------------------------------------------------------- /src/modules/firestore/firestoreModule.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | firestoreApplicationContext: require('./firestoreApplicationContext.ts').firestoreApplicationContext, 3 | }; 4 | -------------------------------------------------------------------------------- /docs/docs/integrations.md: -------------------------------------------------------------------------------- 1 | # Tools/Integrations 2 | 3 | Creating new function callable integrations using the Code Editing agent is a great way to begin experimenting with agents. 4 | -------------------------------------------------------------------------------- /src/functionSchema/functionSchemaTypes.ts: -------------------------------------------------------------------------------- 1 | // In this file to break circular dependencies 2 | /** The name of the func decorator. */ 3 | export const FUNC_DECORATOR_NAME = 'func'; 4 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/highlight/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/highlight/highlight.component'; 2 | export * from '@fuse/components/highlight/highlight.service'; 3 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/config/config.constants.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | export const FUSE_CONFIG = new InjectionToken('FUSE_APP_CONFIG'); 4 | -------------------------------------------------------------------------------- /src/fastify/trace-init/traceModule.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | initTrace: require('./trace-init.ts').initTrace, 3 | shutdownTrace: require('./trace-init.ts').shutdownTrace, 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/@fuse/services/confirmation/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/services/confirmation/confirmation.service'; 2 | export * from '@fuse/services/confirmation/confirmation.types'; 3 | -------------------------------------------------------------------------------- /shared/agent/agent.types.ts: -------------------------------------------------------------------------------- 1 | // We use this in trace.ts to minimise dependencies on agent model and its imports on startup 2 | export interface HasCallStack { 3 | callStack: string[]; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/loading-bar/loading-bar.component.scss: -------------------------------------------------------------------------------- 1 | fuse-loading-bar { 2 | position: fixed; 3 | top: 0; 4 | z-index: 999; 5 | width: 100%; 6 | height: 6px; 7 | } 8 | -------------------------------------------------------------------------------- /src/chatBot/DOCS.md: -------------------------------------------------------------------------------- 1 | # ChatBots 2 | 3 | ChatBots are agents with tools which respond to a chat thread that might be on a 3rd party platform like Slack, WhatsApp etc or the 4 | basic chat in this platform. -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | .angular 2 | src/environments/.env.ts 3 | dist 4 | node_modules 5 | 6 | # Playwright 7 | /test-results/ 8 | /playwright-report/ 9 | /blob-report/ 10 | /playwright/.cache/ 11 | -------------------------------------------------------------------------------- /shared/slack/slack.model.ts: -------------------------------------------------------------------------------- 1 | export interface SlackStatusResponseModel { 2 | status: 'connected' | 'disconnected'; 3 | } 4 | 5 | export interface SlackActionResponseModel { 6 | success: boolean; 7 | } 8 | -------------------------------------------------------------------------------- /docs/docs/chatbot.md: -------------------------------------------------------------------------------- 1 | # Slack Chat Bot 2 | 3 | Slack chatbot 4 | 5 | https://github.com/TrafficGuard/typedai/blob/main/src/modules/slack/slackChatBotService.ts 6 | 7 | Work in progress, documentation coming soon. -------------------------------------------------------------------------------- /frontend/src/app/core/types.ts: -------------------------------------------------------------------------------- 1 | export interface Pagination { 2 | length: number; 3 | size: number; 4 | page: number; 5 | lastPage: number; 6 | startIndex: number; 7 | endIndex: number; 8 | } -------------------------------------------------------------------------------- /frontend/src/app/modules/agents/agent/function-edit-modal/function-edit-modal.component.scss: -------------------------------------------------------------------------------- 1 | .full-width { 2 | width: 100%; 3 | } 4 | 5 | .function-list { 6 | height: 300px; 7 | overflow-y: auto; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/app/modules/prompts/list/prompt-list.component.scss: -------------------------------------------------------------------------------- 1 | // Optional: Add specific styles if needed 2 | // Example: 3 | // mat-list-item { 4 | // transition: background-color 0.2s ease-in-out; 5 | // } 6 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/alert/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/alert/alert.component'; 2 | export * from '@fuse/components/alert/alert.service'; 3 | export * from '@fuse/components/alert/alert.types'; 4 | -------------------------------------------------------------------------------- /frontend/src/app/shared.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | // import { ROUTES } from "./routes"; 3 | 4 | @Injectable({ providedIn: 'root' }) 5 | export class SharedTypes { 6 | // routes = ROUTES 7 | } 8 | -------------------------------------------------------------------------------- /src/sre/README.md: -------------------------------------------------------------------------------- 1 | # SRE 2 | 3 | This folder contains agents and related functionality to perform DevOps/SRE/DevSecOps related work. 4 | 5 | For example analysing build failures, triaging production incidents, etc. 6 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/navigation/vertical/components/spacer/spacer.component.html: -------------------------------------------------------------------------------- 1 | 2 |
6 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/navigation/vertical/vertical.component.scss: -------------------------------------------------------------------------------- 1 | @use 'styles/appearances/default'; 2 | @use 'styles/appearances/compact'; 3 | @use 'styles/appearances/dense'; 4 | @use 'styles/appearances/thin'; 5 | -------------------------------------------------------------------------------- /frontend/src/app/modules/codeTask/designReview/designFileSelection/fileSelectionEditDialog/fileSelectionEditDialog.component.scss: -------------------------------------------------------------------------------- 1 | mat-form-field { 2 | width: 100%; 3 | } 4 | /* Add any other specific styles if needed */ 5 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/drawer/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/drawer/drawer.component'; 2 | export * from '@fuse/components/drawer/drawer.service'; 3 | export * from '@fuse/components/drawer/drawer.types'; 4 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/navigation/horizontal/components/spacer/spacer.component.html: -------------------------------------------------------------------------------- 1 | 2 |
6 | -------------------------------------------------------------------------------- /frontend/src/@fuse/lib/mock-api/mock-api.constants.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | export const FUSE_MOCK_API_DEFAULT_DELAY = new InjectionToken( 4 | 'FUSE_MOCK_API_DEFAULT_DELAY' 5 | ); 6 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/navigation/vertical/components/divider/divider.component.html: -------------------------------------------------------------------------------- 1 | 2 |
6 | -------------------------------------------------------------------------------- /frontend/src/app/modules/prompts/message.types.ts: -------------------------------------------------------------------------------- 1 | export interface Attachment { 2 | type: 'file' | 'image'; 3 | filename: string; 4 | size: number; 5 | data: File | null; 6 | mediaType: string; 7 | previewUrl?: string; 8 | } 9 | -------------------------------------------------------------------------------- /src/chatBot/chatBotService.ts: -------------------------------------------------------------------------------- 1 | import { type AgentContext, AgentRunningState } from '#shared/agent/agent.model'; 2 | 3 | export interface ChatBotService { 4 | sendMessage(agent: AgentContext, message: string): Promise; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/navigation/horizontal/components/divider/divider.component.html: -------------------------------------------------------------------------------- 1 | 2 |
6 | -------------------------------------------------------------------------------- /frontend/src/app/layout/common/shortcuts/shortcuts.types.ts: -------------------------------------------------------------------------------- 1 | export interface Shortcut { 2 | id: string; 3 | label: string; 4 | description?: string; 5 | icon: string; 6 | link: string; 7 | useRouter: boolean; 8 | } 9 | -------------------------------------------------------------------------------- /src/test/testSetup.ts: -------------------------------------------------------------------------------- 1 | import '#fastify/trace-init/trace-init'; // leave an empty line next so this doesn't get sorted from the first line 2 | 3 | import { agentContext } from '#agent/agentContextLocalStorage'; 4 | 5 | agentContext(); 6 | -------------------------------------------------------------------------------- /.husky/install.mjs: -------------------------------------------------------------------------------- 1 | // Skip Husky install in production and CI 2 | if (process.env.NODE_ENV === 'production' || process.env.CI === 'true') { 3 | process.exit(0) 4 | } 5 | const husky = (await import('husky')).default 6 | console.log(husky()) 7 | -------------------------------------------------------------------------------- /src/utils/functional.ts: -------------------------------------------------------------------------------- 1 | export function isNullish(value: any): boolean { 2 | return value === null || value === undefined; 3 | } 4 | 5 | export function isNotNullish(value: any): boolean { 6 | return value !== null && value !== undefined; 7 | } 8 | -------------------------------------------------------------------------------- /src/llm/errors.ts: -------------------------------------------------------------------------------- 1 | export class MaxTokensError extends Error { 2 | constructor( 3 | public maxOutputTokens: number, 4 | public responseContent: string, 5 | ) { 6 | super(`Response exceeded the maximum token of ${maxOutputTokens}`); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/app/modules/landing/home/home.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export default [ 4 | { 5 | path: '', 6 | loadComponent: () => import('./home.component').then((m) => m.LandingHomeComponent), 7 | }, 8 | ] as Routes; 9 | -------------------------------------------------------------------------------- /docs/docs/index.css: -------------------------------------------------------------------------------- 1 | #_1 { 2 | display: none 3 | } 4 | .md-content__inner.md-typeset { 5 | padding-top: 0; 6 | } 7 | 8 | /* The CSS include is wrapped in a

. Looks it up as the sibling of the h1 with id #1*/ 9 | #_1 + * { 10 | margin-top: 0; 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/masonry/masonry.component.html: -------------------------------------------------------------------------------- 1 |

2 | 8 |
9 | -------------------------------------------------------------------------------- /frontend/src/app/modules/admin/admin.service.ts: -------------------------------------------------------------------------------- 1 | import { HttpClient } from '@angular/common/http'; 2 | import { Injectable, inject } from '@angular/core'; 3 | 4 | @Injectable({ providedIn: 'root' }) 5 | export class AdminService { 6 | private http = inject(HttpClient); 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { AppComponent } from 'app/app.component'; 3 | import { appConfig } from 'app/app.config'; 4 | 5 | bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); 6 | -------------------------------------------------------------------------------- /.claude/settings.local.json: -------------------------------------------------------------------------------- 1 | { 2 | "permissions": { 3 | "allow": [ 4 | "Bash(npm test:*)", 5 | "Bash(ls:*)", 6 | "Bash(echo:*)", 7 | "Bash(pnpm run build:*)", 8 | "Bash(pnpm test:*)", 9 | ], 10 | "deny": [], 11 | "ask": [] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/utils/beep.ts: -------------------------------------------------------------------------------- 1 | import { sleep } from '#utils/async-utils'; 2 | 3 | export async function beep(): Promise { 4 | const delayMs = 100; 5 | const beeps = 3; 6 | 7 | for (let i = 0; i < beeps; i++) { 8 | process.stdout.write('\u0007'); 9 | await sleep(delayMs); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /docs/docs/getting-started-ui.md: -------------------------------------------------------------------------------- 1 | ### Local server & UI 2 | 3 | In one terminal run 4 | ```bash 5 | npm run start:local 6 | ``` 7 | In a second terminal run 8 | ```bash 9 | cd frontend 10 | npm run start:local 11 | ``` 12 | The UI will be available at [http://localhost:4200](http://localhost:4200) -------------------------------------------------------------------------------- /frontend/src/@fuse/styles/main.scss: -------------------------------------------------------------------------------- 1 | /* 1. Components */ 2 | @use 'components/example-viewer'; 3 | @use 'components/input'; 4 | 5 | /* 2. Overrides */ 6 | @use 'overrides/angular-material'; 7 | @use 'overrides/highlightjs'; 8 | @use 'overrides/perfect-scrollbar'; 9 | @use 'overrides/quill'; 10 | -------------------------------------------------------------------------------- /frontend/src/app/mock-api/common/user/data.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export const user = { 3 | id: 'cfaad35d-07a3-4447-a6c3-d8c3d54fd5df', 4 | name: 'Brian Hughes', 5 | email: 'hughes.brian@company.com', 6 | avatar: 'images/avatars/brian-hughes.jpg', 7 | status: 'online', 8 | }; 9 | -------------------------------------------------------------------------------- /frontend/src/app/modules/slack/slack.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { SlackComponent } from 'app/modules/slack/slack.component'; 3 | 4 | export default [ 5 | { 6 | path : '', 7 | component: SlackComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /frontend/src/app/modules/auth/sign-in/sign-in.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { AuthSignInComponent } from 'app/modules/auth/sign-in/sign-in.component'; 3 | 4 | export default [ 5 | { 6 | path: '', 7 | component: AuthSignInComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /frontend/src/app/modules/auth/sign-up/sign-up.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { AuthSignUpComponent } from 'app/modules/auth/sign-up/sign-up.component'; 3 | 4 | export default [ 5 | { 6 | path: '', 7 | component: AuthSignUpComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /frontend/src/app/modules/auth/sign-out/sign-out.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { AuthSignOutComponent } from 'app/modules/auth/sign-out/sign-out.component'; 3 | 4 | export default [ 5 | { 6 | path: '', 7 | component: AuthSignOutComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/alert/alert.types.ts: -------------------------------------------------------------------------------- 1 | export type FuseAlertAppearance = 'border' | 'fill' | 'outline' | 'soft'; 2 | 3 | export type FuseAlertType = 4 | | 'primary' 5 | | 'accent' 6 | | 'warn' 7 | | 'basic' 8 | | 'info' 9 | | 'success' 10 | | 'warning' 11 | | 'error'; 12 | -------------------------------------------------------------------------------- /src/functionSchema/generateFunctionSchemas.ts: -------------------------------------------------------------------------------- 1 | import { appContext } from '#app/applicationContext'; 2 | import { functionRegistry } from '../functionRegistry'; 3 | 4 | // [DOC] For CLI tool to pre-build the function schemas for faster startup time 5 | appContext(); // Init the in-memory context 6 | functionRegistry(); 7 | -------------------------------------------------------------------------------- /frontend/src/@fuse/lib/mock-api/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/lib/mock-api/mock-api.constants'; 2 | export * from '@fuse/lib/mock-api/mock-api.interceptor'; 3 | export * from '@fuse/lib/mock-api/mock-api.service'; 4 | export * from '@fuse/lib/mock-api/mock-api.types'; 5 | export * from '@fuse/lib/mock-api/mock-api.utils'; 6 | -------------------------------------------------------------------------------- /frontend/src/app/core/navigation/navigation.types.ts: -------------------------------------------------------------------------------- 1 | import { FuseNavigationItem } from '@fuse/components/navigation'; 2 | 3 | export interface Navigation { 4 | compact: FuseNavigationItem[]; 5 | default: FuseNavigationItem[]; 6 | futuristic: FuseNavigationItem[]; 7 | horizontal: FuseNavigationItem[]; 8 | } 9 | -------------------------------------------------------------------------------- /shared/routes.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @deprecated Use the new API definition routes 3 | * Backend route paths 4 | */ 5 | export const API_ROUTES = { 6 | AUTH_ROUTE_PREFIX: '/api/auth/', 7 | AUTH_SIGN_IN: '/api/auth/signin', 8 | AUTH_SIGNUP: '/api/auth/signup', 9 | AUTH_CONFIRM_EMAIL: '/api/auth/confirm-email', 10 | }; 11 | -------------------------------------------------------------------------------- /src/functions/customFunctions.ts: -------------------------------------------------------------------------------- 1 | import { func, funcClass } from '#functionSchema/functionDecorators'; 2 | import { execCommand, failOnError } from '#utils/exec'; 3 | 4 | /** 5 | * This is for quickly creating ad-hoc temporary functions for your agents 6 | */ 7 | @funcClass(__filename) 8 | export class CustomFunctions {} 9 | -------------------------------------------------------------------------------- /frontend/src/styles/tailwind.scss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------------------------------- */ 2 | /* @ Main Tailwind file for injecting utilities. 3 | /* ----------------------------------------------------------------------------------------------------- */ 4 | @tailwind utilities; 5 | -------------------------------------------------------------------------------- /frontend/src/app/layout/common/notifications/notifications.types.ts: -------------------------------------------------------------------------------- 1 | export interface Notification { 2 | id: string; 3 | icon?: string; 4 | image?: string; 5 | title?: string; 6 | description?: string; 7 | time: string; 8 | link?: string; 9 | useRouter?: boolean; 10 | read: boolean; 11 | } 12 | -------------------------------------------------------------------------------- /src/routes/auth/index.ts: -------------------------------------------------------------------------------- 1 | import type { AppFastifyInstance } from '#app/applicationTypes'; 2 | import { signInRoute } from './signIn'; 3 | import { signUpRoute } from './signUp'; 4 | 5 | export async function authRoutes(fastify: AppFastifyInstance): Promise { 6 | await signInRoute(fastify); 7 | await signUpRoute(fastify); 8 | } 9 | -------------------------------------------------------------------------------- /bin/container-restart-server: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Use docker exec to run commands inside the container 3 | docker exec typedai-dev bash -c ' 4 | # Kill the existing Node.js process 5 | kill $(pgrep node) 6 | 7 | # Start the server again 8 | cd /home/typedai && npm start & 9 | 10 | echo "Node.js server restarted" 11 | ' -------------------------------------------------------------------------------- /frontend/src/@fuse/components/navigation/public-api.ts: -------------------------------------------------------------------------------- 1 | export * from '@fuse/components/navigation/horizontal/horizontal.component'; 2 | export * from '@fuse/components/navigation/navigation.service'; 3 | export * from '@fuse/components/navigation/navigation.types'; 4 | export * from '@fuse/components/navigation/vertical/vertical.component'; 5 | -------------------------------------------------------------------------------- /frontend/src/app/modules/chat/chat.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 |
6 |
7 | 10 | -------------------------------------------------------------------------------- /frontend/src/app/modules/auth/reset-password/reset-password.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { AuthResetPasswordComponent } from 'app/modules/auth/reset-password/reset-password.component'; 3 | 4 | export default [ 5 | { 6 | path: '', 7 | component: AuthResetPasswordComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /frontend/src/app/modules/auth/unlock-session/unlock-session.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { AuthUnlockSessionComponent } from 'app/modules/auth/unlock-session/unlock-session.component'; 3 | 4 | export default [ 5 | { 6 | path: '', 7 | component: AuthUnlockSessionComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /src/fastify/index.ts: -------------------------------------------------------------------------------- 1 | export { 2 | fastifyInstance as fastifyApp, 3 | initFastify, 4 | type TypeBoxFastifyInstance, 5 | type FastifyConfig, 6 | type FastifyRoutes, 7 | } from './fastifyApp'; 8 | 9 | export { 10 | send, 11 | sendBadRequest, 12 | sendNotFound, 13 | sendSuccess, 14 | sendUnauthorized, 15 | } from './responses'; 16 | -------------------------------------------------------------------------------- /frontend/src/app/modules/auth/forgot-password/forgot-password.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { AuthForgotPasswordComponent } from 'app/modules/auth/forgot-password/forgot-password.component'; 3 | 4 | export default [ 5 | { 6 | path: '', 7 | component: AuthForgotPasswordComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /src/llm/multi-agent/multiRegistry.ts: -------------------------------------------------------------------------------- 1 | import { FastEasyLLM } from '#llm/multi-agent/fastEasy'; 2 | import { FastMediumLLM } from '#llm/multi-agent/fastMedium'; 3 | import type { LLM } from '#shared/llm/llm.model'; 4 | 5 | export function multiAgentLLMRegistry(): Array<() => LLM> { 6 | return [() => new FastMediumLLM(), () => new FastEasyLLM()]; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/spec", 6 | "types": ["jasmine"], 7 | }, 8 | "include": ["src/**/*.spec.ts", "src/**/*.d.ts", "../../shared/**/*.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /src/initTiktokenizer.ts: -------------------------------------------------------------------------------- 1 | import { countTokens } from '#llm/tokens'; 2 | 3 | // node_modules is read-only for the typedai user in prod, so download in the docker build 4 | countTokens('hi') 5 | .catch((err) => { 6 | console.error('Failed to download tiktoken model'); 7 | console.error(err); 8 | }) 9 | .finally(() => console.log('Done')); 10 | -------------------------------------------------------------------------------- /frontend/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [], 7 | }, 8 | "files": ["src/main.ts"], 9 | "include": ["src/**/*.d.ts", "../../shared/**/*.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /frontend/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 4 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.ts] 12 | quote_type = single 13 | 14 | [*.md] 15 | max_line_length = off 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /frontend/src/app/modules/codeTask/codeTaskList/codeTaskList.component.scss: -------------------------------------------------------------------------------- 1 | /* Remove all existing styles related to the old quick-chat layout */ 2 | 3 | /* Add custom styles for codeTaskList if needed */ 4 | /* For example: */ 5 | /* 6 | :host { 7 | display: block; 8 | width: 100%; 9 | } 10 | 11 | mat-table { 12 | // Custom table styles 13 | } 14 | */ 15 | -------------------------------------------------------------------------------- /bin/cmd-script: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This signal trap is so we can restart the node.js server in the container from host machine 4 | restart_server() { 5 | echo "Restarting Node.js server..." 6 | ./bin/dev-restart 7 | } 8 | # Set up signal trap 9 | trap restart_server SIGUSR1 10 | 11 | cd frontend && npm run start:local & 12 | pnpm run start:local & 13 | wait 14 | -------------------------------------------------------------------------------- /bin/dev-restart: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script is for when using development Dockerfile 3 | # so we can restart the node server in the container 4 | # The container-restart-server script is used to call this from the host machine 5 | 6 | # Kill the existing Node.js process 7 | pkill node 8 | 9 | # Start the server again 10 | npm start & 11 | 12 | echo "Node.js server restarted" -------------------------------------------------------------------------------- /frontend/src/app/modules/auth/confirmation-required/confirmation-required.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { AuthConfirmationRequiredComponent } from 'app/modules/auth/confirmation-required/confirmation-required.component'; 3 | 4 | export default [ 5 | { 6 | path: '', 7 | component: AuthConfirmationRequiredComponent, 8 | }, 9 | ] as Routes; 10 | -------------------------------------------------------------------------------- /shared/llm/llm.api.ts: -------------------------------------------------------------------------------- 1 | import { defineApiRoute } from '#shared/api-definitions'; 2 | import { LlmsResponseSchema } from '#shared/llm/llm.schema'; 3 | 4 | const LLMS_BASE = '/api/llms'; 5 | 6 | export const LLMS_API = { 7 | list: defineApiRoute('GET', `${LLMS_BASE}/list`, { 8 | schema: { 9 | response: { 10 | 200: LlmsResponseSchema, 11 | }, 12 | }, 13 | }), 14 | }; 15 | -------------------------------------------------------------------------------- /src/routes/auth/auth-routes.ts: -------------------------------------------------------------------------------- 1 | import type { AppFastifyInstance } from '#app/applicationTypes'; 2 | import { signInRoute } from './signIn'; 3 | import { signUpRoute } from './signUp'; 4 | 5 | const basePath = '/api/auth'; 6 | 7 | export async function authRoutes(fastify: AppFastifyInstance): Promise { 8 | await signInRoute(fastify); 9 | await signUpRoute(fastify); 10 | } 11 | -------------------------------------------------------------------------------- /src/swe/coder/validators/validationRule.ts: -------------------------------------------------------------------------------- 1 | import type { EditBlock } from '../coderTypes'; // Assuming EditBlock is still in applySearchReplace 2 | 3 | export interface ValidationIssue { 4 | file: string; 5 | reason: string; 6 | } 7 | 8 | export interface ValidationRule { 9 | name: string; 10 | check(block: EditBlock, repoFiles: string[]): Promise; 11 | } 12 | -------------------------------------------------------------------------------- /src/routes/codeEdit/index.ts: -------------------------------------------------------------------------------- 1 | import type { AppFastifyInstance } from '#app/applicationTypes'; 2 | import { getFileSystemTreeRoute } from './getFileSystemTreeRoute'; 3 | import { getFilesContentRoute } from './getFilesContentRoute'; 4 | 5 | export async function codeEditRoutes(fastify: AppFastifyInstance) { 6 | await getFileSystemTreeRoute(fastify); 7 | await getFilesContentRoute(fastify); 8 | } 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vscode/ 3 | node_modules/ 4 | frontend/node_modules/ 5 | frontend/.angular/ 6 | .husky/ 7 | dist/ 8 | docs/site/ 9 | #.env 10 | **.idea 11 | **.vscode 12 | build/ 13 | temp/ 14 | .aider* 15 | .ignore 16 | .cache 17 | .venv/ 18 | .typedai/ 19 | src/cli/*-in 20 | src/cli/*-out 21 | tg/ 22 | pyodide/ 23 | firestore-debug.log 24 | .npm/ 25 | .pm2/ 26 | bench 27 | /benchmarks 28 | -------------------------------------------------------------------------------- /frontend/src/app/modules/prompts/prompts.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { RouterModule } from '@angular/router'; 3 | 4 | @Component({ 5 | selector: 'app-prompts', 6 | standalone: true, 7 | imports: [RouterModule], 8 | template: `
`, 9 | }) 10 | export class PromptsComponent {} 11 | -------------------------------------------------------------------------------- /frontend/src/@fuse/components/highlight/highlight.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 |
7 |
8 |
9 | -------------------------------------------------------------------------------- /src/modules/memory/inMemoryPromptService.test.ts: -------------------------------------------------------------------------------- 1 | import { runPromptsServiceTests } from '#prompts/promptsService.test'; 2 | import { setupConditionalLoggerOutput } from '#test/testUtils'; 3 | import { InMemoryPromptService } from './inMemoryPromptService'; 4 | 5 | describe('InMemoryPromptService', () => { 6 | setupConditionalLoggerOutput(); 7 | runPromptsServiceTests(() => new InMemoryPromptService()); 8 | }); 9 | -------------------------------------------------------------------------------- /frontend/src/app/core/icons/icons.provider.ts: -------------------------------------------------------------------------------- 1 | import { 2 | EnvironmentProviders, 3 | inject, 4 | provideEnvironmentInitializer, 5 | Provider, 6 | } from '@angular/core'; 7 | import { IconsService } from 'app/core/icons/icons.service'; 8 | 9 | export const provideIcons = (): Array => { 10 | return [provideEnvironmentInitializer(() => inject(IconsService))]; 11 | }; 12 | -------------------------------------------------------------------------------- /frontend/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { RouterOutlet } from '@angular/router'; 3 | 4 | @Component({ 5 | selector: 'app-root', 6 | templateUrl: './app.component.html', 7 | styleUrls: ['./app.component.scss'], 8 | imports: [RouterOutlet], 9 | }) 10 | export class AppComponent { 11 | /** 12 | * Constructor 13 | */ 14 | constructor() {} 15 | } 16 | -------------------------------------------------------------------------------- /src/modules/memory/inMemoryCodeReviewService.test.ts: -------------------------------------------------------------------------------- 1 | import { runCodeReviewServiceTests } from '#swe/codeReview/codeReviewService.test'; 2 | import { setupConditionalLoggerOutput } from '#test/testUtils'; 3 | import { InMemoryCodeReviewService } from './inMemoryCodeReviewService'; 4 | 5 | describe('InMemoryCodeReviewService', () => { 6 | setupConditionalLoggerOutput(); 7 | runCodeReviewServiceTests(() => new InMemoryCodeReviewService()); 8 | }); 9 | -------------------------------------------------------------------------------- /src/chat/chatService.ts: -------------------------------------------------------------------------------- 1 | import type { Chat, ChatList } from '#shared/chat/chat.model'; 2 | 3 | /** 4 | * The service only handles the persistence of the Chat objects. 5 | */ 6 | export interface ChatService { 7 | listChats(startAfter?: string, limit?: number): Promise; 8 | 9 | loadChat(chatId: string): Promise; 10 | 11 | saveChat(chat: Chat): Promise; 12 | 13 | deleteChat(chatId: string): Promise; 14 | } 15 | -------------------------------------------------------------------------------- /frontend/src/styles/vendors.scss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------------------------------- */ 2 | /* @ Import third party library styles here. 3 | /* ----------------------------------------------------------------------------------------------------- */ 4 | 5 | /* Perfect scrollbar */ 6 | @import 'perfect-scrollbar/css/perfect-scrollbar.css'; 7 | 8 | /* Quill */ 9 | @import 'quill/dist/quill.snow.css'; 10 | -------------------------------------------------------------------------------- /src/cli/slack.ts: -------------------------------------------------------------------------------- 1 | import { initApplicationContext } from '#app/applicationContext'; 2 | import { sleep } from '#utils/async-utils'; 3 | 4 | async function main() { 5 | await initApplicationContext(); 6 | const { SlackChatBotService } = await import('../modules/slack/slackModule.cjs'); 7 | const chatbot = new SlackChatBotService(); 8 | await chatbot.initSlack(); 9 | await sleep(60000); 10 | } 11 | 12 | main().then(() => console.log('done'), console.error); 13 | -------------------------------------------------------------------------------- /bin/path/n: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Shortcut to running `npm run