instar 1.1.4 → 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/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/lib/telegram-historian.mjs +224 -0
- package/scripts/lib/topic-memory-importer.mjs +132 -0
- package/scripts/telegram-history-backfill.mjs +353 -0
- package/src/data/builtin-manifest.json +46 -46
- package/upgrades/1.1.4.md +131 -30
- 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
|
@@ -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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"}
|
package/dist/server/routes.js
CHANGED
|
@@ -7285,6 +7285,35 @@ export function createRoutes(ctx) {
|
|
|
7285
7285
|
});
|
|
7286
7286
|
// ── Secret Drop (secure secret submission) ─────────────────────
|
|
7287
7287
|
const secretDrop = new SecretDrop(ctx.config.projectName || 'Agent');
|
|
7288
|
+
// Stuck-consumer hardening: when an agent's consumer chain fails to
|
|
7289
|
+
// claim a submitted secret within the grace window, route a visible
|
|
7290
|
+
// cue to the bound topic so the operator hears about the failure
|
|
7291
|
+
// instead of silently waiting on a value that never arrives. Added
|
|
7292
|
+
// 2026-05-20 in response to the topic-10873 lost-SMS-code incident.
|
|
7293
|
+
secretDrop.onStuckConsumer((event) => {
|
|
7294
|
+
if (!event.topicId || !ctx.sessionManager)
|
|
7295
|
+
return;
|
|
7296
|
+
const topicId = event.topicId;
|
|
7297
|
+
const systemMsg = `[secret-drop-stuck] Secret "${event.label}" was submitted but has not been consumed by an agent process. ` +
|
|
7298
|
+
`If you weren't expecting this, the consumer may have hit a bug. ` +
|
|
7299
|
+
`The submission will auto-clean in ~${event.minutesUntilCleanup} minute(s). ` +
|
|
7300
|
+
`To retry, re-read it (non-destructive): curl -s -X POST -H "Authorization: Bearer $AUTH" http://localhost:${ctx.config.port}/secrets/retrieve/${event.token}.`;
|
|
7301
|
+
try {
|
|
7302
|
+
const sdRegistryPath = path.join(ctx.config.stateDir, 'topic-session-registry.json');
|
|
7303
|
+
let targetSession = null;
|
|
7304
|
+
if (fs.existsSync(sdRegistryPath)) {
|
|
7305
|
+
const registry = JSON.parse(fs.readFileSync(sdRegistryPath, 'utf-8'));
|
|
7306
|
+
targetSession = registry.topicToSession?.[String(topicId)] ?? null;
|
|
7307
|
+
}
|
|
7308
|
+
if (targetSession && ctx.sessionManager.isSessionAlive(targetSession)) {
|
|
7309
|
+
ctx.sessionManager.injectPasteNotification(targetSession, `<system-reminder>${systemMsg}</system-reminder>`);
|
|
7310
|
+
}
|
|
7311
|
+
}
|
|
7312
|
+
catch (err) {
|
|
7313
|
+
// @silent-fallback-ok — the stuck-consumer signal is best-effort
|
|
7314
|
+
console.error('[secret-drop] stuck-consumer notify failed:', err instanceof Error ? err.message : String(err));
|
|
7315
|
+
}
|
|
7316
|
+
});
|
|
7288
7317
|
/** Build a browser-clickable tunnel URL for a secret drop */
|
|
7289
7318
|
function secretDropUrl(token) {
|
|
7290
7319
|
const localUrl = `/secrets/drop/${token}`;
|
|
@@ -7391,7 +7420,9 @@ export function createRoutes(ctx) {
|
|
|
7391
7420
|
const fieldCount = Object.keys(submission.values).length;
|
|
7392
7421
|
const fieldNames = Object.keys(submission.values).join(', ');
|
|
7393
7422
|
const systemMsg = `[secret-drop-received] Secret "${submission.label}" was just submitted (${fieldCount} field${fieldCount !== 1 ? 's' : ''}: ${fieldNames}). ` +
|
|
7394
|
-
`Retrieve
|
|
7423
|
+
`Retrieve (non-destructive — safe to retry on parse error): curl -s -X POST -H "Authorization: Bearer $AUTH" http://localhost:${ctx.config.port}/secrets/retrieve/${req.params.token}. ` +
|
|
7424
|
+
`When you have successfully handed off the value, consume it: append ?consume=true to the same URL. ` +
|
|
7425
|
+
`Then acknowledge receipt to the user conversationally via Telegram topic ${topicId}.`;
|
|
7395
7426
|
const sdRegistryPath = path.join(ctx.config.stateDir, 'topic-session-registry.json');
|
|
7396
7427
|
let targetSession = null;
|
|
7397
7428
|
try {
|
|
@@ -7530,15 +7561,25 @@ export function createRoutes(ctx) {
|
|
|
7530
7561
|
}
|
|
7531
7562
|
res.json({ ok: true });
|
|
7532
7563
|
});
|
|
7533
|
-
// Retrieve a received secret (agent-facing, requires auth)
|
|
7534
|
-
//
|
|
7564
|
+
// Retrieve a received secret (agent-facing, requires auth).
|
|
7565
|
+
//
|
|
7566
|
+
// Non-destructive by default — repeated calls return the same value
|
|
7567
|
+
// until the in-memory cleanup timer fires (~5 min). Pass `?consume=true`
|
|
7568
|
+
// for the legacy one-shot semantics. Rationale: a buggy consumer that
|
|
7569
|
+
// dropped the response value used to lose the secret with no recovery;
|
|
7570
|
+
// non-destructive default lets the caller retry. See
|
|
7571
|
+
// docs/specs/secret-drop-hardening.md for the full rationale.
|
|
7535
7572
|
router.post('/secrets/retrieve/:token', (req, res) => {
|
|
7536
|
-
const
|
|
7573
|
+
const consumeFlag = req.query.consume;
|
|
7574
|
+
const consume = consumeFlag === 'true' || consumeFlag === '1';
|
|
7575
|
+
const submission = consume
|
|
7576
|
+
? secretDrop.consumeReceived(req.params.token)
|
|
7577
|
+
: secretDrop.peekReceived(req.params.token);
|
|
7537
7578
|
if (!submission) {
|
|
7538
7579
|
res.status(404).json({ error: 'No submission found for this token' });
|
|
7539
7580
|
return;
|
|
7540
7581
|
}
|
|
7541
|
-
res.json(submission);
|
|
7582
|
+
res.json({ ...submission, consumed: consume });
|
|
7542
7583
|
});
|
|
7543
7584
|
// ── Tunnel Status ──────────────────────────────────────────────
|
|
7544
7585
|
router.get('/tunnel', (_req, res) => {
|