skaile-cli 5.18.0 → 5.19.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 +92 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,97 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.19.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Composed agents run after `add`/`install`, a `../` compose ref works, and `run --instance` only warns about its own instance.
|
|
8
|
+
|
|
9
|
+
- `add`, `install`, `install --locked` and `update` compile an agent that declares an `inline-snapshot` item (a persona, or an item with `binding: inline-snapshot`), once per lock revision. A `compile_manifest.json` that `skaile rebuild` wrote is kept while the items still serve the same bytes; the next `install` no longer deletes it, so `run` stops failing with `composition_rebuild_required`. `skaile rebuild` only refreshes the pin (p413, p1310).
|
|
10
|
+
- `skaile check` and `skaile doctor` report an agent that `run` would refuse with `composition_rebuild_required`, in the words `run` prints, and exit 1 (p1310).
|
|
11
|
+
- A `composes:` ref that leaves the agent folder (`../shared-rules/extra`) is copied into the agent's cache folder (`.skaile/cache/agents/<name>/composes/<name>`) and the ref points there, so `run` serves it (p1312).
|
|
12
|
+
- `skaile run --instance <id>` no longer prints the connector-slot and sub-agent warnings of the project's other instances, the primary agent included (p1315).
|
|
13
|
+
- The omp start sweep also removes a unix socket in `$TMPDIR/skaile-omp-agent` that is older than a day and has no listener (p1316).
|
|
14
|
+
- The `role requires io` check for an instance that sets `lifecycle: role` on an asset without `io` runs in `skaile validate` (p1313).
|
|
15
|
+
|
|
16
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Authoring: `validate`, `library index`, the publish plan and `add` give one verdict per problem.
|
|
17
|
+
|
|
18
|
+
- A `metadata.requires` ref that no registered library holds warns in `validate` and `library index`, like a `dependencies:` entry. The publish plan also asks the store: it refuses the plan (exit 1) when the store does not list the ref, warns when the store cannot be asked, and says nothing when the store lists it. The plan now applies the same check to manifest `dependencies:` refs, which it never refused before (p1200).
|
|
19
|
+
- `files:` entries are honoured in a library: `validate` and the plan no longer call them "on disk but not in the manifest", `library index` adds no `root:`, and `add` and the lock hash use the listed files only (p1201).
|
|
20
|
+
- `add` and `install` also withhold `.git-credentials`, `kubeconfig`, `.pgpass`, `.dockercfg`, `credentials.json`, `client_secret*.json`, `*.jks`, `*.keystore`, `.my.cnf`, `secret.txt`, `api_key.txt` and similar files, and name them. The scaffolded `.gitignore` covers them (p1202).
|
|
21
|
+
- A missing `description` says `description is required: say what the <kind> does and when to use it` instead of the zod text (p1203).
|
|
22
|
+
- `add` of an asset whose directory was deleted names `skaile library index <lib>` (p1204).
|
|
23
|
+
- A skill, agent, prompt or contract with an empty body is refused like the scaffold placeholder (p1205).
|
|
24
|
+
- A SKILL.md without front matter gets one message in `validate`, `library index` and the plan (p1206).
|
|
25
|
+
- `library create` refuses a name that already exists in another directory of the library (p48).
|
|
26
|
+
- `library create` prints `Indexed - add it` only for an asset that `library index` accepts; a scaffold that index rejects prints `not ready to add yet` (p1314, p1351).
|
|
27
|
+
- A 0.1 agent whose `requires:` holds objects validates; the deprecated field only warns (p1311).
|
|
28
|
+
- `reads_from:` / `writes_to:` are an unknown-key warning for agents, prompts, contracts and flows, as for skills (p486).
|
|
29
|
+
|
|
30
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Flows belong to the project, and one verdict applies to a flow the engine cannot load.
|
|
31
|
+
|
|
32
|
+
- `skaile flow list`, `flow show <id>` and `skaile run <id>` see the flows the project declared and deployed (its `.skaile/flows/`, its `ai-assets/` tree and the built-in flows) only. Registered libraries, source clones and `~/.skaile/` no longer leak in, so a flow that runs for you also runs for a teammate with the same `skaile.yaml` (p1353).
|
|
33
|
+
- `flow list --all` and `flow show --all` add the flows of your libraries, cached sources and `~/.skaile/` under **Not in this project**, each with its `skaile add flow:@<publisher>/<name>` line. `run <id>` of a library flow the project has not added exits 1 with `Flow not found` and that `skaile add` line.
|
|
34
|
+
- `install` and `update` refuse a declared flow the flow engine cannot load, like `add`, and write nothing. `check` and `doctor` exit 1 and name a deployed flow the engine rejects (p1192).
|
|
35
|
+
- A library flow whose `id:` differs from its file name is no flow for `flow list --all`, `flow show --all` and `run`, the same rule `validate`, `library index`, the publish plan and `add` apply (p871).
|
|
36
|
+
- Sub-flow `run.flow` targets, `skaile resume` and `skaile serve` resolve a flow over the same project roots as `skaile run <id>`. A flow that only a library, a source clone or `~/.skaile/` holds is not found there either, and the error says to `skaile add flow:@<publisher>/<name>` first (p1353).
|
|
37
|
+
|
|
38
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Harness drivers and config: one model rule per driver, a full `config unset`, quieter driver failures.
|
|
39
|
+
|
|
40
|
+
- The model prefix rule is per driver (p1111). `omp` and `claude-sdk` keep their leniency: while an enabled `llm` registry entry exists, a `<head>/<model>` with an unknown head is a vendor-scoped model id (`meta-llama/Llama-3.3-70B`). `codex` talks to OpenAI only, so it refuses a head that is neither a registered provider nor `openai`, also when other providers are registered: `run --dry-run`, a real run and `repl` exit 1 with `provider '<head>' is not configured: run skaile providers list`.
|
|
41
|
+
- `config unset` is the full inverse of `config set` (p1270): it also removes `catalog.url`, `catalog.cache_ttl` and `catalog.framing` (the default applies again) and `apiKey.<provider>` (removes the entry from the user registry, like `providers rm`).
|
|
42
|
+
- `integration uninstall` in a moved project removes the codex trust entry of the old path when that directory is gone, and names the old path in the line it prints. An old path that still exists, or an entry you edited, stays and the line says why (p1271).
|
|
43
|
+
- A plugin that cannot be installed with npm prints its error code and first detail (`npm E404: 404 Not Found - GET …`), not npm's pointer to its log file (p1272).
|
|
44
|
+
- A failed `omp` start is printed once, as the `✗` line; its stderr is no longer repeated as `[warn]` lines, and an unusable registry entry is one `! provider … is not used` line, not a raw JSON record (p598). `claude-sdk` warns about a registry entry its SDK cannot speak only when the run selects it, as one plain line (p773).
|
|
45
|
+
- `config set driver bogus` and `run --driver bogus --dry-run` exit 1 with `Unknown agent driver` (p1022).
|
|
46
|
+
- A legacy `agent-config.default.provider` key in `skaile.yaml` gives one line in `list` and `run` (no stack), and `validate` reports it and exits 1 (p1352).
|
|
47
|
+
- The `--full` Claude Code plugin copy of the project's skills is refreshed by `add`, `remove`, `install` and `update`, and `integration status` marks a copy that differs from the project (p1350).
|
|
48
|
+
|
|
49
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Sources, libraries and the lock: `install` restores, only `update` moves the lock.
|
|
50
|
+
|
|
51
|
+
- A git library deploys, locks and compares what git would publish: tracked files plus untracked files that are not ignored. A file the library `.gitignore` excludes (`example.html`, `.scratch/`) is no longer copied, hashed or locked, so a clone of the library satisfies the lock (p1255).
|
|
52
|
+
- A locked asset is judged against the library its lock entry names, so `check` and `install --locked` stay green when the default library holds the same ref with other files (p1256).
|
|
53
|
+
- A library that is older than the lock leaves the lock and the deployed copy alone on `install` and `install --locked`; only `update` moves it (`replaced 0.3.0 -> 0.1.0`). `outdated` and `check` say `library is at 0.1.0, locked 0.3.0` (p1257).
|
|
54
|
+
- `install`, `install --locked` and `update` fail with the `register it again` sentence of `check` for an asset whose source was removed from `skaile.yaml`, and never clone it again. The cached clone of a removed source is not offered as a `did you mean` publisher (p1062).
|
|
55
|
+
- `source remove` points to `--purge` or `skaile cache clean --global`; `cache clean` without `--global` does not remove source clones, and the docs explain the project and global cache (p1220).
|
|
56
|
+
- `library rename` back to a former name renames the lock entries written under the interim name, so the advice names the library the user knows (p893).
|
|
57
|
+
- A fresh clone of a project with an agent instance: `check`, `doctor`, `outdated` and `diff` advise `skaile install --locked`, which makes them green (p1240).
|
|
58
|
+
- `migrate assets --write` refuses two bundles that become one preset: exit 1, both files named, nothing written (p1241).
|
|
59
|
+
- `install` stops before it prunes an undeclared lock entry whose deployed folder holds your edits, names the files and needs `--force` (OQ6).
|
|
60
|
+
|
|
61
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Store assets and `mcp-server`: a portable committed `.mcp.json`, a pending render, locked versions.
|
|
62
|
+
|
|
63
|
+
- `add` of a store skill reads the `requires` of its own manifest, deploys the assets it names (any kind) and locks them, so `check`, `doctor` and `install --locked` stay green (p1221).
|
|
64
|
+
- A changed `mcp_servers` entry is a pending render, not drift: `check` and `doctor` print `.mcp.json is out of date for skaile.yaml - run skaile install` and exit 1; `install` writes it. The `add` warning ends with `then run skaile install`. A hand edit of the entry is still drift (p1290).
|
|
65
|
+
- `info` of a locked asset shows `locked X (latest Y)`; `outdated` lists a ref pinned in `skaile.yaml` below the newest version as `pinned` and does not fail on it (p1291).
|
|
66
|
+
- `.mcp.json` is portable: `${workspace}` renders as `.` (the project root), never as the absolute path of one checkout; an entry an older release wrote with an absolute path is a pending render. `init` does not ignore `.mcp.json` or `.skaile/assets/` (p1294).
|
|
67
|
+
- `add` of an `mcp-server` refuses a secret field set to a literal value; only `env:NAME` is accepted. `install` stops rendering such a server and removes its `.mcp.json` entry until the field is `env:KEY`, and prints the skip reason (p1292, p1294).
|
|
68
|
+
- `diff mcp-server:` exits 1 when a payload file is missing or extra (p1293).
|
|
69
|
+
- A lock whose `commit` or `sha256` is all digits reads as text; a value that is not hex fails with one line naming the entry (p1295).
|
|
70
|
+
- The `add` line for an `mcp-server` names the `.mcp.json` entry and the payload folder it wrote, instead of saying it is not deployed (p1296).
|
|
71
|
+
|
|
72
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Protocol and serve: busy ports are refused, every turn ends with `finished`.
|
|
73
|
+
|
|
74
|
+
- The websocket port and the model endpoint port share one bind helper. Before it listens, it connects to the port on `127.0.0.1`, `::1` and the chosen host; a holder on `::`, `0.0.0.0` or `127.0.0.1` makes `serve` exit 1 with one line (p842, p1006).
|
|
75
|
+
- Every turn of every driver ends with `finished`, then `status idle`. A failed turn sends one fatal `error`, then `finished`, then `status idle`. omp sends `finished` now, and a failed claude-sdk turn no longer sends a second fatal `error` (p459, p460). `events.md` states the rule.
|
|
76
|
+
- `runner.set_state` on a store of adapter `xstate` finds `xstate` in the project first, then next to skaile, and a miss names the package and both places (p1171).
|
|
77
|
+
- `serve --managed-codex-config <bad path>` exits 1 with one line (p1330).
|
|
78
|
+
- `serve --model <bad>` is checked against the driver (omp registry entries) before the ready line (p1334). Only a `--model` given on the command line is checked, against the local `providers.yml` narrowed by `--providers`; a model from `skaile.yaml` or the settings, and a project with `secrets.provider: provisioned`, are not (the platform supplies its registry at `session_init`).
|
|
79
|
+
- `validate` of a project does not refuse a directory symlink outside an asset folder; only libraries and asset folders are refused, and the connector real-path check judges the rest (p1332).
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- [#1098](https://github.com/skaile-ai/workspaces/pull/1098) [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718) Thanks [@mortegro](https://github.com/mortegro)! - Docs: fix the defects of the v10 critique. The protocol sample prints 4.19.0, the `sources[]` shape reads `{url, pin?, publisher?}` (also in the legacy-key text), the version waterfall starts with the version of the asset file, the factory skill `skaile-manage-workspace` no longer lists `provider` as a personal setting, tutorial 01 describes the one-line "referenced files outside the asset filter" note, and the pages for `cache`, `config unset`, `source remove --force`, `integration uninstall --driver codex`, `repl`, `run`, `serve`, `diff`, the `mcp-server` deploy, the `--full` plugin copy, composed agents and the older-library lock case match the behaviour.
|
|
84
|
+
|
|
85
|
+
- Updated dependencies [[`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718), [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718), [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718), [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718), [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718), [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718), [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718), [`2477eac`](https://github.com/skaile-ai/workspaces/commit/2477eacb22a659a5e69c301581b4dc0b576e5718)]:
|
|
86
|
+
- @skaile/workspaces@5.19.0
|
|
87
|
+
|
|
88
|
+
## 5.18.1
|
|
89
|
+
|
|
90
|
+
### Patch Changes
|
|
91
|
+
|
|
92
|
+
- Updated dependencies [[`f73d02a`](https://github.com/skaile-ai/workspaces/commit/f73d02af44d2e2e9fbbbf8605b1dca8a87b7fbfc)]:
|
|
93
|
+
- @skaile/workspaces@5.18.1
|
|
94
|
+
|
|
3
95
|
## 5.18.0
|
|
4
96
|
|
|
5
97
|
### Minor Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skaile-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.19.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": "5.
|
|
28
|
+
"@skaile/workspaces": "5.19.0"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|