Commit graph

91 commits

Author SHA1 Message Date
Max
7373b0b6f7 feat(tai): enhance gRPC tunnel functionality and internal host handling
- Introduced ExpandHosts function to parse and expand comma-separated host entries, including special values like "internal" and "localhost".
- Updated gRPC server to utilize the new ExpandHosts function for improved host management.
- Added HostHasInternal function to check for "internal" in host strings, enhancing configuration flexibility.
- Implemented new gRPC endpoints for TaiTunnel registration and forwarding, improving tunnel communication capabilities.
- Refactored authentication logic to include new TaiTunnel endpoints, ensuring proper access control.

Made-with: Cursor
2026-03-12 20:35:17 +08:00
Max
597168c606 feat(sandbox): integrate sandbox initialization and heartbeat management
- Added sandbox initialization in the load process to ensure proper setup of the sandbox manager.
- Implemented gRPC heartbeat handling to track container liveness, enhancing the monitoring capabilities of the sandbox.
- Updated related documentation to reflect the new integration and functionality.

Made-with: Cursor
2026-03-09 09:56:52 +08:00
Max
83ebe49036 refactor: unify server lifecycle, migrate gRPC client, and clean up sandbox v2
Server lifecycle:
- Introduce service.Service to manage HTTP + gRPC startup/shutdown
- Fix gRPC mutex deadlock in StartServer when port is occupied
- Add GracefulStop with 5s timeout before forced Stop in grpc.go
- Pre-check HTTP and gRPC port availability in cmd/start.go
- Print gRPC server address in startup access-points block

gRPC client refactor:
- Move token manager and client from tai/grpc/ to grpc/client/
- Add backward-compatible aliases in tai/yao.go and tai/token.go
- Update cmd/run.go to import grpc/client directly (no tai dependency)

Sandbox v2 docker migration:
- Delete sandbox/v2/docker/ (moved to tai repo)
- Update sandbox/docker/build.sh hint to point to tai repo
- Clean up .gitignore entries for removed docker directory
- Temporarily disable SandboxV2Test and BenchmarkSandboxV2 in CI
  (docker images need rebuild after tai repo migration)

Tai integration:
- Add direct-mode registration API handlers in tai/api/
- Add heartbeat handler and token management wrappers
- Update tai/registry and tai/tunnel for latest protocol
- Replace yao-grpc references with tai call in docs

Made-with: Cursor
2026-03-07 17:19:19 +08:00
Max
f6b917afe1 Remove TUI support from start command
The bubbletea-based TUI for agent request visualization was not
practical and added significant binary size. This removes the TUI
entirely: the --tui flag, the agent context TUI model/messages, and
all SendTUI/GetTUIProgram call sites. Development-mode logging now
always prints ANSI-colored output to stdout.

Drops direct dependencies on charmbracelet/bubbletea and lipgloss.

Made-with: Cursor
2026-03-06 20:55:57 +08:00
Max
6408c140fc Implement tunnel mode support in Tai service
- Introduce a new "tunnel" scheme for the Tai client, allowing connections through Yao's reverse proxy.
- Enhance the Tai registry to manage tunnel-connected nodes and their ports.
- Add WebSocket and reverse proxy routes for tunnel connections in the OpenAPI server.
- Implement tunnel-specific proxy and VNC handling to facilitate communication with containerized environments.
- Update gRPC environment variable handling to support tunnel connections.

These changes improve the Tai service's flexibility and connectivity options, enabling better integration with remote and containerized environments.
2026-03-06 17:12:36 +08:00
Max
6e68efaba3 Implement gRPC support in the Yao SDK
- Add gRPC server configuration to the application, allowing for gRPC communication.
- Introduce new Makefile targets for gRPC unit testing and proto code generation.
- Update CI workflows to include gRPC tests with SQLite as the transport layer.
- Refactor the sandbox design to support multi-node capabilities and improve isolation.
- Enhance the service layer to facilitate internal request forwarding for gRPC APIs.

