@akshar5/cohall 0.4.9 → 0.5.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/CHANGELOG.md +23 -0
- package/README.md +85 -9
- package/bin/cohall.js +1529 -266
- package/bin/cohall.js.map +15 -11
- package/docs/install.md +59 -7
- package/docs/services.md +88 -25
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0](https://github.com/AksharP5/cohall/compare/v0.4.10...v0.5.0) (2026-08-10)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add safe all-device operations ([#47](https://github.com/AksharP5/cohall/issues/47)) ([34da34f](https://github.com/AksharP5/cohall/commit/34da34fd57cbde624f6c9f2dc171a2644a84faf0))
|
|
9
|
+
* **cli:** make device setup guided ([#44](https://github.com/AksharP5/cohall/issues/44)) ([0330094](https://github.com/AksharP5/cohall/commit/033009416a97d6158af978589de92f77b4d1c3b7))
|
|
10
|
+
* **relay:** make relay moves recoverable ([#46](https://github.com/AksharP5/cohall/issues/46)) ([851ddff](https://github.com/AksharP5/cohall/commit/851ddff4dcd8545477b729c8f5509a3b145fd759))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **device:** trust service manager executables ([#50](https://github.com/AksharP5/cohall/issues/50)) ([f150574](https://github.com/AksharP5/cohall/commit/f1505743621647e3ff8f239f2ebd6b11c9a9c09a))
|
|
16
|
+
* **relay:** harden relay moves ([#48](https://github.com/AksharP5/cohall/issues/48)) ([fd8c8f3](https://github.com/AksharP5/cohall/commit/fd8c8f3f5d4a14deace8c82e3bcb043f33968127))
|
|
17
|
+
* **relay:** make all-device maintenance recoverable ([#49](https://github.com/AksharP5/cohall/issues/49)) ([63fd304](https://github.com/AksharP5/cohall/commit/63fd304fe6c81c4d71122afe2bc2ca8899b0e117))
|
|
18
|
+
|
|
19
|
+
## [0.4.10](https://github.com/AksharP5/cohall/compare/v0.4.9...v0.4.10) (2026-08-09)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* **device:** preserve macOS provider startup ([#42](https://github.com/AksharP5/cohall/issues/42)) ([aef9f0d](https://github.com/AksharP5/cohall/commit/aef9f0db5ff2360e6bf38774d6b3350804b46f0e))
|
|
25
|
+
|
|
3
26
|
## [0.4.9](https://github.com/AksharP5/cohall/compare/v0.4.8...v0.4.9) (2026-08-09)
|
|
4
27
|
|
|
5
28
|
|
package/README.md
CHANGED
|
@@ -106,28 +106,71 @@ COHALL_TOKEN="$COHALL_TOKEN" \
|
|
|
106
106
|
npx -y @akshar5/cohall pair --label "MacBook"
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
Transfer the token privately. On the device being added
|
|
109
|
+
Transfer the token privately. On the device being added, one guided command
|
|
110
|
+
configures the device and installs the agent skill. It defaults the device name
|
|
111
|
+
to the hostname and prompts for omitted values when run interactively:
|
|
110
112
|
|
|
111
113
|
```bash
|
|
112
114
|
read -rsp 'Pairing token: ' pairing_token; printf '\n'
|
|
113
|
-
printf '%s' "$pairing_token" | npx -y @akshar5/cohall
|
|
115
|
+
printf '%s' "$pairing_token" | npx -y @akshar5/cohall init \
|
|
114
116
|
--relay https://cohall.example.com \
|
|
115
|
-
--name macbook \
|
|
116
117
|
--providers codex \
|
|
117
118
|
--workspace "$HOME/dev"
|
|
118
119
|
unset pairing_token
|
|
119
120
|
```
|
|
120
121
|
|
|
121
|
-
|
|
122
|
+
`cohall join` remains available for scripts that only want to exchange a
|
|
123
|
+
pairing token and write configuration.
|
|
124
|
+
|
|
125
|
+
### 3. Keep the device available
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npm install --global --prefix "$HOME/.local" @akshar5/cohall
|
|
129
|
+
cohall service install
|
|
130
|
+
cohall doctor
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
The service installer uses the current user's systemd manager on Linux,
|
|
134
|
+
launchd on macOS, and Task Scheduler on Windows. See
|
|
135
|
+
[service setup](docs/services.md) for boot-before-login and relay-host details.
|
|
136
|
+
|
|
137
|
+
## Move a relay
|
|
138
|
+
|
|
139
|
+
Move an existing relay to an always-on machine without pairing everything
|
|
140
|
+
again. On the current relay host:
|
|
122
141
|
|
|
123
142
|
```bash
|
|
124
|
-
|
|
125
|
-
npx -y @akshar5/cohall doctor
|
|
126
|
-
npx -y @akshar5/cohall device
|
|
143
|
+
cohall relay backup ./cohall-relay-backup
|
|
127
144
|
```
|
|
128
145
|
|
|
129
|
-
|
|
130
|
-
|
|
146
|
+
Copy that directory privately to the new host, install Cohall there, and restore
|
|
147
|
+
it as the user and data directory that will run the relay:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
cohall relay restore ./cohall-relay-backup
|
|
151
|
+
cohall relay
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
After the new address is reachable, run this once on each configured client or
|
|
155
|
+
device:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
cohall relay use https://new-relay.example.com
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
The switch verifies the existing credentials against the restored relay before
|
|
162
|
+
changing local configuration, then restarts an active device service. Remote
|
|
163
|
+
addresses require HTTPS by default. Use `--allow-http` only when another layer,
|
|
164
|
+
such as Tailscale, already encrypts the connection.
|
|
165
|
+
|
|
166
|
+
The backup contains the SQLite relay state, the plaintext owner token, and a
|
|
167
|
+
checksum manifest. Relay state includes devices, threads, prompts, results,
|
|
168
|
+
provider-session references, upgrade history, pairing records, and hashed
|
|
169
|
+
client/device sessions. It does not contain device-local files, provider
|
|
170
|
+
credentials, Cohall device configuration, service definitions, or reverse-proxy
|
|
171
|
+
TLS configuration. Transfer and store it like a secret. If the new host keeps
|
|
172
|
+
the same DNS or Tailscale address, clients need no configuration change. See
|
|
173
|
+
[moving a relay](docs/services.md#move-a-relay) for service-host details.
|
|
131
174
|
|
|
132
175
|
## Delegate work
|
|
133
176
|
|
|
@@ -150,6 +193,39 @@ npx -y @akshar5/cohall trace <task-id> --follow
|
|
|
150
193
|
Reuse the returned `thread_id` for follow-ups so the target resumes its provider
|
|
151
194
|
session.
|
|
152
195
|
|
|
196
|
+
## Manage all devices
|
|
197
|
+
|
|
198
|
+
Inspect the whole installation from any paired client:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
cohall doctor --all
|
|
202
|
+
cohall versions
|
|
203
|
+
cohall usage
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
`doctor --all` reports connectivity, providers, workspaces, and version drift.
|
|
207
|
+
`usage` reports retained Cohall task activity by device, status, and provider;
|
|
208
|
+
provider token counts and billing are not available to the relay.
|
|
209
|
+
|
|
210
|
+
From the relay owner account, queue a Cohall upgrade for every registered
|
|
211
|
+
device and inspect progress:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
cohall upgrade --all
|
|
215
|
+
cohall upgrades
|
|
216
|
+
# If a lost device can never finish its queued operation:
|
|
217
|
+
cohall upgrades abandon <operation-id>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Upgrade requests are durable for offline devices and run after active delegated
|
|
221
|
+
work. This is a typed owner-only maintenance operation, not remote shell access.
|
|
222
|
+
Each target must use a global npm, Bun, or pnpm installation that can upgrade
|
|
223
|
+
itself. Preview the targets with `cohall upgrade --all --dry-run`, or pin an
|
|
224
|
+
exact release with `--to 1.2.3`. `cohall upgrades` returns the 50 newest results.
|
|
225
|
+
Abandonment is an owner recovery action for a permanently unreachable target;
|
|
226
|
+
it does not interrupt an upgrade that is already executing. Forgetting an
|
|
227
|
+
offline device also closes its outstanding maintenance operation.
|
|
228
|
+
|
|
153
229
|
## Optional MCP
|
|
154
230
|
|
|
155
231
|
CLI plus skill is the recommended integration. For a client that accepts the
|