Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
2220314
add google drive tool metadata service
CREDO23 Feb 20, 2026
f1fac7d
add create_file and trash_file to GoogleDriveClient
CREDO23 Feb 20, 2026
ed98af1
add Markdown dependency
CREDO23 Feb 20, 2026
cd7ebd6
add google drive create/trash agent tools
CREDO23 Feb 20, 2026
9abe136
register google drive tools in registry
CREDO23 Feb 20, 2026
856d258
fix bugs and pattern inconsistencies in google drive tools
CREDO23 Feb 20, 2026
7d25778
add create google drive file tool UI component
CREDO23 Feb 20, 2026
e7f9c65
apply formatter cleanup to web files
CREDO23 Feb 20, 2026
da48f24
add trash google drive file tool UI component
CREDO23 Feb 20, 2026
9f08f7c
feat: add team roles management feature with UI components and locali…
AnishSarkar22 Feb 21, 2026
d763803
feat: implement pagination and loading skeletons for team management …
AnishSarkar22 Feb 21, 2026
e3cabe8
feat: enhance UI by adding select-none class to improve text selectio…
AnishSarkar22 Feb 21, 2026
802b4fe
feat: refactor team management page by removing invite handling logic…
AnishSarkar22 Feb 21, 2026
c7736aa
feat: adjust pagination size and enhance UI elements in team manageme…
AnishSarkar22 Feb 21, 2026
ccf8c06
feat: update settings navigation to include section parameters for im…
AnishSarkar22 Feb 21, 2026
3103727
feat: remove unused icons from CreateSearchSpaceDialog for cleaner UI
AnishSarkar22 Feb 21, 2026
12b119b
feat: enhance UI components by replacing unused icons and adding sele…
AnishSarkar22 Feb 21, 2026
f3652ad
feat: add created_by_email field to document schema and update relate…
AnishSarkar22 Feb 21, 2026
f0d170a
feat: improve chat renaming functionality with dialog support in side…
AnishSarkar22 Feb 21, 2026
5695ec8
feat: enhance mobile sidebar functionality by adding close button and…
AnishSarkar22 Feb 21, 2026
7a77ce4
feat: update XAI icon
AnishSarkar22 Feb 21, 2026
87e4859
feat: update styling in ModelSelector and provider-icons for improved…
AnishSarkar22 Feb 21, 2026
fe2b739
feat: add select-none class to InboxSidebar and ChatShareButton for i…
AnishSarkar22 Feb 21, 2026
0e1f0d0
feat: enhance file upload tooltip with detailed information on limits…
AnishSarkar22 Feb 21, 2026
ac0027e
feat: update dropdown menu styling and structure for improved UI cons…
AnishSarkar22 Feb 21, 2026
aeb2613
chore: linting
AnishSarkar22 Feb 21, 2026
e0d149c
feat: add select-none class to MorePagesPage
AnishSarkar22 Feb 22, 2026
a541dee
add google drive tools to TOOLS_WITH_UI set
CREDO23 Feb 23, 2026
33bcf19
stream full output for google drive HITL tools
CREDO23 Feb 23, 2026
04daf0d
upgrade google drive oauth scope to drive
CREDO23 Feb 23, 2026
521e72e
catch 403 and return insufficient_permissions in google drive tools
CREDO23 Feb 23, 2026
7b7c7bf
add google drive reauth endpoint and update callback
CREDO23 Feb 23, 2026
5acddb8
add insufficient_permissions card with reauth button to google drive …
CREDO23 Feb 23, 2026
5036809
misc updates
CREDO23 Feb 23, 2026
257fa8c
pass thread_id through reauth state to restore chat after oauth
CREDO23 Feb 23, 2026
b7e0209
pass thread_id in reauth request from create-file card
CREDO23 Feb 23, 2026
afbf448
pass thread_id in reauth request from trash-file card
CREDO23 Feb 23, 2026
47e6a7f
Merge pull request #831 from AnishSarkar22/fix/ui
MODSetter Feb 24, 2026
24aa7c5
use return_url to redirect back after google drive reauth
CREDO23 Feb 24, 2026
465233d
instruct llm not to retry on insufficient_permissions
CREDO23 Feb 24, 2026
6265e9a
add delete_from_kb support to trash google drive file tool
CREDO23 Feb 24, 2026
e89b685
rename trash_google_drive_file to delete_google_drive_file
CREDO23 Feb 24, 2026
45b784c
update ui text for delete google drive file
CREDO23 Feb 24, 2026
30ab464
fix reauth error handling and stale log messages
CREDO23 Feb 24, 2026
2b3c5e3
fix create file card showing stale args after approval
CREDO23 Feb 24, 2026
a57fc1e
fix warning card to surface success message alongside kb deletion fai…
CREDO23 Feb 24, 2026
10a6ba6
test: bootstrap pytest environment for backend
CREDO23 Feb 24, 2026
d5e10bd
test: add ConnectorDocument unit tests and factory fixture
CREDO23 Feb 24, 2026
a0134a5
test: add document hashing unit tests and clean up conftest mocks
CREDO23 Feb 24, 2026
579a9e2
feat: implement and test prepare_for_indexing
CREDO23 Feb 24, 2026
497ed68
feat: implement and test index happy path
CREDO23 Feb 24, 2026
61e5083
feat: implement and test index method
CREDO23 Feb 24, 2026
46c7ccd
rename test_index.py to test_index_document.py
CREDO23 Feb 24, 2026
5b616ea
fix: plug all gaps found in deep review of indexing pipeline
CREDO23 Feb 25, 2026
d0ee8b1
Merge pull request #834 from CREDO23/google-drive-hitl
MODSetter Feb 25, 2026
c007f0e
feat: unut codesandbox integration
MODSetter Feb 25, 2026
2869d3a
Merge commit 'd0ee8b12b6fbd0c179aad9b912ec22d2293273b6' into codesand…
MODSetter Feb 25, 2026
af22fa7
refactor: remove redundant and low-value tests, enforce connector_id …
CREDO23 Feb 25, 2026
0363cb9
fix: updated_at on title change, LLM fallback, stale chunks deleted o…
CREDO23 Feb 25, 2026
8095cec
refactor: enable microsandbox service in docker-compose with updated …
MODSetter Feb 25, 2026
421bb29
chore: update microsandbox command to bind to all interfaces and add …
MODSetter Feb 25, 2026
a6563f3
chore: moved to daytona due to lack of windows support in microsandbox
MODSetter Feb 25, 2026
c5ae621
fix: rescue stuck documents with unchanged content on next indexing run
CREDO23 Feb 25, 2026
1b4ed35
fix: correct test fixtures and add missing summarizer tests
CREDO23 Feb 25, 2026
d570cae
feat: added file handling for daytona sandboxes
MODSetter Feb 25, 2026
70686a1
feat: enhance code execution system prompt
MODSetter Feb 25, 2026
d198c8b
chore; linting
MODSetter Feb 25, 2026
e574a7c
feat: update .env.example for Daytona sandbox integration
MODSetter Feb 25, 2026
96595d3
refactor: remove security notes from system prompt
MODSetter Feb 25, 2026
80be9f2
Merge pull request #835 from MODSetter/codesandbox_integration
MODSetter Feb 25, 2026
e6b7ce7
fix: handle IntegrityError in prepare_for_indexing and add within-bat…
CREDO23 Feb 25, 2026
d576e93
Update dependencies in pyproject.toml and uv.lock for testing and pac…
AnishSarkar22 Feb 25, 2026
b7447b2
Refactor dependency management in pyproject.toml and uv.lock to inclu…
AnishSarkar22 Feb 25, 2026
36d1fba
fix: isolate per-document errors in prepare_for_indexing
CREDO23 Feb 25, 2026
41eb686
feat: Add end-to-end tests for document upload pipeline and shared te…
AnishSarkar22 Feb 25, 2026
ca870cf
add fallback document sumary
CREDO23 Feb 25, 2026
4ff7125
refactor: Enhance test utilities for document upload by integrating s…
AnishSarkar22 Feb 25, 2026
d350f47
chore: Update pytest configuration in pyproject.toml to enhance test …
AnishSarkar22 Feb 25, 2026
03d8788
chore: Enhance pytest configuration and add custom markers in pyproje…
AnishSarkar22 Feb 25, 2026
f520903
feat: Add testing documentation and update meta.json
AnishSarkar22 Feb 25, 2026
2fef971
chore: Update pytest duration reporting in pyproject.toml and refine …
AnishSarkar22 Feb 25, 2026
0aeb888
add structured error handling to indexing pipeline
CREDO23 Feb 25, 2026
c3273af
feat: Add fixture to purge all test search space documents before a n…
AnishSarkar22 Feb 25, 2026
610080b
extract persistence helpers into document_persistence.py
CREDO23 Feb 25, 2026
b6c2562
add structured logging to indexing pipeline
CREDO23 Feb 25, 2026
c564e5f
feat: Enhance test document purging by implementing direct database a…
AnishSarkar22 Feb 25, 2026
e1ac8bf
feat: Add testing environment variables to `surfsense_backend/.env.ex…
AnishSarkar22 Feb 25, 2026
66d7d3d
fix bugs in indexing pipeline exception handling
CREDO23 Feb 25, 2026
a7df26d
refactor: remove redundant status assertion
AnishSarkar22 Feb 25, 2026
853750e
chore: ran linting
AnishSarkar22 Feb 25, 2026
93c0af4
Merge remote-tracking branch 'upstream/dev' into feat/document-test
AnishSarkar22 Feb 25, 2026
5be58b7
simplify indexing pipeline DB error handling
CREDO23 Feb 25, 2026
86ecb82
fix: tighten indexing pipeline exception handling and logging
CREDO23 Feb 25, 2026
cad400b
add file upload adapter and make index() return refreshed document
CREDO23 Feb 25, 2026
4293910
plug file upload into indexing pipeline adapter and add integration t…
CREDO23 Feb 25, 2026
0de74f4
add docstrings to all indexing pipeline tests
CREDO23 Feb 25, 2026
d0fdd32
fix metadata keys casing and set content_needs_reindexing in adapter
CREDO23 Feb 25, 2026
ab31bba
merge upstream/dev
CREDO23 Feb 25, 2026
7a0b883
chore: cleanup
CREDO23 Feb 25, 2026
c50d661
fix wrong status key in adapter error reporting
CREDO23 Feb 25, 2026
a57ab02
feat: Implement file upload limits and page limit enforcement in backend
AnishSarkar22 Feb 25, 2026
380c1c3
fix: Refactor document ID usage in file processing to improve clarity
AnishSarkar22 Feb 25, 2026
25df3df
chore: ran linting
AnishSarkar22 Feb 25, 2026
d6e442b
fix: Improve document upload tests by adding assertions for document …
AnishSarkar22 Feb 25, 2026
54dd6f9
feat: implement local file persistence for Daytona sandboxes
MODSetter Feb 25, 2026
2e99f1e
Merge pull request #837 from CREDO23/test-document-creation
MODSetter Feb 25, 2026
f59a70f
Merge remote-tracking branch 'upstream/dev' into feat/document-test
AnishSarkar22 Feb 25, 2026
7332be9
refactor: reorganize test fixtures and helpers for improved clarity a…
AnishSarkar22 Feb 25, 2026
9ccee05
chore: ran linting
AnishSarkar22 Feb 25, 2026
bf60a50
feat: add end-to-end test for document searchability after upload
AnishSarkar22 Feb 25, 2026
30617c6
Merge pull request #836 from AnishSarkar22/feat/document-test
MODSetter Feb 25, 2026
3393e43
feat: implement task dispatcher for document processing
AnishSarkar22 Feb 26, 2026
87711ee
chore: clean up .env.example and pyproject.toml
AnishSarkar22 Feb 26, 2026
223c2de
refactor: update database connection handling in test configurations
AnishSarkar22 Feb 26, 2026
f09b5b0
refactor: replace hardcoded embedding dimension with dynamic configur…
AnishSarkar22 Feb 26, 2026
1068ea2
refactor: standardize test database configuration across test files
AnishSarkar22 Feb 26, 2026
7c09958
refactor: enhance document upload integration tests for API contract …
AnishSarkar22 Feb 26, 2026
fd032f3
refactor: simplify and clarify documentation in document upload integ…
AnishSarkar22 Feb 26, 2026
836d529
refactor: remove unused TestStatusPolling class from document upload …
AnishSarkar22 Feb 26, 2026
78dcce3
refactor: update testing documentation for clarity and structure
AnishSarkar22 Feb 26, 2026
20ebb07
chore: add icons to documentation metadata for improved visual repres…
AnishSarkar22 Feb 26, 2026
aabc24f
feat: enhance performance logging and caching in various components
MODSetter Feb 26, 2026
23f553e
Merge branch 'dev' of https://github.com/MODSetter/SurfSense into dev
MODSetter Feb 26, 2026
dc33a4a
Merge commit 'af3810b7c408256a30f594a68550d3d476a830bc' into dev
MODSetter Feb 26, 2026
394a375
refactor: update layout configuration and enhance documentation layout
AnishSarkar22 Feb 26, 2026
2468cc2
feat: add SidebarSeparator component and integrate into documentation…
AnishSarkar22 Feb 26, 2026
2f08dc9
Merge pull request #839 from AnishSarkar22/feat/document-test
MODSetter Feb 26, 2026
e9892c8
feat: added configable summary calculation and various improvements
MODSetter Feb 27, 2026
6f4bf11
Merge branch 'dev' of https://github.com/MODSetter/SurfSense into dev
MODSetter Feb 27, 2026
a4dc84d
feat: add should_summarize parameter to task dispatchers
MODSetter Feb 27, 2026
1e4b8d3
feat: enhance document formatting and context management for LLM tools
MODSetter Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions .cursor/skills/tdd/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
name: tdd
description: Strict Python TDD workflow using pytest (Red-Green-Refactor).
---

---
name: tdd
description: Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.
---

# Test-Driven Development

## Philosophy

**Core principle**: Tests should verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't.

**Good tests** are integration-style: they exercise real code paths through public APIs. They describe _what_ the system does, not _how_ it does it. A good test reads like a specification - "user can checkout with valid cart" tells you exactly what capability exists. These tests survive refactors because they don't care about internal structure.

**Bad tests** are coupled to implementation. They mock internal collaborators, test private methods, or verify through external means (like querying a database directly instead of using the interface). The warning sign: your test breaks when you refactor, but behavior hasn't changed. If you rename an internal function and tests fail, those tests were testing implementation, not behavior.

See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking guidelines.

## Anti-Pattern: Horizontal Slices

**DO NOT write all tests first, then all implementation.** This is "horizontal slicing" - treating RED as "write all tests" and GREEN as "write all code."

This produces **crap tests**:

- Tests written in bulk test _imagined_ behavior, not _actual_ behavior
- You end up testing the _shape_ of things (data structures, function signatures) rather than user-facing behavior
- Tests become insensitive to real changes - they pass when behavior breaks, fail when behavior is fine
- You outrun your headlights, committing to test structure before understanding the implementation

**Correct approach**: Vertical slices via tracer bullets. One test → one implementation → repeat. Each test responds to what you learned from the previous cycle. Because you just wrote the code, you know exactly what behavior matters and how to verify it.

```
WRONG (horizontal):
RED: test1, test2, test3, test4, test5
GREEN: impl1, impl2, impl3, impl4, impl5

