| A2UI.mjs |
A generated surface before hydration.
@typedef {import("../../models/aitab/AITab.sys.mjs").A2UISurface} A2UISurface
|
8171 |
- |
| AgentCommands.mjs |
Defines the agent commands that may be triggered when a slash is typed.
Commands listed here will be available in the palette, but the AgentUI will
still need to register handlers.
|
2159 |
100 % |
| AgentPageDetector.sys.mjs |
Client-side, network-free classification of URLs into the page categories
Smart Window feature callout is gated on:
- "product-detail": a retailer product page (Amazon, Walmart, Best Buy and
Sephora, US (.com) only).
- "shopping-home": the home page of a US or Canadian retailer.
- "news-home": the home page of a US or Canadian news site.
|
7864 |
- |
| 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
@property {boolean} [isFullPage] - True when the smart window is in full page mode
|
24824 |
- |
| AITabConstants.sys.mjs |
The current SQLite database schema version
|
538 |
- |
| AITabHeadingFont.sys.mjs |
Downloads the heading font from Remote Settings. about:smartpage has a null
origin, so it cannot load the CDN file itself: font loads are CORS checked.
The download is shared by every page and cached on disk by Remote Settings.
If the font record is missing or the download fails,
the next call tries the download again.
@returns {Promise<?ArrayBuffer>} Null when the record is not available.
|
1616 |
- |
| AITabMigrations.sys.mjs |
v2: idx_aitab_pages_slug_version became UNIQUE, so a slug can no longer be
claimed by more than one conversation. Databases created under v1 carry
the non-unique index and have to have it rebuilt.
The store had no production writer while v1 was current, so no v1 database
can hold rows that would violate the new constraint.
@param {object} connection - The open database connection.
@param {number} version - Schema version the database is migrating from.
|
2536 |
- |
| AITabSql.sys.mjs |
|
5529 |
- |
| AITabStore.sys.mjs |
Represents a row from the aitab_pages table in the
ai-tab-pages-store.sqlite database.
@typedef {object} AITabRow
@property {string} uuid - Identifier for this version.
@property {string} convId - Conversation that owns the page.
@property {string|null} toolConvId - Conversation used to generate the page.
@property {string} slug - URL identifier shared across versions.
@property {number} version - Sequential version number.
@property {string} title - Page title.
@property {number} createdAt - Creation time in microseconds since the Unix epoch.
@property {number} updatedAt - Update time in microseconds since the Unix epoch.
@property {object|null} context - Inputs used to generate the page.
@property {*} components - Component data decoded from stored JSON.
@property {object|null} localState - Saved component state, such as checkboxes.
|
13226 |
- |
| AITabUtils.mjs |
@import { A2UIComponent } from "moz-src:///browser/components/aiwindow/models/aitab/AITab.sys.mjs"
|
1248 |
100 % |
| AIWindow.sys.mjs |
@import {SmartbarInput} from "chrome://browser/content/urlbar/SmartbarInput.mjs"
|
54717 |
- |
| AIWindowConstants.sys.mjs |
The current SQLite database schema version
|
790 |
- |
| AIWindowMenu.sys.mjs |
Adds the AI Window menuitems to the app menu
|
3922 |
- |
| 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
|
31814 |
- |
| AIWindowTelemetry.sys.mjs |
AIWindow telemetry calls
|
1225 |
- |
| AIWindowUI.sys.mjs |
@typedef {import("../components/ai-window/ai-window.mjs").SmartbarInputState} SmartbarInputState
|
24260 |
- |
| AutoTabGrouping.sys.mjs |
Total length of the given tabs' titles. The titles are the only text the
on-device model is given, and the telemetry events report how much of it
there was rather than the text itself.
@param {MozTabbrowserTab[]} tabs
@returns {number}
|
40538 |
- |
| AutoTabGroupingSuggestions.sys.mjs |
The suggestion engine for the Smart Window "Organize 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 row per tab. Kept
free of any DOM so the pure parts stay unit-testable and every model call is
guarded against throwing.
|
18002 |
- |
| ChatConversation.sys.mjs |
@typedef {import("moz-src:///browser/components/aiwindow/models/SearchBrowsingHistory.sys.mjs").HistoryRow} HistoryRow |
43657 |
- |
| ChatEnums.sys.mjs |
@typedef ConversationStatus
@property {number} ACTIVE - An active conversation
@property {number} ARCHIVE - An archived conversation
@property {number} DELETED - A deleted conversation
|
1350 |
- |
| ChatMarkdownParser.mjs |
Markdown parser for Smart Window chat messages.
|
3799 |
100 % |
| ChatMessage.sys.mjs |
@typedef {import("./ChatConversation.sys.mjs").PooledHistoryResult} PooledHistoryResult |
12095 |
- |
| 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
|
6493 |
- |
| ChatSql.sys.mjs |
|
19933 |
- |
| 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 ?
|
49835 |
- |
| ChatUtils.sys.mjs |
@typedef {import("./ChatConversation.sys.mjs").PooledHistoryResult} PooledHistoryResult |
12878 |
- |
| 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 % |
| ConversationMigrations.sys.mjs |
|
380 |
- |
| ConversationSql.sys.mjs |
|
4134 |
- |
| ConversationStore.sys.mjs |
The current SQLite database schema version
|
7597 |
- |
| FeedbackModal.sys.mjs |
@param {MozBrowser} browser
@param {string} type - "thumbs-up" or "thumbs-down".
@param {object} metadata - Chat session data to include in telemetry.
|
2738 |
- |
| MonitorAttention.sys.mjs |
Why a monitor is asking for attention. Entries written before the dot
covered failures carry no kind and read as matches.
|
5453 |
- |
| MonitorPanel.sys.mjs |
The Smart Window "Tasks" panel, anchored to its toolbar button. The panel is
created on demand and removed when it closes.
Monitors live in MonitorAgent and change from its own timers as well as from
other surfaces, so this module owns the data: it pushes monitors into the
agent-monitor-panel element and refreshes them while the panel is open. The
element only renders and reports what the user did.
|
15154 |
- |
| MonitorUIUtils.sys.mjs |
Titles of the pages open in non-private windows.
@returns {Map<string, string>} Map of url -> page title
|
10609 |
- |
| ResumeActivity.sys.mjs |
Marks a resume-activity memory as dismissed for this session.
TODO Bug 2067871: Replace this frontend state with
`JourneyManager.dismissJourney` once resume activities use the journey
store. Store-backed dismissals will persist across restarts and remove
the need for `dismissMemory` and `isMemoryDismissed`. Section visibility
remains frontend-owned.
@param {string} memoryId
|
1983 |
- |
| SmartFormFillAutocomplete.sys.mjs |
@typedef {import("moz-src:///browser/components/aiwindow/ui/actors/SmartFormFillParent.sys.mjs").SmartFormFillParent} SmartFormFillParent |
8328 |
- |
| SmartFormFillConstants.mjs |
@typedef {object} FormReviewField
@property {string} id The stable ID of the detected form field.
@property {string} label The label detected for the form field.
@property {string} placeholder The form field’s placeholder text.
@property {string} name The form field’s name attribute.
@property {string} value The generated or user-edited field value.
|
2916 |
100 % |
| SmartFormFillController.sys.mjs |
@typedef {import("moz-src:///browser/components/aiwindow/models/Tools.sys.mjs").TabInfo} TabInfo |
29520 |
- |
| SmartFormFillDocument.sys.mjs |
@typedef {{
action: string,
autocomplete: string,
ownerDocument: Document,
rootElement: HTMLElement,
elements: Array<HTMLElement>,
}} FormLike
|
32821 |
- |
| SmartFormFillReviewSession.sys.mjs |
@typedef {import("chrome://browser/content/aiwindow/modules/SmartFormFillConstants.mjs").FormReviewAction} FormReviewAction |
6363 |
- |
| SmartFormFillTelemetry.sys.mjs |
@typedef {import("moz-src:///browser/components/aiwindow/models/SmartFormFillModel.sys.mjs").ClassificationResponse} ClassificationResponse |
20159 |
- |
| SmartFormFillUtils.sys.mjs |
Utility methods for finding nearby text around form controls.
|
4451 |
- |
| SmartWindowTelemetry.sys.mjs |
This singleton is for telemetry events that benefit from shared state management.
Simple events to be handled with inline Glean calls |
7673 |
- |
| SQLiteStoreBase.sys.mjs |
Base class for SQLite-backed store modules. Handles connection lifecycle,
schema initialization, migrations, corruption recovery, and database pruning.
Subclasses must override the configuration getters to provide store-specific
values (database filename, schema version, SQL entity statements, etc.).
@example
class MyStore extends SQLiteStoreBase {
get logPrefix() { return "MyStore"; }
get logLevelPref() { return "browser.mystore.loglevel"; }
get shutdownBlockerName() { return "MyStore: Shutdown"; }
get CURRENT_SCHEMA_VERSION() { return 1; }
get databaseFileName() { return "my-store.sqlite"; }
get prefBranch() { return "browser.mystore"; }
get createEntityStatements() { return [TABLE_SQL, INDEX_SQL]; }
get migrations() { return []; }
}
|
14575 |
- |
| TabManagementService.sys.mjs |
@import { TabGroupColor } from "chrome://browser/content/tabbrowser/tabgroup.mjs"
|
28831 |
- |
| 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)
|
7309 |
- |
| ToolUI.sys.mjs |
@import { ChatConversation } from "moz-src:///browser/components/aiwindow/ui/modules/ChatConversation.sys.mjs"
@import { ChatMessage } from "moz-src:///browser/components/aiwindow/ui/modules/ChatMessage.sys.mjs"
|
50090 |
- |
| ToolUITelemetry.sys.mjs |
ToolUI telemetry calls
|
6115 |
- |
| TrustedInternalURLs.mjs |
The internal pages the chat may link to, one check each. Callers compose the
set they trust: AIChatContentParent gates navigation, ai-chat-message gates
whether a link stays clickable and additionally requires a generated page to
have been seen, which the parent process has no access to.
|
2015 |
100 % |
| UrlTokenizer.sys.mjs |
Matches a URL token in model text, e.g. "§url_token: GITHUB_COM_1§". The
first capture group is the bare token.
|
7724 |
- |