byollm 0.1.1 → 0.1.2
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 +39 -20
- package/dist/bin.js +1 -1
- package/dist/{chunk-OOC3ASS6.js → chunk-K7QYAF7V.js} +262 -58
- package/dist/chunk-K7QYAF7V.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-OOC3ASS6.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- release-note 0.1.1 -->
|
|
2
|
-
> **`0.1.
|
|
2
|
+
> **`0.1.2` is documentation only — nothing to upgrade.** `PROTOCOL_VERSION`
|
|
3
3
|
> is still `2`, so a 0.1.0 party and a 0.1.1 party talk to each other in both
|
|
4
4
|
> directions. No dependency, schema, wire field or on-disk shape moved.
|
|
5
5
|
>
|
|
@@ -93,6 +93,14 @@ for one. It defaults to 2 GB. **It does not know how big your models are**, so
|
|
|
93
93
|
set it to fit your largest. It does not apply to services whose compute happens
|
|
94
94
|
somewhere else — a hosted model reached through a local port loads nothing here.
|
|
95
95
|
|
|
96
|
+
`autoUpdate` (default `false`) lets the daemon install new versions when it is
|
|
97
|
+
offered one. Offers are taken only from `updateAuthority` — the reference hub,
|
|
98
|
+
`https://hub.byollm.cloud`, when you leave it out — and never from any other
|
|
99
|
+
site you paired with, never from a direct-mode pairing, and never for an older
|
|
100
|
+
version. Every update is checked against its npm provenance before it runs and
|
|
101
|
+
rolled back if it fails; [`docs/security.md` §7a](https://github.com/oftomorrowinc/byollm/blob/main/docs/security.md#7a-updates)
|
|
102
|
+
says exactly what is checked.
|
|
103
|
+
|
|
96
104
|
You do not have to write any of this by hand. `byollm services manage` asks
|
|
97
105
|
what this machine has and writes the file for you, and it is safe to re-run:
|
|
98
106
|
it shows what is already there.
|
|
@@ -146,35 +154,46 @@ The meter is the product, and it gets the same care as the loop.
|
|
|
146
154
|
|
|
147
155
|
```bash
|
|
148
156
|
byollm status # what's connected, what's running, what you've done for others
|
|
149
|
-
byollm sites # which sites this device serves, and which
|
|
150
|
-
byollm approve <site> # say yes to a site that asked
|
|
157
|
+
byollm sites # which sites this device serves, and which keys it still holds
|
|
151
158
|
byollm log # every prompt that has ever run here
|
|
152
159
|
byollm log --full # the whole text, not the first line
|
|
153
|
-
byollm stop # stop
|
|
160
|
+
byollm stop # stop running in the background — the off switch, always yours
|
|
154
161
|
byollm start # and bring it back
|
|
162
|
+
byollm forget <url> # drop a pairing entirely
|
|
155
163
|
```
|
|
156
164
|
|
|
157
|
-
###
|
|
165
|
+
### Which sites this device serves is decided in your dashboard
|
|
158
166
|
|
|
159
167
|
Pairing is with an *app* — a hub, a relay, your own server — and one pairing
|
|
160
168
|
can cover several sites. Which sites arrives on the heartbeat, from the same
|
|
161
169
|
party that routes the work.
|
|
162
170
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
171
|
+
A site that turns up after pairing is **pinned and served** from that
|
|
172
|
+
heartbeat on. Nothing on this machine asks you first: `byollm approve` is
|
|
173
|
+
gone (it exits with a tombstone saying so), and which sites reach your device
|
|
174
|
+
is decided in the app's dashboard, where the person changing it is signed in
|
|
175
|
+
and can see what they are changing.
|
|
176
|
+
|
|
177
|
+
What you get instead is a notice. The first time a new site's work runs here,
|
|
178
|
+
the daemon says `now serving <site>, enabled from your dashboard` with the
|
|
179
|
+
site's fingerprint — on screen in `byollm run`, in `~/.byollm/service.log`
|
|
180
|
+
when it runs in the background — so a change made at the app is never silent
|
|
181
|
+
at the machine. `byollm sites` lists every site this device serves and
|
|
182
|
+
every key it still holds, with fingerprints, for comparing against what the
|
|
183
|
+
site itself shows you.
|
|
184
|
+
|
|
185
|
+
What the daemon still refuses, whatever the app says: a key that moves under
|
|
186
|
+
a site id it has already pinned, for the life of the pairing — including when
|
|
187
|
+
the site leaves the list and comes back (rotation is an explicit, signed path,
|
|
188
|
+
not a silent swap); and any job that does not carry a grant signed by the
|
|
189
|
+
control-plane key this device pinned when it paired. A party that can add a
|
|
190
|
+
site to your heartbeat still cannot sign work for it.
|
|
191
|
+
|
|
192
|
+
The trade is stated plainly in the spec (byollm_016, Amendment K): an app or
|
|
193
|
+
control plane that is compromised can point your device at a site you never
|
|
194
|
+
chose. Spend caps bound what that costs, the notice makes it visible, and the
|
|
195
|
+
levers are yours: `byollm stop` stops all work, `byollm forget <url>` drops
|
|
196
|
+
the pairing.
|
|
178
197
|
|
|
179
198
|
Every prompt is appended to `~/.byollm/ingress.log` **before** it executes, so
|
|
180
199
|
a job that wedges the computer still leaves a record of what it was. The file is
|