Commit graph

207 commits

Author SHA1 Message Date
CREDO23
e5530e318f chore(docker): pass Daytona settings through to the backend service
Uncomment the DAYTONA_* env passthrough on the backend service and add
DAYTONA_SNAPSHOT_ID, so a deployment that sets SANDBOX_PROVIDER=daytona
actually forwards the key, URL, target, and snapshot into the container.
Document the snapshot name in the compose .env.example.
2026-08-19 04:22:18 +02:00
Anish Sarkar
1e0e4138a4 Merge remote-tracking branch 'upstream/dev' into fix/cannonical-timeline 2026-08-18 19:19:35 +05:30
Anish Sarkar
01f5a56aa8 feat(config): update maximum sessions per workspace in environment configurations 2026-08-18 19:19:17 +05:30
MODSetter
f0fc65705d feat(documents): fixed mentions and file reads issues
Some checks are pending
Build and Push Docker Images / compute_version (push) Waiting to run
Build and Push Docker Images / build (./docker/sandbox, cpu, ./docker/sandbox/Dockerfile, sandbox, surfsense-sandbox, ubuntu-24.04-arm, linux/arm64, arm64, , false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./docker/sandbox, cpu, ./docker/sandbox/Dockerfile, sandbox, surfsense-sandbox, ubuntu-latest, linux/amd64, amd64, , false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, , production, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, , production, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda126, production, true, cuda126) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda126, production, true, cuda126) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda, production, true, cuda) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda, production, true, cuda) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64, , runner, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64, , runner, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / verify_digests (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend, , cpu) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda, cuda) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda126, cuda126) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (sandbox, surfsense-sandbox, , cpu) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (web, surfsense-web, , cpu) (push) Blocked by required conditions
Build and Push Docker Images / finalize_release (push) Blocked by required conditions
- Added `load_source_document` tool to facilitate conversion of existing workspace files into PDFs.
- Updated document components to support download actions, including new `onDownload` props in `DocumentNode`, `FolderTreeView`, and `DocumentRightPanel`.
- Implemented download logic in `downloadFile` function to handle file retrieval from the backend.
- Enhanced tests for the new download functionality and source document loading.
2026-08-18 18:47:16 +05:30
Anish Sarkar
8ac898eccb feat(sandbox): introduce sandbox operation timeout configuration and refactor execution handling
- Added `SANDBOX_OPERATION_TIMEOUT_SECONDS` to configuration for controlling sandbox operation timeouts.
- Updated various components to utilize the new timeout setting, ensuring consistent timeout behavior across different sandbox providers.
- Refactored execution logic in the sandbox tools to improve error handling and cleanup processes.
- Enhanced tests to validate the new timeout functionality and ensure proper execution flow.
2026-08-18 04:32:26 +05:30
Anish Sarkar
deb67fbad7 feat(artifacts): update artifact handling for revisions and improve documentation
- Added support for loading current deliverables and context for artifact revisions with `load_artifact_for_revision`.
- Removed the deprecated `load_artifact_source` tool.
- Enhanced documentation for artifact skills, including detailed revision instructions for DOCX, PDF, PPTX, and XLSX formats.
- Updated the Dockerfile to include the `python-docx` package for document generation.
- Adjusted artifact file roles in the database schema to exclude the source role.
2026-08-18 04:25:10 +05:30
Thierry CH.
13feaff677
Merge pull request #1678 from CREDO23/feat/media-artifact-alignment
Some checks are pending
Build and Push Docker Images / create_manifest (web, surfsense-web, , cpu) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda126, cuda126) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (sandbox, surfsense-sandbox, , cpu) (push) Blocked by required conditions
Build and Push Docker Images / compute_version (push) Waiting to run
Build and Push Docker Images / build (./docker/sandbox, cpu, ./docker/sandbox/Dockerfile, sandbox, surfsense-sandbox, ubuntu-24.04-arm, linux/arm64, arm64, , false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./docker/sandbox, cpu, ./docker/sandbox/Dockerfile, sandbox, surfsense-sandbox, ubuntu-latest, linux/amd64, amd64, , false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, , production, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, , production, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda126, production, true, cuda126) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda126, production, true, cuda126) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda, production, true, cuda) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda, production, true, cuda) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64, , runner, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64, , runner, false, cpu) (push) Blocked by required conditions
Build and Push Docker Images / verify_digests (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend, , cpu) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda, cuda) (push) Blocked by required conditions
Build and Push Docker Images / finalize_release (push) Blocked by required conditions
[Feat] Media deliverables are Artifacts (image cutover)
2026-08-13 16:17:14 +02:00
CREDO23
e21d8fbe8b docs(config): point the image reserve at the generate_image tool
The POST /image-generations endpoint it named no longer exists; the
reservation is taken by the tool.
2026-08-13 15:59:03 +02:00
Anish Sarkar
d1164e6d97 Enhance Docker setup for development environment
- Updated docker-compose.dev.yml to include a persistent pnpm store for caching dependencies.
- Modified Dockerfile to reconcile node_modules with the lockfile before starting the development server, ensuring consistent dependency management.
2026-08-13 18:15:38 +05:30
CREDO23
db6c34b7d5 feat(sandbox): add xlsx skill 2026-08-12 13:56:47 +02:00
CREDO23
6fe969d795 feat(sandbox): add xlsxwriter to image 2026-08-12 13:56:47 +02:00
Anish Sarkar
6aa6425678 refactor(pptx): enhance slide generation and verification process
Updated the SKILL.md documentation to clarify layout and formatting guidelines for PPTX slides, including margin specifications and font usage. Improved the verification process by emphasizing the importance of treating verification as a state transition, ensuring that `save_artifact` is only called after successful verification. Added local assertion checks before saving to ensure all requirements are met. Updated related tests to validate these changes.
2026-08-12 10:48:35 +05:30
Anish Sarkar
062663bd6f refactor(artifacts): update load_artifact_source to return structured data
Modified the `load_artifact_source` function to return a dictionary containing the `source_path`, `document_id`, and a `save_instruction` for in-place revisions. Updated related documentation and adjusted tests to reflect these changes, ensuring clarity on artifact revision processes across DOCX, PDF, and PPTX skills.
2026-08-12 06:07:32 +05:30
Anish Sarkar
90a6d6aead feat(sandbox): add PPTX generation skill 2026-08-12 05:45:44 +05:30
Anish Sarkar
cc3549d971 refactor(artifacts): make rendered verification format-aware
Move shared OOXML safety checks and rendering policies behind format adapters so PPTX can reuse the verification pipeline without inheriting document-only assumptions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 05:18:05 +05:30
Anish Sarkar
0a0034adfd fix(deliverables): cap automatic artifact repair at one retry 2026-08-12 03:31:35 +05:30
Anish Sarkar
91b4727890 fix(sandbox): replace inherited artifact skills in image 2026-08-12 03:31:15 +05:30
Anish Sarkar
ee8c71c728 refactor(sandbox): move document verification into the backend 2026-08-12 03:05:21 +05:30
Anish Sarkar
9cda809300 refactor(artifacts): enhance verification handling and enforce artifact save conditions across formats 2026-08-12 00:08:17 +05:30
Anish Sarkar
41e816f2a5 feat(docker): add development environment setup for frontend with live reloading 2026-08-11 14:33:57 +05:30
Anish Sarkar
d92b4e563b feat(deliverables): require sources for generated artifacts 2026-08-11 00:56:25 +05:30
Anish Sarkar
44a5eb2d74 fix(sandbox): update egress mode to enforce network policy and enhance PDF font detection 2026-08-09 04:50:52 +05:30
Anish Sarkar
95be605120 feat(pdf): detect structural PDF defects 2026-08-09 04:22:45 +05:30
Anish Sarkar
faa546f8b4 docs(pdf): update PDF verification loop and inspection process for improved clarity and efficiency 2026-08-08 20:30:09 +05:30
Anish Sarkar
8b387f1d26 docs(pdf): refine PDF verification process and clarify inspection steps 2026-08-08 20:07:01 +05:30
Anish Sarkar
b8e07d60d9 docs(pdf): enhance PDF inspection instructions for clarity and detail 2026-08-08 19:15:07 +05:30
Anish Sarkar
3c4126f6c5 feat(sandbox): enable sandbox by default in configuration files 2026-08-08 17:40:57 +05:30
Anish Sarkar
335c942d96 Merge remote-tracking branch 'upstream/dev' into feat/sandbox-artifacts 2026-08-08 13:20:54 +05:30
Anish Sarkar
6972e70e7b fix(docker): correct sandbox image name in docker-compose configuration 2026-08-08 12:56:38 +05:30
Anish Sarkar
ccafdcbe35 feat(sandbox): integrate OpenSandbox and enhance Docker workflows
- Updated backend-tests.yml to include OpenSandbox integration for running tests in a sandbox environment.
- Modified docker-build.yml to support building and testing the sandbox image.
- Enhanced docker-compose files to manage sandbox image creation and configuration.
- Added PDF generation skills and scripts for the sandbox, including quality checks and rendering capabilities.
2026-08-08 11:29:23 +05:30
Rohan Verma
48c2f96706
Merge pull request #1648 from Benebo7/feat/add-max-file-size
Feat: adjust max file size to have customizable limit
2026-08-08 11:17:38 +05:30
Anish Sarkar
25e0727c4d fix(sandbox): adjust port range for sandbox execution to avoid conflicts
- Changed the port range from 40000-60000 to 20000-30000 to prevent address conflicts on Linux and Windows hosts during sandbox creation. This adjustment ensures smoother operation and reduces the likelihood of intermittent failures.
2026-08-07 09:32:08 +05:30
Anish Sarkar
7521499c18 feat(sandbox): enhance sandbox configuration for cloud execution
- Updated the .env.example file to include new sandbox settings for code execution, including SANDBOX_ENABLED, SANDBOX_PROVIDER, and session management parameters.
- Modified docker-compose files to reflect the new sandbox environment variables, allowing for easier configuration of cloud execution options.
2026-08-07 09:27:08 +05:30
Anish Sarkar
c6e82ca840 feat(opensandbox): add opensandbox server configuration and Docker support
- Introduced the opensandbox-server service in docker-compose files for local sandbox execution.
- Configured environment variables and health checks for the opensandbox server.
- Added sandbox.toml configuration file for server settings.
- Created a Dockerfile for the sandbox environment with necessary dependencies and Python setup.
2026-08-07 09:20:51 +05:30
CREDO23
d875431728 Merge dev_hotpatch into dev
Frontend documents right-panel rebuild, model-connections/LM Studio
discovery + context limits, chat error-handling improvements, and i18n
fixes. No KB-core changes; clean merge over the git-native KB backend.
2026-08-06 17:52:17 +02:00
Yigtwxx
927ae56974 fix(video): narrate presentations in the slide language
The video presentation agent built its Kokoro pipeline with a literal
lang_code="a" and took its voice from a hand-rolled provider map that only
ever returned American English. Slides generated from Japanese or Chinese
source content were therefore narrated by an English voice reading text it
could not pronounce.

