Skip to content

filmopen_assistant_ui

Generated by scripts/package_digest.py; regenerate, never edit.

Reusable field-assistant controls, with session contracts supplied by filmopen_state.

Flutter. 6 files, 3,737 lines under lib/; 177 tests in 5 files. Barrel: lib/filmopen_assistant_ui.dart.

  • filmopen_keys — uses KeyringEmptyLine, providerCatalogueProvider
  • filmopen_state — uses AssistantApply, AssistantApplyKind, AssistantChoice, AssistantFieldAt, AssistantLevel, AssistantModelChoice, AssistantModelSelection, AssistantOffer, AssistantPreferences, AssistantRequest, AssistantService, AssistantSession, AssistantSessionLedgers, AssistantShortcut, AssistantTarget, AssistantTranscriptState, AssistantUnavailable, AssistantVoiceMessage, AssistantVoicePhase, AssistantVoiceProvider, AssistantVoiceRequest, AssistantVoiceService, AssistantVoiceSession, AssistantWhere, AssistantWhereController, AutoActivity, BatchSelection, ChangeNotice, ConversationFinishReason, EntitySelection and 38 more
  • filmopen_ui — uses Breakpoints, EditableTextSelection, EditableTextTarget, EmptyState, SidebarSplitView, SlideOut, TextEditGeneration, TextEditOutcome, showMessageOn
  • filmopen_l10n — uses Labels, fieldLabel
  • filmopen_dictation — uses DictateButton, DictationTarget, dictationEngines, dictationSelectedEngineProvider
  • filmopen_exchange (dev) — uses nothing by name the digest could see
  • filmopen_format (dev) — uses nothing by name the digest could see
  • filmopen_platform (dev) — uses nothing by name the digest could see
  • filmopen_store (dev) — uses nothing by name the digest could see

Third-party: flutter_riverpod.

filmopen_app, filmopen_browser, filmopen_forms

What the barrel exports, file by file. A name is class, enum, mixin, extension, typedef, a top-level function, getter, setter or variable; under a class, its public constructors, fields, getters, setters and methods.

  • class AiAssistantDialog — Presents a catalog action’s experimental voice conversation, explicitly started; a text chat is the dock’s.
    • const AiAssistantDialog.voiceAction({super.key, required AssistantVoiceRequest request, required AssistantPreferences preferences}) — Captures a catalog action’s inert voice request: only [request]’s providers are offered, and Start opens it through the voice service’s catalog road.
  • class AssistantChatController — One text chat’s state for its session’s lifetime: the unsent text and the session’s start (§6.11a).
    • AssistantChatController(this.session, {required ImportRead read, required void Function(String? sentence) onLeave, void Function(Map<String, Object… — Takes ownership of [session]; [onLeave] is told when the chat leaves on its own — applied, discarded, gone — with the sentence to show, and [read] reads the app’s state for the review.
    • final AssistantSession session — The conversation, released with this chat.
    • final input — The unsent text.
    • bool get waiting — Whether a proposal waits for the person’s Apply or Discard.
    • bool get applying — Whether an Apply runs: its writes cannot be stopped, so nothing may end the chat before it answers.
    • Future<void>? get running — The Apply under way, if any, which completes once its answer is shown.
    • String? get applyProblem — The last Apply’s failure as shown under the review, if any.
    • bool get partial — Whether an Apply wrote part of the proposal.
    • Future<bool> confirmDiscard(BuildContext context) — Asks the person whether the waiting proposal may be let go: true for Discard.
    • void dropProposal() — Lets the waiting proposal go unwritten, without leaving; the owner says so and ends the chat.
    • static const quietAction — The action id that only answers a question, the stock assistant’s Ask: an action of this id, whichever assistant’s, opens ready, its first turn the person’s (§6.11a).
    • void start() — Starts the conversation once, on its installation in the dock; [quietAction] sends no turn until the person’s question, since a start with no words answers nothing and is charged, and a session that [AssistantSession.…
  • class AssistantChat — A chat’s body: the messages and the composer, its dictation and its one button; a change is written by the assistant’s commands, never proposed here (§6.11a).
    • const AssistantChat({super.key, required this.chat, required this.onClose, this.onAddKey}) — Draws [chat]; [onClose] is the owner’s way out.
    • final AssistantChatController chat — The chat shown, owned by the caller.
    • final VoidCallback onClose — Leaves the chat: its X.
    • final void Function(String provider)? onAddKey — Opens the key card of a provider tag, as the dock’s own Add key does; none, and a not-sent line offers no way.
  • class AssistantDockController — The chats the person opened in the dock and which one is shown (§6.11a).
    • AssistantDockController({ required ImportRead read, required Future<bool> Function(AssistantChatController chat) ask, required void Function(String… — [read] reads the app’s state, [ask] asks the person whether a chat’s waiting proposal may go, and [say] shows a transient sentence.
    • AssistantRequest? get pending — The open asked last that has not answered, or none.
    • AssistantChatController? get chat — The chat shown, or none.
    • String? get problem — Why the last open was refused, a safe code shown in the dock, until another choice.
    • bool isChosen(String tag, AssistantOffer offer) — Whether [offer] of [tag] is the one chosen — the open asked last, else the chat shown: action ids are unique within a catalog only.
    • Future<void> choose(AssistantOffer offer, {required String tag}) — Opens [offer] of [tag]’s chat beside the chats held, where it is enabled, else refuses it.
    • Future<void> switchAssistant(String tag) — Saves [tag] as the assistant: the chats held stay, each with the assistant it opened with.
    • void select(String? id, {required String cause}) — Shows the chat [id] — none where null, or where it is not held — for [cause]: switcher or row (§6.11a).
    • void pageChosen(Selection? page) — Shows the chat of the record [page] opens, where it is a chat’s record and not the chat shown already: its chat where it is held here, else none — an archived record has no chat to continue (§6.11a, §8.2).
    • Future<void> close() — Ends the chat shown on the person’s X at the conversation’s upper right, asking first where a proposal waits; the press is noted with its cause, the end by its own session.ended.
  • class AssistantDock — The assistant beside [child]: who it is, where the person is and what it offers there (§6.11a), at the window’s right (§9.1).
    • const AssistantDock({super.key, required this.child, this.pageMin = Breakpoints.pageMin, this.covered = false}) — Places the dock beside [child], which keeps [pageMin] of width beside the docked panel; [covered] hides the floating portrait while something else stands over the page.
    • final Widget child — The page beside the dock: the rail and the page, in the window’s frame.
    • final double pageMin — The width [child] keeps beside the docked panel, which gives way to it down to its minimum.
    • final bool covered — Whether another slide-out stands over the page, under which the portrait does not float.
    • static const double minWidth — The docked panel’s narrowest, which the page’s floor never takes from it.
    • static const double maxShare — The docked panel’s widest, as a share of the window’s width: the page keeps the rest.
  • class AssistantTextModelPicker — Chooses a model override for future calls, or lets the assistant decide.
    • const AssistantTextModelPicker({super.key}) — Creates an inert inventory view that never checks keys or sends a model request.

Files under lib/ the barrel does not reach; nothing outside the package may import them.

  • lib/src/assistant_problem_text.dart: changeNoticeText, isAssistantCreditProblem, assistantProblemText