instar 0.24.18 → 0.24.21

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.
Files changed (42) hide show
  1. package/.claude/settings.json +120 -0
  2. package/.claude/skills/setup-wizard/skill.md +2 -2
  3. package/dashboard/index.html +221 -336
  4. package/dist/cli.js +0 -0
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +22 -4
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/server.d.ts.map +1 -1
  9. package/dist/commands/server.js +18 -1
  10. package/dist/commands/server.js.map +1 -1
  11. package/dist/commands/setup.d.ts.map +1 -1
  12. package/dist/commands/setup.js +23 -2
  13. package/dist/commands/setup.js.map +1 -1
  14. package/dist/core/GitSync.d.ts +3 -2
  15. package/dist/core/GitSync.d.ts.map +1 -1
  16. package/dist/core/GitSync.js +19 -4
  17. package/dist/core/GitSync.js.map +1 -1
  18. package/dist/core/SessionManager.d.ts +1 -1
  19. package/dist/core/SessionManager.d.ts.map +1 -1
  20. package/dist/core/SessionManager.js.map +1 -1
  21. package/dist/lifeline/ServerSupervisor.d.ts.map +1 -1
  22. package/dist/lifeline/ServerSupervisor.js +31 -0
  23. package/dist/lifeline/ServerSupervisor.js.map +1 -1
  24. package/dist/messaging/slack/SlackAdapter.d.ts +25 -4
  25. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
  26. package/dist/messaging/slack/SlackAdapter.js +156 -12
  27. package/dist/messaging/slack/SlackAdapter.js.map +1 -1
  28. package/dist/messaging/slack/SocketModeClient.d.ts.map +1 -1
  29. package/dist/messaging/slack/SocketModeClient.js +11 -4
  30. package/dist/messaging/slack/SocketModeClient.js.map +1 -1
  31. package/dist/messaging/slack/types.d.ts +30 -0
  32. package/dist/messaging/slack/types.d.ts.map +1 -1
  33. package/dist/messaging/slack/types.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/data/builtin-manifest.json +4 -4
  36. package/upgrades/0.24.14.md +26 -0
  37. package/upgrades/0.24.18-beta.0.md +35 -0
  38. package/upgrades/0.24.18.md +26 -26
  39. package/upgrades/0.24.19.md +21 -0
  40. package/upgrades/0.24.21.md +25 -0
  41. package/upgrades/NEXT.md +45 -0
  42. /package/.claude/skills/secret-setup/{skill.md → SKILL.md} +0 -0
@@ -0,0 +1,35 @@
1
+ # v0.24.18-beta.0 — Slack Messaging Adapter (Beta)
2
+
3
+ ## What Changed
4
+
5
+ Native Slack support joins Telegram and WhatsApp as a first-class messaging adapter. Your agent can now live in Slack — receiving messages via Socket Mode, responding in channels, and managing conversations with the same features Telegram has.
6
+
7
+ This is a beta release for early testing. The core adapter is complete and working, with setup wizard support, session management, and feature parity across most Telegram capabilities.
8
+
9
+ ## What to Tell Your User
10
+
11
+ Your agent can now talk to you through Slack. If you already use Slack for work, you can add it alongside Telegram — no need to switch. Setup takes about 5 minutes: you log into Slack, and the agent handles creating the workspace, app, and channels automatically.
12
+
13
+ Slack sessions show up in the dashboard with their own platform badge, and you can create new sessions linked to Slack channels right from the dashboard. Commands work with an exclamation mark prefix — type !sessions or !new in any channel the agent is in.
14
+
15
+ This also includes a new autonomous mode skill that lets the agent work independently for hours with structural enforcement — it literally cannot stop until the work is done.
16
+
17
+ ## Summary of New Capabilities
18
+
19
+ - Slack messaging adapter with Socket Mode (real-time WebSocket, no webhooks needed)
20
+ - DIY app model — each user creates their own Slack app, no shared infrastructure
21
+ - Browser-automated setup wizard (Playwright drives workspace creation, app config, token extraction)
22
+ - Session channel registry with bidirectional channel-to-session mapping
23
+ - Channel resume map for conversation continuity across session restarts
24
+ - Attention channel for critical alerts (auto-created, users auto-invited)
25
+ - Dashboard link broadcast to Slack dashboard channel (update-in-place, no spam)
26
+ - Slash commands via ! prefix (!sessions, !new, !help)
27
+ - Platform badges on dashboard session cards
28
+ - Platform dropdown when creating new sessions
29
+ - Job scheduler integration (per-job Slack channels)
30
+ - Cross-platform alerts (Slack added alongside Telegram and WhatsApp)
31
+ - Presence proxy routing to correct session channels
32
+ - SlackLifeline process for persistent Socket Mode connection
33
+ - Autonomous mode skill with stop hook enforcement and session isolation
34
+ - Unanswered message detection in Slack context hook
35
+ - Message logging, search, and retention for Slack
@@ -1,35 +1,35 @@
1
- # v0.24.18-beta.0Slack Messaging Adapter (Beta)
1
+ # Upgrade Guide vNEXT
2
2
 
