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.
- package/CHANGELOG.md +27 -0
- package/README.md +86 -117
- package/bin/arcane-test.mjs +170 -46
- package/browser-runtime/ai/browser-speech-artifacts.mjs +887 -909
- package/browser-runtime/ai/browser-speech-providers.mjs +96 -152
- package/browser-runtime/ai/browser-wasm-llm-provider.mjs +627 -819
- package/browser-runtime/ai/browser-wasm.mjs +24 -35
- package/browser-runtime/ai/browser-wllama-runtime.mjs +64 -316
- package/browser-runtime/ai/model-controller.mjs +584 -181
- package/browser-runtime/ai/speech-worker-client.mjs +8 -146
- package/browser-runtime/ai/speech-worker-runtime.mjs +643 -363
- package/browser-runtime/dom-event-instrumentation.mjs +55 -147
- package/browser-runtime/event-manager.mjs +239 -624
- package/package.json +5 -6
- package/runtime/arcane/components/app-bar.html +3 -15
- package/runtime/arcane/components/assistant-panel.html +10 -10
- package/runtime/arcane/components/calculator.html +1 -1
- package/runtime/arcane/components/chat.html +1359 -135
- package/runtime/arcane/components/conversation-view.html +2 -2
- package/runtime/arcane/components/document-inspector.html +11 -17
- package/runtime/arcane/components/file-manager.html +13 -56
- package/runtime/arcane/components/markdown-document.html +82 -281
- package/runtime/arcane/components/markdown-editor.html +7 -10
- package/runtime/arcane/components/media-embed.html +6 -6
- package/runtime/arcane/components/screen-capture.html +4 -4
- package/runtime/arcane/components/source-explanation.html +2 -2
- package/runtime/arcane/components/speech.html +112 -68
- package/runtime/arcane/components/terminal-workspace.html +4 -4
- package/runtime/arcane/components/theme-editor.html +1 -1
- package/runtime/arcane/components/unified-inbox.html +2 -2
- package/runtime/arcane/components/voice-transcription.html +31 -21
- package/runtime/arcane/entities/Calculation.js +2 -3
- package/runtime/arcane/entities/Chat.js +228 -43
- package/runtime/arcane/entities/Preference.js +3 -5
- package/runtime/arcane/entities/Weather.js +5 -5
- package/runtime/arcane/modules/AI.js +1050 -427
- package/runtime/arcane/modules/AIProviderRuntime.js +658 -363
- package/runtime/arcane/modules/AIResponseLength.js +9 -19
- package/runtime/arcane/modules/AIRuntimeState.js +109 -72
- package/runtime/arcane/modules/ArcaneNavigationPolicy.js +45 -32
- package/runtime/arcane/modules/BrowserTestSuite.js +78 -122
- package/runtime/arcane/modules/CalculatorEngine.js +9 -9
- package/runtime/arcane/modules/CommunicationAppController.js +3 -7
- package/runtime/arcane/modules/ComponentContracts.js +30 -32
- package/runtime/arcane/modules/ConfiguredAIChatSession.js +281 -230
- package/runtime/arcane/modules/ConversationActionItems.js +26 -59
- package/runtime/arcane/modules/ConversationClosingReport.js +34 -61
- package/runtime/arcane/modules/ConversationTimebox.js +27 -15
- package/runtime/arcane/modules/DBOPFSDocumentLibrary.js +152 -344
- package/runtime/arcane/modules/DocumentLexicalSearch.js +25 -91
- package/runtime/arcane/modules/HTMLImport.js +54 -1
- package/runtime/arcane/modules/IsolatedModelQuestionRunner.js +40 -203
- package/runtime/arcane/modules/LocalAIReadiness.js +40 -60
- package/runtime/arcane/modules/LocalAIReadinessController.js +15 -13
- package/runtime/arcane/modules/MD.js +1 -45
- package/runtime/arcane/modules/Mail.js +51 -103
- package/runtime/arcane/modules/MailOutbox.mjs +95 -193
- package/runtime/arcane/modules/MailTransport.mjs +36 -57
- package/runtime/arcane/modules/ModelDefinition.js +22 -106
- package/runtime/arcane/modules/OpenMeteoWeatherProvider.js +39 -101
- package/runtime/arcane/modules/PersistentAIChatSession.js +281 -18
- package/runtime/arcane/modules/PreferenceStore.js +102 -30
- package/runtime/arcane/modules/RiskSignalAnalyzer.js +8 -9
- package/runtime/arcane/modules/ScopedOPFSCache.js +7 -42
- package/runtime/arcane/modules/ScreenCapture.js +175 -128
- package/runtime/arcane/modules/SpeechPlayback.js +46 -149
- package/runtime/arcane/modules/StaticDocumentCatalog.js +173 -407
- package/runtime/arcane/modules/ToolCallRouter.js +25 -12
- package/runtime/arcane/modules/YouTubeMedia.js +6 -5
- package/schemas/arcane-app-bundle.schema.json +13 -78
- package/schemas/arcane-app.schema.json +9 -25
- package/schemas/arcane-lock.schema.json +18 -151
- package/schemas/arcane-package.schema.json +2 -16
- package/schemas/native-build-plan.schema.json +119 -122
- package/src/app-descriptor.mjs +75 -132
- package/src/application-tests.mjs +200 -0
- package/src/cli/main.mjs +27 -46
- package/src/constants.mjs +3 -4
- package/src/dev-server.mjs +30 -324
- package/src/doctor.mjs +92 -154
- package/src/dom-event-instrumentation.mjs +55 -147
- package/src/errors.mjs +2 -3
- package/src/event-manager.mjs +239 -624
- package/src/event-queue.mjs +3 -3
- package/src/import-map.mjs +273 -1028
- package/src/index.mjs +14 -16
- package/src/installed-sdk-runtime.mjs +40 -62
- package/src/integrated-provider-loader.mjs +53 -382
- package/src/mail-api.mjs +0 -2
- package/src/mail-server.mjs +224 -580
- package/src/mail.mjs +4 -10
- package/src/native-plan.mjs +163 -598
- package/src/native-provider-loader.mjs +104 -1063
- package/src/packager/core.mjs +485 -3229
- package/src/process.mjs +5 -10
- package/src/release-bundle.mjs +292 -2405
- package/src/runtime.mjs +76 -396
- package/src/scaffold.mjs +30 -80
- package/src/sdk-browser-runtime.mjs +70 -626
- package/src/source-server.mjs +588 -0
- package/src/targets/index.mjs +78 -188
- package/src/templates/workspace-template.mjs +19 -135
- package/src/testing-loader.mjs +164 -0
- package/src/testing.mjs +1 -1
- package/src/toolchain.mjs +131 -544
- package/src/update-check.mjs +26 -64
- package/src/workspace-operation-lock.mjs +139 -430
- package/src/workspace-runtime.mjs +112 -779
- package/src/workspace.mjs +40 -302
- package/browser-runtime/ARCANE_SDK_BROWSER_RELEASE.json +0 -218
- package/browser-runtime/ai/ARCANE_AI_BROWSER_SPEECH_COMPONENTS.json +0 -203
- package/browser-runtime/ai/ARCANE_AI_BROWSER_WASM_COMPONENTS.json +0 -80
- package/browser-runtime/ai/internal/sha256.mjs +0 -166
- package/docs/architecture.md +0 -344
- package/docs/compatibility.md +0 -36
- package/docs/event-manager.md +0 -294
- package/docs/platform-targets.md +0 -108
- package/docs/publishing.md +0 -201
- package/docs/reference/README.md +0 -187
- package/docs/reference/ai/browser-speech-package-authority.json +0 -835
- package/docs/reference/ai/browser-speech.md +0 -1252
- package/docs/reference/ai/browser-wasm.md +0 -530
- package/docs/reference/arcane-ollama.md +0 -288
- package/docs/reference/availability-and-normalization.md +0 -183
- package/docs/reference/behavioral-testing.md +0 -133
- package/docs/reference/cli.md +0 -779
- package/docs/reference/core/README.md +0 -62
- package/docs/reference/core/arcane-ai-contracts.md +0 -907
- package/docs/reference/core/arcane-api.md +0 -601
- package/docs/reference/core/arcane-entities.md +0 -65
- package/docs/reference/core/arcane-events.md +0 -134
- package/docs/reference/core/ollama-module.md +0 -181
- package/docs/reference/core/reference/arcane-api/ai-and-ollama.md +0 -1909
- package/docs/reference/core/reference/arcane-api/applications-terminal-capabilities.md +0 -1057
- package/docs/reference/core/reference/arcane-api/core-and-events.md +0 -320
- package/docs/reference/core/reference/arcane-api/filesystem-storage-preferences-appearance.md +0 -610
- package/docs/reference/core/reference/arcane-api/namespaces.md +0 -1157
- package/docs/reference/core/reference/arcane-api/platform-installation-users-system.md +0 -1423
- package/docs/reference/core/reference/arcane-api/session-provisioning-diagnostics-development.md +0 -315
- package/docs/reference/event-manager.md +0 -1511
- package/docs/reference/inventory/package-api.json +0 -3284
- package/docs/reference/inventory/runtime-components.json +0 -1011
- package/docs/reference/inventory/runtime-entities.json +0 -26
- package/docs/reference/inventory/runtime-modules.json +0 -1431
- package/docs/reference/mail.md +0 -316
- package/docs/reference/protocols.md +0 -677
- package/docs/reference/runtime-components.md +0 -1366
- package/docs/reference/runtime-entities.md +0 -303
- package/docs/reference/runtime-modules.md +0 -2960
- package/docs/reference/sdk-api.md +0 -6694
- package/docs/roadmap.md +0 -79
- package/docs/work-amplification.md +0 -129
- package/runtime/ARCANE_RUNTIME_RELEASE.json +0 -826
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
completeValueText,
|
|
3
|
+
createModelController,
|
|
4
|
+
ModelController,
|
|
5
|
+
} from "./model-controller.mjs";
|
|
2
6
|
import {
|
|
3
7
|
adaptV1LlmProvider,
|
|
4
8
|
createBrowserModelSource,
|
|
@@ -7,24 +11,9 @@ import {
|
|
|
7
11
|
} from "./browser-wasm-llm-provider.mjs";
|
|
8
12
|
import { BROWSER_WASM_RUNTIME_AUTHORITY } from "./browser-wllama-runtime.mjs";
|
|
9
13
|
|
|
10
|
-
function chatSessionResponse(response) {
|
|
11
|
-
if (response?.message && typeof response.message === "object") return response;
|
|
12
|
-
const choice = Array.isArray(response?.choices) ? response.choices[0] : null;
|
|
13
|
-
if (!choice?.message || typeof choice.message !== "object") return response;
|
|
14
|
-
return Object.freeze({
|
|
15
|
-
message: choice.message,
|
|
16
|
-
provider: response.provider ?? null,
|
|
17
|
-
model: response.model ?? null,
|
|
18
|
-
done: response.done ?? true,
|
|
19
|
-
doneReason: response.doneReason ?? choice.finish_reason ?? null,
|
|
20
|
-
promptEvalCount: response.promptEvalCount ?? response.usage?.prompt_tokens ?? null,
|
|
21
|
-
evalCount: response.evalCount ?? response.usage?.completion_tokens ?? null,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
14
|
/**
|
|
26
|
-
* Creates the
|
|
27
|
-
*
|
|
15
|
+
* Creates the public Arcane browser-local AI API module. The SDK owns lifecycle,
|
|
16
|
+
* cache, streaming, complete response projection, and structural tool visibility; applications
|
|
28
17
|
* continue to own prompts, tools, policies, and any decision to execute a tool.
|
|
29
18
|
*/
|
|
30
19
|
function createArcaneAI({
|
|
@@ -43,6 +32,18 @@ function createArcaneAI({
|
|
|
43
32
|
const controller = selected instanceof ModelController
|
|
44
33
|
? selected
|
|
45
34
|
: createModelController({ provider: selected, loadPolicy, security });
|
|
35
|
+
const api = {
|
|
36
|
+
llm: controller,
|
|
37
|
+
runtime: BROWSER_WASM_RUNTIME_AUTHORITY,
|
|
38
|
+
createChatSession,
|
|
39
|
+
status: () => ({ llm: controller.status() }),
|
|
40
|
+
load: (options) => controller.load(options),
|
|
41
|
+
unload: (options) => controller.unload(options),
|
|
42
|
+
probe: (options) => controller.probe(options),
|
|
43
|
+
fetchRequest: (options) => controller.fetchRequest(options),
|
|
44
|
+
streamRequest: (options) => controller.streamRequest(options),
|
|
45
|
+
dispose: (options) => controller.dispose(options),
|
|
46
|
+
};
|
|
46
47
|
|
|
47
48
|
async function createChatSession(options = {}) {
|
|
48
49
|
if (!options || typeof options !== "object" || Array.isArray(options)) {
|
|
@@ -51,37 +52,25 @@ function createArcaneAI({
|
|
|
51
52
|
if (Object.getPrototypeOf(options) !== Object.prototype) {
|
|
52
53
|
throw new TypeError("createChatSession options must be a plain object.");
|
|
53
54
|
}
|
|
54
|
-
if (Object.hasOwn(options, "chat")) {
|
|
55
|
-
throw new TypeError("createChatSession always uses this Arcane AI
|
|
55
|
+
if (Object.hasOwn(options, "ai") || Object.hasOwn(options, "chat")) {
|
|
56
|
+
throw new TypeError("createChatSession always uses this Arcane AI API module.");
|
|
56
57
|
}
|
|
57
58
|
const { createPersistentAIChatSession } = await import(
|
|
58
59
|
"#arcane/persistent-ai-chat-session"
|
|
59
60
|
);
|
|
60
61
|
return createPersistentAIChatSession({
|
|
61
62
|
...options,
|
|
62
|
-
|
|
63
|
-
await controller.fetchRequest(request)
|
|
64
|
-
),
|
|
63
|
+
ai: api,
|
|
65
64
|
});
|
|
66
65
|
}
|
|
67
66
|
|
|
68
|
-
return
|
|
69
|
-
llm: controller,
|
|
70
|
-
runtime: BROWSER_WASM_RUNTIME_AUTHORITY,
|
|
71
|
-
createChatSession,
|
|
72
|
-
status: () => Object.freeze({ llm: controller.status() }),
|
|
73
|
-
load: (options) => controller.load(options),
|
|
74
|
-
unload: (options) => controller.unload(options),
|
|
75
|
-
probe: (options) => controller.probe(options),
|
|
76
|
-
fetchRequest: (options) => controller.fetchRequest(options),
|
|
77
|
-
streamRequest: (options) => controller.streamRequest(options),
|
|
78
|
-
dispose: (options) => controller.dispose(options),
|
|
79
|
-
});
|
|
67
|
+
return api;
|
|
80
68
|
}
|
|
81
69
|
|
|
82
70
|
export {
|
|
83
71
|
BROWSER_WASM_RUNTIME_AUTHORITY,
|
|
84
72
|
adaptV1LlmProvider,
|
|
73
|
+
completeValueText,
|
|
85
74
|
createArcaneAI,
|
|
86
75
|
createBrowserModelSource,
|
|
87
76
|
createBrowserWasmLlmProvider,
|