instar 1.3.181 → 1.3.183
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +18 -22
- package/dist/commands/server.js.map +1 -1
- package/dist/core/TelegramRelay.d.ts +52 -0
- package/dist/core/TelegramRelay.d.ts.map +1 -0
- package/dist/core/TelegramRelay.js +80 -0
- package/dist/core/TelegramRelay.js.map +1 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +8 -2
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +46 -46
- package/upgrades/1.3.180.md +58 -45
- package/upgrades/1.3.183.md +81 -0
- package/upgrades/side-effects/telegram-relay-timeout-observability.md +37 -0
- package/upgrades/side-effects/updates-status-restart-immediately.md +55 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Side-Effects Review — Surface restartImmediately in GET /updates/status
|
|
2
|
+
|
|
3
|
+
**Slug:** `updates-status-restart-immediately`
|
|
4
|
+
**Date:** 2026-06-01
|
|
5
|
+
**Author:** echo
|
|
6
|
+
**Spec:** `docs/specs/updates-status-restart-immediately-spec.md` (approved by Justin, Telegram 13435)
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
Closes the #641 observability gap (#59): #641 added `restartImmediately` to
|
|
11
|
+
`AutoUpdaterStatus` + `getStatus()` and claimed it was "surfaced in GET
|
|
12
|
+
/updates/status", but the route's hand-picked response object omitted it. One
|
|
13
|
+
line added so the route echoes `auto.restartImmediately`.
|
|
14
|
+
|
|
15
|
+
**Files changed (source):**
|
|
16
|
+
- `src/server/routes.ts`: inside `router.get('/updates/status')`, the
|
|
17
|
+
`if (ctx.autoUpdater)` `Object.assign(status, {...})` now includes
|
|
18
|
+
`restartImmediately: auto.restartImmediately`. The value already exists on the
|
|
19
|
+
status object (from #641); no other field touched.
|
|
20
|
+
|
|
21
|
+
**Files changed (tests):**
|
|
22
|
+
- `tests/integration/updates-status-restart-immediately-route.test.ts` — +2:
|
|
23
|
+
builds the router with a stub `autoUpdater` and asserts `GET /updates/status`
|
|
24
|
+
returns `restartImmediately` for both `true` and `false` (both sides of the
|
|
25
|
+
boundary; regression pin so it can't be dropped from the pick-list again).
|
|
26
|
+
|
|
27
|
+
## Blast radius
|
|
28
|
+
|
|
29
|
+
Pure additive observability. The route gains one boolean field sourced from an
|
|
30
|
+
already-computed `getStatus()`. No behavior changes; no other field altered; the
|
|
31
|
+
no-`autoUpdater` path is unchanged (field simply absent). tsc + linters clean.
|
|
32
|
+
|
|
33
|
+
## Behavior delta
|
|
34
|
+
|
|
35
|
+
| Scenario | Before | After |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `GET /updates/status`, autoUpdater wired, flag on | no field | `restartImmediately: true` |
|
|
38
|
+
| `GET /updates/status`, autoUpdater wired, flag off (fleet) | no field | `restartImmediately: false` |
|
|
39
|
+
| `GET /updates/status`, no autoUpdater | field absent | field absent (unchanged) |
|
|
40
|
+
|
|
41
|
+
## Risks considered
|
|
42
|
+
|
|
43
|
+
- **Leaking sensitive data?** No — it's a boolean config flag, same exposure
|
|
44
|
+
class as the `autoApply` field already returned.
|
|
45
|
+
- **Breaking existing consumers?** No — additive field; existing fields unchanged.
|
|
46
|
+
|
|
47
|
+
## Migration parity
|
|
48
|
+
|
|
49
|
+
None — no agent-installed file changes (no hook/config/skill/CLAUDE.md template).
|
|
50
|
+
Read-only API field; existing agents gain it automatically on update.
|
|
51
|
+
|
|
52
|
+
## Tests / lint
|
|
53
|
+
|
|
54
|
+
2 new integration tests pass; `npm run lint` (tsc + destructive/LLM/URL-log/
|
|
55
|
+
codex-drift) clean.
|