RIGHT (vertical):
RED→GREEN: test1→impl1
RED→GREEN: test2→impl2
RED→GREEN: test3→impl3
...
```

## Workflow

### 1. Planning

Before writing any code:

- [ ] Confirm with user what interface changes are needed
- [ ] Confirm with user which behaviors to test (prioritize)
- [ ] Identify opportunities for [deep modules](deep-modules.md) (small interface, deep implementation)
- [ ] Design interfaces for [testability](interface-design.md)
- [ ] List the behaviors to test (not implementation steps)
- [ ] Get user approval on the plan

Ask: "What should the public interface look like? Which behaviors are most important to test?"

**You can't test everything.** Confirm with the user exactly which behaviors matter most. Focus testing effort on critical paths and complex logic, not every possible edge case.

### 2. Tracer Bullet

Write ONE test that confirms ONE thing about the system:

```
RED: Write test for first behavior → test fails
GREEN: Write minimal code to pass → test passes
```

This is your tracer bullet - proves the path works end-to-end.

### 3. Incremental Loop

For each remaining behavior:

```
RED: Write next test → fails
GREEN: Minimal code to pass → passes
```

Rules:

- One test at a time
- Only enough code to pass current test
- Don't anticipate future tests
- Keep tests focused on observable behavior

### 4. Refactor

After all tests pass, look for [refactor candidates](refactoring.md):

- [ ] Extract duplication
- [ ] Deepen modules (move complexity behind simple interfaces)
- [ ] Apply SOLID principles where natural
- [ ] Consider what new code reveals about existing code
- [ ] Run tests after each refactor step

**Never refactor while RED.** Get to GREEN first.

## Checklist Per Cycle

```
[ ] Test describes behavior, not implementation
[ ] Test uses public interface only
[ ] Test would survive internal refactor
[ ] Code is minimal for this test
[ ] No speculative features added
```
33 changes: 33 additions & 0 deletions .cursor/skills/tdd/deep-modules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Deep Modules

From "A Philosophy of Software Design":

**Deep module** = small interface + lots of implementation

```
┌─────────────────────┐
│ Small Interface │ ← Few methods, simple params
├─────────────────────┤
│ │
│ │
│ Deep Implementation│ ← Complex logic hidden
│ │
│ │
└─────────────────────┘
```

**Shallow module** = large interface + little implementation (avoid)

```
┌─────────────────────────────────┐
│ Large Interface │ ← Many methods, complex params
├─────────────────────────────────┤
│ Thin Implementation │ ← Just passes through
└─────────────────────────────────┘
```

When designing interfaces, ask:

- Can I reduce the number of methods?
- Can I simplify the parameters?
- Can I hide more complexity inside?
33 changes: 33 additions & 0 deletions .cursor/skills/tdd/interface-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Interface Design for Testability

Good interfaces make testing natural:

1. **Accept dependencies, don't create them**
```python
# Testable
def process_order(order, payment_gateway):
pass

