skaile-cli 6.4.0 → 6.5.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 +52 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,57 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 6.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - `skaile add agent:<ref>` binds the agent as an instance, `agents.<name>: {ref: ...}` in `skaile.yaml`, so `skaile run --instance <name>` works at once. `remove` unbinds it; an existing binding is kept (p1870). `run`, `repl` and `rebuild` use the `agent:` definition when set, else `agents.default`, so an instance that binds a connector slot is the primary agent (p1910, p422). `validate` refuses an `agent.definition` that does not resolve with the same one line `serve` prints, and `serve` no longer ends with an `AgentRefResolutionError` stack (p1733). The first run of an agent added with `add agent:` no longer warns that its `SOUL.md` is not compiled (p1876).
|
|
8
|
+
|
|
9
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library create`, `index` and the other manifest writers take a lock on `skaile.manifest.yaml` and save it in one step, so parallel `library create` runs keep every entry and every printed ref resolves (p1803). `skaile add` of an asset whose name is invalid prints the `validate` line (`invalid asset name "..."`) and the fix, not `Asset not found` (p1801). `add` refuses a manifest entry whose `files:` names a missing file, with the line `validate`, `library index` and the plan print (p1802). The adoption notice after `library init --path <clone>` no longer says that `pull` and `sync` stop: an untracked manifest does not stop them (p1800). `skaile validate versions` reads an agent without `version:` as 0.1.0, as `validate`, `library index` and `add` do (p1858). A `requires:` list of plain names in `agent.yaml` is accepted with the `deprecated_agent_requires` warning, not an error; an agent names its skills in `composes:` (p1950).
|
|
10
|
+
|
|
11
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - Consume fixes from the 6.4.0 critique:
|
|
12
|
+
|
|
13
|
+
- Only `update` moves a lock, for every library kind. `install` with a same-version content change of a locked library asset names the asset and says `run skaile update`; it keeps the lock and the deployed copy, and exits 1. `install` also names a hand edit of a deployed file that it keeps, and no longer says `Nothing to install` while `check` fails (p1911, p1840).
|
|
14
|
+
- `outdated` says which source it could not reach and exits 1 instead of `All assets are up to date.`. A failed `update` (a source that cannot be synced) writes no lock and prints no `Updated` (p1820).
|
|
15
|
+
- A lock that is not valid YAML is one line `x skaile.lock.yaml - parse error: ... at line N` and exit 1 in every command that reads it, and it is never overwritten (p1892).
|
|
16
|
+
- `validate` refuses `sources: [12]`, `- {}`, `- url: 5` and a non-string `publisher:`, as `check`, `doctor` and `add` do (p1620).
|
|
17
|
+
- `config show` warns about a mistyped key, with a `Did you mean` hint (p1474).
|
|
18
|
+
- `add` and `install` from a git library with uncommitted edits in the asset folder warn, name the files and say that other machines cannot restore those bytes (p1859).
|
|
19
|
+
- The store restore notice of a library-less clone names each store once and appears only on a run that wrote files; a run that wrote nothing prints one `Library "x" is not registered here` line (p1855).
|
|
20
|
+
- A symlink added to a library after the lock no longer stops `install --locked`, `install` or `update` while the deployed copy of that asset is intact; a missing copy is still refused (p1857).
|
|
21
|
+
|
|
22
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - `agent-config.default.agent` is retired: `init` and `harness set` no longer write it, `validate`, `check` and `run` warn that it is ignored, and `skaile migrate harness` removes it (p1874). `harness set` names the old `.omp/` and `.codex/` copies as well as `.claude/`, and `--clean` deletes them (p1671). `skaile migrate harness` now writes by default (`--dry-run` prints the diff; `--apply` and `--write` are gone) and renames `driver:` to `harness:`; the deprecated `driver:` key warns in `check` and `run` too (p1873). `codex` with an `openai` registry entry whose key is not exported runs on the codex ChatGPT login or `OPENAI_API_KEY`, and `run` and `repl` print one line saying so (p1871). `run --dry-run` exits 1 with the install line when the harness SDK is not installed (p1872). `plugin install` prints the installer failure as one line (p1875). The omp no-login error and the claude-sdk auth hints name CLI commands, not a `Settings` screen, on a developer machine (p1912, p1943). `check --global` and `doctor --global` judge a 5.12.0 omp-only global record by its one copy and no longer ask for a claude-code copy (p1442).
|
|
23
|
+
|
|
24
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - Protocol, SDK and plugins. `serve` always writes `<project>/.skaile/managed-gitconfig`. When the developer has a `~/.gitconfig`, the file starts with an `[include]` of it, so the agent's git keeps the developer's identity, aliases and signing settings. A container (no `~/.gitconfig`) gets the file without an include. `serve --provider <name>` now picks one AI provider registry entry like `--providers <name>`; a name that is no entry stops with one line and exit 1 (managed Codex still takes `openai`).
|
|
25
|
+
|
|
26
|
+
`resolveLanguageModel` (`@skaile/workspaces/ai-sdk`): a `<x>/<y>` selector whose `<x>` is no registry entry is refused, and the credential goes nowhere, unless an entry lists no models. That entry takes the selector as a bare model id and the result carries a warning. A missing provider SDK says `Run in the project: npm i @ai-sdk/...` (the command of the project's package manager).
|
|
27
|
+
|
|
28
|
+
`validate` and `connector catalog|list|status|ops|...` load the `plugins:` of the project like `serve`, so a plugin's connector driver (`yjs`, `redis`) is known and `validate` no longer warns `Unknown connector driver`. `plugin install` trims the spec and refuses an empty range (`name@`) with one line; a range with a space (`name@>=1 <2`) is accepted. `plugin remove` of the last plugin removes `.skaile/plugins/`, and a removed `file:` plugin leaves no `node_modules` copy. A failed first install leaves no empty `.skaile/plugins/`. `connector add` installs with npm when bun is not on PATH, installs in the project folder (a project without `package.json` gets its own, never an ancestor's), and a failed install prints the tool's error or says that neither bun nor npm was found.
|
|
29
|
+
|
|
30
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - Source repair from the 6.4.0 critique:
|
|
31
|
+
|
|
32
|
+
- A failed first clone leaves no folder behind. `cloneRepo` removes the folder it made, and the empty `<host>/<owner>` folders above it. A folder that is empty or is no git repository counts as not cloned everywhere: `install`, `install --locked`, `update`, `source add` and `source sync` clone it again, and `install --locked` no longer says `a private repo needs SKAILE_GITHUB_PAT` for it (p1821, p1890). `skaile source sync` now repairs such a clone, as the hint of `add` and `update` says.
|
|
33
|
+
- The built-in factory source always stays. A declared `skaile-ai/ai-assets` source adds to it: the factory skills (tutorial 01 authoring skills, presets) stay resolvable, `update` does not remove them, and `source remove` of the declared source does not count them as its assets (p1951). New core export: `isFactoryMemorySource`.
|
|
34
|
+
- Factory rows of the lock keep `url: factory` and the version of the bundled tree, also when a declared `ai-assets` source holds the same URL. Its own rows keep the repo URL and the real commit, so a fresh copy's `install --locked` restores both (p1755).
|
|
35
|
+
|
|
36
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - Source scope from the 6.4.0 critique:
|
|
37
|
+
|
|
38
|
+
- A source clone is project-scoped. `search --local`, `add`, `update`, the tie-break by name and `library default` read the clone of a source only in a project that declares it in `skaile.yaml` `sources:`. `library default <name>` for another project's clone exits 1 (p321).
|
|
39
|
+
- The publisher is per project. `source add <url> --publisher zzz` in one project no longer changes what another project sees; each project reads the assets of a shared clone under the publisher its own `sources:` entry names (p1822). New `AssetManager.scopeLibraryIndex`.
|
|
40
|
+
- A `file://` URL with `.` or `..` segments is keyed by its folded path, so `source add file://<dir>/../remotes/x.git` reuses the existing clone and library (p1856).
|
|
41
|
+
- `source add` of a URL that is the remote of a library you registered refuses with one line naming the library (p499).
|
|
42
|
+
- Every `source` subcommand looks for `skaile.yaml` in the project directory only (no parent search), and `add`, `show`, `remove` and `sync` accept `--project-dir` like `list` (p1860). `library default` accepts `--project-dir` too.
|
|
43
|
+
|
|
44
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - Store assets are judged from the lock. A lock entry of an asset a store supplied now records `origin: store` and the catalog URL (`store: <url>`), so `check`, `doctor`, `outdated`, `diff` and `install --locked` work with the store unreachable and a cold cache. A lock written before this field reads as before; its next `install` or `update` that reaches the store adds the field. For such an old entry a failed lookup now says `store unreachable` instead of only `not in skaile.yaml sources`.
|
|
45
|
+
|
|
46
|
+
`skaile cache clean` without a terminal and without `--yes` stops with `needs --yes` and exit 1, and removes nothing. `skaile info <ref>` never prints `(latest )`: an empty latest version counts as unknown. With the store down and an expired cache, `store search` and `store show` print one plain line (the store, the cause and the age of the cached answer) instead of `[skaile/catalog] Background refresh failed ...`. The top-level `skaile --help` no longer marks `store search / show` as a stub.
|
|
47
|
+
|
|
48
|
+
### Patch Changes
|
|
49
|
+
|
|
50
|
+
- [#1116](https://github.com/skaile-ai/workspaces/pull/1116) [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9) Thanks [@mortegro](https://github.com/mortegro)! - Docs round for the 6.4.0 critique (v13). The `(pNNNN)` finding ids are gone from the user docs. New page for `@skaile/workspaces/ai-sdk` (`resolveLanguageModel`: install line, one peer per surface, selectors, result fields); the README lists the `ai-sdk`, `sdk`, `model-endpoint` and `plugin-registry` subpaths. The 6.3.0 CHANGELOG headline names `loadMergedProviderRegistry` under `@skaile/workspaces/bridge`, where it lives. Pages that still described the retired `configure` command now describe `session_init`; the feature-detect advice reads `major > 4 || (major === 4 && minor >= N)`. `integration install --harness claude-code` says that Claude Code lists the server as `Pending approval` until you approve it. The workspace-plugin tutorials install the CLI with `npm i -g skaile-cli`.
|
|
51
|
+
|
|
52
|
+
- Updated dependencies [[`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9), [`05adce1`](https://github.com/skaile-ai/workspaces/commit/05adce1e62cc68e63fe6ba4998f8b37b8048d5d9)]:
|
|
53
|
+
- @skaile/workspaces@6.5.0
|
|
54
|
+
|
|
3
55
|
## 6.4.0
|
|
4
56
|
|
|
5
57
|
### Minor Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skaile-cli",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.5.0",
|
|
4
4
|
"description": "Run the Skaile CLI via `npx skaile-cli` — thin wrapper around @skaile/workspaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"asset-manager"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@skaile/workspaces": "6.
|
|
28
|
+
"@skaile/workspaces": "6.5.0"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|