3
- ## What Changed
3
+ <!-- bump: patch -->
4
+ <!-- Valid values: patch, minor, major -->
5
+ <!-- patch = bug fixes, refactors, test additions, doc updates -->
6
+ <!-- minor = new features, new APIs, new capabilities (backwards-compatible) -->
7
+ <!-- major = breaking changes to existing APIs or behavior -->
4
8
 
5
- Native Slack support joins Telegram and WhatsApp as a first-class messaging adapter. Your agent can now live in Slack — receiving messages via Socket Mode, responding in channels, and managing conversations with the same features Telegram has.
9
+ ## What Changed
6
10
 
7
- This is a beta release for early testing. The core adapter is complete and working, with setup wizard support, session management, and feature parity across most Telegram capabilities.
11
+ <!-- Describe what changed technically. What new features, APIs, behavioral changes? -->
12
+ <!-- Write this for the AGENT — they need to understand the system deeply. -->
8
13
 
9
14
  ## What to Tell Your User
10
15
 
11
- Your agent can now talk to you through Slack. If you already use Slack for work, you can add it alongside Telegram — no need to switch. Setup takes about 5 minutes: you log into Slack, and the agent handles creating the workspace, app, and channels automatically.
12
-
13
- Slack sessions show up in the dashboard with their own platform badge, and you can create new sessions linked to Slack channels right from the dashboard. Commands work with an exclamation mark prefix — type !sessions or !new in any channel the agent is in.
14
-
15
- This also includes a new autonomous mode skill that lets the agent work independently for hours with structural enforcement — it literally cannot stop until the work is done.
16
+ <!-- Write talking points the agent should relay to their user. -->
17
+ <!-- This should be warm, conversational, user-facing — not a changelog. -->
18
+ <!-- Focus on what THEY can now do, not internal plumbing. -->
19
+ <!-- -->
20
+ <!-- PROHIBITED in this section (will fail validation): -->
21
+ <!-- camelCase config keys: silentReject, maxRetries, telegramNotify -->
22
+ <!-- Inline code backtick references like silentReject: false -->
23
+ <!-- Fenced code blocks -->
24
+ <!-- Instructions to edit files or run commands -->
25
+ <!-- -->
26
+ <!-- CORRECT style: "I can turn that on for you" not "set X to false" -->
27
+ <!-- The agent relays this to their user — keep it human. -->
28
+
29
+ - **[Feature name]**: "[Brief, friendly description of what this means for the user]"
16
30
 
17
31
  ## Summary of New Capabilities
18
32
 
