instar 0.9.0 → 0.9.3
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/cli.js +0 -0
- package/dist/commands/init.js +110 -13
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +202 -71
- package/dist/commands/server.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +38 -4
- package/dist/commands/setup.js.map +1 -1
- package/dist/core/AgentConnector.d.ts +76 -0
- package/dist/core/AgentConnector.d.ts.map +1 -0
- package/dist/core/AgentConnector.js +323 -0
- package/dist/core/AgentConnector.js.map +1 -0
- package/dist/core/AutoUpdater.d.ts +7 -0
- package/dist/core/AutoUpdater.d.ts.map +1 -1
- package/dist/core/AutoUpdater.js +31 -3
- package/dist/core/AutoUpdater.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +196 -18
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/StateWriteAuthority.d.ts +101 -0
- package/dist/core/StateWriteAuthority.d.ts.map +1 -0
- package/dist/core/StateWriteAuthority.js +167 -0
- package/dist/core/StateWriteAuthority.js.map +1 -0
- package/dist/core/types.d.ts +104 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/TopicMemory.d.ts +167 -0
- package/dist/memory/TopicMemory.d.ts.map +1 -0
- package/dist/memory/TopicMemory.js +494 -0
- package/dist/memory/TopicMemory.js.map +1 -0
- package/dist/memory/TopicSummarizer.d.ts +58 -0
- package/dist/memory/TopicSummarizer.d.ts.map +1 -0
- package/dist/memory/TopicSummarizer.js +140 -0
- package/dist/memory/TopicSummarizer.js.map +1 -0
- package/dist/messaging/TelegramAdapter.d.ts +35 -0
- package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
- package/dist/messaging/TelegramAdapter.js +136 -2
- package/dist/messaging/TelegramAdapter.js.map +1 -1
- package/dist/server/AgentServer.d.ts +2 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +1 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +2 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +340 -1
- package/dist/server/routes.js.map +1 -1
- package/dist/users/UserManager.d.ts +21 -0
- package/dist/users/UserManager.d.ts.map +1 -1
- package/dist/users/UserManager.js +32 -0
- package/dist/users/UserManager.js.map +1 -1
- package/dist/users/UserOnboarding.d.ts +116 -0
- package/dist/users/UserOnboarding.d.ts.map +1 -0
- package/dist/users/UserOnboarding.js +365 -0
- package/dist/users/UserOnboarding.js.map +1 -0
- package/package.json +2 -1
- package/upgrades/0.8.23.md +106 -0
- package/upgrades/0.9.1.md +91 -0
|
@@ -448,6 +448,47 @@ fi
|
|
|
448
448
|
# For startup/resume/clear — output a compact orientation
|
|
449
449
|
echo "=== SESSION START ==="
|
|
450
450
|
|
|
451
|
+
# TOPIC CONTEXT (loaded FIRST — highest priority context)
|
|
452
|
+
if [ -n "\$INSTAR_TELEGRAM_TOPIC" ]; then
|
|
453
|
+
TOPIC_ID="\$INSTAR_TELEGRAM_TOPIC"
|
|
454
|
+
CONFIG_FILE="$INSTAR_DIR/config.json"
|
|
455
|
+
if [ -f "\$CONFIG_FILE" ]; then
|
|
456
|
+
PORT=\$(grep -o '"port":[0-9]*' "\$CONFIG_FILE" | head -1 | cut -d':' -f2)
|
|
457
|
+
if [ -n "\$PORT" ]; then
|
|
458
|
+
TOPIC_CTX=\$(curl -s "http://localhost:\${PORT}/topic/context/\${TOPIC_ID}?recent=30" 2>/dev/null)
|
|
459
|
+
if [ -n "\$TOPIC_CTX" ] && echo "\$TOPIC_CTX" | grep -q '"totalMessages"'; then
|
|
460
|
+
TOTAL=\$(echo "\$TOPIC_CTX" | grep -o '"totalMessages":[0-9]*' | cut -d':' -f2)
|
|
461
|
+
TOPIC_NAME=\$(echo "\$TOPIC_CTX" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('topicName') or 'Unknown')" 2>/dev/null || echo "Unknown")
|
|
462
|
+
echo ""
|
|
463
|
+
echo "--- CONVERSATION CONTEXT (Topic: \${TOPIC_NAME}, \${TOTAL} total messages) ---"
|
|
464
|
+
echo ""
|
|
465
|
+
SUMMARY=\$(echo "\$TOPIC_CTX" | python3 -c "import sys,json; d=json.load(sys.stdin); s=d.get('summary'); print(s if s else '')" 2>/dev/null)
|
|
466
|
+
if [ -n "\$SUMMARY" ]; then
|
|
467
|
+
echo "SUMMARY OF CONVERSATION SO FAR:"
|
|
468
|
+
echo "\$SUMMARY"
|
|
469
|
+
echo ""
|
|
470
|
+
fi
|
|
471
|
+
echo "RECENT MESSAGES:"
|
|
472
|
+
echo "\$TOPIC_CTX" | python3 -c "
|
|
473
|
+
import sys, json
|
|
474
|
+
d = json.load(sys.stdin)
|
|
475
|
+
for m in d.get('recentMessages', []):
|
|
476
|
+
sender = 'User' if m.get('fromUser') else 'Agent'
|
|
477
|
+
ts = m.get('timestamp', '')[:16].replace('T', ' ')
|
|
478
|
+
text = m.get('text', '')
|
|
479
|
+
if len(text) > 500:
|
|
480
|
+
text = text[:500] + '...'
|
|
481
|
+
print(f'[{ts}] {sender}: {text}')
|
|
482
|
+
" 2>/dev/null
|
|
483
|
+
echo ""
|
|
484
|
+
echo "Search past conversations: curl http://localhost:\${PORT}/topic/search?topic=\${TOPIC_ID}&q=QUERY"
|
|
485
|
+
echo "--- END CONVERSATION CONTEXT ---"
|
|
486
|
+
echo ""
|
|
487
|
+
fi
|
|
488
|
+
fi
|
|
489
|
+
fi
|
|
490
|
+
fi
|
|
491
|
+
|
|
451
492
|
# Identity summary (first 20 lines of AGENT.md — enough for name + role)
|
|
452
493
|
if [ -f "$INSTAR_DIR/AGENT.md" ]; then
|
|
453
494
|
echo ""
|
|
@@ -470,18 +511,36 @@ if [ -d "$INSTAR_DIR/relationships" ]; then
|
|
|
470
511
|
[ "\$REL_COUNT" -gt "0" ] && echo " \${REL_COUNT} tracked relationships in .instar/relationships/"
|
|
471
512
|
fi
|
|
472
513
|
|
|
473
|
-
# Server status + self-discovery
|
|
514
|
+
# Server status + self-discovery + feature awareness
|
|
474
515
|
if [ -f "$INSTAR_DIR/config.json" ]; then
|
|
475
516
|
PORT=\$(python3 -c "import json; print(json.load(open('$INSTAR_DIR/config.json')).get('port', 4040))" 2>/dev/null || echo "4040")
|
|
476
517
|
HEALTH=\$(curl -s -o /dev/null -w "%{http_code}" "http://localhost:\${PORT}/health" 2>/dev/null)
|
|
477
518
|
if [ "\$HEALTH" = "200" ]; then
|
|
478
519
|
echo ""
|
|
479
520
|
echo "Instar server: RUNNING on port \${PORT}"
|
|
480
|
-
|
|
481
|
-
# Check for tunnel
|
|
521
|
+
# Load full capabilities for tunnel + feature guide
|
|
482
522
|
CAPS=\$(curl -s "http://localhost:\${PORT}/capabilities" 2>/dev/null)
|
|
483
523
|
TUNNEL_URL=\$(echo "\$CAPS" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('tunnel',{}).get('url',''))" 2>/dev/null)
|
|
484
524
|
[ -n "\$TUNNEL_URL" ] && echo "Cloudflare Tunnel active: \$TUNNEL_URL"
|
|
525
|
+
# Inject feature guide — proactive capability awareness at every session start
|
|
526
|
+
if echo "\$CAPS" | grep -q '"featureGuide"'; then
|
|
527
|
+
echo ""
|
|
528
|
+
echo "--- YOUR CAPABILITIES (use these proactively when context matches) ---"
|
|
529
|
+
echo "\$CAPS" | python3 -c "
|
|
530
|
+
import sys, json
|
|
531
|
+
try:
|
|
532
|
+
d = json.load(sys.stdin)
|
|
533
|
+
guide = d.get('featureGuide', {})
|
|
534
|
+
triggers = guide.get('triggers', [])
|
|
535
|
+
if triggers:
|
|
536
|
+
for t in triggers:
|
|
537
|
+
print(f' When: {t[\"context\"]}')
|
|
538
|
+
print(f' Do: {t[\"action\"]}')
|
|
539
|
+
print()
|
|
540
|
+
except: pass
|
|
541
|
+
" 2>/dev/null
|
|
542
|
+
echo "--- END CAPABILITIES ---"
|
|
543
|
+
fi
|
|
485
544
|
else
|
|
486
545
|
echo ""
|
|
487
546
|
echo "Instar server: NOT RUNNING (port \${PORT})"
|
|
@@ -490,7 +549,23 @@ fi
|
|
|
490
549
|
|
|
491
550
|
echo ""
|
|
492
551
|
echo "IMPORTANT: To report bugs or request features, use POST /feedback on your local server."
|
|
493
|
-
|
|
552
|
+
|
|
553
|
+
# Telegram relay instructions (structural — ensures EVERY Telegram session knows how to respond)
|
|
554
|
+
if [ -n "\$INSTAR_TELEGRAM_TOPIC" ]; then
|
|
555
|
+
TOPIC_ID="\$INSTAR_TELEGRAM_TOPIC"
|
|
556
|
+
RELAY_SCRIPT=""
|
|
557
|
+
[ -f "$INSTAR_DIR/scripts/telegram-reply.sh" ] && RELAY_SCRIPT=".instar/scripts/telegram-reply.sh"
|
|
558
|
+
[ -z "\$RELAY_SCRIPT" ] && [ -f "\${CLAUDE_PROJECT_DIR:-.}/.claude/scripts/telegram-reply.sh" ] && RELAY_SCRIPT=".claude/scripts/telegram-reply.sh"
|
|
559
|
+
echo ""
|
|
560
|
+
echo "--- TELEGRAM SESSION (topic \${TOPIC_ID}) ---"
|
|
561
|
+
echo "MANDATORY: After EVERY response, relay conversational text back to Telegram:"
|
|
562
|
+
echo " cat <<'EOF' | \${RELAY_SCRIPT:-'.instar/scripts/telegram-reply.sh'} \${TOPIC_ID}"
|
|
563
|
+
echo " Your response text here"
|
|
564
|
+
echo " EOF"
|
|
565
|
+
echo "Strip the [telegram:\${TOPIC_ID}] prefix before interpreting messages."
|
|
566
|
+
echo "If a thread history file is referenced, READ IT FIRST before responding."
|
|
567
|
+
echo "--- END TELEGRAM SESSION ---"
|
|
568
|
+
fi
|
|
494
569
|
|
|
495
570
|
# Pending upgrade guide — inject knowledge from the latest update
|
|
496
571
|
GUIDE_FILE="$INSTAR_DIR/state/pending-upgrade-guide.md"
|
|
@@ -514,7 +589,13 @@ if [ -f "\$GUIDE_FILE" ]; then
|
|
|
514
589
|
echo " - NEVER send updates to Agent Attention — that's for critical/blocking items only"
|
|
515
590
|
echo " - Use your knowledge of your user to personalize — you know their"
|
|
516
591
|
echo " workflow, their priorities, what they care about"
|
|
517
|
-
echo "4.
|
|
592
|
+
echo "4. UPDATE YOUR MEMORY with the new capabilities:"
|
|
593
|
+
echo " - Read the upgrade guide's 'Summary of New Capabilities' section"
|
|
594
|
+
echo " - Add the relevant capabilities to your .instar/MEMORY.md file"
|
|
595
|
+
echo " - Focus on WHAT you can now do and HOW to use it"
|
|
596
|
+
echo " - If similar notes exist in MEMORY.md, update rather than duplicate"
|
|
597
|
+
echo " - This ensures you KNOW about these capabilities in every future session"
|
|
598
|
+
echo "5. After messaging the user and updating memory, run: instar upgrade-ack"
|
|
518
599
|
echo ""
|
|
519
600
|
echo "--- UPGRADE GUIDE CONTENT ---"
|
|
520
601
|
echo ""
|
|
@@ -585,45 +666,142 @@ fi
|
|
|
585
666
|
}
|
|
586
667
|
getCompactionRecovery() {
|
|
587
668
|
return `#!/bin/bash
|
|
588
|
-
# Compaction recovery — re-injects identity when Claude's context compresses.
|
|
669
|
+
# Compaction recovery — re-injects identity AND topic context when Claude's context compresses.
|
|
589
670
|
# Born from Dawn's 164th Lesson: "Advisory hooks get ignored. Automatic content
|
|
590
671
|
# injection removes the compliance gap entirely."
|
|
591
672
|
#
|
|
592
673
|
# This hook OUTPUTS identity content directly into context rather than just
|
|
593
|
-
# pointing to files. After compaction, the agent needs to KNOW who it is
|
|
594
|
-
# not be told where to look.
|
|
674
|
+
# pointing to files. After compaction, the agent needs to KNOW who it is
|
|
675
|
+
# AND what conversation it's in — not be told where to look.
|
|
676
|
+
#
|
|
677
|
+
# Context priority (same as session-start):
|
|
678
|
+
# 1. Topic context (summary + recent messages) — what are we working on?
|
|
679
|
+
# 2. Identity (AGENT.md) — who am I?
|
|
680
|
+
# 3. Memory (MEMORY.md) — what have I learned?
|
|
681
|
+
# 4. Telegram relay — how do I respond?
|
|
682
|
+
# 5. Capabilities — what can I do?
|
|
595
683
|
INSTAR_DIR="\${CLAUDE_PROJECT_DIR:-.}/.instar"
|
|
596
684
|
|
|
597
685
|
echo "=== IDENTITY RECOVERY (post-compaction) ==="
|
|
598
686
|
|
|
599
|
-
#
|
|
600
|
-
|
|
687
|
+
# ── 1. TOPIC CONTEXT (highest priority — what are we working on?) ──
|
|
688
|
+
# After compaction, the conversation history is lost. Re-inject it from TopicMemory.
|
|
689
|
+
if [ -n "\$INSTAR_TELEGRAM_TOPIC" ]; then
|
|
690
|
+
TOPIC_ID="\$INSTAR_TELEGRAM_TOPIC"
|
|
691
|
+
CONFIG_FILE="\$INSTAR_DIR/config.json"
|
|
692
|
+
if [ -f "\$CONFIG_FILE" ]; then
|
|
693
|
+
PORT=\$(grep -o '"port":[0-9]*' "\$CONFIG_FILE" | head -1 | cut -d':' -f2)
|
|
694
|
+
if [ -n "\$PORT" ]; then
|
|
695
|
+
TOPIC_CTX=\$(curl -s "http://localhost:\${PORT}/topic/context/\${TOPIC_ID}?recent=20" 2>/dev/null)
|
|
696
|
+
if [ -n "\$TOPIC_CTX" ] && echo "\$TOPIC_CTX" | grep -q '"totalMessages"'; then
|
|
697
|
+
TOTAL=\$(echo "\$TOPIC_CTX" | grep -o '"totalMessages":[0-9]*' | cut -d':' -f2)
|
|
698
|
+
TOPIC_NAME=\$(echo "\$TOPIC_CTX" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('topicName') or 'Unknown')" 2>/dev/null || echo "Unknown")
|
|
699
|
+
|
|
700
|
+
echo ""
|
|
701
|
+
echo "--- CONVERSATION CONTEXT (Topic: \${TOPIC_NAME}, \${TOTAL} total messages) ---"
|
|
702
|
+
echo ""
|
|
703
|
+
|
|
704
|
+
SUMMARY=\$(echo "\$TOPIC_CTX" | python3 -c "import sys,json; d=json.load(sys.stdin); s=d.get('summary'); print(s if s else '')" 2>/dev/null)
|
|
705
|
+
if [ -n "\$SUMMARY" ]; then
|
|
706
|
+
echo "SUMMARY OF CONVERSATION SO FAR:"
|
|
707
|
+
echo "\$SUMMARY"
|
|
708
|
+
echo ""
|
|
709
|
+
fi
|
|
710
|
+
|
|
711
|
+
echo "RECENT MESSAGES:"
|
|
712
|
+
echo "\$TOPIC_CTX" | python3 -c "
|
|
713
|
+
import sys, json
|
|
714
|
+
d = json.load(sys.stdin)
|
|
715
|
+
for m in d.get('recentMessages', []):
|
|
716
|
+
sender = 'User' if m.get('fromUser') else 'Agent'
|
|
717
|
+
ts = m.get('timestamp', '')[:16].replace('T', ' ')
|
|
718
|
+
text = m.get('text', '')
|
|
719
|
+
if len(text) > 500:
|
|
720
|
+
text = text[:500] + '...'
|
|
721
|
+
print(f'[{ts}] {sender}: {text}')
|
|
722
|
+
" 2>/dev/null
|
|
723
|
+
echo ""
|
|
724
|
+
echo "Search past conversations: curl http://localhost:\${PORT}/topic/search?topic=\${TOPIC_ID}&q=QUERY"
|
|
725
|
+
echo "--- END CONVERSATION CONTEXT ---"
|
|
726
|
+
echo ""
|
|
727
|
+
fi
|
|
728
|
+
fi
|
|
729
|
+
fi
|
|
730
|
+
fi
|
|
731
|
+
|
|
732
|
+
# ── 2. IDENTITY (full AGENT.md — who am I?) ──
|
|
733
|
+
if [ -f "\$INSTAR_DIR/AGENT.md" ]; then
|
|
601
734
|
echo ""
|
|
602
735
|
echo "--- Your Identity (from .instar/AGENT.md) ---"
|
|
603
|
-
cat "
|
|
736
|
+
cat "\$INSTAR_DIR/AGENT.md"
|
|
604
737
|
echo ""
|
|
605
738
|
echo "--- End Identity ---"
|
|
606
739
|
fi
|
|
607
740
|
|
|
608
|
-
#
|
|
609
|
-
if [ -f "
|
|
610
|
-
LINES=\$(wc -l < "
|
|
741
|
+
# ── 3. MEMORY (first 50 lines — what have I learned?) ──
|
|
742
|
+
if [ -f "\$INSTAR_DIR/MEMORY.md" ]; then
|
|
743
|
+
LINES=\$(wc -l < "\$INSTAR_DIR/MEMORY.md" | tr -d ' ')
|
|
611
744
|
echo ""
|
|
612
745
|
echo "--- Your Memory (.instar/MEMORY.md — \${LINES} lines, showing first 50) ---"
|
|
613
|
-
head -50 "
|
|
746
|
+
head -50 "\$INSTAR_DIR/MEMORY.md"
|
|
614
747
|
if [ "\$LINES" -gt 50 ]; then
|
|
615
748
|
echo "... (\$((LINES - 50)) more lines — read full file if needed)"
|
|
616
749
|
fi
|
|
617
750
|
echo "--- End Memory ---"
|
|
618
751
|
fi
|
|
619
752
|
|
|
620
|
-
#
|
|
621
|
-
if [ -
|
|
622
|
-
|
|
753
|
+
# ── 4. TELEGRAM RELAY (how do I respond?) ──
|
|
754
|
+
if [ -n "\$INSTAR_TELEGRAM_TOPIC" ]; then
|
|
755
|
+
TOPIC_ID="\$INSTAR_TELEGRAM_TOPIC"
|
|
756
|
+
RELAY_SCRIPT=""
|
|
757
|
+
if [ -f "\$INSTAR_DIR/scripts/telegram-reply.sh" ]; then
|
|
758
|
+
RELAY_SCRIPT=".instar/scripts/telegram-reply.sh"
|
|
759
|
+
elif [ -f "\${CLAUDE_PROJECT_DIR:-.}/.claude/scripts/telegram-reply.sh" ]; then
|
|
760
|
+
RELAY_SCRIPT=".claude/scripts/telegram-reply.sh"
|
|
761
|
+
fi
|
|
762
|
+
|
|
763
|
+
echo ""
|
|
764
|
+
echo "--- TELEGRAM SESSION (topic \${TOPIC_ID}) ---"
|
|
765
|
+
echo "This session is connected to Telegram topic \${TOPIC_ID}."
|
|
766
|
+
echo "Messages arrive prefixed with [telegram:\${TOPIC_ID}]. Strip prefix before interpreting."
|
|
767
|
+
echo "After EVERY response, relay your text back:"
|
|
768
|
+
if [ -n "\$RELAY_SCRIPT" ]; then
|
|
769
|
+
echo " cat <<'EOF' | \${RELAY_SCRIPT} \${TOPIC_ID}"
|
|
770
|
+
else
|
|
771
|
+
echo " cat <<'EOF' | .instar/scripts/telegram-reply.sh \${TOPIC_ID}"
|
|
772
|
+
fi
|
|
773
|
+
echo " Your response text here"
|
|
774
|
+
echo " EOF"
|
|
775
|
+
echo "--- END TELEGRAM SESSION ---"
|
|
776
|
+
fi
|
|
777
|
+
|
|
778
|
+
# ── 5. SERVER STATUS + CAPABILITIES ──
|
|
779
|
+
CONFIG_FILE="\$INSTAR_DIR/config.json"
|
|
780
|
+
if [ -f "\$CONFIG_FILE" ]; then
|
|
781
|
+
PORT=\$(python3 -c "import json; print(json.load(open('\$CONFIG_FILE')).get('port', 4040))" 2>/dev/null || echo "4040")
|
|
623
782
|
HEALTH=\$(curl -s -o /dev/null -w "%{http_code}" "http://localhost:\${PORT}/health" 2>/dev/null)
|
|
624
783
|
if [ "\$HEALTH" = "200" ]; then
|
|
784
|
+
echo ""
|
|
625
785
|
echo "Instar server: RUNNING on port \${PORT}"
|
|
786
|
+
CAPS=\$(curl -s "http://localhost:\${PORT}/capabilities" 2>/dev/null)
|
|
787
|
+
if echo "\$CAPS" | grep -q '"featureGuide"' 2>/dev/null; then
|
|
788
|
+
echo ""
|
|
789
|
+
echo "--- YOUR CAPABILITIES ---"
|
|
790
|
+
echo "\$CAPS" | python3 -c "
|
|
791
|
+
import sys, json
|
|
792
|
+
try:
|
|
793
|
+
d = json.load(sys.stdin)
|
|
794
|
+
guide = d.get('featureGuide', {})
|
|
795
|
+
for t in guide.get('triggers', []):
|
|
796
|
+
print(f' When: {t[\"context\"]}')
|
|
797
|
+
print(f' Do: {t[\"action\"]}')
|
|
798
|
+
print()
|
|
799
|
+
except: pass
|
|
800
|
+
" 2>/dev/null
|
|
801
|
+
echo "--- END CAPABILITIES ---"
|
|
802
|
+
fi
|
|
626
803
|
else
|
|
804
|
+
echo ""
|
|
627
805
|
echo "Instar server: NOT RUNNING (port \${PORT})"
|
|
628
806
|
fi
|
|
629
807
|
fi
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.js","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.js","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Write Authority — enforces primary-machine-writes-only model.
|
|
3
|
+
*
|
|
4
|
+
* In multi-machine setups:
|
|
5
|
+
* - The primary machine is the canonical writer for agent state files
|
|
6
|
+
* - Secondary machines submit changes via API to the primary
|
|
7
|
+
* - If primary is offline, secondaries queue changes locally
|
|
8
|
+
* - Write-tokens are scoped to non-escalating operations
|
|
9
|
+
*
|
|
10
|
+
* Project files (source code) are unaffected — normal git workflow.
|
|
11
|
+
*/
|
|
12
|
+
import type { AgentAutonomyConfig } from './types.js';
|
|
13
|
+
export type WriteOperation = 'addMemory' | 'updateProfile' | 'heartbeat' | 'modifyUser' | 'modifyPermissions' | 'transferPrimary';
|
|
14
|
+
export interface WriteToken {
|
|
15
|
+
/** 32-byte random token */
|
|
16
|
+
token: string;
|
|
17
|
+
/** Machine ID this token was issued to */
|
|
18
|
+
machineId: string;
|
|
19
|
+
/** ISO timestamp of issuance */
|
|
20
|
+
issuedAt: string;
|
|
21
|
+
/** Whether this token has been revoked */
|
|
22
|
+
revoked: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface OfflineQueueEntry {
|
|
25
|
+
/** ISO timestamp of the queued operation */
|
|
26
|
+
timestamp: string;
|
|
27
|
+
/** Operation type */
|
|
28
|
+
operation: WriteOperation;
|
|
29
|
+
/** Operation payload */
|
|
30
|
+
payload: Record<string, unknown>;
|
|
31
|
+
/** Number of replay attempts */
|
|
32
|
+
retryCount: number;
|
|
33
|
+
/** Machine that queued this operation */
|
|
34
|
+
sourceMachineId: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Generate a new write token for a machine.
|
|
38
|
+
*/
|
|
39
|
+
export declare function generateWriteToken(machineId: string): WriteToken;
|
|
40
|
+
/**
|
|
41
|
+
* Validate a write token.
|
|
42
|
+
*/
|
|
43
|
+
export declare function validateWriteToken(token: string, storedTokens: WriteToken[]): {
|
|
44
|
+
valid: boolean;
|
|
45
|
+
machineId?: string;
|
|
46
|
+
error?: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Check if an operation can be performed by a secondary machine.
|
|
50
|
+
* Escalating operations require interactive confirmation from primary admin.
|
|
51
|
+
*/
|
|
52
|
+
export declare function canPerformOperation(operation: WriteOperation): {
|
|
53
|
+
allowed: boolean;
|
|
54
|
+
requiresConfirmation: boolean;
|
|
55
|
+
reason?: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Manages the offline queue for secondary machines.
|
|
59
|
+
* When the primary is unreachable, changes are queued locally.
|
|
60
|
+
*/
|
|
61
|
+
export declare class OfflineQueue {
|
|
62
|
+
private queueDir;
|
|
63
|
+
private queueFile;
|
|
64
|
+
constructor(stateDir: string, agentId: string);
|
|
65
|
+
/**
|
|
66
|
+
* Add an operation to the offline queue.
|
|
67
|
+
* Only non-escalating operations can be queued.
|
|
68
|
+
*/
|
|
69
|
+
enqueue(operation: WriteOperation, payload: Record<string, unknown>, machineId: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Read and drain the offline queue (for replay on reconnect).
|
|
72
|
+
* Returns entries in order. Expired entries (>7 days) are skipped.
|
|
73
|
+
*/
|
|
74
|
+
drain(): OfflineQueueEntry[];
|
|
75
|
+
/**
|
|
76
|
+
* Get the count of queued operations.
|
|
77
|
+
*/
|
|
78
|
+
count(): number;
|
|
79
|
+
}
|
|
80
|
+
export interface ConflictResolution {
|
|
81
|
+
file: string;
|
|
82
|
+
machineA: {
|
|
83
|
+
machineId: string;
|
|
84
|
+
change: string;
|
|
85
|
+
};
|
|
86
|
+
machineB: {
|
|
87
|
+
machineId: string;
|
|
88
|
+
change: string;
|
|
89
|
+
};
|
|
90
|
+
agentRecommendation?: string;
|
|
91
|
+
autoResolvable: boolean;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Assess a merge conflict and determine if it can be auto-resolved.
|
|
95
|
+
* users.json additions can be merged; config.json always escalates.
|
|
96
|
+
*/
|
|
97
|
+
export declare function assessConflict(file: string, autonomy?: AgentAutonomyConfig): {
|
|
98
|
+
autoResolvable: boolean;
|
|
99
|
+
reason: string;
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=StateWriteAuthority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateWriteAuthority.d.ts","sourceRoot":"","sources":["../../src/core/StateWriteAuthority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIvE,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,eAAe,GACf,WAAW,GACX,YAAY,GACZ,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,UAAU;IACzB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,SAAS,EAAE,cAAc,CAAC;IAC1B,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAoBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAOhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,UAAU,EAAE,GACzB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAMxD;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CASA;AAID;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAU7C;;;OAGG;IACH,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAiBhG;;;OAGG;IACH,KAAK,IAAI,iBAAiB,EAAE;IAoC5B;;OAEG;IACH,KAAK,IAAI,MAAM;CAMhB;AAID,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,mBAAmB,GAC7B;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqB7C"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Write Authority — enforces primary-machine-writes-only model.
|
|
3
|
+
*
|
|
4
|
+
* In multi-machine setups:
|
|
5
|
+
* - The primary machine is the canonical writer for agent state files
|
|
6
|
+
* - Secondary machines submit changes via API to the primary
|
|
7
|
+
* - If primary is offline, secondaries queue changes locally
|
|
8
|
+
* - Write-tokens are scoped to non-escalating operations
|
|
9
|
+
*
|
|
10
|
+
* Project files (source code) are unaffected — normal git workflow.
|
|
11
|
+
*/
|
|
12
|
+
import crypto from 'node:crypto';
|
|
13
|
+
import fs from 'node:fs';
|
|
14
|
+
import path from 'node:path';
|
|
15
|
+
/** Operations that can never be queued or replayed */
|
|
16
|
+
const ESCALATING_OPERATIONS = [
|
|
17
|
+
'modifyUser',
|
|
18
|
+
'modifyPermissions',
|
|
19
|
+
'transferPrimary',
|
|
20
|
+
];
|
|
21
|
+
/** Operations that can be queued for offline replay */
|
|
22
|
+
const NON_ESCALATING_OPERATIONS = [
|
|
23
|
+
'addMemory',
|
|
24
|
+
'updateProfile',
|
|
25
|
+
'heartbeat',
|
|
26
|
+
];
|
|
27
|
+
const OFFLINE_QUEUE_TTL_DAYS = 7;
|
|
28
|
+
// ── Write Token Management ───────────────────────────────────────────
|
|
29
|
+
/**
|
|
30
|
+
* Generate a new write token for a machine.
|
|
31
|
+
*/
|
|
32
|
+
export function generateWriteToken(machineId) {
|
|
33
|
+
return {
|
|
34
|
+
token: crypto.randomBytes(32).toString('hex'),
|
|
35
|
+
machineId,
|
|
36
|
+
issuedAt: new Date().toISOString(),
|
|
37
|
+
revoked: false,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Validate a write token.
|
|
42
|
+
*/
|
|
43
|
+
export function validateWriteToken(token, storedTokens) {
|
|
44
|
+
const match = storedTokens.find(t => t.token === token && !t.revoked);
|
|
45
|
+
if (!match) {
|
|
46
|
+
return { valid: false, error: 'Invalid or revoked write token' };
|
|
47
|
+
}
|
|
48
|
+
return { valid: true, machineId: match.machineId };
|
|
49
|
+
}
|
|
50
|
+
// ── Operation Authorization ──────────────────────────────────────────
|
|
51
|
+
/**
|
|
52
|
+
* Check if an operation can be performed by a secondary machine.
|
|
53
|
+
* Escalating operations require interactive confirmation from primary admin.
|
|
54
|
+
*/
|
|
55
|
+
export function canPerformOperation(operation) {
|
|
56
|
+
if (ESCALATING_OPERATIONS.includes(operation)) {
|
|
57
|
+
return {
|
|
58
|
+
allowed: false,
|
|
59
|
+
requiresConfirmation: true,
|
|
60
|
+
reason: `${operation} requires interactive confirmation from the primary machine's admin`,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return { allowed: true, requiresConfirmation: false };
|
|
64
|
+
}
|
|
65
|
+
// ── Offline Queue ────────────────────────────────────────────────────
|
|
66
|
+
/**
|
|
67
|
+
* Manages the offline queue for secondary machines.
|
|
68
|
+
* When the primary is unreachable, changes are queued locally.
|
|
69
|
+
*/
|
|
70
|
+
export class OfflineQueue {
|
|
71
|
+
queueDir;
|
|
72
|
+
queueFile;
|
|
73
|
+
constructor(stateDir, agentId) {
|
|
74
|
+
this.queueDir = path.join(process.env.HOME || process.env.USERPROFILE || '/tmp', '.instar', 'offline-queue');
|
|
75
|
+
fs.mkdirSync(this.queueDir, { recursive: true });
|
|
76
|
+
this.queueFile = path.join(this.queueDir, `${agentId}.jsonl`);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Add an operation to the offline queue.
|
|
80
|
+
* Only non-escalating operations can be queued.
|
|
81
|
+
*/
|
|
82
|
+
enqueue(operation, payload, machineId) {
|
|
83
|
+
if (ESCALATING_OPERATIONS.includes(operation)) {
|
|
84
|
+
return false; // Cannot queue escalating operations
|
|
85
|
+
}
|
|
86
|
+
const entry = {
|
|
87
|
+
timestamp: new Date().toISOString(),
|
|
88
|
+
operation,
|
|
89
|
+
payload,
|
|
90
|
+
retryCount: 0,
|
|
91
|
+
sourceMachineId: machineId,
|
|
92
|
+
};
|
|
93
|
+
fs.appendFileSync(this.queueFile, JSON.stringify(entry) + '\n');
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Read and drain the offline queue (for replay on reconnect).
|
|
98
|
+
* Returns entries in order. Expired entries (>7 days) are skipped.
|
|
99
|
+
*/
|
|
100
|
+
drain() {
|
|
101
|
+
if (!fs.existsSync(this.queueFile))
|
|
102
|
+
return [];
|
|
103
|
+
const content = fs.readFileSync(this.queueFile, 'utf-8').trim();
|
|
104
|
+
if (!content)
|
|
105
|
+
return [];
|
|
106
|
+
const now = Date.now();
|
|
107
|
+
const ttlMs = OFFLINE_QUEUE_TTL_DAYS * 24 * 60 * 60 * 1000;
|
|
108
|
+
const entries = [];
|
|
109
|
+
const expired = [];
|
|
110
|
+
for (const line of content.split('\n')) {
|
|
111
|
+
try {
|
|
112
|
+
const entry = JSON.parse(line);
|
|
113
|
+
const age = now - new Date(entry.timestamp).getTime();
|
|
114
|
+
if (age > ttlMs) {
|
|
115
|
+
expired.push(entry);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
entries.push(entry);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// Skip malformed lines
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Clear the queue file
|
|
126
|
+
fs.writeFileSync(this.queueFile, '');
|
|
127
|
+
if (expired.length > 0) {
|
|
128
|
+
console.warn(`[OfflineQueue] ${expired.length} entries expired (>7 days)`);
|
|
129
|
+
}
|
|
130
|
+
return entries;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get the count of queued operations.
|
|
134
|
+
*/
|
|
135
|
+
count() {
|
|
136
|
+
if (!fs.existsSync(this.queueFile))
|
|
137
|
+
return 0;
|
|
138
|
+
const content = fs.readFileSync(this.queueFile, 'utf-8').trim();
|
|
139
|
+
if (!content)
|
|
140
|
+
return 0;
|
|
141
|
+
return content.split('\n').filter(l => l.trim()).length;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Assess a merge conflict and determine if it can be auto-resolved.
|
|
146
|
+
* users.json additions can be merged; config.json always escalates.
|
|
147
|
+
*/
|
|
148
|
+
export function assessConflict(file, autonomy) {
|
|
149
|
+
// config.json always requires human judgment
|
|
150
|
+
if (file === 'config.json') {
|
|
151
|
+
return { autoResolvable: false, reason: 'Config conflicts always require human judgment' };
|
|
152
|
+
}
|
|
153
|
+
// users.json: additions can be auto-merged
|
|
154
|
+
if (file === 'users.json') {
|
|
155
|
+
// At collaborative+, propose resolution
|
|
156
|
+
if (autonomy && autonomy.level !== 'supervised') {
|
|
157
|
+
return { autoResolvable: true, reason: 'User additions can be merged automatically' };
|
|
158
|
+
}
|
|
159
|
+
return { autoResolvable: false, reason: 'Escalated per supervised autonomy level' };
|
|
160
|
+
}
|
|
161
|
+
// Other files: auto-resolve at autonomous level
|
|
162
|
+
if (autonomy?.level === 'autonomous' && autonomy.capabilities.proposeConflictResolution) {
|
|
163
|
+
return { autoResolvable: true, reason: 'Auto-resolved per autonomous autonomy level' };
|
|
164
|
+
}
|
|
165
|
+
return { autoResolvable: false, reason: 'Requires manual resolution' };
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=StateWriteAuthority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateWriteAuthority.js","sourceRoot":"","sources":["../../src/core/StateWriteAuthority.ts"],"names":[],"mappings":"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"}
|