Files
openclaw/extensions/browser/chrome-extension/modules/panel-core.d.ts
Peter Steinberger ec8f6e5e03 feat(browser): add secure per-tab copilot panel (#109817)
* feat(browser): add copilot security contracts

* fix(gateway): expose verified client identity to handlers

* feat(browser): add secure per-tab copilot panel

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* refactor(browser): separate copilot gateway hint custody

* fix(browser): preserve legacy pairing parse shape

* fix(browser): harden copilot lifecycle custody

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* fix(browser): enforce copilot lifecycle boundaries

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* style(browser): format copilot sources

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* fix(browser): preserve copilot consent revocation

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* refactor(browser): split copilot custody owners

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* test(browser): normalize websocket array buffers

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* chore(protocol): regenerate Swift gateway models

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* refactor(browser): model copilot runtime entrypoints

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* fix(browser): honor extension build boundaries

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* test(gateway): assert targeted chat delivery

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* test(gateway): cover targeted delivery calls

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* fix(browser): declare copilot build dependencies

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* fix(ci): clear browser copilot gate failures

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* test(ci): cover copilot lint exclusion

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* fix(browser): gate copilot on relay custody

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

* test(browser): bound copilot relay frames

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>

---------

Co-authored-by: Cameron Beeley <cameron.beeley@gmail.com>
2026-07-18 01:00:23 +01:00

42 lines
1.1 KiB
TypeScript

export type BrowserCopilotBinding = {
kind: "tab";
tabId: number;
target: "host";
profile: string;
targetId: string;
};
export type ChatStream = {
runId: string | null;
full: string;
segmentStart: number;
};
export function deriveTabSessionKey(mainSessionKey: unknown, sessionId: unknown): string | null;
export function gatewayUrlFromPairing(
relayUrl: unknown,
explicitGatewayUrl: unknown,
): string | null;
export function normalizeGatewayUrl(raw: unknown): string | null;
export function buildCopilotChatSendParams(params: {
binding: BrowserCopilotBinding;
message: string;
sessionId?: string;
sessionKey: string;
}): {
sessionKey: string;
sessionId?: string;
message: string;
idempotencyKey: string;
deliver: false;
toolBindings: { browser: BrowserCopilotBinding };
};
export function createChatStream(): ChatStream;
export function resetChatStream(stream: ChatStream): void;
export function applyChatDelta(
stream: ChatStream,
payload: unknown,
): { text: string; newBubble: boolean } | null;
export function renderMarkdownLite(text: unknown): string;
export function readMessageText(message: unknown): string;