Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/codeql/csharp-config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: C# CodeQL Configuration

paths:
- src/tools/customer-query/**
- packages/tools/customer-query/**

paths-ignore:
- '**/obj/**'
Expand Down
2 changes: 1 addition & 1 deletion .github/codeql/java-config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Java CodeQL Configuration

paths:
- src/tools/destination-recommendation/**
- packages/tools/destination-recommendation/**

paths-ignore:
- '**/target/**'
Expand Down
4 changes: 2 additions & 2 deletions .github/codeql/python-config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Python CodeQL Configuration

paths:
- src/tools/itinerary-planning/**
- src/tools/model-inference/**
- packages/tools/itinerary-planning/**
- packages/tools/model-inference/**

paths-ignore:
- '**/venv/**'
Expand Down
8 changes: 4 additions & 4 deletions .github/codeql/typescript-config.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: TypeScript CodeQL Configuration

paths:
- src/tools/code-evaluation/**
- src/tools/web-search/**
- src/api/**
- src/ui/**
- packages/tools/code-evaluation/**
- packages/tools/web-search/**
- packages/api/**
- packages/ui/**

paths-ignore:
- '**/node_modules/**'
Expand Down
24 changes: 12 additions & 12 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
## Big Picture Architecture

- The platform is a modular AI travel agent system, composed of multiple microservices ("tools") for itinerary planning, destination recommendations, customer queries, and more.
- The main API gateway is in `src/api/`, orchestrating requests to backend services.
- Each tool is isolated in its own directory under `src/tools/` and communicates via HTTP APIs or message passing.
- The frontend UI is in `src/ui/` (Angular + Tailwind CSS), talking to the API gateway.
- The main API gateway is in `packages/api/`, orchestrating requests to backend services.
- Each tool is isolated in its own directory under `packages/tools/` and communicates via HTTP APIs or message passing.
- The frontend UI is in `packages/ui/` (Angular + Tailwind CSS), talking to the API gateway.
- Infrastructure is managed with Bicep templates in `infra/` and setup scripts in `infra/hooks/`.

## Developer Workflows

- **Build & Run All Services:**
Run `./run.sh` from the repo root to build and start all services locally via Docker Compose.
- **Service-Specific Development:**
Each tool under `src/tools/` can be built and run independently using its language's standard commands (e.g., `npm`, `mvnw`, `python`).
Each tool under `packages/tools/` can be built and run independently using its language's standard commands (e.g., `npm`, `mvnw`, `python`).
- **UI Development:**
Run `npm start` in `src/ui/` for local frontend development.
Run `npm start` in `packages/ui/` for local frontend development.
- **Infrastructure Deployment:**
Use Bicep files in `infra/` and scripts in `infra/hooks/` for Azure deployments.

Expand All @@ -35,22 +35,22 @@
- **Azure Services:**
Provisioned via Bicep templates; see `infra/main.bicep`.
- **LLMs:**
Model integration details are in `llms.txt` and `src/api/src/orchestrator/llamaindex/`.
Model integration details are in `llms.txt` and `packages/api/src/orchestrator/llamaindex/`.

## Patterns & Examples

- **Adding a New Tool:**
Scaffold under `src/tools/`, provide a `Dockerfile`, and register with the API gateway.
Scaffold under `packages/tools/`, provide a `Dockerfile`, and register with the API gateway.
- **Extending the UI:**
Add Angular components in `src/ui/src/app/`, update routing as needed.
Add Angular components in `packages/ui/src/app/`, update routing as needed.
- **Service Communication:**
Use HTTP clients (see `src/api/src/mcp/mcp-http-client.ts`) for inter-service calls.
Use HTTP clients (see `packages/api/src/mcp/mcp-http-client.ts`) for inter-service calls.

## Key Files & Directories

- `src/api/` - API gateway and orchestrator logic
- `src/tools/` - Microservices (each in its own subdirectory)
- `src/ui/` - Angular frontend
- `packages/api/` - API gateway and orchestrator logic
- `packages/tools/` - Microservices (each in its own subdirectory)
- `packages/ui/` - Angular frontend
- `infra/` - Infrastructure as code (Bicep, setup scripts)
- `docs/` - Architecture and API documentation

Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src/api
working-directory: ./packages/api
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
Expand All @@ -27,7 +27,7 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src/ui
working-directory: ./packages/ui
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
Expand All @@ -41,7 +41,7 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src/tools/customer-query
working-directory: ./packages/tools/customer-query
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
Expand All @@ -55,7 +55,7 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src/tools/destination-recommendation
working-directory: ./packages/tools/destination-recommendation
steps:
- uses: actions/checkout@v4
- name: Set up JDK 24
Expand All @@ -70,7 +70,7 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src/tools/echo-ping
working-directory: ./packages/tools/echo-ping
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
Expand All @@ -84,7 +84,7 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src/tools/itinerary-planning
working-directory: ./packages/tools/itinerary-planning
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/codeql-csharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ on:
push:
branches: [main]
paths:
- 'src/tools/customer-query/**/*.cs'
- 'src/tools/customer-query/**/*.csproj'
- 'src/tools/customer-query/**/*.sln'
- 'src/tools/customer-query/AITravelAgent.*/**'
- 'packages/tools/customer-query/**/*.cs'
- 'packages/tools/customer-query/**/*.csproj'
- 'packages/tools/customer-query/**/*.sln'
- 'packages/tools/customer-query/AITravelAgent.*/**'
- '.github/workflows/codeql-csharp.yml'
- '.github/codeql/csharp-config.yml'
pull_request:
branches: [main]
paths:
- 'src/tools/customer-query/**/*.cs'
- 'src/tools/customer-query/**/*.csproj'
- 'src/tools/customer-query/**/*.sln'
- 'src/tools/customer-query/AITravelAgent.*/**'
- 'packages/tools/customer-query/**/*.cs'
- 'packages/tools/customer-query/**/*.csproj'
- 'packages/tools/customer-query/**/*.sln'
- 'packages/tools/customer-query/AITravelAgent.*/**'
- '.github/workflows/codeql-csharp.yml'
- '.github/codeql/csharp-config.yml'
workflow_dispatch: # Allow manual triggering
Expand Down Expand Up @@ -49,9 +49,9 @@ jobs:

- name: Restore and Build C#
run: |
if [ -d "src/tools/customer-query" ]; then
dotnet restore src/tools/customer-query/AITravelAgent.sln
dotnet build src/tools/customer-query/AITravelAgent.sln --configuration Release --no-restore
if [ -d "packages/tools/customer-query" ]; then
dotnet restore packages/tools/customer-query/AITravelAgent.sln
dotnet build packages/tools/customer-query/AITravelAgent.sln --configuration Release --no-restore
fi

- name: Perform CodeQL Analysis
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/codeql-java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ on:
push:
branches: [main]
paths:
- 'src/tools/destination-recommendation/src/main/java/**/*.java'
- 'src/tools/destination-recommendation/src/test/java/**/*.java'
- 'src/tools/destination-recommendation/pom.xml'
- 'src/tools/destination-recommendation/*.gradle'
- 'packages/tools/destination-recommendation/src/main/java/**/*.java'
- 'packages/tools/destination-recommendation/src/test/java/**/*.java'
- 'packages/tools/destination-recommendation/pom.xml'
- 'packages/tools/destination-recommendation/*.gradle'
- '.github/workflows/codeql-java.yml'
- '.github/codeql/java-config.yml'
pull_request:
branches: [main]
paths:
- 'src/tools/destination-recommendation/src/main/java/**/*.java'
- 'src/tools/destination-recommendation/src/test/java/**/*.java'
- 'src/tools/destination-recommendation/pom.xml'
- 'src/tools/destination-recommendation/*.gradle'
- 'packages/tools/destination-recommendation/src/main/java/**/*.java'
- 'packages/tools/destination-recommendation/src/test/java/**/*.java'
- 'packages/tools/destination-recommendation/pom.xml'
- 'packages/tools/destination-recommendation/*.gradle'
- '.github/workflows/codeql-java.yml'
- '.github/codeql/java-config.yml'
workflow_dispatch: # Allow manual triggering
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:

