Commit graph

3967 commits

Author SHA1 Message Date
Max
d4553056ef
Merge pull request #1529 from trheyi/main
feat: add Settings, LLM, Search, SMTP, MCP, Sandbox module management endpoints
2026-04-29 19:26:25 +08:00
Max
a58cac6d5c fix(smtp): update address formatting in SMTP connection functions
- Replaced fmt.Sprintf with net.JoinHostPort for constructing the SMTP address in smtpValidateConnection and smtpSendTestEmail functions, improving address handling and ensuring proper formatting.
2026-04-29 18:57:36 +08:00
Max
bde4442ff6 feat(sandbox): add sandbox management endpoints and data structures
- Introduced new endpoints for managing sandbox operations, including GET, PUT, and POST methods for registry and image management.
- Added data structures for sandbox configuration and image details, enhancing the OpenAPI settings to support sandbox functionality.
- Updated Makefile to skip sandbox-related tests in CI, ensuring local execution only.
2026-04-29 18:47:38 +08:00
Max
3b642fea78 feat(mcp): add MCP server management endpoints
- Introduced new endpoints for managing MCP servers, including GET, POST, PUT, and DELETE methods for server operations.
- Organized routing under a new /mcp group to enhance endpoint management within the OpenAPI settings.
2026-04-29 14:53:00 +08:00
Max
13e16c7099 feat(smtp): add SMTP configuration and management endpoints
- Introduced new endpoints for managing SMTP settings, including GET, PUT, and POST methods for retrieving, updating, and testing SMTP configurations.
- Added data structures for SMTP presets and configuration, enhancing the OpenAPI settings to support email functionality.
- Organized routing under a new /smtp group for better endpoint management.
2026-04-29 12:21:19 +08:00
Max
c3040559e6 feat(search): add search provider endpoints and data structures
- Introduced new endpoints for managing search providers, including GET, PUT, and POST methods for testing and updating providers.
- Added data structures for search provider configuration, presets, and tool assignments to support the new functionality.
- Enhanced the OpenAPI settings to accommodate the new search-related features.
2026-04-29 11:29:03 +08:00
Max
1efa87e50a feat(llm): add Yao Agents preset and LLM management endpoints
- Introduced a new preset for Yao Agents in presets.yml, including configuration details such as API URL and capabilities.
- Added new LLM management endpoints in the OpenAPI settings, allowing for CRUD operations on LLM providers and roles.
- Enhanced data structures to support the new LLM functionality, including LLMPageData for aggregated responses.
2026-04-29 10:28:07 +08:00
Max
bba43c369a feat(setting): implement cloud settings endpoints and owner verification
- Added new endpoints for managing cloud settings under /setting/cloud, including GET, PUT, and POST methods.
- Introduced owner verification logic to ensure only team owners can modify settings, utilizing caching for efficiency.
- Enhanced data structures for cloud settings responses, including CloudRegion and CloudPageData types.
- Refactored existing functions to integrate new owner verification and error handling mechanisms.
2026-04-28 21:20:43 +08:00
Max
3bc15b1039 feat(openapi): add unified /setting/* endpoints for OpenAPI
- Introduced handlers for the new /setting/* endpoints in the OpenAPI module.
- Updated import statements to include the new setting package for better organization.
- Enhanced routing capabilities to support the new settings functionality.
2026-04-28 19:33:27 +08:00
Max
934424f9ea feat(load): add initialization and reloading for Setting Registry
- Implemented initialization for the Setting Registry during the Load process.
- Added reload functionality to refresh the Setting Registry as needed.
- Enhanced error handling to capture and report issues during initialization and reloading.
2026-04-28 15:08:22 +08:00
Max
654e7ee567 feat(load): initialize and reload LLM Provider and MCP Client Registries
- Added initialization for LLM Provider and MCP Client Registries during the Load process.
- Implemented reload functionality for both registries to ensure they are properly refreshed when needed.
- Enhanced error handling to capture and report issues during initialization and reloading of the registries.
2026-04-28 14:33:10 +08:00
Max
11317c0f86
Merge pull request #1528 from trheyi/main
feat(logging): enhance logger output control and add trace diagnostics
2026-04-28 10:38:03 +08:00
Max
9326f4b747 feat(logging): enhance logger output control and add trace diagnostics
- Updated logger methods to respect the new `config.Silent` flag, allowing suppression of console output in development mode.
- Refactored `buildTurnResponse` to utilize a shared `buildTrace` function for improved tool call association.
- Introduced JSON output capabilities in `OutputWriter` for detailed trace and duration reporting.
- Enhanced reporting mechanisms to include trace details in JSON and Markdown formats for better diagnostics.
- Added support for a new `Trace` structure to capture detailed execution information, including tool calls and completion data.
2026-04-28 10:37:04 +08:00
Max
72d7ed6f80
Merge pull request #1527 from trheyi/main
feat(sandbox): add opencode runner and enhance attachment processing
2026-04-25 11:12:35 +08:00
Max
04c3114344 feat(opencode): enhance platform-specific command handling and environment variable syntax
- Introduced `shellQuoteForPlatform` to build shell-safe command strings tailored for Windows and POSIX environments.
- Updated `buildSandboxEnvPrompt` to display the correct environment variable syntax based on the operating system.
- Refactored the command copying logic in the runner to use platform-aware commands for copying custom OpenCode tools.
- Removed outdated test scenarios related to the vision connector, streamlining the test suite.
2026-04-25 11:09:49 +08:00
Max
4b97a890fd feat(opencode): add tests for read.ts tool copying based on vision connector presence
- Implemented two new test scenarios: one to verify that read.ts is not copied when no vision connector is present, and another to confirm that it is copied when a vision connector is configured.
- Updated the runner logic to conditionally copy custom tools into the OpenCode global config directory based on the presence of a vision connector in the configuration.
2026-04-25 09:48:06 +08:00
Max
12e88943e9 feat(sandbox): add opencode runner and enhance attachment processing
- Registered new "opencode" and "opencode/cli" runners in the sandbox initialization.
- Updated the `runExecStep` function to use the computer's working directory and set the HOME environment variable.
- Refactored attachment processing in the Claude package to delegate to shared functionality, improving code maintainability.
2026-04-24 23:26:55 +08:00
Max
142c53889e
Merge pull request #1526 from trheyi/main
feat: sui backend script test and fix streamline release process
2026-04-24 09:13:34 +08:00
Max
105c3aae5b fix(workflows): streamline release process for Linux and macOS
- Removed the workflow_dispatch trigger from both release workflows to enforce tag-based releases.
- Added a mechanism to wait for draft releases before uploading assets, ensuring all necessary files are present.
- Implemented asset upload to GitHub releases and conditional publishing based on asset completeness.
- Enhanced SHA256 checksum generation for both production and development binaries.
2026-04-24 09:11:29 +08:00
Max
a1e745ec90 chore(tests): update model versions in Anthropic tests and add Test command to SUI
- Updated testConnectorID comment and model version in TestAnthropicStreamRetry to reflect the latest model (Claude Haiku 4.5).
- Added Test command to the SUI command set with associated flags for improved testing capabilities.
2026-04-24 08:45:19 +08:00
Max
9ff123433a
Merge pull request #1525 from trheyi/main
feat(doc): add yao doc CLI commands and YAML documentation
2026-04-23 22:30:02 +08:00
Max
c47d593c58 chore(deps): update spdystream dependency to v0.5.1 and adjust model version in tests
- Updated the spdystream dependency version from v0.5.0 to v0.5.1 in go.mod and go.sum files.
- Modified testConnectorID comment to reflect the updated model version (Claude Haiku 3.5).
- Updated model version in TestAnthropicStreamRetry to use "claude-3-5-haiku-20241022".
2026-04-23 22:27:39 +08:00
Max
2c11a647ba refactor(logs): remove unnecessary comment in query order for log listing
- Cleaned up comments in ListLogs and ListExecutionLogs functions to enhance code clarity without altering functionality.
2026-04-23 21:39:08 +08:00
Max
efc84fbb97 feat(doc): add yao doc CLI commands and YAML documentation for all packages
Implement yao doc process list/inspect/validate and yao doc runtime
list/inspect/validate commands. Validate uses engine addressing logic
(process.Of) and checks dynamic-ID group registries (model, store, fs,
task, schedule) to verify resources actually exist.

- cmd/doc/: CLI command tree with process and runtime subcommands
- cmd/root.go: wire docCmd into rootCmd
- 27 process doc.yml + doc.go pairs across yao packages
- cmd/doc/doc_test.go: integration tests

Made-with: Cursor
2026-04-23 21:37:43 +08:00
Max
936d104d31
Merge pull request #1524 from trheyi/main
feat(user): add token-based login endpoint for automation and testing
2026-04-22 14:13:26 +08:00
Max
4d22a9a655 feat(user): add token-based login endpoint for automation and testing
- Implemented GinTokenLogin function to handle POST requests for token-based login.
- Allows users to authenticate using a pre-signed access token, returning session cookies and user info.
- Updated user routes to include the new /token/login endpoint for public access.
2026-04-22 14:12:53 +08:00
Max
0578a068a9
Merge pull request #1523 from trheyi/main
update README
2026-04-21 00:16:05 +08:00
Max
e7bb997e2a docs: update README files to reflect new branding for Yao Desktop
- Changed the label for the desktop app in both English and Chinese README files to "Yao Desktop" for consistency and improved branding.
- Ensured that the visual elements align with the updated terminology across both language versions.
2026-04-21 00:15:12 +08:00
Max
f61dbe7390 docs: update README files for improved formatting and clarity
- Removed unnecessary separators in the English and Chinese README files for a cleaner presentation.
- Ensured consistent formatting across both language versions to enhance readability.
2026-04-21 00:10:20 +08:00
Max
04501a1274 docs: update README and Chinese translation for clarity and consistency
- Revised the English README to reflect the new branding and features of Yao as an AI runtime for building applications.
- Enhanced the structure and content of the README, including quick links, how it works, and features sections.
- Updated the Chinese README to align with the changes made in the English version, ensuring consistency across languages.
- Improved visual elements and descriptions to better convey the functionality and purpose of Yao.
2026-04-21 00:06:18 +08:00
Max
ee9ca0a132
Merge pull request #1522 from trheyi/main
fix(workflows): refine release and notarization processes for macOS a…
2026-04-19 18:49:06 +08:00
Max
aabd875bdf fix(workflows): refine release and notarization processes for macOS and Linux
- Updated the notarization workflow to correctly reference the "Release macOS" workflow.
- Enhanced version and run ID resolution logic to ensure accurate detection from the latest release or inputs.
- Improved asset verification process on R2 with a retry mechanism to handle potential delays in asset availability.
- Removed the deprecated unified release workflow, streamlining the release process for macOS and Linux.
- Adjusted CDN update prerequisites to reflect the new workflow structure.
2026-04-19 18:48:06 +08:00
Max
4e645d1ed9
Merge pull request #1521 from trheyi/main
fix(workflows): improve version and run ID resolution in notarization…
2026-04-19 18:20:20 +08:00
Max
0ffd04c428 fix(workflows): improve version and run ID resolution in notarization and release workflows
- Simplified version detection logic in the notarization workflow to prioritize the latest GitHub release.
- Enhanced error handling for cases where version or run ID cannot be determined.
- Updated the release workflow to ensure consistent version extraction from the upstream branch or fallback to the latest release.
2026-04-19 18:18:07 +08:00
Max
41969759a8
Merge pull request #1520 from trheyi/main
fix(workflows): update R2 bucket and asset paths for consistency acro…
2026-04-19 17:55:55 +08:00
Max
b210758370 fix(workflows): update R2 bucket and asset paths for consistency across workflows
- Changed default R2_BUCKET from 'get-yaoapps' to 'releases' for better alignment with asset management.
- Updated asset prefix paths in multiple workflows to remove 'releases/' prefix, ensuring uniformity in asset retrieval.
- Enhanced localization in command outputs to reflect updated CDN URLs for better user experience.
2026-04-19 17:55:14 +08:00
Max
ccedc28828
Merge pull request #1519 from trheyi/main
feat(workflows): enhance notarization and release processes for macOS…
2026-04-19 17:18:49 +08:00
Max
f7ee21372f feat(workflows): enhance notarization and release processes for macOS and Linux
- Updated the notarization workflow to automatically resolve version and run ID from the latest release or inputs.
- Added a finalize job to verify assets on R2 and trigger CDN updates after notarization.
- Improved the release workflow to upload binaries to R2 with enhanced error handling and asset verification.
- Refactored upgrade command to support CDN fallback for version resolution, improving update reliability.
- Enhanced localization in the command output for better user experience.
2026-04-19 17:18:24 +08:00
Max
735a5efab7
Merge pull request #1516 from trheyi/main
Feat: Attachment Metadata + Device Auth Support
2026-04-14 18:54:58 +08:00
Max
dd9c81068b feat(user): implement Device Flow support in OAuth provider configuration
- Added DeviceClientID and DeviceClientSecret fields to the Provider struct for Device Flow (RFC 8628) support.
- Introduced new types and methods for handling Device Authorization and Token requests/responses.
- Updated API routes to include endpoints for initiating Device Flow and polling for tokens.
- Enhanced loadProviders function to process new device-related environment variables.
2026-04-14 18:23:30 +08:00
Max
1deef3cabf feat(robot): enhance DeliveryAttachment structure with size and content type fields
- Added Size field to represent the file size in bytes.
- Introduced ContentType field to specify the MIME type of the attachment.
- Updated API endpoint to support bundling multiple files into a ZIP archive.
2026-04-14 15:01:05 +08:00
Max
36d92f1901
Merge pull request #1515 from trheyi/main
feat(workspace): add workspace ID retrieval and integration into environment configuration
2026-04-14 09:04:02 +08:00
Max
c976a3e398 chore(dependencies): update Go module dependencies to latest versions
- Upgraded several dependencies in go.mod and go.sum, including golang.org/x/crypto, golang.org/x/net, golang.org/x/sys, and google.golang.org/grpc to their latest versions for improved security and performance.
- Updated opentelemetry packages to v1.43.0 and added new indirect dependencies for better observability support.
- Adjusted the handling of execute messages in stream.go to ensure proper persistence based on message status.
- Enhanced command handling in command.go to maintain system prompt constraints during continuation turns.
2026-04-13 23:43:17 +08:00
Max
0cbc7d961d refactor(parser): streamline event handling and tool state management
- Replaced chunkRecord with recordedEvent to simplify event recording.
- Introduced activeToolID to manage the currently streaming tool, allowing for better state handling during parsing.
- Enhanced closeStreamingTool and suspendStreamingTool methods for improved tool message management.
- Updated parsing logic to handle multiple concurrent tool calls more effectively.
- Added utility functions for extracting message groups and properties from recorded events.
2026-04-13 22:24:40 +08:00
Max
c987bd687f fix(sandbox): pass explicit user to docker exec for UID-mapped containers
After tai sandbox containers start as root with dynamic UID mapping,
docker exec defaults to root. Add User field to ExecOptions and
hardcode "sandbox" in Box.Exec/Stream to ensure commands run as the
correct user.

Made-with: Cursor
2026-04-13 18:26:41 +08:00
Max
2084e20479 feat(workspace): add workspace ID retrieval and integration into environment configuration
- Implemented GetWorkspaceID method in the context package to retrieve the workspace ID.
- Updated buildContextVariables to include WORKSPACE_ID in the context variables if available.
- Enhanced buildEnv function to set CTX_WORKSPACE_ID in the environment configuration based on the workspace ID.
- Refactored role connector handling to support multiple connectors in the environment setup.
- Added tests for new role connector functionality and workspace ID integration.
2026-04-13 14:47:08 +08:00
Max
d0b34a6fd5
Merge pull request #1514 from trheyi/main
feat(system): add Vision and Voice capabilities to System configuration
2026-04-10 15:11:07 +08:00
Max
cc5e888f5a feat(system): add Vision and Voice capabilities to System configuration
- Introduced Vision and Voice fields in the SystemConfig and System types to support new capabilities.
- Updated resolveEnvStrings function to handle environment variables for Vision and Voice.
- Enhanced unit tests to validate the new Vision and Voice configurations, ensuring correct environment variable resolution.
- Added GetVisionConnector and GetVoiceConnector functions to retrieve connectors for vision and voice capabilities.
2026-04-10 11:22:18 +08:00
Max
d27406b342
Merge pull request #1513 from trheyi/main
chore(dependencies): update AWS SDK and related packages to latest ve…
2026-04-08 17:45:33 +08:00
Max
0c7d635966 chore(dependencies): update AWS SDK and related packages to latest versions
- Upgraded AWS SDK for Go v2 and its related packages in go.mod and go.sum to improve compatibility and access to new features.
- Updated session management logic in the Runner to ensure proper handling of chat sessions.
- Added new unit tests for keyword search functionality in the Assistant model, enhancing search capabilities across locales.
- Refactored JSON handling in the Assistant package to streamline options configuration.
2026-04-08 17:24:35 +08:00