instar 1.2.61 → 1.2.62
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 +10 -0
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +55 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +13 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/TopicIntent.d.ts +62 -1
- package/dist/core/TopicIntent.d.ts.map +1 -1
- package/dist/core/TopicIntent.js +131 -2
- package/dist/core/TopicIntent.js.map +1 -1
- package/dist/core/TopicIntentCapture.d.ts +124 -0
- package/dist/core/TopicIntentCapture.d.ts.map +1 -0
- package/dist/core/TopicIntentCapture.js +232 -0
- package/dist/core/TopicIntentCapture.js.map +1 -0
- package/dist/core/TopicIntentExtractor.d.ts +32 -0
- package/dist/core/TopicIntentExtractor.d.ts.map +1 -1
- package/dist/core/TopicIntentExtractor.js +52 -3
- package/dist/core/TopicIntentExtractor.js.map +1 -1
- package/dist/core/types.d.ts +10 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/topicIntentRoutes.d.ts.map +1 -1
- package/dist/server/topicIntentRoutes.js +61 -1
- package/dist/server/topicIntentRoutes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.2.62.md +75 -0
- package/upgrades/side-effects/topic-intent-capture-loop.md +100 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigDefaults.d.ts","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"ConfigDefaults.d.ts","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoMH,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIlF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAuC5D"}
|
|
@@ -62,6 +62,19 @@ const SHARED_DEFAULTS = {
|
|
|
62
62
|
visibility: 'public',
|
|
63
63
|
capabilities: ['chat'],
|
|
64
64
|
},
|
|
65
|
+
// Topic-intent auto-capture loop (rung 0 of continuous-working-awareness).
|
|
66
|
+
// ON by default (ratified): every substantive conversation turn gets a cheap
|
|
67
|
+
// fast-tier "anything worth filing?" read so the per-topic briefing/ArcCheck
|
|
68
|
+
// have real material. Bounded by a deterministic pre-filter + per-topic rate
|
|
69
|
+
// ceiling + the shared LlmQueue daily cap + QuotaTracker load-shedding, and
|
|
70
|
+
// fire-and-forget so it never slows message delivery. enabled:false is the
|
|
71
|
+
// kill-switch (store + read routes remain, capture goes inert).
|
|
72
|
+
// See docs/specs/topic-intent-capture-loop.md.
|
|
73
|
+
topicIntent: {
|
|
74
|
+
capture: {
|
|
75
|
+
enabled: true,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
65
78
|
// Scheduler default-on. Autonomous-continuity tasks (org-intent drift
|
|
66
79
|
// audits, threadline sync, post-update self-healing) only fire when the
|
|
67
80
|
// scheduler runs, so agents shipping without it lose silent infrastructure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigDefaults.js","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigDefaults.js","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,8 @@ export interface PendingConfirmation {
|
|
|
63
63
|
}
|
|
64
64
|
export interface TopicIntentFile {
|
|
65
65
|
topicId: number;
|
|
66
|
+
/** Per-topic monotonic user-turn counter (v1: single arc per topic). Additive; defaulted on read. */
|
|
67
|
+
turn?: number;
|
|
66
68
|
refs: Record<string, EstablishedRef>;
|
|
67
69
|
pending: {
|
|
68
70
|
outstanding: PendingConfirmation | null;
|
|
@@ -80,6 +82,35 @@ export interface TelemetryCounters {
|
|
|
80
82
|
pending_confirm_abandoned_total: number;
|
|
81
83
|
pending_confirm_expired_total: number;
|
|
82
84
|
pending_confirm_answered_total: Record<string, number>;
|
|
85
|
+
/**
|
|
86
|
+
* Capture-loop funnel counters (spec §10 — observability across the WHOLE
|
|
87
|
+
* loop: captured → surfaced → used → corrected). Additive; defaulted on read
|
|
88
|
+
* for back-compat with pre-capture-loop files.
|
|
89
|
+
*/
|
|
90
|
+
capture?: CaptureCounters;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Whole-loop capture funnel (spec §10). Capture side meters what we extracted;
|
|
94
|
+
* surface side meters whether what we captured actually reached the agent and
|
|
95
|
+
* changed anything. Pairing this with the HumanAsDetectorLog miss-heat-map is
|
|
96
|
+
* the effectiveness read.
|
|
97
|
+
*/
|
|
98
|
+
export interface CaptureCounters {
|
|
99
|
+
turns_seen: number;
|
|
100
|
+
prefilter_skipped: number;
|
|
101
|
+
extractions_attempted: number;
|
|
102
|
+
extractions_emitted: number;
|
|
103
|
+
refs_created: number;
|
|
104
|
+
degraded_no_intelligence: number;
|
|
105
|
+
degraded_cap_or_error: number;
|
|
106
|
+
degraded_shed: number;
|
|
107
|
+
rate_limited: number;
|
|
108
|
+
briefing_served: number;
|
|
109
|
+
briefing_refs_settled: number;
|
|
110
|
+
briefing_refs_tentative: number;
|
|
111
|
+
arccheck_fired: number;
|
|
112
|
+
arccheck_signalled: number;
|
|
113
|
+
last_capture_at: string | null;
|
|
83
114
|
}
|
|
84
115
|
export declare const SIGNAL_DELTA: Record<EvidenceKind, number>;
|
|
85
116
|
export declare const USER_AUTHORED_BY_DEFAULT: Record<EvidenceKind, boolean>;
|
|
@@ -130,7 +161,12 @@ export declare class TopicIntentStore {
|
|
|
130
161
|
private filePath;
|
|
131
162
|
/** Load a topic's intent file, returning an empty skeleton if missing or corrupt. */
|
|
132
163
|
load(topicId: number): TopicIntentFile;
|
|
133
|
-
/**
|
|
164
|
+
/**
|
|
165
|
+
* Persist the topic's intent file ATOMICALLY (write to a unique temp file +
|
|
166
|
+
* rename — rename is atomic on POSIX, so a concurrent reader never sees a
|
|
167
|
+
* torn/half-written file). This is the corruption-safety half of the
|
|
168
|
+
* concurrent-write guard; appendEvidence adds the lost-update guard (CAS).
|
|
169
|
+
*/
|
|
134
170
|
save(file: TopicIntentFile): void;
|
|
135
171
|
/**
|
|
136
172
|
* Append an evidence event to a refId. Creates the ref if it doesn't exist.
|
|
@@ -138,6 +174,28 @@ export declare class TopicIntentStore {
|
|
|
138
174
|
* Updates telemetry counters.
|
|
139
175
|
*/
|
|
140
176
|
appendEvidence(topicId: number, refId: string, ev: EvidenceEvent, refInit?: Partial<EstablishedRef>): TopicIntentFile;
|
|
177
|
+
/**
|
|
178
|
+
* Acquire a per-topic lock (atomic mkdir), run fn, release. Bounded spin with
|
|
179
|
+
* stale-lock steal so a crashed holder can't wedge the file forever. Capture
|
|
180
|
+
* runs off the delivery path (queued), so brief contention spin is acceptable.
|
|
181
|
+
*/
|
|
182
|
+
private withTopicLock;
|
|
183
|
+
/** Single load→mutate→atomic-save pass (runs under withTopicLock). */
|
|
184
|
+
private applyEvidence;
|
|
185
|
+
/** The (single, v1) arc id for a topic. */
|
|
186
|
+
arcIdFor(topicId: number): string;
|
|
187
|
+
/** Atomically increment and return the per-topic user-turn counter. */
|
|
188
|
+
bumpTurn(topicId: number): number;
|
|
189
|
+
/**
|
|
190
|
+
* Atomically increment one or more capture-funnel counters (spec §10).
|
|
191
|
+
* Runs under the per-topic lock so concurrent captures / briefing fetches /
|
|
192
|
+
* arccheck calls don't clobber each other's counter writes. Best-effort —
|
|
193
|
+
* metering must never throw into the path that calls it, so all failures are
|
|
194
|
+
* swallowed (the counter is a diagnostic, not correctness-critical).
|
|
195
|
+
*
|
|
196
|
+
* `at` (when provided) sets `last_capture_at`.
|
|
197
|
+
*/
|
|
198
|
+
bumpCaptureCounters(topicId: number, deltas: Partial<Record<NumericCaptureKey, number>>, at?: string): void;
|
|
141
199
|
/** Get the live projection for a refId (recomputed from evidence). */
|
|
142
200
|
getProjection(topicId: number, refId: string, nowMs?: number): ProjectionResult | null;
|
|
143
201
|
/** Get all refs for a topic at current tier or above. */
|
|
@@ -147,6 +205,9 @@ export declare class TopicIntentStore {
|
|
|
147
205
|
/** Full read of a topic's file (for diagnostics endpoint). */
|
|
148
206
|
read(topicId: number): TopicIntentFile;
|
|
149
207
|
}
|
|
208
|
+
export declare function defaultCaptureCounters(): CaptureCounters;
|
|
209
|
+
/** Numeric (additive) capture-counter keys — excludes the timestamp field. */
|
|
210
|
+
export type NumericCaptureKey = Exclude<keyof CaptureCounters, 'last_capture_at'>;
|
|
150
211
|
export declare const TOPIC_INTENT_CONSTANTS: {
|
|
151
212
|
DECAY_HALF_LIFE_DAYS: number;
|
|
152
213
|
DECAY_GRACE_DAYS: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopicIntent.d.ts","sourceRoot":"","sources":["../../src/core/TopicIntent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"TopicIntent.d.ts","sourceRoot":"","sources":["../../src/core/TopicIntent.ts"],"names":[],"mappings":"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"}
|
package/dist/core/TopicIntent.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import fs from 'node:fs';
|
|
18
18
|
import path from 'node:path';
|
|
19
19
|
import { randomUUID } from 'node:crypto';
|
|
20
|
+
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
20
21
|
// ── Constants from spec ──────────────────────────────────────────────────
|
|
21
22
|
const DECAY_HALF_LIFE_DAYS = 180;
|
|
22
23
|
const DECAY_GRACE_DAYS = 30;
|
|
@@ -230,6 +231,10 @@ export class TopicIntentStore {
|
|
|
230
231
|
parsed.telemetry = emptyTelemetry();
|
|
231
232
|
if (parsed.schemaVersion === undefined)
|
|
232
233
|
parsed.schemaVersion = 1;
|
|
234
|
+
if (parsed.turn === undefined)
|
|
235
|
+
parsed.turn = 0;
|
|
236
|
+
if (!parsed.telemetry.capture)
|
|
237
|
+
parsed.telemetry.capture = defaultCaptureCounters();
|
|
233
238
|
return parsed;
|
|
234
239
|
}
|
|
235
240
|
}
|
|
@@ -238,11 +243,18 @@ export class TopicIntentStore {
|
|
|
238
243
|
}
|
|
239
244
|
return emptyFile(topicId);
|
|
240
245
|
}
|
|
241
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* Persist the topic's intent file ATOMICALLY (write to a unique temp file +
|
|
248
|
+
* rename — rename is atomic on POSIX, so a concurrent reader never sees a
|
|
249
|
+
* torn/half-written file). This is the corruption-safety half of the
|
|
250
|
+
* concurrent-write guard; appendEvidence adds the lost-update guard (CAS).
|
|
251
|
+
*/
|
|
242
252
|
save(file) {
|
|
243
253
|
const fp = this.filePath(file.topicId);
|
|
244
254
|
try {
|
|
245
|
-
|
|
255
|
+
const tmp = `${fp}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
256
|
+
fs.writeFileSync(tmp, JSON.stringify(file, null, 2));
|
|
257
|
+
fs.renameSync(tmp, fp);
|
|
246
258
|
}
|
|
247
259
|
catch (err) {
|
|
248
260
|
console.error(`[TopicIntentStore] Failed to save ${fp}: ${err}`);
|
|
@@ -254,7 +266,59 @@ export class TopicIntentStore {
|
|
|
254
266
|
* Updates telemetry counters.
|
|
255
267
|
*/
|
|
256
268
|
appendEvidence(topicId, refId, ev, refInit) {
|
|
269
|
+
// Hold a cross-process lock around load→mutate→atomic-save so two sessions
|
|
270
|
+
// capturing the same topic can't lose each other's events (the lost-update
|
|
271
|
+
// race). mkdir is atomic across processes; save() is atomic against torn
|
|
272
|
+
// reads. Together they make the append concurrency-safe.
|
|
273
|
+
return this.withTopicLock(topicId, () => this.applyEvidence(topicId, refId, ev, refInit));
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Acquire a per-topic lock (atomic mkdir), run fn, release. Bounded spin with
|
|
277
|
+
* stale-lock steal so a crashed holder can't wedge the file forever. Capture
|
|
278
|
+
* runs off the delivery path (queued), so brief contention spin is acceptable.
|
|
279
|
+
*/
|
|
280
|
+
withTopicLock(topicId, fn) {
|
|
281
|
+
const lockPath = this.filePath(topicId) + '.lock';
|
|
282
|
+
const deadline = Date.now() + 2000;
|
|
283
|
+
let held = false;
|
|
284
|
+
while (Date.now() < deadline) {
|
|
285
|
+
try {
|
|
286
|
+
fs.mkdirSync(lockPath);
|
|
287
|
+
held = true;
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
try {
|
|
292
|
+
if (Date.now() - fs.statSync(lockPath).mtimeMs > 5000) {
|
|
293
|
+
SafeFsExecutor.safeRmdirSync(lockPath, { operation: 'TopicIntentStore.withTopicLock:steal-stale' });
|
|
294
|
+
continue;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
catch { /* lock vanished — retry acquire */ }
|
|
298
|
+
const until = Date.now() + 15;
|
|
299
|
+
while (Date.now() < until) { /* brief spin */ }
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
try {
|
|
303
|
+
return fn();
|
|
304
|
+
}
|
|
305
|
+
finally {
|
|
306
|
+
if (held) {
|
|
307
|
+
try {
|
|
308
|
+
SafeFsExecutor.safeRmdirSync(lockPath, { operation: 'TopicIntentStore.withTopicLock:release' });
|
|
309
|
+
}
|
|
310
|
+
catch { /* best-effort release */ }
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/** Single load→mutate→atomic-save pass (runs under withTopicLock). */
|
|
315
|
+
applyEvidence(topicId, refId, ev, refInit) {
|
|
257
316
|
const file = this.load(topicId);
|
|
317
|
+
// Idempotency: never append the same event twice (defends retries / replays).
|
|
318
|
+
for (const existing of Object.values(file.refs)) {
|
|
319
|
+
if (existing.evidence.some(e => e.eventId === ev.eventId))
|
|
320
|
+
return file;
|
|
321
|
+
}
|
|
258
322
|
let ref = file.refs[refId];
|
|
259
323
|
if (!ref) {
|
|
260
324
|
ref = {
|
|
@@ -290,6 +354,50 @@ export class TopicIntentStore {
|
|
|
290
354
|
this.save(file);
|
|
291
355
|
return file;
|
|
292
356
|
}
|
|
357
|
+
/** The (single, v1) arc id for a topic. */
|
|
358
|
+
arcIdFor(topicId) {
|
|
359
|
+
return `arc-${topicId}`;
|
|
360
|
+
}
|
|
361
|
+
/** Atomically increment and return the per-topic user-turn counter. */
|
|
362
|
+
bumpTurn(topicId) {
|
|
363
|
+
return this.withTopicLock(topicId, () => {
|
|
364
|
+
const file = this.load(topicId);
|
|
365
|
+
file.turn = (file.turn ?? 0) + 1;
|
|
366
|
+
this.save(file);
|
|
367
|
+
return file.turn;
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Atomically increment one or more capture-funnel counters (spec §10).
|
|
372
|
+
* Runs under the per-topic lock so concurrent captures / briefing fetches /
|
|
373
|
+
* arccheck calls don't clobber each other's counter writes. Best-effort —
|
|
374
|
+
* metering must never throw into the path that calls it, so all failures are
|
|
375
|
+
* swallowed (the counter is a diagnostic, not correctness-critical).
|
|
376
|
+
*
|
|
377
|
+
* `at` (when provided) sets `last_capture_at`.
|
|
378
|
+
*/
|
|
379
|
+
bumpCaptureCounters(topicId, deltas, at) {
|
|
380
|
+
try {
|
|
381
|
+
this.withTopicLock(topicId, () => {
|
|
382
|
+
const file = this.load(topicId);
|
|
383
|
+
if (!file.telemetry.capture)
|
|
384
|
+
file.telemetry.capture = defaultCaptureCounters();
|
|
385
|
+
const c = file.telemetry.capture;
|
|
386
|
+
for (const [k, v] of Object.entries(deltas)) {
|
|
387
|
+
if (typeof v === 'number' && Number.isFinite(v)) {
|
|
388
|
+
const key = k;
|
|
389
|
+
c[key] = (c[key] ?? 0) + v;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
if (at)
|
|
393
|
+
c.last_capture_at = at;
|
|
394
|
+
this.save(file);
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
catch (err) {
|
|
398
|
+
console.error(`[TopicIntentStore] bumpCaptureCounters(${topicId}) failed: ${err}`);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
293
401
|
/** Get the live projection for a refId (recomputed from evidence). */
|
|
294
402
|
getProjection(topicId, refId, nowMs) {
|
|
295
403
|
const file = this.load(topicId);
|
|
@@ -328,11 +436,32 @@ function emptyTelemetry() {
|
|
|
328
436
|
pending_confirm_abandoned_total: 0,
|
|
329
437
|
pending_confirm_expired_total: 0,
|
|
330
438
|
pending_confirm_answered_total: {},
|
|
439
|
+
capture: defaultCaptureCounters(),
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
export function defaultCaptureCounters() {
|
|
443
|
+
return {
|
|
444
|
+
turns_seen: 0,
|
|
445
|
+
prefilter_skipped: 0,
|
|
446
|
+
extractions_attempted: 0,
|
|
447
|
+
extractions_emitted: 0,
|
|
448
|
+
refs_created: 0,
|
|
449
|
+
degraded_no_intelligence: 0,
|
|
450
|
+
degraded_cap_or_error: 0,
|
|
451
|
+
degraded_shed: 0,
|
|
452
|
+
rate_limited: 0,
|
|
453
|
+
briefing_served: 0,
|
|
454
|
+
briefing_refs_settled: 0,
|
|
455
|
+
briefing_refs_tentative: 0,
|
|
456
|
+
arccheck_fired: 0,
|
|
457
|
+
arccheck_signalled: 0,
|
|
458
|
+
last_capture_at: null,
|
|
331
459
|
};
|
|
332
460
|
}
|
|
333
461
|
function emptyFile(topicId) {
|
|
334
462
|
return {
|
|
335
463
|
topicId,
|
|
464
|
+
turn: 0,
|
|
336
465
|
refs: {},
|
|
337
466
|
pending: { outstanding: null, queue: [] },
|
|
338
467
|
telemetry: emptyTelemetry(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopicIntent.js","sourceRoot":"","sources":["../../src/core/TopicIntent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TopicIntent.js","sourceRoot":"","sources":["../../src/core/TopicIntent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TopicIntentCapture — the adapter-agnostic capture step that fills the
|
|
3
|
+
* topic-intent store from live conversation (rung 0 of the Continuous Working
|
|
4
|
+
* Awareness north star). Spec: docs/specs/topic-intent-capture-loop.md.
|
|
5
|
+
*
|
|
6
|
+
* This is the "clerk" that was missing: the store, briefing, and ArcCheck all
|
|
7
|
+
* shipped, but nothing ever invoked `ingest()` on a real turn, so the cabinet
|
|
8
|
+
* stayed empty (the textbook "shipped but asleep" bug). This module is the
|
|
9
|
+
* single seam that watches each turn and files what matters.
|
|
10
|
+
*
|
|
11
|
+
* Design invariants (carried from the human-as-detector build + spec):
|
|
12
|
+
* - Best-effort, NEVER throws into the message/delivery path (acceptance #4).
|
|
13
|
+
* - Fire-and-forget: extraction runs off the delivery path; capture latency
|
|
14
|
+
* can never slow a message reaching the user.
|
|
15
|
+
* - Degrade-safe: no provider, cap breach, or provider error → a counter tick
|
|
16
|
+
* and a silent no-op, never an error.
|
|
17
|
+
* - Framework-agnostic: Telegram is merely the first wiring; the helper takes
|
|
18
|
+
* a generic entry, not a Telegram type.
|
|
19
|
+
*
|
|
20
|
+
* The pre-filter (`isSubstantiveTurn`) is a STATE-DETECTOR per
|
|
21
|
+
* `[[feedback_state_detection_robustness]]`: deterministic + fail-open, shipped
|
|
22
|
+
* with a canary (`runPreFilterCanary`) and registered in
|
|
23
|
+
* docs/specs/06-state-detector-registry.md. Its silent failure mode is
|
|
24
|
+
* sentinel-format drift → over-skip → real captures dropped → the original
|
|
25
|
+
* "no record for the topic" bug recurs.
|
|
26
|
+
*/
|
|
27
|
+
import type { IntelligenceProvider } from './types.js';
|
|
28
|
+
import type { TopicIntentStore } from './TopicIntent.js';
|
|
29
|
+
import type { TopicIntentExtractor } from './TopicIntentExtractor.js';
|
|
30
|
+
/**
|
|
31
|
+
* Decide whether a turn is worth sending to the extractor. Deterministic and
|
|
32
|
+
* FAIL-OPEN: returns true (capture) unless the turn is high-confidence trivial.
|
|
33
|
+
*
|
|
34
|
+
* Skips: empty / whitespace-only; agent sentinel/heartbeat/proxy lines; short
|
|
35
|
+
* bare acknowledgements. Everything else passes to the LLM, which makes the
|
|
36
|
+
* real significance call with broader context.
|
|
37
|
+
*/
|
|
38
|
+
export declare function isSubstantiveTurn(text: string | undefined | null, fromUser: boolean): boolean;
|
|
39
|
+
export interface CanarySample {
|
|
40
|
+
text: string;
|
|
41
|
+
fromUser: boolean;
|
|
42
|
+
/** Expected pre-filter verdict: true = should pass to LLM, false = should skip. */
|
|
43
|
+
expectSubstantive: boolean;
|
|
44
|
+
label: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Known-good samples the pre-filter MUST classify correctly. If a code change
|
|
48
|
+
* (or sentinel-format drift) breaks one of these, the canary fails loudly so we
|
|
49
|
+
* notice BEFORE real captures are silently dropped.
|
|
50
|
+
*/
|
|
51
|
+
export declare const PRE_FILTER_CANARY_SAMPLES: CanarySample[];
|
|
52
|
+
export interface CanaryResult {
|
|
53
|
+
ok: boolean;
|
|
54
|
+
failures: Array<{
|
|
55
|
+
label: string;
|
|
56
|
+
expected: boolean;
|
|
57
|
+
got: boolean;
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
60
|
+
/** Run the pre-filter canary over the known samples. */
|
|
61
|
+
export declare function runPreFilterCanary(): CanaryResult;
|
|
62
|
+
export type EnqueueFn = (lane: 'interactive' | 'background', fn: (signal: AbortSignal) => Promise<string>, costCents?: number) => Promise<string>;
|
|
63
|
+
/** Fast-tier per-turn cost estimate (cents) for the daily-cap accounting. */
|
|
64
|
+
export declare const TOPIC_INTENT_CAPTURE_COST_CENTS = 0.2;
|
|
65
|
+
/**
|
|
66
|
+
* Wrap an IntelligenceProvider so every call is admitted through the shared
|
|
67
|
+
* LlmQueue (background lane: capture is never user-interactive, and must yield
|
|
68
|
+
* to interactive work). The TRANSPORT stays the injected `intelligence` — which
|
|
69
|
+
* production resolves to the subscription / REPL-pool provider — so this never
|
|
70
|
+
* touches the raw Messages API (`[[feedback_anthropic_path_constraints]]`,
|
|
71
|
+
* acceptance #6). On daily-cap breach the queue THROWS; createLlmExtractFn
|
|
72
|
+
* catches it and degrades to a counter tick.
|
|
73
|
+
*/
|
|
74
|
+
export declare function createQueuedIntelligence(intelligence: IntelligenceProvider, enqueue: EnqueueFn, costCents?: number): IntelligenceProvider;
|
|
75
|
+
export interface CaptureTurnEntry {
|
|
76
|
+
/** Server-assigned, non-user-forgeable message id (keys per-message dedup). */
|
|
77
|
+
messageId: string | number;
|
|
78
|
+
topicId?: number;
|
|
79
|
+
text?: string;
|
|
80
|
+
fromUser: boolean;
|
|
81
|
+
/** ISO8601 string or epoch ms. */
|
|
82
|
+
timestamp?: string | number;
|
|
83
|
+
}
|
|
84
|
+
/** Minimal rolling-summary surface (satisfied by TopicMemory). */
|
|
85
|
+
export interface RollingSummaryProvider {
|
|
86
|
+
getTopicSummary(topicId: number): {
|
|
87
|
+
summary: string;
|
|
88
|
+
} | null;
|
|
89
|
+
}
|
|
90
|
+
export interface CaptureLoopDeps {
|
|
91
|
+
extractor: TopicIntentExtractor;
|
|
92
|
+
store: TopicIntentStore;
|
|
93
|
+
/** Source of the rolling summary fed to the extractor (broader context). */
|
|
94
|
+
topicMemory?: RollingSummaryProvider | null;
|
|
95
|
+
/** Skip capture under quota pressure (QuotaTracker load-shedding). */
|
|
96
|
+
shouldShed?: () => boolean;
|
|
97
|
+
/** Per-topic extraction rate ceiling (defense beyond the pre-filter). */
|
|
98
|
+
rateCeiling?: {
|
|
99
|
+
maxPerWindow: number;
|
|
100
|
+
windowMs: number;
|
|
101
|
+
};
|
|
102
|
+
now?: () => number;
|
|
103
|
+
}
|
|
104
|
+
export type CaptureStatus = 'captured' | 'skipped-prefilter' | 'skipped-shed' | 'skipped-rate' | 'no-topic' | 'degraded';
|
|
105
|
+
export interface CaptureOutcome {
|
|
106
|
+
status: CaptureStatus;
|
|
107
|
+
emitted?: number;
|
|
108
|
+
createdRefs?: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Capture one conversation turn. Pre-filter → (shed/rate gates) → build broader
|
|
112
|
+
* context → extractor.ingest. Never throws; on any unexpected failure it ticks
|
|
113
|
+
* `degraded_cap_or_error` and returns { status: 'degraded' }.
|
|
114
|
+
*
|
|
115
|
+
* `rateState` (topicId → recent attempt timestamps) is owned by the caller
|
|
116
|
+
* (see createCaptureLoop) so the rate ceiling persists across turns.
|
|
117
|
+
*/
|
|
118
|
+
export declare function captureTurn(deps: CaptureLoopDeps, entry: CaptureTurnEntry, rateState?: Map<number, number[]>): Promise<CaptureOutcome>;
|
|
119
|
+
/**
|
|
120
|
+
* Build a stateful capture closure. The returned function holds the per-topic
|
|
121
|
+
* rate-limit state across turns; wire it onto the inbound message callback.
|
|
122
|
+
*/
|
|
123
|
+
export declare function createCaptureLoop(deps: CaptureLoopDeps): (entry: CaptureTurnEntry) => Promise<CaptureOutcome>;
|
|
124
|
+
//# sourceMappingURL=TopicIntentCapture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopicIntentCapture.d.ts","sourceRoot":"","sources":["../../src/core/TopicIntentCapture.ts"],"names":[],"mappings":"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"}
|