# Hard to test
def process_order(order):
gateway = StripeGateway()

```


2. **Return results, don't produce side effects**
```python
# Testable
def calculate_discount(cart) -> float:
return discount

# Hard to test
def apply_discount(cart) -> None:
cart.total -= discount

```


3. **Small surface area**
* Fewer methods = fewer tests needed
* Fewer params = simpler test setup
69 changes: 69 additions & 0 deletions .cursor/skills/tdd/mocking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@

# When to Mock

Mock at **system boundaries** only:

* External APIs (payment, email, etc.)
* Databases (sometimes - prefer test DB)
* Time/randomness
* File system (sometimes)

Don't mock:

* Your own classes/modules
* Internal collaborators
* Anything you control

## Designing for Mockability

At system boundaries, design interfaces that are easy to mock:

**1. Use dependency injection**

Pass external dependencies in rather than creating them internally:

```python
import os

# Easy to mock
def process_payment(order, payment_client):
return payment_client.charge(order.total)

# Hard to mock
def process_payment(order):
client = StripeClient(os.getenv("STRIPE_KEY"))
return client.charge(order.total)

```

**2. Prefer SDK-style interfaces over generic fetchers**

Create specific functions for each external operation instead of one generic function with conditional logic:

```python
import requests

# GOOD: Each function is independently mockable
class UserAPI:
def get_user(self, user_id):
return requests.get(f"/users/{user_id}")

