@wrongstack/core 0.291.2 → 0.292.0

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 (127) hide show
  1. package/dist/coordination/director-tools.d.ts.map +1 -1
  2. package/dist/coordination/index.js +113 -113
  3. package/dist/coordination/index.js.map +3 -3
  4. package/dist/core/agent-loop.d.ts.map +1 -1
  5. package/dist/core/agent-response.d.ts.map +1 -1
  6. package/dist/core/context.d.ts +10 -0
  7. package/dist/core/context.d.ts.map +1 -1
  8. package/dist/core/system-prompt-builder.d.ts +20 -1
  9. package/dist/core/system-prompt-builder.d.ts.map +1 -1
  10. package/dist/defaults/index.d.ts +1 -0
  11. package/dist/defaults/index.d.ts.map +1 -1
  12. package/dist/defaults/index.js +3132 -2440
  13. package/dist/defaults/index.js.map +4 -4
  14. package/dist/execution/auto-compaction-middleware.d.ts +34 -2
  15. package/dist/execution/auto-compaction-middleware.d.ts.map +1 -1
  16. package/dist/execution/compaction-core.d.ts +59 -0
  17. package/dist/execution/compaction-core.d.ts.map +1 -1
  18. package/dist/execution/compactor.d.ts.map +1 -1
  19. package/dist/execution/error-handler.d.ts +7 -0
  20. package/dist/execution/error-handler.d.ts.map +1 -1
  21. package/dist/execution/index.d.ts +1 -0
  22. package/dist/execution/index.d.ts.map +1 -1
  23. package/dist/execution/index.js +4677 -3924
  24. package/dist/execution/index.js.map +4 -4
  25. package/dist/execution/intelligent-compactor.d.ts.map +1 -1
  26. package/dist/execution/model-runtime.d.ts.map +1 -1
  27. package/dist/execution/selective-compactor.d.ts +10 -0
  28. package/dist/execution/selective-compactor.d.ts.map +1 -1
  29. package/dist/execution/subagent-compaction.d.ts +24 -0
  30. package/dist/execution/subagent-compaction.d.ts.map +1 -0
  31. package/dist/hq/alerts.d.ts +5 -0
  32. package/dist/hq/alerts.d.ts.map +1 -1
  33. package/dist/hq/auth-audit.d.ts +115 -0
  34. package/dist/hq/auth-audit.d.ts.map +1 -0
  35. package/dist/hq/auth-store.d.ts +98 -2
  36. package/dist/hq/auth-store.d.ts.map +1 -1
  37. package/dist/hq/brain-bridge.d.ts +2 -8
  38. package/dist/hq/brain-bridge.d.ts.map +1 -1
  39. package/dist/hq/bridge-context.d.ts +74 -0
  40. package/dist/hq/bridge-context.d.ts.map +1 -0
  41. package/dist/hq/cost-bridge.d.ts +4 -10
  42. package/dist/hq/cost-bridge.d.ts.map +1 -1
  43. package/dist/hq/fleet-bridge.d.ts +2 -8
  44. package/dist/hq/fleet-bridge.d.ts.map +1 -1
  45. package/dist/hq/index.d.ts +2 -0
  46. package/dist/hq/index.d.ts.map +1 -1
  47. package/dist/hq/index.js +358 -222
  48. package/dist/hq/index.js.map +4 -4
  49. package/dist/hq/protocol/session.d.ts +13 -0
  50. package/dist/hq/protocol/session.d.ts.map +1 -1
  51. package/dist/hq/tool-bridge.d.ts +2 -8
  52. package/dist/hq/tool-bridge.d.ts.map +1 -1
  53. package/dist/hq/worktree-bridge.d.ts +2 -8
  54. package/dist/hq/worktree-bridge.d.ts.map +1 -1
  55. package/dist/index.d.ts +4 -2
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +6054 -4741
  58. package/dist/index.js.map +4 -4
  59. package/dist/infrastructure/index.js +32 -15
  60. package/dist/infrastructure/index.js.map +2 -2
  61. package/dist/infrastructure/provider-cache-ledger.d.ts +48 -0
  62. package/dist/infrastructure/provider-cache-ledger.d.ts.map +1 -0
  63. package/dist/infrastructure/token-counter.d.ts +4 -2
  64. package/dist/infrastructure/token-counter.d.ts.map +1 -1
  65. package/dist/kernel/events/brain-events.d.ts +2 -0
  66. package/dist/kernel/events/brain-events.d.ts.map +1 -1
  67. package/dist/kernel/events/memory-events.d.ts +102 -0
  68. package/dist/kernel/events/memory-events.d.ts.map +1 -1
  69. package/dist/kernel/events/session-events.d.ts +35 -0
  70. package/dist/kernel/events/session-events.d.ts.map +1 -1
  71. package/dist/models/index.js +161 -78
  72. package/dist/models/index.js.map +3 -3
  73. package/dist/models/llm-selector.d.ts.map +1 -1
  74. package/dist/notifications/index.d.ts +40 -0
  75. package/dist/notifications/index.d.ts.map +1 -0
  76. package/dist/notifications/notifier-impl.d.ts +34 -0
  77. package/dist/notifications/notifier-impl.d.ts.map +1 -0
  78. package/dist/notifications/notifier.d.ts +95 -0
  79. package/dist/notifications/notifier.d.ts.map +1 -0
  80. package/dist/notifications/types.d.ts +111 -0
  81. package/dist/notifications/types.d.ts.map +1 -0
  82. package/dist/plugin/api.d.ts +10 -1
  83. package/dist/plugin/api.d.ts.map +1 -1
  84. package/dist/registry/provider-registry.d.ts +1 -1
  85. package/dist/registry/provider-registry.d.ts.map +1 -1
  86. package/dist/security/index.js +15 -15
  87. package/dist/security/index.js.map +3 -3
  88. package/dist/skills/index.js +80 -80
  89. package/dist/skills/index.js.map +3 -3
  90. package/dist/storage/config-loader.d.ts +3 -5
  91. package/dist/storage/config-loader.d.ts.map +1 -1
  92. package/dist/storage/index.js +325 -259
  93. package/dist/storage/index.js.map +4 -4
  94. package/dist/storage/memory-consolidator.d.ts +14 -2
  95. package/dist/storage/memory-consolidator.d.ts.map +1 -1
  96. package/dist/storage/queue-store.d.ts +2 -0
  97. package/dist/storage/queue-store.d.ts.map +1 -1
  98. package/dist/tools/index.js +6 -6
  99. package/dist/tools/index.js.map +3 -3
  100. package/dist/tools/mcp-control.d.ts +1 -1
  101. package/dist/types/config.d.ts +64 -20
  102. package/dist/types/config.d.ts.map +1 -1
  103. package/dist/types/index.js +60 -34
  104. package/dist/types/index.js.map +3 -3
  105. package/dist/types/plugin.d.ts +11 -0
  106. package/dist/types/plugin.d.ts.map +1 -1
  107. package/dist/types/provider.d.ts +31 -0
  108. package/dist/types/provider.d.ts.map +1 -1
  109. package/dist/types/token-counter.d.ts +8 -1
  110. package/dist/types/token-counter.d.ts.map +1 -1
  111. package/dist/utils/cache-key.d.ts +19 -0
  112. package/dist/utils/cache-key.d.ts.map +1 -0
  113. package/dist/utils/compaction-preview.d.ts +8 -0
  114. package/dist/utils/compaction-preview.d.ts.map +1 -0
  115. package/dist/utils/context-breakdown.d.ts +59 -0
  116. package/dist/utils/context-breakdown.d.ts.map +1 -0
  117. package/dist/utils/context-evidence.d.ts +22 -0
  118. package/dist/utils/context-evidence.d.ts.map +1 -1
  119. package/dist/utils/index.d.ts +2 -0
  120. package/dist/utils/index.d.ts.map +1 -1
  121. package/dist/utils/index.js +1730 -1543
  122. package/dist/utils/index.js.map +4 -4
  123. package/dist/utils/token-estimate.d.ts +27 -0
  124. package/dist/utils/token-estimate.d.ts.map +1 -1
  125. package/instructions/llm/memory-consolidator.md +19 -3
  126. package/instructions/system.md +10 -2
  127. package/package.json +2 -2
