shadok-ai 0.2.70 → 0.2.72

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shadok-ai",
3
- "version": "0.2.70",
3
+ "version": "0.2.72",
4
4
  "main": "dist/session.js",
5
5
  "scripts": {
6
6
  "test": "node --import tsx --test test/*.ts .claude/skills/shadok-ai-agents/test/*.test.mjs",
package/public/index.html CHANGED
@@ -4243,6 +4243,12 @@
4243
4243
  // ended would come back to life against the *new* session and resend
4244
4244
  // yesterday's text forced. A new session answers no old question.
4245
4245
  retirePaceConfirm(t);
4246
+ // A reload broadcasts a transient "working" (restart in progress) that is
4247
+ // closed by this "ready" — the fresh process is idle again. Drop that
4248
+ // highlight here (setTabMood repaints the favicon too); a real turn
4249
+ // re-asserts it with its own "working". Without this the channel stayed
4250
+ // lit "working" after every reload.
4251
+ if (t.btnEl.classList.contains("working")) setTabMood(t, null);
4246
4252
  setTabState(t, "ready", "ready");
4247
4253
  persistChannels();
4248
4254
  // Reattaching between turns: restore the last turn's time rather than
@@ -41,13 +41,27 @@ export const TOUR_STEPS = [
41
41
  "rename it, change its profile, mirror it to Telegram, or close it.",
42
42
  target: ".tab.active",
43
43
  },
44
+ {
45
+ // Deliberately its own stop, against this file's own "group landmarks"
46
+ // rule: a schedule is not a landmark, it is the reason to open the cockpit
47
+ // again tomorrow. It used to be the last clause of the toolbar step, sixth
48
+ // in a list of six — so the one capability no other tool has was the least
49
+ // prominent thing in the tour, and a first-time visitor never met it.
50
+ id: "schedule",
51
+ title: "They can work while you're away",
52
+ body:
53
+ "“Schedule”, in that same ⋯ menu, pairs a recurring prompt with a shell check that runs " +
54
+ "without the model. Silent check → nothing happened, the agent stays asleep at zero " +
55
+ "tokens. Otherwise it wakes up holding the finding, and tells you here or on Telegram.",
56
+ target: ".tab.active",
57
+ },
44
58
  {
45
59
  id: "tools",
46
60
  title: "The toolbar",
47
61
  body:
48
62
  "🔑 secrets injected into agents that need them · 👤 profiles (role, guardrails, model) · " +
49
63
  "Telegram settings · 🔔 notifications · ⋯ for the diff of what an agent changed " +
50
- "and to replay this tour. Scheduled prompts live in each agent's own ⋯ menu.",
64
+ "and to replay this tour.",
51
65
  // NOT `.hdr-tools`, which is `display: contents` on desktop and therefore
52
66
  // generates no box at all — its rect is all zeros, so the step would have
53
67
  // been dropped as "not visible" on the very layout where the toolbar is