arcane-os 0.1.0-dev.5

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 (248) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/COMMERCIAL-LICENSE.md +13 -0
  3. package/LICENSE +661 -0
  4. package/NOTICE +70 -0
  5. package/README.md +448 -0
  6. package/bin/arcane-test.mjs +741 -0
  7. package/bin/arcane.mjs +5 -0
  8. package/docs/architecture.md +234 -0
  9. package/docs/compatibility.md +36 -0
  10. package/docs/event-manager.md +166 -0
  11. package/docs/platform-targets.md +108 -0
  12. package/docs/publishing.md +203 -0
  13. package/docs/reference/README.md +117 -0
  14. package/docs/reference/arcane-ollama.md +288 -0
  15. package/docs/reference/availability-and-normalization.md +123 -0
  16. package/docs/reference/behavioral-testing.md +86 -0
  17. package/docs/reference/cli.md +569 -0
  18. package/docs/reference/core/README.md +62 -0
  19. package/docs/reference/core/arcane-ai-contracts.md +873 -0
  20. package/docs/reference/core/arcane-api.md +601 -0
  21. package/docs/reference/core/arcane-entities.md +65 -0
  22. package/docs/reference/core/arcane-events.md +134 -0
  23. package/docs/reference/core/ollama-module.md +181 -0
  24. package/docs/reference/core/reference/arcane-api/ai-and-ollama.md +1909 -0
  25. package/docs/reference/core/reference/arcane-api/applications-terminal-capabilities.md +1057 -0
  26. package/docs/reference/core/reference/arcane-api/core-and-events.md +320 -0
  27. package/docs/reference/core/reference/arcane-api/filesystem-storage-preferences-appearance.md +610 -0
  28. package/docs/reference/core/reference/arcane-api/namespaces.md +1157 -0
  29. package/docs/reference/core/reference/arcane-api/platform-installation-users-system.md +1423 -0
  30. package/docs/reference/core/reference/arcane-api/session-provisioning-diagnostics-development.md +315 -0
  31. package/docs/reference/event-manager.md +957 -0
  32. package/docs/reference/inventory/package-api.json +2632 -0
  33. package/docs/reference/inventory/runtime-components.json +934 -0
  34. package/docs/reference/inventory/runtime-entities.json +26 -0
  35. package/docs/reference/inventory/runtime-modules.json +1249 -0
  36. package/docs/reference/protocols.md +242 -0
  37. package/docs/reference/runtime-components.md +1098 -0
  38. package/docs/reference/runtime-entities.md +303 -0
  39. package/docs/reference/runtime-modules.md +2010 -0
  40. package/docs/reference/sdk-api.md +4901 -0
  41. package/docs/roadmap.md +79 -0
  42. package/docs/work-amplification.md +124 -0
  43. package/node_modules/event-pubsub/CHANGELOG.md +55 -0
  44. package/node_modules/event-pubsub/MIGRATION.md +70 -0
  45. package/node_modules/event-pubsub/README.md +363 -0
  46. package/node_modules/event-pubsub/SECURITY.md +37 -0
  47. package/node_modules/event-pubsub/index.js +141 -0
  48. package/node_modules/event-pubsub/licence +21 -0
  49. package/node_modules/event-pubsub/package.json +59 -0
  50. package/node_modules/strong-type/README.md +408 -0
  51. package/node_modules/strong-type/assets/strong-type-header.png +0 -0
  52. package/node_modules/strong-type/index.js +1151 -0
  53. package/node_modules/strong-type/licence +21 -0
  54. package/node_modules/strong-type/node.js +125 -0
  55. package/node_modules/strong-type/package.json +61 -0
  56. package/package.json +95 -0
  57. package/runtime/ARCANE_RUNTIME_RELEASE.json +791 -0
  58. package/runtime/arcane/components/app-bar.html +468 -0
  59. package/runtime/arcane/components/assistant-panel.html +715 -0
  60. package/runtime/arcane/components/calculator.html +8 -0
  61. package/runtime/arcane/components/chart.html +655 -0
  62. package/runtime/arcane/components/chat.html +1225 -0
  63. package/runtime/arcane/components/conversation-view.html +13 -0
  64. package/runtime/arcane/components/dashboard-config.html +341 -0
  65. package/runtime/arcane/components/data-maintenance.html +112 -0
  66. package/runtime/arcane/components/data-view.html +92 -0
  67. package/runtime/arcane/components/directory-picker.html +197 -0
  68. package/runtime/arcane/components/document-inspector.html +252 -0
  69. package/runtime/arcane/components/file-drop.html +264 -0
  70. package/runtime/arcane/components/file-inspector.html +293 -0
  71. package/runtime/arcane/components/file-manager.html +1715 -0
  72. package/runtime/arcane/components/header.html +142 -0
  73. package/runtime/arcane/components/integration-settings.html +14 -0
  74. package/runtime/arcane/components/local-ai-status.html +360 -0
  75. package/runtime/arcane/components/markdown-document.html +1048 -0
  76. package/runtime/arcane/components/markdown-editor.html +360 -0
  77. package/runtime/arcane/components/media-embed.html +8 -0
  78. package/runtime/arcane/components/modal.html +402 -0
  79. package/runtime/arcane/components/output-panel.html +259 -0
  80. package/runtime/arcane/components/preferences-form.html +135 -0
  81. package/runtime/arcane/components/record-timeline.html +105 -0
  82. package/runtime/arcane/components/relationship-board.html +116 -0
  83. package/runtime/arcane/components/screen-capture.html +8 -0
  84. package/runtime/arcane/components/source-code-viewer.html +441 -0
  85. package/runtime/arcane/components/source-explanation.html +124 -0
  86. package/runtime/arcane/components/speech.html +365 -0
  87. package/runtime/arcane/components/summary-strip.html +177 -0
  88. package/runtime/arcane/components/table.html +77 -0
  89. package/runtime/arcane/components/task-progress.html +282 -0
  90. package/runtime/arcane/components/terminal-workspace.html +65 -0
  91. package/runtime/arcane/components/theme-editor.html +41 -0
  92. package/runtime/arcane/components/theme-switcher.html +46 -0
  93. package/runtime/arcane/components/unified-inbox.html +20 -0
  94. package/runtime/arcane/components/voice-transcription.html +476 -0
  95. package/runtime/arcane/components/weather-widget.html +8 -0
  96. package/runtime/arcane/components/web-navigator.html +239 -0
  97. package/runtime/arcane/css/communications.css +1 -0
  98. package/runtime/arcane/css/dashboard-config.css +45 -0
  99. package/runtime/arcane/css/document-site.css +981 -0
  100. package/runtime/arcane/css/layout.css +438 -0
  101. package/runtime/arcane/css/primitives.css +321 -0
  102. package/runtime/arcane/css/theme.css +112 -0
  103. package/runtime/arcane/css/utility-workspace.css +1 -0
  104. package/runtime/arcane/entities/ApiModelRecord.js +20 -0
  105. package/runtime/arcane/entities/Calculation.js +13 -0
  106. package/runtime/arcane/entities/Chat.js +581 -0
  107. package/runtime/arcane/entities/CommunicationMessage.js +29 -0
  108. package/runtime/arcane/entities/CommunicationThread.js +21 -0
  109. package/runtime/arcane/entities/Document.js +10 -0
  110. package/runtime/arcane/entities/File.js +143 -0
  111. package/runtime/arcane/entities/Image.js +135 -0
  112. package/runtime/arcane/entities/IntentEnvelope.js +834 -0
  113. package/runtime/arcane/entities/Preference.js +83 -0
  114. package/runtime/arcane/entities/TWiNPolicyDecision.js +1092 -0
  115. package/runtime/arcane/entities/TerminalSession.js +46 -0
  116. package/runtime/arcane/entities/Theme.js +107 -0
  117. package/runtime/arcane/entities/User.js +1046 -0
  118. package/runtime/arcane/entities/Weather.js +23 -0
  119. package/runtime/arcane/img/arcane-os-everywhere.png +0 -0
  120. package/runtime/arcane/img/arrow-left.png +0 -0
  121. package/runtime/arcane/img/arrow-right.png +0 -0
  122. package/runtime/arcane/img/doc.svg +5 -0
  123. package/runtime/arcane/img/folder.svg +4 -0
  124. package/runtime/arcane/img/image.svg +5 -0
  125. package/runtime/arcane/img/refresh.png +0 -0
  126. package/runtime/arcane/img/send.svg +9 -0
  127. package/runtime/arcane/img/trash.svg +5 -0
  128. package/runtime/arcane/img/upload.svg +5 -0
  129. package/runtime/arcane/modules/AI.js +2048 -0
  130. package/runtime/arcane/modules/AIPreferenceRuntime.js +32 -0
  131. package/runtime/arcane/modules/AIPreferenceTuple.js +92 -0
  132. package/runtime/arcane/modules/AIResponseLength.js +42 -0
  133. package/runtime/arcane/modules/AIResponseURLPolicy.js +626 -0
  134. package/runtime/arcane/modules/AnsiText.js +53 -0
  135. package/runtime/arcane/modules/ApiModelDatabase.js +25 -0
  136. package/runtime/arcane/modules/AppDataScope.js +245 -0
  137. package/runtime/arcane/modules/AppearancePreferences.js +28 -0
  138. package/runtime/arcane/modules/ArcaneCommunicationBridge.js +22 -0
  139. package/runtime/arcane/modules/ArcaneNavigationPolicy.js +135 -0
  140. package/runtime/arcane/modules/ArcaneNetworkPolicy.js +255 -0
  141. package/runtime/arcane/modules/AsyncBoundary.js +161 -0
  142. package/runtime/arcane/modules/BrowserTestSuite.js +326 -0
  143. package/runtime/arcane/modules/CalculatorEngine.js +20 -0
  144. package/runtime/arcane/modules/CaseEvidenceIndexer.js +134 -0
  145. package/runtime/arcane/modules/ChartLibrary.js +35 -0
  146. package/runtime/arcane/modules/ChatRecords.js +13 -0
  147. package/runtime/arcane/modules/CommunicationAppController.js +43 -0
  148. package/runtime/arcane/modules/CommunicationHub.js +16 -0
  149. package/runtime/arcane/modules/CommunicationPreferences.js +13 -0
  150. package/runtime/arcane/modules/CommunicationProviderRegistry.js +16 -0
  151. package/runtime/arcane/modules/ComponentContracts.js +586 -0
  152. package/runtime/arcane/modules/ConfiguredAIChatSession.js +288 -0
  153. package/runtime/arcane/modules/ConversationActionItems.js +488 -0
  154. package/runtime/arcane/modules/ConversationClosingReport.js +274 -0
  155. package/runtime/arcane/modules/ConversationTimebox.js +527 -0
  156. package/runtime/arcane/modules/CoreLocalModelCatalog.js +255 -0
  157. package/runtime/arcane/modules/DBLS.js +171 -0
  158. package/runtime/arcane/modules/DBOPFS.js +1154 -0
  159. package/runtime/arcane/modules/DBOPFSWorker.js +116 -0
  160. package/runtime/arcane/modules/DataMaintenance.js +91 -0
  161. package/runtime/arcane/modules/DevelopmentWorkspace.js +74 -0
  162. package/runtime/arcane/modules/DirectoryPicker.js +109 -0
  163. package/runtime/arcane/modules/DocumentNavigation.js +223 -0
  164. package/runtime/arcane/modules/Errors.js +1025 -0
  165. package/runtime/arcane/modules/GifEncoder.js +29 -0
  166. package/runtime/arcane/modules/HTMLImport.js +114 -0
  167. package/runtime/arcane/modules/InMemoryCommunicationProvider.js +14 -0
  168. package/runtime/arcane/modules/IsolatedModelQuestionRunner.js +275 -0
  169. package/runtime/arcane/modules/LocalAIReadiness.js +870 -0
  170. package/runtime/arcane/modules/LocalAIReadinessController.js +156 -0
  171. package/runtime/arcane/modules/MD.js +111 -0
  172. package/runtime/arcane/modules/Mail.js +352 -0
  173. package/runtime/arcane/modules/MailTransport.mjs +180 -0
  174. package/runtime/arcane/modules/Marked.min.js +71 -0
  175. package/runtime/arcane/modules/MemoryRecords.js +44 -0
  176. package/runtime/arcane/modules/MessageAdvisory.js +38 -0
  177. package/runtime/arcane/modules/ModelDefinition.js +189 -0
  178. package/runtime/arcane/modules/Ollama.js +74 -0
  179. package/runtime/arcane/modules/OllamaModelIdentifier.js +21 -0
  180. package/runtime/arcane/modules/OllamaSettings.js +24 -0
  181. package/runtime/arcane/modules/OpenMeteoWeatherProvider.js +14 -0
  182. package/runtime/arcane/modules/PreferenceStore.js +109 -0
  183. package/runtime/arcane/modules/QRCode.min.js +1 -0
  184. package/runtime/arcane/modules/Questionnaire.js +61 -0
  185. package/runtime/arcane/modules/RecordLinkIndex.js +24 -0
  186. package/runtime/arcane/modules/RecordPassageIndex.js +222 -0
  187. package/runtime/arcane/modules/RecordReviewStore.js +94 -0
  188. package/runtime/arcane/modules/RevocableProjectionLedger.js +1623 -0
  189. package/runtime/arcane/modules/RiskSignalAnalyzer.js +37 -0
  190. package/runtime/arcane/modules/ScamRiskPolicy.js +62 -0
  191. package/runtime/arcane/modules/ScopedOPFSCache.js +183 -0
  192. package/runtime/arcane/modules/ScreenCapture.js +20 -0
  193. package/runtime/arcane/modules/SpeechPlayback.js +581 -0
  194. package/runtime/arcane/modules/StaticDocumentCatalog.js +1248 -0
  195. package/runtime/arcane/modules/SystemAppearance.js +20 -0
  196. package/runtime/arcane/modules/SystemPlatformPresentation.js +51 -0
  197. package/runtime/arcane/modules/SystemToolRegistry.js +28 -0
  198. package/runtime/arcane/modules/TerminalClient.js +52 -0
  199. package/runtime/arcane/modules/TerminalCommandRegistry.js +50 -0
  200. package/runtime/arcane/modules/ThemeBootstrap.js +26 -0
  201. package/runtime/arcane/modules/ThemeManager.js +131 -0
  202. package/runtime/arcane/modules/TimeGuard.js +149 -0
  203. package/runtime/arcane/modules/ToolCallRouter.js +83 -0
  204. package/runtime/arcane/modules/WaitForComponent.js +102 -0
  205. package/runtime/arcane/modules/YouTubeMedia.js +16 -0
  206. package/runtime/arcane/modules/uPlot.LICENSE.txt +21 -0
  207. package/runtime/arcane/modules/uPlot.iife.min.js +2 -0
  208. package/runtime/arcane/modules/uPlot.min.css +1 -0
  209. package/runtime/arcane/security/arcane-network-policy.json +6 -0
  210. package/runtime/strong-type/index.js +352 -0
  211. package/runtime/strong-type/licence +21 -0
  212. package/runtime/strong-type/package.json +45 -0
  213. package/schemas/arcane-app-bundle.schema.json +125 -0
  214. package/schemas/arcane-app.schema.json +329 -0
  215. package/schemas/arcane-lock.schema.json +86 -0
  216. package/schemas/arcane-package.schema.json +224 -0
  217. package/schemas/cli-event.schema.json +122 -0
  218. package/schemas/event-stack.schema.json +152 -0
  219. package/schemas/native-build-plan.schema.json +176 -0
  220. package/schemas/target-adapter.schema.json +117 -0
  221. package/src/app-descriptor.mjs +500 -0
  222. package/src/cli/main.mjs +561 -0
  223. package/src/constants.mjs +31 -0
  224. package/src/dev-server.mjs +718 -0
  225. package/src/doctor.mjs +315 -0
  226. package/src/dom-event-instrumentation.mjs +594 -0
  227. package/src/errors.mjs +75 -0
  228. package/src/event-manager.mjs +1342 -0
  229. package/src/event-queue.mjs +138 -0
  230. package/src/events.mjs +219 -0
  231. package/src/index.mjs +177 -0
  232. package/src/integrated-provider-loader.mjs +432 -0
  233. package/src/native-plan.mjs +698 -0
  234. package/src/native-provider-loader.mjs +1126 -0
  235. package/src/packager/core.mjs +2691 -0
  236. package/src/process.mjs +353 -0
  237. package/src/release-bundle.mjs +2523 -0
  238. package/src/repository.mjs +90 -0
  239. package/src/runtime.mjs +452 -0
  240. package/src/scaffold.mjs +380 -0
  241. package/src/targets/index.mjs +436 -0
  242. package/src/templates/assets/app-icon.png +0 -0
  243. package/src/templates/workspace-template.mjs +388 -0
  244. package/src/testing-loader.mjs +9 -0
  245. package/src/testing.mjs +427 -0
  246. package/src/toolchain.mjs +1335 -0
  247. package/src/update-check.mjs +307 -0
  248. package/src/workspace.mjs +449 -0
