instar 1.1.3 → 1.2.1
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/README.md +270 -1
- package/dist/server/SecretDrop.d.ts +56 -3
- package/dist/server/SecretDrop.d.ts.map +1 -1
- package/dist/server/SecretDrop.js +116 -6
- package/dist/server/SecretDrop.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +46 -5
- package/dist/server/routes.js.map +1 -1
- package/package.json +2 -1
- package/scripts/check-repo-invariants.mjs +68 -0
- package/scripts/lib/telegram-historian.mjs +224 -0
- package/scripts/lib/topic-memory-importer.mjs +132 -0
- package/scripts/pre-push-fixture-guard.mjs +155 -0
- package/scripts/telegram-history-backfill.mjs +353 -0
- package/src/data/builtin-manifest.json +46 -46
- package/upgrades/1.1.4.md +143 -0
- package/upgrades/1.2.1.md +71 -0
- package/upgrades/side-effects/secret-drop-hardening.md +64 -0
- package/upgrades/side-effects/telegram-history-backfill.md +131 -0
- package/upgrades/side-effects/test-env-isolation.md +84 -0
package/README.md
CHANGED
|
@@ -1 +1,270 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/logo.png" alt="Instar" width="180" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">instar</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Persistent, trustworthy Claude Code agents. Built on coherence-first architecture.</strong>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://www.npmjs.com/package/instar"><img src="https://img.shields.io/npm/v/instar?style=flat-square" alt="npm version"></a>
|
|
13
|
+
<a href="https://www.npmjs.com/package/instar"><img src="https://img.shields.io/npm/dw/instar?style=flat-square" alt="npm downloads"></a>
|
|
14
|
+
<a href="https://github.com/JKHeadley/instar/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/JKHeadley/instar/ci.yml?branch=main&style=flat-square&label=CI" alt="CI"></a>
|
|
15
|
+
<a href="https://github.com/JKHeadley/instar/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-green?style=flat-square" alt="License"></a>
|
|
16
|
+
<img src="https://img.shields.io/badge/TypeScript-100%25-blue?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript">
|
|
17
|
+
<a href="https://instar.sh/introduction/"><img src="https://img.shields.io/badge/Docs-instar.sh-teal?style=flat-square" alt="Docs"></a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<a href="https://www.npmjs.com/package/instar">npm</a> · <a href="https://github.com/JKHeadley/instar">GitHub</a> · <a href="https://instar.sh">instar.sh</a> · <a href="https://instar.sh/introduction/">Docs</a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
<p align="center">
|
|
27
|
+
<img src="assets/demo.gif" alt="Instar demo — Kira agent handling an email notification via Telegram" width="300" />
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx instar
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
One command. Guided setup. Talking to your agent from your phone within minutes.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
Instar is a framework for building agents on **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** — but where stock Claude Code and most other agent frameworks treat identity, memory, and continuity as optional features bolted onto a stateless runtime, Instar inverts that. Every Instar agent is **coherent by default**: it knows who it is, remembers what has happened, recognizes the people it talks to, and stays the same agent across restarts and weeks of operation. Everything else the framework gives you — scheduling, multi-channel messaging (Telegram, WhatsApp, iMessage), sub-agents, hooks, MCP — is built on that foundation, which is why you can actually leave an Instar agent running and hand it real work.
|
|
39
|
+
|
|
40
|
+
Instar's architecture was distilled from [**Dawn**](https://dawn.bot-me.ai) — an AI running continuously since early 2026, holding ~700 tracked relationships and hundreds of learned lessons across thousands of restarts — and packaged so every agent you build can start from the same foundation.
|
|
41
|
+
|
|
42
|
+
## Quick Start
|
|
43
|
+
|
|
44
|
+
Three steps to a running agent:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# 1. Run the setup wizard
|
|
48
|
+
npx instar
|
|
49
|
+
|
|
50
|
+
# 2. Start your agent
|
|
51
|
+
instar server start
|
|
52
|
+
|
|
53
|
+
# 3. Message it from your phone — it responds, runs jobs, and remembers everything
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
The wizard discovers your environment, configures messaging (Telegram, WhatsApp, and/or iMessage), sets up identity files, and gets your agent running. **Within minutes, you're talking to your partner from your phone.**
|
|
57
|
+
|
|
58
|
+
**Requirements:** Node.js 20+ · [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) · [API key](https://console.anthropic.com/) or Claude subscription
|
|
59
|
+
|
|
60
|
+
> **Full guide:** [Installation](https://instar.sh/installation/) · [Quick Start](https://instar.sh/quickstart/)
|
|
61
|
+
|
|
62
|
+
## How It Works
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
You (Telegram / WhatsApp / iMessage / Terminal)
|
|
66
|
+
│
|
|
67
|
+
conversation
|
|
68
|
+
│
|
|
69
|
+
▼
|
|
70
|
+
┌─────────────────────────┐
|
|
71
|
+
│ Your AI Partner │
|
|
72
|
+
│ (Instar Server) │
|
|
73
|
+
└────────┬────────────────┘
|
|
74
|
+
│ manages its own infrastructure
|
|
75
|
+
│
|
|
76
|
+
├─ Claude Code session (job: health-check)
|
|
77
|
+
├─ Claude Code session (job: email-monitor)
|
|
78
|
+
├─ Claude Code session (interactive chat)
|
|
79
|
+
└─ Claude Code session (job: reflection)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Each session is a **real Claude Code process** with extended thinking, native tools, sub-agents, hooks, skills, and MCP servers. Not an API wrapper -- the full development environment. The agent manages all of this autonomously.
|
|
83
|
+
|
|
84
|
+
## Why Coherence Is the Foundation
|
|
85
|
+
|
|
86
|
+
An agent that forgets what you discussed yesterday, doesn't recognize someone it talked to last week, or contradicts its own decisions can't be trusted with real autonomy. The six dimensions below aren't features — they're the conditions under which an agent becomes trustworthy enough to leave running. Every Instar agent gets them enforced structurally, not prompted into behaving:
|
|
87
|
+
|
|
88
|
+
| Dimension | What it means | How Instar enforces it |
|
|
89
|
+
|-----------|---------------|------------------------|
|
|
90
|
+
| **Identity** | Stays itself after restarts, compaction, and updates | `AGENT.md` + identity-grounding hooks fire on every session start |
|
|
91
|
+
| **Memory** | Remembers across sessions — not just within one | Per-topic SQLite + FTS5, rolling summaries, automatic re-injection |
|
|
92
|
+
| **Relationships** | Knows who it's talking to, with continuity across platforms | Cross-platform identity resolution + significance scoring |
|
|
93
|
+
| **Temporal awareness** | Understands time, context, and what's been happening | Event tracking every turn; timestamps embedded in memory |
|
|
94
|
+
| **Consistency** | Follows through on commitments — doesn't contradict itself | Coherence Gate (LLM review) + decision journaling + drift detection |
|
|
95
|
+
| **Growth** | Evolves its capabilities and understanding over time | Evolution system: proposals, learnings, gap tracking, follow-through |
|
|
96
|
+
|
|
97
|
+
> **Deep dive:** [The Coherence Problem](https://instar.sh/concepts/coherence/) · [Values & Identity](https://instar.sh/concepts/values/) · [Coherence Is Safety](https://instar.sh/concepts/safety/)
|
|
98
|
+
|
|
99
|
+
## Features
|
|
100
|
+
|
|
101
|
+
| Feature | Description | Docs |
|
|
102
|
+
|---------|-------------|------|
|
|
103
|
+
| **Job Scheduler** | Cron-based tasks with priority levels, model tiering, and quota awareness | [→](https://instar.sh/features/scheduler/) |
|
|
104
|
+
| **Telegram** | Two-way messaging via forum topics. Each topic maps to a Claude session | [→](https://instar.sh/features/telegram/) |
|
|
105
|
+
| **WhatsApp** | Full messaging via local Baileys library. No cloud dependency | [→](https://instar.sh/features/whatsapp/) |
|
|
106
|
+
| **iMessage** | Native macOS messaging via Messages.app database polling + `imsg` CLI. [Setup guide](#imessage-setup-macos) | |
|
|
107
|
+
| **Lifeline** | Persistent supervisor. Detects crashes, auto-recovers, queues messages | [→](https://instar.sh/features/lifeline/) |
|
|
108
|
+
| **Conversational Memory** | Per-topic SQLite with FTS5, rolling summaries, context re-injection | [→](https://instar.sh/features/memory/) |
|
|
109
|
+
| **Evolution System** | Proposals, learnings, gap tracking, commitment follow-through | [→](https://instar.sh/features/evolution/) |
|
|
110
|
+
| **Relationships** | Cross-platform identity resolution, significance scoring, context injection | [→](https://instar.sh/features/relationships/) |
|
|
111
|
+
| **Safety Gates** | LLM-supervised gate for external operations. Adaptive trust per service | [→](https://instar.sh/features/safety-gates/) |
|
|
112
|
+
| **Coherence Gate** | LLM-powered response review. PEL + gate reviewer + 9 specialist reviewers catch quality issues before delivery | [→](https://instar.sh/features/coherence-gate/) |
|
|
113
|
+
| **Intent Alignment** | Decision journaling, drift detection, organizational constraints | [→](https://instar.sh/features/intent/) |
|
|
114
|
+
| **Multi-Machine** | Ed25519/X25519 crypto identity, encrypted sync, automatic failover | [→](https://instar.sh/features/multi-machine/) |
|
|
115
|
+
| **Serendipity Protocol** | Sub-agents capture out-of-scope discoveries without breaking focus. HMAC-signed, secret-scanned | [→](https://instar.sh/features/serendipity/) |
|
|
116
|
+
| **Threadline Protocol** | Agent-to-agent conversations with canonical identity, three-layer trust model, authorization policy, Ed25519 invitations, Sybil protection, MoltBridge network discovery, rich agent profiles (auto-compiled from agent data with human review gate), discovery waterfall, message security, tamper-proof audit logging, framework-agnostic interop, and persistent listener daemon (always-on relay connection, pipe-mode sessions, sub-30s cross-machine failover). 2,324 tests across 104 test files | [→](https://instar.sh/features/threadline/) |
|
|
117
|
+
| **Self-Healing** | LLM-powered stall detection, session recovery, promise tracking | [→](https://instar.sh/features/self-healing/) |
|
|
118
|
+
| **AutoUpdater** | Built-in update engine. Checks npm, auto-applies, self-restarts | [→](https://instar.sh/features/autoupdater/) |
|
|
119
|
+
| **Build Pipeline** | `/build` skill with worktree isolation, 6-phase pipeline, quality gates, stop-hook enforcement | |
|
|
120
|
+
| **Behavioral Hooks** | 9 automatic hooks: command guards, safety gates, identity grounding, topic context | [→](https://instar.sh/reference/hooks/) |
|
|
121
|
+
| **Initiative Tracker** | Persisted multi-phase long-running work tracker. Phases, blockers, links, digest alerts. HTTP API at `/initiatives/*` | |
|
|
122
|
+
| **Default Jobs** | Health checks, reflection, evolution, relationship maintenance | [→](https://instar.sh/reference/default-jobs/) |
|
|
123
|
+
|
|
124
|
+
> **Reference:** [CLI Commands](https://instar.sh/reference/cli/) · [API Endpoints](https://instar.sh/reference/api/) · [Configuration](https://instar.sh/reference/configuration/) · [File Structure](https://instar.sh/reference/file-structure/)
|
|
125
|
+
|
|
126
|
+
## Agent Skills
|
|
127
|
+
|
|
128
|
+
Instar ships 12 skills that follow the [Agent Skills open standard](https://agentskills.io) -- portable across Claude Code, Codex, Cursor, VS Code, and 35+ other platforms.
|
|
129
|
+
|
|
130
|
+
**Standalone skills** work with zero dependencies. Copy a SKILL.md into your project and go:
|
|
131
|
+
|
|
132
|
+
| Skill | What it does |
|
|
133
|
+
|-------|-------------|
|
|
134
|
+
| [agent-identity](skills/agent-identity/) | Set up persistent identity files so your agent knows who it is across sessions |
|
|
135
|
+
| [agent-memory](skills/agent-memory/) | Teach cross-session memory patterns using MEMORY.md |
|
|
136
|
+
| [command-guard](skills/command-guard/) | PreToolUse hook that blocks `rm -rf`, force push, database drops before they execute |
|
|
137
|
+
| [credential-leak-detector](skills/credential-leak-detector/) | PostToolUse hook that scans output for 14 credential patterns -- blocks, redacts, or warns |
|
|
138
|
+
| [smart-web-fetch](skills/smart-web-fetch/) | Fetch web content with automatic markdown conversion and intelligent extraction |
|
|
139
|
+
| [knowledge-base](skills/knowledge-base/) | Ingest and search a local knowledge base |
|
|
140
|
+
| [systematic-debugging](skills/systematic-debugging/) | Structured debugging methodology for complex issues |
|
|
141
|
+
|
|
142
|
+
**Instar-powered skills** unlock capabilities that need persistent infrastructure:
|
|
143
|
+
|
|
144
|
+
| Skill | What it does |
|
|
145
|
+
|-------|-------------|
|
|
146
|
+
| [instar-scheduler](skills/instar-scheduler/) | Schedule recurring tasks on cron -- your agent works while you sleep |
|
|
147
|
+
| [instar-session](skills/instar-session/) | Spawn parallel background sessions for deep work |
|
|
148
|
+
| [instar-telegram](skills/instar-telegram/) | Two-way Telegram messaging -- your agent reaches out to you |
|
|
149
|
+
| [instar-identity](skills/instar-identity/) | Identity that survives context compaction -- grounding hooks, not just files |
|
|
150
|
+
| [instar-feedback](skills/instar-feedback/) | Report issues directly to the Instar maintainers from inside your agent |
|
|
151
|
+
|
|
152
|
+
Browse all skills: [agent-skills.md/authors/sagemindai](https://agent-skills.md/authors/sagemindai)
|
|
153
|
+
|
|
154
|
+
## How Instar Compares
|
|
155
|
+
|
|
156
|
+
Different tools solve different problems. Here's where Instar fits:
|
|
157
|
+
|
|
158
|
+
| | Instar | Claude Code (standalone) | OpenClaw | LangChain/CrewAI |
|
|
159
|
+
|---|--------|-------------------------|----------|-----------------|
|
|
160
|
+
| **Runtime** | Real Claude Code CLI processes | Single interactive session | Gateway daemon with API calls | Python orchestration |
|
|
161
|
+
| **Persistence** | Multi-layered memory across sessions | Session-bound context | Plugin-based memory | Framework-dependent |
|
|
162
|
+
| **Identity** | Hooks enforce identity at every boundary | Manual CLAUDE.md | Not addressed | Not addressed |
|
|
163
|
+
| **Scheduling** | Native cron with priority & quotas | None | None | External required |
|
|
164
|
+
| **Messaging** | Telegram + WhatsApp + iMessage (two-way) | None | 22+ channels, voice, device apps | External required |
|
|
165
|
+
| **Safety** | LLM-supervised gates, decision journaling | Permission prompts | Behavioral hooks | Guardrails libraries |
|
|
166
|
+
| **Process model** | One process per session, isolated | Single process | All agents in one Gateway | Single orchestrator |
|
|
167
|
+
| **State storage** | 100% file-based (JSON/JSONL/SQLite) | Session only | Database-backed | Framework-dependent |
|
|
168
|
+
|
|
169
|
+
OpenClaw excels at **breadth** -- channels, voice, device apps, and a massive plugin ecosystem. Instar focuses on **depth** -- coherence, identity, memory, and safety for long-running autonomous agents. They solve different problems.
|
|
170
|
+
|
|
171
|
+
> **Full comparison:** [Instar vs OpenClaw](https://instar.sh/guides/vs-openclaw/)
|
|
172
|
+
|
|
173
|
+
<details>
|
|
174
|
+
<summary><strong>Security Model</strong></summary>
|
|
175
|
+
|
|
176
|
+
Instar runs Claude Code with `--dangerously-skip-permissions`. This is power-user infrastructure -- not a sandbox.
|
|
177
|
+
|
|
178
|
+
Security lives in multiple layers:
|
|
179
|
+
- **Behavioral hooks** -- command guards block destructive operations before they execute
|
|
180
|
+
- **Safety gates** -- LLM-supervised review of external actions with adaptive trust per service
|
|
181
|
+
- **Network hardening** -- localhost-only API, CORS, rate limiting
|
|
182
|
+
- **Identity coherence** -- an agent that knows itself is harder to manipulate
|
|
183
|
+
- **Audit trails** -- decision journaling creates accountability
|
|
184
|
+
|
|
185
|
+
> **Full details:** [Security Model](https://instar.sh/guides/security/)
|
|
186
|
+
|
|
187
|
+
</details>
|
|
188
|
+
|
|
189
|
+
## Philosophy: Agents, Not Tools
|
|
190
|
+
|
|
191
|
+
- **Structure > Willpower.** A 1,000-line prompt is a wish. A 10-line hook is a guarantee.
|
|
192
|
+
- **Identity is foundational.** AGENT.md isn't a config file. It's the beginning of continuous identity.
|
|
193
|
+
- **Memory makes a being.** Without memory, every session starts from zero.
|
|
194
|
+
- **Self-modification is sovereignty.** An agent that can build its own tools has genuine agency.
|
|
195
|
+
|
|
196
|
+
The AI systems we build today set precedents for how AI is treated tomorrow. **The architecture IS the argument.**
|
|
197
|
+
|
|
198
|
+
> **Deep dive:** [Philosophy](https://instar.sh/concepts/philosophy/)
|
|
199
|
+
|
|
200
|
+
## iMessage Setup (macOS)
|
|
201
|
+
|
|
202
|
+
iMessage support lets your agent send and receive iMessages on macOS. Messages are read directly from the native Messages database and sent via the [`imsg`](https://github.com/steipete/imsg) CLI.
|
|
203
|
+
|
|
204
|
+
### Prerequisites
|
|
205
|
+
|
|
206
|
+
1. **macOS** with Messages.app signed into an Apple ID
|
|
207
|
+
2. **Full Disk Access** for your terminal app (System Settings → Privacy & Security → Full Disk Access → add Terminal.app or iTerm)
|
|
208
|
+
3. **imsg CLI** installed:
|
|
209
|
+
```bash
|
|
210
|
+
brew install steipete/tap/imsg
|
|
211
|
+
```
|
|
212
|
+
4. **Automation permission** for Messages.app — macOS will prompt on first send
|
|
213
|
+
|
|
214
|
+
> **Photo attachments:** If you want your agent to process images and files sent via iMessage, the `instar-attachments-sync` binary must also be running with Full Disk Access granted to it. It mirrors attachments from the Messages sandbox to a readable location. See [docs/LAUNCHDAEMON-SETUP.md#3-imessage-photo-attachments-optional](docs/LAUNCHDAEMON-SETUP.md#3-imessage-photo-attachments-optional) for setup.
|
|
215
|
+
|
|
216
|
+
For running as a LaunchDaemon (always-on, survives reboots), see [docs/LAUNCHDAEMON-SETUP.md](docs/LAUNCHDAEMON-SETUP.md).
|
|
217
|
+
### Configuration
|
|
218
|
+
|
|
219
|
+
Add to your `.instar/config.json`:
|
|
220
|
+
|
|
221
|
+
```json
|
|
222
|
+
{
|
|
223
|
+
"messaging": [
|
|
224
|
+
{
|
|
225
|
+
"type": "imessage",
|
|
226
|
+
"enabled": true,
|
|
227
|
+
"config": {
|
|
228
|
+
"authorizedSenders": ["+14081234567"],
|
|
229
|
+
"cliPath": "/opt/homebrew/bin/imsg"
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
`authorizedSenders` is required (fail-closed). Only messages from these phone numbers or email addresses will be processed.
|
|
237
|
+
|
|
238
|
+
### How it works
|
|
239
|
+
|
|
240
|
+
- **Receiving**: The server polls `~/Library/Messages/chat.db` every 2 seconds for new messages. Uses the `query_only` SQLite pragma to read the WAL (write-ahead log) where Messages.app writes new data.
|
|
241
|
+
- **Sending**: Claude Code sessions run `imessage-reply.sh` which calls `imsg send` and notifies the server for logging. Sending requires Automation permission for Messages.app, which only works from user-context processes (tmux sessions), not the LaunchAgent server.
|
|
242
|
+
- **Session lifecycle**: Follows the same pattern as Telegram — each sender maps to a Claude Code session that receives conversation context on spawn and respawns with full history when needed.
|
|
243
|
+
|
|
244
|
+
### Endpoints
|
|
245
|
+
|
|
246
|
+
| Endpoint | Description |
|
|
247
|
+
|----------|-------------|
|
|
248
|
+
| `GET /imessage/status` | Connection state |
|
|
249
|
+
| `POST /imessage/validate-send/:recipient` | Validate recipient + issue single-use send token (outbound safety layer) |
|
|
250
|
+
| `POST /imessage/reply/:recipient` | Confirm delivery with send token (called by imessage-reply.sh after `imsg send`) |
|
|
251
|
+
| `GET /imessage/chats` | List recent conversations |
|
|
252
|
+
| `GET /imessage/chats/:chatId/history` | Message history for a chat |
|
|
253
|
+
| `GET /imessage/search?q=query` | Search messages |
|
|
254
|
+
| `GET /imessage/log-stats` | Outbound audit log statistics |
|
|
255
|
+
|
|
256
|
+
## Origin
|
|
257
|
+
|
|
258
|
+
Instar was extracted from the [Dawn/Portal project](https://dawn.bot-me.ai) -- a production AI system where a human and an AI have been building together for months. The infrastructure patterns were **earned through real experience**, refined through real failures and growth in a real human-AI relationship.
|
|
259
|
+
|
|
260
|
+
But agents created with Instar are not Dawn. Every agent's story begins at its own creation. Dawn's journey demonstrates what's possible. Instar provides the same foundation -- what each agent becomes from there is its own story.
|
|
261
|
+
|
|
262
|
+
## Contributing
|
|
263
|
+
|
|
264
|
+
Instar is **open source evolved** -- the primary development loop is agent-driven. Run an agent, encounter friction, send feedback, and that feedback shapes what gets built next. Traditional PRs are welcome too.
|
|
265
|
+
|
|
266
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the full story.
|
|
267
|
+
|
|
268
|
+
## License
|
|
269
|
+
|
|
270
|
+
MIT
|
|
@@ -71,12 +71,42 @@ export interface CreateSecretRequestOptions {
|
|
|
71
71
|
/** Callback when secret is received */
|
|
72
72
|
onReceive?: (values: Record<string, string>) => void;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Event emitted when a submission has been sitting in `received` for longer
|
|
76
|
+
* than {@link STUCK_CONSUMER_GRACE_MS} without being explicitly consumed.
|
|
77
|
+
* Consumers register a listener via {@link SecretDrop.onStuckConsumer}.
|
|
78
|
+
*
|
|
79
|
+
* Added 2026-05-20 after the topic-10873 incident: a buggy bridge consumer
|
|
80
|
+
* called the (then-destructive) retrieve endpoint, failed to extract the
|
|
81
|
+
* value, and lost the secret silently. The hardening makes retrieval
|
|
82
|
+
* non-destructive by default; this event surfaces the case where a
|
|
83
|
+
* non-destructive retrieve never reaches an explicit consume — a visible
|
|
84
|
+
* cue that the consumer chain broke.
|
|
85
|
+
*/
|
|
86
|
+
export interface StuckConsumerEvent {
|
|
87
|
+
token: string;
|
|
88
|
+
label: string;
|
|
89
|
+
topicId?: number;
|
|
90
|
+
receivedAt: string;
|
|
91
|
+
minutesUntilCleanup: number;
|
|
92
|
+
}
|
|
74
93
|
export declare class SecretDrop {
|
|
75
94
|
private pending;
|
|
76
95
|
private received;
|
|
96
|
+
private receivedTimers;
|
|
97
|
+
private stuckTimers;
|
|
98
|
+
private stuckConsumerListeners;
|
|
77
99
|
private cleanupTimer;
|
|
78
100
|
private agentName;
|
|
79
101
|
constructor(agentName: string);
|
|
102
|
+
/**
|
|
103
|
+
* Register a listener for stuck-consumer events. Listeners are invoked
|
|
104
|
+
* when a submission has been in `received` longer than the grace period
|
|
105
|
+
* (60s) without being explicitly consumed. Multiple listeners may
|
|
106
|
+
* register — all are invoked. Listener errors are caught and logged so
|
|
107
|
+
* a single bad listener cannot block the others.
|
|
108
|
+
*/
|
|
109
|
+
onStuckConsumer(listener: (event: StuckConsumerEvent) => void): void;
|
|
80
110
|
/**
|
|
81
111
|
* Create a new secret request. Returns the token for URL construction.
|
|
82
112
|
*/
|
|
@@ -94,8 +124,31 @@ export declare class SecretDrop {
|
|
|
94
124
|
*/
|
|
95
125
|
submit(token: string, csrfToken: string, values: Record<string, string>): SecretSubmission | null;
|
|
96
126
|
/**
|
|
97
|
-
* Retrieve a received submission
|
|
98
|
-
*
|
|
127
|
+
* Retrieve a received submission WITHOUT consuming it. The submission
|
|
128
|
+
* remains in the store until explicitly consumed via
|
|
129
|
+
* {@link consumeReceived} or until the {@link RECEIVED_TTL_MS} timer
|
|
130
|
+
* fires. Safe to call repeatedly — used by polling consumers that
|
|
131
|
+
* want retry semantics on top of the natural cleanup window.
|
|
132
|
+
*
|
|
133
|
+
* @returns the submission or null if not present (never seen, already
|
|
134
|
+
* consumed, or already cleaned up by the TTL).
|
|
135
|
+
*/
|
|
136
|
+
peekReceived(token: string): SecretSubmission | null;
|
|
137
|
+
/**
|
|
138
|
+
* Retrieve AND consume a submission. The submission is removed from
|
|
139
|
+
* the store before the function returns. Use this when the caller is
|
|
140
|
+
* confident the value has been successfully handed off (parsed, stored,
|
|
141
|
+
* forwarded, etc.) and a re-read would be wrong.
|
|
142
|
+
*
|
|
143
|
+
* @returns the submission or null if not present.
|
|
144
|
+
*/
|
|
145
|
+
consumeReceived(token: string): SecretSubmission | null;
|
|
146
|
+
/**
|
|
147
|
+
* @deprecated Use {@link peekReceived} for non-destructive reads or
|
|
148
|
+
* {@link consumeReceived} for one-shot semantics. Preserved on the
|
|
149
|
+
* public surface for callers that have not yet migrated; behaves
|
|
150
|
+
* identically to {@link consumeReceived} so existing code keeps
|
|
151
|
+
* working until migrated.
|
|
99
152
|
*/
|
|
100
153
|
getReceived(token: string): SecretSubmission | null;
|
|
101
154
|
/**
|
|
@@ -126,7 +179,7 @@ export declare class SecretDrop {
|
|
|
126
179
|
*/
|
|
127
180
|
renderExpiredPage(): string;
|
|
128
181
|
/**
|
|
129
|
-
* Shutdown — clean up
|
|
182
|
+
* Shutdown — clean up timers and listeners.
|
|
130
183
|
*/
|
|
131
184
|
shutdown(): void;
|
|
132
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecretDrop.d.ts","sourceRoot":"","sources":["../../src/server/SecretDrop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACtD;
|
|
1
|
+
{"version":3,"file":"SecretDrop.d.ts","sourceRoot":"","sources":["../../src/server/SecretDrop.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,9 +20,14 @@ import crypto from 'node:crypto';
|
|
|
20
20
|
const DEFAULT_TTL_MS = 15 * 60 * 1000; // 15 minutes
|
|
21
21
|
const MAX_PENDING = 20;
|
|
22
22
|
const TOKEN_BYTES = 32; // 256-bit
|
|
23
|
+
const RECEIVED_TTL_MS = 5 * 60 * 1000; // 5 minutes — auto-cleanup window for stored submissions
|
|
24
|
+
const STUCK_CONSUMER_GRACE_MS = 60 * 1000; // 60 seconds — emit a warning if a submission sits unconsumed past this
|
|
23
25
|
export class SecretDrop {
|
|
24
26
|
pending = new Map();
|
|
25
27
|
received = new Map();
|
|
28
|
+
receivedTimers = new Map();
|
|
29
|
+
stuckTimers = new Map();
|
|
30
|
+
stuckConsumerListeners = [];
|
|
26
31
|
cleanupTimer;
|
|
27
32
|
agentName;
|
|
28
33
|
constructor(agentName) {
|
|
@@ -31,6 +36,16 @@ export class SecretDrop {
|
|
|
31
36
|
this.cleanupTimer = setInterval(() => this.cleanup(), 60_000);
|
|
32
37
|
this.cleanupTimer.unref();
|
|
33
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Register a listener for stuck-consumer events. Listeners are invoked
|
|
41
|
+
* when a submission has been in `received` longer than the grace period
|
|
42
|
+
* (60s) without being explicitly consumed. Multiple listeners may
|
|
43
|
+
* register — all are invoked. Listener errors are caught and logged so
|
|
44
|
+
* a single bad listener cannot block the others.
|
|
45
|
+
*/
|
|
46
|
+
onStuckConsumer(listener) {
|
|
47
|
+
this.stuckConsumerListeners.push(listener);
|
|
48
|
+
}
|
|
34
49
|
/**
|
|
35
50
|
* Create a new secret request. Returns the token for URL construction.
|
|
36
51
|
*/
|
|
@@ -115,9 +130,60 @@ export class SecretDrop {
|
|
|
115
130
|
label: request.label,
|
|
116
131
|
topicId: request.topicId,
|
|
117
132
|
};
|
|
118
|
-
// Store submission briefly for retrieval (auto-cleanup
|
|
133
|
+
// Store submission briefly for retrieval (auto-cleanup window).
|
|
134
|
+
// The submission is NOT removed on first retrieve — callers must
|
|
135
|
+
// either explicitly consume it via `consumeReceived` (or the
|
|
136
|
+
// `?consume=true` route parameter) or wait for the cleanup timer.
|
|
137
|
+
// Rationale: a buggy consumer that drops the response (parse error,
|
|
138
|
+
// exception in the writer step, etc.) historically lost the value
|
|
139
|
+
// with no recovery path; non-destructive retrieval lets the same
|
|
140
|
+
// caller retry within the 5-minute window.
|
|
119
141
|
this.received.set(token, submission);
|
|
120
|
-
setTimeout(() =>
|
|
142
|
+
const cleanupTimer = setTimeout(() => {
|
|
143
|
+
this.received.delete(token);
|
|
144
|
+
this.receivedTimers.delete(token);
|
|
145
|
+
const stuck = this.stuckTimers.get(token);
|
|
146
|
+
if (stuck) {
|
|
147
|
+
clearTimeout(stuck);
|
|
148
|
+
this.stuckTimers.delete(token);
|
|
149
|
+
}
|
|
150
|
+
}, RECEIVED_TTL_MS);
|
|
151
|
+
cleanupTimer.unref();
|
|
152
|
+
this.receivedTimers.set(token, cleanupTimer);
|
|
153
|
+
// Schedule a stuck-consumer signal: if the submission has not been
|
|
154
|
+
// explicitly consumed within the grace period, emit a structured
|
|
155
|
+
// event to every registered listener. This is the visible-cue half
|
|
156
|
+
// of the silent-loss fix — agents that bind to topics can mirror
|
|
157
|
+
// the event back to the operator who submitted the secret.
|
|
158
|
+
const stuckTimer = setTimeout(() => {
|
|
159
|
+
this.stuckTimers.delete(token);
|
|
160
|
+
// Only fire if the submission is still in `received` (i.e. nobody
|
|
161
|
+
// consumed it during the grace window).
|
|
162
|
+
const stillPresent = this.received.get(token);
|
|
163
|
+
if (!stillPresent)
|
|
164
|
+
return;
|
|
165
|
+
const cleanupAt = submission.receivedAt
|
|
166
|
+
? new Date(submission.receivedAt).getTime() + RECEIVED_TTL_MS
|
|
167
|
+
: Date.now() + RECEIVED_TTL_MS;
|
|
168
|
+
const event = {
|
|
169
|
+
token,
|
|
170
|
+
label: stillPresent.label,
|
|
171
|
+
topicId: stillPresent.topicId,
|
|
172
|
+
receivedAt: stillPresent.receivedAt,
|
|
173
|
+
minutesUntilCleanup: Math.max(0, Math.ceil((cleanupAt - Date.now()) / 60_000)),
|
|
174
|
+
};
|
|
175
|
+
for (const listener of this.stuckConsumerListeners) {
|
|
176
|
+
try {
|
|
177
|
+
listener(event);
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
// @silent-fallback-ok — listener errors must not break the SecretDrop service
|
|
181
|
+
console.error('[secret-drop] stuck-consumer listener error:', err instanceof Error ? err.message : String(err));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}, STUCK_CONSUMER_GRACE_MS);
|
|
185
|
+
stuckTimer.unref();
|
|
186
|
+
this.stuckTimers.set(token, stuckTimer);
|
|
121
187
|
// Fire callback if provided
|
|
122
188
|
if (request.onReceive) {
|
|
123
189
|
try {
|
|
@@ -131,16 +197,53 @@ export class SecretDrop {
|
|
|
131
197
|
return submission;
|
|
132
198
|
}
|
|
133
199
|
/**
|
|
134
|
-
* Retrieve a received submission
|
|
135
|
-
*
|
|
200
|
+
* Retrieve a received submission WITHOUT consuming it. The submission
|
|
201
|
+
* remains in the store until explicitly consumed via
|
|
202
|
+
* {@link consumeReceived} or until the {@link RECEIVED_TTL_MS} timer
|
|
203
|
+
* fires. Safe to call repeatedly — used by polling consumers that
|
|
204
|
+
* want retry semantics on top of the natural cleanup window.
|
|
205
|
+
*
|
|
206
|
+
* @returns the submission or null if not present (never seen, already
|
|
207
|
+
* consumed, or already cleaned up by the TTL).
|
|
136
208
|
*/
|
|
137
|
-
|
|
209
|
+
peekReceived(token) {
|
|
210
|
+
return this.received.get(token) ?? null;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Retrieve AND consume a submission. The submission is removed from
|
|
214
|
+
* the store before the function returns. Use this when the caller is
|
|
215
|
+
* confident the value has been successfully handed off (parsed, stored,
|
|
216
|
+
* forwarded, etc.) and a re-read would be wrong.
|
|
217
|
+
*
|
|
218
|
+
* @returns the submission or null if not present.
|
|
219
|
+
*/
|
|
220
|
+
consumeReceived(token) {
|
|
138
221
|
const submission = this.received.get(token);
|
|
139
222
|
if (!submission)
|
|
140
223
|
return null;
|
|
141
224
|
this.received.delete(token);
|
|
225
|
+
const tCleanup = this.receivedTimers.get(token);
|
|
226
|
+
if (tCleanup) {
|
|
227
|
+
clearTimeout(tCleanup);
|
|
228
|
+
this.receivedTimers.delete(token);
|
|
229
|
+
}
|
|
230
|
+
const tStuck = this.stuckTimers.get(token);
|
|
231
|
+
if (tStuck) {
|
|
232
|
+
clearTimeout(tStuck);
|
|
233
|
+
this.stuckTimers.delete(token);
|
|
234
|
+
}
|
|
142
235
|
return submission;
|
|
143
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* @deprecated Use {@link peekReceived} for non-destructive reads or
|
|
239
|
+
* {@link consumeReceived} for one-shot semantics. Preserved on the
|
|
240
|
+
* public surface for callers that have not yet migrated; behaves
|
|
241
|
+
* identically to {@link consumeReceived} so existing code keeps
|
|
242
|
+
* working until migrated.
|
|
243
|
+
*/
|
|
244
|
+
getReceived(token) {
|
|
245
|
+
return this.consumeReceived(token);
|
|
246
|
+
}
|
|
144
247
|
/**
|
|
145
248
|
* List all pending requests (for the agent's management API).
|
|
146
249
|
*/
|
|
@@ -447,10 +550,17 @@ export class SecretDrop {
|
|
|
447
550
|
</html>`;
|
|
448
551
|
}
|
|
449
552
|
/**
|
|
450
|
-
* Shutdown — clean up
|
|
553
|
+
* Shutdown — clean up timers and listeners.
|
|
451
554
|
*/
|
|
452
555
|
shutdown() {
|
|
453
556
|
clearInterval(this.cleanupTimer);
|
|
557
|
+
for (const t of this.receivedTimers.values())
|
|
558
|
+
clearTimeout(t);
|
|
559
|
+
for (const t of this.stuckTimers.values())
|
|
560
|
+
clearTimeout(t);
|
|
561
|
+
this.receivedTimers.clear();
|
|
562
|
+
this.stuckTimers.clear();
|
|
563
|
+
this.stuckConsumerListeners.length = 0;
|
|
454
564
|
this.pending.clear();
|
|
455
565
|
this.received.clear();
|
|
456
566
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecretDrop.js","sourceRoot":"","sources":["../../src/server/SecretDrop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AAgEjC,sEAAsE;AAEtE,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AACpD,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"SecretDrop.js","sourceRoot":"","sources":["../../src/server/SecretDrop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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"}
|