This commit lays the groundwork for integrating gRPC into the Yao SDK, improving performance and scalability.
2026-03-04 13:17:48 +08:00
Max
af981dc0b0 Update dependencies and enhance logging in the Assistant module
- Add new indirect dependencies including various Charmbracelet packages for improved UI handling.
- Enhance logging in the Assistant module by adding tool completion and start logging for better traceability of tool calls.
- Modify context handling in the RequestLogger to support a stack-based assistant ID management, improving the logging structure for agent requests.
- Implement event service integration for better trace management and debugging capabilities.
2026-02-23 19:22:31 +08:00
Max
71eab0689e Enhance API output formatting in start command
- Update the output for API and OpenAPI endpoints in `cmd/start.go` to conditionally display the correct URL based on the OpenAPI server status.
- Remove redundant OpenAPI mode information display when the OpenAPI server is enabled, streamlining the API list output.
2026-02-15 18:54:17 +08:00
Max
6c51e74b02 Refactor start command and enhance tool availability reporting
- Remove unnecessary timing and progress callback logic from the start command in `cmd/start.go`.
- Update the output message for the admin URL to reflect a change to the dashboard URL.
- Introduce a new tools configuration in `widgets/app/app.go` to report the availability of external tools like FFmpeg, Docker, and others, enhancing the application's tool inspection capabilities.
2026-02-15 18:48:27 +08:00
Max
ce137b34f5 Enhance tool inspection and remove studio configuration
- Add external tool inspection functionality in the engine, allowing detection of tools like FFmpeg, PDF converters, and Docker.
- Update the `inspect` command to include detected tools in the output.
- Remove the studio configuration from the application, simplifying the configuration structure and related code.
- Clean up unused studio-related code in various files, including login processing and configuration management.
2026-02-14 21:06:59 +08:00
Max
1680d5eefe Refactor Yao app initialization and enhance error handling
- Update start command to check if the current directory is a Yao app root or a subdirectory, providing clearer error messages for users.
- Modify installation logic to handle empty directories more effectively, ensuring the init app is installed only when appropriate.
- Improve welcome message formatting and update links for documentation and community resources.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-04 19:04:23 +08:00
Max
787954f0af Enhance OpenAPI Integration and API Routing
- Introduced support for OpenAPI mode, allowing dynamic routing and OAuth guards for API endpoints.
- Updated API root path handling to accommodate OpenAPI configurations, ensuring consistent URL structures.
- Added well-known routes for Yao metadata and OAuth discovery, improving API discoverability.
- Refactored middleware and guards to streamline OpenAPI integration, enhancing overall service functionality.
- Removed deprecated agent TypeScript file, simplifying the codebase and improving maintainability.
2026-01-04 15:46:09 +08:00
Max
d0981e53af Enhance engine loading process with progress reporting and timing
- Introduced a `loadStep` function to wrap loading operations, providing timing and progress callback functionality.
- Updated the `Load` function to utilize `loadStep` for various components, improving visibility into loading durations.
- Enhanced the `start` command to display loading progress and duration in development mode, improving user experience during application startup.
- Refactored model loading functions to return models without migration, streamlining the loading process and improving performance.
2025-12-05 18:53:21 +08:00
Max
a50f43a8bb Refactor MCP client handling for improved categorization and information display
- Updated the `printMCPs` function to enhance the separation of agent and standard MCPs by utilizing the Type field for better clarity.
- Improved error handling and client information retrieval, ensuring accurate display of transport types and labels for each MCP.
- Modified the MCP loading process to specifically load agent clients, streamlining the management of different client types.
- Enhanced output formatting to include tools count only for process transport, improving the readability of MCP information.
2025-12-05 14:17:56 +08:00
Max
cd5b4df503 Add MCP client loading and printing functionality
- Introduced a new `printMCPs` function to display loaded MCP clients, categorizing them into standard and agent clients for better clarity.
- Enhanced the `Load` function to include loading MCP clients from the assistants directory, improving the overall MCP management.
- Added tests for loading assistant MCPs, ensuring that the functionality works as expected and that agent clients are correctly identified and logged.
- Updated model loading to support agent models from assistants, ensuring proper integration and functionality across the system.
2025-12-05 12:28:41 +08:00
Max
c425b74383 Refactor error handling in various components to improve logging and message formatting
- Updated error messages to use fmt.Errorf with %s for better clarity and consistency.
- Enhanced logging statements to utilize formatted strings for improved readability.
- Refactored multiple Load functions across different modules to standardize error handling practices.
2025-09-28 10:24:17 +08:00
Max
fabced291c fix: Enhance loading functions to handle non-existent directories
- Added checks in various loading functions to ignore processing if the respective directories do not exist, improving error handling and preventing unnecessary operations.
- Updated the Load function signature to return warnings alongside errors, allowing for better feedback on loading issues across different components.
2025-05-13 09:10:10 +08:00
Max
d4f5a434a8 Improve error message for missing app.yao file for better clarity 2024-12-03 16:10:59 +08:00
Max
1d414bceb8 Fix endpoint URL formatting to handle default port correctly 2024-11-29 20:50:24 +08:00
Max
6b6edab97c Refactor network handling and endpoint retrieval; deprecate unused commands in startup 2024-11-29 20:43:29 +08:00
Max
8388b78a0e Update community link text in welcome message for clarity 2024-11-29 19:47:12 +08:00
Max
d9475988ff Add community link to welcome message and adjust documentation spacing 2024-11-29 19:45:42 +08:00
Max
c6cdf1115a Enhance startup output by adding runtime, data, and listening information; update frontend and dashboard labels to website and admin 2024-11-29 17:58:29 +08:00
Max
95dc351fa0 Deprecate Yao Studio functionality and comment out related code 2024-11-29 17:43:38 +08:00
Max
d7693a0487 Refactor startup logic to improve directory checks and enhance welcome message display 2024-11-29 17:36:45 +08:00
Max
79f77618d3 Remove setup package and related functionality from the project 2024-11-29 16:44:31 +08:00
Max
9faf8f802f chore: Update engine.Load calls with additional options 2024-05-05 17:54:32 +08:00
Max
c07b903c5c Set runtime mode and display it in start command 2023-12-28 21:17:33 +08:00
Max
ce4aaf667f [fix] setup & config 2023-04-24 17:38:29 +08:00
Max
cd65dc07c9 [_] 2023-04-13 13:13:29 +08:00
Max
5ca0b8f3c3 [fix] start command 2023-04-13 13:05:02 +08:00
Max
0317b6558f [change] optimize the application initializer 2023-04-08 12:05:53 +08:00
Max
2eb78f86df [fix] command start load the studio scripts 2023-04-07 15:26:48 +08:00
Max
fb70a53705 [fix] plugins load 2023-04-02 16:53:24 +08:00
Max
106631b106 [add] start tasks and schedules 2023-04-02 15:07:29 +08:00
Max
5d2c4349fd [add] migrate studio 2023-04-01 13:28:31 +08:00
Max
82dfe75b2d [add] migrate run command 2023-04-01 12:18:48 +08:00
Max
5f2b8fbf63 [add] migrate watch 2023-04-01 11:19:09 +08:00
Max
2bd41ed135 [change] start command 2023-03-26 18:21:55 +08:00
Max
75ee709c23 [change] refactor the yao service 2023-03-26 17:12:02 +08:00
Max
a807899f95 [*] migrate to gou v0.10.3 (50%) 2023-02-01 17:25:11 +08:00
Max
d489feb99b [fix] widget table bind model bug 2023-01-17 18:57:30 +08:00
Max
d3349edf09 [optimize] yao start command 2023-01-14 18:02:12 +08:00
Max
bbaa4fa620 [_] 2022-11-15 23:18:39 +08:00
Max
1484c0d8c7 [optimize] engine load & start cmd 2022-11-10 12:36:59 +08:00
Max
bb02dcbf2a [change] start cmd print info 2022-11-10 12:10:27 +08:00
Max
93ba063cb4 [add] setup 2022-10-28 11:58:05 +08:00
Max
0b1a4de23a [fix] adminRoot bug 2022-10-21 20:53:34 +08:00
Max
26d3f8d8a5 [add] Yao Stuido Server & CLI 2022-10-14 21:25:09 +08:00
Max
c921f24ce0 [add] fs support & golang version 1.9.2 2022-10-12 20:31:09 +08:00