@@ -0,0 +1,1249 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "source": {
4
+ "commit": "567ad110bf57a1c2d4a3daa22ae93716cc5f4d7e",
5
+ "bundleVersion": "0.8.12",
6
+ "protocol": "arcane/1"
7
+ },
8
+ "artifactCount": 80,
9
+ "javascriptArtifactCount": 78,
10
+ "esmExportCount": 282,
11
+ "artifacts": [
12
+ {
13
+ "file": "runtime/arcane/modules/AI.js",
14
+ "name": "AI.js",
15
+ "kind": "esm",
16
+ "exports": [
17
+ "default"
18
+ ],
19
+ "summary": "Provider-selectable chat, speech-to-text, text-to-speech, tool calling, structured output, streaming, and queued audio playback.",
20
+ "availability": "Browser + native bridge + cloud",
21
+ "protocol": "OpenAI HTTPS, Arcane.ollama, Arcane.speech, Android WebView bridge",
22
+ "normalization": "High-level chat/speech behavior is normalized; provider diagnostics and media errors remain mixed.",
23
+ "surface": "default `AI`; `setAI()`, `streamRequest()`, `streamMessage()`, `fetchRequest()`, `fetch()`, `streamTTS()`, `finishTTS()`, `fetchSTT()`, `stopAudio()`, `resumeAudio()`, `playAudio()`; installs `window.ai` and emits `ai-ready`."
24
+ },
25
+ {
26
+ "file": "runtime/arcane/modules/AIPreferenceRuntime.js",
27
+ "name": "AIPreferenceRuntime.js",
28
+ "kind": "esm",
29
+ "exports": [
30
+ "getAIPreferencesForRuntime",
31
+ "setAIPreferenceRuntimeOverride"
32
+ ],
33
+ "summary": "Applies and reads non-persistent per-user AI preference overrides.",
34
+ "availability": "Cross-host",
35
+ "protocol": "In-process only",
36
+ "normalization": "Normalized six-slot preference state.",
37
+ "surface": "`setAIPreferenceRuntimeOverride()`, `getAIPreferencesForRuntime()`."
38
+ },
39
+ {
40
+ "file": "runtime/arcane/modules/AIPreferenceTuple.js",
41
+ "name": "AIPreferenceTuple.js",
42
+ "kind": "esm",
43
+ "exports": [
44
+ "AI_PREFERENCE_SLOT_KEYS",
45
+ "aiPreferenceTuplesEqual",
46
+ "normalizeAIPreferenceTuple"
47
+ ],
48
+ "summary": "Normalizes and compares the six provider/model preference slots.",
49
+ "availability": "Cross-host",
50
+ "protocol": "In-process only",
51
+ "normalization": "Fully normalized frozen tuple.",
52
+ "surface": "`AI_PREFERENCE_SLOT_KEYS`, `normalizeAIPreferenceTuple()`, `aiPreferenceTuplesEqual()`."
53
+ },
54
+ {
55
+ "file": "runtime/arcane/modules/AIResponseLength.js",
56
+ "name": "AIResponseLength.js",
57
+ "kind": "esm",
58
+ "exports": [
59
+ "AI_RESPONSE_LENGTH_DEFAULT",
60
+ "AI_RESPONSE_LENGTH_OPTIONS",
61
+ "aiResponseLengthInstruction",
62
+ "applyAIResponseLength",
63
+ "normalizeAIResponseLength"
64
+ ],
65
+ "summary": "Normalizes concise/short/medium/long response preferences and applies the matching system instruction.",
66
+ "availability": "Cross-host",
67
+ "protocol": "In-process only",
68
+ "normalization": "Fully normalized string/instruction contract.",
69
+ "surface": "Response-length constants plus `normalizeAIResponseLength()`, `aiResponseLengthInstruction()`, and `applyAIResponseLength()`."
70
+ },
71
+ {
72
+ "file": "runtime/arcane/modules/AIResponseURLPolicy.js",
73
+ "name": "AIResponseURLPolicy.js",
74
+ "kind": "esm",
75
+ "exports": [
76
+ "auditAIResponseLinks",
77
+ "decodeHTMLCharacterReferences",
78
+ "extractAIResponseLinks",
79
+ "normalizeAIResponseLink"
80
+ ],
81
+ "summary": "Extracts and audits links from AI Markdown, rendered HTML, CSS, srcset, bare URLs, and email text.",
82
+ "availability": "Cross-host",
83
+ "protocol": "In-process; bundled Marked parser",
84
+ "normalization": "Normalized frozen allowlist audit.",
85
+ "surface": "`auditAIResponseLinks()`, `extractAIResponseLinks()`, `normalizeAIResponseLink()`, `decodeHTMLCharacterReferences()`."
86
+ },
87
+ {
88
+ "file": "runtime/arcane/modules/AnsiText.js",
89
+ "name": "AnsiText.js",
90
+ "kind": "esm",
91
+ "exports": [
92
+ "parseAnsi",
93
+ "stripAnsi"
94
+ ],
95
+ "summary": "Parses terminal ANSI sequences into display spans or strips them to plain text.",
96
+ "availability": "Cross-host",
97
+ "protocol": "In-process only",
98
+ "normalization": "Normalized text/span output.",
99
+ "surface": "`parseAnsi()`, `stripAnsi()`."
100
+ },
101
+ {
102
+ "file": "runtime/arcane/modules/ApiModelDatabase.js",
103
+ "name": "ApiModelDatabase.js",
104
+ "kind": "esm",
105
+ "exports": [
106
+ "appendParameters",
107
+ "default",
108
+ "publicEndpoint"
109
+ ],
110
+ "summary": "Fetches an injectable HTTP JSON model with parser, cache, redacted public endpoint records, and request lifecycle events.",
111
+ "availability": "Browser / native WebView / server with fetch",
112
+ "protocol": "HTTP(S) fetch",
113
+ "normalization": "Request records are normalized; fetch/provider failures remain mixed.",
114
+ "surface": "default `ApiModelDatabase`; `setEndpoint()`, `fetch()`, `cached()`; emits `api-model-request`, `api-model-success`, and `api-model-error`."
115
+ },
116
+ {
117
+ "file": "runtime/arcane/modules/AppDataScope.js",
118
+ "name": "AppDataScope.js",
119
+ "kind": "esm",
120
+ "exports": [
121
+ "APPLICATION_ID_MAX_LENGTH",
122
+ "APPLICATION_ID_PATTERN",
123
+ "APP_DATA_DIRECTORY",
124
+ "APP_LOCAL_STORAGE_PREFIX",
125
+ "canonicalApplicationId",
126
+ "declaredApplicationId",
127
+ "openApplicationDataDirectory",
128
+ "resolveApplicationId",
129
+ "resolveApplicationLocalStorageKey",
130
+ "resolveBrowserApplicationId"
131
+ ],
132
+ "summary": "Reconciles declared and native application identity and scopes OPFS/localStorage ownership fail-closed.",
133
+ "availability": "Browser / native WebView hybrid",
134
+ "protocol": "Arcane.app.current, DOM declaration, OPFS",
135
+ "normalization": "Strict normalized identifiers and coded mismatch failures.",
136
+ "surface": "Identity constants and `canonicalApplicationId()`, `resolveApplicationId()`, `resolveApplicationLocalStorageKey()`, `openApplicationDataDirectory()`."
137
+ },
138
+ {
139
+ "file": "runtime/arcane/modules/AppearancePreferences.js",
140
+ "name": "AppearancePreferences.js",
141
+ "kind": "esm",
142
+ "exports": [
143
+ "appearancePreferenceSchema",
144
+ "applyAppearancePreferences",
145
+ "createAppearancePreferenceStore",
146
+ "loadAndApplyAppearancePreferences"
147
+ ],
148
+ "summary": "Defines, stores, and applies color scheme, density, reduced motion, and large-text preferences.",
149
+ "availability": "Browser / native WebView hybrid",
150
+ "protocol": "PreferenceStore, DOM, optional Arcane preferences",
151
+ "normalization": "Normalized values; storage/host failures remain mixed.",
152
+ "surface": "`appearancePreferenceSchema`, `createAppearancePreferenceStore()`, `applyAppearancePreferences()`, `loadAndApplyAppearancePreferences()`."
153
+ },
154
+ {
155
+ "file": "runtime/arcane/modules/ArcaneCommunicationBridge.js",
156
+ "name": "ArcaneCommunicationBridge.js",
157
+ "kind": "esm",
158
+ "exports": [
159
+ "default"
160
+ ],
161
+ "summary": "Maps provider HTTP threads/messages/connect/disconnect endpoints to normalized communication entities.",
162
+ "availability": "Browser / native WebView / server with fetch",
163
+ "protocol": "JSON HTTP(S), default loopback 127.0.0.1:8020",
164
+ "normalization": "Entity results are normalized; provider/transport failures remain mixed.",
165
+ "surface": "default `ArcaneCommunicationBridge`; `request()`, `listThreads()`, `getMessages()`, `send()`, `connect()`, `disconnect()`."
166
+ },
167
+ {
168
+ "file": "runtime/arcane/modules/ArcaneNavigationPolicy.js",
169
+ "name": "ArcaneNavigationPolicy.js",
170
+ "kind": "esm",
171
+ "exports": [
172
+ "createArcaneNavigationGuard"
173
+ ],
174
+ "summary": "Creates a fail-closed HTTP(S) navigation guard with domain and CIDR policy decisions.",
175
+ "availability": "Cross-host",
176
+ "protocol": "Arcane network-policy document",
177
+ "normalization": "Normalized frozen allow/block decision.",
178
+ "surface": "`createArcaneNavigationGuard()`."
179
+ },
180
+ {
181
+ "file": "runtime/arcane/modules/ArcaneNetworkPolicy.js",
182
+ "name": "ArcaneNetworkPolicy.js",
183
+ "kind": "esm",
184
+ "exports": [
185
+ "ARCANE_NETWORK_POLICY_SCHEMA_VERSION",
186
+ "ARCANE_NETWORK_POLICY_URL",
187
+ "canonicalNetworkHostname",
188
+ "emptyArcaneNetworkPolicy",
189
+ "findDeniedDomainRule",
190
+ "findDeniedNetworkRule",
191
+ "invalidateArcaneNetworkPolicyCache",
192
+ "loadArcaneNetworkPolicy",
193
+ "validateArcaneNetworkPolicy"
194
+ ],
195
+ "summary": "Validates the Arcane domain/network deny policy and matches domain, IPv4/IPv6 CIDR, protocol, and port rules.",
196
+ "availability": "Cross-host",
197
+ "protocol": "Same-origin policy fetch",
198
+ "normalization": "Strict coded normalization.",
199
+ "surface": "Policy constants plus validate/load/cache/match helpers."
200
+ },
201
+ {
202
+ "file": "runtime/arcane/modules/AsyncBoundary.js",
203
+ "name": "AsyncBoundary.js",
204
+ "kind": "esm",
205
+ "exports": [
206
+ "AsyncBoundaryAbortError",
207
+ "AsyncBoundaryTimeoutError",
208
+ "asyncBoundaryDefaults",
209
+ "default",
210
+ "runAsyncBoundary"
211
+ ],
212
+ "summary": "Runs one asynchronous operation with timeout, abort, result validation, and stable boundary errors.",
213
+ "availability": "Cross-host",
214
+ "protocol": "AbortController and timers",
215
+ "normalization": "Fully normalized timeout/abort errors.",
216
+ "surface": "`AsyncBoundaryTimeoutError`, `AsyncBoundaryAbortError`, defaults, `runAsyncBoundary()`, and default alias."
217
+ },
218
+ {
219
+ "file": "runtime/arcane/modules/BrowserTestSuite.js",
220
+ "name": "BrowserTestSuite.js",
221
+ "kind": "esm",
222
+ "exports": [
223
+ "assertionError",
224
+ "default",
225
+ "skipError"
226
+ ],
227
+ "summary": "Runs a fixed sequential browser test list with cooperative abort, per-test timeout, and lifecycle events.",
228
+ "availability": "Browser / standard Web APIs",
229
+ "protocol": "EventTarget and timers",
230
+ "normalization": "Normalized result and skip/assertion errors.",
231
+ "surface": "default `BrowserTestSuite`; `list()`, `run()`; emits suite/test start/result/complete events."
232
+ },
233
+ {
234
+ "file": "runtime/arcane/modules/CalculatorEngine.js",
235
+ "name": "CalculatorEngine.js",
236
+ "kind": "esm",
237
+ "exports": [
238
+ "default",
239
+ "evaluateExpression"
240
+ ],
241
+ "summary": "Evaluates bounded arithmetic, powers, constants, and common functions without `eval`.",
242
+ "availability": "Cross-host",
243
+ "protocol": "In-process only",
244
+ "normalization": "Normalized `Calculation` result and parser errors.",
245
+ "surface": "default `CalculatorEngine`, `evaluateExpression()`; `calculate()` emits result/error events."
246
+ },
247
+ {
248
+ "file": "runtime/arcane/modules/CaseEvidenceIndexer.js",
249
+ "name": "CaseEvidenceIndexer.js",
250
+ "kind": "esm",
251
+ "exports": [
252
+ "indexPairedRecord",
253
+ "nearestPageMarker",
254
+ "parseStructuredRecordName",
255
+ "renderedPageBlocks",
256
+ "resolveEvidenceSourcePage",
257
+ "safeName",
258
+ "sha256",
259
+ "stem"
260
+ ],
261
+ "summary": "Pairs and indexes structured evidence records with rendered-page provenance and SHA-256 identity.",
262
+ "availability": "Node only",
263
+ "protocol": "node:fs/promises, node:path, node:crypto",
264
+ "normalization": "Normalized naming/page helpers; filesystem errors preserved.",
265
+ "surface": "Eight exported indexing, page, naming, stem, and digest helpers."
266
+ },
267
+ {
268
+ "file": "runtime/arcane/modules/ChartLibrary.js",
269
+ "name": "ChartLibrary.js",
270
+ "kind": "esm",
271
+ "exports": [
272
+ "default"
273
+ ],
274
+ "summary": "Loads the bundled uPlot classic script once and returns its global constructor.",
275
+ "availability": "Browser / native WebView",
276
+ "protocol": "DOM script injection",
277
+ "normalization": "Load state/errors normalized; uPlot result is vendor-native.",
278
+ "surface": "default `loadChartLibrary()`."
279
+ },
280
+ {
281
+ "file": "runtime/arcane/modules/ChatRecords.js",
282
+ "name": "ChatRecords.js",
283
+ "kind": "esm",
284
+ "exports": [
285
+ "hasUserEntry"
286
+ ],
287
+ "summary": "Detects whether a chat record contains a meaningful user entry.",
288
+ "availability": "Cross-host",
289
+ "protocol": "In-process only",
290
+ "normalization": "Boolean normalized result.",
291
+ "surface": "`hasUserEntry()`."
292
+ },
293
+ {
294
+ "file": "runtime/arcane/modules/CommunicationAppController.js",
295
+ "name": "CommunicationAppController.js",
296
+ "kind": "esm",
297
+ "exports": [
298
+ "default"
299
+ ],
300
+ "summary": "Binds shared inbox, conversation, settings, theme, and provider workflows into one UI controller.",
301
+ "availability": "Browser / native WebView hybrid",
302
+ "protocol": "DOM plus communication providers",
303
+ "normalization": "Controller state normalized; provider/DOM failures mixed.",
304
+ "surface": "default controller with `start()`, `bind()`, `configure()`, `refresh()`, `select()`, `send()`, and settings actions."
305
+ },
306
+ {
307
+ "file": "runtime/arcane/modules/CommunicationHub.js",
308
+ "name": "CommunicationHub.js",
309
+ "kind": "esm",
310
+ "exports": [
311
+ "default"
312
+ ],
313
+ "summary": "Fans out provider refresh/send operations and aggregates normalized threads/messages.",
314
+ "availability": "Cross-host with injected providers",
315
+ "protocol": "Injected provider contract",
316
+ "normalization": "Normalized aggregates; refresh contains per-provider failures.",
317
+ "surface": "default `CommunicationHub`; provider enablement, `refresh()`, `messages()`, and `send()`."
318
+ },
319
+ {
320
+ "file": "runtime/arcane/modules/CommunicationPreferences.js",
321
+ "name": "CommunicationPreferences.js",
322
+ "kind": "esm",
323
+ "exports": [
324
+ "default"
325
+ ],
326
+ "summary": "Stores app-scoped, non-secret communication provider preferences.",
327
+ "availability": "Browser / native WebView hybrid",
328
+ "protocol": "Arcane.preferences or localStorage",
329
+ "normalization": "Normalized preference record; storage failures mixed.",
330
+ "surface": "default `CommunicationPreferences`; `load()`, `save()`."
331
+ },
332
+ {
333
+ "file": "runtime/arcane/modules/CommunicationProviderRegistry.js",
334
+ "name": "CommunicationProviderRegistry.js",
335
+ "kind": "esm",
336
+ "exports": [
337
+ "default"
338
+ ],
339
+ "summary": "Registers and queries validated provider definitions, channels, and required methods.",
340
+ "availability": "Cross-host",
341
+ "protocol": "In-process only",
342
+ "normalization": "Strict normalized registry.",
343
+ "surface": "default registry with `register()`, `get()`, `has()`, `list()`."
344
+ },
345
+ {
346
+ "file": "runtime/arcane/modules/ComponentContracts.js",
347
+ "name": "ComponentContracts.js",
348
+ "kind": "esm",
349
+ "exports": [
350
+ "CHART_LABELS",
351
+ "DASHBOARD_LABELS",
352
+ "MARKDOWN_FORMATS",
353
+ "MARKDOWN_LABELS",
354
+ "VOICE_LABELS",
355
+ "VOICE_MESSAGES",
356
+ "appendTranscription",
357
+ "applyMarkdownFormat",
358
+ "effectiveDashboardVisibility",
359
+ "normalizeChartOptions",
360
+ "normalizeChartRows",
361
+ "normalizeDashboardDefinitions",
362
+ "normalizeDashboardOptions",
363
+ "normalizeDashboardVisibility",
364
+ "normalizeMarkdownFormats",
365
+ "normalizeMarkdownOptions",
366
+ "normalizeVoiceOptions"
367
+ ],
368
+ "summary": "Owns normalized configuration/value contracts shared by chart, dashboard, Markdown, and voice components.",
369
+ "availability": "Cross-host",
370
+ "protocol": "In-process only",
371
+ "normalization": "Fully normalized labels, rows, definitions, visibility, formats, editor and voice options.",
372
+ "surface": "Six constant sets and twelve normalization/formatting helpers."
373
+ },
374
+ {
375
+ "file": "runtime/arcane/modules/ConfiguredAIChatSession.js",
376
+ "name": "ConfiguredAIChatSession.js",
377
+ "kind": "esm",
378
+ "exports": [
379
+ "default"
380
+ ],
381
+ "summary": "Owns bounded in-memory AI turns, context construction, response-length instruction, and atomic history commit.",
382
+ "availability": "Native bridge by default; cross-host with injected chat",
383
+ "protocol": "Arcane.ai.chat or injected provider",
384
+ "normalization": "Normalized session/result; provider rejection preserved.",
385
+ "surface": "default `ConfiguredAIChatSession`; `history()`, `clear()`, `send()`."
386
+ },
387
+ {
388
+ "file": "runtime/arcane/modules/ConversationActionItems.js",
389
+ "name": "ConversationActionItems.js",
390
+ "kind": "esm",
391
+ "exports": [
392
+ "CONVERSATION_ACTION_ITEM_BASES",
393
+ "CONVERSATION_ACTION_ITEM_PRESENTATION_COOLDOWN_MS",
394
+ "CONVERSATION_ACTION_ITEM_STATUSES",
395
+ "MAX_CONVERSATION_ACTION_ITEMS",
396
+ "MAX_CONVERSATION_ACTION_ITEM_CHARACTERS",
397
+ "MAX_CONVERSATION_REMEMBERED_ACTIONS",
398
+ "conversationActionItemsInstruction",
399
+ "createConversationActionItem",
400
+ "formatConversationActionItemCheckIn",
401
+ "markConversationActionItemsPresented",
402
+ "normalizeConversationActionItem",
403
+ "normalizeConversationActionItems",
404
+ "normalizeRememberedConversationActions",
405
+ "outstandingConversationActionItems",
406
+ "rememberConversationActionItems",
407
+ "removeConversationActionItem",
408
+ "selectConversationActionItemsForPresentation",
409
+ "updateConversationActionItem"
410
+ ],
411
+ "summary": "Normalizes, creates, updates, remembers, selects, and formats bounded conversation action items.",
412
+ "availability": "Cross-host",
413
+ "protocol": "In-process only",
414
+ "normalization": "Fully normalized status/base/presentation contract.",
415
+ "surface": "Action-item constants and lifecycle/formatting helpers."
416
+ },
417
+ {
418
+ "file": "runtime/arcane/modules/ConversationClosingReport.js",
419
+ "name": "ConversationClosingReport.js",
420
+ "kind": "esm",
421
+ "exports": [
422
+ "CONVERSATION_CLOSING_REPORT_TOOL_NAME",
423
+ "classifyConversationClosingReportCalls",
424
+ "conversationClosingReportInstruction",
425
+ "createConversationClosingReportTool",
426
+ "formatConversationClosingReport",
427
+ "normalizeConversationClosingReport"
428
+ ],
429
+ "summary": "Defines the closing-report tool, instruction, result normalizer, call classifier, and formatter.",
430
+ "availability": "Cross-host",
431
+ "protocol": "In-process only",
432
+ "normalization": "Fully normalized report contract.",
433
+ "surface": "Six constants/helpers for closing reports."
434
+ },
435
+ {
436
+ "file": "runtime/arcane/modules/ConversationTimebox.js",
437
+ "name": "ConversationTimebox.js",
438
+ "kind": "esm",
439
+ "exports": [
440
+ "CONVERSATION_TIMEBOX_LIMIT_MESSAGE",
441
+ "CONVERSATION_TIMEBOX_OPENING_INSTRUCTION",
442
+ "CONVERSATION_TIMEBOX_TOOL_NAME",
443
+ "ConversationSubmissionBarrier",
444
+ "appendConversationTimeboxOpeningInstruction",
445
+ "consumeConversationTimeboxCall",
446
+ "conversationTimeboxSubmissionKey",
447
+ "conversationTimeboxTool",
448
+ "createConversationTimeboxControlMessage",
449
+ "default",
450
+ "formatConversationElapsed",
451
+ "normalizeConversationTimeboxCommand",
452
+ "requireConversationTimeboxDelivery"
453
+ ],
454
+ "summary": "Owns conversation limits, control messages, submission barriers, elapsed formatting, and delivery proof.",
455
+ "availability": "Cross-host",
456
+ "protocol": "Clock/timers and callbacks",
457
+ "normalization": "Fully normalized state/command/delivery errors.",
458
+ "surface": "default `ConversationTimebox`, `ConversationSubmissionBarrier`, constants and control helpers."
459
+ },
460
+ {
461
+ "file": "runtime/arcane/modules/CoreLocalModelCatalog.js",
462
+ "name": "CoreLocalModelCatalog.js",
463
+ "kind": "esm",
464
+ "exports": [
465
+ "USER_MANAGED_LOOPBACK_PROVIDER_MODE",
466
+ "getCoreLocalModelCatalog",
467
+ "getCoreLocalModelCatalogWithAdmissionFailures",
468
+ "getCoreLocalSpeechAvailability",
469
+ "isUserManagedLoopbackLocalAIStatus"
470
+ ],
471
+ "summary": "Projects Core local-AI status into UI-safe admitted model and speech availability catalogs.",
472
+ "availability": "Cross-host",
473
+ "protocol": "In-process projection of Core status",
474
+ "normalization": "Fully normalized descriptors and stable admission labels.",
475
+ "surface": "Provider-mode constant and four catalog/availability helpers."
476
+ },
477
+ {
478
+ "file": "runtime/arcane/modules/DataMaintenance.js",
479
+ "name": "DataMaintenance.js",
480
+ "kind": "esm",
481
+ "exports": [
482
+ "clearEmptyChatsAndMemories",
483
+ "hasMemoryContent",
484
+ "hasUserEntry"
485
+ ],
486
+ "summary": "Deletes empty chats and associated/empty memory records inside the current app data scope.",
487
+ "availability": "Browser / native WebView",
488
+ "protocol": "Global DBOPFS",
489
+ "normalization": "Normalized counts; destructive storage failures preserved.",
490
+ "surface": "`clearEmptyChatsAndMemories()` plus content predicates."
491
+ },
492
+ {
493
+ "file": "runtime/arcane/modules/DBLS.js",
494
+ "name": "DBLS.js",
495
+ "kind": "esm",
496
+ "exports": [
497
+ "default"
498
+ ],
499
+ "summary": "Provides app-scoped localStorage tables, batch reads/writes, filtering, deletion, and counts.",
500
+ "availability": "Browser / native WebView",
501
+ "protocol": "localStorage + AppDataScope",
502
+ "normalization": "Scoped keys and values normalized; storage failures mixed.",
503
+ "surface": "default `DBLS`; installs `window.dbls`, emits `dbls-ready`; CRUD/batch/key APIs."
504
+ },
505
+ {
506
+ "file": "runtime/arcane/modules/DBOPFS.js",
507
+ "name": "DBOPFS.js",
508
+ "kind": "esm",
509
+ "exports": [
510
+ "default"
511
+ ],
512
+ "summary": "Provides app-scoped OPFS tables, worker I/O, backup/restore, compression, and CRUD/batch APIs.",
513
+ "availability": "Browser / native WebView",
514
+ "protocol": "OPFS, DBOPFSWorker, Compression Streams",
515
+ "normalization": "App scope normalized; DOM/storage errors preserved.",
516
+ "surface": "default `DBOPFS`; installs `window.dbopfs`, emits `dbopfs-ready`; table/file/backup APIs."
517
+ },
518
+ {
519
+ "file": "runtime/arcane/modules/DBOPFSWorker.js",
520
+ "name": "DBOPFSWorker.js",
521
+ "kind": "worker",
522
+ "exports": [],
523
+ "summary": "Serializes OPFS sync-handle read/write requests from a MessagePort.",
524
+ "availability": "Dedicated worker",
525
+ "protocol": "MessageChannel + OPFS sync access handle",
526
+ "normalization": "Responses normalize to `{success,fileData?}` or `{error:{name,message}}`.",
527
+ "surface": "No ESM exports; accepts `read` and `write` port requests."
528
+ },
529
+ {
530
+ "file": "runtime/arcane/modules/DevelopmentWorkspace.js",
531
+ "name": "DevelopmentWorkspace.js",
532
+ "kind": "esm",
533
+ "exports": [
534
+ "contextQuery",
535
+ "default",
536
+ "setupTaskId",
537
+ "workspaceRoot"
538
+ ],
539
+ "summary": "Provides bounded workspace inspection, context, setup task, and Node installer clients without arbitrary command execution.",
540
+ "availability": "Native bridge",
541
+ "protocol": "Arcane.development",
542
+ "normalization": "Inputs normalized; provider result/error preserved.",
543
+ "surface": "default `DevelopmentWorkspace` and input validators; `inspect()`, `context()`, `setup()`, `installNode()`."
544
+ },
545
+ {
546
+ "file": "runtime/arcane/modules/DirectoryPicker.js",
547
+ "name": "DirectoryPicker.js",
548
+ "kind": "esm",
549
+ "exports": [
550
+ "default",
551
+ "normalizeDirectoryPickerOptions",
552
+ "normalizeDirectorySelection"
553
+ ],
554
+ "summary": "Wraps the provider-owned native directory chooser and normalizes selected/cancelled/error results.",
555
+ "availability": "Native bridge",
556
+ "protocol": "Arcane.filesystem.selectDirectory",
557
+ "normalization": "Strict normalized selection and coded errors.",
558
+ "surface": "default `DirectoryPicker`, `normalizeDirectoryPickerOptions()`, `normalizeDirectorySelection()`."
559
+ },
560
+ {
561
+ "file": "runtime/arcane/modules/DocumentNavigation.js",
562
+ "name": "DocumentNavigation.js",
563
+ "kind": "esm",
564
+ "exports": [
565
+ "applyDocumentNavigationFilter",
566
+ "bindDocumentNavigation",
567
+ "clearDocumentNavigationFilter",
568
+ "initializeDocumentNavigation",
569
+ "revealCurrentDocumentNavigationItem"
570
+ ],
571
+ "summary": "Binds document navigation, filtering, history, current-item reveal, and load initialization.",
572
+ "availability": "Browser / native WebView",
573
+ "protocol": "DOM and history",
574
+ "normalization": "Normalized filter/navigation state; DOM effects preserved.",
575
+ "surface": "Five binding/filter/reveal helpers."
576
+ },
577
+ {
578
+ "file": "runtime/arcane/modules/Errors.js",
579
+ "name": "Errors.js",
580
+ "kind": "esm",
581
+ "exports": [
582
+ "default",
583
+ "fingerprintIncident",
584
+ "normalizeErrorEvent",
585
+ "normalizeRejectionEvent"
586
+ ],
587
+ "summary": "Normalizes global errors/rejections, fingerprints and deduplicates incidents, persists a ledger, and performs bounded delivery.",
588
+ "availability": "Browser / native WebView hybrid",
589
+ "protocol": "Window events, DBOPFS, Mail",
590
+ "normalization": "Incident records normalized; storage/mail failures isolated.",
591
+ "surface": "default `Errors`; event normalizers/fingerprint plus lifecycle, capture, delivery and teardown methods."
592
+ },
593
+ {
594
+ "file": "runtime/arcane/modules/GifEncoder.js",
595
+ "name": "GifEncoder.js",
596
+ "kind": "esm",
597
+ "exports": [
598
+ "default",
599
+ "indexPixels",
600
+ "lzw"
601
+ ],
602
+ "summary": "Encodes indexed frames into a bounded animated GIF using palette mapping and LZW.",
603
+ "availability": "Cross-host",
604
+ "protocol": "In-process only",
605
+ "normalization": "Normalized byte output and bounds.",
606
+ "surface": "default `GifEncoder`, `indexPixels()`, `lzw()`."
607
+ },
608
+ {
609
+ "file": "runtime/arcane/modules/HTMLImport.js",
610
+ "name": "HTMLImport.js",
611
+ "kind": "esm",
612
+ "exports": [
613
+ "default"
614
+ ],
615
+ "summary": "Defines the same-origin `<html-import>` loader with open shadow root, inline script execution, and readiness/error events.",
616
+ "availability": "Browser / native WebView",
617
+ "protocol": "Same-origin fetch + DOM",
618
+ "normalization": "Public error detail normalized; fetch/DOM failure preserved.",
619
+ "surface": "default `HTMLImport`; registers `html-import`; `connectedCallback()` and `ready`."
620
+ },
621
+ {
622
+ "file": "runtime/arcane/modules/InMemoryCommunicationProvider.js",
623
+ "name": "InMemoryCommunicationProvider.js",
624
+ "kind": "esm",
625
+ "exports": [
626
+ "default"
627
+ ],
628
+ "summary": "Implements deterministic in-memory thread/message/send behavior for demos and tests.",
629
+ "availability": "Cross-host",
630
+ "protocol": "In-process only",
631
+ "normalization": "Normalized communication entities.",
632
+ "surface": "default provider with `listThreads()`, `getMessages()`, `send()`."
633
+ },
634
+ {
635
+ "file": "runtime/arcane/modules/IsolatedModelQuestionRunner.js",
636
+ "name": "IsolatedModelQuestionRunner.js",
637
+ "kind": "esm",
638
+ "exports": [
639
+ "IsolatedModelQuestionRunner",
640
+ "countSentences",
641
+ "default"
642
+ ],
643
+ "summary": "Inspects one exact model and runs one isolated question with proof validation.",
644
+ "availability": "Native bridge or injected provider",
645
+ "protocol": "localAI isolated-model methods",
646
+ "normalization": "Strict normalized proof/coded errors.",
647
+ "surface": "default/named runner, `countSentences()`, `inspectModel()`, `runQuestion()`."
648
+ },
649
+ {
650
+ "file": "runtime/arcane/modules/LocalAIReadiness.js",
651
+ "name": "LocalAIReadiness.js",
652
+ "kind": "esm",
653
+ "exports": [
654
+ "LOCAL_AI_BROWSER_ENDPOINTS",
655
+ "checkLocalAIReadiness",
656
+ "deriveLocalAIRequirements",
657
+ "evaluateLocalSpeechHealth"
658
+ ],
659
+ "summary": "Derives selected AI requirements and returns a frozen readiness/recovery report across browser, desktop, and Android modes.",
660
+ "availability": "Browser/native hybrid",
661
+ "protocol": "Arcane.localAI, Arcane.speech, bounded browser speech health",
662
+ "normalization": "Fully normalized report and stable error codes; browsers never probe Ollama.",
663
+ "surface": "Endpoint constant plus requirements, speech-health, and readiness helpers."
664
+ },
665
+ {
666
+ "file": "runtime/arcane/modules/LocalAIReadinessController.js",
667
+ "name": "LocalAIReadinessController.js",
668
+ "kind": "esm",
669
+ "exports": [
670
+ "availabilityFromReport",
671
+ "createLocalAIReadinessController"
672
+ ],
673
+ "summary": "Coordinates local-AI status component checks, ensured recovery, availability projection, and teardown.",
674
+ "availability": "Browser/native hybrid",
675
+ "protocol": "LocalAIReadiness + component events",
676
+ "normalization": "Normalized controller state and change events.",
677
+ "surface": "`createLocalAIReadinessController()`, `availabilityFromReport()`."
678
+ },
679
+ {
680
+ "file": "runtime/arcane/modules/Mail.js",
681
+ "name": "Mail.js",
682
+ "kind": "esm",
683
+ "exports": [
684
+ "default",
685
+ "resolveMailConfig"
686
+ ],
687
+ "summary": "Builds bounded reports and prefers the native mail capability with an explicit HTTP transport fallback.",
688
+ "availability": "Browser/native hybrid + cloud",
689
+ "protocol": "Arcane.mail.send or MailTransport HTTP(S)",
690
+ "normalization": "Mail inputs/results normalized; transport failures mixed.",
691
+ "surface": "default `Mail`, `resolveMailConfig()`; installs `window.mail`; `send()`."
692
+ },
693
+ {
694
+ "file": "runtime/arcane/modules/MailTransport.mjs",
695
+ "name": "MailTransport.mjs",
696
+ "kind": "esm",
697
+ "exports": [
698
+ "DEFAULT_MAIL_REQUEST_TIMEOUT_MS",
699
+ "MAX_MAIL_RESPONSE_BYTES",
700
+ "normalizeMailEndpoint",
701
+ "sendMailReport"
702
+ ],
703
+ "summary": "Sends one bounded mail report to a normalized HTTP(S) endpoint with timeout and response-size limits.",
704
+ "availability": "Browser/server with fetch + cloud",
705
+ "protocol": "HTTP(S) fetch + AbortController",
706
+ "normalization": "Normalized endpoint/timeout/size errors; remote detail bounded.",
707
+ "surface": "Timeout/size constants, `normalizeMailEndpoint()`, `sendMailReport()`."
708
+ },
709
+ {
710
+ "file": "runtime/arcane/modules/Marked.min.js",
711
+ "name": "Marked.min.js",
712
+ "kind": "esm",
713
+ "exports": [
714
+ "Hooks",
715
+ "Lexer",
716
+ "Marked",
717
+ "Parser",
718
+ "Renderer",
719
+ "TextRenderer",
720
+ "Tokenizer",
721
+ "defaults",
722
+ "getDefaults",
723
+ "lexer",
724
+ "marked",
725
+ "options",
726
+ "parse",
727
+ "parseInline",
728
+ "parser",
729
+ "setOptions",
730
+ "use",
731
+ "walkTokens"
732
+ ],
733
+ "summary": "Vendored Marked 18.0.5 Markdown lexer, parser, renderer, extension, and walk-token API.",
734
+ "availability": "Cross-host vendor module",
735
+ "protocol": "In-process only",
736
+ "normalization": "Vendor-native Marked contract.",
737
+ "surface": "Twenty named/default-style Marked exports; see bundled license notice."
738
+ },
739
+ {
740
+ "file": "runtime/arcane/modules/MD.js",
741
+ "name": "MD.js",
742
+ "kind": "esm",
743
+ "exports": [
744
+ "default"
745
+ ],
746
+ "summary": "Renders Markdown with Marked and exposes a DOM-sanitized projection.",
747
+ "availability": "Browser / native WebView",
748
+ "protocol": "Marked + DOM template sanitization",
749
+ "normalization": "Raw Marked behavior plus Arcane sanitization; parse errors vendor-native.",
750
+ "surface": "default `MD`; `raw`, `rendered`, `safeRendered`, `append()`."
751
+ },
752
+ {
753
+ "file": "runtime/arcane/modules/MemoryRecords.js",
754
+ "name": "MemoryRecords.js",
755
+ "kind": "esm",
756
+ "exports": [
757
+ "hasMemoryContent",
758
+ "normalizeMemoryContent"
759
+ ],
760
+ "summary": "Normalizes memory content and detects meaningful stored memory.",
761
+ "availability": "Cross-host",
762
+ "protocol": "In-process only",
763
+ "normalization": "Fully normalized string/boolean results.",
764
+ "surface": "`normalizeMemoryContent()`, `hasMemoryContent()`."
765
+ },
766
+ {
767
+ "file": "runtime/arcane/modules/MessageAdvisory.js",
768
+ "name": "MessageAdvisory.js",
769
+ "kind": "esm",
770
+ "exports": [
771
+ "inspectMessageRecords",
772
+ "normalizeContentAdvisory",
773
+ "unavailableMessageInspection"
774
+ ],
775
+ "summary": "Normalizes message content advisories and contains per-message inspection failures.",
776
+ "availability": "Cross-host",
777
+ "protocol": "Injected inspector",
778
+ "normalization": "Normalized advisory records; inspector failures converted to unavailable results.",
779
+ "surface": "Three advisory/inspection helpers."
780
+ },
781
+ {
782
+ "file": "runtime/arcane/modules/ModelDefinition.js",
783
+ "name": "ModelDefinition.js",
784
+ "kind": "esm",
785
+ "exports": [
786
+ "loadModelDefinitionSystemPrompt",
787
+ "parseModelDefinition"
788
+ ],
789
+ "summary": "Parses the deterministic packaged Modelfile subset and extracts the SYSTEM prompt.",
790
+ "availability": "Cross-host",
791
+ "protocol": "Optional same-origin read-only fetch",
792
+ "normalization": "Strict normalized definition with coded syntax errors.",
793
+ "surface": "`parseModelDefinition()`, `loadModelDefinitionSystemPrompt()`."
794
+ },
795
+ {
796
+ "file": "runtime/arcane/modules/Ollama.js",
797
+ "name": "Ollama.js",
798
+ "kind": "esm",
799
+ "exports": [
800
+ "Ollama",
801
+ "default",
802
+ "ollama"
803
+ ],
804
+ "summary": "Provides the first-class Arcane Ollama client without direct access to localhost:11434.",
805
+ "availability": "Native bridge",
806
+ "protocol": "Arcane.ollama through Core",
807
+ "normalization": "Principal methods preserve provider-native envelopes; readiness/text/unload helpers normalize.",
808
+ "surface": "`Ollama`, singleton/default `ollama`; 24 methods; installs `globalThis.arcaneOllama`, emits `arcane-ollama-ready`."
809
+ },
810
+ {
811
+ "file": "runtime/arcane/modules/OllamaModelIdentifier.js",
812
+ "name": "OllamaModelIdentifier.js",
813
+ "kind": "esm",
814
+ "exports": [
815
+ "isOllamaModelIdentifier",
816
+ "normalizeOllamaModelIdentifier"
817
+ ],
818
+ "summary": "Validates and canonicalizes the syntax of Ollama model identifiers without granting model admission.",
819
+ "availability": "Cross-host",
820
+ "protocol": "In-process only",
821
+ "normalization": "Fully normalized string/boolean result.",
822
+ "surface": "`normalizeOllamaModelIdentifier()`, `isOllamaModelIdentifier()`."
823
+ },
824
+ {
825
+ "file": "runtime/arcane/modules/OllamaSettings.js",
826
+ "name": "OllamaSettings.js",
827
+ "kind": "esm",
828
+ "exports": [
829
+ "arcaneBrainModelName",
830
+ "ollamaRuntimeSchema",
831
+ "ollamaServiceSchema"
832
+ ],
833
+ "summary": "Defines bounded runtime/service preference schemas and deterministic Arcane brain alias names.",
834
+ "availability": "Cross-host",
835
+ "protocol": "In-process only",
836
+ "normalization": "Fully normalized settings/name contract.",
837
+ "surface": "`ollamaRuntimeSchema`, `ollamaServiceSchema`, `arcaneBrainModelName()`."
838
+ },
839
+ {
840
+ "file": "runtime/arcane/modules/OpenMeteoWeatherProvider.js",
841
+ "name": "OpenMeteoWeatherProvider.js",
842
+ "kind": "esm",
843
+ "exports": [
844
+ "OPEN_METEO_ENDPOINTS",
845
+ "default",
846
+ "mapForecast"
847
+ ],
848
+ "summary": "Searches and loads Open-Meteo data into frozen Arcane weather entities.",
849
+ "availability": "Browser / native WebView / server with fetch + cloud",
850
+ "protocol": "Open-Meteo HTTPS",
851
+ "normalization": "Provider data normalized to entities; transport errors mixed.",
852
+ "surface": "Endpoint constants, default provider, `mapForecast()`; search/load methods and lifecycle events."
853
+ },
854
+ {
855
+ "file": "runtime/arcane/modules/PreferenceStore.js",
856
+ "name": "PreferenceStore.js",
857
+ "kind": "esm",
858
+ "exports": [
859
+ "Preference",
860
+ "default",
861
+ "preferenceSchema"
862
+ ],
863
+ "summary": "Loads and updates schema-defined app preferences through native storage with a narrow browser fallback.",
864
+ "availability": "Browser/native hybrid",
865
+ "protocol": "Arcane.preferences or app-scoped localStorage",
866
+ "normalization": "Values normalized; only exact unsupported capability falls back.",
867
+ "surface": "default `PreferenceStore`, re-exported `Preference`/schema; load/set/reset APIs and events."
868
+ },
869
+ {
870
+ "file": "runtime/arcane/modules/QRCode.min.js",
871
+ "name": "QRCode.min.js",
872
+ "kind": "classic-script",
873
+ "exports": [],
874
+ "summary": "Vendored QRCode generator for DOM, canvas, SVG, and image output.",
875
+ "availability": "Browser vendor script",
876
+ "protocol": "Classic script global + DOM/canvas/SVG",
877
+ "normalization": "Vendor-native.",
878
+ "surface": "No ESM exports; global `QRCode`, `makeCode()`, `makeImage()`, `clear()`, `CorrectLevel`."
879
+ },
880
+ {
881
+ "file": "runtime/arcane/modules/Questionnaire.js",
882
+ "name": "Questionnaire.js",
883
+ "kind": "esm",
884
+ "exports": [
885
+ "DEFAULT_QUESTIONNAIRE_NOTIFICATION_TIME_MS",
886
+ "Questionnaire"
887
+ ],
888
+ "summary": "Evaluates whether a one-time questionnaire prompt is due without performing the prompt.",
889
+ "availability": "Cross-host",
890
+ "protocol": "In-process clock only",
891
+ "normalization": "Normalized fail-closed boolean.",
892
+ "surface": "Notification default and `Questionnaire` with timing/check methods."
893
+ },
894
+ {
895
+ "file": "runtime/arcane/modules/RecordLinkIndex.js",
896
+ "name": "RecordLinkIndex.js",
897
+ "kind": "esm",
898
+ "exports": [
899
+ "buildRecordLinkIndex",
900
+ "parseRecordLinks"
901
+ ],
902
+ "summary": "Parses record links and builds their normalized index.",
903
+ "availability": "Cross-host",
904
+ "protocol": "In-process only",
905
+ "normalization": "Fully normalized.",
906
+ "surface": "`parseRecordLinks()`, `buildRecordLinkIndex()`."
907
+ },
908
+ {
909
+ "file": "runtime/arcane/modules/RecordPassageIndex.js",
910
+ "name": "RecordPassageIndex.js",
911
+ "kind": "esm",
912
+ "exports": [
913
+ "cleanExcerpt",
914
+ "extractDateMentions",
915
+ "findRulePassages",
916
+ "pageAtLine",
917
+ "pageMarkers",
918
+ "parseDateMention",
919
+ "textLines",
920
+ "validIsoDate"
921
+ ],
922
+ "summary": "Indexes text lines, page markers, dates, rules, and excerpts for record review.",
923
+ "availability": "Cross-host",
924
+ "protocol": "In-process only",
925
+ "normalization": "Fully normalized.",
926
+ "surface": "Eight text/page/date/rule helper exports."
927
+ },
928
+ {
929
+ "file": "runtime/arcane/modules/RecordReviewStore.js",
930
+ "name": "RecordReviewStore.js",
931
+ "kind": "esm",
932
+ "exports": [
933
+ "default",
934
+ "normalizeRecordId",
935
+ "normalizeReview"
936
+ ],
937
+ "summary": "Stores normalized record-review decisions through native storage or app-scoped local fallback.",
938
+ "availability": "Browser/native hybrid",
939
+ "protocol": "Arcane.storage or localStorage",
940
+ "normalization": "Normalized ids/reviews/snapshots; storage failures mixed.",
941
+ "surface": "default store, record/review normalizers; `load()`, `get()`, `set()`, `snapshot()`, change event."
942
+ },
943
+ {
944
+ "file": "runtime/arcane/modules/RevocableProjectionLedger.js",
945
+ "name": "RevocableProjectionLedger.js",
946
+ "kind": "esm",
947
+ "exports": [
948
+ "DEFAULT_PROJECTION_LEDGER_CAPACITY",
949
+ "DEFAULT_PROJECTION_LEDGER_STORED_CHARACTERS",
950
+ "DEFAULT_PROJECTION_LEDGER_STORED_NODES",
951
+ "DEFAULT_PROJECTION_LEDGER_STORED_UTF8_BYTES",
952
+ "MAX_PROJECTION_LEDGER_CAPACITY",
953
+ "MAX_PROJECTION_LEDGER_STORED_CHARACTERS",
954
+ "MAX_PROJECTION_LEDGER_STORED_NODES",
955
+ "MAX_PROJECTION_LEDGER_STORED_UTF8_BYTES",
956
+ "PROJECTION_LEDGER_LIMITS",
957
+ "PROJECTION_LEDGER_REASON_CODES",
958
+ "PROJECTION_LEDGER_SCHEMA_VERSION",
959
+ "PROJECTION_LEDGER_STATUSES",
960
+ "ProjectionLedgerError",
961
+ "RevocableProjectionLedger",
962
+ "cloneProjectionLedgerValue",
963
+ "createProjectionLedgerFingerprint",
964
+ "createRevocableProjectionLedgerPortAdapter",
965
+ "default"
966
+ ],
967
+ "summary": "Implements an append-only bounded in-memory projection/revocation ledger safe for hostile descriptor inputs.",
968
+ "availability": "Cross-host",
969
+ "protocol": "In-process or explicit port adapter",
970
+ "normalization": "Strict normalization with stable `ProjectionLedgerError`.",
971
+ "surface": "Ledger classes, limits/status/reason constants, clone/fingerprint/port helpers, append/query/list APIs."
972
+ },
973
+ {
974
+ "file": "runtime/arcane/modules/RiskSignalAnalyzer.js",
975
+ "name": "RiskSignalAnalyzer.js",
976
+ "kind": "esm",
977
+ "exports": [
978
+ "DEFAULT_LEVELS",
979
+ "analyzeRiskSignals"
980
+ ],
981
+ "summary": "Matches configured risk signals and levels against bounded text.",
982
+ "availability": "Cross-host",
983
+ "protocol": "In-process only",
984
+ "normalization": "Fully normalized.",
985
+ "surface": "`DEFAULT_LEVELS`, `analyzeRiskSignals()`."
986
+ },
987
+ {
988
+ "file": "runtime/arcane/modules/ScamRiskPolicy.js",
989
+ "name": "ScamRiskPolicy.js",
990
+ "kind": "esm",
991
+ "exports": [
992
+ "assessScamRisk",
993
+ "loadScamNetworkPolicy",
994
+ "scamRiskSignals",
995
+ "scamSafetyGuidance"
996
+ ],
997
+ "summary": "Combines deterministic scam signals with Arcane blocked-domain evidence and safety guidance.",
998
+ "availability": "Cross-host",
999
+ "protocol": "Arcane network policy fetch",
1000
+ "normalization": "Fully normalized.",
1001
+ "surface": "Signals plus load, assess, and guidance helpers."
1002
+ },
1003
+ {
1004
+ "file": "runtime/arcane/modules/ScopedOPFSCache.js",
1005
+ "name": "ScopedOPFSCache.js",
1006
+ "kind": "esm",
1007
+ "exports": [
1008
+ "default"
1009
+ ],
1010
+ "summary": "Provides a narrow exact-key JSON cache inside one app-owned OPFS namespace.",
1011
+ "availability": "Browser / native WebView",
1012
+ "protocol": "OPFS + AppDataScope",
1013
+ "normalization": "Keys/limits/corruption handling normalized; storage errors mixed.",
1014
+ "surface": "default `ScopedOPFSCache`; support check and get/set/delete APIs."
1015
+ },
1016
+ {
1017
+ "file": "runtime/arcane/modules/ScreenCapture.js",
1018
+ "name": "ScreenCapture.js",
1019
+ "kind": "esm",
1020
+ "exports": [
1021
+ "default"
1022
+ ],
1023
+ "summary": "Captures a display surface as image, video, or GIF with explicit lifecycle events.",
1024
+ "availability": "Browser / native WebView",
1025
+ "protocol": "getDisplayMedia, MediaRecorder, canvas, GifEncoder",
1026
+ "normalization": "State/events normalized; permission and codec errors mixed.",
1027
+ "surface": "default `ScreenCapture`; acquire/capture/start/stop/reset methods."
1028
+ },
1029
+ {
1030
+ "file": "runtime/arcane/modules/SpeechPlayback.js",
1031
+ "name": "SpeechPlayback.js",
1032
+ "kind": "esm",
1033
+ "exports": [
1034
+ "MAX_SPEECH_CHARACTERS",
1035
+ "MAX_SPEECH_CHUNKS",
1036
+ "MAX_SPEECH_INPUT",
1037
+ "PREFERRED_STREAM_SEGMENT",
1038
+ "SPEECH_VOICE_ALIASES",
1039
+ "SPEECH_VOICE_OPTIONS",
1040
+ "SpeechPlayback",
1041
+ "default",
1042
+ "splitSpeechText"
1043
+ ],
1044
+ "summary": "Segments bounded text, queues latest-request speech synthesis, and controls lookahead HTML audio playback.",
1045
+ "availability": "Browser + native bridge",
1046
+ "protocol": "Arcane.speech.synthesize, Blob URLs, audio element",
1047
+ "normalization": "State/limits normalized; provider/media failures mixed.",
1048
+ "surface": "SpeechPlayback class/default, voice/limit constants, `splitSpeechText()`, playback lifecycle APIs."
1049
+ },
1050
+ {
1051
+ "file": "runtime/arcane/modules/StaticDocumentCatalog.js",
1052
+ "name": "StaticDocumentCatalog.js",
1053
+ "kind": "esm",
1054
+ "exports": [
1055
+ "CATALOG_SCHEMA_VERSION",
1056
+ "default",
1057
+ "normalizeStaticDocumentCatalog",
1058
+ "staticDocumentCacheKey"
1059
+ ],
1060
+ "summary": "Loads a positive static document inventory with byte/hash verification, cache, search, and bounded context.",
1061
+ "availability": "Browser / native WebView / server with fetch",
1062
+ "protocol": "HTTP(S), crypto.subtle, optional cache",
1063
+ "normalization": "Strict catalog/content normalization; transport failures mixed.",
1064
+ "surface": "default catalog, schema constant, catalog normalizer/cache-key; list/get/search/hydrate/context APIs."
1065
+ },
1066
+ {
1067
+ "file": "runtime/arcane/modules/SystemAppearance.js",
1068
+ "name": "SystemAppearance.js",
1069
+ "kind": "esm",
1070
+ "exports": [
1071
+ "default"
1072
+ ],
1073
+ "summary": "Reads or applies native appearance, returning an explicit unsupported browser state when no bridge exists.",
1074
+ "availability": "Browser/native hybrid",
1075
+ "protocol": "Arcane.appearance",
1076
+ "normalization": "Absent bridge normalized; native result/error preserved.",
1077
+ "surface": "default `SystemAppearance`; `available()`, `current()`, `apply()`."
1078
+ },
1079
+ {
1080
+ "file": "runtime/arcane/modules/SystemPlatformPresentation.js",
1081
+ "name": "SystemPlatformPresentation.js",
1082
+ "kind": "classic-script",
1083
+ "exports": [],
1084
+ "summary": "Maps kernel names to presentation labels/classes without granting platform authority.",
1085
+ "availability": "Browser / native WebView classic script",
1086
+ "protocol": "DOM",
1087
+ "normalization": "Fully normalized presentation only.",
1088
+ "surface": "No ESM exports; global `ArcaneSystemPlatformPresentation` with `kernelType()`, `displayName()`, `apply()`."
1089
+ },
1090
+ {
1091
+ "file": "runtime/arcane/modules/SystemToolRegistry.js",
1092
+ "name": "SystemToolRegistry.js",
1093
+ "kind": "esm",
1094
+ "exports": [
1095
+ "default",
1096
+ "quoteArgument"
1097
+ ],
1098
+ "summary": "Registers validated command builders and constructs command strings without executing them.",
1099
+ "availability": "Cross-host",
1100
+ "protocol": "In-process only",
1101
+ "normalization": "Fully normalized definitions/quoting.",
1102
+ "surface": "default registry, `quoteArgument()`, register/list/get/build APIs."
1103
+ },
1104
+ {
1105
+ "file": "runtime/arcane/modules/TerminalClient.js",
1106
+ "name": "TerminalClient.js",
1107
+ "kind": "esm",
1108
+ "exports": [
1109
+ "default"
1110
+ ],
1111
+ "summary": "Maps native terminal sessions and Arcane events into an EventTarget client.",
1112
+ "availability": "Native bridge",
1113
+ "protocol": "Arcane.terminal + Arcane.events",
1114
+ "normalization": "Client events/state normalized; native result/error mixed.",
1115
+ "surface": "default `TerminalClient`; start/write/resize/signal/close/receive/destroy APIs and terminal events."
1116
+ },
1117
+ {
1118
+ "file": "runtime/arcane/modules/TerminalCommandRegistry.js",
1119
+ "name": "TerminalCommandRegistry.js",
1120
+ "kind": "esm",
1121
+ "exports": [
1122
+ "default",
1123
+ "splitCommandLine"
1124
+ ],
1125
+ "summary": "Routes parsed command lines to injected handlers and provides definitions/completions.",
1126
+ "availability": "Cross-host",
1127
+ "protocol": "Injected handlers",
1128
+ "normalization": "Parsing/routing normalized; handler result/error preserved.",
1129
+ "surface": "default registry, `splitCommandLine()`, register/resolve/definitions/completions/execute APIs."
1130
+ },
1131
+ {
1132
+ "file": "runtime/arcane/modules/ThemeBootstrap.js",
1133
+ "name": "ThemeBootstrap.js",
1134
+ "kind": "esm",
1135
+ "exports": [
1136
+ "arcaneThemeReady",
1137
+ "bootstrapArcaneTheme",
1138
+ "default"
1139
+ ],
1140
+ "summary": "Performs import-time Arcane theme loading and subscribes to native appearance changes.",
1141
+ "availability": "Browser/native hybrid",
1142
+ "protocol": "ThemeManager + Arcane.events",
1143
+ "normalization": "Theme state normalized; storage/native errors mixed.",
1144
+ "surface": "`bootstrapArcaneTheme()`, `arcaneThemeReady`, default ready promise."
1145
+ },
1146
+ {
1147
+ "file": "runtime/arcane/modules/ThemeManager.js",
1148
+ "name": "ThemeManager.js",
1149
+ "kind": "esm",
1150
+ "exports": [
1151
+ "default",
1152
+ "loadAndApplyTheme"
1153
+ ],
1154
+ "summary": "Loads, applies, previews, saves, resets, and synchronizes semantic Arcane themes.",
1155
+ "availability": "Browser/native hybrid",
1156
+ "protocol": "PreferenceStore, DOM, Arcane.appearance",
1157
+ "normalization": "Theme values/events normalized; storage/native failures mixed.",
1158
+ "surface": "default `ThemeManager`, `loadAndApplyTheme()`; scheme/custom/system APIs and `arcane-theme-change`."
1159
+ },
1160
+ {
1161
+ "file": "runtime/arcane/modules/TimeGuard.js",
1162
+ "name": "TimeGuard.js",
1163
+ "kind": "esm",
1164
+ "exports": [
1165
+ "default"
1166
+ ],
1167
+ "summary": "Persists and evaluates clock rollback and grace-period state.",
1168
+ "availability": "Browser / native WebView",
1169
+ "protocol": "User + DBOPFS",
1170
+ "normalization": "Time decisions normalized; storage lifecycle mixed.",
1171
+ "surface": "default `TimeGuard`; installs `window.timeguard`, emits `time-guard-ready`; clock methods."
1172
+ },
1173
+ {
1174
+ "file": "runtime/arcane/modules/ToolCallRouter.js",
1175
+ "name": "ToolCallRouter.js",
1176
+ "kind": "esm",
1177
+ "exports": [
1178
+ "handleResponse",
1179
+ "handleStreamedCalls",
1180
+ "parseArguments"
1181
+ ],
1182
+ "summary": "Parses OpenAI-style tool calls and dispatches complete or streamed calls to injected handlers.",
1183
+ "availability": "Cross-host",
1184
+ "protocol": "Injected handlers",
1185
+ "normalization": "Arguments/routing normalized; handler results returned or all-settled.",
1186
+ "surface": "`parseArguments()`, `handleResponse()`, `handleStreamedCalls()`."
1187
+ },
1188
+ {
1189
+ "file": "runtime/arcane/modules/uPlot.iife.min.js",
1190
+ "name": "uPlot.iife.min.js",
1191
+ "kind": "classic-script",
1192
+ "exports": [],
1193
+ "summary": "Vendored uPlot chart constructor and rendering runtime.",
1194
+ "availability": "Browser vendor script",
1195
+ "protocol": "Classic script + canvas/DOM",
1196
+ "normalization": "Vendor-native.",
1197
+ "surface": "No ESM exports; global `uPlot` with data/series/scale/cursor/hook/selection/destroy APIs."
1198
+ },
1199
+ {
1200
+ "file": "runtime/arcane/modules/uPlot.LICENSE.txt",
1201
+ "name": "uPlot.LICENSE.txt",
1202
+ "kind": "license",
1203
+ "exports": [],
1204
+ "summary": "License companion for the bundled uPlot vendor runtime.",
1205
+ "availability": "Documentation asset",
1206
+ "protocol": "None",
1207
+ "normalization": "Not executable.",
1208
+ "surface": "MIT license text."
1209
+ },
1210
+ {
1211
+ "file": "runtime/arcane/modules/uPlot.min.css",
1212
+ "name": "uPlot.min.css",
1213
+ "kind": "stylesheet",
1214
+ "exports": [],
1215
+ "summary": "Bundled uPlot presentation stylesheet.",
1216
+ "availability": "Browser stylesheet",
1217
+ "protocol": "CSS",
1218
+ "normalization": "Presentation only.",
1219
+ "surface": "Load with a stylesheet link before rendering uPlot charts."
1220
+ },
1221
+ {
1222
+ "file": "runtime/arcane/modules/WaitForComponent.js",
1223
+ "name": "WaitForComponent.js",
1224
+ "kind": "esm",
1225
+ "exports": [
1226
+ "default"
1227
+ ],
1228
+ "summary": "Waits for a component property, method, or readiness event with optional error event and bounded timeout.",
1229
+ "availability": "Cross-host EventTarget / browser component",
1230
+ "protocol": "EventTarget + timers",
1231
+ "normalization": "Normalized coded readiness, error, and timeout results.",
1232
+ "surface": "default `waitForComponent()`."
1233
+ },
1234
+ {
1235
+ "file": "runtime/arcane/modules/YouTubeMedia.js",
1236
+ "name": "YouTubeMedia.js",
1237
+ "kind": "esm",
1238
+ "exports": [
1239
+ "parseYouTubeMedia",
1240
+ "youtubeEmbedUrl"
1241
+ ],
1242
+ "summary": "Validates YouTube video/playlist locators and constructs privacy-enhanced embed URLs.",
1243
+ "availability": "Cross-host",
1244
+ "protocol": "URL construction only",
1245
+ "normalization": "Fully normalized.",
1246
+ "surface": "`parseYouTubeMedia()`, `youtubeEmbedUrl()`."
1247
+ }
1248
+ ]
1249
+ }