| AgentUI.sys.mjs |
@typedef {object} AgentUpdateData
@property {string} messageId - Id of the chat message carrying the agent card
@property {string} toolCallId - Correlation id stamped on the card's toolUIData
@property {string} updateType - One of AGENT_UPDATE_TYPES
@property {object} updateData - Payload from the card's action event
@typedef {object} AgentHandlerContext
@property {object} message - The chat message the card is attached to
@property {object} updateData - The card action payload
@property {object} conversation - The active ChatConversation
@property {ChromeWindow} window - The browser window
@typedef {object} AgentCommandContext
@property {string} [text] - The user's prompt text accompanying the command
@property {string} [contextPageUrl] - Current page URL to seed the agent with
@property {object} conversation - The active ChatConversation
@property {ChromeWindow} [window] - The browser window
|
20762 |
- |
| AIWindow.sys.mjs |
@import {SmartbarInput} from "chrome://browser/content/urlbar/SmartbarInput.mjs"
|
40330 |
- |
| AIWindowAccountAuth.sys.mjs |
|
2635 |
- |
| AIWindowConstants.sys.mjs |
The current SQLite database schema version
|
790 |
- |
| AIWindowMenu.sys.mjs |
Adds the AI Window menuitems to the app menu
|
3580 |
- |
| AIWindowTabStatesManager.sys.mjs |
At which count the empty close prompt should be shown.
If this value needs to be updated it should also be updated in
the trigger string in FeatureCalloutMessages.sys.mjs
|
31040 |
- |
| AIWindowTelemetry.sys.mjs |
AIWindow telemetry calls
|
1225 |
- |
| AIWindowUI.sys.mjs |
@typedef {import("../components/ai-window/ai-window.mjs").SmartbarInputState} SmartbarInputState
|
23638 |
- |
| AutoTabGrouping.sys.mjs |
Median and mean of a list of group sizes (tabs per group), rounded to
integers for the telemetry events.
@param {number[]} sizes
@returns {{median: number, mean: number}}
|
19412 |
- |
| AutoTabGroupingSuggestions.sys.mjs |
The suggestion engine for the Smart Window "Group my tabs" feature: the only
code that talks to the on-device clustering model. Given a window it picks
candidate tabs, clusters and labels them, and turns each cluster into the
display data the panel shows: a name, a color, and one tile per tab. Kept
free of any DOM so the pure parts stay unit-testable and every model call is
guarded against throwing.
|
7776 |
- |
| ChatConversation.sys.mjs |
@typedef {import("moz-src:///browser/components/aiwindow/models/SearchBrowsingHistory.sys.mjs").HistoryRow} HistoryRow |
37174 |
- |
| ChatEnums.sys.mjs |
@typedef ConversationStatus
@property {number} ACTIVE - An active conversation
@property {number} ARCHIVE - An archived conversation
@property {number} DELETED - A deleted conversation
|
1330 |
- |
| ChatMarkdownParser.mjs |
Markdown parser for Smart Window chat messages.
|
1760 |
100 % |
| ChatMessage.sys.mjs |
@typedef {import("./ChatConversation.sys.mjs").PooledHistoryResult} PooledHistoryResult |
11781 |
- |
| ChatMigrations.sys.mjs |
Please refer to sql.mjs for details on creating new migrations.
- List each change here and what it's for.
@param {OpenedConnection} conn - The SQLite connection to use for the migration
@param {number} version - The version number of the current schema
|
5886 |
- |
| ChatSql.sys.mjs |
|
17617 |
- |
| ChatStore.sys.mjs |
Simple interface to store and retrieve chat conversations and messages.
@todo Bug 2005409
Move this documentation to Firefox source docs
See: https://docs.google.com/document/d/1VlwmGbMhPIe-tmeKWinHuPh50VC9QrWEeQQ5V-UvEso/edit?tab=t.klqqibndv3zk
@example
let { ChatStore, ChatConversation, ChatMessage, MESSAGE_ROLE } =
ChromeUtils.importESModule("resource:///modules/aiwindow/ui/modules/ChatStore.sys.mjs");
const chatStore = ChatStore;
const conversation = new ChatConversation({
title: "title",
description: "description",
pageUrl: new URL("https://mozilla.com/"),
pageMeta: { one: 1, two: 2 },
});
const msg1 = new ChatMessage({
ordinal: 0,
role: MESSAGE_ROLE.USER,
modelId: "test",
params: { one: "one" },
usage: { two: "two", content: "some content" },
});
const msg2 = new ChatMessage({
ordinal: 1,
role: MESSAGE_ROLE.ASSISTANT,
modelId: "test",
params: { one: "one" },
usage: { two: "two", content: "some content 2" },
});
conversation.messages = [msg1, msg2];
await chatStore.updateConversation(conversation);
// Or findConversationsByDate, findConversationsByURL.
const foundConversation =
await chatStore.findConversationById(conversation.id);
@typedef {object} ChatStore
@property {*} x ?
|
42973 |
- |
| ChatUtils.sys.mjs |
@typedef {import("./ChatConversation.sys.mjs").PooledHistoryResult} PooledHistoryResult |
7372 |
- |
| ClientErrorTelemetry.mjs |
Shared vocabulary and helpers for the smart_window.client_error event.
The event is recorded in the parent process by
SmartWindowTelemetry.recordClientError(), but the Smart Window UI that
reports failures runs in two documents: the chrome document, which can call
Glean directly, and the about:aichatcontent document, which lives in a
content process and has to relay through AIChatContentChild/Parent. Keeping
the key sets, the field extraction and the message normalization here means
both sides describe a failure the same way, whichever route it takes.
|
8152 |
89 % |
| FeedbackModal.sys.mjs |
@param {MozBrowser} browser
@param {string} type - "thumbs-up" or "thumbs-down".
@param {object} metadata - Chat session data to include in telemetry.
|
2556 |
- |
| SmartFormFillController.sys.mjs |
@typedef {import("moz-src:///browser/components/aiwindow/models/Tools.sys.mjs").TabInfo} TabInfo |
18453 |
- |
| SmartFormFillDocument.sys.mjs |
@typedef {{
action: string,
autocomplete: string,
ownerDocument: Document,
rootElement: HTMLElement,
elements: Array<HTMLElement>,
}} FormLike
|
19993 |
- |
| SmartFormFillUtils.sys.mjs |
Utility methods for finding nearby text around form controls.
|
4487 |
- |
| SmartWindowTelemetry.sys.mjs |
This singleton is for telemetry events that benefit from shared state management.
Simple events to be handled with inline Glean calls |
6694 |
- |
| TabManagementService.sys.mjs |
Service for managing browser tabs from AI Window UI components.
This service closes tabs using gBrowser.removeTab(), allowing Firefox's
native SessionStore machinery to keep the actual closed-tab restore state.
The service only stores lightweight operation metadata so the AI Window can
target a specific close operation when the user clicks "Undo".
|
20280 |
- |
| ToolActionLog.sys.mjs |
A localized label shown on an action log entry
@typedef {object} ActionLogLabel
@property {string} l10nId - Fluent message id for the label text
@property {object} [l10nArgs] - optional Fluent variables (e.g. counts)
|
6471 |
- |
| ToolUI.sys.mjs |
@typedef {object} TabSelectionData
@property {string} linkedPanel - ID of the linked panel (e.g., "panel-3-1")
@property {string} url - URL of the tab
@property {string} title - Display title of the tab
@property {string} [iconSrc] - URL for the tab's favicon (optional)
@property {boolean} [checked] - Whether the tab is selected in UI (optional)
|
30061 |
- |
| ToolUITelemetry.sys.mjs |
ToolUI telemetry calls
|
4761 |
- |