arcane-os 0.2.2 → 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 +29 -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 +27 -27
- 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 +6 -3
- package/docs/reference/behavioral-testing.md +29 -6
- package/docs/reference/cli.md +117 -9
- 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 +108 -44
- package/docs/reference/inventory/runtime-modules.json +131 -53
- package/docs/reference/mail.md +316 -0
- package/docs/reference/protocols.md +157 -43
- package/docs/reference/runtime-components.md +258 -83
- package/docs/reference/runtime-modules.md +613 -77
- 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 +462 -384
- 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 +639 -98
- 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 +470 -0
- 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,10 +421,14 @@
|
|
|
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",
|
|
409
430
|
"applyMarkdownFormat",
|
|
431
|
+
"createSTTActivationController",
|
|
410
432
|
"effectiveDashboardVisibility",
|
|
411
433
|
"normalizeChartOptions",
|
|
412
434
|
"normalizeChartRows",
|
|
@@ -417,11 +439,11 @@
|
|
|
417
439
|
"normalizeMarkdownOptions",
|
|
418
440
|
"normalizeVoiceOptions"
|
|
419
441
|
],
|
|
420
|
-
"summary": "Owns normalized configuration/value contracts shared
|
|
421
|
-
"availability": "Cross-host",
|
|
442
|
+
"summary": "Owns normalized configuration/value contracts and shared explicit STT activation behavior for chart, dashboard, Markdown, and voice components.",
|
|
443
|
+
"availability": "Cross-host with an injected event constructor outside DOM hosts",
|
|
422
444
|
"protocol": "In-process only",
|
|
423
|
-
"normalization": "Fully normalized labels, rows, definitions, visibility, formats, editor and voice options.",
|
|
424
|
-
"surface": "
|
|
445
|
+
"normalization": "Fully normalized labels, rows, definitions, visibility, formats, editor and voice options, plus capability-neutral STT activation intent and presentation state.",
|
|
446
|
+
"surface": "Constant sets plus normalization, formatting, and explicit STT activation helpers."
|
|
425
447
|
},
|
|
426
448
|
{
|
|
427
449
|
"file": "runtime/arcane/modules/ConfiguredAIChatSession.js",
|
|
@@ -489,8 +511,11 @@
|
|
|
489
511
|
"name": "ConversationTimebox.js",
|
|
490
512
|
"kind": "esm",
|
|
491
513
|
"exports": [
|
|
514
|
+
"CONVERSATION_TIMEBOX_ERROR_CODES",
|
|
515
|
+
"CONVERSATION_TIMEBOX_EVENT_TYPES",
|
|
492
516
|
"CONVERSATION_TIMEBOX_LIMIT_MESSAGE",
|
|
493
517
|
"CONVERSATION_TIMEBOX_OPENING_INSTRUCTION",
|
|
518
|
+
"CONVERSATION_TIMEBOX_REASONS",
|
|
494
519
|
"CONVERSATION_TIMEBOX_TOOL_NAME",
|
|
495
520
|
"ConversationSubmissionBarrier",
|
|
496
521
|
"appendConversationTimeboxOpeningInstruction",
|
|
@@ -505,9 +530,9 @@
|
|
|
505
530
|
],
|
|
506
531
|
"summary": "Owns conversation limits, control messages, submission barriers, elapsed formatting, and delivery proof.",
|
|
507
532
|
"availability": "Cross-host",
|
|
508
|
-
"protocol": "Clock/timers and
|
|
533
|
+
"protocol": "Clock/timers, callbacks, and per-realm globalThis.arcaneEvents authority",
|
|
509
534
|
"normalization": "Fully normalized state/command/delivery errors.",
|
|
510
|
-
"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()`."
|
|
511
536
|
},
|
|
512
537
|
{
|
|
513
538
|
"file": "runtime/arcane/modules/CoreLocalModelCatalog.js",
|
|
@@ -546,11 +571,13 @@
|
|
|
546
571
|
"name": "DBLS.js",
|
|
547
572
|
"kind": "esm",
|
|
548
573
|
"exports": [
|
|
574
|
+
"DBLS_EVENT_TYPES",
|
|
575
|
+
"DBLS_REASONS",
|
|
549
576
|
"default"
|
|
550
577
|
],
|
|
551
578
|
"summary": "Provides app-scoped localStorage tables, batch reads/writes, filtering, deletion, and counts.",
|
|
552
579
|
"availability": "Browser / native WebView",
|
|
553
|
-
"protocol": "localStorage + AppDataScope",
|
|
580
|
+
"protocol": "localStorage + AppDataScope + per-realm globalThis.arcaneEvents authority",
|
|
554
581
|
"normalization": "Scoped keys and values normalized; storage failures mixed.",
|
|
555
582
|
"surface": "default `DBLS`; installs `window.dbls`, emits `dbls-ready`; CRUD/batch/key APIs."
|
|
556
583
|
},
|
|
@@ -559,11 +586,13 @@
|
|
|
559
586
|
"name": "DBOPFS.js",
|
|
560
587
|
"kind": "esm",
|
|
561
588
|
"exports": [
|
|
589
|
+
"DBOPFS_EVENT_TYPES",
|
|
590
|
+
"DBOPFS_REASONS",
|
|
562
591
|
"default"
|
|
563
592
|
],
|
|
564
593
|
"summary": "Provides app-scoped OPFS tables, worker I/O, backup/restore, compression, and CRUD/batch APIs.",
|
|
565
594
|
"availability": "Browser / native WebView",
|
|
566
|
-
"protocol": "OPFS, DBOPFSWorker, Compression Streams",
|
|
595
|
+
"protocol": "OPFS, DBOPFSWorker, Compression Streams, and per-realm globalThis.arcaneEvents authority",
|
|
567
596
|
"normalization": "App scope normalized; DOM/storage errors preserved.",
|
|
568
597
|
"surface": "default `DBOPFS`; installs `window.dbopfs`, emits `dbopfs-ready`; table/file/backup APIs."
|
|
569
598
|
},
|
|
@@ -668,6 +697,9 @@
|
|
|
668
697
|
"name": "Errors.js",
|
|
669
698
|
"kind": "esm",
|
|
670
699
|
"exports": [
|
|
700
|
+
"GLOBAL_ERROR_EVENT_CODES",
|
|
701
|
+
"GLOBAL_ERROR_EVENT_TYPES",
|
|
702
|
+
"GLOBAL_ERROR_REASONS",
|
|
671
703
|
"default",
|
|
672
704
|
"fingerprintIncident",
|
|
673
705
|
"normalizeErrorEvent",
|
|
@@ -675,9 +707,9 @@
|
|
|
675
707
|
],
|
|
676
708
|
"summary": "Normalizes global errors/rejections, fingerprints and deduplicates incidents, persists a ledger, and performs bounded delivery.",
|
|
677
709
|
"availability": "Browser / native WebView hybrid",
|
|
678
|
-
"protocol": "Window
|
|
710
|
+
"protocol": "Window error input, DBOPFS, Mail, and per-realm globalThis.arcaneEvents authority",
|
|
679
711
|
"normalization": "Incident records normalized; storage/mail failures isolated.",
|
|
680
|
-
"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."
|
|
681
713
|
},
|
|
682
714
|
{
|
|
683
715
|
"file": "runtime/arcane/modules/GifEncoder.js",
|
|
@@ -756,14 +788,17 @@
|
|
|
756
788
|
"name": "LocalAIReadinessController.js",
|
|
757
789
|
"kind": "esm",
|
|
758
790
|
"exports": [
|
|
791
|
+
"LOCAL_AI_READINESS_CONTROLLER_ERROR_CODES",
|
|
792
|
+
"LOCAL_AI_READINESS_CONTROLLER_EVENT_TYPES",
|
|
793
|
+
"LOCAL_AI_READINESS_CONTROLLER_REASONS",
|
|
759
794
|
"availabilityFromReport",
|
|
760
795
|
"createLocalAIReadinessController"
|
|
761
796
|
],
|
|
762
797
|
"summary": "Coordinates local-AI status component checks, ensured recovery, availability projection, and teardown.",
|
|
763
798
|
"availability": "Browser/native hybrid",
|
|
764
|
-
"protocol": "LocalAIReadiness + component
|
|
799
|
+
"protocol": "LocalAIReadiness + per-realm globalThis.arcaneEvents authority + one-way component projections",
|
|
765
800
|
"normalization": "Normalized controller state and change events.",
|
|
766
|
-
"surface": "`createLocalAIReadinessController()`, `availabilityFromReport()
|
|
801
|
+
"surface": "Event/error/reason constants, `createLocalAIReadinessController()`, and `availabilityFromReport()`; returned controller owns abort, refresh/ensure, subscription, and `destroy()` cleanup."
|
|
767
802
|
},
|
|
768
803
|
{
|
|
769
804
|
"file": "runtime/arcane/modules/Mail.js",
|
|
@@ -779,6 +814,26 @@
|
|
|
779
814
|
"normalization": "Mail inputs/results normalized; transport failures mixed.",
|
|
780
815
|
"surface": "default `Mail`, `resolveMailConfig()`; installs `window.mail`; `send()`."
|
|
781
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
|
+
},
|
|
782
837
|
{
|
|
783
838
|
"file": "runtime/arcane/modules/MailTransport.mjs",
|
|
784
839
|
"name": "MailTransport.mjs",
|
|
@@ -786,14 +841,16 @@
|
|
|
786
841
|
"exports": [
|
|
787
842
|
"DEFAULT_MAIL_REQUEST_TIMEOUT_MS",
|
|
788
843
|
"MAX_MAIL_RESPONSE_BYTES",
|
|
844
|
+
"MailTransportError",
|
|
789
845
|
"normalizeMailEndpoint",
|
|
846
|
+
"serializeMailReport",
|
|
790
847
|
"sendMailReport"
|
|
791
848
|
],
|
|
792
849
|
"summary": "Sends one bounded mail report to a normalized HTTP(S) endpoint with timeout and response-size limits.",
|
|
793
850
|
"availability": "Browser/server with fetch + cloud",
|
|
794
851
|
"protocol": "HTTP(S) fetch + AbortController",
|
|
795
852
|
"normalization": "Normalized endpoint/timeout/size errors; remote detail bounded.",
|
|
796
|
-
"surface": "Timeout/size constants, `normalizeMailEndpoint()`, `sendMailReport()`."
|
|
853
|
+
"surface": "Timeout/size constants, `MailTransportError`, `normalizeMailEndpoint()`, `serializeMailReport()`, and `sendMailReport()`."
|
|
797
854
|
},
|
|
798
855
|
{
|
|
799
856
|
"file": "runtime/arcane/modules/Marked.min.js",
|
|
@@ -886,13 +943,15 @@
|
|
|
886
943
|
"name": "Ollama.js",
|
|
887
944
|
"kind": "esm",
|
|
888
945
|
"exports": [
|
|
946
|
+
"OLLAMA_EVENT_TYPES",
|
|
947
|
+
"OLLAMA_REASONS",
|
|
889
948
|
"Ollama",
|
|
890
949
|
"default",
|
|
891
950
|
"ollama"
|
|
892
951
|
],
|
|
893
952
|
"summary": "Provides the first-class Arcane Ollama client without direct access to localhost:11434.",
|
|
894
953
|
"availability": "Native bridge",
|
|
895
|
-
"protocol": "Arcane.ollama through Core",
|
|
954
|
+
"protocol": "Arcane.ollama through Core + per-realm globalThis.arcaneEvents authority",
|
|
896
955
|
"normalization": "Principal methods preserve provider-native envelopes; readiness/text/unload helpers normalize.",
|
|
897
956
|
"surface": "`Ollama`, singleton/default `ollama`; 24 methods; installs `globalThis.arcaneOllama`, emits `arcane-ollama-ready`."
|
|
898
957
|
},
|
|
@@ -931,14 +990,16 @@
|
|
|
931
990
|
"kind": "esm",
|
|
932
991
|
"exports": [
|
|
933
992
|
"OPEN_METEO_ENDPOINTS",
|
|
993
|
+
"OPEN_METEO_WEATHER_ERRORS",
|
|
994
|
+
"OPEN_METEO_WEATHER_EVENTS",
|
|
934
995
|
"default",
|
|
935
996
|
"mapForecast"
|
|
936
997
|
],
|
|
937
998
|
"summary": "Searches and loads Open-Meteo data into frozen Arcane weather entities.",
|
|
938
999
|
"availability": "Browser / native WebView / server with fetch + cloud",
|
|
939
|
-
"protocol": "Open-Meteo HTTPS",
|
|
1000
|
+
"protocol": "Open-Meteo HTTPS + per-realm globalThis.arcaneEvents authority",
|
|
940
1001
|
"normalization": "Provider data normalized to entities; transport errors mixed.",
|
|
941
|
-
"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()`."
|
|
942
1003
|
},
|
|
943
1004
|
{
|
|
944
1005
|
"file": "runtime/arcane/modules/PersistentAIChatSession.js",
|
|
@@ -960,15 +1021,17 @@
|
|
|
960
1021
|
"name": "PreferenceStore.js",
|
|
961
1022
|
"kind": "esm",
|
|
962
1023
|
"exports": [
|
|
1024
|
+
"PREFERENCE_STORE_ERROR_CODES",
|
|
1025
|
+
"PREFERENCE_STORE_EVENT_TYPES",
|
|
963
1026
|
"Preference",
|
|
964
1027
|
"default",
|
|
965
1028
|
"preferenceSchema"
|
|
966
1029
|
],
|
|
967
1030
|
"summary": "Loads and updates schema-defined app preferences through native storage with a narrow browser fallback.",
|
|
968
1031
|
"availability": "Browser/native hybrid",
|
|
969
|
-
"protocol": "Arcane.preferences or app-scoped localStorage",
|
|
1032
|
+
"protocol": "Arcane.preferences or app-scoped localStorage + per-realm globalThis.arcaneEvents authority",
|
|
970
1033
|
"normalization": "Values normalized; only exact unsupported capability falls back.",
|
|
971
|
-
"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()`."
|
|
972
1035
|
},
|
|
973
1036
|
{
|
|
974
1037
|
"file": "runtime/arcane/modules/QRCode.min.js",
|
|
@@ -1034,15 +1097,17 @@
|
|
|
1034
1097
|
"name": "RecordReviewStore.js",
|
|
1035
1098
|
"kind": "esm",
|
|
1036
1099
|
"exports": [
|
|
1100
|
+
"RECORD_REVIEW_STORE_ERROR_CODES",
|
|
1101
|
+
"RECORD_REVIEW_STORE_EVENT_TYPES",
|
|
1037
1102
|
"default",
|
|
1038
1103
|
"normalizeRecordId",
|
|
1039
1104
|
"normalizeReview"
|
|
1040
1105
|
],
|
|
1041
1106
|
"summary": "Stores normalized record-review decisions through native storage or app-scoped local fallback.",
|
|
1042
1107
|
"availability": "Browser/native hybrid",
|
|
1043
|
-
"protocol": "Arcane.storage or localStorage",
|
|
1108
|
+
"protocol": "Arcane.storage or localStorage + per-realm globalThis.arcaneEvents authority",
|
|
1044
1109
|
"normalization": "Normalized ids/reviews/snapshots; storage failures mixed.",
|
|
1045
|
-
"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()`."
|
|
1046
1111
|
},
|
|
1047
1112
|
{
|
|
1048
1113
|
"file": "runtime/arcane/modules/RevocableProjectionLedger.js",
|
|
@@ -1122,13 +1187,19 @@
|
|
|
1122
1187
|
"name": "ScreenCapture.js",
|
|
1123
1188
|
"kind": "esm",
|
|
1124
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",
|
|
1125
1196
|
"default"
|
|
1126
1197
|
],
|
|
1127
1198
|
"summary": "Captures a display surface as image, video, or GIF with explicit lifecycle events.",
|
|
1128
1199
|
"availability": "Browser / native WebView",
|
|
1129
|
-
"protocol": "getDisplayMedia, MediaRecorder, canvas, GifEncoder",
|
|
1200
|
+
"protocol": "getDisplayMedia, MediaRecorder, canvas, GifEncoder, and per-realm globalThis.arcaneEvents authority",
|
|
1130
1201
|
"normalization": "State/events normalized; permission and codec errors mixed.",
|
|
1131
|
-
"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()`."
|
|
1132
1203
|
},
|
|
1133
1204
|
{
|
|
1134
1205
|
"file": "runtime/arcane/modules/SpeechPlayback.js",
|
|
@@ -1139,6 +1210,7 @@
|
|
|
1139
1210
|
"MAX_SPEECH_CHUNKS",
|
|
1140
1211
|
"MAX_SPEECH_INPUT",
|
|
1141
1212
|
"PREFERRED_STREAM_SEGMENT",
|
|
1213
|
+
"SPEECH_PLAYBACK_STATE_EVENT",
|
|
1142
1214
|
"SPEECH_VOICE_ALIASES",
|
|
1143
1215
|
"SPEECH_VOICE_OPTIONS",
|
|
1144
1216
|
"SpeechPlayback",
|
|
@@ -1146,10 +1218,10 @@
|
|
|
1146
1218
|
"splitSpeechText"
|
|
1147
1219
|
],
|
|
1148
1220
|
"summary": "Segments bounded text, queues latest-request speech synthesis, and controls lookahead HTML audio playback.",
|
|
1149
|
-
"availability": "Browser + native bridge",
|
|
1150
|
-
"protocol": "Arcane.speech.synthesize, Blob URLs, audio element",
|
|
1151
|
-
"normalization": "
|
|
1152
|
-
"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."
|
|
1153
1225
|
},
|
|
1154
1226
|
{
|
|
1155
1227
|
"file": "runtime/arcane/modules/StaticDocumentCatalog.js",
|
|
@@ -1210,13 +1282,16 @@
|
|
|
1210
1282
|
"name": "TerminalClient.js",
|
|
1211
1283
|
"kind": "esm",
|
|
1212
1284
|
"exports": [
|
|
1285
|
+
"TERMINAL_CLIENT_ERROR_CODES",
|
|
1286
|
+
"TERMINAL_CLIENT_EVENT_TYPES",
|
|
1287
|
+
"TERMINAL_CLIENT_REASONS",
|
|
1213
1288
|
"default"
|
|
1214
1289
|
],
|
|
1215
1290
|
"summary": "Maps native terminal sessions and Arcane events into an EventTarget client.",
|
|
1216
1291
|
"availability": "Native bridge",
|
|
1217
|
-
"protocol": "Arcane.terminal
|
|
1292
|
+
"protocol": "Arcane.terminal host transport projected once through the per-realm globalThis.arcaneEvents authority",
|
|
1218
1293
|
"normalization": "Client events/state normalized; native result/error mixed.",
|
|
1219
|
-
"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."
|
|
1220
1295
|
},
|
|
1221
1296
|
{
|
|
1222
1297
|
"file": "runtime/arcane/modules/TerminalCommandRegistry.js",
|
|
@@ -1239,13 +1314,14 @@
|
|
|
1239
1314
|
"exports": [
|
|
1240
1315
|
"arcaneThemeReady",
|
|
1241
1316
|
"bootstrapArcaneTheme",
|
|
1242
|
-
"default"
|
|
1317
|
+
"default",
|
|
1318
|
+
"disposeArcaneThemeBootstrap"
|
|
1243
1319
|
],
|
|
1244
1320
|
"summary": "Performs import-time Arcane theme loading and subscribes to native appearance changes.",
|
|
1245
1321
|
"availability": "Browser/native hybrid",
|
|
1246
|
-
"protocol": "ThemeManager + Arcane.events",
|
|
1322
|
+
"protocol": "ThemeManager + host Arcane.events projected once through the per-realm globalThis.arcaneEvents authority",
|
|
1247
1323
|
"normalization": "Theme state normalized; storage/native errors mixed.",
|
|
1248
|
-
"surface": "`bootstrapArcaneTheme()`, `arcaneThemeReady`, default ready promise."
|
|
1324
|
+
"surface": "`bootstrapArcaneTheme()`, `disposeArcaneThemeBootstrap()`, `arcaneThemeReady`, and default ready promise."
|
|
1249
1325
|
},
|
|
1250
1326
|
{
|
|
1251
1327
|
"file": "runtime/arcane/modules/ThemeManager.js",
|
|
@@ -1327,6 +1403,8 @@
|
|
|
1327
1403
|
"name": "WaitForComponent.js",
|
|
1328
1404
|
"kind": "esm",
|
|
1329
1405
|
"exports": [
|
|
1406
|
+
"COMPONENT_WAIT_ERROR_CODES",
|
|
1407
|
+
"COMPONENT_WAIT_REASONS",
|
|
1330
1408
|
"default"
|
|
1331
1409
|
],
|
|
1332
1410
|
"summary": "Waits for a component property, method, or readiness event with optional error event and bounded timeout.",
|