arcane-os 0.3.0 → 0.3.2

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.
Files changed (153) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +86 -117
  3. package/bin/arcane-test.mjs +170 -46
  4. package/browser-runtime/ai/browser-speech-artifacts.mjs +887 -909
  5. package/browser-runtime/ai/browser-speech-providers.mjs +96 -152
  6. package/browser-runtime/ai/browser-wasm-llm-provider.mjs +627 -819
  7. package/browser-runtime/ai/browser-wasm.mjs +24 -35
  8. package/browser-runtime/ai/browser-wllama-runtime.mjs +64 -316
  9. package/browser-runtime/ai/model-controller.mjs +584 -181
  10. package/browser-runtime/ai/speech-worker-client.mjs +8 -146
  11. package/browser-runtime/ai/speech-worker-runtime.mjs +643 -363
  12. package/browser-runtime/dom-event-instrumentation.mjs +55 -147
  13. package/browser-runtime/event-manager.mjs +239 -624
  14. package/package.json +5 -6
  15. package/runtime/arcane/components/app-bar.html +3 -15
  16. package/runtime/arcane/components/assistant-panel.html +10 -10
  17. package/runtime/arcane/components/calculator.html +1 -1
  18. package/runtime/arcane/components/chat.html +1359 -135
  19. package/runtime/arcane/components/conversation-view.html +2 -2
  20. package/runtime/arcane/components/document-inspector.html +11 -17
  21. package/runtime/arcane/components/file-manager.html +13 -56
  22. package/runtime/arcane/components/markdown-document.html +82 -281
  23. package/runtime/arcane/components/markdown-editor.html +7 -10
  24. package/runtime/arcane/components/media-embed.html +6 -6
  25. package/runtime/arcane/components/screen-capture.html +4 -4
  26. package/runtime/arcane/components/source-explanation.html +2 -2
  27. package/runtime/arcane/components/speech.html +112 -68
  28. package/runtime/arcane/components/terminal-workspace.html +4 -4
  29. package/runtime/arcane/components/theme-editor.html +1 -1
  30. package/runtime/arcane/components/unified-inbox.html +2 -2
  31. package/runtime/arcane/components/voice-transcription.html +31 -21
  32. package/runtime/arcane/entities/Calculation.js +2 -3
  33. package/runtime/arcane/entities/Chat.js +228 -43
  34. package/runtime/arcane/entities/Preference.js +3 -5
  35. package/runtime/arcane/entities/Weather.js +5 -5
  36. package/runtime/arcane/modules/AI.js +1050 -427
  37. package/runtime/arcane/modules/AIProviderRuntime.js +658 -363
  38. package/runtime/arcane/modules/AIResponseLength.js +9 -19
  39. package/runtime/arcane/modules/AIRuntimeState.js +109 -72
  40. package/runtime/arcane/modules/ArcaneNavigationPolicy.js +45 -32
  41. package/runtime/arcane/modules/BrowserTestSuite.js +78 -122
  42. package/runtime/arcane/modules/CalculatorEngine.js +9 -9
  43. package/runtime/arcane/modules/CommunicationAppController.js +3 -7
  44. package/runtime/arcane/modules/ComponentContracts.js +30 -32
  45. package/runtime/arcane/modules/ConfiguredAIChatSession.js +281 -230
  46. package/runtime/arcane/modules/ConversationActionItems.js +26 -59
  47. package/runtime/arcane/modules/ConversationClosingReport.js +34 -61
  48. package/runtime/arcane/modules/ConversationTimebox.js +27 -15
  49. package/runtime/arcane/modules/DBOPFSDocumentLibrary.js +152 -344
  50. package/runtime/arcane/modules/DocumentLexicalSearch.js +25 -91
  51. package/runtime/arcane/modules/HTMLImport.js +54 -1
  52. package/runtime/arcane/modules/IsolatedModelQuestionRunner.js +40 -203
  53. package/runtime/arcane/modules/LocalAIReadiness.js +40 -60
  54. package/runtime/arcane/modules/LocalAIReadinessController.js +15 -13
  55. package/runtime/arcane/modules/MD.js +1 -45
  56. package/runtime/arcane/modules/Mail.js +51 -103
  57. package/runtime/arcane/modules/MailOutbox.mjs +95 -193
  58. package/runtime/arcane/modules/MailTransport.mjs +36 -57
  59. package/runtime/arcane/modules/ModelDefinition.js +22 -106
  60. package/runtime/arcane/modules/OpenMeteoWeatherProvider.js +39 -101
  61. package/runtime/arcane/modules/PersistentAIChatSession.js +281 -18
  62. package/runtime/arcane/modules/PreferenceStore.js +102 -30
  63. package/runtime/arcane/modules/RiskSignalAnalyzer.js +8 -9
  64. package/runtime/arcane/modules/ScopedOPFSCache.js +7 -42
  65. package/runtime/arcane/modules/ScreenCapture.js +175 -128
  66. package/runtime/arcane/modules/SpeechPlayback.js +46 -149
  67. package/runtime/arcane/modules/StaticDocumentCatalog.js +173 -407
  68. package/runtime/arcane/modules/ToolCallRouter.js +25 -12
  69. package/runtime/arcane/modules/YouTubeMedia.js +6 -5
  70. package/schemas/arcane-app-bundle.schema.json +13 -78
  71. package/schemas/arcane-app.schema.json +9 -25
  72. package/schemas/arcane-lock.schema.json +18 -151
  73. package/schemas/arcane-package.schema.json +2 -16
  74. package/schemas/native-build-plan.schema.json +119 -122
  75. package/src/app-descriptor.mjs +75 -132
  76. package/src/application-tests.mjs +200 -0
  77. package/src/cli/main.mjs +27 -46
  78. package/src/constants.mjs +3 -4
  79. package/src/dev-server.mjs +30 -324
  80. package/src/doctor.mjs +92 -154
  81. package/src/dom-event-instrumentation.mjs +55 -147
  82. package/src/errors.mjs +2 -3
  83. package/src/event-manager.mjs +239 -624
  84. package/src/event-queue.mjs +3 -3
  85. package/src/import-map.mjs +273 -1028
  86. package/src/index.mjs +14 -16
  87. package/src/installed-sdk-runtime.mjs +40 -62
  88. package/src/integrated-provider-loader.mjs +53 -382
  89. package/src/mail-api.mjs +0 -2
  90. package/src/mail-server.mjs +224 -580
  91. package/src/mail.mjs +4 -10
  92. package/src/native-plan.mjs +163 -598
  93. package/src/native-provider-loader.mjs +104 -1063
  94. package/src/packager/core.mjs +485 -3229
  95. package/src/process.mjs +5 -10
  96. package/src/release-bundle.mjs +292 -2405
  97. package/src/runtime.mjs +76 -396
  98. package/src/scaffold.mjs +30 -80
  99. package/src/sdk-browser-runtime.mjs +70 -626
  100. package/src/source-server.mjs +588 -0
  101. package/src/targets/index.mjs +78 -188
  102. package/src/templates/workspace-template.mjs +19 -135
  103. package/src/testing-loader.mjs +164 -0
  104. package/src/testing.mjs +1 -1
  105. package/src/toolchain.mjs +131 -544
  106. package/src/update-check.mjs +26 -64
  107. package/src/workspace-operation-lock.mjs +139 -430
  108. package/src/workspace-runtime.mjs +112 -779
  109. package/src/workspace.mjs +40 -302
  110. package/browser-runtime/ARCANE_SDK_BROWSER_RELEASE.json +0 -218
  111. package/browser-runtime/ai/ARCANE_AI_BROWSER_SPEECH_COMPONENTS.json +0 -203
  112. package/browser-runtime/ai/ARCANE_AI_BROWSER_WASM_COMPONENTS.json +0 -80
  113. package/browser-runtime/ai/internal/sha256.mjs +0 -166
  114. package/docs/architecture.md +0 -344
  115. package/docs/compatibility.md +0 -36
  116. package/docs/event-manager.md +0 -294
  117. package/docs/platform-targets.md +0 -108
  118. package/docs/publishing.md +0 -201
  119. package/docs/reference/README.md +0 -187
  120. package/docs/reference/ai/browser-speech-package-authority.json +0 -835
  121. package/docs/reference/ai/browser-speech.md +0 -1252
  122. package/docs/reference/ai/browser-wasm.md +0 -530
  123. package/docs/reference/arcane-ollama.md +0 -288
  124. package/docs/reference/availability-and-normalization.md +0 -183
  125. package/docs/reference/behavioral-testing.md +0 -133
  126. package/docs/reference/cli.md +0 -779
  127. package/docs/reference/core/README.md +0 -62
  128. package/docs/reference/core/arcane-ai-contracts.md +0 -907
  129. package/docs/reference/core/arcane-api.md +0 -601
  130. package/docs/reference/core/arcane-entities.md +0 -65
  131. package/docs/reference/core/arcane-events.md +0 -134
  132. package/docs/reference/core/ollama-module.md +0 -181
  133. package/docs/reference/core/reference/arcane-api/ai-and-ollama.md +0 -1909
  134. package/docs/reference/core/reference/arcane-api/applications-terminal-capabilities.md +0 -1057
  135. package/docs/reference/core/reference/arcane-api/core-and-events.md +0 -320
  136. package/docs/reference/core/reference/arcane-api/filesystem-storage-preferences-appearance.md +0 -610
  137. package/docs/reference/core/reference/arcane-api/namespaces.md +0 -1157
  138. package/docs/reference/core/reference/arcane-api/platform-installation-users-system.md +0 -1423
  139. package/docs/reference/core/reference/arcane-api/session-provisioning-diagnostics-development.md +0 -315
  140. package/docs/reference/event-manager.md +0 -1511
  141. package/docs/reference/inventory/package-api.json +0 -3284
  142. package/docs/reference/inventory/runtime-components.json +0 -1011
  143. package/docs/reference/inventory/runtime-entities.json +0 -26
  144. package/docs/reference/inventory/runtime-modules.json +0 -1431
  145. package/docs/reference/mail.md +0 -316
  146. package/docs/reference/protocols.md +0 -677
  147. package/docs/reference/runtime-components.md +0 -1366
  148. package/docs/reference/runtime-entities.md +0 -303
  149. package/docs/reference/runtime-modules.md +0 -2960
  150. package/docs/reference/sdk-api.md +0 -6694
  151. package/docs/roadmap.md +0 -79
  152. package/docs/work-amplification.md +0 -129
  153. package/runtime/ARCANE_RUNTIME_RELEASE.json +0 -826
