arcane-os 0.11.2 → 0.11.3

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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.11.3
4
+
5
+ - Require Wllama's model-context load result to report success before publishing
6
+ model readiness. Failed initialization now follows the existing cleanup and
7
+ error path instead of allowing conversation requests against a failed context.
8
+ Preserve CPU and GPU selection, cached models, complete payloads, and cancellation.
9
+
3
10
  ## 0.11.2
4
11
 
5
12
  - Show mobile speech feedback only during requested or active voice loading.
package/README.md CHANGED
@@ -19,7 +19,7 @@ version-locked SDK runtime, while an integrated Arcane checkout uses its live
19
19
  `arcane/` runtime. Both profiles preserve the same app URLs, theme, packaging,
20
20
  event, cancellation, and browser run contracts.
21
21
 
22
- This checkout defines the `0.11.2` SDK contract. Applications pin one exact npm
22
+ This checkout defines the `0.11.3` SDK contract. Applications pin one exact npm
23
23
  version and lockfile; registry state is deliberately not baked into application
24
24
  artifacts.
25
25
 
@@ -41,7 +41,7 @@ Create one browser application, install its pinned SDK, and start its source
41
41
  server:
42
42
 
43
43
  ```bash
44
- npx arcane-os@0.11.2 new hello-speech --path ./hello-speech --target browser
44
+ npx arcane-os@0.11.3 new hello-speech --path ./hello-speech --target browser
45
45
  cd hello-speech
46
46
  npm install
47
47
  npm run dev
@@ -392,7 +392,7 @@ uses the same controller for automatic memory extraction.
392
392
  Create a new repository-shaped Arcane application with the exact stable SDK:
393
393
 
394
394
  ```bash
395
- npx arcane-os@0.11.2 new my-app --path ./my-app --target portable --git
395
+ npx arcane-os@0.11.3 new my-app --path ./my-app --target portable --git
396
396
  cd my-app
397
397
  npm install
398
398
  npm run dev
@@ -402,7 +402,7 @@ To enroll an existing repository, install the exact SDK and initialize only
402
402
  missing Arcane files:
403
403
 
404
404
  ```bash
405
- npm install --save-dev --save-exact arcane-os@0.11.2
405
+ npm install --save-dev --save-exact arcane-os@0.11.3
406
406
  npm exec -- arcane init my-app --target portable
407
407
  ```
408
408
 
@@ -418,7 +418,7 @@ npm exec -- arcane-os targets
418
418
  No global SDK install or standalone Arcane CLI is required. The application
419
419
  repository's exact npm dependency and lockfile own the CLI and toolchain version.
420
420
 
421
- Use `npx arcane-os@0.11.2` for the initial bootstrap because it names this npm
421
+ Use `npx arcane-os@0.11.3` for the initial bootstrap because it names this npm
422
422
  package explicitly; bare `npx arcane` outside an installed project could resolve
423
423
  a different package. Both installed commands invoke the same headless toolchain.
424
424
  Project-local npm scripts use the SDK pinned by that app's `package-lock.json`,
@@ -438,7 +438,7 @@ node ./bin/arcane.mjs new local-app --path ../local-app --target portable --git
438
438
 
439
439
  # From the generated app repository
440
440
  cd ../local-app
441
- npm install --save-dev --save-exact ../arcane-os-sdk/arcane-os-0.11.2.tgz
441
+ npm install --save-dev --save-exact ../arcane-os-sdk/arcane-os-0.11.3.tgz
442
442
  npm ci
443
443
  ```
444
444
 
@@ -447,7 +447,7 @@ same location. The lockfile retains the selected package dependency while
447
447
  Arcane uses the installed package name and version. Local directory `file:` dependencies are not
448
448
  accepted because npm may install them as links; use a packed `.tgz`. A GitHub
449
449
  runner also needs that tarball at the locked path. After publication, replace
450
- the local declaration with the exact `arcane-os@0.11.2` registry package and
450
+ the local declaration with the exact `arcane-os@0.11.3` registry package and
451
451
  commit the regenerated lock.
452
452
 
453
453
  Generated repositories use `npm ci --ignore-scripts` in CI. Run dependency
@@ -586,7 +586,7 @@ package installation, or assertions.
586
586
 
587
587
  ## Current target support
588
588
 
589
- Version `0.11.2` exposes one browser target and five explicitly paired
589
+ Version `0.11.3` exposes one browser target and five explicitly paired
590
590
  native development targets: a non-runnable portable directory, a
591
591
  Windows x64 unsigned-local-test EXE bundle, Linux x64 and Linux ARM64
592
592
  unsigned-local-test DEBs, and an Android development-signed APK. The
@@ -575,6 +575,13 @@ export function createPackagedWllamaRuntime({ logger = arcaneLogging } = {}) {
575
575
  "Wllama did not confirm a successfully loaded model.",
576
576
  );
577
577
  }
578
+ const loadedContext = next.getLoadedContextInfo();
579
+ if (loadedContext.success !== true) {
580
+ throw runtimeFailure(
581
+ 'ARCANE_AI_LOAD_FAILED',
582
+ 'Wllama failed to create the model context.'
583
+ );
584
+ }
578
585
  let adapter = null;
579
586
  if (webgpuRequired) {
580
587
  const telemetryOperation = trackOperation(
@@ -146,8 +146,11 @@ bar is indeterminate. Downloaded-file completion is not activation completion.
146
146
  The metadata tensor count and GPU layer assignment are descriptive only:
147
147
  upstream reports assigned layers before model-weight loading has finished.
148
148
  The pinned runtime does not expose a measured overall initialization fraction
149
- or a shader-compilation completion count. Readiness still requires the load
150
- operation to resolve and the runtime to confirm the model is loaded.
149
+ or a shader-compilation completion count. Readiness requires the load operation
150
+ to resolve, Wllama to report the model loaded, and its public
151
+ `getLoadedContextInfo()` result to report `success:true`. A failed model context
152
+ rejects loading with `ARCANE_AI_LOAD_FAILED`, releases the owned session, and
153
+ leaves the provider in `error` with `loaded:false` before inference can begin.
151
154
 
152
155
  While a load remains active, the provider repeats its current record every five
153
156
  seconds with `heartbeat:true` and an updated `elapsedMs`. During initialization,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcane-os",
3
- "version": "0.11.2",
3
+ "version": "0.11.3",
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",