skaile-cli 6.9.0 → 6.10.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Agents and protocol: `rebuild`, `outdated`, `update`, `list`, `show`, `why`, `tree` and `diff` print the same unknown-key warnings as `validate`, `check`, `doctor`, `install` and `run` (top-level keys, `agent-config` keys, and the keys of `agent:` and `agents:`), once per run; `list --json` prints them on stderr so stdout stays JSON. When omp exits with a non-zero code, the error now ends with omp's last stderr lines, or with `omp wrote nothing to stderr; its last event was <type> (<detail>)` when it said nothing, so a silent exit has a visible cause. A codex turn that failed (`turn.failed`) ends once: later retry notices of the stream no longer end the turn again (a dozen `status idle` events after `finished`), and codex error items and top-level retry notices (such as the fallback from WebSockets to HTTPS, or `Reconnecting... 1/5`) go to the log, not into a `tool_result CodexError`; a turn that recovers from a notice still delivers its answer. The error the WebSocket server sends for a message that is not JSON, or a `session_init` of the wrong shape, carries `category: "validation"`.
8
+
9
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Authoring: `library init --path <git clone>` with an `origin` adopts the clone as `reader` (new `--owner` makes it an owner; a folder with no `origin` stays `owner`). `library init` refuses a manifest with an invalid publisher (exit 1, nothing registered), like `library index`. A manifest entry without a `version` gets one at `init` (owner) and `index`, and the command prints `skaile.manifest.yaml changed: version … added to <ref>`; a reader clone is never written and `search` shows the version `add` locks. `validate` prints no `manifest version differs` warning next to the semver error for a non-semver file version. `asset migrate` prints the `add` ref from the name in the asset's own file, not the folder name.
10
+
11
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Connector fixes. Connector drivers (`sqlite`, `postgres`, `minio`, `s3`, `gmail`, `xstate`) load their npm package like the harness SDKs: from the project's `node_modules` first, then from next to `skaile`, so a package added with `connector add` is found when the CLI is installed elsewhere. `connector status` exits 1 when a connect fails. A failed `connector add` install prints the reason and names the `--no-install` way out. `serve` copies only `http.sslCAInfo` (the path) from the user gitconfig into the managed gitconfig, and sends a mount token on `http://` only to loopback hosts. `serve` stops on exactly what `validate` calls a connector error (a missing `mountPath`, a symlinked `mountPath` and an unknown `driver` now too).
12
+
13
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Harness fixes. `add` and `run` find a git work tree with a parent walk and write the run-state lines to a `.gitignore` in the project folder, so a project in a subfolder of a repository no longer leaves `.skaile/logs.db` and `history.yaml` untracked. `harness set <h> --clean` removes the emptied folders of the old harness, and a file it kept is recorded and no longer named as stale. claude-sdk refuses a `provider/` prefix that is no registered provider, with or without registry entries. `run --dry-run` for codex prints the credential refusal of the real run. `skaile clean` without a terminal says `Not a terminal: pass --yes to confirm`. `claude-code` is accepted as `claude-sdk` in `run`, `repl`, `serve` and `config set harness`. `check`, `doctor`, `list`, `install`, `config show` and `run` report a profile that sets both `harness` and `driver`, as `validate` does.
14
+
15
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Index: the library index keeps one row per library, ref and version, so a source clone of a fork of a library's repository no longer takes that library's row over. `search --local` in a project that does not declare the source lists the libraries' copies as it did before the `source add`; `asset show` and `asset install` skip the clone of a source the project does not declare. The rows live in a new table `library_assets`; the old `asset_definitions` table is left as it is, so an older CLI sharing `~/.skaile/index.db` keeps working, and the first open copies its rows over. `install --locked` takes, among the registered libraries of the locked remote, the one whose files hash to the lock, instead of stopping at the first one with `content changed since lock`.
16
+
17
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Sources: a `publisher: "@name"` in a `sources:` entry of `skaile.yaml` is loaded as `name`, so `add skill:@name/x` finds the assets (before, the repo was indexed under another publisher). The first `library push` to an empty bare remote on this machine points that remote's HEAD at the pushed branch, and `library init --git <url>` of a remote that holds `main` under another HEAD follows `main` instead of refusing it. `outdated` lists a source clone that holds a commit of its own and is also behind as a problem with the `git -C <dir> checkout -B <branch> <remote>/<branch>` line and exits 1, instead of advising `skaile update` (which refuses that clone). `add skill:@pub/name#` says `empty version after #` and no longer blames the publisher; `add ""` no longer suggests `skaile store search` with an empty query. A `pin:` that names no branch or tag of the remote is named by `source sync`, `source add --pin` and `install` (`pin "x" does not exist in <url> (branches: ...; tags: ...)`), and by `check` and `doctor` for a source that is not cloned yet (exit 1).
18
+
19
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Store: a store that does not answer is asked once per process, so `check`, `doctor`, `outdated`, `install` and `update` cost one 5 s wait at most, not one per command step. A store entry in the lock restores from its own recorded commit and file hashes: adding the repo that holds a store asset as a source no longer fails `install --locked` with `drifted:`, the registered clone is not moved to the store's commit, and the lock's `sources:` row takes the commit of a source asset before a store asset. `update --no-catalog` and `update` with `catalog.url: local` keep the `.mcp.json` entry and payload of a locked store `mcp-server`. A wrong file hash in the lock reads `the lock records another hash for <file>` and advises `skaile install` (re-lock), not `was edited` and not the command that just failed.
20
+
21
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Upgrade and migrate: a project from 5.11.0 or 5.13.0 that still holds the asset-named agent file (`.claude/agents/captain.md` next to the instance file `cap.md`; the omp and codex files too) now has it named by `check` and `doctor` (`<file> is left over from an older skaile: skaile install removes it`) and removed by `install --locked` with a `Removed:` line, as plain `install` and `update` do. An edited file stays and is named. The leftover is no `Missing` or edited copy any more while the instance file stands. `migrate assets`, `migrate agents`, `migrate harness` and `migrate providers` exit 1 with `Path does not exist` (or `is not a directory`) for a missing path, a file or a dangling symlink, instead of `Nothing to migrate.` with exit 0. `outdated` takes `--global`, like `check`, `doctor` and `clean`.
22
+
23
+ ### Patch Changes
24
+
25
+ - [#1141](https://github.com/skaile-ai/workspaces/pull/1141) [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815) Thanks [@mortegro](https://github.com/mortegro)! - Docs: fix commands and values that did not match the CLI. The protocol page names protocol 5.1.0. Tutorial 02 and the commands index no longer name the retired `agent:` key. The workspace-plugin tutorials name Node.js 22.5. The v2 to v3 migration page teaches `--harness`. The library docs name `source manifest yank <src> --asset <ref>` and `preset apply`. The commands index lists `auth`, and the resource explorer page uses refs with a publisher and the `index.db` path.
26
+
27
+ - Updated dependencies [[`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815), [`38a1931`](https://github.com/skaile-ai/workspaces/commit/38a19312e12ffed4abf783f9585de2cfd2694815)]:
28
+ - @skaile/workspaces@6.10.0
29
+
30
+ ## 6.9.1
31
+
32
+ ### Patch Changes
33
+
34
+ - [#1137](https://github.com/skaile-ai/workspaces/pull/1137) [`7a110ef`](https://github.com/skaile-ai/workspaces/commit/7a110ef663f009983f2e58ab4bf976c301bc85b6) Thanks [@mortegro](https://github.com/mortegro)! - A `skaile-agent` request whose client disconnects after its prompt left the queue (while the session got ready, the harness started or the prompt was routed) no longer starts an empty turn: platform clients no longer see a `finished` with no output, and the prompt is never handed to a running flow. The prompt is withdrawn before its turn begins.
35
+
36
+ - [#1139](https://github.com/skaile-ai/workspaces/pull/1139) [`076783d`](https://github.com/skaile-ai/workspaces/commit/076783d86b544f83b3ec143652a6ef603a9f6b6d) Thanks [@mortegro](https://github.com/mortegro)! - The `omp` harness now reports each tool run as a `tool_call` when it starts, and ends every turn with a `result` that carries the turn's tokens and USD cost (summed over every model call of the turn). Before, clients saw a tool's result but never its call, and an omp turn's `finished` always reported zero cost and no tokens. A `skaile-agent` client on the model endpoint now gets the `-> <tool> <input>` line in `reasoning_content` and a filled `usage`.
37
+
38
+ - Updated dependencies [[`7a110ef`](https://github.com/skaile-ai/workspaces/commit/7a110ef663f009983f2e58ab4bf976c301bc85b6), [`076783d`](https://github.com/skaile-ai/workspaces/commit/076783d86b544f83b3ec143652a6ef603a9f6b6d)]:
39
+ - @skaile/workspaces@6.9.1
40
+
3
41
  ## 6.9.0
4
42
 
5
43
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skaile-cli",
3
- "version": "6.9.0",
3
+ "version": "6.10.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.9.0"
28
+ "@skaile/workspaces": "6.10.0"
29
29
  },
30
30
  "publishConfig": {
31
31
  "access": "public"