instar 0.7.20 → 0.7.22

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.
@@ -250,6 +250,31 @@ This project uses instar for persistent agent capabilities.
250
250
  - **Research before escalating** — Check tools first. Build solutions. "Needs human" is last resort.
251
251
  ```
252
252
 
253
+ **If Telegram was configured**, also add a Telegram Relay section to CLAUDE.md:
254
+
255
+ ```markdown
256
+ ## Telegram Relay
257
+
258
+ When user input starts with `[telegram:N]` (e.g., `[telegram:26] hello`), the message came via Telegram topic N.
259
+
260
+ **IMMEDIATE ACKNOWLEDGMENT (MANDATORY):** When you receive a Telegram message, your FIRST action must be sending a brief acknowledgment back. This confirms the message was received. Examples: "Got it, looking into this now." / "On it." Then do the work, then send the full response.
261
+
262
+ **Response relay:** After completing your work, relay your response back:
263
+
264
+ \`\`\`bash
265
+ cat <<'EOF' | .claude/scripts/telegram-reply.sh N
266
+ Your response text here
267
+ EOF
268
+ \`\`\`
269
+
270
+ Or for short messages:
271
+ \`\`\`bash
272
+ .claude/scripts/telegram-reply.sh N "Your response text here"
273
+ \`\`\`
274
+
275
+ Strip the `[telegram:N]` prefix before interpreting the message. Respond naturally, then relay. Only relay your conversational text — not tool output or internal reasoning.
276
+ ```
277
+
253
278
  ## Phase 3: Telegram Setup — The Destination
254
279
 
255
280
  **Telegram comes BEFORE technical configuration.** It's the whole point — everything else supports getting the user onto Telegram.
@@ -615,6 +640,63 @@ Append if not present:
615
640
  .instar/logs/
616
641
  ```
617
642
 
643
+ ### 4f. Install Telegram Relay Script (if Telegram configured)
644
+
645
+ If Telegram was set up in Phase 3, install the relay script that lets Claude sessions send messages back to Telegram:
646
+
647
+ ```bash
648
+ mkdir -p .claude/scripts
649
+ ```
650
+
651
+ Write `.claude/scripts/telegram-reply.sh`:
652
+
653
+ ```bash
654
+ #!/bin/bash
655
+ # telegram-reply.sh — Send a message back to a Telegram topic via instar server.
656
+ #
657
+ # Usage:
658
+ # .claude/scripts/telegram-reply.sh TOPIC_ID "message text"
659
+ # echo "message text" | .claude/scripts/telegram-reply.sh TOPIC_ID
660
+ # cat <<'EOF' | .claude/scripts/telegram-reply.sh TOPIC_ID
661
+ # Multi-line message here
662
+ # EOF
663
+
664
+ TOPIC_ID=$1
665
+ shift
666
+
667
+ if [ -z "$TOPIC_ID" ]; then
668
+ echo "Usage: telegram-reply.sh TOPIC_ID [message]" >&2
669
+ exit 1
670
+ fi
671
+
672
+ PORT=<PORT>
673
+
674
+ # Get message from args or stdin
675
+ if [ $# -gt 0 ]; then
676
+ MESSAGE="$*"
677
+ else
678
+ MESSAGE=$(cat)
679
+ fi
680
+
681
+ if [ -z "$MESSAGE" ]; then
682
+ echo "No message provided" >&2
683
+ exit 1
684
+ fi
685
+
686
+ # Send via instar server API
687
+ curl -s -X POST "http://localhost:${PORT}/telegram/topic/${TOPIC_ID}/send" \
688
+ -H 'Content-Type: application/json' \
689
+ -d "$(jq -n --arg text "$MESSAGE" '{text: $text}')" > /dev/null 2>&1
690
+
691
+ echo "Sent $(echo "$MESSAGE" | wc -c | tr -d ' ') chars to topic $TOPIC_ID"
692
+ ```
693
+
694
+ Replace `<PORT>` with the actual server port. Then make it executable:
695
+
696
+ ```bash
697
+ chmod +x .claude/scripts/telegram-reply.sh
698
+ ```
699
+
618
700
  ## Phase 5: Launch & Handoff
619
701
 
620
702
  **Do NOT ask "want me to start the server?" — just start it.** There is no reason not to. The whole point of setup is to get the agent running.
package/dist/cli.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "0.7.20",
3
+ "version": "0.7.22",
4
4
  "description": "Persistent autonomy infrastructure for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,11 +0,0 @@
1
- > Why do I have a folder named ".vercel" in my project?
2
- The ".vercel" folder is created when you link a directory to a Vercel project.
3
-
4
- > What does the "project.json" file contain?
5
- The "project.json" file contains:
6
- - The ID of the Vercel project that you linked ("projectId")
7
- - The ID of the user or team your Vercel project is owned by ("orgId")
8
-
9
- > Should I commit the ".vercel" folder?
10
- No, you should not share the ".vercel" folder with anyone.
11
- Upon creation, it will be automatically added to your ".gitignore" file.
@@ -1 +0,0 @@
1
- {"projectId":"prj_evM5LcItYL3IAmw8zNvEPGrHeaya","orgId":"team_dHctwIDcV3X9ydapQlCPHFGI","projectName":"claude-agent-kit"}