@@ -1,1011 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "source": {
4
- "authority": "sdk-canonical",
5
- "repository": "https://github.com/TheWizardNexus/arcane-os-sdk.git",
6
- "commit": "75b01e7ddcd751f7970d8c1aaf18bfff05b706b7",
7
- "path": "runtime/arcane/components",
8
- "sdkVersion": "0.3.0",
9
- "legacyProjection": {
10
- "repository": "https://github.com/TheWizardNexus/ARCANE-OS.git",
11
- "commit": "c540014afe69f14cf5ae60493b7295f36dbcec64",
12
- "bundleVersion": "0.8.12"
13
- }
14
- },
15
- "componentCount": 39,
16
- "loader": "/arcane/modules/HTMLImport.js",
17
- "artifacts": [
18
- {
19
- "file": "runtime/arcane/components/app-bar.html",
20
- "name": "app-bar.html",
21
- "purpose": "Responsive application navigation, route state, status, and trailing actions.",
22
- "methods": [
23
- "setNavigation()",
24
- "setActiveRoute()",
25
- "setStatus()",
26
- "refresh()",
27
- "destroy()"
28
- ],
29
- "events": [
30
- "app-bar-ready"
31
- ],
32
- "slots": [
33
- "brand-mark",
34
- "product-name",
35
- "navigation",
36
- "status",
37
- "trailing"
38
- ],
39
- "dependencies": [],
40
- "availability": "Browser and supported native WebViews",
41
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
42
- "normalization": "DOM-normalized"
43
- },
44
- {
45
- "file": "runtime/arcane/components/assistant-panel.html",
46
- "name": "assistant-panel.html",
47
- "purpose": "Reusable assistant drawer, message area, composer, pending/streaming/empty/error state, and actions.",
48
- "methods": [
49
- "open()",
50
- "close()",
51
- "toggle()",
52
- "send()",
53
- "clear()",
54
- "setState()",
55
- "focusComposer()",
56
- "scrollToEnd()",
57
- "destroy()"
58
- ],
59
- "events": [
60
- "assistant-ready",
61
- "assistant-opened",
62
- "assistant-closed",
63
- "assistant-send",
64
- "assistant-clear"
65
- ],
66
- "slots": [
67
- "title",
68
- "subtitle",
69
- "identity",
70
- "messages/message",
71
- "composer",
72
- "actions",
73
- "pending",
74
- "streaming",
75
- "empty",
76
- "error",
77
- "footer"
78
- ],
79
- "dependencies": [],
80
- "availability": "Browser and supported native WebViews",
81
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
82
- "normalization": "DOM-normalized; caller/provider results remain external"
83
- },
84
- {
85
- "file": "runtime/arcane/components/calculator.html",
86
- "name": "calculator.html",
87
- "purpose": "Calculator keypad and result/error event surface backed by CalculatorEngine.",
88
- "methods": [
89
- "calculate()",
90
- "destroy()"
91
- ],
92
- "events": [
93
- "calculator-ready",
94
- "calculation-complete",
95
- "calculation-error"
96
- ],
97
- "slots": [],
98
- "dependencies": [
99
- "CalculatorEngine.js"
100
- ],
101
- "availability": "Browser and supported native WebViews",
102
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
103
- "normalization": "Normalized Calculation/error events"
104
- },
105
- {
106
- "file": "runtime/arcane/components/chart.html",
107
- "name": "chart.html",
108
- "purpose": "Accessible uPlot line, area, or point chart with normalized options and rows.",
109
- "methods": [
110
- "configure()",
111
- "populate()",
112
- "setData()",
113
- "addData()",
114
- "update()",
115
- "destroy()"
116
- ],
117
- "events": [
118
- "chart-ready",
119
- "chart-remove"
120
- ],
121
- "slots": [],
122
- "dependencies": [
123
- "ChartLibrary.js",
124
- "ComponentContracts.js"
125
- ],
126
- "availability": "Browser and supported native WebViews",
127
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
128
- "normalization": "Options/rows normalized; uPlot rendering is vendor-native"
129
- },
130
- {
131
- "file": "runtime/arcane/components/chat.html",
132
- "name": "chat.html",
133
- "purpose": "Shared chat, visible selected-model activation request, file upload, streaming, speech, language, availability, and conversation-timebox surface.",
134
- "methods": [
135
- "streamMessage()",
136
- "setMessageProgress()",
137
- "setAIAvailability()",
138
- "setInitialSpeechMuted()",
139
- "setConversationComplete()",
140
- "bindConversationTimebox()",
141
- "submitMessage()",
142
- "sendMessage()",
143
- "languageChanged()",
144
- "requestAIActivation()",
145
- "destroy()"
146
- ],
147
- "events": [
148
- "chat-ready",
149
- "chat-send-message",
150
- "chat-send-error",
151
- "chat-file-uploaded",
152
- "chat-file-upload-error",
153
- "chat-language-changed",
154
- "chat-language-change-error",
155
- "chat-ai-activation-request",
156
- "chat-ai-activation-error",
157
- "chat-speech-synthesis-error",
158
- "conversation-timebox-error"
159
- ],
160
- "slots": [],
161
- "dependencies": [
162
- "MD.js",
163
- "File.js",
164
- "ConversationTimebox.js",
165
- "AIRuntimeState.js"
166
- ],
167
- "availability": "Browser and supported native WebViews",
168
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
169
- "normalization": "UI/runtime state and explicit user activation intent/request normalized; destroy aborts state/activation observation, releases page/speech listeners, clears ready, returns undefined, and does not initiate provider lifecycle; the provider/runtime owner executes any load; AI/storage/media behavior mixed"
170
- },
171
- {
172
- "file": "runtime/arcane/components/conversation-view.html",
173
- "name": "conversation-view.html",
174
- "purpose": "Provider-neutral conversation display, advisory actions, composer, busy state, and status.",
175
- "methods": [
176
- "setConversation()",
177
- "setBusy()",
178
- "setStatus()",
179
- "clearComposer()",
180
- "destroy()"
181
- ],
182
- "events": [
183
- "conversation-view-ready",
184
- "communication-send",
185
- "communication-advisory-action"
186
- ],
187
- "slots": [],
188
- "dependencies": [],
189
- "availability": "Browser and supported native WebViews",
190
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
191
- "normalization": "DOM-normalized"
192
- },
193
- {
194
- "file": "runtime/arcane/components/dashboard-config.html",
195
- "name": "dashboard-config.html",
196
- "purpose": "Selects which normalized chart definitions are visible on a dashboard.",
197
- "methods": [
198
- "configure()",
199
- "setDefinitions()",
200
- "setVisibility()",
201
- "getChartOptions()",
202
- "getEffectiveVisibility()",
203
- "open()",
204
- "close()",
205
- "destroy()"
206
- ],
207
- "events": [
208
- "dashboard-config-ready",
209
- "dashboard-config-opened",
210
- "dashboard-config-closed",
211
- "dashboard-config-change"
212
- ],
213
- "slots": [],
214
- "dependencies": [
215
- "ComponentContracts.js",
216
- "WaitForComponent.js"
217
- ],
218
- "availability": "Browser and supported native WebViews",
219
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
220
- "normalization": "Fully normalized definitions and visibility"
221
- },
222
- {
223
- "file": "runtime/arcane/components/data-maintenance.html",
224
- "name": "data-maintenance.html",
225
- "purpose": "Runs destructive cleanup of empty chats and memories inside the current app data scope.",
226
- "methods": [
227
- "open()",
228
- "destroy()"
229
- ],
230
- "events": [
231
- "data-maintenance-ready",
232
- "data-maintenance-complete"
233
- ],
234
- "slots": [],
235
- "dependencies": [
236
- "DataMaintenance.js",
237
- "WaitForComponent.js"
238
- ],
239
- "availability": "Browser and supported native WebViews",
240
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
241
- "normalization": "Normalized counts; DBOPFS failures mixed"
242
- },
243
- {
244
- "file": "runtime/arcane/components/data-view.html",
245
- "name": "data-view.html",
246
- "purpose": "Opens a generic modal-style data view around an injected provider.",
247
- "methods": [
248
- "beforeOpen()",
249
- "open()",
250
- "destroy()"
251
- ],
252
- "events": [
253
- "data-view-ready"
254
- ],
255
- "slots": [],
256
- "dependencies": [
257
- "WaitForComponent.js"
258
- ],
259
- "availability": "Browser and supported native WebViews",
260
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
261
- "normalization": "DOM-native result"
262
- },
263
- {
264
- "file": "runtime/arcane/components/directory-picker.html",
265
- "name": "directory-picker.html",
266
- "purpose": "Presents the provider-owned OS directory chooser with change/cancel/error states.",
267
- "methods": [
268
- "configure()",
269
- "focus()",
270
- "select()",
271
- "destroy()"
272
- ],
273
- "events": [
274
- "directory-picker-ready",
275
- "directory-picker-change",
276
- "directory-picker-cancel",
277
- "directory-picker-error"
278
- ],
279
- "slots": [],
280
- "dependencies": [
281
- "DirectoryPicker.js"
282
- ],
283
- "availability": "Browser and supported native WebViews",
284
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
285
- "normalization": "Strict normalized native selection/error"
286
- },
287
- {
288
- "file": "runtime/arcane/components/document-inspector.html",
289
- "name": "document-inspector.html",
290
- "purpose": "Inspects PDF, text, or source documents and records review state.",
291
- "methods": [
292
- "loadDocument()",
293
- "selectView()",
294
- "markSaved()",
295
- "destroy()"
296
- ],
297
- "events": [
298
- "document-inspector-ready",
299
- "document-review-change"
300
- ],
301
- "slots": [],
302
- "dependencies": [
303
- "MD.js"
304
- ],
305
- "availability": "Browser and supported native WebViews",
306
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
307
- "normalization": "Document state normalized; browser document APIs mixed"
308
- },
309
- {
310
- "file": "runtime/arcane/components/file-drop.html",
311
- "name": "file-drop.html",
312
- "purpose": "Acquires files by drag/drop or picker and presents busy, progress, error, and cleared state.",
313
- "methods": [
314
- "configure()",
315
- "openPicker()",
316
- "clear()",
317
- "setBusy()",
318
- "setError()",
319
- "setProgress()",
320
- "destroy()"
321
- ],
322
- "events": [
323
- "file-drop-ready",
324
- "file-drop-selected",
325
- "file-drop-progress",
326
- "file-drop-state",
327
- "file-drop-error"
328
- ],
329
- "slots": [],
330
- "dependencies": [],
331
- "availability": "Browser and supported native WebViews",
332
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
333
- "normalization": "State normalized; browser File/drop errors mixed"
334
- },
335
- {
336
- "file": "runtime/arcane/components/file-inspector.html",
337
- "name": "file-inspector.html",
338
- "purpose": "Displays file metadata, preview, busy/error state, and caller-defined actions.",
339
- "methods": [
340
- "configure()",
341
- "show()",
342
- "clear()",
343
- "setActions()",
344
- "setBusy()",
345
- "setError()",
346
- "setPreview()",
347
- "destroy()"
348
- ],
349
- "events": [
350
- "file-inspector-ready",
351
- "file-inspector-action",
352
- "file-inspector-change",
353
- "file-inspector-cleared",
354
- "file-inspector-error"
355
- ],
356
- "slots": [
357
- "title",
358
- "preview",
359
- "metadata",
360
- "actions"
361
- ],
362
- "dependencies": [],
363
- "availability": "Browser and supported native WebViews",
364
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
365
- "normalization": "State normalized; preview/provider behavior mixed"
366
- },
367
- {
368
- "file": "runtime/arcane/components/file-manager.html",
369
- "name": "file-manager.html",
370
- "purpose": "Browses, filters, selects, opens, and acts on app-scoped files.",
371
- "methods": [
372
- "setProvider()",
373
- "loadAll()",
374
- "setFilter()",
375
- "select()",
376
- "clearSelection()",
377
- "destroy()"
378
- ],
379
- "events": [
380
- "file-manager-ready",
381
- "file-manager-select",
382
- "file-manager-open",
383
- "file-manager-action"
384
- ],
385
- "slots": [],
386
- "dependencies": [
387
- "DBOPFS.js",
388
- "File.js",
389
- "WaitForComponent.js"
390
- ],
391
- "availability": "Browser and supported native WebViews",
392
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
393
- "normalization": "Selection/filter state normalized; storage/provider behavior mixed"
394
- },
395
- {
396
- "file": "runtime/arcane/components/header.html",
397
- "name": "header.html",
398
- "purpose": "Legacy title bar with history, reload, online marker, presentation labels, and 988 link.",
399
- "methods": [],
400
- "events": [],
401
- "slots": [],
402
- "dependencies": [],
403
- "availability": "Browser and supported native WebViews",
404
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
405
- "normalization": "Browser/platform-native behavior; no component-ready contract"
406
- },
407
- {
408
- "file": "runtime/arcane/components/integration-settings.html",
409
- "name": "integration-settings.html",
410
- "purpose": "Edits non-secret communication service configuration and service actions.",
411
- "methods": [
412
- "configure()",
413
- "getValues()",
414
- "setStatus()",
415
- "destroy()"
416
- ],
417
- "events": [
418
- "integration-settings-ready",
419
- "integration-settings-save",
420
- "integration-settings-close",
421
- "integration-action"
422
- ],
423
- "slots": [],
424
- "dependencies": [],
425
- "availability": "Browser and supported native WebViews",
426
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
427
- "normalization": "Normalized non-secret values"
428
- },
429
- {
430
- "file": "runtime/arcane/components/local-ai-status.html",
431
- "name": "local-ai-status.html",
432
- "purpose": "Presents local-AI standby, failure, recovery, guidance, retry, and dismissal states.",
433
- "methods": [
434
- "configure()",
435
- "begin()",
436
- "present()",
437
- "destroy()",
438
- "hidden property"
439
- ],
440
- "events": [
441
- "local-ai-status-ready",
442
- "local-ai-status-dismissed",
443
- "local-ai-retry"
444
- ],
445
- "slots": [],
446
- "dependencies": [
447
- "LocalAIReadiness.js"
448
- ],
449
- "availability": "Browser and supported native WebViews",
450
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
451
- "normalization": "Fully normalized LocalAIReadiness report"
452
- },
453
- {
454
- "file": "runtime/arcane/components/markdown-document.html",
455
- "name": "markdown-document.html",
456
- "purpose": "Safely renders and navigates a Markdown document with focusable fragments.",
457
- "methods": [
458
- "configure()",
459
- "load()",
460
- "render()",
461
- "clear()",
462
- "fail()",
463
- "focus()",
464
- "focusFragment()",
465
- "destroy()"
466
- ],
467
- "events": [
468
- "markdown-document-ready",
469
- "markdown-document-state",
470
- "markdown-document-loading",
471
- "markdown-document-rendered",
472
- "markdown-document-empty",
473
- "markdown-document-error",
474
- "markdown-document-navigate"
475
- ],
476
- "slots": [],
477
- "dependencies": [
478
- "MD.js"
479
- ],
480
- "availability": "Browser and supported native WebViews",
481
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
482
- "normalization": "State/sanitized output normalized; Marked/DOM failures mixed"
483
- },
484
- {
485
- "file": "runtime/arcane/components/markdown-editor.html",
486
- "name": "markdown-editor.html",
487
- "purpose": "Configurable Markdown authoring, toolbar, preview, title, and save surface.",
488
- "methods": [
489
- "configure()",
490
- "focus()",
491
- "clear()",
492
- "saveEntry()",
493
- "destroy()"
494
- ],
495
- "events": [
496
- "markdown-editor-ready",
497
- "markdown-editor-change",
498
- "markdown-editor-saved"
499
- ],
500
- "slots": [],
501
- "dependencies": [
502
- "MD.js",
503
- "ComponentContracts.js"
504
- ],
505
- "availability": "Browser and supported native WebViews",
506
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
507
- "normalization": "Editor values normalized; injected save result mixed"
508
- },
509
- {
510
- "file": "runtime/arcane/components/media-embed.html",
511
- "name": "media-embed.html",
512
- "purpose": "Loads a validated YouTube video or playlist embed and exposes external-platform action.",
513
- "methods": [
514
- "configure()",
515
- "load()",
516
- "destroy()"
517
- ],
518
- "events": [
519
- "media-embed-ready",
520
- "media-load",
521
- "media-error",
522
- "media-open-platform"
523
- ],
524
- "slots": [],
525
- "dependencies": [
526
- "YouTubeMedia.js"
527
- ],
528
- "availability": "Browser and supported native WebViews",
529
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
530
- "normalization": "URL/error normalized; iframe/platform behavior native"
531
- },
532
- {
533
- "file": "runtime/arcane/components/modal.html",
534
- "name": "modal.html",
535
- "purpose": "Generic modal with population, open/close, actions, and sequential task execution.",
536
- "methods": [
537
- "populate()",
538
- "open()",
539
- "close()",
540
- "runTasks()",
541
- "destroy()"
542
- ],
543
- "events": [
544
- "modal-ready",
545
- "modal-opened",
546
- "modal-closed",
547
- "modal-action"
548
- ],
549
- "slots": [
550
- "header",
551
- "body",
552
- "footer"
553
- ],
554
- "dependencies": [],
555
- "availability": "Browser and supported native WebViews",
556
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
557
- "normalization": "Modal state normalized; injected task results mixed"
558
- },
559
- {
560
- "file": "runtime/arcane/components/output-panel.html",
561
- "name": "output-panel.html",
562
- "purpose": "Presents status, output, body, coverage, actions, pending, error, and cleared states.",
563
- "methods": [
564
- "configure()",
565
- "setOutput()",
566
- "setBody()",
567
- "setCoverage()",
568
- "setActions()",
569
- "setPending()",
570
- "setStatus()",
571
- "setError()",
572
- "clear()",
573
- "destroy()"
574
- ],
575
- "events": [
576
- "output-panel-ready",
577
- "output-panel-state",
578
- "output-panel-change",
579
- "output-panel-action",
580
- "output-panel-error",
581
- "output-panel-cleared"
582
- ],
583
- "slots": [
584
- "title",
585
- "header-actions",
586
- "body",
587
- "coverage",
588
- "actions"
589
- ],
590
- "dependencies": [],
591
- "availability": "Browser and supported native WebViews",
592
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
593
- "normalization": "DOM-normalized"
594
- },
595
- {
596
- "file": "runtime/arcane/components/preferences-form.html",
597
- "name": "preferences-form.html",
598
- "purpose": "Builds a schema-driven preferences form with submit, reset, busy, and status behavior.",
599
- "methods": [
600
- "configure()",
601
- "getValues()",
602
- "setValues()",
603
- "setBusy()",
604
- "setStatus()",
605
- "destroy()"
606
- ],
607
- "events": [
608
- "preferences-form-ready",
609
- "preferences-change",
610
- "preferences-submit",
611
- "preferences-reset"
612
- ],
613
- "slots": [],
614
- "dependencies": [],
615
- "availability": "Browser and supported native WebViews",
616
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
617
- "normalization": "Normalized form values"
618
- },
619
- {
620
- "file": "runtime/arcane/components/record-timeline.html",
621
- "name": "record-timeline.html",
622
- "purpose": "Displays chronological records/evidence and emits open actions.",
623
- "methods": [
624
- "setItems()",
625
- "populate()",
626
- "destroy()"
627
- ],
628
- "events": [
629
- "record-timeline-ready",
630
- "record-timeline-open"
631
- ],
632
- "slots": [],
633
- "dependencies": [],
634
- "availability": "Browser and supported native WebViews",
635
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
636
- "normalization": "DOM-normalized"
637
- },
638
- {
639
- "file": "runtime/arcane/components/relationship-board.html",
640
- "name": "relationship-board.html",
641
- "purpose": "Displays normalized relationship nodes/edges in graph and list forms.",
642
- "methods": [
643
- "setGraph()",
644
- "populate()",
645
- "destroy()"
646
- ],
647
- "events": [
648
- "relationship-board-ready",
649
- "relationship-node-open",
650
- "relationship-edge-open"
651
- ],
652
- "slots": [],
653
- "dependencies": [],
654
- "availability": "Browser and supported native WebViews",
655
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
656
- "normalization": "DOM-normalized"
657
- },
658
- {
659
- "file": "runtime/arcane/components/screen-capture.html",
660
- "name": "screen-capture.html",
661
- "purpose": "Presents image, video, or GIF display-capture workflow.",
662
- "methods": [
663
- "capture property (ScreenCapture instance)",
664
- "destroy()"
665
- ],
666
- "events": [
667
- "screen-capture-ready",
668
- "screen-capture-result"
669
- ],
670
- "slots": [],
671
- "dependencies": [
672
- "ScreenCapture.js"
673
- ],
674
- "availability": "Browser and supported native WebViews",
675
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
676
- "normalization": "State/result normalized; media permission/codec failures mixed"
677
- },
678
- {
679
- "file": "runtime/arcane/components/source-code-viewer.html",
680
- "name": "source-code-viewer.html",
681
- "purpose": "Renders line-addressable source code with load, error, focus, and state behavior.",
682
- "methods": [
683
- "configure()",
684
- "load()",
685
- "render()",
686
- "clear()",
687
- "fail()",
688
- "focus()",
689
- "focusLine()",
690
- "destroy()"
691
- ],
692
- "events": [
693
- "source-code-viewer-ready",
694
- "source-code-viewer-state",
695
- "source-code-viewer-state-loading",
696
- "source-code-viewer-state-ready",
697
- "source-code-viewer-state-empty",
698
- "source-code-viewer-state-error"
699
- ],
700
- "slots": [],
701
- "dependencies": [],
702
- "availability": "Browser and supported native WebViews",
703
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
704
- "normalization": "Normalized source/state"
705
- },
706
- {
707
- "file": "runtime/arcane/components/source-explanation.html",
708
- "name": "source-explanation.html",
709
- "purpose": "Presents an evidence finding, source selection, explanation, and save state.",
710
- "methods": [
711
- "showFinding()",
712
- "populate()",
713
- "selectSource()",
714
- "markSaved()",
715
- "destroy()"
716
- ],
717
- "events": [
718
- "source-explanation-ready",
719
- "source-explanation-save",
720
- "source-explanation-source-selected"
721
- ],
722
- "slots": [],
723
- "dependencies": [],
724
- "availability": "Browser and supported native WebViews",
725
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
726
- "normalization": "DOM-normalized"
727
- },
728
- {
729
- "file": "runtime/arcane/components/speech.html",
730
- "name": "speech.html",
731
- "purpose": "Coordinates explicit speech-to-text activation, request cancellation, speech controls, transcription completion, mute state, and microphone availability.",
732
- "methods": [
733
- "configure()",
734
- "setAvailability()",
735
- "setMuted()",
736
- "reportTTSError()",
737
- "requestSTTActivation()",
738
- "destroy()",
739
- "availability",
740
- "muted",
741
- "initialMuted",
742
- "componentReady"
743
- ],
744
- "events": [
745
- "speech-ready",
746
- "speech-transcription-complete",
747
- "speech-transcription-error",
748
- "speech-transcription-cancelled",
749
- "speech-microphone-unavailable",
750
- "speech-stt-activation-request",
751
- "speech-stt-activation-error",
752
- "speech-tts-lifecycle-error",
753
- "speech-synthesis-error"
754
- ],
755
- "slots": [],
756
- "dependencies": [
757
- "AI.js",
758
- "AIRuntimeState.js",
759
- "ComponentContracts.js",
760
- "DBLS.js"
761
- ],
762
- "availability": "Browser and supported native WebViews",
763
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
764
- "normalization": "UI/runtime state, explicit STT activation intent, and request-owned cancellation are normalized; positive compatibility booleans cannot manufacture provider readiness; provider/model authority and media behavior remain external"
765
- },
766
- {
767
- "file": "runtime/arcane/components/summary-strip.html",
768
- "name": "summary-strip.html",
769
- "purpose": "Displays compact selectable KPI or summary items.",
770
- "methods": [
771
- "configure()",
772
- "setItems()",
773
- "updateItem()",
774
- "clear()",
775
- "destroy()"
776
- ],
777
- "events": [
778
- "summary-strip-ready",
779
- "summary-strip-change",
780
- "summary-strip-select"
781
- ],
782
- "slots": [],
783
- "dependencies": [],
784
- "availability": "Browser and supported native WebViews",
785
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
786
- "normalization": "DOM-normalized"
787
- },
788
- {
789
- "file": "runtime/arcane/components/table.html",
790
- "name": "table.html",
791
- "purpose": "Builds and updates a simple header/body table.",
792
- "methods": [
793
- "buildHeader()",
794
- "buildTable()",
795
- "destroy()"
796
- ],
797
- "events": [
798
- "table-ready",
799
- "header-update",
800
- "body-update"
801
- ],
802
- "slots": [],
803
- "dependencies": [],
804
- "availability": "Browser and supported native WebViews",
805
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
806
- "normalization": "DOM-normalized"
807
- },
808
- {
809
- "file": "runtime/arcane/components/task-progress.html",
810
- "name": "task-progress.html",
811
- "purpose": "Runs and displays a task list with started/change/complete/error state.",
812
- "methods": [
813
- "configure()",
814
- "setTasks()",
815
- "updateTask()",
816
- "runTasks()",
817
- "clear()",
818
- "destroy()"
819
- ],
820
- "events": [
821
- "task-progress-ready",
822
- "task-progress-started",
823
- "task-progress-change",
824
- "task-progress-complete",
825
- "task-progress-error"
826
- ],
827
- "slots": [],
828
- "dependencies": [],
829
- "availability": "Browser and supported native WebViews",
830
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
831
- "normalization": "Task state normalized; injected task results mixed"
832
- },
833
- {
834
- "file": "runtime/arcane/components/terminal-workspace.html",
835
- "name": "terminal-workspace.html",
836
- "purpose": "Presents multiple terminal sessions, output, active selection, theme, and terminal actions.",
837
- "methods": [
838
- "configure()",
839
- "addSession()",
840
- "removeSession()",
841
- "activateSession()",
842
- "append()",
843
- "clear()",
844
- "setState()",
845
- "setTheme()",
846
- "focus()",
847
- "destroy()"
848
- ],
849
- "events": [
850
- "terminal-workspace-ready",
851
- "terminal-submit",
852
- "terminal-interrupt",
853
- "terminal-clear",
854
- "terminal-session-new",
855
- "terminal-session-close",
856
- "terminal-session-select",
857
- "terminal-settings"
858
- ],
859
- "slots": [],
860
- "dependencies": [
861
- "AnsiText.js"
862
- ],
863
- "availability": "Browser and supported native WebViews",
864
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
865
- "normalization": "UI/session state normalized; native command results supplied externally"
866
- },
867
- {
868
- "file": "runtime/arcane/components/theme-editor.html",
869
- "name": "theme-editor.html",
870
- "purpose": "Edits, previews, saves, and resets semantic custom theme tokens.",
871
- "methods": [
872
- "configure()",
873
- "getTheme()",
874
- "setTheme()",
875
- "setBusy()",
876
- "setStatus()",
877
- "destroy()"
878
- ],
879
- "events": [
880
- "theme-editor-ready",
881
- "theme-preview",
882
- "theme-save",
883
- "theme-reset"
884
- ],
885
- "slots": [],
886
- "dependencies": [
887
- "Theme.js"
888
- ],
889
- "availability": "Browser and supported native WebViews",
890
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
891
- "normalization": "Fully normalized Theme values"
892
- },
893
- {
894
- "file": "runtime/arcane/components/theme-switcher.html",
895
- "name": "theme-switcher.html",
896
- "purpose": "Selects and refreshes system, light, dark, or custom theme mode.",
897
- "methods": [
898
- "setMode()",
899
- "refresh()"
900
- ],
901
- "events": [],
902
- "slots": [],
903
- "dependencies": [
904
- "ThemeManager.js"
905
- ],
906
- "availability": "Browser and supported native WebViews",
907
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
908
- "normalization": "Preference/native appearance behavior mixed; no component-ready contract"
909
- },
910
- {
911
- "file": "runtime/arcane/components/unified-inbox.html",
912
- "name": "unified-inbox.html",
913
- "purpose": "Displays provider-neutral communication threads with active/loading state.",
914
- "methods": [
915
- "configure()",
916
- "setThreads()",
917
- "setActive()",
918
- "setLoading()",
919
- "destroy()"
920
- ],
921
- "events": [
922
- "unified-inbox-ready",
923
- "inbox-refresh",
924
- "thread-select"
925
- ],
926
- "slots": [],
927
- "dependencies": [],
928
- "availability": "Browser and supported native WebViews",
929
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
930
- "normalization": "DOM-normalized"
931
- },
932
- {
933
- "file": "runtime/arcane/components/voice-transcription.html",
934
- "name": "voice-transcription.html",
935
- "purpose": "Records segmented microphone audio only after authoritative STT admission, exposes explicit selected-STT activation, transcribes with cancellation, persists, and completes a combined transcript.",
936
- "methods": [
937
- "configure()",
938
- "requestSTTActivation()",
939
- "startRecording()",
940
- "stopRecording()",
941
- "save()",
942
- "completeTranscription()/complete()",
943
- "clear()",
944
- "reset()",
945
- "destroy()"
946
- ],
947
- "events": [
948
- "voice-transcription-ready",
949
- "voice-transcription-state",
950
- "voice-transcription-segment",
951
- "voice-transcription-change",
952
- "voice-transcription-complete",
953
- "speech-transcription-complete",
954
- "speech-transcription-cancelled",
955
- "speech-stt-activation-request",
956
- "speech-stt-activation-error"
957
- ],
958
- "slots": [],
959
- "dependencies": [
960
- "MD.js",
961
- "ComponentContracts.js",
962
- "AIRuntimeState.js",
963
- "AI.js"
964
- ],
965
- "availability": "Browser and supported native WebViews",
966
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
967
- "normalization": "Sticky runtime STT readiness, explicit activation, request cancellation, and state/text are normalized; media/provider behavior remains external"
968
- },
969
- {
970
- "file": "runtime/arcane/components/weather-widget.html",
971
- "name": "weather-widget.html",
972
- "purpose": "Displays normalized current and daily weather with refresh intent.",
973
- "methods": [
974
- "setWeather()",
975
- "clear()",
976
- "destroy()"
977
- ],
978
- "events": [
979
- "weather-widget-ready",
980
- "weather-refresh"
981
- ],
982
- "slots": [],
983
- "dependencies": [],
984
- "availability": "Browser and supported native WebViews",
985
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
986
- "normalization": "Display normalized; provider supplied externally"
987
- },
988
- {
989
- "file": "runtime/arcane/components/web-navigator.html",
990
- "name": "web-navigator.html",
991
- "purpose": "Guards embedded/external navigation and surfaces allow/block/open intents.",
992
- "methods": [
993
- "configure()",
994
- "navigate()",
995
- "currentUrl()",
996
- "destroy()"
997
- ],
998
- "events": [
999
- "web-navigator-ready",
1000
- "web-navigate",
1001
- "web-navigation-blocked",
1002
- "web-open-external"
1003
- ],
1004
- "slots": [],
1005
- "dependencies": [],
1006
- "availability": "Browser and supported native WebViews",
1007
- "transport": "HTMLImport + DOM; injected Arcane/provider modules where listed",
1008
- "normalization": "Navigation intent/decision normalized; browser navigation result platform-native"
1009
- }
1010
- ]
1011
- }