- name: Build Java with Maven
run: |
cd src/tools/destination-recommendation
cd packages/tools/destination-recommendation
mvn clean compile -B

- name: Perform CodeQL Analysis
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/codeql-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ on:
push:
branches: [main]
paths:
- 'src/tools/itinerary-planning/**/*.py'
- 'src/tools/model-inference/**/*.py'
- 'packages/tools/itinerary-planning/**/*.py'
- 'packages/tools/model-inference/**/*.py'
- '.github/workflows/codeql-python.yml'
- '.github/codeql/python-config.yml'
pull_request:
branches: [main]
paths:
- 'src/tools/itinerary-planning/**/*.py'
- 'src/tools/model-inference/**/*.py'
- 'packages/tools/itinerary-planning/**/*.py'
- 'packages/tools/model-inference/**/*.py'
- '.github/workflows/codeql-python.yml'
- '.github/codeql/python-config.yml'
workflow_dispatch: # Allow manual triggering
Expand All @@ -39,7 +39,7 @@ jobs:

- name: Install Python dependencies
run: |
for dir in src/tools/itinerary-planning src/tools/model-inference; do
for dir in packages/tools/itinerary-planning packages/tools/model-inference; do
if [ -f "$dir/requirements.txt" ]; then
pip install -r $dir/requirements.txt
fi
Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/codeql-typescript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,33 @@ on:
push:
branches: [main]
paths:
- 'src/api/*.ts'
- 'src/api/*.js'
- 'src/ui/*.ts'
- 'src/ui/*.js'
- 'src/tools/code-evaluation/**/*.ts'
- 'src/tools/code-evaluation/**/*.js'
- 'src/tools/web-search/**/*.ts'
- 'src/tools/web-search/**/*.js'
- 'src/tools/echo-ping/**/*.ts'
- 'src/tools/echo-ping/**/*.js'
- 'packages/api/*.ts'
- 'packages/api/*.js'
- 'packages/ui/*.ts'
- 'packages/ui/*.js'
- 'packages/tools/code-evaluation/**/*.ts'
- 'packages/tools/code-evaluation/**/*.js'
- 'packages/tools/web-search/**/*.ts'
- 'packages/tools/web-search/**/*.js'
- 'packages/tools/echo-ping/**/*.ts'
- 'packages/tools/echo-ping/**/*.js'
- 'src/shared/**/*.ts'
- 'src/shared/**/*.js'
- '.github/workflows/codeql-typescript.yml'
- '.github/codeql/typescript-config.yml'
pull_request:
branches: [main]
paths:
- 'src/api/*.ts'
- 'src/api/*.js'
- 'src/ui/*.ts'
- 'src/ui/*.js'
- 'src/tools/code-evaluation/**/*.ts'
- 'src/tools/code-evaluation/**/*.js'
- 'src/tools/web-search/**/*.ts'
- 'src/tools/web-search/**/*.js'
- 'src/tools/echo-ping/**/*.ts'
- 'src/tools/echo-ping/**/*.js'
- 'packages/api/*.ts'
- 'packages/api/*.js'
- 'packages/ui/*.ts'
- 'packages/ui/*.js'
- 'packages/tools/code-evaluation/**/*.ts'
- 'packages/tools/code-evaluation/**/*.js'
- 'packages/tools/web-search/**/*.ts'
- 'packages/tools/web-search/**/*.js'
- 'packages/tools/echo-ping/**/*.ts'
- 'packages/tools/echo-ping/**/*.js'
- 'src/shared/**/*.ts'
- 'src/shared/**/*.js'
- '.github/workflows/codeql-typescript.yml'
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:

- name: Install dependencies
run: |
for dir in src/tools/code-evaluation src/tools/web-search src/tools/echo-ping src/api src/ui; do
for dir in packages/tools/code-evaluation packages/tools/web-search packages/tools/echo-ping src/api src/ui; do
if [ -f "$dir/package.json" ]; then
cd $dir && npm install && cd -
fi
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,8 @@ PublishScripts/
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# Ignore npm packages
!packages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
Expand Down
Loading
Loading