instar 0.8.9 → 0.8.10

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.
@@ -196,6 +196,30 @@ Strip the \`[telegram:N]\` prefix before interpreting the message. Respond natur
196
196
  else {
197
197
  result.skipped.push('CLAUDE.md: Private Viewer section already present');
198
198
  }
199
+ // Dashboard section
200
+ if (!content.includes('**Dashboard**') && !content.includes('/dashboard')) {
201
+ const section = `
202
+ **Dashboard** — Visual web interface for monitoring and managing sessions. Accessible from any device (phone, tablet, laptop) via tunnel.
203
+ - Local: \`http://localhost:${port}/dashboard\`
204
+ - Remote: When a tunnel is running, the dashboard is accessible at \`{tunnelUrl}/dashboard\`
205
+ - Authentication: Uses a 6-digit PIN (configured via \`dashboardPin\` in \`.instar/config.json\`) — no need to enter the full bearer token
206
+ - Features: Real-time terminal streaming of all running sessions, session management, model badges, mobile-responsive
207
+ - **Sharing the dashboard**: When the user wants to check on sessions from their phone, give them the tunnel URL + PIN. Check tunnel status: \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/tunnel\`
208
+ `;
209
+ // Insert after Server Status or before Scripts section
210
+ const insertBefore = content.indexOf('**Scripts**');
211
+ if (insertBefore >= 0) {
212
+ content = content.slice(0, insertBefore) + section + '\n' + content.slice(insertBefore);
213
+ }
214
+ else {
215
+ content += '\n' + section;
216
+ }
217
+ patched = true;
218
+ result.upgraded.push('CLAUDE.md: added Dashboard section');
219
+ }
220
+ else {
221
+ result.skipped.push('CLAUDE.md: Dashboard section already present');
222
+ }
199
223
  if (patched) {
200
224
  try {
201
225
  fs.writeFileSync(claudeMdPath, content);
@@ -268,6 +268,13 @@ This routes feedback to the Instar maintainers automatically. Valid types: \`bug
268
268
  **Server Status** — Detailed runtime information beyond health checks.
269
269
  - Status: \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/status\`
270
270
 
271
+ **Dashboard** — Visual web interface for monitoring and managing sessions. Accessible from any device (phone, tablet, laptop) via tunnel.
272
+ - Local: \`http://localhost:${port}/dashboard\`
273
+ - Remote: When a tunnel is running, the dashboard is accessible at \`{tunnelUrl}/dashboard\`
274
+ - Authentication: Uses a 6-digit PIN (configured via \`dashboardPin\` in \`.instar/config.json\`) — no need to enter the full bearer token
275
+ - Features: Real-time terminal streaming of all running sessions, session management, model badges, mobile-responsive
276
+ - **Sharing the dashboard**: When the user wants to check on sessions from their phone, give them the tunnel URL + PIN. Check tunnel status: \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/tunnel\`
277
+
271
278
  **Scripts** — Reusable capabilities in \`.claude/scripts/\`.
272
279
 
273
280
  **Skills** — Reusable behavioral capabilities in \`.claude/skills/\`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "0.8.9",
3
+ "version": "0.8.10",
4
4
  "description": "Persistent autonomy infrastructure for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",