@tonbo/cli 0.1.2 → 0.3.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 +21 -21
- package/dist/bin/tonbo.js +389 -261
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -12,11 +12,11 @@ The CLI deploys an Agent directly from a local directory without requiring Git o
|
|
|
12
12
|
```console
|
|
13
13
|
tonbo login
|
|
14
14
|
tonbo init
|
|
15
|
-
No Harness-specific configuration was found in this
|
|
15
|
+
No Harness-specific configuration was found in this agent.
|
|
16
16
|
? Which supported Harness should Tonbo use?
|
|
17
|
-
❯ PI (`pi`) Run this
|
|
17
|
+
❯ PI (`pi`) Run this agent with the pi command.
|
|
18
18
|
? How should this Agent connect to Tonbo?
|
|
19
|
-
❯ Create a new
|
|
19
|
+
❯ Create a new agent Create it only after you confirm the complete configuration.
|
|
20
20
|
Use an existing agent
|
|
21
21
|
Set up later
|
|
22
22
|
? Agent name [my-agent]:
|
|
@@ -26,11 +26,11 @@ Tonbo Agent configuration:
|
|
|
26
26
|
Harness: PI
|
|
27
27
|
Execution: PI CLI (`pi`)
|
|
28
28
|
Model: claude-sonnet-4-5
|
|
29
|
-
? Create
|
|
30
|
-
❯ Create
|
|
31
|
-
Edit configuration Change the
|
|
29
|
+
? Create agent and .tonbo with this configuration?
|
|
30
|
+
❯ Create agent and .tonbo
|
|
31
|
+
Edit configuration Change the agent, Harness, execution mode, model, or SDK entrypoint.
|
|
32
32
|
Cancel
|
|
33
|
-
Created
|
|
33
|
+
Created agent my-agent and .tonbo.
|
|
34
34
|
Agent: my-agent (my-agent-my-account.tonbo.sh)
|
|
35
35
|
Organization: my-account
|
|
36
36
|
Application: https://my-agent-my-account.tonbo.sh
|
|
@@ -39,7 +39,7 @@ Mode: PI CLI
|
|
|
39
39
|
Next: tonbo deploy
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
Use the arrow keys and Enter to select a supported Harness and either create or select the one Agent owned by this source tree. Agent creation and file writes wait until the final review; cancelling leaves both local and cloud state unchanged. `AGENTS.md` is Harness-neutral and never identifies PI by itself. When `.pi/settings.json` exists, the shared source inspector identifies the PI Harness and reports its workspace-local packages. A regular PI
|
|
42
|
+
Use the arrow keys and Enter to select a supported Harness and either create or select the one Agent owned by this source tree. Agent creation and file writes wait until the final review; cancelling leaves both local and cloud state unchanged. `AGENTS.md` is Harness-neutral and never identifies PI by itself. When `.pi/settings.json` exists, the shared source inspector identifies the PI Harness and reports its workspace-local packages. A regular PI agent defaults to the native PI CLI; choose `Edit configuration` only when changing the Agent, execution mode, model, or another setting. Unsupported and planned Harnesses are not shown.
|
|
43
43
|
|
|
44
44
|
The generated `.tonbo` is TOML:
|
|
45
45
|
|
|
@@ -59,14 +59,14 @@ kind = "native"
|
|
|
59
59
|
model = "claude-sonnet-4-5"
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
The immutable full Agent hostname is the only durable Agent authority in the source tree; it is not a credential. This keeps Agents with the same name in different Organizations unambiguous. `deploy`, `run`, `ssh` and `secret` refuse an unbound declaration. `tonbo agent use <name-hostname-or-id>` accepts any convenient selector, resolves it through the signed-in account and writes the selected `
|
|
62
|
+
The immutable full Agent hostname is the only durable Agent authority in the source tree; it is not a credential. This keeps Agents with the same name in different Organizations unambiguous. `deploy`, `run`, `ssh` and `secret` refuse an unbound declaration. `tonbo agent use <name-hostname-or-id>` accepts any convenient selector, resolves it through the signed-in account and writes the selected `agent-organization.tonbo.sh` hostname into `.tonbo`; rebinding an existing declaration requires interactive confirmation or `--force`. UUIDs remain internal API identities and are never committed by the CLI.
|
|
63
63
|
|
|
64
64
|
The default inference model is written without prompting. Override it explicitly with `--model`. Headless initialization makes Harness and driver choices explicit and may bind the resulting declaration with `agent use`:
|
|
65
65
|
|
|
66
66
|
```console
|
|
67
67
|
tonbo init --harness pi --driver native
|
|
68
68
|
tonbo init --harness pi --driver command --agent-entry dist/agent.mjs
|
|
69
|
-
tonbo agent use my-
|
|
69
|
+
tonbo agent use my-agent-my-account.tonbo.sh
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
After interactive initialization, deploy the current contents:
|
|
@@ -88,12 +88,12 @@ Every `tonbo deploy` creates one immutable Deployment: the uploaded source, the
|
|
|
88
88
|
|
|
89
89
|
```console
|
|
90
90
|
$ tonbo deploy
|
|
91
|
-
Deployed
|
|
91
|
+
Deployed agent my-agent.
|
|
92
92
|
Organization: my-account
|
|
93
93
|
Deployment: Fix greeting (0f3a7c21)
|
|
94
94
|
Source: 0123456 · main
|
|
95
95
|
Production: promoting (generation 4)
|
|
96
|
-
Application: https://my-
|
|
96
|
+
Application: https://my-agent-my-account.tonbo.sh
|
|
97
97
|
|
|
98
98
|
Agent process: starts with the first turn and stays warm while the runtime is active.
|
|
99
99
|
|
|
@@ -101,7 +101,7 @@ Start the Agent:
|
|
|
101
101
|
tonbo run "<prompt>"
|
|
102
102
|
|
|
103
103
|
Connect with SSH:
|
|
104
|
-
ssh my-
|
|
104
|
+
ssh my-agent.my-account@tonbo.sh
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
When the new Deployment has the same contents as the Production Deployment it replaces, `deploy` says so; the record is still created. `tonbo deploy --no-promote` creates the Deployment without moving Production, for example to stage a build and promote it later:
|
|
@@ -120,7 +120,7 @@ tonbo deployments rollback 9b8c1d22 # or to a named one
|
|
|
120
120
|
Use `tonbo agent show` to rediscover the username, application address and SSH command later. `tonbo login` registers public keys found at the conventional `~/.ssh/id_ed25519.pub`, `id_ecdsa.pub` and `id_rsa.pub` paths. Register a key at another path with `tonbo ssh-key add <path.pub>` and revoke a lost or retired key with `tonbo ssh-key remove SHA256:...`. The CLI is not part of the SSH connection; ordinary OpenSSH, `scp` and `rsync` connect directly:
|
|
121
121
|
|
|
122
122
|
```console
|
|
123
|
-
ssh my-
|
|
123
|
+
ssh my-agent.my-account@tonbo.sh
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
The SSH user name is the Agent qualified by its username; the signed public key identifies the Tonbo user and is checked against membership and IAM at connection time. The CLI resolves the Agent name in `.tonbo` and prints the server-authoritative destination, so users never need to remember or assemble a username. The shell and HTTP turns may coexist on the singleton runtime, allowing the shell to observe the Agent while it works. Session writer fencing protects durable conversation history; ordinary workspace files retain Linux process concurrency semantics.
|
|
@@ -131,11 +131,11 @@ The platform injects scoped inference access and owns PI Session capture. Do not
|
|
|
131
131
|
|
|
132
132
|
Deploy snapshots regular files under `.tonbo`, excluding `.git`, `node_modules`, PI package caches, local environment files and patterns in `.tonboignore`. Coding tools start in the persistent Artifacts workspace, while `AGENTS.md` and trusted `.pi` extensions, skills, prompts and settings load from the Deployment's uploaded source.
|
|
133
133
|
|
|
134
|
-
## Supported PI
|
|
134
|
+
## Supported PI agent shapes
|
|
135
135
|
|
|
136
136
|
### 1. Agent-local Agent
|
|
137
137
|
|
|
138
|
-
Keep the normal PI
|
|
138
|
+
Keep the normal PI agent layout. Tonbo runs the same `AGENTS.md`, `.pi/APPEND_SYSTEM.md`, `.pi/settings.json`, `.pi/extensions`, `.pi/skills` and `.pi/prompts` that local `pi` loads:
|
|
139
139
|
|
|
140
140
|
```console
|
|
141
141
|
pi
|
|
@@ -144,9 +144,9 @@ tonbo deploy
|
|
|
144
144
|
tonbo run "Start the task."
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
### 2. PI Package
|
|
147
|
+
### 2. PI Package agent
|
|
148
148
|
|
|
149
|
-
Use PI's
|
|
149
|
+
Use PI's agent-local package declaration as the single source of truth. A package is a PI resource, not another Tonbo execution mode: `tonbo init` recognizes `.pi/settings.json`, then the native PI driver loads the packages. Install an immutable package reference locally, verify it with PI, and deploy the agent; Tonbo excludes `.pi/npm` and `.pi/git` caches and restores packages inside the isolated runtime:
|
|
150
150
|
|
|
151
151
|
```console
|
|
152
152
|
pi install -l npm:@acme/my-pi-agent@1.2.3
|
|
@@ -196,8 +196,8 @@ Node.js 22 or newer is required. Human OAuth tokens are stored at `${XDG_CONFIG_
|
|
|
196
196
|
- [Design documentation map](../../docs/design/README.md)
|
|
197
197
|
- [Agent source inspection and onboarding](../../docs/design/agent-source-onboarding.md)
|
|
198
198
|
- [Shared source inspector](../../packages/agent-source-inspector/README.md)
|
|
199
|
-
- [Agent resource model](../../docs/design/
|
|
200
|
-
- [Agent Deployments, Production and Rollouts](../../docs/design/
|
|
199
|
+
- [Agent resource model](../../docs/design/agent-resource-model.md)
|
|
200
|
+
- [Agent Deployments, Production and Rollouts](../../docs/design/agent-deployments.md)
|
|
201
201
|
- [ADR-0008: Tonbo CLI onboarding and credential boundaries](../../apps/user-center/docs/decisions/adr-0008-tonbo-cli-onboarding.md)
|
|
202
202
|
- [Management API v1](../../contracts/management/openapi-v1.yaml)
|
|
203
203
|
|
|
@@ -217,4 +217,4 @@ tonbo --json machine release <machine-uuid>
|
|
|
217
217
|
|
|
218
218
|
Only one active Agent binding per Machine and one Machine per Agent are currently supported. Unbinding drains execution and completes physical deletion, final usage settlement and storage credential revocation before the Machine becomes available. Wait for `available: true` in `machine show` before rebinding. Cross-Agent reassignment resets rootfs; the destination mounts its own Agent Workspace and Sessions. Hidden pause/resume within the same Agent retains rootfs and process state. Release also drains an existing binding automatically; it does not delete Agent files or Sessions.
|
|
219
219
|
|
|
220
|
-
`tonbo agent list` lists accessible Agents without requiring a local `.tonbo` file. JSON command output uses `agent` for one Agent and `agents` for the list; there is no duplicate `
|
|
220
|
+
`tonbo agent list` lists accessible Agents without requiring a local `.tonbo` file. JSON command output uses `agent` for one Agent and `agents` for the list; there is no duplicate `agent` output alias.
|