@punica/editor 1.28.1 → 1.28.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@punica/editor",
3
- "version": "1.28.1",
3
+ "version": "1.28.3",
4
4
  "description": "Punica Editor",
5
5
  "private": false,
6
6
  "type": "module",
@@ -26,6 +26,7 @@
26
26
  "check:permissions": "node scripts/check-permissions.mjs",
27
27
  "check:empty-states": "node scripts/check-empty-states.mjs",
28
28
  "check:capability-handlers": "node scripts/check-capability-handlers.mjs",
29
+ "check:duplicate-capabilities": "node scripts/check-duplicate-capabilities.mjs",
29
30
  "check:instruction-classes": "node scripts/check-instruction-classes.mjs",
30
31
  "report:capability-actions": "node scripts/report-capability-actions.mjs",
31
32
  "test": "vitest run",
@@ -369,13 +369,30 @@ declare module 'punica' {
369
369
  /** Filesystem surface scoped to the data directory. */
370
370
  dataFs: HostDataFs;
371
371
  /**
372
- * Optional managed-process surface (Electron). Hosts that cannot spawn
373
- * processes (browser) omit it; the facade throws a clear error on use.
372
+ * Optional managed-process surface (Electron). A **host provider** that
373
+ * cannot spawn processes (browser) omits it.
374
+ *
375
+ * **Do not feature-detect this on `punica.runtime.host`.** Unlike
376
+ * `mcpServer` and `system` below, the facade exposes `servers` as a
377
+ * plain always-present key rather than a getter, so
378
+ * `if (!punica.runtime.host?.servers)` is `false` on every host and a
379
+ * guard written that way never fires — measured against the shipped
380
+ * bundle on 2026-09-04, with `extension-llms-onnx-runtime/src/server.ts`
381
+ * as the live example. That is deliberate: the design here is *call it
382
+ * and get a clear error* rather than *ask first*, and the facade's own
383
+ * message already names the surface and the reason. Optional on this
384
+ * interface therefore describes what a provider may omit, not what a
385
+ * caller can see.
374
386
  */
375
387
  servers?: HostServerApi;
376
388
  /**
377
- * Optional JSON-over-HTTP surface (Electron). Hosts without network
378
- * access omit it; the facade throws a clear error on use.
389
+ * Optional JSON-over-HTTP surface (Electron). A **host provider**
390
+ * without network access omits it.
391
+ *
392
+ * **Do not feature-detect this on `punica.runtime.host`** — same reason
393
+ * as `servers` above: the facade exposes it as a plain key and the call
394
+ * throws with a clear message. Its two sub-surfaces `download` and
395
+ * `onDownloadProgress` *are* getters, so those two can be asked about.
379
396
  */
380
397
  http?: HostHttpApi;
381
398
  /**