def get_orders(self, user_id):
return requests.get(f"/users/{user_id}/orders")

def create_order(self, data):
return requests.post("/orders", json=data)

# BAD: Mocking requires conditional logic inside the mock
class GenericAPI:
def fetch(self, endpoint, method="GET", data=None):
return requests.request(method, endpoint, json=data)

```

The SDK approach means:

* Each mock returns one specific shape
* No conditional logic in test setup
* Easier to see which endpoints a test exercises
* Type safety per endpoint
10 changes: 10 additions & 0 deletions .cursor/skills/tdd/refactoring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Refactor Candidates

After TDD cycle, look for:

- **Duplication** → Extract function/class
- **Long methods** → Break into private helpers (keep tests on public interface)
- **Shallow modules** → Combine or deepen
- **Feature envy** → Move logic to where data lives
- **Primitive obsession** → Introduce value objects
- **Existing code** the new code reveals as problematic
60 changes: 60 additions & 0 deletions .cursor/skills/tdd/tests.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Good and Bad Tests

## Good Tests

**Integration-style**: Test through real interfaces, not mocks of internal parts.

```python
# GOOD: Tests observable behavior
def test_user_can_checkout_with_valid_cart():
cart = create_cart()
cart.add(product)
result = checkout(cart, payment_method)
assert result.status == "confirmed"

