stratum-cli 0.9.0 → 0.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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,13 @@ El formato sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/) y l
6
6
 
7
7
  > Las versiones anteriores a la 0.2.1-beta.0 solo existen como tags de git: la primera publicación en npm fue la 0.2.1-beta.0.
8
8
 
9
+ ## [0.10.0] — 2026-10-23
10
+
11
+ Es la versión de la CLI que necesita **Stratum Desktop 0.6.0** para cambiar de provider.
12
+
13
+ ### Añadido
14
+ - Stratum Protocol: `sessions.setModel` admite `provider` (opcional) para cambiar a la vez el provider y el modelo de una sesión del daemon. Un provider que no está en la configuración se rechaza (`INVALID_PARAMS`) sin tocar la sesión; sin `provider`, el modelo sigue siendo del provider actual.
15
+
9
16
  ## [0.9.0] — 2026-10-23
10
17
 
11
18
  Versión estable de la 0.9.0. Reúne la [0.9.0-beta.0](#090-beta0--2026-10-16) (el plano de control local, `stratumd`) y todo lo posterior: sesiones del daemon con conversación duradera (M11), Stratum Desktop como cliente de `stratumd` (M12), deshacer por turno y una TUI que ya no se desborda. Es la versión de la CLI que necesita **Stratum Desktop 0.5.0**.
package/dist/index.js CHANGED
@@ -25792,7 +25792,7 @@ var init_schemas = __esm({
25792
25792
  operationId
25793
25793
  }).strict(),
25794
25794
  "sessions.close": sessionMutation,
25795
- "sessions.setModel": z31.object({ sessionId: id, model: name, operationId }).strict(),
25795
+ "sessions.setModel": z31.object({ sessionId: id, model: name, provider: name.optional(), operationId }).strict(),
25796
25796
  "sessions.setAgent": z31.object({ sessionId: id, agent: name.nullable(), operationId }).strict(),
25797
25797
  "sessions.setReadOnly": z31.object({ sessionId: id, readOnly: z31.boolean(), operationId }).strict(),
25798
25798
  "sessions.detach": sessionMutation,
@@ -30404,7 +30404,7 @@ import { readFileSync as readFileSync23 } from "fs";
30404
30404
  import { fileURLToPath as fileURLToPath3 } from "url";
30405
30405
  import { dirname as dirname16, join as join28 } from "path";
30406
30406
  function cliVersion() {
30407
- if (true) return "0.9.0";
30407
+ if (true) return "0.10.0";
30408
30408
  const thisDir = dirname16(fileURLToPath3(import.meta.url));
30409
30409
  const pkg = JSON.parse(readFileSync23(join28(thisDir, "..", "..", "package.json"), "utf-8"));
30410
30410
  return pkg.version;
@@ -38572,7 +38572,7 @@ async function settle(step, fn) {
38572
38572
  }
38573
38573
  }
38574
38574
  function resolveVersion() {
38575
- if (true) return "0.9.0";
38575
+ if (true) return "0.10.0";
38576
38576
  try {
38577
38577
  const thisDir = dirname17(fileURLToPath4(import.meta.url));
38578
38578
  const pkg = JSON.parse(
@@ -45086,7 +45086,7 @@ function resolveResult(ref, dir) {
45086
45086
  }
45087
45087
 
45088
45088
  // src/cli/commands/eval.ts
45089
- var VERSION = true ? "0.9.0" : "dev";
45089
+ var VERSION = true ? "0.10.0" : "dev";
45090
45090
  var fail2 = (message) => {
45091
45091
  process.stderr.write(`${message}
45092
45092
  `);
@@ -47206,9 +47206,18 @@ var HostedSession = class _HostedSession {
47206
47206
  this.persist();
47207
47207
  return this.publisher.session();
47208
47208
  }
47209
- setModel(model) {
47209
+ setModel(model, provider) {
47210
47210
  this.assertIdle();
47211
- this.host.agent.switchModel(model);
47211
+ const agent = this.host.agent;
47212
+ if (provider !== void 0 && provider !== agent.providerName) {
47213
+ if (!agent.providerNames.includes(provider)) {
47214
+ throw new ProtocolError("INVALID_PARAMS", "Unknown provider.", {
47215
+ issues: [{ path: "provider", message: "not a configured provider" }]
47216
+ });
47217
+ }
47218
+ agent.switchProvider(provider);
47219
+ }
47220
+ agent.switchModel(model);
47212
47221
  return this.changed();
47213
47222
  }
47214
47223
  setAgent(agent) {
@@ -49309,7 +49318,10 @@ var Stratumd = class _Stratumd {
49309
49318
  return {};
49310
49319
  },
49311
49320
  "sessions.setModel": async (params) => ({
49312
- session: (await this.wake(params.sessionId, "Changing its model")).setModel(params.model)
49321
+ session: (await this.wake(params.sessionId, "Changing its model")).setModel(
49322
+ params.model,
49323
+ params.provider
49324
+ )
49313
49325
  }),
49314
49326
  "sessions.setAgent": async (params) => ({
49315
49327
  session: (await this.wake(params.sessionId, "Changing its agent")).setAgent(params.agent)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stratum-cli",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Agente CLI extensible sobre un loop ReAct — provider-agnostic (Ollama, llama.cpp, vLLM, LiteLLM, OpenAI), con plan-and-execute, subagentes, MCP y SSH nativo",
5
5
  "keywords": [
6
6
  "cli",