@lmctl-ai/lmctl 0.2.351 → 0.2.353

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
@@ -2,11 +2,12 @@
2
2
 
3
3
  ## Unreleased — schema/import review fixes
4
4
 
5
+ - Provider failures are classified once, in lmctl: `src/providers/failure-class.ts` (ordered, conservative rule table over the fleet's recorded errors; `unknown` stays `unknown`). `lmctl prompt --json` failure lines carry `errorClass`, the API `promptMember` result (script `lm_prompt`) carries `errorClass` and a `usage` summary (tokens, reason, estimated cost), and the new pure operation `classifyFailure` (script `lm_classify_failure(text, {model, status})`) classifies stored error text, so consumers keep routing policy only and no regex table. Classes: quota_exhausted, binary_missing, auth_required, upstream_undisclosed, upstream_throttled, model_not_offered, stale_session, transport_interrupted, context_exhausted, receiver_busy, holder_died, unknown.
5
6
  - LMScript strict member access (issue 003): reading a missing map key or list index is a run-time error naming the container and the member instead of `undefined`; built-in methods per type (`map.get(key, default)`, `has`, `len`, `keys`; `list.get(index, default)`, `len`; `string.len`) are the one optional form; `X.name(args)` is a method call while `pkg.fn(x)` stays a package call; unknown method names and wrong arities are check errors. Top-level functions are unchanged.
6
7
 
7
8
  - LMScript data-embedding D16/D17: `${expr}` in a `_graphql_` body is plain text substitution (linted as a placeholder at check time, the final text linted again at run time; null/list/map are run-time errors naming the marker) and `${expr}` inside `_toml_` string values inserts text after parsing; a field in a TOML key and inside single quotes in `_cmd_` stay "not supported yet".
8
9
 
9
- - LMScript checked path literals: `i"…"`, `o"…"` and `io"…"` resolve a literal path to its OS form (`./x`, `.\x`, normalized separators) and are verified read-only before the first statement of a normal run, under `--dry-run` and under `--check-files` (exit 2 with a located error before any effect; `--check`/`--lint` stay filesystem-free). Uppercase or combined prefixes, triple quotes, `${}` and `~` are errors with hints.
10
+ - LMScript path literals: `path"…"` resolves a literal path to its OS form (`./x`, `.\x`, normalized separators) and nothing else; no mode touches the filesystem. Triple quotes, `${}` and `~` are errors with hints. `path` is the only prefix added; any other prefix is the generic unsupported-prefix error.
10
11
 
11
12
  - Killed provider children now record the termination signal in the tracked row and
12
13
  transport errors (previously exit_code and signal were both null, so SIGKILL, SIGTERM
package/build-info.json CHANGED
@@ -1 +1 @@
1
- {"sha": "31f5b17b86f8422d98056ca07a292ec98f41f190", "dirty": false, "builtAt": "2026-10-19T14:40:40.000Z"}
1
+ {"sha": "0b3f8c60e0f91848cb88d3afac044a6d106c993d", "dirty": false, "builtAt": "2026-10-20T04:28:30.000Z"}