@lmctl-ai/lmctl 0.2.72 → 0.2.74

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
@@ -4,6 +4,10 @@ All notable public-preview changes for `@lmctl-ai/lmctl` are recorded here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ - **Hello model selection.** `lmctl hello <provider> --model <name>` sets the model of the Lead in the downloaded hello teamfile. For codex and agy the name is checked against the provider's own live catalog (`codex debug models`, `agy models`) before anything is started: a name that is not in it is refused with the list of valid models, and no teamfile is left behind. For other providers, and when the catalog cannot be read, the usual lint warning is shown and the seed proceeds. A name may contain spaces (`--model "Gemini 3.8 Flash (High)"`) but not quotes or line breaks. Without the flag nothing changes: the provider default is used.
8
+
9
+ - **First external LMScript module.** modules/git.lms wraps git with argv execution and NUL-delimited parsing: root, branch, status, log, diff_stat, is_clean, remote_url and rev_parse. Imports have no command effects; failures name the command, exit and stderr tail. The source module and relative-import git_summary example ship in the package, without a module registry. Queries require trusted repository configuration/attributes and Git environment; clean filters may execute during status/diff. Error diagnostics mask recognized URL credentials; log requests UTF-8 and avoids a worktree scan.
10
+
7
11
  - **Simple string expansion.** LMScript expand(text[, vars]) resolves explicit variable names, PROPS property paths and literal ARGV indexes; $${ escapes, and inserted values are never expanded again. Literal templates are checked without a profile; missing references fail together. The legacy .lmctl quickrun route shares this resolver, retaining its six old slot aliases while adding PROPS paths. Unknown/complex placeholders now fail before a destination is written instead of being silently left for lint. General f-strings are unchanged.
8
12
 
9
13
  - **Failure lists name the failure.** `lmctl running` and the activity lines of `lmctl status` showed the constant header `Original provider error:` (or the header and the first warnings) for every provider failure. They now show one line of the provider's own output, taken from its end, where the real error is. Other errors keep their first line as before, `--json` output is unchanged, and control characters from a stored error are no longer printed by `lmctl status`.
package/README.md CHANGED
@@ -135,3 +135,7 @@ provider storage. Mock responses need no keys or network access.
135
135
  ### lmctl properties (init.toml)
136
136
 
137
137
  `~/.lmctl/init.toml` (or `$LMCTL_HOME/init.toml`) is lmctl's properties file, not the process environment. Managed TOML keys include `Provider1.provider` and `Provider1.model1`; top-level user keys such as `Env1` are supported. Scripts use `PROPS.Provider1.Provider`, `PROPS.Provider1.Model1` or `PROPS["Provider1.Model1"]`. The source repository documents the complete property contract. The six old bare provider/model globals are removed. `--check` uses declared keys without a profile or DB; a file-backed runtime read needs a valid profile and reports its path plus `lmctl init` guidance. `Directory` and `NonInteractive` remain core invocation facts.
138
+
139
+ ## Git source module
140
+
141
+ The package includes modules/git.lms, a package git written in LMScript with safe argv-based CLI calls. Run bin/lmscript examples/git_summary.lms /path/to/repo, or import the module by an explicit disk path or URL. It is an ordinary module, not an automatically included builtin. No registry or automatic dependency lookup is used.
package/build-info.json CHANGED
@@ -1 +1 @@
1
- {"sha": "a174128d3d6baff3dcceade99896e473ab8f4e98", "dirty": true, "builtAt": "2026-10-05T13:48:38.000Z"}
1
+ {"sha": "051e42608aaf186cbfdf316c641232c5c86d3544", "dirty": true, "builtAt": "2026-10-05T16:28:51.000Z"}