```

Characteristics:

* Tests behavior users/callers care about
* Uses public API only
* Survives internal refactors
* Describes WHAT, not HOW
* One logical assertion per test

## Bad Tests

**Implementation-detail tests**: Coupled to internal structure.

```python
# BAD: Tests implementation details
def test_checkout_calls_payment_service_process():
mock_payment = MagicMock()
checkout(cart, mock_payment)
mock_payment.process.assert_called_with(cart.total)

```

Red flags:

* Mocking internal collaborators
* Testing private methods
* Asserting on call counts/order
* Test breaks when refactoring without behavior change
* Test name describes HOW not WHAT
* Verifying through external means instead of interface

```python
# BAD: Bypasses interface to verify
def test_create_user_saves_to_database():
create_user({"name": "Alice"})
row = db.query("SELECT * FROM users WHERE name = ?", ["Alice"])
assert row is not None

# GOOD: Verifies through interface
def test_create_user_makes_user_retrievable():
user = create_user({"name": "Alice"})
retrieved = get_user(user.id)
assert retrieved.name == "Alice"

```
4 changes: 4 additions & 0 deletions Dockerfile.allinone
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,10 @@ ENV NEXT_PUBLIC_FASTAPI_BACKEND_URL=http://localhost:8000
ENV NEXT_PUBLIC_FASTAPI_BACKEND_AUTH_TYPE=LOCAL
ENV NEXT_PUBLIC_ETL_SERVICE=DOCLING

# Daytona Sandbox (cloud code execution — no local server needed)
ENV DAYTONA_SANDBOX_ENABLED=FALSE
# DAYTONA_API_KEY, DAYTONA_API_URL, DAYTONA_TARGET: set at runtime for production.

# Electric SQL configuration (ELECTRIC_DATABASE_URL is built dynamically by entrypoint from these values)
ENV ELECTRIC_DB_USER=electric
ENV ELECTRIC_DB_PASSWORD=electric_password
Expand Down
5 changes: 5 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,11 @@ services:
- ELECTRIC_DB_PASSWORD=${ELECTRIC_DB_PASSWORD:-electric_password}
- AUTH_TYPE=${AUTH_TYPE:-LOCAL}
- NEXT_FRONTEND_URL=${NEXT_FRONTEND_URL:-http://localhost:3000}
# Daytona Sandbox – uncomment and set credentials to enable cloud code execution
# - DAYTONA_SANDBOX_ENABLED=TRUE
# - DAYTONA_API_KEY=${DAYTONA_API_KEY:-}
# - DAYTONA_API_URL=${DAYTONA_API_URL:-https://app.daytona.io/api}
# - DAYTONA_TARGET=${DAYTONA_TARGET:-us}
depends_on:
- db
- redis
Expand Down
1 change: 1 addition & 0 deletions scripts/docker/entrypoint-allinone.sh
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ echo " Auth Type: ${NEXT_PUBLIC_FASTAPI_BACKEND_AUTH_TYPE}"
echo " ETL Service: ${NEXT_PUBLIC_ETL_SERVICE}"
echo " TTS Service: ${TTS_SERVICE}"
echo " STT Service: ${STT_SERVICE}"
echo " Daytona Sandbox: ${DAYTONA_SANDBOX_ENABLED:-FALSE}"
echo "==========================================="
echo ""

Expand Down
Loading
Loading