@@ -0,0 +1,48 @@
1
+ import type { EventBus } from '../kernel/events.js';
2
+ export interface ProviderCacheEntry {
3
+ provider: string;
4
+ input: number;
5
+ cacheRead: number;
6
+ cacheWrite: number;
7
+ /** cacheRead / (cacheRead + input); 0 when nothing cached. */
8
+ hitRatio: number;
9
+ }
10
+ /**
11
+ * Per-provider prompt-cache accounting for a session. `TokenCounter.cacheStats()`
12
+ * blends every provider into one figure; this splits it so a session that
13
+ * switched providers (fallback, `/model`) can show each provider's real
14
+ * cache-hit ratio.
15
+ *
16
+ * New counters provide an exact per-call `deltaUsage`; older event producers
17
+ * remain compatible through cumulative-snapshot differencing. The explicit
18
+ * delta keeps attribution correct even when asynchronous price lookups settle
19
+ * out of order after a provider switch.
20
+ *
21
+ * **LIFECYCLE WARNING:** The constructor subscribes to `events.on('token.accounted', …)`,
22
+ * creating a permanent listener on the shared EventBus. The **caller MUST invoke
23
+ * `dispose()` on session teardown** (e.g. via the `detachTodosCheckpoint` chain
24
+ * in `packages/cli/src/wiring/session.ts`). Failure to do so leaks the listener
25
+ * across session restarts/resumes — every constructor invocation after the first
26
+ * adds a permanent listener that accumulates unboundedly.
27
+ */
28
+ export declare class ProviderCacheLedger {
29
+ private readonly byProvider;
30
+ private last;
31
+ private readonly off;
32
+ constructor(events: EventBus);
33
+ private record;
34
+ /** Distinct providers seen this session. */
35
+ providers(): string[];
36
+ /** Per-provider cache stats, most-cached first. */
37
+ perProvider(): ProviderCacheEntry[];
38
+ /**
39
+ * Unsubscribe from the event bus and release the per-session listener.
40
+ *
41
+ * **The caller MUST invoke `dispose()` on session teardown** — see the
42
+ * constructor's lifecycle warning. Failure to call this method leaves a
43
+ * permanent `token.accounted` listener on the shared EventBus that
44
+ * accumulates unboundedly across session restarts/resumes.
45
+ */
46
+ dispose(): void;
47
+ }
48
+ //# sourceMappingURL=provider-cache-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-cache-ledger.d.ts","sourceRoot":"","sources":["../../src/infrastructure/provider-cache-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAQD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,IAAI,CAAoD;IAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IAEjC,YAAY,MAAM,EAAE,QAAQ,EAO3B;IAED,OAAO,CAAC,MAAM;IA8Bd,4CAA4C;IAC5C,SAAS,IAAI,MAAM,EAAE,CAEpB;IAED,mDAAmD;IACnD,WAAW,IAAI,kBAAkB,EAAE,CAalC;IAED;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI,CAEd;CACF"}
@@ -14,6 +14,7 @@ export declare class DefaultTokenCounter implements TokenCounter {
14
14
  private cacheWrite;
15
15
  private costInput;
16
16
  private costOutput;
17
+ private cacheSaved;
17
18
  private readonly registry?;
18
19
  private readonly providerId?;
19
20
  private readonly events?;
@@ -25,12 +26,12 @@ export declare class DefaultTokenCounter implements TokenCounter {
25
26
  private lastCacheWrite;
26
27
  constructor(opts?: {
27
28
  registry?: ModelsRegistry | undefined;
28
- providerId?: string | undefined;
29
+ providerId?: string | (() => string | undefined) | undefined;
29
30
  events?: EventBus | undefined;
30
31
  sessionId?: string | (() => string | undefined) | undefined;
31
32
  });
32
33
  setSessionId(sessionId: string | (() => string | undefined) | undefined): void;
33
- account(usage: Usage, model?: string): void;
34
+ account(usage: Usage, model?: string, providerId?: string | undefined): void;
34
35
  /** Synchronous variant for code paths that have already resolved the model. */
35
36
  accountWithModel(usage: Usage, resolved: ResolvedModel): void;
36
37
  total(): Usage;
@@ -51,6 +52,7 @@ export declare class DefaultTokenCounter implements TokenCounter {
51
52
  invalidateCache(): void;
52
53
  private emitAccounted;
53
54
  private currentSessionId;
55
+ private currentProviderId;
54
56
  reset(): void;
55
57
  private applyPrice;
56
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../src/infrastructure/token-counter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAa1E;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAAC,CAAkD;IACpE,OAAO,CAAC,UAAU,CAAiC;IACnD,uFAAuF;IACvF,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAE3B,YACE,IAAI,GAAE;QACJ,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;QACtC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;KACxD,EAMP;IAED,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,CAE7E;IAED,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAqD1C;IAED,+EAA+E;IAC/E,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAkB5D;IAED,KAAK,IAAI,KAAK,CAOb;IAED,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAE/E;IAED,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAIpF;IAED,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAOhF;IAED,UAAU,IAAI,UAAU,CAUvB;IAED,8EAA8E;IAC9E,eAAe,IAAI,IAAI,CAEtB;IAED,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;IAKxB,KAAK,IAAI,IAAI,CAWZ;IAED,OAAO,CAAC,UAAU;CAgBnB"}
1
+ {"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../src/infrastructure/token-counter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAa1E;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAkD;IAC9E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAAC,CAAkD;IACpE,OAAO,CAAC,UAAU,CAAiC;IACnD,uFAAuF;IACvF,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAE3B,YACE,IAAI,GAAE;QACJ,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;QACtC,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;QAC7D,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;KACxD,EAMP;IAED,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,CAE7E;IAED,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,qBAA2B,GAAG,IAAI,CAsDjF;IAED,+EAA+E;IAC/E,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAkB5D;IAED,KAAK,IAAI,KAAK,CAOb;IAED,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAE/E;IAED,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAIpF;IAED,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAOhF;IAED,UAAU,IAAI,UAAU,CAWvB;IAED,8EAA8E;IAC9E,eAAe,IAAI,IAAI,CAEtB;IAED,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,iBAAiB;IAKzB,KAAK,IAAI,IAAI,CAiBZ;IAED,OAAO,CAAC,UAAU;CAqBnB"}
@@ -81,6 +81,8 @@ export interface BrainEventMap {
81
81
  'token.accounted': {
82
82
  sessionId?: string | undefined;
83
83
  usage: Usage;
84
+ /** Usage contributed by this one accounting call (not cumulative). */
85
+ deltaUsage?: Usage | undefined;
84
86
  cost: {
85
87
  input: number;
86
88
  output: number;
@@ -1 +1 @@
1
- {"version":3,"file":"brain-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/brain-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brain-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/brain-events.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export interface MemoryEventMap {
26
26
  /** Structured Super Memory lifecycle events. Kept structural so core never depends on the package. */
27
27
  'memory.accepted': {
28
28
  memoryId: string;
29
+ kind?: string | undefined;
30
+ persistence?: string | undefined;
31
+ confidence?: number | undefined;
32
+ freshness?: number | undefined;
29
33
  sessionId?: string | undefined;
30
34
  traceId?: string | undefined;
31
35
  };
@@ -52,6 +56,20 @@ export interface MemoryEventMap {
52
56
  'memory.updated': {
53
57
  memoryId: string;
54
58
  status: string;
59
+ kind?: string | undefined;
60
+ persistence?: string | undefined;
61
+ confidence?: number | undefined;
62
+ freshness?: number | undefined;
63
+ sessionId?: string | undefined;
64
+ traceId?: string | undefined;
65
+ };
66
+ /** Fired after an explicitly authorized memory deletion has completed. */
67
+ 'memory.deleted': {
68
+ memoryId: string;
69
+ reason: string;
70
+ persistence: string;
71
+ removedEdges: number;
72
+ contextPolicy: 'never' | 'eligible';
55
73
  sessionId?: string | undefined;
56
74
  traceId?: string | undefined;
57
75
  };
@@ -112,6 +130,81 @@ export interface MemoryEventMap {
112
130
  sessionId?: string | undefined;
113
131
  traceId?: string | undefined;
114
132
  };
133
+ /** Exact Super Memory presence in the provider-bound request context. */
134
+ 'memory.context_snapshot': {
135
+ at: string;
136
+ activeMemoryIds: string[];
137
+ enteredMemoryIds: string[];
138
+ exitedMemoryIds: string[];
139
+ reason: 'provider_request';
140
+ sessionId?: string | undefined;
141
+ traceId?: string | undefined;
142
+ };
143
+ /**
144
+ * One bounded, UI-facing decision trace for each on-demand Memory Injector
145
+ * run. This is deliberately richer than `memory.injected`: it is also
146
+ * emitted when nothing is injected, so operators can see what entered the
147
+ * model context and what was rejected by score, visibility, cooldown, or
148
+ * the current context budget.
149
+ */
150
+ 'memory.injector_run': {
151
+ runId: string;
152
+ at: string;
153
+ outcome: 'injected' | 'empty' | 'error';
154
+ trigger: string;
155
+ toolName: string;
156
+ queryPreview: string;
157
+ paths: string[];
158
+ taskSignals: string[];
159
+ contextPressure: number;
160
+ budget: {
161
+ maxHints: number;
162
+ maxChars: number;
163
+ };
164
+ candidates: number;
165
+ eligible: number;
166
+ rejected: {
167
+ duplicate: number;
168
+ belowScore: number;
169
+ alreadyVisible: number;
170
+ cooldown: number;
171
+ budget: number;
172
+ };
173
+ activated: Array<{
174
+ id: string;
175
+ kind: string;
176
+ text: string;
177
+ score: number;
178
+ relationStrength: number;
179
+ anchor?: string | undefined;
180
+ anchors: string[];
181
+ tags: string[];
182
+ activationReasons: string[];
183
+ importance: number;
184
+ confidence: number;
185
+ freshness: number;
186
+ persistence: string;
187
+ }>;
188
+ injected: Array<{
189
+ id: string;
190
+ kind: string;
191
+ text: string;
192
+ score: number;
193
+ relationStrength: number;
194
+ anchor?: string | undefined;
195
+ anchors: string[];
196
+ tags: string[];
197
+ activationReasons: string[];
198
+ importance: number;
199
+ confidence: number;
200
+ freshness: number;
201
+ persistence: string;
202
+ }>;
203
+ injectedChars: number;
204
+ error?: string | undefined;
205
+ sessionId?: string | undefined;
206
+ traceId?: string | undefined;
207
+ };
115
208
  'memory.used': {
116
209
  memoryIds: string[];
117
210
  source: string;
@@ -142,6 +235,15 @@ export interface MemoryEventMap {
142
235
  from: string;
143
236
  to: string;
144
237
  relation: string;
238
+ weight?: number | undefined;
239
+ evidence?: string[] | undefined;
240
+ sessionId?: string | undefined;
241
+ traceId?: string | undefined;
242
+ };
243
+ 'memory.relationships_rebuilt': {
244
+ examined: number;
245
+ proposed: number;
246
+ added: number;
145
247
  sessionId?: string | undefined;
146
248
  traceId?: string | undefined;
147
249
  };
@@ -1 +1 @@
1
- {"version":3,"file":"memory-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/memory-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/memory-events.ts"],"names":[],"mappings":"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"}
@@ -147,6 +147,41 @@ export interface SessionEventMap {
147
147
  load: number;
148
148
  fatal: boolean;
149
149
  };
150
+ /**
151
+ * Fired when the last-resort emergency trim runs — normal compaction left the
152
+ * request above the hard threshold, so message content was head/tail
153
+ * truncated (and, as a final step, oldest messages dropped) until it
154
+ * structurally fit the window. This is the no-overflow guarantee in action;
155
+ * `withinBudget: false` would indicate the impossible case where even a
156
+ * fully-floored request exceeds the budget.
157
+ */
158
+ 'compaction.emergency_trim': {
159
+ sessionId?: string | undefined;
160
+ level: 'warn' | 'soft' | 'hard';
161
+ /** Estimated message tokens reclaimed by the trim. */
162
+ saved: number;
163
+ /** Content blocks elided or head/tail truncated. */
164
+ trimmedBlocks: number;
165
+ /** Whole messages dropped as the final pass. */
166
+ droppedMessages: number;
167
+ /** Full-request token estimate after the trim. */
168
+ tokens: number;
169
+ /** Fraction of the window occupied after the trim. */
170
+ load: number;
171
+ maxContext: number;
172
+ budget?: {
173
+ maxContext: number;
174
+ inputTokens: number;
175
+ availableInputTokens: number;
176
+ remainingInputTokens: number;
177
+ reservedOutputTokens: number;
178
+ reservedSafetyTokens: number;
179
+ load: number;
180
+ overflowTokens: number;
181
+ } | undefined;
182
+ /** True when the request fits the window after trimming (expected: always). */
183
+ withinBudget: boolean;
184
+ };
150
185
  /** Fired by SessionWriter.writeCheckpoint() after the checkpoint event is appended to JSONL. */
151
186
  'checkpoint.written': {
152
187
  sessionId?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"session-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/session-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAClE,eAAe,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAC9E,iBAAiB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD;;;;;OAKG;IACH,wBAAwB,EAAE;QACxB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;KACzC,CAAC;IACF,mBAAmB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,qBAAqB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF;;;;OAIG;IACH,yBAAyB,EAAE;QACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,IAAI,EAAE,MAAM,IAAI,CAAC;KAClB,CAAC;IACF;;;;;;OAMG;IACH,SAAS,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,4EAA4E;QAC5E,IAAI,EAAE,MAAM,CAAC;QACb,wEAAwE;QACxE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,0DAA0D;QAC1D,MAAM,EAAE,MAAM,CAAC;QACf,qCAAqC;QACrC,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,qEAAqE;IACrE,iBAAiB,EAAE;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,kBAAkB,EAAE;QAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,kBAAkB,EAAE;QAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,sEAAsE;QACtE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAChC,8CAA8C;QAC9C,MAAM,EAAE,MAAM,CAAC;QACf,2DAA2D;QAC3D,IAAI,EAAE,MAAM,CAAC;QACb,+CAA+C;QAC/C,UAAU,EAAE,MAAM,CAAC;QACnB,wDAAwD;QACxD,MAAM,CAAC,EACH;YACE,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,CAAC;SACxB,GACD,SAAS,CAAC;QACd,kEAAkE;QAClE,OAAO,CAAC,EAAE;YAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,GAAG,SAAS,CAAC;QACjE,iDAAiD;QACjD,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SAAE,CAAC;QAC1F,kDAAkD;QAClD,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF;;;;;;OAMG;IACH,mBAAmB,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EACH;YACE,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,CAAC;SACxB,GACD,SAAS,CAAC;QACd,OAAO,CAAC,EAAE;YAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,GAAG,SAAS,CAAC;QACjE,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,gGAAgG;IAChG,oBAAoB,EAAE;QACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;;OAKG;IACH,mBAAmB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,kFAAkF;IAClF,iBAAiB,EAAE;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF;;;;OAIG;IACH,iBAAiB,EAAE;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;;;;OAMG;IACH,gBAAgB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE;;;;;OAKG;IACH,eAAe,EAAE;QACf,+DAA+D;QAC/D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;KAC/B,CAAC;CACH"}
1
+ {"version":3,"file":"session-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/session-events.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@ import { randomBytes } from "node:crypto";
7
7
  import * as fs from "node:fs/promises";
8
8
  import * as path from "node:path";
9
9
 
10
+ // src/types/blocks.ts
11
+ function isTextBlock(b) {
12
+ return b.type === "text";
13
+ }
14
+
10
15
  // src/utils/error.ts
11
16
  function toErrorMessage(err) {
12
17
  return err instanceof Error ? err.message : String(err);
@@ -22,6 +27,62 @@ function expectDefined(value, label) {
22
27
  return value;
23
28
  }
24
29
 
30
+ // src/utils/token-estimate.ts
31
+ var RoughTokenEstimate = (text, charsPerToken = 3.5) => Math.max(1, Math.ceil(text.length / charsPerToken));
32
+ var ESTIMATE_CACHE = /* @__PURE__ */ new Map();
33
+ var _estimateCacheOrder = [];
34
+ var ESTIMATE_CACHE_MAX_SIZE = 5e4;
35
+ function getCachedEstimate(key, compute) {
36
+ const existing = ESTIMATE_CACHE.get(key);
37
+ if (existing !== void 0) return existing;
38
+ if (ESTIMATE_CACHE.size >= ESTIMATE_CACHE_MAX_SIZE) {
39
+ while (ESTIMATE_CACHE.size > Math.floor(ESTIMATE_CACHE_MAX_SIZE / 2)) {
40
+ const oldest = _estimateCacheOrder.shift();
41
+ if (oldest !== void 0) ESTIMATE_CACHE.delete(oldest);
42
+ }
43
+ }
44
+ const estimate = compute(key);
45
+ ESTIMATE_CACHE.set(key, estimate);
46
+ _estimateCacheOrder.push(key);
47
+ return estimate;
48
+ }
49
+ function estimateToolInputTokens(input) {
50
+ if (typeof input === "string") return RoughTokenEstimate(input);
51
+ if (input === null || typeof input !== "object") {
52
+ return RoughTokenEstimate(String(input));
53
+ }
54
+ return getCachedEstimate(JSON.stringify(input), (key) => RoughTokenEstimate(key));
55
+ }
56
+ function estimateToolResultTokens(content) {
57
+ if (typeof content === "string") return RoughTokenEstimate(content);
58
+ return getCachedEstimate(JSON.stringify(content), (key) => RoughTokenEstimate(key));
59
+ }
60
+ function estimateTextTokens(text) {
61
+ return RoughTokenEstimate(text);
62
+ }
63
+ function computeMessageTokens(msg) {
64
+ if (typeof msg.content === "string") return estimateTextTokens(msg.content);
65
+ let total = 0;
66
+ for (const b of msg.content) {
67
+ if (b.type === "text") total += estimateTextTokens(b.text);
68
+ else if (b.type === "tool_use") total += estimateToolInputTokens(b.input);
69
+ else if (b.type === "tool_result") total += estimateToolResultTokens(b.content);
70
+ else total += RoughTokenEstimate(JSON.stringify(b));
71
+ }
72
+ return total;
73
+ }
74
+ function estimateMessageTokens(messages) {
75
+ let total = 0;
76
+ for (const m of messages) {
77
+ if (typeof m._estTokens === "number" && m._estTokens > 0) {
78
+ total += m._estTokens;
79
+ continue;
80
+ }
81
+ total += computeMessageTokens(m);
82
+ }
83
+ return total;
84
+ }
85
+
25
86
  // src/utils/merge-models-payload.ts
26
87
  function mergeModelsPayload(base, overlay) {
27
88
  const out = {};
@@ -85,62 +146,6 @@ function stripUndefined(obj) {
85
146
  return out;
86
147
  }
87
148
 
88
- // src/utils/token-estimate.ts
89
- var RoughTokenEstimate = (text, charsPerToken = 3.5) => Math.max(1, Math.ceil(text.length / charsPerToken));
90
- var ESTIMATE_CACHE = /* @__PURE__ */ new Map();
91
- var _estimateCacheOrder = [];
92
- var ESTIMATE_CACHE_MAX_SIZE = 5e4;
93
- function getCachedEstimate(key, compute) {
94
- const existing = ESTIMATE_CACHE.get(key);
95
- if (existing !== void 0) return existing;
96
- if (ESTIMATE_CACHE.size >= ESTIMATE_CACHE_MAX_SIZE) {
97
- while (ESTIMATE_CACHE.size > Math.floor(ESTIMATE_CACHE_MAX_SIZE / 2)) {
98
- const oldest = _estimateCacheOrder.shift();
99
- if (oldest !== void 0) ESTIMATE_CACHE.delete(oldest);
100
- }
101
- }
102
- const estimate = compute(key);
103
- ESTIMATE_CACHE.set(key, estimate);
104
- _estimateCacheOrder.push(key);
105
- return estimate;
106
- }
107
- function estimateToolInputTokens(input) {
108
- if (typeof input === "string") return RoughTokenEstimate(input);
109
- if (input === null || typeof input !== "object") {
110
- return RoughTokenEstimate(String(input));
111
- }
112
- return getCachedEstimate(JSON.stringify(input), (key) => RoughTokenEstimate(key));
113
- }
114
- function estimateToolResultTokens(content) {
115
- if (typeof content === "string") return RoughTokenEstimate(content);
116
- return getCachedEstimate(JSON.stringify(content), (key) => RoughTokenEstimate(key));
117
- }
118
- function estimateTextTokens(text) {
119
- return RoughTokenEstimate(text);
120
- }
121
- function computeMessageTokens(msg) {
122
- if (typeof msg.content === "string") return estimateTextTokens(msg.content);
123
- let total = 0;
124
- for (const b of msg.content) {
125
- if (b.type === "text") total += estimateTextTokens(b.text);
126
- else if (b.type === "tool_use") total += estimateToolInputTokens(b.input);
127
- else if (b.type === "tool_result") total += estimateToolResultTokens(b.content);
128
- else total += RoughTokenEstimate(JSON.stringify(b));
129
- }
130
- return total;
131
- }
132
- function estimateMessageTokens(messages) {
133
- let total = 0;
134
- for (const m of messages) {
135
- if (typeof m._estTokens === "number" && m._estTokens > 0) {
136
- total += m._estTokens;
137
- continue;
138
- }
139
- total += computeMessageTokens(m);
140
- }
141
- return total;
142
- }
143
-
144
149
  // src/types/errors.ts
145
150
  var ERROR_CODES = {
146
151
  // Provider
@@ -968,9 +973,77 @@ async function loadUserModes(modesDir) {
968
973
  return modes;
969
974
  }
970
975
 
971
- // src/types/blocks.ts
972
- function isTextBlock(b) {
973
- return b.type === "text";
976
+ // src/utils/compaction-preview.ts
977
+ var PATH_HINT_PATTERN = /(?:(?:[A-Za-z]:)?[./\\]?[\w@.-]+(?:[\\/][\w@(). -]+)+\.[A-Za-z0-9]{1,12})/g;
978
+ var PATH_BACKSLASH_PATTERN = /\\/g;
979
+ var PATH_TRIM_PATTERN = /^["'`]+|["'`),;:]+$/g;
980
+ var ERROR_LINE_PATTERN = /\b(error|exception|failed|failure|fatal|panic|timeout|denied|enoent|eacces|eperm)\b/i;
981
+ var NEWLINE_SPLIT_PATTERN = /\r?\n/;
982
+ var WHITESPACE_COLLAPSE_PATTERN = /\s+/g;
983
+ function buildCompactionPreview(message, maxChars = 600) {
984
+ if (maxChars <= 0) return "";
985
+ if (typeof message.content === "string") {
986
+ return truncatePreview(message.content, maxChars);
987
+ }
988
+ const parts = [];
989
+ for (const block of message.content) {
990
+ if (isTextBlock(block)) {
991
+ const text = truncatePreview(block.text, maxChars);
992
+ if (text) parts.push(text);
993
+ continue;
994
+ }
995
+ if (block.type === "tool_use") {
996
+ const input = truncatePreview(safePreviewString(block.input), 220);
997
+ parts.push(`[tool_use: ${block.name}${input ? `; input=${input}` : ""}]`);
998
+ continue;
999
+ }
1000
+ if (block.type === "tool_result") {
1001
+ const raw = safePreviewString(block.content);
1002
+ const details = [block.is_error ? "error" : "ok"];
1003
+ if (block.name) details.push(`tool=${block.name}`);
1004
+ const files = extractPathHints(raw).slice(0, 5);
1005
+ if (files.length > 0) details.push(`files=${files.join(", ")}`);
1006
+ const error = firstErrorLine(raw);
1007
+ if (error) details.push(`error=${error}`);
1008
+ const sample = truncatePreview(raw, 260);
1009
+ if (sample) details.push(`sample=${sample}`);
1010
+ parts.push(`[tool_result: ${details.join("; ")}]`);
1011
+ continue;
1012
+ }
1013
+ parts.push(`[${block.type}]`);
1014
+ }
1015
+ return truncatePreview(parts.join(" "), maxChars);
1016
+ }
1017
+ function safePreviewString(value) {
1018
+ if (typeof value === "string") return value;
1019
+ try {
1020
+ return JSON.stringify(value);
1021
+ } catch {
1022
+ return String(value);
1023
+ }
1024
+ }
1025
+ function truncatePreview(value, maxChars) {
1026
+ const compact = value.replace(WHITESPACE_COLLAPSE_PATTERN, " ").trim();
1027
+ if (compact.length <= maxChars) return compact;
1028
+ return `${compact.slice(0, Math.max(0, maxChars - 1))}\u2026`;
1029
+ }
1030
+ function extractPathHints(content) {
1031
+ const text = safePreviewString(content);
1032
+ const out = /* @__PURE__ */ new Set();
1033
+ for (const match of text.matchAll(PATH_HINT_PATTERN)) {
1034
+ const clean = match[0]?.replace(PATH_BACKSLASH_PATTERN, "/").replace(PATH_TRIM_PATTERN, "");
1035
+ if (clean) out.add(clean);
1036
+ }
1037
+ return [...out];
1038
+ }
1039
+ function firstErrorLine(content) {
1040
+ const text = safePreviewString(content);
1041
+ for (const line of text.split(NEWLINE_SPLIT_PATTERN)) {
1042
+ if (!ERROR_LINE_PATTERN.test(line)) continue;
1043
+ const trimmed = line.replace(WHITESPACE_COLLAPSE_PATTERN, " ").trim();
1044
+ if (trimmed) return truncatePreview(trimmed, 220);
1045
+ }
1046
+ return void 0;
974
1047
  }
975
1048
 
976
1049
  // src/utils/instruction-file.ts
@@ -1015,29 +1088,39 @@ function isDirectory2(candidate) {
1015
1088
  // src/models/llm-selector.ts
1016
1089
  var DEFAULT_SYSTEM_PROMPT = readBundledInstructionText("llm/llm-selector.md");
1017
1090
  function formatMessages(messages, maxTokens = 2048) {
1091
+ const previewChars = Math.max(
1092
+ 120,
1093
+ Math.min(600, Math.floor(maxTokens * 3.2 / Math.max(1, messages.length)))
1094
+ );
1018
1095
  const lines = [];
1019
- let usedTokens = 0;
1020
1096
  for (let i = 0; i < messages.length; i++) {
1021
1097
  const m = expectDefined(messages[i]);
1022
1098
  const role = m.role.padEnd(10, " ");
1023
- let text;
1024
- if (typeof m.content === "string") {
1025
- text = m.content.slice(0, 500);
1026
- } else {
1027
- const content = m.content;
1028
- text = content.filter(isTextBlock).map((b) => b.text).join(" ");
1029
- const toolUses = content.filter((b) => b.type === "tool_use");
1030
- if (toolUses.length > 0) {
1031
- text += ` [tools: ${toolUses.map((b) => b.name).filter(Boolean).join(", ")}]`;
1032
- }
1033
- }
1034
- const line = `[${i}][${role}]: ${text}`;
1035
- const lineTokens = estimateTextTokens(line);
1036
- if (usedTokens + lineTokens > maxTokens) break;
1037
- lines.push(line);
1038
- usedTokens += lineTokens;
1039
- }
1040
- return lines.join("\n");
1099
+ const line = `[${i}][${role}]: ${buildCompactionPreview(m, previewChars)}`;
1100
+ lines.push({ index: i, text: line, tokens: estimateTextTokens(line) });
1101
+ }
1102
+ const total = lines.reduce((sum, line) => sum + line.tokens, 0);
1103
+ if (total <= maxTokens) return lines.map((line) => line.text).join("\n");
1104
+ const recentCount = Math.min(8, lines.length);
1105
+ const recentStart = lines.length - recentCount;
1106
+ const tail = [];
1107
+ let usedTokens = 0;
1108
+ for (let i = lines.length - 1; i >= recentStart; i--) {
1109
+ const line = expectDefined(lines[i]);
1110
+ if (tail.length >= 2 && usedTokens + line.tokens > Math.floor(maxTokens * 0.45)) continue;
1111
+ tail.unshift(line);
1112
+ usedTokens += line.tokens;
1113
+ }
1114
+ const head = [];
1115
+ for (let i = 0; i < recentStart; i++) {
1116
+ const line = expectDefined(lines[i]);
1117
+ if (usedTokens + line.tokens > maxTokens) break;
1118
+ head.push(line);
1119
+ usedTokens += line.tokens;
1120
+ }
1121
+ const omitted = Math.max(0, recentStart - head.length);
1122
+ const marker = omitted > 0 ? [`[\u2026 ${omitted} middle message(s) omitted from selector preview \u2026]`] : [];
1123
+ return [...head.map((line) => line.text), ...marker, ...tail.map((line) => line.text)].join("\n");
1041
1124
  }
1042
1125
  var LLMSelector = class {
1043
1126
  provider;