@wrongstack/core 0.301.0 → 0.302.2

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.
Files changed (44) hide show
  1. package/dist/agent-status-tracker.d.ts +6 -2
  2. package/dist/chronicle/index.js +1836 -1645
  3. package/dist/chronicle/metrics-store.d.ts +14 -0
  4. package/dist/chronicle/project-server-protocol.d.ts +13 -0
  5. package/dist/chronicle/project-server.js +1759 -1583
  6. package/dist/chronicle/rollup-adapter.d.ts +2 -0
  7. package/dist/chronicle/sqlite-journal.d.ts +59 -0
  8. package/dist/coordination/index.js +791 -249
  9. package/dist/coordination/mail-tools.d.ts +2 -2
  10. package/dist/core/continue-intent.d.ts +2 -0
  11. package/dist/core/conversation-state.d.ts +5 -0
  12. package/dist/core/index.js +120 -19
  13. package/dist/defaults/index.js +928 -374
  14. package/dist/execution/index.js +28 -11
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.js +8763 -6781
  17. package/dist/infrastructure/index.js +722 -672
  18. package/dist/kernel/events/memory-events.d.ts +62 -0
  19. package/dist/plugin/index.js +2154 -1979
  20. package/dist/session-catalog/client.d.ts +62 -0
  21. package/dist/session-catalog/endpoint.d.ts +6 -0
  22. package/dist/session-catalog/index.d.ts +6 -0
  23. package/dist/session-catalog/index.js +1978 -0
  24. package/dist/session-catalog/project-server.d.ts +3 -0
  25. package/dist/session-catalog/project-server.js +1838 -0
  26. package/dist/session-catalog/protocol.d.ts +275 -0
  27. package/dist/session-catalog/registry.d.ts +59 -0
  28. package/dist/session-catalog/store.d.ts +55 -0
  29. package/dist/session-registry-types.d.ts +17 -0
  30. package/dist/session-registry.d.ts +1 -1
  31. package/dist/storage/index.d.ts +42 -38
  32. package/dist/storage/index.js +14279 -13393
  33. package/dist/storage/session-event-bridge.d.ts +2 -2
  34. package/dist/storage/session-store.d.ts +6 -0
  35. package/dist/tools/index.js +8 -2
  36. package/dist/types/context-evidence.d.ts +2 -0
  37. package/dist/types/messages.d.ts +8 -0
  38. package/dist/types/session.d.ts +19 -0
  39. package/dist/utils/context-evidence.d.ts +13 -1
  40. package/dist/utils/index.js +26 -2
  41. package/instructions/system-lite.md +11 -2
  42. package/instructions/system-pro.md +14 -0
  43. package/instructions/system.md +14 -0
  44. package/package.json +7 -3
@@ -29,6 +29,31 @@ export interface MemoryInjectorTraceMemory {
29
29
  value: number;
30
30
  }>;
31
31
  }
32
+ /**
33
+ * Per-memory rejection evidence emitted inside `memory.injector_run.rejectedDetail`.
34
+ *
35
+ * `gate` is one of the keys of the `rejected` integer map; `reason` is the
36
+ * same one-line rationale the SAGE injector attaches to `activated[].activationReasons`,
37
+ * so triage and Chronicle do not need to re-derive it. `relationStrength`
38
+ * and `score` are populated for the gates that compute them (`belowScore`,
39
+ * `budget`); other gates omit them.
40
+ *
41
+ * Structural on purpose: defined here (core) rather than in `@wrongstack/sage`
42
+ * because `MemoryEventMap` is structural and core must not depend on sage.
43
+ */
44
+ export interface RejectedMemoryTraceEntry {
45
+ id: string;
46
+ kind: string;
47
+ gate: 'duplicate' | 'belowScore' | 'alreadyVisible' | 'cooldown' | 'budget';
48
+ /** Bounded to 200 chars at the emitter. */
49
+ reason: string;
50
+ /** Present when gate === 'belowScore' | 'budget'. */
51
+ relationStrength?: number | undefined;
52
+ /** Present when gate === 'belowScore' | 'budget'. */
53
+ score?: number | undefined;
54
+ /** ISO timestamp of the run. */
55
+ at: string;
56
+ }
32
57
  export interface MemoryEventMap {
33
58
  /** Cache hit on session store load — used by observability layers. */
34
59
  'storage.cache_hit': {
@@ -229,6 +254,22 @@ export interface MemoryEventMap {
229
254
  cooldown: number;
230
255
  budget: number;
231
256
  };
257
+ /**
258
+ * Per-memory rejection evidence. The `rejected` integer map above is
259
+ * preserved for cheap aggregation; `rejectedDetail` lets downstream
260
+ * consumers (triage, Chronicle, observability surfaces) reason about
261
+ * *which* memories were almost injected and *which* gate rejected them.
262
+ *
263
+ * Capped at 20 entries by the SAGE injector with FIFO eviction;
264
+ * `rejectedDetailTotal` carries the pre-cap count when truncated.
265
+ * Full history lives in the Chronicle journal.
266
+ */
267
+ rejectedDetail: Array<RejectedMemoryTraceEntry>;
268
+ /**
269
+ * Pre-cap size of `rejectedDetail` when truncation happened. Undefined
270
+ * when `rejectedDetail.length === rejectedDetailTotal` (no truncation).
271
+ */
272
+ rejectedDetailTotal?: number | undefined;
232
273
  activated: MemoryInjectorTraceMemory[];
233
274
  injected: MemoryInjectorTraceMemory[];
234
275
  injectedChars: number;
@@ -236,6 +277,27 @@ export interface MemoryEventMap {
236
277
  sessionId?: string | undefined;
237
278
  traceId?: string | undefined;
238
279
  };
280
+ /**
281
+ * Threshold-crossed rejection-burst signal. Emitted when a memory is
282
+ * rejected by `belowScore` >= 3 times within a 5-minute rolling window.
283
+ *
284
+ * The threshold and window are SAGE-side; the shape is structural here.
285
+ * Triage reads this to fold fresh per-memory evidence into
286
+ * `computeValueScore` without scanning the entire chronicle.
287
+ *
288
+ * Volume is bounded by the threshold — at most one event per memory
289
+ * per window.
290
+ */
291
+ 'memory.injector_rejection_burst': {
292
+ memoryId: string;
293
+ gate: 'belowScore';
294
+ windowMs: number;
295
+ count: number;
296
+ reason: string;
297
+ at: string;
298
+ sessionId?: string | undefined;
299
+ traceId?: string | undefined;
300
+ };
239
301
  'memory.used': {
240
302
  memoryIds: string[];
241
303
  source: string;