Commit graph

3956 commits

Author SHA1 Message Date
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
Max
5a69d6f595
Merge pull request #1512 from trheyi/main
feat: add PostgreSQL support; implement SUI for Agent with Markdown like /some/route.md
2026-04-06 18:14:40 +08:00
Max
15a71692a2 fix(tests): improve error handling in unit tests and Makefile
- Enhanced the Makefile to include additional checks for test failures, specifically for panic messages and general failure indicators.
- Updated service tests to dynamically retrieve the server port, ensuring accurate request routing.
- Added a clear function call in the dashboard process test setup to ensure a clean state before tests run.
2026-04-06 17:17:11 +08:00
Max
5c1664e882 feat(job): enhance health checker and data cleaner with panic recovery and graceful shutdown
- Added panic recovery to health checker and data cleaner to prevent crashes from unexpected errors.
- Implemented graceful shutdown for both components, ensuring they complete ongoing tasks before stopping.
- Updated the job import in the load module to manage health checker and data cleaner lifecycle.
- Introduced new channels to signal completion of health checks and data cleanups.
2026-04-06 12:37:58 +08:00
Max
1a5e1db2ec refactor(time): enhance timestamp handling with utility functions
- Introduced NanoToTime and TimeToNano functions for converting between UnixNano and time.Time, improving clarity and consistency in timestamp management.
- Updated Assistant model to utilize the new utility functions for created_at and updated_at fields.
- Refactored Xun store methods to ensure UTC compatibility for timestamp serialization across different database drivers.
- Added unit tests for the new conversion functions to validate their correctness and behavior.
2026-04-06 11:21:12 +08:00
Max
8d44ef31c1 refactor(assistant): replace JSON LIKE handling with JSON contains logic
- Updated GetAssistants and DeleteAssistants methods to utilize jsonContainsValue for filtering tags and locales, improving query compatibility across database drivers.
- Renamed related test functions to reflect the new JSON handling approach.
- Removed deprecated jsonLikeExpr and whereJsonLike methods to streamline codebase.
2026-04-06 10:56:45 +08:00
Max
4b30e80924 refactor(assistant): streamline JSON handling in query filters
- Introduced utility functions for applying LIKE conditions on JSON columns, enhancing compatibility with PostgreSQL.
- Simplified the filtering logic for tags and keywords in the GetAssistants and DeleteAssistants methods.
- Added unit tests for the new JSON handling functions to ensure correctness across different database drivers.
2026-04-06 03:22:39 +08:00
Max
8786aa9a6a feat(database): add PostgreSQL support and enhance JSON handling
- Updated database configuration to include PostgreSQL 14.0 in CI workflows.
- Enhanced JSON null detection in the Xun store to support PostgreSQL dialect.
- Refactored time conversion utilities to handle multiple database formats, including PostgreSQL.
- Improved cleanup logic in the DataCleaner to ensure proper order of operations for referential integrity.
- Added utility functions for converting between Unix timestamps and database timestamps.
2026-04-06 02:56:04 +08:00
Max
93641dea58 feat(profile): add endpoint to retrieve linked OAuth accounts for the user
- Implemented the GinProfileProviders function to fetch and return the current user's linked OAuth accounts.
- Added error handling for authentication and provider retrieval, ensuring proper responses for unauthorized access and server errors.
- Updated the user routing to include a new GET endpoint for accessing linked OAuth providers.
2026-04-03 10:28:07 +08:00
Max
413fd71841 feat(middleware): add support for markdown content negotiation and rendering
- Implemented content negotiation for markdown files based on URL suffix and Accept header.
- Introduced a new RenderRaw method to serve raw markdown content, bypassing HTML rendering.
- Updated PageConfig to include a handler for markdown output, enhancing flexibility in content delivery.
2026-04-02 18:55:36 +08:00
Max
c73d9452f9
Merge pull request #1510 from trheyi/main
refactor(response): remove hardcoded cookie path from refresh token functions
2026-04-01 08:59:04 +08:00
Max
99ce3ea456 chore(dependencies): update golang.org/x/text, golang.org/x/image, and golang.org/x/sync to latest versions
Updated the dependencies in go.mod and go.sum files to use golang.org/x/text v0.35.0, golang.org/x/image v0.38.0, and golang.org/x/sync v0.20.0. This ensures compatibility with the latest features and improvements in these libraries.
2026-04-01 08:26:18 +08:00