@michael-joseph-miller/ant-bot 0.4.4 → 0.4.6

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,33 @@ All notable changes to ant-bot are recorded here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and versions follow
5
5
  [semantic versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.4.6] — 2026-08-24
8
+
9
+ ### Fixed
10
+
11
+ - **`check` prints why a sign-in is needed.** 0.4.5 worked out that a token predated the scopes
12
+ now being asked for, then printed the bare headline `needs sign-in` — sending you to look for a
13
+ sign-in you had already done. The CLI and the Connectors screen now show the reason.
14
+
15
+ ## [0.4.5] — 2026-08-24
16
+
17
+ ### Changed
18
+
19
+ - **The built-in Gmail connector asks for the whole mailbox.** It requested `gmail.modify`; it now
20
+ requests `https://mail.google.com/` plus `gmail.settings.basic` and `gmail.settings.sharing` —
21
+ read, compose, send, permanent deletion, filters, forwarding and vacation settings. What keeps a
22
+ Bot in check is not the size of the token: `send_message` and `create_draft` carry seeded
23
+ `require` rules, so a human is asked every time regardless. Existing sign-ins keep the narrower
24
+ token until you sign in again.
25
+
26
+ ### Fixed
27
+
28
+ - **A sign-in older than the scopes now asked for says so.** Widening what a connector requests
29
+ does nothing until the human re-consents, and until then everything reads as healthy while any
30
+ call needing the new permission is refused. `check` now compares the stored token's scopes
31
+ against what the connector asks for and reports `needs sign-in — signed in, but without N newer
32
+ permission(s)`.
33
+
7
34
  ## [0.4.4] — 2026-08-24
8
35
 
9
36
  ### Changed
package/README.md CHANGED
@@ -281,10 +281,10 @@ Current totals, as run against this checkout:
281
281
  | Package | Test files | Tests |
282
282
  |---|---|---|
283
283
  | `@antbot/contract` | 1 | 34 |
284
- | `@antbot/daemon` | 29 | 619 |
285
- | `@antbot/ui` | 10 | 114 |
286
- | `@antbot/cli` | 8 | 142 |
287
- | **Total** | **48** | **909** |
284
+ | `@antbot/daemon` | 29 | 624 |
285
+ | `@antbot/ui` | 10 | 115 |
286
+ | `@antbot/cli` | 8 | 143 |
287
+ | **Total** | **48** | **916** |
288
288
 
289
289
  ## Status / not built
290
290
 
package/dist/index.js CHANGED
@@ -1260,9 +1260,11 @@ function describeVerdict(name, check) {
1260
1260
  switch (check.status) {
1261
1261
  case "ready":
1262
1262
  return green(`\u2713 ${name}: ready, ${n} tool${n === 1 ? "" : "s"}`);
1263
- case "needs-sign-in":
1263
+ case "needs-sign-in": {
1264
1264
  if (check.alternative) return red(`\u2717 ${name}: ${check.detail ?? `use the built-in instead: antbot mcp add ${check.alternative}`}`);
1265
- return yellow(`! ${name}: needs sign-in${check.provider ? ` (${check.provider})` : ""}${n ? `, ${n} tools` : ""}`);
1265
+ const why = check.detail ?? `needs sign-in${check.provider ? ` (${check.provider})` : ""}`;
1266
+ return yellow(`! ${name}: ${why}${n ? `, ${n} tools` : ""}`);
1267
+ }
1266
1268
  case "needs-credential":
1267
1269
  return yellow(`! ${name}: ${check.detail ?? "needs a credential"}`);
1268
1270
  case "unreachable":