@vestra-player/sdk 1.5.4 → 1.5.6
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 +17 -0
- package/README.md +3 -1
- package/dist/plugin/types.d.ts +15 -4
- package/llms-full.txt +7090 -0
- package/llms.txt +205 -0
- package/package.json +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.5.6
|
|
4
|
+
|
|
5
|
+
**A reference for AI assistants.** Documentation and packaging only; no API change, `apiVersion` stays `vestra/1`. (1.5.5 was not published to npm; this release includes its changes.)
|
|
6
|
+
|
|
7
|
+
- **`llms.txt` and `llms-full.txt`** ([llmstxt.org](https://llmstxt.org)) in the package, exported as `@vestra-player/sdk/llms.txt` and `@vestra-player/sdk/llms-full.txt` (in `node_modules/@vestra-player/sdk/`), and on the documentation site (`https://vestrasys.github.io/vestra-player-sdk/llms.txt`). For Vestra Player AI and other assistants that write plugins.
|
|
8
|
+
- `llms.txt` (about 10 KB): what a plugin is, the rules, the folder layout, a manifest with every field and the manifest limits, `activate`, every capability, a `TestHost` test, the command line, the common error codes, and the line numbers of each topic in the full file.
|
|
9
|
+
- `llms-full.txt` (about 300 KB): the guides (Getting started, the UI concept page, both how-tos), every public declaration of `@vestra-player/sdk` and `@vestra-player/sdk/testing` with its description and its `@capability`, `@player`, `@param`, `@returns`, `@throws` and `@deprecated` tags, the internal types the API refers to, and each example's README, walkthrough and complete source (TypeScript, Slint, tests).
|
|
10
|
+
- Generated from the sources by `npm run docs:llms` (`scripts/llms.mjs`); CI fails when the committed files are stale.
|
|
11
|
+
- **Getting started**: a "Rules for plugins" section (only the public SDK, `import type`, no other plugins, no system commands, macOS and Windows, your own id) and a manifest with every field.
|
|
12
|
+
- `scripts/check-pack.mjs` allows the two files and checks that they name the package version; the install smoke test resolves both exports.
|
|
13
|
+
|
|
14
|
+
## 1.5.5
|
|
15
|
+
|
|
16
|
+
**Reserved `vestra.` ids** (player 0.4.1). Documentation only; no API change, `apiVersion` stays `vestra/1`.
|
|
17
|
+
|
|
18
|
+
- Only the plugins built into the player are official plugins; the ids `vestra` and `vestra.*` (any case) are reserved for them. Every other plugin is a third-party plugin, including those hosted in the official plugin repository, and uses `<GitHub user or organization>.<plugin name>`.
|
|
19
|
+
- `PluginError` lists the code `reserved`: `packages.validate`, `packages.validateArchive`, `PackageCandidate.trial` and `PackageCandidate.install` refuse a package with a reserved id. Development loads (`vestra-player --plugin DIR`) still accept one, with a warning, so built-in plugins can be developed; they are never installed.
|
|
3
20
|
## 1.5.4
|
|
4
21
|
|
|
5
22
|
**Markdown in list rows** (the player after 0.4.0). Additive; `apiVersion` stays `vestra/1`, and plugins written for 1.5.3 need no change.
|
package/README.md
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
<a href="https://vestrasys.github.io/vestra-player-sdk/">Documentation</a> ·
|
|
13
13
|
<a href="https://vestrasys.github.io/vestra-player-sdk/documents/Getting_started.html">Getting started</a> ·
|
|
14
14
|
<a href="https://github.com/vestrasys/vestra-player-sdk/tree/main/examples">Examples</a> ·
|
|
15
|
-
<a href="https://github.com/vestrasys/vestra-player-sdk/blob/main/CHANGELOG.md">Changelog</a>
|
|
15
|
+
<a href="https://github.com/vestrasys/vestra-player-sdk/blob/main/CHANGELOG.md">Changelog</a> ·
|
|
16
|
+
<a href="https://vestrasys.github.io/vestra-player-sdk/llms.txt">llms.txt</a>
|
|
16
17
|
</p>
|
|
17
18
|
## Features
|
|
18
19
|
|
|
@@ -21,6 +22,7 @@
|
|
|
21
22
|
- **Tests without the player**: `@vestra-player/sdk/testing` runs your plugin against an in-memory host with `node --test`.
|
|
22
23
|
- **One command line tool**, `vestra-plugin`, to check, test, build and pack a `.vxp` package.
|
|
23
24
|
- **The same API on macOS and Windows**; every plugin runs in its own Node.js 26 process that the player ships.
|
|
25
|
+
- **A reference for AI assistants**: [`llms.txt`](https://vestrasys.github.io/vestra-player-sdk/llms.txt) (short index) and [`llms-full.txt`](https://vestrasys.github.io/vestra-player-sdk/llms-full.txt) (every declaration, the guides and the examples), also in the package as `@vestra-player/sdk/llms.txt` and `@vestra-player/sdk/llms-full.txt`.
|
|
24
26
|
|
|
25
27
|
## Install
|
|
26
28
|
|
package/dist/plugin/types.d.ts
CHANGED
|
@@ -75,6 +75,7 @@ export interface Disposable {
|
|
|
75
75
|
* | `backend-uncertain` | The player's backend blocked a filter stage; call `retry()`. |
|
|
76
76
|
* | `cleanup` | {@link PackageTrial.stop} could not confirm cleanup; call it again. |
|
|
77
77
|
* | `limit` | A player-wide limit was reached (for example the number of commands). |
|
|
78
|
+
* | `reserved` | {@link Packages.validate}, {@link PackageCandidate.trial}, {@link PackageCandidate.install}: the id is `vestra` or starts with `vestra.` (any case), which only the player's built-in plugins use (player 0.4.1). |
|
|
78
79
|
* | `versionMismatch` | The package needs a newer player (`minPlayerVersion`) or another `apiVersion`. |
|
|
79
80
|
* | `ui-prepare` | The player could not prepare a mounted panel or a settings page (its Slint file does not compile, a bound property is not declared, or another plugin's panel holds the slot); `message` has the diagnostics. |
|
|
80
81
|
* | `ui` | The player could not apply a property to a tool window or a settings page, or could not build the Options window (a property the Slint file does not declare, a value of the wrong type); `message` has Slint's reason. |
|
|
@@ -4083,13 +4084,18 @@ export interface PackageCandidate {
|
|
|
4083
4084
|
readonly manifest: PackageManifest;
|
|
4084
4085
|
/** The checks the player ran. */
|
|
4085
4086
|
readonly checks: string[];
|
|
4086
|
-
/**
|
|
4087
|
+
/**
|
|
4088
|
+
* Load it temporarily alongside the installed plugins. A reserved id
|
|
4089
|
+
* (`vestra.*`) fails with `reserved`.
|
|
4090
|
+
*/
|
|
4087
4091
|
trial(): Promise<PackageTrial>;
|
|
4088
4092
|
/**
|
|
4089
4093
|
* Install it. The same source upgrades the installed plugin (its data
|
|
4090
4094
|
* stays); another source fails with `conflict` unless `replace` is set;
|
|
4091
4095
|
* a built-in id fails with `unsupported` (built-ins update with the
|
|
4092
|
-
* player).
|
|
4096
|
+
* player). A reserved id (`vestra` or `vestra.*`, which every built-in
|
|
4097
|
+
* uses) fails with `reserved` (player 0.4.1; already when validated), as
|
|
4098
|
+
* only the player installs built-in plugins.
|
|
4093
4099
|
*/
|
|
4094
4100
|
install(options?: InstallOptions): Promise<PackageChange>;
|
|
4095
4101
|
}
|
|
@@ -4197,12 +4203,17 @@ export interface PluginWarning {
|
|
|
4197
4203
|
* ```
|
|
4198
4204
|
*/
|
|
4199
4205
|
export interface Packages {
|
|
4200
|
-
/**
|
|
4206
|
+
/**
|
|
4207
|
+
* Validate a package directory (`plugins.manage`). A package whose id is
|
|
4208
|
+
* reserved for the built-in plugins (`vestra` or `vestra.*`) fails with
|
|
4209
|
+
* `reserved` (player 0.4.1).
|
|
4210
|
+
*/
|
|
4201
4211
|
validate(directory: string): Promise<PackageCandidate>;
|
|
4202
4212
|
/**
|
|
4203
4213
|
* Validate a `.vxp` package file (`plugins.manage`, player 0.2.0): the
|
|
4204
4214
|
* same checks as {@link Packages.validate} after unpacking. Check the
|
|
4205
|
-
* file's sha256 yourself before calling when you know it.
|
|
4215
|
+
* file's sha256 yourself before calling when you know it. A reserved id
|
|
4216
|
+
* fails with `reserved`, as in {@link Packages.validate}.
|
|
4206
4217
|
*/
|
|
4207
4218
|
validateArchive(file: string): Promise<PackageCandidate>;
|
|
4208
4219
|
/** Restore a plugin's previous version (`plugins.manage`). */
|