19
- - Slack messaging adapter with Socket Mode (real-time WebSocket, no webhooks needed)
20
- - DIY app model — each user creates their own Slack app, no shared infrastructure
21
- - Browser-automated setup wizard (Playwright drives workspace creation, app config, token extraction)
22
- - Session channel registry with bidirectional channel-to-session mapping
23
- - Channel resume map for conversation continuity across session restarts
24
- - Attention channel for critical alerts (auto-created, users auto-invited)
25
- - Dashboard link broadcast to Slack dashboard channel (update-in-place, no spam)
26
- - Slash commands via ! prefix (!sessions, !new, !help)
27
- - Platform badges on dashboard session cards
28
- - Platform dropdown when creating new sessions
29
- - Job scheduler integration (per-job Slack channels)
30
- - Cross-platform alerts (Slack added alongside Telegram and WhatsApp)
31
- - Presence proxy routing to correct session channels
32
- - SlackLifeline process for persistent Socket Mode connection
33
- - Autonomous mode skill with stop hook enforcement and session isolation
34
- - Unanswered message detection in Slack context hook
35
- - Message logging, search, and retention for Slack
33
+ | Capability | How to Use |
34
+ |-----------|-----------|
35
+ | [Capability] | [Endpoint, command, or "automatic"] |
@@ -0,0 +1,21 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- bump: patch -->
4
+
5
+ ## What Changed
6
+
7
+ ### Systems Dashboard CSS Fix — v3 Styles Restored
8
+
9
+ The Systems dashboard CSS was still referencing old v2 class names (`.capability-card`, `.cap-info`, `.cap-label`) while the JavaScript had been updated to generate v3 classes (`.cap-card`, `.cap-card-name`, `.cap-card-desc`, `.cap-grid`). This mismatch caused the dashboard cards to render without proper styling.
10
+
11
+ The CSS has been fully replaced with v3 styles covering: card grid layout, detail views, stat cards, process list indicators, and responsive grid breakpoints.
12
+
13
+ ## What to Tell Your User
14
+
15
+ The Systems dashboard styling has been fixed. If the cards and layout looked broken or unstyled, that's now resolved — everything renders cleanly with the new card grid design.
16
+
17
+ ## Summary of New Capabilities
18
+
19
+ | Capability | How to Use |
20
+ |-----------|-----------|
21
+ | Systems dashboard CSS fix | Automatic — dashboard renders correctly now |
@@ -0,0 +1,25 @@
1
+ # v0.24.21 — Slack Stability & Image Support
2
+
3
+ ## What Changed
4
+
5
+ **Slack Socket Mode heartbeat** — Fixed a reconnect death loop where the connection cycled every ~90 seconds on quiet channels. The heartbeat timeout is now 5 minutes instead of 60 seconds, since Slack only sends events when someone posts a message.
6
+
7
+ **Workspace modes** — New workspaceMode config (dedicated or shared) with sensible defaults. Dedicated mode auto-joins channels and responds to all messages. Shared mode only responds when mentioned and does not auto-join. All settings individually overridable.
8
+
9
+ **Image/file support in Slack** — Messages with file attachments are now downloaded and passed to sessions with explicit read instructions, matching the Telegram image pipeline.
10
+
11
+ **Session injection race condition** — Fixed a timing issue where messages arriving shortly after session spawn could fail to inject because Claude was not ready yet. Now waits for Claude readiness before injection.
12
+
13
+ **Smart port allocation** — New agents scan for free ports instead of blindly defaulting to 4040 when registry allocation fails.
14
+
15
+ ## What to Tell Your User
16
+
17
+ Slack got more reliable this update. The bot no longer disconnects and reconnects in a loop on quiet channels. Images and files sent in Slack are now fully supported, just like Telegram. There is also a new workspace mode setting that controls whether the bot responds to every message or only when mentioned.
18
+
19
+ ## Summary of New Capabilities
20
+
21
+ - Slack workspace modes: dedicated (respond to everything, auto-join channels) and shared (mention-only, no auto-join)
22
+ - Slack image and file attachment support with automatic download and session delivery
23
+ - Socket Mode connection stability fix (5-minute heartbeat instead of 60 seconds)
24
+ - Session injection race condition fix for rapid message sequences
25
+ - Smart port allocation for new agent initialization
@@ -0,0 +1,45 @@
1
+ # Upgrade Guide — v0.24.20
2
+
3
+ <!-- bump: patch -->
4
+
5
+ ## What Changed
6
+
7
+ ### Fix: Slack Socket Mode Heartbeat Death Loop
8
+
9
+ The heartbeat timeout for Slack Socket Mode connections was 60 seconds — far too aggressive for quiet channels with no activity. This caused a connect-disconnect loop every ~90 seconds, dropping messages during reconnection windows. Increased to 5 minutes, which correctly detects zombie connections without false-positiving on idle channels.
10
+
11
+ ### Slack Workspace Modes (Dedicated vs Shared)
12
+
13
+ SlackAdapter now supports two workspace modes:
14
+ - **dedicated** (default): Agent owns the workspace. Auto-joins all public channels, responds to all messages.
15
+ - **shared**: Agent is a guest in an existing workspace. Only responds to @mentions and DMs. Does not auto-join channels.
16
+
17
+ Configure via `slack.workspaceMode` in config. The `respondMode` and `autoJoinChannels` settings can also be set independently.
18
+
19
+ ### Fix: GitSync Crash on Empty Repos
20
+
21
+ GitSync now handles repos with no commits (freshly `git init`'d). Previously, `rev-parse HEAD` would throw and crash the sync process.
22
+
23
+ ### Fix: ServerSupervisor Grace Period After Restart
24
+
25
+ When the Supervisor starts and finds the server already running (e.g., after a Lifeline self-restart for an update), it now correctly sets `spawnedAt` and checks for planned-exit markers. This prevents false "server down" alerts during update transitions.
26
+
27
+ ### Slack Image/Document Tags in Session Bootstrap
28
+
29
+ `[image:path]` and `[document:path]` tags in Slack messages are now transformed into explicit read instructions before being passed to Claude sessions, improving reliability of file handling.
30
+
31
+ ### Browsable Stat Cards — Click Metrics to View Content
32
+
33
+ Stat cards in the Systems detail view are now interactive. When a metric maps to browsable content, clicking the card fetches and displays the actual data inline.
34
+
35
+ ## What to Tell Your User
36
+
37
+ A few reliability fixes in this release. If you were having trouble with Slack integration (agent not responding, connection dropping), that's fixed now — the connection was being too aggressive about reconnecting. Also added support for "shared" workspace mode if you want to install an agent into an existing Slack workspace without it taking over every channel.
38
+
39
+ ## Summary of New Capabilities
40
+
41
+ | Capability | How to Use |
42
+ |-----------|-----------|
43
+ | Slack workspace modes | Set `slack.workspaceMode: "shared"` for guest-in-existing-workspace behavior |
44
+ | Slack mention-only mode | Set `slack.respondMode: "mention-only"` to only respond to @mentions |
45
+ | Browsable stat cards | Click any stat card with browsable content to expand it inline |