arcane-os 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +8 -8
- package/browser-runtime/ARCANE_SDK_BROWSER_RELEASE.json +29 -22
- package/browser-runtime/ai/ARCANE_AI_BROWSER_SPEECH_COMPONENTS.json +203 -0
- package/browser-runtime/ai/browser-kokoro-worker.mjs +11 -2
- package/browser-runtime/ai/browser-speech-artifacts.mjs +3230 -397
- package/browser-runtime/ai/browser-speech-providers.mjs +1141 -157
- package/browser-runtime/ai/browser-speech.mjs +2 -0
- package/browser-runtime/ai/browser-whisper-worker.mjs +11 -2
- package/browser-runtime/ai/model-controller.mjs +285 -95
- package/browser-runtime/ai/speech-worker-client.mjs +247 -32
- package/browser-runtime/ai/speech-worker-runtime.mjs +2310 -167
- package/browser-runtime/event-manager.mjs +1097 -1
- package/docs/architecture.md +2 -2
- package/docs/event-manager.md +155 -27
- package/docs/reference/README.md +20 -20
- package/docs/reference/ai/browser-speech-package-authority.json +835 -0
- package/docs/reference/ai/browser-speech.md +1162 -246
- package/docs/reference/ai/browser-wasm.md +18 -7
- package/docs/reference/availability-and-normalization.md +2 -2
- package/docs/reference/behavioral-testing.md +28 -5
- package/docs/reference/cli.md +115 -7
- package/docs/reference/core/arcane-ai-contracts.md +1 -1
- package/docs/reference/event-manager.md +577 -32
- package/docs/reference/inventory/package-api.json +478 -2
- package/docs/reference/inventory/runtime-components.json +86 -37
- package/docs/reference/inventory/runtime-modules.json +126 -49
- package/docs/reference/mail.md +316 -0
- package/docs/reference/protocols.md +143 -33
- package/docs/reference/runtime-components.md +192 -80
- package/docs/reference/runtime-modules.md +584 -70
- package/docs/reference/sdk-api.md +1014 -25
- package/package.json +5 -4
- package/runtime/ARCANE_RUNTIME_RELEASE.json +145 -140
- package/runtime/arcane/components/app-bar.html +34 -13
- package/runtime/arcane/components/assistant-panel.html +110 -57
- package/runtime/arcane/components/calculator.html +7 -4
- package/runtime/arcane/components/chart.html +58 -17
- package/runtime/arcane/components/chat.html +606 -136
- package/runtime/arcane/components/conversation-view.html +13 -6
- package/runtime/arcane/components/dashboard-config.html +96 -59
- package/runtime/arcane/components/data-maintenance.html +69 -14
- package/runtime/arcane/components/data-view.html +53 -7
- package/runtime/arcane/components/directory-picker.html +118 -32
- package/runtime/arcane/components/document-inspector.html +47 -10
- package/runtime/arcane/components/file-drop.html +81 -35
- package/runtime/arcane/components/file-inspector.html +72 -22
- package/runtime/arcane/components/file-manager.html +374 -79
- package/runtime/arcane/components/integration-settings.html +12 -5
- package/runtime/arcane/components/local-ai-status.html +48 -19
- package/runtime/arcane/components/markdown-document.html +161 -68
- package/runtime/arcane/components/markdown-editor.html +110 -33
- package/runtime/arcane/components/media-embed.html +8 -5
- package/runtime/arcane/components/modal.html +15 -5
- package/runtime/arcane/components/output-panel.html +28 -23
- package/runtime/arcane/components/preferences-form.html +22 -4
- package/runtime/arcane/components/record-timeline.html +18 -2
- package/runtime/arcane/components/relationship-board.html +23 -3
- package/runtime/arcane/components/screen-capture.html +10 -4
- package/runtime/arcane/components/source-code-viewer.html +76 -9
- package/runtime/arcane/components/source-explanation.html +23 -3
- package/runtime/arcane/components/speech.html +453 -131
- package/runtime/arcane/components/summary-strip.html +22 -11
- package/runtime/arcane/components/table.html +39 -21
- package/runtime/arcane/components/task-progress.html +79 -21
- package/runtime/arcane/components/terminal-workspace.html +7 -4
- package/runtime/arcane/components/theme-editor.html +7 -3
- package/runtime/arcane/components/unified-inbox.html +9 -4
- package/runtime/arcane/components/voice-transcription.html +244 -72
- package/runtime/arcane/components/weather-widget.html +5 -3
- package/runtime/arcane/components/web-navigator.html +48 -8
- package/runtime/arcane/entities/Chat.js +1 -1
- package/runtime/arcane/entities/User.js +110 -23
- package/runtime/arcane/modules/AI.js +2109 -130
- package/runtime/arcane/modules/AIProviderRuntime.js +720 -13
- package/runtime/arcane/modules/AIRuntimeState.js +109 -52
- package/runtime/arcane/modules/ApiModelDatabase.js +390 -17
- package/runtime/arcane/modules/BrowserTestSuite.js +205 -28
- package/runtime/arcane/modules/CalculatorEngine.js +63 -3
- package/runtime/arcane/modules/CommunicationAppController.js +588 -28
- package/runtime/arcane/modules/CommunicationHub.js +590 -10
- package/runtime/arcane/modules/ComponentContracts.js +235 -37
- package/runtime/arcane/modules/ConversationTimebox.js +152 -33
- package/runtime/arcane/modules/DBLS.js +40 -7
- package/runtime/arcane/modules/DBOPFS.js +35 -11
- package/runtime/arcane/modules/DataMaintenance.js +12 -2
- package/runtime/arcane/modules/Errors.js +65 -7
- package/runtime/arcane/modules/HTMLImport.js +198 -14
- package/runtime/arcane/modules/LocalAIReadinessController.js +208 -29
- package/runtime/arcane/modules/Mail.js +738 -115
- package/runtime/arcane/modules/MailOutbox.mjs +1395 -0
- package/runtime/arcane/modules/MailTransport.mjs +197 -39
- package/runtime/arcane/modules/Ollama.js +36 -1
- package/runtime/arcane/modules/OpenMeteoWeatherProvider.js +583 -7
- package/runtime/arcane/modules/PreferenceStore.js +367 -33
- package/runtime/arcane/modules/RecordReviewStore.js +322 -23
- package/runtime/arcane/modules/ScreenCapture.js +1397 -15
- package/runtime/arcane/modules/SpeechPlayback.js +438 -41
- package/runtime/arcane/modules/TerminalClient.js +277 -12
- package/runtime/arcane/modules/ThemeBootstrap.js +80 -6
- package/runtime/arcane/modules/ThemeManager.js +39 -7
- package/runtime/arcane/modules/TimeGuard.js +131 -20
- package/runtime/arcane/modules/WaitForComponent.js +386 -33
- package/schemas/arcane-lock.schema.json +2 -2
- package/src/cli/main.mjs +435 -9
- package/src/event-manager.mjs +1097 -1
- package/src/import-map.mjs +21 -3
- package/src/index.mjs +13 -0
- package/src/installed-sdk-runtime.mjs +112 -0
- package/src/mail-api.mjs +22 -0
- package/src/mail-credentials.mjs +667 -0
- package/src/mail-server.mjs +1769 -0
- package/src/mail.mjs +261 -0
- package/src/sdk-browser-runtime.mjs +85 -41
- package/src/testing-loader.mjs +7 -0
- package/src/toolchain.mjs +3 -0
- package/src/workspace.mjs +1 -1
|
@@ -21,49 +21,82 @@ A component file does not register its own custom element. The `<html-import>` h
|
|
|
21
21
|
</script>
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
## Shared semantic-event and lifecycle contract
|
|
25
|
+
|
|
26
|
+
Except for the legacy `header.html` and platform-owned `theme-switcher.html`,
|
|
27
|
+
each component owns exactly one source created through
|
|
28
|
+
`createArcaneEventSource(host,{source:'arcane.component.<name>',eventTypes})`.
|
|
29
|
+
That source publishes synchronously to the realm's branded
|
|
30
|
+
`globalThis.arcaneEvents` authority. Component DOM events are one-way
|
|
31
|
+
compatibility projections of the same canonical occurrence; they are never
|
|
32
|
+
republished into the authority. Every projected detail has the canonical
|
|
33
|
+
`occurrenceId`, `arcaneSource`, `instanceId`, and `operationId` fields and a
|
|
34
|
+
frozen outer record. A compatibility payload's existing `source` field remains
|
|
35
|
+
source-local and may differ from `arcaneSource`; the payload may additionally
|
|
36
|
+
retain source-local browser or provider objects.
|
|
37
|
+
|
|
38
|
+
When a component uses a cancelable event as an admission gate, cancellation on
|
|
39
|
+
either the canonical occurrence or its DOM projection makes the publication
|
|
40
|
+
unaccepted, and the component does not continue the guarded operation. A
|
|
41
|
+
cancelable compatibility notification emitted after committed work does not
|
|
42
|
+
roll that work back unless its component section explicitly says otherwise.
|
|
43
|
+
Asynchronous work keeps its own `AbortSignal`, operation generation, and
|
|
44
|
+
promise ownership; canonical publication is synchronous and does not become an
|
|
45
|
+
async queue.
|
|
46
|
+
|
|
47
|
+
Every singleton-backed component publishes its ready event only after its host
|
|
48
|
+
members are installed. Its idempotent `destroy()` (unless a more specific
|
|
49
|
+
return is documented) disposes the canonical source and marks the host
|
|
50
|
+
unready. Cleanup of owned listeners, pending work, nested subscriptions, and
|
|
51
|
+
controllers is component-specific and is stated below where it forms part of
|
|
52
|
+
that component's public contract. Removing an `<html-import>` host calls an
|
|
53
|
+
imported component's `destroy()` through `HTMLImport`; callers that invoke
|
|
54
|
+
`destroy()` directly retain responsibility for removing the element when
|
|
55
|
+
appropriate.
|
|
56
|
+
|
|
24
57
|
## Canonical inventory
|
|
25
58
|
|
|
26
59
|
| Component | Capability | Principal methods | Events | Normalization |
|
|
27
60
|
| --- | --- | --- | --- | --- |
|
|
28
|
-
| [`app-bar.html`](#app-barhtml) | Responsive application navigation, route state, status, and trailing actions. | `setNavigation()`<br>`setActiveRoute()`<br>`setStatus()`<br>`refresh()` | `app-bar-ready` | DOM-normalized |
|
|
29
|
-
| [`assistant-panel.html`](#assistant-panelhtml) | Reusable assistant drawer, message area, composer, pending/streaming/empty/error state, and actions. | `open()`<br>`close()`<br>`toggle()`<br>`send()`<br>`clear()`<br>`setState()`<br>`focusComposer()`<br>`scrollToEnd()` | `assistant-ready`<br>`assistant-send`<br>`assistant-clear` | DOM-normalized; caller/provider results remain external |
|
|
30
|
-
| [`calculator.html`](#calculatorhtml) | Calculator keypad and result/error event surface backed by CalculatorEngine. | `calculate()` | `calculator-ready`<br>`calculation-complete`<br>`calculation-error` | Normalized Calculation/error events |
|
|
61
|
+
| [`app-bar.html`](#app-barhtml) | Responsive application navigation, route state, status, and trailing actions. | `setNavigation()`<br>`setActiveRoute()`<br>`setStatus()`<br>`refresh()`<br>`destroy()` | `app-bar-ready` | DOM-normalized |
|
|
62
|
+
| [`assistant-panel.html`](#assistant-panelhtml) | Reusable assistant drawer, message area, composer, pending/streaming/empty/error state, and actions. | `open()`<br>`close()`<br>`toggle()`<br>`send()`<br>`clear()`<br>`setState()`<br>`focusComposer()`<br>`scrollToEnd()`<br>`destroy()` | `assistant-ready`<br>`assistant-opened`<br>`assistant-closed`<br>`assistant-send`<br>`assistant-clear` | DOM-normalized; caller/provider results remain external |
|
|
63
|
+
| [`calculator.html`](#calculatorhtml) | Calculator keypad and result/error event surface backed by CalculatorEngine. | `calculate()`<br>`destroy()` | `calculator-ready`<br>`calculation-complete`<br>`calculation-error` | Normalized Calculation/error events |
|
|
31
64
|
| [`chart.html`](#charthtml) | Accessible uPlot line, area, or point chart with normalized options and rows. | `configure()`<br>`populate()`<br>`setData()`<br>`addData()`<br>`update()`<br>`destroy()` | `chart-ready`<br>`chart-remove` | Options/rows normalized; uPlot rendering is vendor-native |
|
|
32
|
-
| [`chat.html`](#chathtml) | Shared chat, visible selected-model activation request, file upload, streaming, speech, language, availability, and conversation-timebox surface. | `streamMessage()`<br>`setMessageProgress()`<br>`setAIAvailability()`<br>`setInitialSpeechMuted()`<br>`setConversationComplete()`<br>`bindConversationTimebox()`<br>`submitMessage()`<br>`sendMessage()`<br>`languageChanged()`<br>`requestAIActivation()`<br>`destroy()` | `chat-ready`<br>`chat-send-message`<br>`chat-send-error`<br>`chat-file-uploaded`<br>`chat-language-changed`<br>`chat-ai-activation-request`<br>`chat-ai-activation-error`<br>`conversation-timebox-error` | UI/runtime state and explicit user activation intent normalized; AI/storage/media behavior mixed |
|
|
33
|
-
| [`conversation-view.html`](#conversation-viewhtml) | Provider-neutral conversation display, advisory actions, composer, busy state, and status. | `setConversation()`<br>`setBusy()`<br>`setStatus()`<br>`clearComposer()` | `conversation-view-ready`<br>`communication-send`<br>`communication-advisory-action` | DOM-normalized |
|
|
34
|
-
| [`dashboard-config.html`](#dashboard-confightml) | Selects which normalized chart definitions are visible on a dashboard. | `configure()`<br>`setDefinitions()`<br>`setVisibility()`<br>`getChartOptions()`<br>`getEffectiveVisibility()`<br>`open()`<br>`close()` | `dashboard-config-ready`<br>`dashboard-config-opened`<br>`dashboard-config-closed`<br>`dashboard-config-change` | Fully normalized definitions and visibility |
|
|
35
|
-
| [`data-maintenance.html`](#data-maintenancehtml) | Runs destructive cleanup of empty chats and memories inside the current app data scope. | `open()` | `data-maintenance-ready`<br>`data-maintenance-complete` | Normalized counts; DBOPFS failures mixed |
|
|
36
|
-
| [`data-view.html`](#data-viewhtml) | Opens a generic modal-style data view around an injected provider. | `beforeOpen()`<br>`open()` | `data-view-ready` | DOM-native result |
|
|
37
|
-
| [`directory-picker.html`](#directory-pickerhtml) | Presents the provider-owned OS directory chooser with change/cancel/error states. | `configure()`<br>`focus()`<br>`select()` | `directory-picker-ready`<br>`directory-picker-change`<br>`directory-picker-cancel`<br>`directory-picker-error` | Strict normalized native selection/error |
|
|
38
|
-
| [`document-inspector.html`](#document-inspectorhtml) | Inspects PDF, text, or source documents and records review state. | `loadDocument()`<br>`selectView()`<br>`markSaved()` | `document-inspector-ready`<br>`document-review-change` | Document state normalized; browser document APIs mixed |
|
|
39
|
-
| [`file-drop.html`](#file-drophtml) | Acquires files by drag/drop or picker and presents busy, progress, error, and cleared state. | `configure()`<br>`openPicker()`<br>`clear()`<br>`setBusy()`<br>`setError()`<br>`setProgress()` | `file-drop-ready`<br>`file-drop-selected`<br>`file-drop-progress`<br>`file-drop-state`<br>`file-drop-error` | State normalized; browser File/drop errors mixed |
|
|
40
|
-
| [`file-inspector.html`](#file-inspectorhtml) | Displays file metadata, preview, busy/error state, and caller-defined actions. | `configure()`<br>`show()`<br>`clear()`<br>`setActions()`<br>`setBusy()`<br>`setError()`<br>`setPreview()` | `file-inspector-ready`<br>`file-inspector-action`<br>`file-inspector-change`<br>`file-inspector-cleared`<br>`file-inspector-error` | State normalized; preview/provider behavior mixed |
|
|
41
|
-
| [`file-manager.html`](#file-managerhtml) | Browses, filters, selects, opens, and acts on app-scoped files. | `setProvider()`<br>`loadAll()`<br>`setFilter()`<br>`select()`<br>`clearSelection()` | `file-manager-ready`<br>`file-manager-select`<br>`file-manager-open`<br>`file-manager-action` | Selection/filter state normalized; storage/provider behavior mixed |
|
|
65
|
+
| [`chat.html`](#chathtml) | Shared chat, visible selected-model activation request, file upload, streaming, speech, language, availability, and conversation-timebox surface. | `streamMessage()`<br>`setMessageProgress()`<br>`setAIAvailability()`<br>`setInitialSpeechMuted()`<br>`setConversationComplete()`<br>`bindConversationTimebox()`<br>`submitMessage()`<br>`sendMessage()`<br>`languageChanged()`<br>`requestAIActivation()`<br>`destroy()` | `chat-ready`<br>`chat-send-message`<br>`chat-send-error`<br>`chat-file-uploaded`<br>`chat-file-upload-error`<br>`chat-language-changed`<br>`chat-language-change-error`<br>`chat-ai-activation-request`<br>`chat-ai-activation-error`<br>`chat-speech-synthesis-error`<br>`conversation-timebox-error` | UI/runtime state and explicit user activation intent normalized; AI/storage/media behavior mixed |
|
|
66
|
+
| [`conversation-view.html`](#conversation-viewhtml) | Provider-neutral conversation display, advisory actions, composer, busy state, and status. | `setConversation()`<br>`setBusy()`<br>`setStatus()`<br>`clearComposer()`<br>`destroy()` | `conversation-view-ready`<br>`communication-send`<br>`communication-advisory-action` | DOM-normalized |
|
|
67
|
+
| [`dashboard-config.html`](#dashboard-confightml) | Selects which normalized chart definitions are visible on a dashboard. | `configure()`<br>`setDefinitions()`<br>`setVisibility()`<br>`getChartOptions()`<br>`getEffectiveVisibility()`<br>`open()`<br>`close()`<br>`destroy()` | `dashboard-config-ready`<br>`dashboard-config-opened`<br>`dashboard-config-closed`<br>`dashboard-config-change` | Fully normalized definitions and visibility |
|
|
68
|
+
| [`data-maintenance.html`](#data-maintenancehtml) | Runs destructive cleanup of empty chats and memories inside the current app data scope. | `open()`<br>`destroy()` | `data-maintenance-ready`<br>`data-maintenance-complete` | Normalized counts; DBOPFS failures mixed |
|
|
69
|
+
| [`data-view.html`](#data-viewhtml) | Opens a generic modal-style data view around an injected provider. | `beforeOpen()`<br>`open()`<br>`destroy()` | `data-view-ready` | DOM-native result |
|
|
70
|
+
| [`directory-picker.html`](#directory-pickerhtml) | Presents the provider-owned OS directory chooser with change/cancel/error states. | `configure()`<br>`focus()`<br>`select()`<br>`destroy()` | `directory-picker-ready`<br>`directory-picker-change`<br>`directory-picker-cancel`<br>`directory-picker-error` | Strict normalized native selection/error |
|
|
71
|
+
| [`document-inspector.html`](#document-inspectorhtml) | Inspects PDF, text, or source documents and records review state. | `loadDocument()`<br>`selectView()`<br>`markSaved()`<br>`destroy()` | `document-inspector-ready`<br>`document-review-change` | Document state normalized; browser document APIs mixed |
|
|
72
|
+
| [`file-drop.html`](#file-drophtml) | Acquires files by drag/drop or picker and presents busy, progress, error, and cleared state. | `configure()`<br>`openPicker()`<br>`clear()`<br>`setBusy()`<br>`setError()`<br>`setProgress()`<br>`destroy()` | `file-drop-ready`<br>`file-drop-selected`<br>`file-drop-progress`<br>`file-drop-state`<br>`file-drop-error` | State normalized; browser File/drop errors mixed |
|
|
73
|
+
| [`file-inspector.html`](#file-inspectorhtml) | Displays file metadata, preview, busy/error state, and caller-defined actions. | `configure()`<br>`show()`<br>`clear()`<br>`setActions()`<br>`setBusy()`<br>`setError()`<br>`setPreview()`<br>`destroy()` | `file-inspector-ready`<br>`file-inspector-action`<br>`file-inspector-change`<br>`file-inspector-cleared`<br>`file-inspector-error` | State normalized; preview/provider behavior mixed |
|
|
74
|
+
| [`file-manager.html`](#file-managerhtml) | Browses, filters, selects, opens, and acts on app-scoped files. | `setProvider()`<br>`loadAll()`<br>`setFilter()`<br>`select()`<br>`clearSelection()`<br>`destroy()` | `file-manager-ready`<br>`file-manager-select`<br>`file-manager-open`<br>`file-manager-action` | Selection/filter state normalized; storage/provider behavior mixed |
|
|
42
75
|
| [`header.html`](#headerhtml) | Legacy title bar with history, reload, online marker, presentation labels, and 988 link. | None | No component-specific event | Browser/platform-native behavior; no component-ready contract |
|
|
43
|
-
| [`integration-settings.html`](#integration-settingshtml) | Edits non-secret communication service configuration and service actions. | `configure()`<br>`getValues()`<br>`setStatus()` | `integration-settings-ready`<br>`integration-settings-save`<br>`integration-settings-close`<br>`integration-action` | Normalized non-secret values |
|
|
44
|
-
| [`local-ai-status.html`](#local-ai-statushtml) | Presents local-AI standby, failure, recovery, guidance, retry, and dismissal states. | `configure()`<br>`begin()`<br>`present()
|
|
45
|
-
| [`markdown-document.html`](#markdown-documenthtml) | Safely renders and navigates a Markdown document with focusable fragments. | `configure()`<br>`load()`<br>`render()`<br>`clear()`<br>`fail()`<br>`focus()`<br>`focusFragment()` | `markdown-document-ready`<br>`markdown-document-state`<br>`markdown-document-navigate` | State/sanitized output normalized; Marked/DOM failures mixed |
|
|
46
|
-
| [`markdown-editor.html`](#markdown-editorhtml) | Configurable Markdown authoring, toolbar, preview, title, and save surface. | `configure()`<br>`focus()`<br>`clear()`<br>`saveEntry()` | `markdown-editor-ready`<br>`markdown-editor-change`<br>`markdown-editor-saved` | Editor values normalized; injected save result mixed |
|
|
47
|
-
| [`media-embed.html`](#media-embedhtml) | Loads a validated YouTube video or playlist embed and exposes external-platform action. | `configure()`<br>`load()` | `media-embed-ready`<br>`media-load`<br>`media-error`<br>`media-open-platform` | URL/error normalized; iframe/platform behavior native |
|
|
48
|
-
| [`modal.html`](#modalhtml) | Generic modal with population, open/close, actions, and sequential task execution. | `populate()`<br>`open()`<br>`close()`<br>`runTasks()` | `modal-ready`<br>`modal-opened`<br>`modal-closed`<br>`modal-action` | Modal state normalized; injected task results mixed |
|
|
49
|
-
| [`output-panel.html`](#output-panelhtml) | Presents status, output, body, coverage, actions, pending, error, and cleared states. | `configure()`<br>`setOutput()`<br>`setBody()`<br>`setCoverage()`<br>`setActions()`<br>`setPending()`<br>`setStatus()`<br>`setError()`<br>`clear()` | `output-panel-ready`<br>`output-panel-state`<br>`output-panel-change`<br>`output-panel-action`<br>`output-panel-error`<br>`output-panel-cleared` | DOM-normalized |
|
|
50
|
-
| [`preferences-form.html`](#preferences-formhtml) | Builds a schema-driven preferences form with submit, reset, busy, and status behavior. | `configure()`<br>`getValues()`<br>`setValues()`<br>`setBusy()`<br>`setStatus()` | `preferences-form-ready`<br>`preferences-change`<br>`preferences-submit`<br>`preferences-reset` | Normalized form values |
|
|
51
|
-
| [`record-timeline.html`](#record-timelinehtml) | Displays chronological records/evidence and emits open actions. | `setItems()`<br>`populate()` | `record-timeline-ready`<br>`record-timeline-open` | DOM-normalized |
|
|
52
|
-
| [`relationship-board.html`](#relationship-boardhtml) | Displays normalized relationship nodes/edges in graph and list forms. | `setGraph()`<br>`populate()` | `relationship-board-ready`<br>`relationship-node-open`<br>`relationship-edge-open` | DOM-normalized |
|
|
53
|
-
| [`screen-capture.html`](#screen-capturehtml) | Presents image, video, or GIF display-capture workflow. | `capture()` | `screen-capture-ready`<br>`screen-capture-result` | State/result normalized; media permission/codec failures mixed |
|
|
54
|
-
| [`source-code-viewer.html`](#source-code-viewerhtml) | Renders line-addressable source code with load, error, focus, and state behavior. | `configure()`<br>`load()`<br>`render()`<br>`clear()`<br>`fail()`<br>`focus()`<br>`focusLine()` | `source-code-viewer-ready`<br>`source-code-viewer-state` | Normalized source/state |
|
|
55
|
-
| [`source-explanation.html`](#source-explanationhtml) | Presents an evidence finding, source selection, explanation, and save state. | `showFinding()`<br>`populate()`<br>`selectSource()`<br>`markSaved()` | `source-explanation-ready`<br>`source-explanation-save`<br>`source-explanation-source-selected` | DOM-normalized |
|
|
56
|
-
| [`speech.html`](#speechhtml) | Coordinates explicit STT activation, speech controls, transcription completion, mute state, and microphone availability. | `configure()`<br>`setAvailability()`<br>`setMuted()`<br>`requestSTTActivation()`<br>`destroy()`<br>`availability`<br>`muted`<br>`initialMuted`<br>`componentReady` | `speech-ready`<br>`speech-transcription-complete`<br>`speech-transcription-error`<br>`speech-transcription-cancelled`<br>`speech-microphone-unavailable`<br>`speech-stt-activation-request`<br>`speech-stt-activation-error`<br>`speech-tts-lifecycle-error` | Sticky runtime speech readiness, explicit STT activation, request cancellation, and TTS mute lifecycle intent normalized; provider/model authority and media behavior remain external |
|
|
57
|
-
| [`summary-strip.html`](#summary-striphtml) | Displays compact selectable KPI or summary items. | `configure()`<br>`setItems()`<br>`updateItem()`<br>`clear()` | `summary-strip-ready`<br>`summary-strip-change`<br>`summary-strip-select` | DOM-normalized |
|
|
58
|
-
| [`table.html`](#tablehtml) | Builds and updates a simple header/body table. | `buildHeader()`<br>`buildTable()` | `table-ready`<br>`header-update`<br>`body-update` | DOM-normalized |
|
|
59
|
-
| [`task-progress.html`](#task-progresshtml) | Runs and displays a task list with started/change/complete/error state. | `configure()`<br>`setTasks()`<br>`updateTask()`<br>`runTasks()`<br>`clear()` | `task-progress-ready`<br>`task-progress-started`<br>`task-progress-change`<br>`task-progress-complete`<br>`task-progress-error` | Task state normalized; injected task results mixed |
|
|
60
|
-
| [`terminal-workspace.html`](#terminal-workspacehtml) | Presents multiple terminal sessions, output, active selection, theme, and terminal actions. | `configure()`<br>`addSession()`<br>`removeSession()`<br>`activateSession()`<br>`append()`<br>`clear()`<br>`setState()`<br>`setTheme()`<br>`focus()` | `terminal-workspace-ready`<br>`terminal-submit`<br>`terminal-interrupt`<br>`terminal-clear`<br>`terminal-session-new`<br>`terminal-session-close`<br>`terminal-session-select`<br>`terminal-settings` | UI/session state normalized; native command results supplied externally |
|
|
61
|
-
| [`theme-editor.html`](#theme-editorhtml) | Edits, previews, saves, and resets semantic custom theme tokens. | `configure()`<br>`getTheme()`<br>`setTheme()`<br>`setBusy()`<br>`setStatus()` | `theme-editor-ready`<br>`theme-preview`<br>`theme-save`<br>`theme-reset` | Fully normalized Theme values |
|
|
76
|
+
| [`integration-settings.html`](#integration-settingshtml) | Edits non-secret communication service configuration and service actions. | `configure()`<br>`getValues()`<br>`setStatus()`<br>`destroy()` | `integration-settings-ready`<br>`integration-settings-save`<br>`integration-settings-close`<br>`integration-action` | Normalized non-secret values |
|
|
77
|
+
| [`local-ai-status.html`](#local-ai-statushtml) | Presents local-AI standby, failure, recovery, guidance, retry, and dismissal states. | `configure()`<br>`begin()`<br>`present()`<br>`destroy()`<br>`hidden` | `local-ai-status-ready`<br>`local-ai-status-dismissed`<br>`local-ai-retry` | Fully normalized LocalAIReadiness report |
|
|
78
|
+
| [`markdown-document.html`](#markdown-documenthtml) | Safely renders and navigates a Markdown document with focusable fragments. | `configure()`<br>`load()`<br>`render()`<br>`clear()`<br>`fail()`<br>`focus()`<br>`focusFragment()`<br>`destroy()` | `markdown-document-ready`<br>`markdown-document-state`<br>`markdown-document-loading`<br>`markdown-document-rendered`<br>`markdown-document-empty`<br>`markdown-document-error`<br>`markdown-document-navigate` | State/sanitized output normalized; Marked/DOM failures mixed |
|
|
79
|
+
| [`markdown-editor.html`](#markdown-editorhtml) | Configurable Markdown authoring, toolbar, preview, title, and save surface. | `configure()`<br>`focus()`<br>`clear()`<br>`saveEntry()`<br>`destroy()` | `markdown-editor-ready`<br>`markdown-editor-change`<br>`markdown-editor-saved` | Editor values normalized; injected save result mixed |
|
|
80
|
+
| [`media-embed.html`](#media-embedhtml) | Loads a validated YouTube video or playlist embed and exposes external-platform action. | `configure()`<br>`load()`<br>`destroy()` | `media-embed-ready`<br>`media-load`<br>`media-error`<br>`media-open-platform` | URL/error normalized; iframe/platform behavior native |
|
|
81
|
+
| [`modal.html`](#modalhtml) | Generic modal with population, open/close, actions, and sequential task execution. | `populate()`<br>`open()`<br>`close()`<br>`runTasks()`<br>`destroy()` | `modal-ready`<br>`modal-opened`<br>`modal-closed`<br>`modal-action` | Modal state normalized; injected task results mixed |
|
|
82
|
+
| [`output-panel.html`](#output-panelhtml) | Presents status, output, body, coverage, actions, pending, error, and cleared states. | `configure()`<br>`setOutput()`<br>`setBody()`<br>`setCoverage()`<br>`setActions()`<br>`setPending()`<br>`setStatus()`<br>`setError()`<br>`clear()`<br>`destroy()` | `output-panel-ready`<br>`output-panel-state`<br>`output-panel-change`<br>`output-panel-action`<br>`output-panel-error`<br>`output-panel-cleared` | DOM-normalized |
|
|
83
|
+
| [`preferences-form.html`](#preferences-formhtml) | Builds a schema-driven preferences form with submit, reset, busy, and status behavior. | `configure()`<br>`getValues()`<br>`setValues()`<br>`setBusy()`<br>`setStatus()`<br>`destroy()` | `preferences-form-ready`<br>`preferences-change`<br>`preferences-submit`<br>`preferences-reset` | Normalized form values |
|
|
84
|
+
| [`record-timeline.html`](#record-timelinehtml) | Displays chronological records/evidence and emits open actions. | `setItems()`<br>`populate()`<br>`destroy()` | `record-timeline-ready`<br>`record-timeline-open` | DOM-normalized |
|
|
85
|
+
| [`relationship-board.html`](#relationship-boardhtml) | Displays normalized relationship nodes/edges in graph and list forms. | `setGraph()`<br>`populate()`<br>`destroy()` | `relationship-board-ready`<br>`relationship-node-open`<br>`relationship-edge-open` | DOM-normalized |
|
|
86
|
+
| [`screen-capture.html`](#screen-capturehtml) | Presents image, video, or GIF display-capture workflow. | `capture` (`ScreenCapture` instance)<br>`destroy()` | `screen-capture-ready`<br>`screen-capture-result` | State/result normalized; media permission/codec failures mixed |
|
|
87
|
+
| [`source-code-viewer.html`](#source-code-viewerhtml) | Renders line-addressable source code with load, error, focus, and state behavior. | `configure()`<br>`load()`<br>`render()`<br>`clear()`<br>`fail()`<br>`focus()`<br>`focusLine()`<br>`destroy()` | `source-code-viewer-ready`<br>`source-code-viewer-state`<br>`source-code-viewer-state-loading`<br>`source-code-viewer-state-ready`<br>`source-code-viewer-state-empty`<br>`source-code-viewer-state-error` | Normalized source/state |
|
|
88
|
+
| [`source-explanation.html`](#source-explanationhtml) | Presents an evidence finding, source selection, explanation, and save state. | `showFinding()`<br>`populate()`<br>`selectSource()`<br>`markSaved()`<br>`destroy()` | `source-explanation-ready`<br>`source-explanation-save`<br>`source-explanation-source-selected` | DOM-normalized |
|
|
89
|
+
| [`speech.html`](#speechhtml) | Coordinates explicit STT activation, speech controls, transcription completion, mute state, and microphone availability. | `configure()`<br>`setAvailability()`<br>`setMuted()`<br>`reportTTSError()`<br>`requestSTTActivation()`<br>`destroy()`<br>`availability`<br>`muted`<br>`initialMuted`<br>`componentReady` | `speech-ready`<br>`speech-transcription-complete`<br>`speech-transcription-error`<br>`speech-transcription-cancelled`<br>`speech-microphone-unavailable`<br>`speech-stt-activation-request`<br>`speech-stt-activation-error`<br>`speech-tts-lifecycle-error`<br>`speech-synthesis-error` | Sticky runtime speech readiness, explicit STT activation, request cancellation, and TTS mute lifecycle intent normalized; provider/model authority and media behavior remain external |
|
|
90
|
+
| [`summary-strip.html`](#summary-striphtml) | Displays compact selectable KPI or summary items. | `configure()`<br>`setItems()`<br>`updateItem()`<br>`clear()`<br>`destroy()` | `summary-strip-ready`<br>`summary-strip-change`<br>`summary-strip-select` | DOM-normalized |
|
|
91
|
+
| [`table.html`](#tablehtml) | Builds and updates a simple header/body table. | `buildHeader()`<br>`buildTable()`<br>`destroy()` | `table-ready`<br>`header-update`<br>`body-update` | DOM-normalized |
|
|
92
|
+
| [`task-progress.html`](#task-progresshtml) | Runs and displays a task list with started/change/complete/error state. | `configure()`<br>`setTasks()`<br>`updateTask()`<br>`runTasks()`<br>`clear()`<br>`destroy()` | `task-progress-ready`<br>`task-progress-started`<br>`task-progress-change`<br>`task-progress-complete`<br>`task-progress-error` | Task state normalized; injected task results mixed |
|
|
93
|
+
| [`terminal-workspace.html`](#terminal-workspacehtml) | Presents multiple terminal sessions, output, active selection, theme, and terminal actions. | `configure()`<br>`addSession()`<br>`removeSession()`<br>`activateSession()`<br>`append()`<br>`clear()`<br>`setState()`<br>`setTheme()`<br>`focus()`<br>`destroy()` | `terminal-workspace-ready`<br>`terminal-submit`<br>`terminal-interrupt`<br>`terminal-clear`<br>`terminal-session-new`<br>`terminal-session-close`<br>`terminal-session-select`<br>`terminal-settings` | UI/session state normalized; native command results supplied externally |
|
|
94
|
+
| [`theme-editor.html`](#theme-editorhtml) | Edits, previews, saves, and resets semantic custom theme tokens. | `configure()`<br>`getTheme()`<br>`setTheme()`<br>`setBusy()`<br>`setStatus()`<br>`destroy()` | `theme-editor-ready`<br>`theme-preview`<br>`theme-save`<br>`theme-reset` | Fully normalized Theme values |
|
|
62
95
|
| [`theme-switcher.html`](#theme-switcherhtml) | Selects and refreshes system, light, dark, or custom theme mode. | `setMode()`<br>`refresh()` | No component-specific event | Preference/native appearance behavior mixed; no component-ready contract |
|
|
63
|
-
| [`unified-inbox.html`](#unified-inboxhtml) | Displays provider-neutral communication threads with active/loading state. | `configure()`<br>`setThreads()`<br>`setActive()`<br>`setLoading()` | `unified-inbox-ready`<br>`inbox-refresh`<br>`thread-select` | DOM-normalized |
|
|
96
|
+
| [`unified-inbox.html`](#unified-inboxhtml) | Displays provider-neutral communication threads with active/loading state. | `configure()`<br>`setThreads()`<br>`setActive()`<br>`setLoading()`<br>`destroy()` | `unified-inbox-ready`<br>`inbox-refresh`<br>`thread-select` | DOM-normalized |
|
|
64
97
|
| [`voice-transcription.html`](#voice-transcriptionhtml) | Records segmented microphone audio only after authoritative STT admission, exposes explicit selected-STT activation, transcribes with cancellation, persists, and completes a combined transcript. | `configure()`<br>`requestSTTActivation()`<br>`startRecording()`<br>`stopRecording()`<br>`save()`<br>`completeTranscription()/complete()`<br>`clear()`<br>`reset()`<br>`destroy()` | `voice-transcription-ready`<br>`voice-transcription-state`<br>`voice-transcription-segment`<br>`voice-transcription-change`<br>`voice-transcription-complete`<br>`speech-transcription-complete`<br>`speech-transcription-cancelled`<br>`speech-stt-activation-request`<br>`speech-stt-activation-error` | Sticky runtime STT readiness, explicit activation, request cancellation, and state/text are normalized; media/provider behavior remains external |
|
|
65
|
-
| [`weather-widget.html`](#weather-widgethtml) | Displays normalized current and daily weather with refresh intent. | `setWeather()`<br>`clear()` | `weather-widget-ready`<br>`weather-refresh` | Display normalized; provider supplied externally |
|
|
66
|
-
| [`web-navigator.html`](#web-navigatorhtml) | Guards embedded/external navigation and surfaces allow/block/open intents. | `configure()`<br>`navigate()`<br>`currentUrl()` | `web-navigator-ready`<br>`web-navigate`<br>`web-navigation-blocked`<br>`web-open-external` | Navigation intent/decision normalized; browser navigation result platform-native |
|
|
98
|
+
| [`weather-widget.html`](#weather-widgethtml) | Displays normalized current and daily weather with refresh intent. | `setWeather()`<br>`clear()`<br>`destroy()` | `weather-widget-ready`<br>`weather-refresh` | Display normalized; provider supplied externally |
|
|
99
|
+
| [`web-navigator.html`](#web-navigatorhtml) | Guards embedded/external navigation and surfaces allow/block/open intents. | `configure()`<br>`navigate()`<br>`currentUrl()`<br>`destroy()` | `web-navigator-ready`<br>`web-navigate`<br>`web-navigation-blocked`<br>`web-open-external` | Navigation intent/decision normalized; browser navigation result platform-native |
|
|
67
100
|
|
|
68
101
|
## app-bar.html
|
|
69
102
|
|
|
@@ -73,7 +106,7 @@ Responsive application navigation, route state, status, and trailing actions.
|
|
|
73
106
|
|
|
74
107
|
### Public surface
|
|
75
108
|
|
|
76
|
-
Methods/properties: `setNavigation()`, `setActiveRoute()`, `setStatus()`, `refresh()`.
|
|
109
|
+
Methods/properties: `setNavigation()`, `setActiveRoute()`, `setStatus()`, `refresh()`, `destroy()`.
|
|
77
110
|
|
|
78
111
|
Events: `app-bar-ready`.
|
|
79
112
|
|
|
@@ -100,9 +133,10 @@ Reusable assistant drawer, message area, composer, pending/streaming/empty/error
|
|
|
100
133
|
|
|
101
134
|
### Public surface
|
|
102
135
|
|
|
103
|
-
Methods/properties: `open()`, `close()`, `toggle()`, `send()`, `clear()`, `setState()`, `focusComposer()`, `scrollToEnd()`.
|
|
136
|
+
Methods/properties: `open()`, `close()`, `toggle()`, `send()`, `clear()`, `setState()`, `focusComposer()`, `scrollToEnd()`, `destroy()`.
|
|
104
137
|
|
|
105
|
-
Events: `assistant-ready`, `assistant-
|
|
138
|
+
Events: `assistant-ready`, `assistant-opened`, `assistant-closed`,
|
|
139
|
+
`assistant-send`, `assistant-clear`.
|
|
106
140
|
|
|
107
141
|
Slots: `title`, `subtitle`, `identity`, `messages/message`, `composer`, `actions`, `pending`, `streaming`, `empty`, `error`, `footer`.
|
|
108
142
|
|
|
@@ -127,7 +161,7 @@ Calculator keypad and result/error event surface backed by CalculatorEngine.
|
|
|
127
161
|
|
|
128
162
|
### Public surface
|
|
129
163
|
|
|
130
|
-
Methods/properties: `calculate()`.
|
|
164
|
+
Methods/properties: `calculate()`, `destroy()`.
|
|
131
165
|
|
|
132
166
|
Events: `calculator-ready`, `calculation-complete`, `calculation-error`.
|
|
133
167
|
|
|
@@ -192,6 +226,17 @@ extension callbacks. The component installs warning-only defaults when the host
|
|
|
192
226
|
does not supply them; applications may instead consume the corresponding
|
|
193
227
|
`chat-send-message` and `chat-language-changed` events.
|
|
194
228
|
|
|
229
|
+
`submitMessage(textOverride='',context={})` returns `Promise<boolean>`.
|
|
230
|
+
`context` accepts `source`, `preserveDraft`, `synthetic`, an optional exact
|
|
231
|
+
`operationId`, and an optional caller-owned `AbortSignal`. The component owns a
|
|
232
|
+
derived signal for each submission, supplies it in the frozen compatibility
|
|
233
|
+
`{message,context}` detail, and aborts it on canonical/DOM cancellation,
|
|
234
|
+
component destruction, or caller cancellation. `chat-send-message` is
|
|
235
|
+
cancelable and is the gate before `sendMessage(text,context)`; a canceled event
|
|
236
|
+
never reaches the host callback. Rejected host promises are observed as
|
|
237
|
+
`chat-send-error`, and stale settlement after abort or destruction is
|
|
238
|
+
suppressed.
|
|
239
|
+
|
|
195
240
|
`setAIAvailability()` remains an LLM compatibility input, but selected sticky
|
|
196
241
|
`AIRuntimeState` LLM state wins over that boolean. STT and TTS readiness always
|
|
197
242
|
comes from sticky runtime role state; the method never forwards compatibility
|
|
@@ -218,10 +263,38 @@ speech controller's `destroy()`, sets `ready` to `false`, and returns
|
|
|
218
263
|
`undefined`. It does not initiate a provider load or unload.
|
|
219
264
|
|
|
220
265
|
Events: `chat-ready`, `chat-send-message`, `chat-send-error`,
|
|
221
|
-
`chat-file-uploaded`, `chat-language-changed`,
|
|
222
|
-
`chat-
|
|
266
|
+
`chat-file-uploaded`, `chat-file-upload-error`, `chat-language-changed`,
|
|
267
|
+
`chat-language-change-error`, `chat-ai-activation-request`,
|
|
268
|
+
`chat-ai-activation-error`, `chat-speech-synthesis-error`, and
|
|
223
269
|
`conversation-timebox-error`.
|
|
224
270
|
|
|
271
|
+
All chat operation ids have the form
|
|
272
|
+
`<component-instance-id>:<kind>:<sequence>`. The stable public reasons are
|
|
273
|
+
`chat-ready`, `message-submission-requested`,
|
|
274
|
+
`message-submission-cancelled`, `caller-signal-aborted`,
|
|
275
|
+
`component-destroyed`, `host-message-submission-rejected`,
|
|
276
|
+
`file-storage-completed`, `file-storage-rejected`,
|
|
277
|
+
`language-change-requested`, `language-change-callback-rejected`,
|
|
278
|
+
`language-model-activation-requested`,
|
|
279
|
+
`language-model-activation-rejected`, `speech-synthesis-rejected`, and
|
|
280
|
+
`conversation-timebox-delivery-rejected`.
|
|
281
|
+
|
|
282
|
+
The stable chat boundary codes are:
|
|
283
|
+
|
|
284
|
+
- `ARCANE_CHAT_MESSAGE_SUBMISSION_ABORTED` for the owned submission signal;
|
|
285
|
+
- `ARCANE_CHAT_LANGUAGE_MODEL_ACTIVATION_REQUEST_REJECTED`;
|
|
286
|
+
- `ARCANE_CHAT_HOST_MESSAGE_SUBMISSION_REJECTED`;
|
|
287
|
+
- `ARCANE_CHAT_FILE_STORAGE_REJECTED`;
|
|
288
|
+
- `ARCANE_CHAT_LANGUAGE_CHANGE_CALLBACK_REJECTED`;
|
|
289
|
+
- `ARCANE_CHAT_SPEECH_SYNTHESIS_REQUEST_REJECTED`;
|
|
290
|
+
- `ARCANE_CHAT_CONVERSATION_TIMEBOX_DELIVERY_REJECTED`.
|
|
291
|
+
|
|
292
|
+
Error projections expose the boundary `code` and include `causeCode` only when
|
|
293
|
+
the rejected dependency supplies a distinct code. File projections expose only
|
|
294
|
+
size/type metadata canonically while retaining the live `File` locally.
|
|
295
|
+
Language and LLM activation request projections are cancelable gates before
|
|
296
|
+
their host callbacks. Every public detail is frozen by the canonical authority.
|
|
297
|
+
|
|
225
298
|
Shared dependencies: [`MD.js`](runtime-modules.md#mdjs), [`File.js`](runtime-entities.md#filejs), [`ConversationTimebox.js`](runtime-modules.md#conversationtimeboxjs), [`AIRuntimeState.js`](runtime-modules.md#airuntimestatejs).
|
|
226
299
|
|
|
227
300
|
### Availability and normalization
|
|
@@ -252,7 +325,7 @@ Provider-neutral conversation display, advisory actions, composer, busy state, a
|
|
|
252
325
|
|
|
253
326
|
### Public surface
|
|
254
327
|
|
|
255
|
-
Methods/properties: `setConversation()`, `setBusy()`, `setStatus()`, `clearComposer()`.
|
|
328
|
+
Methods/properties: `setConversation()`, `setBusy()`, `setStatus()`, `clearComposer()`, `destroy()`.
|
|
256
329
|
|
|
257
330
|
Events: `conversation-view-ready`, `communication-send`, `communication-advisory-action`.
|
|
258
331
|
|
|
@@ -277,7 +350,7 @@ Selects which normalized chart definitions are visible on a dashboard.
|
|
|
277
350
|
|
|
278
351
|
### Public surface
|
|
279
352
|
|
|
280
|
-
Methods/properties: `configure()`, `setDefinitions()`, `setVisibility()`, `getChartOptions()`, `getEffectiveVisibility()`, `open()`, `close()`.
|
|
353
|
+
Methods/properties: `configure()`, `setDefinitions()`, `setVisibility()`, `getChartOptions()`, `getEffectiveVisibility()`, `open()`, `close()`, `destroy()`.
|
|
281
354
|
|
|
282
355
|
Events: `dashboard-config-ready`, `dashboard-config-opened`, `dashboard-config-closed`, `dashboard-config-change`.
|
|
283
356
|
|
|
@@ -304,7 +377,7 @@ Runs destructive cleanup of empty chats and memories inside the current app data
|
|
|
304
377
|
|
|
305
378
|
### Public surface
|
|
306
379
|
|
|
307
|
-
Methods/properties: `open()`.
|
|
380
|
+
Methods/properties: `open()`, `destroy()`.
|
|
308
381
|
|
|
309
382
|
Events: `data-maintenance-ready`, `data-maintenance-complete`.
|
|
310
383
|
|
|
@@ -331,7 +404,7 @@ Opens a generic modal-style data view around an injected provider.
|
|
|
331
404
|
|
|
332
405
|
### Public surface
|
|
333
406
|
|
|
334
|
-
Methods/properties: `beforeOpen()`, `open()`.
|
|
407
|
+
Methods/properties: `beforeOpen()`, `open()`, `destroy()`.
|
|
335
408
|
|
|
336
409
|
Events: `data-view-ready`.
|
|
337
410
|
|
|
@@ -358,7 +431,7 @@ Presents the provider-owned OS directory chooser with change/cancel/error states
|
|
|
358
431
|
|
|
359
432
|
### Public surface
|
|
360
433
|
|
|
361
|
-
Methods/properties: `configure()`, `focus()`, `select()`.
|
|
434
|
+
Methods/properties: `configure()`, `focus()`, `select()`, `destroy()`.
|
|
362
435
|
|
|
363
436
|
Events: `directory-picker-ready`, `directory-picker-change`, `directory-picker-cancel`, `directory-picker-error`.
|
|
364
437
|
|
|
@@ -385,7 +458,7 @@ Inspects PDF, text, or source documents and records review state.
|
|
|
385
458
|
|
|
386
459
|
### Public surface
|
|
387
460
|
|
|
388
|
-
Methods/properties: `loadDocument()`, `selectView()`, `markSaved()`.
|
|
461
|
+
Methods/properties: `loadDocument()`, `selectView()`, `markSaved()`, `destroy()`.
|
|
389
462
|
|
|
390
463
|
Events: `document-inspector-ready`, `document-review-change`.
|
|
391
464
|
|
|
@@ -412,7 +485,7 @@ Acquires files by drag/drop or picker and presents busy, progress, error, and cl
|
|
|
412
485
|
|
|
413
486
|
### Public surface
|
|
414
487
|
|
|
415
|
-
Methods/properties: `configure()`, `openPicker()`, `clear()`, `setBusy()`, `setError()`, `setProgress()`.
|
|
488
|
+
Methods/properties: `configure()`, `openPicker()`, `clear()`, `setBusy()`, `setError()`, `setProgress()`, `destroy()`.
|
|
416
489
|
|
|
417
490
|
Events: `file-drop-ready`, `file-drop-selected`, `file-drop-progress`, `file-drop-state`, `file-drop-error`.
|
|
418
491
|
|
|
@@ -437,7 +510,7 @@ Displays file metadata, preview, busy/error state, and caller-defined actions.
|
|
|
437
510
|
|
|
438
511
|
### Public surface
|
|
439
512
|
|
|
440
|
-
Methods/properties: `configure()`, `show()`, `clear()`, `setActions()`, `setBusy()`, `setError()`, `setPreview()`.
|
|
513
|
+
Methods/properties: `configure()`, `show()`, `clear()`, `setActions()`, `setBusy()`, `setError()`, `setPreview()`, `destroy()`.
|
|
441
514
|
|
|
442
515
|
Events: `file-inspector-ready`, `file-inspector-action`, `file-inspector-change`, `file-inspector-cleared`, `file-inspector-error`.
|
|
443
516
|
|
|
@@ -464,7 +537,7 @@ Browses, filters, selects, opens, and acts on app-scoped files.
|
|
|
464
537
|
|
|
465
538
|
### Public surface
|
|
466
539
|
|
|
467
|
-
Methods/properties: `setProvider()`, `loadAll()`, `setFilter()`, `select()`, `clearSelection()`.
|
|
540
|
+
Methods/properties: `setProvider()`, `loadAll()`, `setFilter()`, `select()`, `clearSelection()`, `destroy()`.
|
|
468
541
|
|
|
469
542
|
Events: `file-manager-ready`, `file-manager-select`, `file-manager-open`, `file-manager-action`.
|
|
470
543
|
|
|
@@ -516,7 +589,7 @@ Edits non-secret communication service configuration and service actions.
|
|
|
516
589
|
|
|
517
590
|
### Public surface
|
|
518
591
|
|
|
519
|
-
Methods/properties: `configure()`, `getValues()`, `setStatus()`.
|
|
592
|
+
Methods/properties: `configure()`, `getValues()`, `setStatus()`, `destroy()`.
|
|
520
593
|
|
|
521
594
|
Events: `integration-settings-ready`, `integration-settings-save`, `integration-settings-close`, `integration-action`.
|
|
522
595
|
|
|
@@ -541,7 +614,7 @@ Presents local-AI standby, failure, recovery, guidance, retry, and dismissal sta
|
|
|
541
614
|
|
|
542
615
|
### Public surface
|
|
543
616
|
|
|
544
|
-
Methods/properties: `configure()`, `begin()`, `present()
|
|
617
|
+
Methods/properties: `configure()`, `begin()`, `present()`, `destroy()`, and the `hidden` property.
|
|
545
618
|
|
|
546
619
|
Events: `local-ai-status-ready`, `local-ai-status-dismissed`, `local-ai-retry`.
|
|
547
620
|
|
|
@@ -568,9 +641,12 @@ Safely renders and navigates a Markdown document with focusable fragments.
|
|
|
568
641
|
|
|
569
642
|
### Public surface
|
|
570
643
|
|
|
571
|
-
Methods/properties: `configure()`, `load()`, `render()`, `clear()`, `fail()`, `focus()`, `focusFragment()`.
|
|
644
|
+
Methods/properties: `configure()`, `load()`, `render()`, `clear()`, `fail()`, `focus()`, `focusFragment()`, `destroy()`.
|
|
572
645
|
|
|
573
|
-
Events: `markdown-document-ready`, `markdown-document-state`,
|
|
646
|
+
Events: `markdown-document-ready`, `markdown-document-state`,
|
|
647
|
+
`markdown-document-loading`, `markdown-document-rendered`,
|
|
648
|
+
`markdown-document-empty`, `markdown-document-error`, and
|
|
649
|
+
`markdown-document-navigate`.
|
|
574
650
|
|
|
575
651
|
Shared dependencies: [`MD.js`](runtime-modules.md#mdjs).
|
|
576
652
|
|
|
@@ -595,7 +671,7 @@ Configurable Markdown authoring, toolbar, preview, title, and save surface.
|
|
|
595
671
|
|
|
596
672
|
### Public surface
|
|
597
673
|
|
|
598
|
-
Methods/properties: `configure()`, `focus()`, `clear()`, `saveEntry()`.
|
|
674
|
+
Methods/properties: `configure()`, `focus()`, `clear()`, `saveEntry()`, `destroy()`.
|
|
599
675
|
|
|
600
676
|
Events: `markdown-editor-ready`, `markdown-editor-change`, `markdown-editor-saved`.
|
|
601
677
|
|
|
@@ -622,7 +698,7 @@ Loads a validated YouTube video or playlist embed and exposes external-platform
|
|
|
622
698
|
|
|
623
699
|
### Public surface
|
|
624
700
|
|
|
625
|
-
Methods/properties: `configure()`, `load()`.
|
|
701
|
+
Methods/properties: `configure()`, `load()`, `destroy()`.
|
|
626
702
|
|
|
627
703
|
Events: `media-embed-ready`, `media-load`, `media-error`, `media-open-platform`.
|
|
628
704
|
|
|
@@ -649,7 +725,7 @@ Generic modal with population, open/close, actions, and sequential task executio
|
|
|
649
725
|
|
|
650
726
|
### Public surface
|
|
651
727
|
|
|
652
|
-
Methods/properties: `populate()`, `open()`, `close()`, `runTasks()`.
|
|
728
|
+
Methods/properties: `populate()`, `open()`, `close()`, `runTasks()`, `destroy()`.
|
|
653
729
|
|
|
654
730
|
Events: `modal-ready`, `modal-opened`, `modal-closed`, `modal-action`.
|
|
655
731
|
|
|
@@ -676,7 +752,7 @@ Presents status, output, body, coverage, actions, pending, error, and cleared st
|
|
|
676
752
|
|
|
677
753
|
### Public surface
|
|
678
754
|
|
|
679
|
-
Methods/properties: `configure()`, `setOutput()`, `setBody()`, `setCoverage()`, `setActions()`, `setPending()`, `setStatus()`, `setError()`, `clear()`.
|
|
755
|
+
Methods/properties: `configure()`, `setOutput()`, `setBody()`, `setCoverage()`, `setActions()`, `setPending()`, `setStatus()`, `setError()`, `clear()`, `destroy()`.
|
|
680
756
|
|
|
681
757
|
Events: `output-panel-ready`, `output-panel-state`, `output-panel-change`, `output-panel-action`, `output-panel-error`, `output-panel-cleared`.
|
|
682
758
|
|
|
@@ -703,7 +779,7 @@ Builds a schema-driven preferences form with submit, reset, busy, and status beh
|
|
|
703
779
|
|
|
704
780
|
### Public surface
|
|
705
781
|
|
|
706
|
-
Methods/properties: `configure()`, `getValues()`, `setValues()`, `setBusy()`, `setStatus()`.
|
|
782
|
+
Methods/properties: `configure()`, `getValues()`, `setValues()`, `setBusy()`, `setStatus()`, `destroy()`.
|
|
707
783
|
|
|
708
784
|
Events: `preferences-form-ready`, `preferences-change`, `preferences-submit`, `preferences-reset`.
|
|
709
785
|
|
|
@@ -728,7 +804,7 @@ Displays chronological records/evidence and emits open actions.
|
|
|
728
804
|
|
|
729
805
|
### Public surface
|
|
730
806
|
|
|
731
|
-
Methods/properties: `setItems()`, `populate()`.
|
|
807
|
+
Methods/properties: `setItems()`, `populate()`, `destroy()`.
|
|
732
808
|
|
|
733
809
|
Events: `record-timeline-ready`, `record-timeline-open`.
|
|
734
810
|
|
|
@@ -753,7 +829,7 @@ Displays normalized relationship nodes/edges in graph and list forms.
|
|
|
753
829
|
|
|
754
830
|
### Public surface
|
|
755
831
|
|
|
756
|
-
Methods/properties: `setGraph()`, `populate()`.
|
|
832
|
+
Methods/properties: `setGraph()`, `populate()`, `destroy()`.
|
|
757
833
|
|
|
758
834
|
Events: `relationship-board-ready`, `relationship-node-open`, `relationship-edge-open`.
|
|
759
835
|
|
|
@@ -778,10 +854,16 @@ Presents image, video, or GIF display-capture workflow.
|
|
|
778
854
|
|
|
779
855
|
### Public surface
|
|
780
856
|
|
|
781
|
-
Methods/properties: `capture()`.
|
|
857
|
+
Methods/properties: `capture` (the component-owned `ScreenCapture` instance) and `destroy()`.
|
|
782
858
|
|
|
783
859
|
Events: `screen-capture-ready`, `screen-capture-result`.
|
|
784
860
|
|
|
861
|
+
Ready uses operation id `screen-capture-ready-<component-instance-id>`;
|
|
862
|
+
capture results use the current instance-owned generation. `destroy()`
|
|
863
|
+
invalidates that generation, aborts UI listeners, revokes the preview URL,
|
|
864
|
+
destroys the `ScreenCapture` instance, disposes the source, marks the host
|
|
865
|
+
unready, and returns `true`; repeated calls return `false`.
|
|
866
|
+
|
|
785
867
|
Shared dependencies: [`ScreenCapture.js`](runtime-modules.md#screencapturejs).
|
|
786
868
|
|
|
787
869
|
### Availability and normalization
|
|
@@ -805,9 +887,11 @@ Renders line-addressable source code with load, error, focus, and state behavior
|
|
|
805
887
|
|
|
806
888
|
### Public surface
|
|
807
889
|
|
|
808
|
-
Methods/properties: `configure()`, `load()`, `render()`, `clear()`, `fail()`, `focus()`, `focusLine()`.
|
|
890
|
+
Methods/properties: `configure()`, `load()`, `render()`, `clear()`, `fail()`, `focus()`, `focusLine()`, `destroy()`.
|
|
809
891
|
|
|
810
|
-
Events: `source-code-viewer-ready`, `source-code-viewer-state
|
|
892
|
+
Events: `source-code-viewer-ready`, `source-code-viewer-state`,
|
|
893
|
+
`source-code-viewer-state-loading`, `source-code-viewer-state-ready`,
|
|
894
|
+
`source-code-viewer-state-empty`, and `source-code-viewer-state-error`.
|
|
811
895
|
|
|
812
896
|
### Availability and normalization
|
|
813
897
|
|
|
@@ -830,7 +914,7 @@ Presents an evidence finding, source selection, explanation, and save state.
|
|
|
830
914
|
|
|
831
915
|
### Public surface
|
|
832
916
|
|
|
833
|
-
Methods/properties: `showFinding()`, `populate()`, `selectSource()`, `markSaved()`.
|
|
917
|
+
Methods/properties: `showFinding()`, `populate()`, `selectSource()`, `markSaved()`, `destroy()`.
|
|
834
918
|
|
|
835
919
|
Events: `source-explanation-ready`, `source-explanation-save`, `source-explanation-source-selected`.
|
|
836
920
|
|
|
@@ -857,13 +941,14 @@ completion, mute state, and microphone availability.
|
|
|
857
941
|
### Public surface
|
|
858
942
|
|
|
859
943
|
Methods/properties: `configure()`, `setAvailability()`, `setMuted()`,
|
|
860
|
-
`
|
|
861
|
-
and `componentReady`.
|
|
944
|
+
`reportTTSError(error,boundary='synthesis')`, `requestSTTActivation()`,
|
|
945
|
+
`destroy()`, `availability`, `muted`, `initialMuted`, and `componentReady`.
|
|
862
946
|
|
|
863
947
|
Events: `speech-ready`, `speech-transcription-complete`,
|
|
864
948
|
`speech-transcription-error`, `speech-transcription-cancelled`,
|
|
865
949
|
`speech-microphone-unavailable`, `speech-stt-activation-request`,
|
|
866
|
-
`speech-stt-activation-error`,
|
|
950
|
+
`speech-stt-activation-error`, `speech-tts-lifecycle-error`, and
|
|
951
|
+
`speech-synthesis-error`.
|
|
867
952
|
|
|
868
953
|
Shared dependencies: [`AI.js`](runtime-modules.md#aijs),
|
|
869
954
|
[`AIRuntimeState.js`](runtime-modules.md#airuntimestatejs),
|
|
@@ -912,6 +997,29 @@ Mute calls `AI.setSpeechMuted(true)`, stops playback, cancels active TTS work,
|
|
|
912
997
|
and unloads the selected TTS role. Lifecycle failures remain visible through
|
|
913
998
|
`speech-tts-lifecycle-error` and sticky role state.
|
|
914
999
|
|
|
1000
|
+
Speech operation ids are
|
|
1001
|
+
`<component-instance-id>:<kind>:<sequence>`. Canonical cancellation reasons are
|
|
1002
|
+
`stt-role-unready`, `stt-provider-transcription-cancelled`, `stt-role-busy`,
|
|
1003
|
+
`microphone-unavailable`, `component-destroyed`, and
|
|
1004
|
+
`stt-transcription-cancelled`. Microphone capture-failure reasons are
|
|
1005
|
+
`microphone-input-missing`, `microphone-input-unavailable`,
|
|
1006
|
+
`microphone-capture-denied`, and `microphone-capture-rejected`. Component
|
|
1007
|
+
boundary codes are `ARCANE_SPEECH_MICROPHONE_CAPTURE_REJECTED`,
|
|
1008
|
+
`ARCANE_SPEECH_STT_TRANSCRIPTION_REQUEST_REJECTED`,
|
|
1009
|
+
`ARCANE_SPEECH_TTS_LOAD_REJECTED`, `ARCANE_SPEECH_TTS_UNLOAD_REJECTED`,
|
|
1010
|
+
`ARCANE_SPEECH_TTS_SYNTHESIS_REQUEST_REJECTED`, and
|
|
1011
|
+
`ARCANE_SPEECH_TTS_PLAYBACK_RESUME_REJECTED`. Each of those component-boundary
|
|
1012
|
+
public projections keeps the exact boundary in `code` and preserves a distinct
|
|
1013
|
+
string code from the browser, runtime, or provider additively as `causeCode`.
|
|
1014
|
+
A missing STT method therefore uses boundary
|
|
1015
|
+
`ARCANE_SPEECH_STT_TRANSCRIPTION_REQUEST_REJECTED` with
|
|
1016
|
+
`causeCode:'ARCANE_SPEECH_STT_RUNTIME_METHOD_UNAVAILABLE'`.
|
|
1017
|
+
|
|
1018
|
+
Stable rejection reasons are `stt-transcription-rejected`,
|
|
1019
|
+
`tts-load-rejected`, `tts-unload-rejected`, `tts-synthesis-rejected`, and
|
|
1020
|
+
`tts-playback-resume-rejected`. Shared activation rejection uses
|
|
1021
|
+
`ARCANE_STT_ACTIVATION_REQUEST_REJECTED` and `activation-request-rejected`.
|
|
1022
|
+
|
|
915
1023
|
### Availability and normalization
|
|
916
1024
|
|
|
917
1025
|
**Browser and supported native WebViews.** UI/runtime state and explicit user
|
|
@@ -937,7 +1045,7 @@ Displays compact selectable KPI or summary items.
|
|
|
937
1045
|
|
|
938
1046
|
### Public surface
|
|
939
1047
|
|
|
940
|
-
Methods/properties: `configure()`, `setItems()`, `updateItem()`, `clear()`.
|
|
1048
|
+
Methods/properties: `configure()`, `setItems()`, `updateItem()`, `clear()`, `destroy()`.
|
|
941
1049
|
|
|
942
1050
|
Events: `summary-strip-ready`, `summary-strip-change`, `summary-strip-select`.
|
|
943
1051
|
|
|
@@ -962,7 +1070,7 @@ Builds and updates a simple header/body table.
|
|
|
962
1070
|
|
|
963
1071
|
### Public surface
|
|
964
1072
|
|
|
965
|
-
Methods/properties: `buildHeader()`, `buildTable()`.
|
|
1073
|
+
Methods/properties: `buildHeader()`, `buildTable()`, `destroy()`.
|
|
966
1074
|
|
|
967
1075
|
Events: `table-ready`, `header-update`, `body-update`.
|
|
968
1076
|
|
|
@@ -987,7 +1095,7 @@ Runs and displays a task list with started/change/complete/error state.
|
|
|
987
1095
|
|
|
988
1096
|
### Public surface
|
|
989
1097
|
|
|
990
|
-
Methods/properties: `configure()`, `setTasks()`, `updateTask()`, `runTasks()`, `clear()`.
|
|
1098
|
+
Methods/properties: `configure()`, `setTasks()`, `updateTask()`, `runTasks()`, `clear()`, `destroy()`.
|
|
991
1099
|
|
|
992
1100
|
Events: `task-progress-ready`, `task-progress-started`, `task-progress-change`, `task-progress-complete`, `task-progress-error`.
|
|
993
1101
|
|
|
@@ -1012,7 +1120,7 @@ Presents multiple terminal sessions, output, active selection, theme, and termin
|
|
|
1012
1120
|
|
|
1013
1121
|
### Public surface
|
|
1014
1122
|
|
|
1015
|
-
Methods/properties: `configure()`, `addSession()`, `removeSession()`, `activateSession()`, `append()`, `clear()`, `setState()`, `setTheme()`, `focus()`.
|
|
1123
|
+
Methods/properties: `configure()`, `addSession()`, `removeSession()`, `activateSession()`, `append()`, `clear()`, `setState()`, `setTheme()`, `focus()`, `destroy()`.
|
|
1016
1124
|
|
|
1017
1125
|
Events: `terminal-workspace-ready`, `terminal-submit`, `terminal-interrupt`, `terminal-clear`, `terminal-session-new`, `terminal-session-close`, `terminal-session-select`, `terminal-settings`.
|
|
1018
1126
|
|
|
@@ -1039,7 +1147,7 @@ Edits, previews, saves, and resets semantic custom theme tokens.
|
|
|
1039
1147
|
|
|
1040
1148
|
### Public surface
|
|
1041
1149
|
|
|
1042
|
-
Methods/properties: `configure()`, `getTheme()`, `setTheme()`, `setBusy()`, `setStatus()`.
|
|
1150
|
+
Methods/properties: `configure()`, `getTheme()`, `setTheme()`, `setBusy()`, `setStatus()`, `destroy()`.
|
|
1043
1151
|
|
|
1044
1152
|
Events: `theme-editor-ready`, `theme-preview`, `theme-save`, `theme-reset`.
|
|
1045
1153
|
|
|
@@ -1093,7 +1201,7 @@ Displays provider-neutral communication threads with active/loading state.
|
|
|
1093
1201
|
|
|
1094
1202
|
### Public surface
|
|
1095
1203
|
|
|
1096
|
-
Methods/properties: `configure()`, `setThreads()`, `setActive()`, `setLoading()`.
|
|
1204
|
+
Methods/properties: `configure()`, `setThreads()`, `setActive()`, `setLoading()`, `destroy()`.
|
|
1097
1205
|
|
|
1098
1206
|
Events: `unified-inbox-ready`, `inbox-refresh`, `thread-select`.
|
|
1099
1207
|
|
|
@@ -1160,10 +1268,14 @@ state observation emit no activation request and never begin a model download.
|
|
|
1160
1268
|
If sticky readiness is lost during microphone acquisition, capture, or the STT
|
|
1161
1269
|
request, the component invalidates the session, aborts the owned request signal,
|
|
1162
1270
|
releases media, discards late completion, and emits
|
|
1163
|
-
`speech-transcription-cancelled
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1271
|
+
`speech-transcription-cancelled`. Its local compatibility reason is
|
|
1272
|
+
`runtime-unready`, while its canonical/public reason is `stt-role-unready`. A
|
|
1273
|
+
busy role uses `stt-role-busy` in both views. A current provider cancellation
|
|
1274
|
+
returns the component workflow to `idle` with local
|
|
1275
|
+
`stt-provider-request-cancelled` and canonical/public
|
|
1276
|
+
`stt-provider-transcription-cancelled`; destruction uses
|
|
1277
|
+
`component-destroyed` in both views. Replacing configuration without an
|
|
1278
|
+
`initialValue` during active work uses `configuration-replaced` in both views.
|
|
1167
1279
|
Stale teardown results remain suppressed. A
|
|
1168
1280
|
current save failure, including `AbortError`, enters the visible `error` state.
|
|
1169
1281
|
Readiness loss after transcription has finished does not invalidate an already
|
|
@@ -1207,7 +1319,7 @@ Displays normalized current and daily weather with refresh intent.
|
|
|
1207
1319
|
|
|
1208
1320
|
### Public surface
|
|
1209
1321
|
|
|
1210
|
-
Methods/properties: `setWeather()`, `clear()`.
|
|
1322
|
+
Methods/properties: `setWeather()`, `clear()`, `destroy()`.
|
|
1211
1323
|
|
|
1212
1324
|
Events: `weather-widget-ready`, `weather-refresh`.
|
|
1213
1325
|
|
|
@@ -1232,7 +1344,7 @@ Guards embedded/external navigation and surfaces allow/block/open intents.
|
|
|
1232
1344
|
|
|
1233
1345
|
### Public surface
|
|
1234
1346
|
|
|
1235
|
-
Methods/properties: `configure()`, `navigate()`, `currentUrl()`.
|
|
1347
|
+
Methods/properties: `configure()`, `navigate()`, `currentUrl()`, `destroy()`.
|
|
1236
1348
|
|
|
1237
1349
|
Events: `web-navigator-ready`, `web-navigate`, `web-navigation-blocked`, `web-open-external`.
|
|
1238
1350
|
|