feat(agents): 完成云智能体工作台与交互流程

This commit is contained in:
2026-09-10 19:25:12 +08:00
parent 46fbae9dec
commit 64a3cf4934
26 changed files with 1955 additions and 49 deletions

View File

@@ -2,9 +2,20 @@ import { describe, expect, it } from 'vitest';
import {
findNianCodeDeepLinkUrl,
parseNianCodeDeepLinkUrl,
queueCloudAgentLink,
takeCloudAgentRoute,
} from '@electron/main/app-deep-link';
describe('NianCode app deep links', () => {
it('opens only an agent locator and preserves it until Renderer is ready', () => {
const slug = 'ml-' + 'a'.repeat(32);
expect(parseNianCodeDeepLinkUrl('niancode://agents/' + slug)).toMatchObject({ type: 'cloud-agent', slug });
expect(parseNianCodeDeepLinkUrl('niancode://agents/' + slug + '?token=secret')).toBeNull();
expect(parseNianCodeDeepLinkUrl('niancode://agents/../../settings')).toBeNull();
queueCloudAgentLink(slug);
expect(takeCloudAgentRoute()).toBe('/cloud-agents/shared/' + slug);
expect(takeCloudAgentRoute()).toBeNull();
});
it('parses desktop auth callback request ids from niancode links', () => {
expect(parseNianCodeDeepLinkUrl('niancode://auth/callback?request_id=desktop-request-id')).toEqual({
type: 'desktop-auth-callback',