feat(transform): confirm agent profiles locally
CI / Test and build (push) Canceled after 0s

This commit is contained in:
go0p
2026-09-07 15:36:59 +08:00
parent dd61541c3e
commit e3b1775f8d
13 changed files with 152 additions and 34 deletions
@@ -1,9 +1,7 @@
import type {
BrowserTransformExecuteInput,
BrowserTransformPacket,
BrowserTransformProfileInput,
} from '@/types/models';
import { browser } from 'wxt/browser';
import type { CapabilityDomainHandler } from '../capability-context';
import { allowedTarget, requireScope } from '../capability-context';
import {
@@ -15,7 +13,6 @@ import {
getBrowserTransformRecovery,
listBrowserTransformProfiles,
resetBrowserTransformRecovery,
saveBrowserTransformProfile,
startBrowserTransformRecovery,
validateBrowserTransformRecovery,
} from '@/features/browser-transform/service';
@@ -25,7 +22,6 @@ import {
proposeBrowserTransformProfile,
validateInferredBrowserTransformProfile,
} from '@/features/browser-analysis/service';
import { ExtensionError } from '@/shared/errors';
import { TRANSFORM_CAPABILITY_DOMAIN } from '../capability-domains';
export const transformCapabilityHandler: CapabilityDomainHandler = {
@@ -122,15 +118,6 @@ export const transformCapabilityHandler: CapabilityDomainHandler = {
}));
return visible.filter(Boolean);
}
if (method === 'browser.transform.profile.save') {
const profileInput = input as unknown as BrowserTransformProfileInput;
const target = await allowedTarget(grant, profileInput.target);
const frame = await browser.webNavigation.getFrame(target);
if (!frame?.url || profileInput.origin !== new URL(frame.url).origin) {
throw new ExtensionError('target_denied', '转换配置来源与当前页面不一致');
}
return saveBrowserTransformProfile({ ...profileInput, target });
}
if (method === 'browser.transform.profile.delete') {
const profile = await getBrowserTransformProfile(String(input.id || ''));
await allowedTarget(grant, profile.target);