The podcast pipeline already solved this: a voice catalog with per-language
rosters, a BCP-47 tag normaliser, and a TTS port whose Kokoro adapter maps the
tag to the right pipeline and caches one pipeline per language. The video path
simply sat outside that infrastructure. Route it through the same port instead
of duplicating a second, English-only implementation.

The language now comes from the model that writes the slides, which is the
only component that knows what language it wrote in. An absent or unusable tag
falls back to a new VIDEO_PRESENTATION_DEFAULT_LANGUAGE and finally to English,
so a bad value degrades instead of failing the render.

app/services/kokoro_tts_service.py is removed: routing through the port left it
without a caller, and it also pulled kokoro and torch into the agent's import
chain at module scope.
2026-08-05 18:47:07 +03:00
Anish Sarkar
c07c273118 refactor(env-variables): rename GEN_AI_MODEL_FALLBACK_MAX_TOKENS to SURFSENSE_UNKNOWN_MODEL_MAX_INPUT_TOKENS for clarity and consistency 2026-08-04 03:39:28 +05:30
Anish Sarkar
9c44785d4f fix(model-connections): cap discovered ollama input budgets 2026-08-04 03:25:33 +05:30
Anish Sarkar
af3897b6ec feat(llm): introduce handling for insufficient memory errors and enhance context limit management 2026-08-03 21:51:57 +05:30
Benebo7
5ef02cdecc feat: add max file size env providing customizable limitation 2026-07-30 00:06:52 -03:00
Anish Sarkar
2327876040 chore(docker): remove comments regarding searxng fallback in docker-compose files 2026-07-27 20:00:52 +05:30
Anish Sarkar
bde2b827f2 refactor(searxng): rename SEARXNG_FALLBACK_URL to SEARXNG_URL 2026-07-27 19:58:40 +05:30
Anish Sarkar
db9af89ace docs(env): add SearXNG exposed port to the Docker environment example 2026-07-27 19:50:55 +05:30
Anish Sarkar
99538e9924 docs(env): document the searxng fallback in the docker example 2026-07-27 19:47:54 +05:30
Anish Sarkar
21e1d35ec7 build(install): fetch searxng config in the powershell installer 2026-07-27 19:47:48 +05:30
Anish Sarkar
e4df01ad33 build(install): fetch searxng config in the shell installer 2026-07-27 19:47:44 +05:30
Anish Sarkar
624caa3cea feat(docker): add searxng to the deps-only stack 2026-07-27 19:47:39 +05:30
Anish Sarkar
31560e47ba feat(docker): point dev backend and worker at searxng 2026-07-27 19:47:28 +05:30
Anish Sarkar
b4c8dac17e feat(docker): add searxng to the dev stack on port 8888 2026-07-27 19:46:01 +05:30
Anish Sarkar
04f7e76324 feat(docker): point backend and worker at the bundled searxng 2026-07-27 19:45:48 +05:30