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
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"source": {
|
|
4
4
|
"authority": "sdk-canonical",
|
|
5
5
|
"repository": "https://github.com/TheWizardNexus/arcane-os-sdk.git",
|
|
6
|
-
"commit": "
|
|
6
|
+
"commit": "9c4ec2213af98cbc53fca073a799435a89c6650f",
|
|
7
7
|
"path": "runtime/arcane",
|
|
8
|
-
"sdkVersion": "0.
|
|
8
|
+
"sdkVersion": "0.3.0",
|
|
9
9
|
"legacyProjection": {
|
|
10
10
|
"repository": "https://github.com/TheWizardNexus/ARCANE-OS.git",
|
|
11
11
|
"commit": "c540014afe69f14cf5ae60493b7295f36dbcec64",
|
|
@@ -13,22 +13,29 @@
|
|
|
13
13
|
},
|
|
14
14
|
"protocol": "arcane/1"
|
|
15
15
|
},
|
|
16
|
-
"artifactCount":
|
|
17
|
-
"javascriptArtifactCount":
|
|
18
|
-
"esmExportCount":
|
|
16
|
+
"artifactCount": 86,
|
|
17
|
+
"javascriptArtifactCount": 84,
|
|
18
|
+
"esmExportCount": 384,
|
|
19
19
|
"artifacts": [
|
|
20
20
|
{
|
|
21
21
|
"file": "runtime/arcane/modules/AI.js",
|
|
22
22
|
"name": "AI.js",
|
|
23
23
|
"kind": "esm",
|
|
24
24
|
"exports": [
|
|
25
|
+
"AI_BROWSER_SPEECH_CONFIGURATION_PROTOCOL",
|
|
26
|
+
"AI_BROWSER_SPEECH_ERROR_CODES",
|
|
27
|
+
"AI_BROWSER_SPEECH_EVENT_TYPES",
|
|
28
|
+
"AI_BROWSER_SPEECH_REASONS",
|
|
29
|
+
"AI_INITIALIZATION_ERROR_CODES",
|
|
30
|
+
"AI_INITIALIZATION_REASONS",
|
|
31
|
+
"AI_READY_EVENT",
|
|
25
32
|
"default"
|
|
26
33
|
],
|
|
27
|
-
"summary": "
|
|
34
|
+
"summary": "Owns provider-selectable chat and the one-time caller-authority browser STT/TTS configuration, lifecycle, synthesis, transcription, and playback boundary.",
|
|
28
35
|
"availability": "Browser + native bridge + cloud",
|
|
29
|
-
"protocol": "AIProviderRuntime arcane-ai-provider/2 routes, OpenAI HTTPS, Arcane.ollama, Arcane.speech, Android WebView bridge",
|
|
30
|
-
"normalization": "
|
|
31
|
-
"surface": "default `AI`; `providerRuntime
|
|
36
|
+
"protocol": "arcane-ai-browser-speech-configuration/1, AIProviderRuntime arcane-ai-provider/2 routes, globalThis.arcaneEvents, OpenAI HTTPS, Arcane.ollama, Arcane.speech, Android WebView bridge",
|
|
37
|
+
"normalization": "Frozen caller-owned browser speech authority, SDK-owned provider registration/replacement/disposal, explicit STT/TTS activation, sticky readiness, Blob/File transcription, playable audio, mute, cancellation, and supersession are normalized; provider/model/runtime/voice policy remains caller-owned.",
|
|
38
|
+
"surface": "Browser-speech protocol/event/error/reason constants; default `AI`; read-only `providerRuntime`, `browserSpeechConfiguration`, and `browserSpeechDescriptor`; `configureBrowserSpeech(configuration,{signal})`, `disposeBrowserSpeech({signal})`, route configuration/transition/start/mute methods, chat methods, `streamTTS(text,end)`, `finishTTS()`, `fetchTTS({model,voice,input,responseFormat,speed},signal)`, `fetchSTT(audioFile,responseHandler,signal)`, and playback controls; installs `window.ai` and projects `ai-ready`."
|
|
32
39
|
},
|
|
33
40
|
{
|
|
34
41
|
"file": "runtime/arcane/modules/AIPreferenceRuntime.js",
|
|
@@ -75,7 +82,7 @@
|
|
|
75
82
|
"availability": "Cross-host in-process runtime; registered providers remain browser, native, or cloud specific",
|
|
76
83
|
"protocol": "arcane-ai-runtime/2, arcane-ai-provider/2, arcane-ai-model-authority/1",
|
|
77
84
|
"normalization": "Normalizes immutable per-role routes, lifecycle/status, cancellation, streaming cleanup, and local-only selection without creating a fallback.",
|
|
78
|
-
"surface": "Protocol constants; singleton-only `AIProviderRuntime`; `aiProviderRuntime`; `getAIProviderRuntime()`; provider registration/configuration,
|
|
85
|
+
"surface": "Protocol constants; singleton-only `AIProviderRuntime`; `aiProviderRuntime`; `getAIProviderRuntime()`; provider registration/identity/selection, closed three-role and STT/TTS-only validation/configuration/replacement, status/catalog/inspection, startup, per-role load/unload/dispose/cancel, dispose-all, request/stream/speech aliases, and mute controls."
|
|
79
86
|
},
|
|
80
87
|
{
|
|
81
88
|
"file": "runtime/arcane/modules/AIResponseLength.js",
|
|
@@ -132,9 +139,9 @@
|
|
|
132
139
|
],
|
|
133
140
|
"summary": "Sticky immutable LLM, speech-to-text, and text-to-speech lifecycle snapshots, intents, subscriptions, and startup-settlement barriers.",
|
|
134
141
|
"availability": "Cross-host in-process state contract; actual role readiness remains provider specific",
|
|
135
|
-
"protocol": "arcane-ai-runtime-state/1 over EventTarget",
|
|
136
|
-
"normalization": "Closed role
|
|
137
|
-
"surface": "Protocol/event/state constants; `aiRuntimeEvents
|
|
142
|
+
"protocol": "arcane-ai-runtime-state/1 over the per-realm globalThis.arcaneEvents authority; deprecated state-free EventTarget compatibility view",
|
|
143
|
+
"normalization": "Closed monotonic sticky role snapshots, transient lifecycle intents, synchronous current-state replay, AbortSignal cleanup, and startup settlement are normalized; events report state but grant no authority.",
|
|
144
|
+
"surface": "Protocol/event/role/state constants; deprecated `aiRuntimeEvents` compatibility view; snapshot, state subscribe/publish, intent request/subscribe, and `startAIRuntime({startMuted,startTranscription,signal})` returning `{barrier,settled,cancel}`."
|
|
138
145
|
},
|
|
139
146
|
{
|
|
140
147
|
"file": "runtime/arcane/modules/AnsiText.js",
|
|
@@ -155,15 +162,17 @@
|
|
|
155
162
|
"name": "ApiModelDatabase.js",
|
|
156
163
|
"kind": "esm",
|
|
157
164
|
"exports": [
|
|
165
|
+
"API_MODEL_ERRORS",
|
|
166
|
+
"API_MODEL_EVENTS",
|
|
158
167
|
"appendParameters",
|
|
159
168
|
"default",
|
|
160
169
|
"publicEndpoint"
|
|
161
170
|
],
|
|
162
171
|
"summary": "Fetches an injectable HTTP JSON model with parser, cache, redacted public endpoint records, and request lifecycle events.",
|
|
163
172
|
"availability": "Browser / native WebView / server with fetch",
|
|
164
|
-
"protocol": "HTTP(S) fetch",
|
|
173
|
+
"protocol": "HTTP(S) fetch + per-realm globalThis.arcaneEvents authority",
|
|
165
174
|
"normalization": "Request records are normalized; fetch/provider failures remain mixed.",
|
|
166
|
-
"surface": "default `ApiModelDatabase`; `setEndpoint()`, `fetch()`, `cached()
|
|
175
|
+
"surface": "`API_MODEL_EVENTS`, `API_MODEL_ERRORS`, default `ApiModelDatabase`; `setEndpoint()`, `fetch()`, `cached()`, and `dispose()`; state-free EventTarget/on compatibility for request, success, and error occurrences."
|
|
167
176
|
},
|
|
168
177
|
{
|
|
169
178
|
"file": "runtime/arcane/modules/AppDataScope.js",
|
|
@@ -272,29 +281,33 @@
|
|
|
272
281
|
"name": "BrowserTestSuite.js",
|
|
273
282
|
"kind": "esm",
|
|
274
283
|
"exports": [
|
|
284
|
+
"BROWSER_TEST_SUITE_ERROR_CODES",
|
|
285
|
+
"BROWSER_TEST_SUITE_EVENT_TYPES",
|
|
286
|
+
"BROWSER_TEST_SUITE_REASONS",
|
|
275
287
|
"assertionError",
|
|
276
288
|
"default",
|
|
277
289
|
"skipError"
|
|
278
290
|
],
|
|
279
291
|
"summary": "Runs a fixed sequential browser test list with cooperative abort, per-test timeout, and lifecycle events.",
|
|
280
292
|
"availability": "Browser / standard Web APIs",
|
|
281
|
-
"protocol": "
|
|
293
|
+
"protocol": "Timers + per-realm globalThis.arcaneEvents authority",
|
|
282
294
|
"normalization": "Normalized result and skip/assertion errors.",
|
|
283
|
-
"surface": "default `BrowserTestSuite`; `list()`, `run()`;
|
|
295
|
+
"surface": "Event/error/reason constants; default `BrowserTestSuite`; `list()`, `run()`, and `dispose()`; state-free EventTarget/on compatibility for suite/test lifecycle occurrences."
|
|
284
296
|
},
|
|
285
297
|
{
|
|
286
298
|
"file": "runtime/arcane/modules/CalculatorEngine.js",
|
|
287
299
|
"name": "CalculatorEngine.js",
|
|
288
300
|
"kind": "esm",
|
|
289
301
|
"exports": [
|
|
302
|
+
"CALCULATOR_ENGINE_ERROR_CODES",
|
|
290
303
|
"default",
|
|
291
304
|
"evaluateExpression"
|
|
292
305
|
],
|
|
293
306
|
"summary": "Evaluates bounded arithmetic, powers, constants, and common functions without `eval`.",
|
|
294
307
|
"availability": "Cross-host",
|
|
295
|
-
"protocol": "
|
|
296
|
-
"normalization": "
|
|
297
|
-
"surface": "default
|
|
308
|
+
"protocol": "arcane-event-source/1 on the per-realm globalThis.arcaneEvents authority",
|
|
309
|
+
"normalization": "Frozen canonical result/error details, source-instance operation IDs, exact parser/evaluation error codes, and state-free EventTarget compatibility.",
|
|
310
|
+
"surface": "CALCULATOR_ENGINE_ERROR_CODES; default CalculatorEngine with calculate(), EventTarget/on compatibility, dispose()/destroy(); evaluateExpression()."
|
|
298
311
|
},
|
|
299
312
|
{
|
|
300
313
|
"file": "runtime/arcane/modules/CaseEvidenceIndexer.js",
|
|
@@ -347,6 +360,7 @@
|
|
|
347
360
|
"name": "CommunicationAppController.js",
|
|
348
361
|
"kind": "esm",
|
|
349
362
|
"exports": [
|
|
363
|
+
"COMMUNICATION_APP_CONTROLLER_ERROR_CODES",
|
|
350
364
|
"default"
|
|
351
365
|
],
|
|
352
366
|
"summary": "Binds shared inbox, conversation, settings, theme, and provider workflows into one UI controller.",
|
|
@@ -360,13 +374,17 @@
|
|
|
360
374
|
"name": "CommunicationHub.js",
|
|
361
375
|
"kind": "esm",
|
|
362
376
|
"exports": [
|
|
377
|
+
"COMMUNICATION_HUB_ERROR_CODES",
|
|
378
|
+
"COMMUNICATION_HUB_EVENTS",
|
|
379
|
+
"COMMUNICATION_HUB_REFRESH_REASONS",
|
|
380
|
+
"COMMUNICATION_HUB_REFRESH_STATES",
|
|
363
381
|
"default"
|
|
364
382
|
],
|
|
365
383
|
"summary": "Fans out provider refresh/send operations and aggregates normalized threads/messages.",
|
|
366
384
|
"availability": "Cross-host with injected providers",
|
|
367
|
-
"protocol": "Injected provider contract",
|
|
385
|
+
"protocol": "Injected provider contract + per-realm globalThis.arcaneEvents authority",
|
|
368
386
|
"normalization": "Normalized aggregates; refresh contains per-provider failures.",
|
|
369
|
-
"surface": "default `CommunicationHub`; provider enablement, `refresh()`, `messages()`, and `
|
|
387
|
+
"surface": "Event/state/reason/error constants; default `CommunicationHub`; provider enablement, `refresh()`, `messages()`, `send()`, state-free EventTarget/on compatibility, and `dispose()`."
|
|
370
388
|
},
|
|
371
389
|
{
|
|
372
390
|
"file": "runtime/arcane/modules/CommunicationPreferences.js",
|
|
@@ -403,6 +421,9 @@
|
|
|
403
421
|
"DASHBOARD_LABELS",
|
|
404
422
|
"MARKDOWN_FORMATS",
|
|
405
423
|
"MARKDOWN_LABELS",
|
|
424
|
+
"STT_ACTIVATION_ERROR_CODES",
|
|
425
|
+
"STT_ACTIVATION_EVENT_TYPES",
|
|
426
|
+
"STT_ACTIVATION_REASONS",
|
|
406
427
|
"VOICE_LABELS",
|
|
407
428
|
"VOICE_MESSAGES",
|
|
408
429
|
"appendTranscription",
|
|
@@ -490,8 +511,11 @@
|
|
|
490
511
|
"name": "ConversationTimebox.js",
|
|
491
512
|
"kind": "esm",
|
|
492
513
|
"exports": [
|
|
514
|
+
"CONVERSATION_TIMEBOX_ERROR_CODES",
|
|
515
|
+
"CONVERSATION_TIMEBOX_EVENT_TYPES",
|
|
493
516
|
"CONVERSATION_TIMEBOX_LIMIT_MESSAGE",
|
|
494
517
|
"CONVERSATION_TIMEBOX_OPENING_INSTRUCTION",
|
|
518
|
+
"CONVERSATION_TIMEBOX_REASONS",
|
|
495
519
|
"CONVERSATION_TIMEBOX_TOOL_NAME",
|
|
496
520
|
"ConversationSubmissionBarrier",
|
|
497
521
|
"appendConversationTimeboxOpeningInstruction",
|
|
@@ -506,9 +530,9 @@
|
|
|
506
530
|
],
|
|
507
531
|
"summary": "Owns conversation limits, control messages, submission barriers, elapsed formatting, and delivery proof.",
|
|
508
532
|
"availability": "Cross-host",
|
|
509
|
-
"protocol": "Clock/timers and
|
|
533
|
+
"protocol": "Clock/timers, callbacks, and per-realm globalThis.arcaneEvents authority",
|
|
510
534
|
"normalization": "Fully normalized state/command/delivery errors.",
|
|
511
|
-
"surface": "default `ConversationTimebox`, `ConversationSubmissionBarrier`, constants and
|
|
535
|
+
"surface": "Event/error/reason constants; default `ConversationTimebox`, `ConversationSubmissionBarrier`, control constants/helpers, state-free on/addEventListener compatibility, and `dispose()`."
|
|
512
536
|
},
|
|
513
537
|
{
|
|
514
538
|
"file": "runtime/arcane/modules/CoreLocalModelCatalog.js",
|
|
@@ -547,11 +571,13 @@
|
|
|
547
571
|
"name": "DBLS.js",
|
|
548
572
|
"kind": "esm",
|
|
549
573
|
"exports": [
|
|
574
|
+
"DBLS_EVENT_TYPES",
|
|
575
|
+
"DBLS_REASONS",
|
|
550
576
|
"default"
|
|
551
577
|
],
|
|
552
578
|
"summary": "Provides app-scoped localStorage tables, batch reads/writes, filtering, deletion, and counts.",
|
|
553
579
|
"availability": "Browser / native WebView",
|
|
554
|
-
"protocol": "localStorage + AppDataScope",
|
|
580
|
+
"protocol": "localStorage + AppDataScope + per-realm globalThis.arcaneEvents authority",
|
|
555
581
|
"normalization": "Scoped keys and values normalized; storage failures mixed.",
|
|
556
582
|
"surface": "default `DBLS`; installs `window.dbls`, emits `dbls-ready`; CRUD/batch/key APIs."
|
|
557
583
|
},
|
|
@@ -560,11 +586,13 @@
|
|
|
560
586
|
"name": "DBOPFS.js",
|
|
561
587
|
"kind": "esm",
|
|
562
588
|
"exports": [
|
|
589
|
+
"DBOPFS_EVENT_TYPES",
|
|
590
|
+
"DBOPFS_REASONS",
|
|
563
591
|
"default"
|
|
564
592
|
],
|
|
565
593
|
"summary": "Provides app-scoped OPFS tables, worker I/O, backup/restore, compression, and CRUD/batch APIs.",
|
|
566
594
|
"availability": "Browser / native WebView",
|
|
567
|
-
"protocol": "OPFS, DBOPFSWorker, Compression Streams",
|
|
595
|
+
"protocol": "OPFS, DBOPFSWorker, Compression Streams, and per-realm globalThis.arcaneEvents authority",
|
|
568
596
|
"normalization": "App scope normalized; DOM/storage errors preserved.",
|
|
569
597
|
"surface": "default `DBOPFS`; installs `window.dbopfs`, emits `dbopfs-ready`; table/file/backup APIs."
|
|
570
598
|
},
|
|
@@ -669,6 +697,9 @@
|
|
|
669
697
|
"name": "Errors.js",
|
|
670
698
|
"kind": "esm",
|
|
671
699
|
"exports": [
|
|
700
|
+
"GLOBAL_ERROR_EVENT_CODES",
|
|
701
|
+
"GLOBAL_ERROR_EVENT_TYPES",
|
|
702
|
+
"GLOBAL_ERROR_REASONS",
|
|
672
703
|
"default",
|
|
673
704
|
"fingerprintIncident",
|
|
674
705
|
"normalizeErrorEvent",
|
|
@@ -676,9 +707,9 @@
|
|
|
676
707
|
],
|
|
677
708
|
"summary": "Normalizes global errors/rejections, fingerprints and deduplicates incidents, persists a ledger, and performs bounded delivery.",
|
|
678
709
|
"availability": "Browser / native WebView hybrid",
|
|
679
|
-
"protocol": "Window
|
|
710
|
+
"protocol": "Window error input, DBOPFS, Mail, and per-realm globalThis.arcaneEvents authority",
|
|
680
711
|
"normalization": "Incident records normalized; storage/mail failures isolated.",
|
|
681
|
-
"surface": "default `Errors`; event normalizers/fingerprint plus lifecycle, capture, delivery and teardown methods."
|
|
712
|
+
"surface": "Global error event/code/reason constants; default `Errors`; event normalizers/fingerprint plus lifecycle, capture, delivery, state-free compatibility observation, and teardown methods."
|
|
682
713
|
},
|
|
683
714
|
{
|
|
684
715
|
"file": "runtime/arcane/modules/GifEncoder.js",
|
|
@@ -757,14 +788,17 @@
|
|
|
757
788
|
"name": "LocalAIReadinessController.js",
|
|
758
789
|
"kind": "esm",
|
|
759
790
|
"exports": [
|
|
791
|
+
"LOCAL_AI_READINESS_CONTROLLER_ERROR_CODES",
|
|
792
|
+
"LOCAL_AI_READINESS_CONTROLLER_EVENT_TYPES",
|
|
793
|
+
"LOCAL_AI_READINESS_CONTROLLER_REASONS",
|
|
760
794
|
"availabilityFromReport",
|
|
761
795
|
"createLocalAIReadinessController"
|
|
762
796
|
],
|
|
763
797
|
"summary": "Coordinates local-AI status component checks, ensured recovery, availability projection, and teardown.",
|
|
764
798
|
"availability": "Browser/native hybrid",
|
|
765
|
-
"protocol": "LocalAIReadiness + component
|
|
799
|
+
"protocol": "LocalAIReadiness + per-realm globalThis.arcaneEvents authority + one-way component projections",
|
|
766
800
|
"normalization": "Normalized controller state and change events.",
|
|
767
|
-
"surface": "`createLocalAIReadinessController()`, `availabilityFromReport()
|
|
801
|
+
"surface": "Event/error/reason constants, `createLocalAIReadinessController()`, and `availabilityFromReport()`; returned controller owns abort, refresh/ensure, subscription, and `destroy()` cleanup."
|
|
768
802
|
},
|
|
769
803
|
{
|
|
770
804
|
"file": "runtime/arcane/modules/Mail.js",
|
|
@@ -780,6 +814,26 @@
|
|
|
780
814
|
"normalization": "Mail inputs/results normalized; transport failures mixed.",
|
|
781
815
|
"surface": "default `Mail`, `resolveMailConfig()`; installs `window.mail`; `send()`."
|
|
782
816
|
},
|
|
817
|
+
{
|
|
818
|
+
"file": "runtime/arcane/modules/MailOutbox.mjs",
|
|
819
|
+
"name": "MailOutbox.mjs",
|
|
820
|
+
"kind": "esm",
|
|
821
|
+
"exports": [
|
|
822
|
+
"MAIL_OUTBOX_ACCEPTANCE_AUTHORITIES",
|
|
823
|
+
"MAIL_OUTBOX_IDEMPOTENCY_WINDOW_MS",
|
|
824
|
+
"MAIL_OUTBOX_PROTOCOL",
|
|
825
|
+
"MAIL_OUTBOX_STATES",
|
|
826
|
+
"MAIL_OUTBOX_TABLE",
|
|
827
|
+
"MailOutbox",
|
|
828
|
+
"createMailOutbox",
|
|
829
|
+
"default"
|
|
830
|
+
],
|
|
831
|
+
"summary": "Persists bounded mail reports before delivery and normalizes idempotent enqueue, retry, reconciliation, and invalid-record maintenance.",
|
|
832
|
+
"availability": "Browser/native WebView or compatible injected host with durable storage, Web Locks, and a delivery function",
|
|
833
|
+
"protocol": "arcane-mail-outbox/1 + injected durable storage + Web Locks + AbortSignal + online EventTarget",
|
|
834
|
+
"normalization": "Frozen records, idempotency and retry/reconciliation state, bounded drains/inventory, cancellation, and invalid-record maintenance are normalized; storage, lock, and delivery failures are coded.",
|
|
835
|
+
"surface": "Protocol/table/window/state/acceptance constants; `MailOutbox`, factory/default; read-only lifecycle diagnostics; record inspection and maintenance; enqueue, drain, start, and stop."
|
|
836
|
+
},
|
|
783
837
|
{
|
|
784
838
|
"file": "runtime/arcane/modules/MailTransport.mjs",
|
|
785
839
|
"name": "MailTransport.mjs",
|
|
@@ -787,14 +841,16 @@
|
|
|
787
841
|
"exports": [
|
|
788
842
|
"DEFAULT_MAIL_REQUEST_TIMEOUT_MS",
|
|
789
843
|
"MAX_MAIL_RESPONSE_BYTES",
|
|
844
|
+
"MailTransportError",
|
|
790
845
|
"normalizeMailEndpoint",
|
|
846
|
+
"serializeMailReport",
|
|
791
847
|
"sendMailReport"
|
|
792
848
|
],
|
|
793
849
|
"summary": "Sends one bounded mail report to a normalized HTTP(S) endpoint with timeout and response-size limits.",
|
|
794
850
|
"availability": "Browser/server with fetch + cloud",
|
|
795
851
|
"protocol": "HTTP(S) fetch + AbortController",
|
|
796
852
|
"normalization": "Normalized endpoint/timeout/size errors; remote detail bounded.",
|
|
797
|
-
"surface": "Timeout/size constants, `normalizeMailEndpoint()`, `sendMailReport()`."
|
|
853
|
+
"surface": "Timeout/size constants, `MailTransportError`, `normalizeMailEndpoint()`, `serializeMailReport()`, and `sendMailReport()`."
|
|
798
854
|
},
|
|
799
855
|
{
|
|
800
856
|
"file": "runtime/arcane/modules/Marked.min.js",
|
|
@@ -887,13 +943,15 @@
|
|
|
887
943
|
"name": "Ollama.js",
|
|
888
944
|
"kind": "esm",
|
|
889
945
|
"exports": [
|
|
946
|
+
"OLLAMA_EVENT_TYPES",
|
|
947
|
+
"OLLAMA_REASONS",
|
|
890
948
|
"Ollama",
|
|
891
949
|
"default",
|
|
892
950
|
"ollama"
|
|
893
951
|
],
|
|
894
952
|
"summary": "Provides the first-class Arcane Ollama client without direct access to localhost:11434.",
|
|
895
953
|
"availability": "Native bridge",
|
|
896
|
-
"protocol": "Arcane.ollama through Core",
|
|
954
|
+
"protocol": "Arcane.ollama through Core + per-realm globalThis.arcaneEvents authority",
|
|
897
955
|
"normalization": "Principal methods preserve provider-native envelopes; readiness/text/unload helpers normalize.",
|
|
898
956
|
"surface": "`Ollama`, singleton/default `ollama`; 24 methods; installs `globalThis.arcaneOllama`, emits `arcane-ollama-ready`."
|
|
899
957
|
},
|
|
@@ -932,14 +990,16 @@
|
|
|
932
990
|
"kind": "esm",
|
|
933
991
|
"exports": [
|
|
934
992
|
"OPEN_METEO_ENDPOINTS",
|
|
993
|
+
"OPEN_METEO_WEATHER_ERRORS",
|
|
994
|
+
"OPEN_METEO_WEATHER_EVENTS",
|
|
935
995
|
"default",
|
|
936
996
|
"mapForecast"
|
|
937
997
|
],
|
|
938
998
|
"summary": "Searches and loads Open-Meteo data into frozen Arcane weather entities.",
|
|
939
999
|
"availability": "Browser / native WebView / server with fetch + cloud",
|
|
940
|
-
"protocol": "Open-Meteo HTTPS",
|
|
1000
|
+
"protocol": "Open-Meteo HTTPS + per-realm globalThis.arcaneEvents authority",
|
|
941
1001
|
"normalization": "Provider data normalized to entities; transport errors mixed.",
|
|
942
|
-
"surface": "Endpoint constants, default provider, `mapForecast()`; search/load methods
|
|
1002
|
+
"surface": "Endpoint/event/error constants, default provider, `mapForecast()`; search/load methods, state-free EventTarget/on lifecycle compatibility, and `dispose()`."
|
|
943
1003
|
},
|
|
944
1004
|
{
|
|
945
1005
|
"file": "runtime/arcane/modules/PersistentAIChatSession.js",
|
|
@@ -961,15 +1021,17 @@
|
|
|
961
1021
|
"name": "PreferenceStore.js",
|
|
962
1022
|
"kind": "esm",
|
|
963
1023
|
"exports": [
|
|
1024
|
+
"PREFERENCE_STORE_ERROR_CODES",
|
|
1025
|
+
"PREFERENCE_STORE_EVENT_TYPES",
|
|
964
1026
|
"Preference",
|
|
965
1027
|
"default",
|
|
966
1028
|
"preferenceSchema"
|
|
967
1029
|
],
|
|
968
1030
|
"summary": "Loads and updates schema-defined app preferences through native storage with a narrow browser fallback.",
|
|
969
1031
|
"availability": "Browser/native hybrid",
|
|
970
|
-
"protocol": "Arcane.preferences or app-scoped localStorage",
|
|
1032
|
+
"protocol": "Arcane.preferences or app-scoped localStorage + per-realm globalThis.arcaneEvents authority",
|
|
971
1033
|
"normalization": "Values normalized; only exact unsupported capability falls back.",
|
|
972
|
-
"surface": "default `PreferenceStore`, re-exported `Preference`/schema; load/set/reset APIs and
|
|
1034
|
+
"surface": "Event/error constants, default `PreferenceStore`, re-exported `Preference`/schema; load/set/reset APIs, state-free EventTarget/on compatibility, and `dispose()`."
|
|
973
1035
|
},
|
|
974
1036
|
{
|
|
975
1037
|
"file": "runtime/arcane/modules/QRCode.min.js",
|
|
@@ -1035,15 +1097,17 @@
|
|
|
1035
1097
|
"name": "RecordReviewStore.js",
|
|
1036
1098
|
"kind": "esm",
|
|
1037
1099
|
"exports": [
|
|
1100
|
+
"RECORD_REVIEW_STORE_ERROR_CODES",
|
|
1101
|
+
"RECORD_REVIEW_STORE_EVENT_TYPES",
|
|
1038
1102
|
"default",
|
|
1039
1103
|
"normalizeRecordId",
|
|
1040
1104
|
"normalizeReview"
|
|
1041
1105
|
],
|
|
1042
1106
|
"summary": "Stores normalized record-review decisions through native storage or app-scoped local fallback.",
|
|
1043
1107
|
"availability": "Browser/native hybrid",
|
|
1044
|
-
"protocol": "Arcane.storage or localStorage",
|
|
1108
|
+
"protocol": "Arcane.storage or localStorage + per-realm globalThis.arcaneEvents authority",
|
|
1045
1109
|
"normalization": "Normalized ids/reviews/snapshots; storage failures mixed.",
|
|
1046
|
-
"surface": "default store, record/review normalizers; `load()`, `get()`, `set()`, `snapshot()`, change
|
|
1110
|
+
"surface": "Event/error constants, default store, record/review normalizers; `load()`, `get()`, `set()`, `snapshot()`, state-free EventTarget/on change compatibility, and `dispose()`."
|
|
1047
1111
|
},
|
|
1048
1112
|
{
|
|
1049
1113
|
"file": "runtime/arcane/modules/RevocableProjectionLedger.js",
|
|
@@ -1123,13 +1187,19 @@
|
|
|
1123
1187
|
"name": "ScreenCapture.js",
|
|
1124
1188
|
"kind": "esm",
|
|
1125
1189
|
"exports": [
|
|
1190
|
+
"SCREEN_CAPTURE_ERROR_CODES",
|
|
1191
|
+
"SCREEN_CAPTURE_ERRORS",
|
|
1192
|
+
"SCREEN_CAPTURE_EVENT_TYPES",
|
|
1193
|
+
"SCREEN_CAPTURE_IMAGE_TYPE_FALLBACK",
|
|
1194
|
+
"SCREEN_CAPTURE_REASONS",
|
|
1195
|
+
"SCREEN_CAPTURE_STATUSES",
|
|
1126
1196
|
"default"
|
|
1127
1197
|
],
|
|
1128
1198
|
"summary": "Captures a display surface as image, video, or GIF with explicit lifecycle events.",
|
|
1129
1199
|
"availability": "Browser / native WebView",
|
|
1130
|
-
"protocol": "getDisplayMedia, MediaRecorder, canvas, GifEncoder",
|
|
1200
|
+
"protocol": "getDisplayMedia, MediaRecorder, canvas, GifEncoder, and per-realm globalThis.arcaneEvents authority",
|
|
1131
1201
|
"normalization": "State/events normalized; permission and codec errors mixed.",
|
|
1132
|
-
"surface": "default `ScreenCapture`; acquire/capture/start/stop/reset methods
|
|
1202
|
+
"surface": "Event/status/error/reason and image-fallback constants; default `ScreenCapture`; acquire/capture/start/stop/reset methods, state-free EventTarget/on compatibility, and `destroy()`."
|
|
1133
1203
|
},
|
|
1134
1204
|
{
|
|
1135
1205
|
"file": "runtime/arcane/modules/SpeechPlayback.js",
|
|
@@ -1140,6 +1210,7 @@
|
|
|
1140
1210
|
"MAX_SPEECH_CHUNKS",
|
|
1141
1211
|
"MAX_SPEECH_INPUT",
|
|
1142
1212
|
"PREFERRED_STREAM_SEGMENT",
|
|
1213
|
+
"SPEECH_PLAYBACK_STATE_EVENT",
|
|
1143
1214
|
"SPEECH_VOICE_ALIASES",
|
|
1144
1215
|
"SPEECH_VOICE_OPTIONS",
|
|
1145
1216
|
"SpeechPlayback",
|
|
@@ -1147,10 +1218,10 @@
|
|
|
1147
1218
|
"splitSpeechText"
|
|
1148
1219
|
],
|
|
1149
1220
|
"summary": "Segments bounded text, queues latest-request speech synthesis, and controls lookahead HTML audio playback.",
|
|
1150
|
-
"availability": "Browser + native bridge",
|
|
1151
|
-
"protocol": "Arcane.speech.synthesize, Blob URLs, audio element",
|
|
1152
|
-
"normalization": "
|
|
1153
|
-
"surface": "SpeechPlayback class/default, voice/limit constants, `splitSpeechText()`, playback lifecycle APIs."
|
|
1221
|
+
"availability": "Browser + admitted AI/native bridge",
|
|
1222
|
+
"protocol": "AI.fetchTTS or compatible Arcane.speech.synthesize, globalThis.arcaneEvents, Blob URLs, audio element",
|
|
1223
|
+
"normalization": "Caller-owned model/voice/format policy, owned cancellation, playable Blob results, lifecycle state, and limits are normalized; provider admission remains external.",
|
|
1224
|
+
"surface": "SpeechPlayback class/default, `SPEECH_PLAYBACK_STATE_EVENT`, compatibility voice/limit constants, `splitSpeechText()`, caller-configured playback lifecycle, cancellation, and destroy APIs."
|
|
1154
1225
|
},
|
|
1155
1226
|
{
|
|
1156
1227
|
"file": "runtime/arcane/modules/StaticDocumentCatalog.js",
|
|
@@ -1211,13 +1282,16 @@
|
|
|
1211
1282
|
"name": "TerminalClient.js",
|
|
1212
1283
|
"kind": "esm",
|
|
1213
1284
|
"exports": [
|
|
1285
|
+
"TERMINAL_CLIENT_ERROR_CODES",
|
|
1286
|
+
"TERMINAL_CLIENT_EVENT_TYPES",
|
|
1287
|
+
"TERMINAL_CLIENT_REASONS",
|
|
1214
1288
|
"default"
|
|
1215
1289
|
],
|
|
1216
1290
|
"summary": "Maps native terminal sessions and Arcane events into an EventTarget client.",
|
|
1217
1291
|
"availability": "Native bridge",
|
|
1218
|
-
"protocol": "Arcane.terminal
|
|
1292
|
+
"protocol": "Arcane.terminal host transport projected once through the per-realm globalThis.arcaneEvents authority",
|
|
1219
1293
|
"normalization": "Client events/state normalized; native result/error mixed.",
|
|
1220
|
-
"surface": "default `TerminalClient`; start/write/resize/signal/close/receive/destroy APIs and terminal
|
|
1294
|
+
"surface": "Event/error/reason constants; default `TerminalClient`; start/write/resize/signal/close/receive/destroy APIs and state-free EventTarget/on terminal compatibility."
|
|
1221
1295
|
},
|
|
1222
1296
|
{
|
|
1223
1297
|
"file": "runtime/arcane/modules/TerminalCommandRegistry.js",
|
|
@@ -1240,13 +1314,14 @@
|
|
|
1240
1314
|
"exports": [
|
|
1241
1315
|
"arcaneThemeReady",
|
|
1242
1316
|
"bootstrapArcaneTheme",
|
|
1243
|
-
"default"
|
|
1317
|
+
"default",
|
|
1318
|
+
"disposeArcaneThemeBootstrap"
|
|
1244
1319
|
],
|
|
1245
1320
|
"summary": "Performs import-time Arcane theme loading and subscribes to native appearance changes.",
|
|
1246
1321
|
"availability": "Browser/native hybrid",
|
|
1247
|
-
"protocol": "ThemeManager + Arcane.events",
|
|
1322
|
+
"protocol": "ThemeManager + host Arcane.events projected once through the per-realm globalThis.arcaneEvents authority",
|
|
1248
1323
|
"normalization": "Theme state normalized; storage/native errors mixed.",
|
|
1249
|
-
"surface": "`bootstrapArcaneTheme()`, `arcaneThemeReady`, default ready promise."
|
|
1324
|
+
"surface": "`bootstrapArcaneTheme()`, `disposeArcaneThemeBootstrap()`, `arcaneThemeReady`, and default ready promise."
|
|
1250
1325
|
},
|
|
1251
1326
|
{
|
|
1252
1327
|
"file": "runtime/arcane/modules/ThemeManager.js",
|
|
@@ -1328,6 +1403,8 @@
|
|
|
1328
1403
|
"name": "WaitForComponent.js",
|
|
1329
1404
|
"kind": "esm",
|
|
1330
1405
|
"exports": [
|
|
1406
|
+
"COMPONENT_WAIT_ERROR_CODES",
|
|
1407
|
+
"COMPONENT_WAIT_REASONS",
|
|
1331
1408
|
"default"
|
|
1332
1409
|
],
|
|
1333
1410
|
"summary": "Waits for a component property, method, or readiness event with optional error event and bounded timeout.",
|