As studio production compatibility change - #137
Open
nottydadie wants to merge 8 commits into
Open
Conversation
…ta aggregation logic
- Add optional callback support for client socket events. - Implement error handling and success callbacks for user input forwarding. - Adjust InputRequest model to simplify `runId` usage without explicit relation loading. - Refine client-side socket emit logic with timeout and error handling.
… scaling - Introduce `docker-compose.yml`, `Dockerfile`, and `.env.docker.example` for containerized setup. - Enable external MySQL and Redis integration for horizontal scaling. - Refactor socket and database initialization for production use. - Update `.dockerignore` to exclude sensitive local environment files.
- Implement `repliesToMarkdown` utility to render replies as a Markdown transcript. - Add `downloadTextFile` utility for triggering browser file downloads. - Update TracingComponent with export button using Markdown-based export. - Sort replies by creation date on the server for consistent ordering. - Add translation strings for "export trace" in English and Chinese.
- Extend `getRunData` to support excluding span data via `includeSpans` parameter. - Update `joinRunRoom` to allow clients to toggle trace data preference. - Adjust socket events and emit logic to respect trace data inclusion setting. - Modify grouped spans and model invocation data broadcasts to trace-specific rooms.
- Update `Trace` entity to use `bigint` for `startTimeUnixNano` and `endTimeUnixNano` with transformers. - Adjust DAO methods for `bigint` handling and exact timestamp queries on `better-sqlite3`. - Modify migration to alter `startTimeUnixNano` and `endTimeUnixNano` columns to `bigint`.
- Update `Dockerfile` to use the public `node:22.18.0` image instead of internal registry. - Simplify npm lockfile comment and adjust `RUN` command for data directory setup.
|
sushil seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Summary
Adapts AgentScope Studio into a scalable message-delivery relay between Python AgentScope processes and concurrent mobile clients.
Key Changes
Per-run routing: User input is sent only to the owning run-${runId} room, preventing cross-tenant fan-out.
MySQL support: Configurable MySQL datasource and connection pool; SQLite remains the default.
Redis scaling: Added Socket.IO Redis adapter for cross-instance room broadcasting.
Socket hardening: 25 MB default buffer limit, configurable transports and CORS.
Logging: Removed full message payload logging from pushMessage.
Backward compatible: No env vars → existing SQLite + in-memory Socket.IO behaviour.
For MySQL + Redis, configure DB_TYPE=mysql, DB_*, and REDIS_URL. Use DB_SYNCHRONIZE=true only for initial empty-DB bootstrap.
npm install is required before building.
Friday copilot path is unchanged.
Checklist
Please check the following items before code is ready to be reviewed.
npm run formatcommand in the root directory