@automatalabs/workflows 0.30.0 → 0.30.1

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/README.md CHANGED
@@ -132,7 +132,7 @@ try {
132
132
  type: "object", additionalProperties: false,
133
133
  required: ["summary"], properties: { summary: { type: "string" } },
134
134
  },
135
- model: "opus", // routes to Claude; e.g. "gpt-5.5" routes to Codex
135
+ model: "claude/opus[1m]", // registered prefix routes; the remaining id is verbatim
136
136
  cwd: process.cwd(), // absolute working dir for the agent's session
137
137
  });
138
138
  // data is the schema-validated object (not text)
@@ -159,7 +159,7 @@ experimental), never via the return value.
159
159
  >
160
160
  > ```ts
161
161
  > await runner.run("Cut the release.", {
162
- > model: "gpt-5.5",
162
+ > model: "codex/gpt-5.6-sol",
163
163
  > baseInstructions: "You are a release bot. Only touch CHANGELOG.md.",
164
164
  > developerInstructions: "Prefer conventional-commit summaries.",
165
165
  > });
@@ -179,8 +179,8 @@ experimental), never via the return value.
179
179
  > await runner.run("Verify the checkout flow.", { model: "browser" });
180
180
  > ```
181
181
  >
182
- > `model: "browser/vision-large"` additionally selects `vision-large` from the agent's config-option
183
- > catalog. The same registry can be declared via `AGENTPRISM_BACKENDS` (JSON env var; the
182
+ > `model: "browser/vision-large"` additionally sends exactly `vision-large` as the agent's model
183
+ > config option. The same registry can be declared via `AGENTPRISM_BACKENDS` (JSON env var; the
184
184
  > programmatic option wins per name). A `schema` is forwarded as turn-level `_meta.outputSchema`
185
185
  > and embedded in the prompt. Eligible HTTP-MCP agents also receive the client-hosted
186
186
  > `StructuredOutput` capture tool; otherwise the result is JSON-parsed from the final message.
@@ -251,8 +251,8 @@ checkpoint unless the author opts in. `WorkflowManagerOptions` lets you set a de
251
251
  `loadSavedWorkflow` resolver (enables nested `workflow('name')`), a custom `persistence`
252
252
  implementation, and per-agent timeout/retry defaults.
253
253
 
254
- Every terminal result may also carry `fallbacks` (live whole-model/modifier degrades with call,
255
- requested-spec, resolved-model/backend, and log-message attribution) and `checkpointsTaken` (one
254
+ Every terminal result may also carry `fallbacks` (a compatibility audit surface for non-resolution
255
+ subsystems or third-party runners) and `checkpointsTaken` (one
256
256
  resolved checkpoint per call with the journaled decision and `live` / `headless-default` /
257
257
  `journal-replay` / `injected` source). They are absent when empty, persist for cold reads, never
258
258
  enter replay hashes, and are not part of `WorkflowRunStatus` inspection.
@@ -583,26 +583,27 @@ toStrictJsonSchema(schema); // OpenAI-strict-normalized (Codex outputSchema)
583
583
 
584
584
  ## Backend selection
585
585
 
586
- The backend for each agent is chosen from its `model` (preferred) or `tier` string:
587
-
588
- - **Provider prefix** `anthropic/…` or `claude/…` Claude; `openai/…` or `codex/…` Codex.
589
- - **OpenCode prefix or id** `opencode/…` or `opencode` OpenCode.
590
- - **Bare id** matched by pattern: `codex` / `gpt` / `openai` / `o<digit>` ⇒ Codex;
591
- `claude` / `opus` / `sonnet` / `haiku` / `anthropic` ⇒ Claude.
592
- - **No match / no spec** — the default backend: `AGENTPRISM_DEFAULT_BACKEND` (`claude`, `codex`,
593
- `opencode`, or any registered custom backend name; default `claude`).
586
+ The backend for each agent is chosen from its effective `model` (preferred) or `tier` string. Split
587
+ the string on its first `/`. If the first segment, ASCII-case-insensitively, is `claude`, `codex`,
588
+ `opencode`, or a registered custom backend name, it selects that harness and is stripped exactly
589
+ once; a custom registration wins on a built-in-name collision. A registered harness name alone is
590
+ backend-only and preserves that harness's configured default model. Any other first segment sends
591
+ the entire authored string unchanged to `AGENTPRISM_DEFAULT_BACKEND` (default `claude`). Omitting
592
+ the spec also uses the configured default backend and its default model.
594
593
 
595
594
  ```ts
596
595
  import { selectBackend } from "@automatalabs/workflows";
597
596
 
598
- selectBackend({ model: "opus" }).id; // "claude"
599
- selectBackend({ model: "gpt-5.5" }).id; // "codex"
600
- selectBackend({ model: "anthropic/claude-sonnet" }).id; // "claude"
597
+ selectBackend({ model: "claude/opus[1m]" }).id; // "claude"
598
+ selectBackend({ model: "codex/gpt-5.6-sol" }).id; // "codex"
599
+ selectBackend({ model: "opencode/zai/glm-5.2" }).id; // "opencode"
601
600
  ```
602
601
 
603
- Within a provider, the model spec selects the concrete model through ACP session config
604
- (`session/set_config_option`, surfaced as `SessionHandle.selectModel()`). Per-backend pool size is
605
- `AGENTPRISM_ACP_POOL_SIZE` (or `AcpPoolOptions.size`).
602
+ When an id remains after routing, it becomes the exact ACP `session/set_config_option` value
603
+ (surfaced as `SessionHandle.selectModel()`): no normalization, catalog matching, bracket parsing,
604
+ retry, echo verification, or fallback. Brackets, dots, slashes, and provider-style prefixes are
605
+ ordinary id characters. A harness error follows the existing agent-error path. Per-backend pool
606
+ size is `AGENTPRISM_ACP_POOL_SIZE` (or `AcpPoolOptions.size`).
606
607
 
607
608
  ---
608
609
 
@@ -60,7 +60,7 @@ export interface ValidatedMockAnswers {
60
60
  export interface ValidatedAgentCall {
61
61
  label: string;
62
62
  phase?: string;
63
- /** The model spec the call requested (undefined = the run/session default). */
63
+ /** The verbatim model spec the call requested (undefined = the run/session default). */
64
64
  model?: string;
65
65
  tier?: string;
66
66
  mode?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGxF,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,cAAc,EAAE,GAChB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CAC/C;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAEjE,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;2FACuF;IACvF,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC;IAC5C;6EACyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;8CAC0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,yFAAyF;IACzF,aAAa,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;6FACyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,EAAE,EAAE,OAAO,CAAC;IACZ,gEAAgE;IAChE,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,KAAK,EAAE;QACL,EAAE,EAAE,OAAO,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,YAAY,CAAC;KACrB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,OAAO,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,0EAA0E;QAC1E,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,kBAAkB,EAAE,CAAC;QACjC,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,yEAAyE;QACzE,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAwfD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,SAAU,EAAE,KAAK,SAAI,GAAG,OAAO,CA6DvF;AAcD;qDACqD;AACrD,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAqB1C;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAkNjC;AAMD,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAsC3E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automatalabs/workflows",
3
- "version": "0.30.0",
3
+ "version": "0.30.1",
4
4
  "license": "Apache-2.0",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -32,8 +32,8 @@
32
32
  "dependencies": {
33
33
  "typebox": "1.3.2",
34
34
  "@automatalabs/shared-types": "0.18.0",
35
- "@automatalabs/workflow-engine": "0.19.0",
36
- "@automatalabs/acp-agents": "0.24.9"
35
+ "@automatalabs/workflow-engine": "0.19.1",
36
+ "@automatalabs/acp-agents": "0.25.0"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "tsc -b",