arcane-os 0.57.0 → 0.59.0
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 +37 -0
- package/README.md +6 -2
- package/browser-runtime/ai/core-onnx.mjs +96 -0
- package/browser-runtime/ai/onnx-tensors.mjs +85 -0
- package/browser-runtime/core/client.mjs +152 -17
- package/docs/architecture.md +5 -2
- package/docs/platform-targets.md +30 -13
- package/docs/reference/README.md +22 -3
- package/docs/reference/availability-and-normalization.md +14 -7
- package/docs/reference/cli.md +22 -10
- package/docs/reference/core-client.md +87 -0
- package/docs/reference/core-native-packaging.md +129 -9
- package/docs/reference/core-preferences.md +49 -0
- package/docs/reference/diarization.md +206 -0
- package/docs/reference/git-text-snapshot.md +104 -0
- package/docs/reference/inventory/package-api.json +205 -23
- package/docs/reference/local-ai.md +145 -11
- package/docs/reference/protocols.md +28 -19
- package/docs/reference/pwa.md +74 -4
- package/docs/reference/sdk-api.md +589 -39
- package/package.json +11 -3
- package/schemas/arcane-app.schema.json +3 -3
- package/schemas/arcane-package.schema.json +2 -2
- package/schemas/native-build-plan.schema.json +27 -1
- package/schemas/target-adapter.schema.json +2 -0
- package/src/app-descriptor.mjs +1 -1
- package/src/cli/main.mjs +14 -4
- package/src/constants.mjs +2 -0
- package/src/core/host.mjs +14 -5
- package/src/core/hosts/macos/ArcaneHost.h +86 -0
- package/src/core/hosts/macos/ArcaneHost.m +455 -0
- package/src/core/hosts/macos/ArcaneLauncher.m +432 -0
- package/src/core/hosts/windows/ArcaneLauncher.cs +4 -1
- package/src/core/services/local-ai.mjs +82 -4
- package/src/core/services/packaged-web.mjs +89 -0
- package/src/core/services/preferences.mjs +201 -0
- package/src/core-classic-source.mjs +2 -2
- package/src/dev-server.mjs +2 -5
- package/src/diarization/build.mjs +35 -0
- package/src/diarization/index.mjs +432 -0
- package/src/diarization/native/CMakeLists.txt +9 -0
- package/src/diarization/native/main.cpp +269 -0
- package/src/diarization/service.mjs +129 -0
- package/src/git-text-snapshot.mjs +265 -0
- package/src/import-map.mjs +9 -4
- package/src/index.mjs +1 -0
- package/src/local-ai/config.mjs +1 -1
- package/src/local-ai/install.mjs +134 -19
- package/src/local-ai/onnx-worker.mjs +85 -0
- package/src/local-ai/onnx.mjs +368 -0
- package/src/native/macos-provider.mjs +291 -0
- package/src/native/portable-layout.mjs +10 -2
- package/src/native/portable-provider.mjs +10 -5
- package/src/native-plan.mjs +9 -1
- package/src/native-provider-loader.mjs +3 -1
- package/src/process.mjs +123 -17
- package/src/scaffold.mjs +1 -1
- package/src/targets/index.mjs +11 -1
- package/src/templates/workspace-template.mjs +6 -5
- package/src/toolchain.mjs +42 -13
|
@@ -47,12 +47,14 @@ These protocols normalize orchestration and results. They do not normalize a
|
|
|
47
47
|
Windows EXE, Linux DEB, Android APK, and portable directory into the same
|
|
48
48
|
artifact kind.
|
|
49
49
|
|
|
50
|
-
Portable CLI operations load
|
|
51
|
-
`arcane-os/native/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
Portable CLI operations load `arcane-os/native/portable-provider`; Windows x64
|
|
51
|
+
loads `arcane-os/native/windows-provider`, both from the installed SDK by
|
|
52
|
+
default. The Windows provider assembles the matching precompiled WebView2/SEA
|
|
53
|
+
host release asset. Explicit `--arcane-root` selection retains the checkout
|
|
54
|
+
route; Linux and Android still need their platform provider/toolchain.
|
|
55
|
+
`arcane-os/core/host` composes the reusable native runtime with explicitly
|
|
56
|
+
supplied app services. These Node entries remain separate from browser imports;
|
|
57
|
+
portable itself remains a non-executable payload. The synchronous classic facade
|
|
56
58
|
and browser-safe client retain their separate public entries. Integrated
|
|
57
59
|
shared checks keep their existing Arcane OS development provider.
|
|
58
60
|
|
|
@@ -1047,10 +1049,15 @@ or a dependency is ready.
|
|
|
1047
1049
|
|
|
1048
1050
|
### Microsoft NT / WebView2
|
|
1049
1051
|
|
|
1050
|
-
The
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1052
|
+
The SDK Windows host mounts the selected app at a virtual HTTPS origin and
|
|
1053
|
+
injects the canonical classic facade before application scripts. Ordered
|
|
1054
|
+
`arcane/1` requests and complete responses cross its owned WebView2/Core bridge;
|
|
1055
|
+
each connected document requests authoritative runtime/service replay. Its
|
|
1056
|
+
selected service composition supplies the actual methods. Closing the window
|
|
1057
|
+
cancels renderer requests and drains accepted service work before Core exits.
|
|
1058
|
+
See [Windows executable packaging](core-native-packaging.md#windows-executable).
|
|
1059
|
+
Arcane OS can separately compose product policy and privileged services; the
|
|
1060
|
+
generic SDK host does not copy that product composition.
|
|
1054
1061
|
|
|
1055
1062
|
### Linux / WebKitGTK
|
|
1056
1063
|
|
|
@@ -1070,12 +1077,13 @@ reachable.
|
|
|
1070
1077
|
|
|
1071
1078
|
### macOS
|
|
1072
1079
|
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1080
|
+
This version includes Foundation-only `ArcaneCoreProcess` source for an
|
|
1081
|
+
explicit executable, framed pipes and graceful child lifecycle. It supplies no
|
|
1082
|
+
macOS renderer bridge, executable target, artifact or run command. A separately
|
|
1083
|
+
composed macOS host may combine that source with the reusable Node runtime,
|
|
1084
|
+
stdio transport, host composition and portable payload. Source delivery does
|
|
1085
|
+
not establish compilation or execution on macOS. See
|
|
1086
|
+
[the macOS process-source contract](core-native-packaging.md#macos-process-source).
|
|
1079
1087
|
|
|
1080
1088
|
## Development and remote HTTP transport
|
|
1081
1089
|
|
|
@@ -1159,9 +1167,10 @@ The common contract ends where platform truth must remain different:
|
|
|
1159
1167
|
not run an unrelated browser implementation as a substitute;
|
|
1160
1168
|
- the portable target defaults to the installed SDK provider and assembles a
|
|
1161
1169
|
non-executable payload without an Arcane OS checkout;
|
|
1162
|
-
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1170
|
+
- Windows x64 defaults to the installed SDK's matching precompiled host;
|
|
1171
|
+
Linux/Android retain explicit checkout/providers. Every composed host must
|
|
1172
|
+
supply the protocol, version, features, capabilities, methods and services
|
|
1173
|
+
that its application contract requires;
|
|
1165
1174
|
- that current-build compatibility does not promise that a future SDK will accept
|
|
1166
1175
|
this Core or that this SDK will accept a future Core.
|
|
1167
1176
|
|
package/docs/reference/pwa.md
CHANGED
|
@@ -94,14 +94,81 @@ packaging use that layout directly:
|
|
|
94
94
|
packaged installation ID remains `./`, and an explicit `manifest.id` remains
|
|
95
95
|
authoritative. An ID identifies the installation; it does not generate a
|
|
96
96
|
directory or a redirect.
|
|
97
|
-
- Authored resources follow their normal include/exclude selection.
|
|
98
|
-
|
|
97
|
+
- Authored resources follow their normal include/exclude selection. Ordinary
|
|
98
|
+
generation preserves existing files, stored application data, and worker caches.
|
|
99
|
+
Explicit retirement of confirmed generated source output is described below.
|
|
99
100
|
|
|
100
101
|
Generated and offline app files are committed. GitHub Actions consume those
|
|
101
102
|
committed files rather than generating them. Actual multi-app workspaces keep
|
|
102
103
|
their explicit `appsRoot: "apps"` layout. This source/package contract does not
|
|
103
104
|
establish any particular installed application's browser lifecycle.
|
|
104
105
|
|
|
106
|
+
### Disable source PWA generation and retire generated output
|
|
107
|
+
|
|
108
|
+
Set `package.pwa.enabled:false` in `arcane-app.json` (or `pwa.enabled:false` in
|
|
109
|
+
an authored schema-1 `arcane-package.json`), then run the public import-map
|
|
110
|
+
operation. For standalone `appsRoot:"."` applications, disabled refresh removes
|
|
111
|
+
active `data-arcane-pwa` registration scripts and matching manifest relationships
|
|
112
|
+
marked `data-arcane-manifest` from the selected application documents. Root source
|
|
113
|
+
generation marks only manifest links it newly inserts; it does not claim an
|
|
114
|
+
existing unmarked link as its own. A wholly omitted `pwa` record does not select
|
|
115
|
+
source retirement.
|
|
116
|
+
|
|
117
|
+
By default, unmarked manifest references and all existing PWA files remain in
|
|
118
|
+
place. This preserves authored resources that happen to use the standard names.
|
|
119
|
+
Older SDK source generation emitted an unmarked manifest link. When the
|
|
120
|
+
application owner has established that this link and the four standard root
|
|
121
|
+
outputs are SDK-generated, use the same public toolchain with an explicit
|
|
122
|
+
ownership declaration:
|
|
123
|
+
|
|
124
|
+
```js
|
|
125
|
+
import {createToolchain} from 'arcane-os';
|
|
126
|
+
|
|
127
|
+
const toolchain = createToolchain({workspaceRoot: process.cwd(), appId: 'my-app'});
|
|
128
|
+
await toolchain.importMap({retireGeneratedPwa: true});
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Before retirement, remove any explicit entries for these generated outputs from
|
|
132
|
+
the application's `package.include` selection. They are generated output, not
|
|
133
|
+
required source input; leaving a deleted file as a required input would make the
|
|
134
|
+
next inspection fail. Keep authored selection changes with the application
|
|
135
|
+
owner. Confirm that unselected documents or separately hosted pages do not still
|
|
136
|
+
need the retiring files; this operation does not rewrite those pages.
|
|
137
|
+
|
|
138
|
+
With PWA disabled, `retireGeneratedPwa:true` also removes selected-document
|
|
139
|
+
manifest relationships resolving to the root `arcane.webmanifest`, including
|
|
140
|
+
older unmarked generated links, and deletes exactly these confirmed generated
|
|
141
|
+
files at the application root:
|
|
142
|
+
|
|
143
|
+
- `arcane.webmanifest`
|
|
144
|
+
- `arcane-offline.json`
|
|
145
|
+
- `arcane-sw.js`
|
|
146
|
+
- `arcane-pwa.mjs`
|
|
147
|
+
|
|
148
|
+
The option is an application-owner declaration of generated ownership, not a
|
|
149
|
+
filename-based inference. Omit it when any listed file or matching manifest
|
|
150
|
+
reference is authored or its ownership is unknown. It is available through
|
|
151
|
+
`createToolchain().importMap()` and `executeOperation('import-map', options)`;
|
|
152
|
+
there is no new CLI flag. The ordinary CLI refresh performs marked-reference
|
|
153
|
+
retirement only. An enabled descriptor ignores this retirement option and
|
|
154
|
+
continues normal generation.
|
|
155
|
+
|
|
156
|
+
With the source selection updated, repeated retirement accepts already-absent
|
|
157
|
+
generated files. The
|
|
158
|
+
`import-map.root-files.completed` event reports the paths actually removed in
|
|
159
|
+
`retiredPwa`. Re-enabling PWA regenerates its normal root output and references.
|
|
160
|
+
The operation leaves other files (including a separate `manifest.json`), other
|
|
161
|
+
link relationships, inactive HTML, unselected documents, SDK mappings, and
|
|
162
|
+
application content unchanged. It never unregisters an already registered
|
|
163
|
+
service worker, clears caches, or changes browser saved data. Existing browser
|
|
164
|
+
registrations therefore keep their own lifecycle; source retirement is not a
|
|
165
|
+
claim that an installed browser PWA was removed. Package-output behavior below
|
|
166
|
+
is unchanged.
|
|
167
|
+
|
|
168
|
+
Reference updates finish before file removal begins. Cancellation or a file
|
|
169
|
+
error is reported without undoing earlier completed changes; a later call can
|
|
170
|
+
finish retirement. The operation does not claim an all-or-nothing transaction.
|
|
171
|
+
|
|
105
172
|
### Authored host root and app entry
|
|
106
173
|
|
|
107
174
|
An authored `index.html` at the source host root keeps `/` separate from the
|
|
@@ -261,11 +328,14 @@ origin root and starts at the selected app entry: `/index.html` for a standalone
|
|
|
261
328
|
root app with that entry, or `/apps/<id>/<entry>` for a nested app. Use one
|
|
262
329
|
selected app per development origin. The SDK uses `node-http-server` for source
|
|
263
330
|
and packaged-preview serving, including conditional resource responses.
|
|
264
|
-
Arcane development servers default to HTTPS,
|
|
265
|
-
|
|
331
|
+
Arcane development servers and packaged browser previews default to HTTPS,
|
|
332
|
+
including localhost. Configure the workspace certificate pair before
|
|
266
333
|
starting the ordinary command; see [development HTTPS setup](cli.md#development-https-setup).
|
|
267
334
|
Explicit source-only `arcane dev --http` serves the same generated PWA routes
|
|
268
335
|
without loading certificates; see [explicit HTTP development](cli.md#explicit-http-development).
|
|
336
|
+
API callers may select `http:true` in packaged mode to serve the existing
|
|
337
|
+
packaged web root, without generating or changing its PWA files. Browser
|
|
338
|
+
secure-context and installation requirements remain browser-owned.
|
|
269
339
|
`--public` selects the IPv4 wildcard bind address; it does not enable PWA
|
|
270
340
|
configuration, change manifest metadata, or determine browser installability.
|
|
271
341
|
|