arcane-os 0.1.2 → 0.2.1
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 +35 -0
- package/NOTICE +5 -3
- package/README.md +73 -24
- package/browser-runtime/ARCANE_SDK_BROWSER_RELEASE.json +67 -18
- package/browser-runtime/ai/ARCANE_AI_BROWSER_WASM_COMPONENTS.json +16 -5
- package/browser-runtime/ai/browser-kokoro-worker.mjs +3 -0
- package/browser-runtime/ai/browser-speech-artifacts.mjs +1108 -0
- package/browser-runtime/ai/browser-speech-providers.mjs +780 -0
- package/browser-runtime/ai/browser-speech.mjs +9 -0
- package/browser-runtime/ai/browser-wasm-llm-provider.mjs +1537 -167
- package/browser-runtime/ai/browser-wasm.mjs +46 -1
- package/browser-runtime/ai/browser-whisper-worker.mjs +3 -0
- package/browser-runtime/ai/browser-wllama-runtime.mjs +677 -132
- package/browser-runtime/ai/model-controller.mjs +138 -12
- package/browser-runtime/ai/speech-worker-client.mjs +207 -0
- package/browser-runtime/ai/speech-worker-runtime.mjs +516 -0
- package/browser-runtime/ai/wllama/index.mjs +389 -0
- package/docs/architecture.md +132 -22
- package/docs/reference/README.md +1 -1
- package/docs/reference/ai/browser-wasm.md +101 -42
- package/docs/reference/availability-and-normalization.md +19 -5
- package/docs/reference/behavioral-testing.md +18 -5
- package/docs/reference/cli.md +2 -2
- package/docs/reference/inventory/package-api.json +14 -14
- package/docs/reference/protocols.md +4 -4
- package/docs/reference/sdk-api.md +68 -38
- package/docs/work-amplification.md +8 -4
- package/package.json +7 -3
- package/runtime/ARCANE_RUNTIME_RELEASE.json +50 -20
- package/runtime/arcane/components/chat.html +551 -62
- package/runtime/arcane/components/speech.html +1113 -265
- package/runtime/arcane/entities/Chat.js +246 -43
- package/runtime/arcane/modules/AI.js +1394 -162
- package/runtime/arcane/modules/AIProviderRuntime.js +2289 -0
- package/runtime/arcane/modules/AIRuntimeState.js +872 -0
- package/runtime/arcane/modules/ConfiguredAIChatSession.js +382 -31
- package/runtime/arcane/modules/DBOPFSDocumentLibrary.js +1106 -0
- package/runtime/arcane/modules/DocumentLexicalSearch.js +292 -0
- package/runtime/arcane/modules/PersistentAIChatSession.js +268 -0
- package/runtime/arcane/modules/StaticDocumentCatalog.js +25 -206
- package/schemas/arcane-lock.schema.json +10 -6
- package/src/cli/main.mjs +14 -2
- package/src/constants.mjs +1 -1
- package/src/dev-server.mjs +273 -26
- package/src/doctor.mjs +1 -3
- package/src/import-map.mjs +193 -84
- package/src/packager/core.mjs +313 -41
- package/src/runtime.mjs +14 -4
- package/src/scaffold.mjs +45 -17
- package/src/sdk-browser-runtime.mjs +28 -75
- package/src/templates/workspace-template.mjs +27 -8
- package/src/toolchain.mjs +13 -2
- package/src/workspace-runtime.mjs +1 -1
- package/src/workspace.mjs +178 -25
|
@@ -29,7 +29,7 @@ for that 86-entry physical-runtime contract.
|
|
|
29
29
|
| `arcane-os/packager` | Low-level browser app packager. |
|
|
30
30
|
| `arcane-os/release-bundle` | Deterministic external release bundles. |
|
|
31
31
|
| `arcane-os/event-manager` | Central synchronous events, bounded time-travel history, playback, and optional DOM instrumentation. |
|
|
32
|
-
| `arcane-os/ai/browser-wasm` | Caller-
|
|
32
|
+
| `arcane-os/ai/browser-wasm` | Caller-selected browser-local Wllama inference, configurable DBOPFS model checks, streaming, cancellation, and structural tool-call results. |
|
|
33
33
|
|
|
34
34
|
JSON schemas, the runtime manifest, and `package.json` are data-only export subpaths. In Node ESM, import JSON with `with {type: 'json'}`, or resolve and read it explicitly.
|
|
35
35
|
|
|
@@ -89,7 +89,7 @@ Protocol mechanics are intentionally kept in the [deep protocol guide](protocols
|
|
|
89
89
|
| `createArcaneAI()` | function | `arcane-os/ai/browser-wasm` | Browser-WASM local AI | Browser; compatible LLM provider or controller required |
|
|
90
90
|
| `createAppReleaseBundle()` | function | `arcane-os` | Packaging and release bundles | Node |
|
|
91
91
|
| `createBrowserModelSource()` | function | `arcane-os/ai/browser-wasm` | Browser-WASM local AI | Browser Fetch with a readable response body |
|
|
92
|
-
| `createBrowserWasmLlmProvider()` | function | `arcane-os/ai/browser-wasm` | Browser-WASM local AI | Browser; WebAssembly and
|
|
92
|
+
| `createBrowserWasmLlmProvider()` | function | `arcane-os/ai/browser-wasm` | Browser-WASM local AI | Browser; WebAssembly and DBOPFS model bytes |
|
|
93
93
|
| `createCanonicalUstarHeader()` | function | `arcane-os` | Packaging and release bundles | Node |
|
|
94
94
|
| `createDbopfsModelStore()` | function | `arcane-os/ai/browser-wasm` | Browser-WASM local AI | Browser with a ready DBOPFS instance and OPFS |
|
|
95
95
|
| `createNativeBuildPlan()` | function | `arcane-os` | Targets, native plans, and providers | Node; selected browser/native target or provider as documented |
|
|
@@ -2655,7 +2655,7 @@ The import-map operation also reports the stable operation-specific strings
|
|
|
2655
2655
|
`ARCANE_IMPORT_MAP_COLLISION`; package assembly can additionally report
|
|
2656
2656
|
`ARCANE_IMPORT_MAP_CLEANUP_FAILED`. They are normalized `ArcaneError.code`
|
|
2657
2657
|
values, but are not properties added to this frozen general registry in SDK
|
|
2658
|
-
`0.1.
|
|
2658
|
+
`0.1.2`.
|
|
2659
2659
|
|
|
2660
2660
|
### Value and import
|
|
2661
2661
|
|
|
@@ -3474,7 +3474,7 @@ const toolchain = createToolchain({
|
|
|
3474
3474
|
|
|
3475
3475
|
// Only this explicit call refreshes the managed map and HTML entry.
|
|
3476
3476
|
const result = await toolchain.importMap();
|
|
3477
|
-
console.log(result.importMap.entryCount); // 86 in SDK 0.1.
|
|
3477
|
+
console.log(result.importMap.entryCount); // 86 in SDK 0.1.2
|
|
3478
3478
|
```
|
|
3479
3479
|
|
|
3480
3480
|
## describeTargets()
|
|
@@ -4941,7 +4941,7 @@ console.log(stack.sessionId, stack.events.length);
|
|
|
4941
4941
|
|
|
4942
4942
|
Deep-frozen authority for the browser-only runtime behind
|
|
4943
4943
|
`arcane-os/ai/browser-wasm`. It records protocol
|
|
4944
|
-
`arcane-ai-browser-wasm/
|
|
4944
|
+
`arcane-ai-browser-wasm/2`, `@wllama/wllama` `3.6.0`, the embedded llama.cpp
|
|
4945
4945
|
revision, the exact packaged JavaScript and WebAssembly assets, retained MIT
|
|
4946
4946
|
licenses, and the disabled compatibility-runtime/remote-model-helper policy.
|
|
4947
4947
|
It contains no model weights or model catalog.
|
|
@@ -4984,7 +4984,7 @@ requires an explicit successful `load()` before requests. When both `llm` and
|
|
|
4984
4984
|
### Signature and result
|
|
4985
4985
|
|
|
4986
4986
|
```text
|
|
4987
|
-
createArcaneAI({ llm=null, provider=null, loadPolicy='on-demand' }={})
|
|
4987
|
+
createArcaneAI({ llm=null, provider=null, loadPolicy='on-demand', security }={})
|
|
4988
4988
|
```
|
|
4989
4989
|
|
|
4990
4990
|
At least one `llm` or `provider` is required. The frozen facade contains
|
|
@@ -4994,6 +4994,12 @@ methods return the flat LLM status. `fetchRequest()` returns the completion.
|
|
|
4994
4994
|
`streamRequest()` consumes streaming and returns text or a tool-name-to-JSON-
|
|
4995
4995
|
argument-string record. Use `ai.llm.stream()` for the async iterator.
|
|
4996
4996
|
|
|
4997
|
+
App and load-operation security use
|
|
4998
|
+
`{security:{secure?:boolean, checks?:{byteLength?:boolean, sha256?:boolean}}}`.
|
|
4999
|
+
The SDK/app default is `secure:false`. Each omitted field inherits and an
|
|
5000
|
+
operation field overrides the corresponding app field. The provider/model
|
|
5001
|
+
binding scope, documented below, sits between those scopes.
|
|
5002
|
+
|
|
4997
5003
|
### Availability and normalization
|
|
4998
5004
|
|
|
4999
5005
|
**Browser.** It normalizes lifecycle, state/progress events, lazy/manual use,
|
|
@@ -5014,10 +5020,9 @@ stop();
|
|
|
5014
5020
|
### Overview
|
|
5015
5021
|
|
|
5016
5022
|
Validates a caller-owned model descriptor and creates the cancellable HTTPS
|
|
5017
|
-
source accepted by the browser-WASM store/provider.
|
|
5018
|
-
`
|
|
5019
|
-
|
|
5020
|
-
not inline data.
|
|
5023
|
+
source accepted by the browser-WASM store/provider. The canonical descriptor is
|
|
5024
|
+
`{id, url, bytes?, sha256?}`. `id` and `url` are required. `bytes`, when
|
|
5025
|
+
present, is the expected positive safe-integer byte length, not inline data.
|
|
5021
5026
|
|
|
5022
5027
|
### Signature and result
|
|
5023
5028
|
|
|
@@ -5026,30 +5031,34 @@ createBrowserModelSource(descriptor, { fetchImpl=null }={})
|
|
|
5026
5031
|
```
|
|
5027
5032
|
|
|
5028
5033
|
The URL must be absolute HTTPS with no credentials or fragment and no
|
|
5029
|
-
revision-floating `main`, `master`, or `latest` path.
|
|
5030
|
-
exactly 64 hexadecimal characters. The frozen source exposes its canonical
|
|
5034
|
+
revision-floating `main`, `master`, or `latest` path. A supplied SHA-256 value
|
|
5035
|
+
is exactly 64 hexadecimal characters. The frozen source exposes its canonical
|
|
5031
5036
|
descriptor and `open({signal})`, which returns `{body, requestedUrl, finalUrl,
|
|
5032
|
-
cancel}`.
|
|
5033
|
-
|
|
5037
|
+
reportedBytes, cancel}`. `reportedBytes` is the nullable valid nonnegative
|
|
5038
|
+
`Content-Length` observation; it is not an unconditional admission check. Every
|
|
5039
|
+
direct `open()` performs the configured fetch.
|
|
5040
|
+
|
|
5041
|
+
For compatibility, `immutableUrl` remains an alias for `url` and `name` can
|
|
5042
|
+
remain a cache-filename hint; `url` and `immutableUrl` must match when both are
|
|
5043
|
+
present. Legacy `licenseSpdx` and `sourceRevision` properties are not canonical
|
|
5044
|
+
descriptor fields, runtime admission checks, or proof of license rights.
|
|
5034
5045
|
|
|
5035
5046
|
### Availability and normalization
|
|
5036
5047
|
|
|
5037
5048
|
**Browser Fetch with CORS and a readable response body.** Downloads omit
|
|
5038
5049
|
credentials/referrer, disable HTTP caching, follow redirects, require a final
|
|
5039
|
-
HTTPS URL,
|
|
5040
|
-
|
|
5050
|
+
HTTPS URL, and honor `AbortSignal`. The DBOPFS store always counts and records
|
|
5051
|
+
actual bytes; it compares expected length or hashes bytes only when the
|
|
5052
|
+
corresponding effective check is enabled.
|
|
5041
5053
|
|
|
5042
5054
|
### Example
|
|
5043
5055
|
|
|
5044
5056
|
```javascript
|
|
5045
5057
|
const source = createBrowserModelSource({
|
|
5046
5058
|
id:'reviewed-model',
|
|
5047
|
-
|
|
5048
|
-
immutableUrl:'https://models.example/revisions/4f7c/model-q4.gguf',
|
|
5059
|
+
url:'https://models.example/revisions/4f7c/model-q4.gguf',
|
|
5049
5060
|
bytes:123456789,
|
|
5050
|
-
sha256:'0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
|
|
5051
|
-
licenseSpdx:'Apache-2.0',
|
|
5052
|
-
sourceRevision:'4f7c'
|
|
5061
|
+
sha256:'0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
|
|
5053
5062
|
});
|
|
5054
5063
|
```
|
|
5055
5064
|
|
|
@@ -5064,7 +5073,7 @@ created by this module. It serializes requests and exposes provider states
|
|
|
5064
5073
|
### Signature and result
|
|
5065
5074
|
|
|
5066
5075
|
```text
|
|
5067
|
-
createBrowserWasmLlmProvider({ source, store, loadDefaults={}, logger=console }={})
|
|
5076
|
+
createBrowserWasmLlmProvider({ source, store, loadDefaults={}, security, logger=console }={})
|
|
5068
5077
|
```
|
|
5069
5078
|
|
|
5070
5079
|
The frozen provider exposes `protocol`, `id`, `model`, `capabilities`,
|
|
@@ -5075,12 +5084,24 @@ OpenAI-like message/generation fields, tools, tool choice, parallel tool-call
|
|
|
5075
5084
|
preference, and JSON/JSON-Schema structured output. `stream()` returns a frozen
|
|
5076
5085
|
async iterator with `result` and `cancel(reason)`.
|
|
5077
5086
|
|
|
5087
|
+
Provider `security` is the provider/model-binding scope. Security fields resolve
|
|
5088
|
+
independently by precedence: load operation, provider/model binding, app SDK
|
|
5089
|
+
configuration, then SDK default `secure:false`. Omitted fields inherit. After
|
|
5090
|
+
resolution, `secure:true` enables both byte-length and SHA-256 checks by default;
|
|
5091
|
+
`secure:false` disables both by default. An explicit per-check boolean overrides
|
|
5092
|
+
the resolved secure default. Enabled checks require their corresponding
|
|
5093
|
+
descriptor fields and fail closed; disabled checks permit those fields to be
|
|
5094
|
+
absent. Changing effective checks for an already loaded or in-flight model
|
|
5095
|
+
requires unload and reload.
|
|
5096
|
+
|
|
5078
5097
|
### Availability and normalization
|
|
5079
5098
|
|
|
5080
|
-
**Browser with WebAssembly and a
|
|
5081
|
-
cross-origin isolation are
|
|
5082
|
-
|
|
5083
|
-
|
|
5099
|
+
**Browser with WebAssembly and a DBOPFS model.** A load succeeds only after
|
|
5100
|
+
Wllama confirms the model is loaded. WebGPU and cross-origin isolation are
|
|
5101
|
+
capability observations, not promised gates. Status discloses effective
|
|
5102
|
+
`security` and per-check `integrity`; unchecked bytes are never labeled SHA-256
|
|
5103
|
+
verified. Returned tools are validated structural data; the SDK never calls a
|
|
5104
|
+
handler. Cancellation normalizes to `ARCANE_AI_REQUEST_ABORTED`.
|
|
5084
5105
|
|
|
5085
5106
|
### Example
|
|
5086
5107
|
|
|
@@ -5088,6 +5109,7 @@ Cancellation normalizes to `ARCANE_AI_REQUEST_ABORTED`.
|
|
|
5088
5109
|
const provider = createBrowserWasmLlmProvider({
|
|
5089
5110
|
source,
|
|
5090
5111
|
store,
|
|
5112
|
+
security:{secure:true},
|
|
5091
5113
|
loadDefaults:{threads:1, contextTokens:4096, gpuLayers:0}
|
|
5092
5114
|
});
|
|
5093
5115
|
console.log(provider.status().state); // unloaded
|
|
@@ -5097,10 +5119,10 @@ console.log(provider.status().state); // unloaded
|
|
|
5097
5119
|
|
|
5098
5120
|
### Overview
|
|
5099
5121
|
|
|
5100
|
-
Adapts an existing DBOPFS instance into
|
|
5101
|
-
|
|
5102
|
-
`arcane.ai.browser-wasm.model.
|
|
5103
|
-
|
|
5122
|
+
Adapts an existing DBOPFS instance into a model cache without renaming its
|
|
5123
|
+
public methods. The adapter commits model bytes before the
|
|
5124
|
+
`arcane.ai.browser-wasm.model.v3` completion manifest and always records the
|
|
5125
|
+
observed downloaded or cached byte length.
|
|
5104
5126
|
|
|
5105
5127
|
### Signature and result
|
|
5106
5128
|
|
|
@@ -5110,14 +5132,22 @@ createDbopfsModelStore({ dbopfs, tableName='arcane_ai_browser_models' }={})
|
|
|
5110
5132
|
|
|
5111
5133
|
The frozen result contains `kind`, `tableName`, the original `adapter`, and
|
|
5112
5134
|
`ready`, `openVerified`, `install`, `ensure`, and `remove`. `ensure()` returns
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5135
|
+
the file, manifest, `observedBytes`, integrity detail, and
|
|
5136
|
+
`cache:'cached'|'installed'`. `openVerified()` is a compatibility helper that
|
|
5137
|
+
forces both checks on. Ordinary install/reuse compares expected length only
|
|
5138
|
+
when effective `checks.byteLength` is true and hashes only when effective
|
|
5139
|
+
`checks.sha256` is true. `offline:true` never downloads and rejects a miss with
|
|
5140
|
+
`ARCANE_AI_MODEL_OFFLINE_MISS`. Version-2 manifests with matching model identity
|
|
5141
|
+
can migrate to version 3 without fabricating verification.
|
|
5142
|
+
|
|
5143
|
+
### Availability and normalization
|
|
5144
|
+
|
|
5145
|
+
**Browser with a ready DBOPFS instance and OPFS.** The cache reports only checks
|
|
5146
|
+
actually performed. Disabled byte-length checks do not compare descriptor
|
|
5147
|
+
`bytes`, disabled SHA-256 checks do not hash or reread solely for a digest, and
|
|
5148
|
+
overall integrity is `verified` when every enabled check succeeds or
|
|
5149
|
+
`unchecked` when neither check is enabled. Cache
|
|
5150
|
+
metadata is not a transferable capability or license proof. Unload/dispose keep
|
|
5121
5151
|
the cache; `store.remove(source)` explicitly deletes it.
|
|
5122
5152
|
|
|
5123
5153
|
### Example
|
|
@@ -50,10 +50,14 @@ format, or signing loop and does not produce app output.
|
|
|
50
50
|
|
|
51
51
|
- Scaffold: approximately 15-25 files, less than 100 KiB, target under one
|
|
52
52
|
second before an optional dependency installation.
|
|
53
|
-
- Shared browser payload:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
files /
|
|
53
|
+
- Shared browser payload: 188 files / 12,854,565 bytes, comprising the exact
|
|
54
|
+
160-file / 3,549,207-byte SDK-canonical runtime receipt, the separate
|
|
55
|
+
25-file / 9,265,304-byte SDK browser-runtime receipt, and three SDK licensing
|
|
56
|
+
files / 40,054 canonical LF bytes, verified once per exact SDK installation
|
|
57
|
+
state.
|
|
58
|
+
The SDK is the canonical owner of portable shared runtime. The receipt keeps
|
|
59
|
+
the prior Arcane OS identity only as migration provenance and binds the
|
|
60
|
+
SDK-owned inventory once without multiplying payload verification.
|
|
57
61
|
- Small browser package: app bytes plus the shared runtime, copied and inventoried
|
|
58
62
|
once into an atomic staging directory.
|
|
59
63
|
- Portable build: one explicitly selected app and one host platform request. In
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arcane-os",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Arcane OS JavaScript SDK, project-local CLI, browser runtime, and repository-portable application packager.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.mjs",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"./events": "./src/events.mjs",
|
|
15
15
|
"./event-manager": "./src/event-manager.mjs",
|
|
16
16
|
"./ai/browser-wasm": "./browser-runtime/ai/browser-wasm.mjs",
|
|
17
|
+
"./ai/browser-speech": "./browser-runtime/ai/browser-speech.mjs",
|
|
17
18
|
"./testing": "./src/testing.mjs",
|
|
18
19
|
"./targets": "./src/targets/index.mjs",
|
|
19
20
|
"./native": "./src/native-plan.mjs",
|
|
@@ -32,6 +33,9 @@
|
|
|
32
33
|
"./schemas/target-adapter.json": "./schemas/target-adapter.schema.json",
|
|
33
34
|
"./package.json": "./package.json"
|
|
34
35
|
},
|
|
36
|
+
"imports": {
|
|
37
|
+
"#arcane/persistent-ai-chat-session": "./runtime/arcane/modules/PersistentAIChatSession.js"
|
|
38
|
+
},
|
|
35
39
|
"files": [
|
|
36
40
|
"bin/",
|
|
37
41
|
"browser-runtime/",
|
|
@@ -49,8 +53,8 @@
|
|
|
49
53
|
"test": "npm run test:unit && npm run test:functional && npm run test:integration && npm run test:regression",
|
|
50
54
|
"test:release": "node ./bin/arcane-test.mjs test/npm-release.test.mjs",
|
|
51
55
|
"test:unit": "node ./bin/arcane-test.mjs test/app-descriptor.test.mjs test/app-schema.test.mjs test/contracts.test.mjs test/doctor.test.mjs test/targets.test.mjs test/workspace-operation-lock.test.mjs",
|
|
52
|
-
"test:functional": "node ./bin/arcane-test.mjs test/cli.test.mjs test/dev-server.test.mjs test/dom-event-instrumentation.test.mjs test/event-manager.test.mjs test/events.test.mjs test/import-map.test.mjs test/packaging.test.mjs test/reference-completeness.test.mjs test/runtime-api-behavior.test.mjs test/runtime-sync.test.mjs test/runtime.test.mjs test/scaffold.test.mjs test/site.test.mjs test/update-check.test.mjs",
|
|
53
|
-
"test:integration": "node ./bin/arcane-test.mjs test/integrated-shared.test.mjs test/integrated-workspace.test.mjs test/native-plan.test.mjs test/native-provider-loader.test.mjs test/npm-release.test.mjs test/release-bundle.test.mjs test/release-capability-smoke.test.mjs test/shared-payload-batch.test.mjs test/tarball.test.mjs",
|
|
56
|
+
"test:functional": "node ./bin/arcane-test.mjs test/browser-speech-providers.test.mjs test/cli.test.mjs test/dbopfs-document-library.test.mjs test/dev-server.test.mjs test/dom-event-instrumentation.test.mjs test/event-manager.test.mjs test/events.test.mjs test/import-map.test.mjs test/packaging.test.mjs test/persistent-ai-chat-session.test.mjs test/reference-completeness.test.mjs test/runtime-api-behavior.test.mjs test/runtime-sync.test.mjs test/runtime.test.mjs test/scaffold.test.mjs test/site.test.mjs test/update-check.test.mjs",
|
|
57
|
+
"test:integration": "node ./bin/arcane-test.mjs test/integrated-shared.test.mjs test/integrated-workspace.test.mjs test/native-plan.test.mjs test/native-provider-loader.test.mjs test/npm-release.test.mjs test/release-bundle.test.mjs test/release-capability-smoke.test.mjs test/shared-payload-batch.test.mjs test/tarball.test.mjs test/wllama-webgpu-runtime.test.mjs",
|
|
54
58
|
"test:regression": "node ./bin/arcane-test.mjs test/channel-workflows.test.mjs test/native-provider-generation.test.mjs test/testing.test.mjs test/test-sets.test.mjs",
|
|
55
59
|
"check": "node tools/check-source.mjs && node tools/runtime-manifest.mjs --verify && node tools/sdk-browser-runtime-manifest.mjs --verify && npm test",
|
|
56
60
|
"check:release": "node tools/check-source.mjs --package-only && node tools/runtime-manifest.mjs --verify && node tools/sdk-browser-runtime-manifest.mjs --verify && npm run test:release",
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"builder": "arcane-sdk-runtime-v1",
|
|
4
|
-
"sdkVersion": "0.1
|
|
4
|
+
"sdkVersion": "0.2.1",
|
|
5
5
|
"source": {
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"protocol": "arcane/1"
|
|
6
|
+
"authority": "sdk-canonical",
|
|
7
|
+
"repository": "https://github.com/TheWizardNexus/arcane-os-sdk.git",
|
|
8
|
+
"path": "runtime/arcane",
|
|
9
|
+
"protocol": "arcane/1",
|
|
10
|
+
"legacyProjection": {
|
|
11
|
+
"repository": "https://github.com/TheWizardNexus/ARCANE-OS.git",
|
|
12
|
+
"commit": "c540014afe69f14cf5ae60493b7295f36dbcec64",
|
|
13
|
+
"bundleVersion": "0.8.12"
|
|
14
|
+
}
|
|
10
15
|
},
|
|
11
|
-
"fileCount":
|
|
12
|
-
"totalBytes":
|
|
13
|
-
"contentSha256": "
|
|
16
|
+
"fileCount": 160,
|
|
17
|
+
"totalBytes": 3605154,
|
|
18
|
+
"contentSha256": "5b921d50b6a0cf36a13f7a7dedf96cd3a68104a322e5139136fd4197aa1ca7cb",
|
|
14
19
|
"files": [
|
|
15
20
|
{
|
|
16
21
|
"path": "arcane/components/app-bar.html",
|
|
@@ -34,8 +39,8 @@
|
|
|
34
39
|
},
|
|
35
40
|
{
|
|
36
41
|
"path": "arcane/components/chat.html",
|
|
37
|
-
"bytes":
|
|
38
|
-
"sha256": "
|
|
42
|
+
"bytes": 61650,
|
|
43
|
+
"sha256": "d644848fbc3ccc85d491db7ada75231f393a371dd3a0ccd92f223c172571e47b"
|
|
39
44
|
},
|
|
40
45
|
{
|
|
41
46
|
"path": "arcane/components/conversation-view.html",
|
|
@@ -154,8 +159,8 @@
|
|
|
154
159
|
},
|
|
155
160
|
{
|
|
156
161
|
"path": "arcane/components/speech.html",
|
|
157
|
-
"bytes":
|
|
158
|
-
"sha256": "
|
|
162
|
+
"bytes": 38217,
|
|
163
|
+
"sha256": "61786685b7f4f257da77db2cbbe8230b379c56292ad635081f5b0763d5f48e1e"
|
|
159
164
|
},
|
|
160
165
|
{
|
|
161
166
|
"path": "arcane/components/summary-strip.html",
|
|
@@ -254,8 +259,8 @@
|
|
|
254
259
|
},
|
|
255
260
|
{
|
|
256
261
|
"path": "arcane/entities/Chat.js",
|
|
257
|
-
"bytes":
|
|
258
|
-
"sha256": "
|
|
262
|
+
"bytes": 25366,
|
|
263
|
+
"sha256": "20ece4ea4537693c49580dda723e392af152792c25006686ce2f75c7c906984d"
|
|
259
264
|
},
|
|
260
265
|
{
|
|
261
266
|
"path": "arcane/entities/CommunicationMessage.js",
|
|
@@ -369,8 +374,8 @@
|
|
|
369
374
|
},
|
|
370
375
|
{
|
|
371
376
|
"path": "arcane/modules/AI.js",
|
|
372
|
-
"bytes":
|
|
373
|
-
"sha256": "
|
|
377
|
+
"bytes": 103733,
|
|
378
|
+
"sha256": "3a051d67b1e895b7c6f14af36a34daf1d92fe70e02c95c1c4ffd80cc7c622561"
|
|
374
379
|
},
|
|
375
380
|
{
|
|
376
381
|
"path": "arcane/modules/AIPreferenceRuntime.js",
|
|
@@ -382,6 +387,11 @@
|
|
|
382
387
|
"bytes": 2594,
|
|
383
388
|
"sha256": "7fd028fd9e7f3eb309a6a2b7612a5fc67d4c7289adc4168d681224579220ac09"
|
|
384
389
|
},
|
|
390
|
+
{
|
|
391
|
+
"path": "arcane/modules/AIProviderRuntime.js",
|
|
392
|
+
"bytes": 83261,
|
|
393
|
+
"sha256": "32aa65b464ea9a9317d47f382063fc052e1f47e63e6c65c28e58898e0ab4911a"
|
|
394
|
+
},
|
|
385
395
|
{
|
|
386
396
|
"path": "arcane/modules/AIResponseLength.js",
|
|
387
397
|
"bytes": 1941,
|
|
@@ -392,6 +402,11 @@
|
|
|
392
402
|
"bytes": 17587,
|
|
393
403
|
"sha256": "905af15d5d4912a68fa96ea44b0f6ac2eef90c69c6486ce507e00a7850acd626"
|
|
394
404
|
},
|
|
405
|
+
{
|
|
406
|
+
"path": "arcane/modules/AIRuntimeState.js",
|
|
407
|
+
"bytes": 24783,
|
|
408
|
+
"sha256": "8b9bfaf208eb44455b581d8e700cec785044f81595dcf839dcdfa3e06ed0f5fa"
|
|
409
|
+
},
|
|
395
410
|
{
|
|
396
411
|
"path": "arcane/modules/AnsiText.js",
|
|
397
412
|
"bytes": 2373,
|
|
@@ -484,8 +499,8 @@
|
|
|
484
499
|
},
|
|
485
500
|
{
|
|
486
501
|
"path": "arcane/modules/ConfiguredAIChatSession.js",
|
|
487
|
-
"bytes":
|
|
488
|
-
"sha256": "
|
|
502
|
+
"bytes": 24501,
|
|
503
|
+
"sha256": "f95c3421bf07397e987f77fc3d02166cf780059dd3d6de90ceaded990752f51b"
|
|
489
504
|
},
|
|
490
505
|
{
|
|
491
506
|
"path": "arcane/modules/ConversationActionItems.js",
|
|
@@ -517,6 +532,11 @@
|
|
|
517
532
|
"bytes": 30099,
|
|
518
533
|
"sha256": "eef077c318032626cf3c455e0619dfd6a729e916c367fd4fffac72c6dcb50745"
|
|
519
534
|
},
|
|
535
|
+
{
|
|
536
|
+
"path": "arcane/modules/DBOPFSDocumentLibrary.js",
|
|
537
|
+
"bytes": 50695,
|
|
538
|
+
"sha256": "2831470ce54c3393595bf068d60c2e774804cbd51dba7491ad734bbfbea7f32f"
|
|
539
|
+
},
|
|
520
540
|
{
|
|
521
541
|
"path": "arcane/modules/DBOPFSWorker.js",
|
|
522
542
|
"bytes": 3928,
|
|
@@ -537,6 +557,11 @@
|
|
|
537
557
|
"bytes": 3799,
|
|
538
558
|
"sha256": "da1eaab03aa5d5ee64d236b5d6bd11a792c811110a1d57fa43d43e26ff97d169"
|
|
539
559
|
},
|
|
560
|
+
{
|
|
561
|
+
"path": "arcane/modules/DocumentLexicalSearch.js",
|
|
562
|
+
"bytes": 12977,
|
|
563
|
+
"sha256": "f83a8428e5080cd61bbecac39104a768457d4c7b4825acaf9add9286c6b84b09"
|
|
564
|
+
},
|
|
540
565
|
{
|
|
541
566
|
"path": "arcane/modules/DocumentNavigation.js",
|
|
542
567
|
"bytes": 7194,
|
|
@@ -632,6 +657,11 @@
|
|
|
632
657
|
"bytes": 3624,
|
|
633
658
|
"sha256": "2e3f8b07c6e0acb1ebf8e1327b208242dff9c55abdd6bedc288abf6692caf43d"
|
|
634
659
|
},
|
|
660
|
+
{
|
|
661
|
+
"path": "arcane/modules/PersistentAIChatSession.js",
|
|
662
|
+
"bytes": 10890,
|
|
663
|
+
"sha256": "4bb4980e09f3cfcf20ca7c5130e1e133042554b8e1fae4fd613e0e2a9acdbee0"
|
|
664
|
+
},
|
|
635
665
|
{
|
|
636
666
|
"path": "arcane/modules/PreferenceStore.js",
|
|
637
667
|
"bytes": 3794,
|
|
@@ -694,8 +724,8 @@
|
|
|
694
724
|
},
|
|
695
725
|
{
|
|
696
726
|
"path": "arcane/modules/StaticDocumentCatalog.js",
|
|
697
|
-
"bytes":
|
|
698
|
-
"sha256": "
|
|
727
|
+
"bytes": 47189,
|
|
728
|
+
"sha256": "002ab228c2ec80006c6365eb5bbdde33e5951c7424ca15aa16b4d9663bcc77f8"
|
|
699
729
|
},
|
|
700
730
|
{
|
|
701
731
|
"path": "arcane/modules/SystemAppearance.js",
|