├── 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 |
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 |
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