@tuned-tensor/cli 0.8.1 → 0.9.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/README.md CHANGED
@@ -18,7 +18,7 @@ npm install -g @tuned-tensor/cli
18
18
  tt --version
19
19
  ```
20
20
 
21
- Node.js 22 or newer is required. Hosted commands need no local ML runtime.
21
+ Node.js 22.19.0 or newer is required. Hosted commands need no local ML runtime.
22
22
  Local training additionally needs
23
23
  [`uv`](https://docs.astral.sh/uv/) and a supported NVIDIA CUDA host; the locked
24
24
  Python runner ships with the npm dependency and is prepared on first use.
@@ -35,7 +35,32 @@ npm link
35
35
 
36
36
  ## Conversational terminal
37
37
 
38
- After `tt auth login`, run `tt` to open one terminal for conversation and
38
+ The interactive agent harness and conversation state now run on your laptop
39
+ with Pi. Inference runs through the provider/model you select, which may be a
40
+ local endpoint or a remote provider. Tuned Tensor remains an authenticated
41
+ typed tool provider: `tt auth login` is used only for Tuned Tensor REST calls
42
+ and is never sent to the selected model.
43
+ Tool results needed to answer a request are sent to the model you selected, so
44
+ choose a local or remote provider whose data policy fits your workload.
45
+
46
+ Pi reuses provider authentication and custom model definitions from
47
+ `~/.pi/agent/auth.json` and `~/.pi/agent/models.json`. Authenticate a provider
48
+ with Pi's normal login flow; `tt` deliberately has no provider-secret flags.
49
+ Then inspect and select a provider/model:
50
+
51
+ ```bash
52
+ tt agent models --all
53
+ tt agent configure --provider anthropic --model claude-sonnet-4-5 --thinking high
54
+ tt agent status
55
+ ```
56
+
57
+ `--thinking` accepts `off`, `minimal`, `low`, `medium`, `high`, `xhigh`, or
58
+ `max`.
59
+ Selection metadata can be overridden per process with
60
+ `TUNED_TENSOR_AGENT_PROVIDER`, `TUNED_TENSOR_AGENT_MODEL`, and
61
+ `TUNED_TENSOR_AGENT_THINKING`. These values are not credentials.
62
+
63
+ After configuration, run `tt` to open one terminal for conversation and
39
64
  commands:
40
65
 
41
66
  ```text
@@ -45,23 +70,42 @@ tt cloud support-agent › runs list
45
70
  tt cloud support-agent › Ask whether my dataset is ready to train
46
71
  ```
47
72
 
48
- Ordinary sentences go to the same authenticated Tuned Tensor agent used by the
49
- web application. Known CLI commands such as `runs list`, `doctor`, and
50
- `models list` still execute directly. Prefix a command with `:` when you want
51
- to make that intent explicit. Commands are routed to the mode shown in the
52
- prompt; prefix one with `cloud` or `local` to override the mode without
53
- switching it.
54
-
55
- Agent conversations are durable. Use `/new` to start one, `/threads` to list
56
- recent conversations, and `/resume <id>` to continue one. Read operations can
57
- run during the conversation. Mutations remain approval-gated: the agent shows
58
- the exact proposed action, then waits for `/approve` or `/reject`.
73
+ Ordinary sentences go through the locally orchestrated Pi model session. The
74
+ model can call a
75
+ strict, bounded set of authenticated Tuned Tensor read tools and prepare-only
76
+ mutation tools; it has no shell or filesystem tool. Known CLI commands such as
77
+ `runs list`, `doctor`, and `models list` still execute directly. Prefix a
78
+ command with `:` when you want to make that intent explicit. Commands are
79
+ routed to the mode shown in the prompt; prefix one with `cloud` or `local` to
80
+ override the mode without switching it.
81
+
82
+ Agent conversations are durable and local under
83
+ `~/.config/tuned-tensor/agent/threads` (or the XDG config equivalent), with
84
+ user-only directory/file permissions. Persistence normally retains up to 100
85
+ recent threads; unsettled safety records are never pruned even when that exceeds
86
+ the cap. Each thread is limited to 1 MB, 200 messages, and 200 actions; one-way
87
+ action claims are capped at 1,000. Use `/new` to start one, `/threads` to
88
+ list recent conversations, and `/resume <id>` to continue one. Older hosted
89
+ AgentCore threads are not migrated or listed.
90
+
91
+ Read operations execute immediately. Creating or updating a behaviour spec is
92
+ a prepare-only model operation: the agent shows the exact proposed action, then
93
+ waits for `/approve` or `/reject`. Starting or cancelling training remains an
94
+ explicit `tt runs ...` command outside the model tool loop.
95
+ `/approve` executes deterministic local code with an at-most-once mutation
96
+ attempt. Before dispatch, the CLI requires the API to advertise mutation-guard
97
+ support; older or incompatible servers are refused. The server conditionally
98
+ checks approved spec versions and assigns the action ID as an idempotent create
99
+ ID. If a response or final state write is lost after dispatch, the action is
100
+ retained as `outcome_unknown`, cannot be retried automatically, and directs the
101
+ user to inspect the remote resource. `/reject` never calls a mutation endpoint.
59
102
 
60
103
  Useful shell controls include `/help`, `/status`, `/context`, `/mode`,
61
- `/model`, `/cd`, `/clear`, and `/exit`. `/model` shows the model in play — the
62
- active local model, or the cloud spec's base model — and `/model <id>`
63
- activates a verified local model. The shell keeps normal terminal scrollback
64
- and command history only for the current process.
104
+ `/model`, `/cd`, `/clear`, and `/exit`. `/model` retains its workflow meaning:
105
+ it shows the active local serving model or cloud spec base model, and
106
+ `/model <id>` activates a verified local serving model. Configure the assistant
107
+ model explicitly with `tt agent configure`. The shell keeps normal terminal
108
+ scrollback and command history only for the current process.
65
109
 
66
110
  Explicit commands remain non-interactive, including in CI. `tt --help` shows
67
111
  the complete command surface, `tt status` inspects both targets without a