@jungjaehoon/mama-os 0.32.3 → 0.34.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 (105) hide show
  1. package/README.md +15 -17
  2. package/dist/agent/os-agent-capabilities.md +2 -2
  3. package/dist/api/graph-api.d.ts +4 -4
  4. package/dist/api/graph-api.d.ts.map +1 -1
  5. package/dist/api/graph-api.js +47 -78
  6. package/dist/api/graph-api.js.map +1 -1
  7. package/dist/api/index.d.ts +10 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +9 -2
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/operator-handler.d.ts +1 -1
  12. package/dist/api/operator-handler.js +1 -1
  13. package/dist/api/runtime-status-handler.d.ts +41 -0
  14. package/dist/api/runtime-status-handler.d.ts.map +1 -0
  15. package/dist/api/runtime-status-handler.js +55 -0
  16. package/dist/api/runtime-status-handler.js.map +1 -0
  17. package/dist/cli/commands/start.d.ts.map +1 -1
  18. package/dist/cli/commands/start.js +58 -23
  19. package/dist/cli/commands/start.js.map +1 -1
  20. package/dist/cli/runtime/api-routes-init.d.ts +2 -0
  21. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  22. package/dist/cli/runtime/api-routes-init.js +62 -1
  23. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  24. package/dist/cli/runtime/api-server-init.d.ts +12 -1
  25. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  26. package/dist/cli/runtime/api-server-init.js +54 -0
  27. package/dist/cli/runtime/api-server-init.js.map +1 -1
  28. package/dist/cli/runtime/utilities.d.ts +1 -1
  29. package/dist/cli/runtime/utilities.d.ts.map +1 -1
  30. package/dist/cli/runtime/utilities.js +3 -1
  31. package/dist/cli/runtime/utilities.js.map +1 -1
  32. package/dist/gateways/message-router.d.ts +4 -0
  33. package/dist/gateways/message-router.d.ts.map +1 -1
  34. package/dist/gateways/message-router.js +62 -13
  35. package/dist/gateways/message-router.js.map +1 -1
  36. package/dist/gateways/owner-report-inbox.d.ts +40 -0
  37. package/dist/gateways/owner-report-inbox.d.ts.map +1 -0
  38. package/dist/gateways/owner-report-inbox.js +128 -0
  39. package/dist/gateways/owner-report-inbox.js.map +1 -0
  40. package/dist/gateways/report-projection-v1.d.ts +41 -0
  41. package/dist/gateways/report-projection-v1.d.ts.map +1 -0
  42. package/dist/gateways/report-projection-v1.js +160 -0
  43. package/dist/gateways/report-projection-v1.js.map +1 -0
  44. package/dist/gateways/session-store.d.ts +22 -0
  45. package/dist/gateways/session-store.d.ts.map +1 -1
  46. package/dist/gateways/session-store.js +76 -3
  47. package/dist/gateways/session-store.js.map +1 -1
  48. package/dist/gateways/telegram-message-ledger.d.ts +10 -0
  49. package/dist/gateways/telegram-message-ledger.d.ts.map +1 -1
  50. package/dist/gateways/telegram-message-ledger.js +23 -2
  51. package/dist/gateways/telegram-message-ledger.js.map +1 -1
  52. package/dist/gateways/telegram-report-context-store.d.ts +193 -0
  53. package/dist/gateways/telegram-report-context-store.d.ts.map +1 -0
  54. package/dist/gateways/telegram-report-context-store.js +612 -0
  55. package/dist/gateways/telegram-report-context-store.js.map +1 -0
  56. package/dist/gateways/telegram.d.ts +9 -0
  57. package/dist/gateways/telegram.d.ts.map +1 -1
  58. package/dist/gateways/telegram.js +100 -0
  59. package/dist/gateways/telegram.js.map +1 -1
  60. package/dist/gateways/types.d.ts +12 -0
  61. package/dist/gateways/types.d.ts.map +1 -1
  62. package/dist/multi-agent/dashboard-agent-persona.js +2 -2
  63. package/dist/operator/board-slot-instructions.d.ts +1 -1
  64. package/dist/operator/board-slot-instructions.js +1 -1
  65. package/dist/operator/operator-trigger-loop.d.ts +17 -1
  66. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  67. package/dist/operator/operator-trigger-loop.js +87 -23
  68. package/dist/operator/operator-trigger-loop.js.map +1 -1
  69. package/dist/operator/report-delivery-coordinator.d.ts +82 -0
  70. package/dist/operator/report-delivery-coordinator.d.ts.map +1 -0
  71. package/dist/operator/report-delivery-coordinator.js +123 -0
  72. package/dist/operator/report-delivery-coordinator.js.map +1 -0
  73. package/dist/operator/situation-report.d.ts +7 -0
  74. package/dist/operator/situation-report.d.ts.map +1 -1
  75. package/dist/operator/situation-report.js +12 -0
  76. package/dist/operator/situation-report.js.map +1 -1
  77. package/package.json +1 -2
  78. package/public/viewer/js/modules/system.js +183 -0
  79. package/public/viewer/js/utils/ui-commands.js +4 -9
  80. package/public/viewer/log-viewer.html +2 -192
  81. package/public/viewer/operator/operator.css +1 -0
  82. package/public/viewer/operator/operator.js +14830 -0
  83. package/public/viewer/src/modules/system.ts +242 -0
  84. package/public/viewer/src/utils/ui-commands.ts +4 -8
  85. package/public/viewer/sw.js +44 -10
  86. package/public/viewer/viewer.css +338 -331
  87. package/public/viewer/viewer.html +388 -1472
  88. package/public/ui/assets/index-BDXDGEV6.js +0 -62
  89. package/public/ui/assets/index-po2tN0xq.css +0 -1
  90. package/public/ui/index.html +0 -14
  91. package/public/ui/theme-init.js +0 -20
  92. package/public/viewer/js/modules/agents.js +0 -1153
  93. package/public/viewer/js/modules/chat.js +0 -1993
  94. package/public/viewer/js/modules/connector-feed.js +0 -352
  95. package/public/viewer/js/modules/dashboard.js +0 -456
  96. package/public/viewer/js/modules/entity-audit.js +0 -106
  97. package/public/viewer/js/modules/entity-review.js +0 -66
  98. package/public/viewer/js/modules/settings.js +0 -1257
  99. package/public/viewer/src/modules/agents.ts +0 -1302
  100. package/public/viewer/src/modules/chat.ts +0 -2426
  101. package/public/viewer/src/modules/connector-feed.ts +0 -391
  102. package/public/viewer/src/modules/dashboard.ts +0 -498
  103. package/public/viewer/src/modules/entity-audit.ts +0 -154
  104. package/public/viewer/src/modules/entity-review.ts +0 -175
  105. package/public/viewer/src/modules/settings.ts +0 -1547
@@ -0,0 +1,41 @@
1
+ /**
2
+ * TG-05/TG-06 Projection V1: fully deterministic, bounded rendering of
3
+ * delivered-pending owner reports for the model prompt
4
+ * (docs/development/telegram-outbound-context-inbox-design.md, Decision 5).
5
+ *
6
+ * Every limit counts Unicode code points with no Unicode or newline
7
+ * normalization. Hashes are lowercase hexadecimal SHA-256 over exact UTF-8
8
+ * bytes. Selection uses monotonic seq, never timestamps. Any change to the
9
+ * rendered bytes (including wrapUntrustedContent's) requires a new projection
10
+ * version.
11
+ */
12
+ export interface ProjectionSourceEvent {
13
+ seq: number;
14
+ deliveryId: string;
15
+ mode: 'digest' | 'full';
16
+ deliveredAtIso: string;
17
+ text: string;
18
+ }
19
+ export interface ProjectionV1Result {
20
+ version: 'v1';
21
+ /** The exact complete combined block; empty string for an empty selection. */
22
+ text: string;
23
+ /** Lowercase hex SHA-256 over the exact UTF-8 bytes of `text`. */
24
+ projectionHash: string;
25
+ /** Ordered delivery IDs actually rendered - the only IDs that may be consumed. */
26
+ selectedDeliveryIds: string[];
27
+ /** Pending events left unselected by the turn budget. */
28
+ omittedCount: number;
29
+ }
30
+ /** Render one event within the 8,000-code-point event cap. */
31
+ export declare function renderOwnerReportEventV1(source: ProjectionSourceEvent): string;
32
+ /**
33
+ * Deterministic selection (design Decision 5): when the whole backlog fits,
34
+ * render everything oldest to newest. Otherwise reserve the oldest pending
35
+ * complete rendered event as the anchor, fill the remaining budget with the
36
+ * newest complete suffix that fits, and mark the chronological gap. The
37
+ * 24,000-code-point cap includes outer tags, separators, and the gap marker;
38
+ * the 32-event cap includes the anchor but not the gap marker.
39
+ */
40
+ export declare function buildOwnerReportProjectionV1(events: ProjectionSourceEvent[]): ProjectionV1Result;
41
+ //# sourceMappingURL=report-projection-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-projection-v1.d.ts","sourceRoot":"","sources":["../../src/gateways/report-projection-v1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;CACtB;AA2DD,8DAA8D;AAC9D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAU9E;AAaD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CA0EhG"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ /**
3
+ * TG-05/TG-06 Projection V1: fully deterministic, bounded rendering of
4
+ * delivered-pending owner reports for the model prompt
5
+ * (docs/development/telegram-outbound-context-inbox-design.md, Decision 5).
6
+ *
7
+ * Every limit counts Unicode code points with no Unicode or newline
8
+ * normalization. Hashes are lowercase hexadecimal SHA-256 over exact UTF-8
9
+ * bytes. Selection uses monotonic seq, never timestamps. Any change to the
10
+ * rendered bytes (including wrapUntrustedContent's) requires a new projection
11
+ * version.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.renderOwnerReportEventV1 = renderOwnerReportEventV1;
15
+ exports.buildOwnerReportProjectionV1 = buildOwnerReportProjectionV1;
16
+ const node_crypto_1 = require("node:crypto");
17
+ const untrusted_content_js_1 = require("../utils/untrusted-content.js");
18
+ const EVENT_CAP_CP = 8_000;
19
+ const COMBINED_CAP_CP = 24_000;
20
+ const MAX_EVENTS = 32;
21
+ const HEAD_CP = 3_000;
22
+ const TAIL_CP = 3_000;
23
+ const OPEN_TAG = '<recent_owner_reports projection="v1">';
24
+ const CLOSE_TAG = '</recent_owner_reports>';
25
+ function sha256Hex(text) {
26
+ return (0, node_crypto_1.createHash)('sha256').update(text, 'utf8').digest('hex');
27
+ }
28
+ /**
29
+ * One-pass code point statistics: total count, the UTF-16 offset after the
30
+ * first `headCp` code points, and the UTF-16 offset where the final `tailCp`
31
+ * code points begin. Never materializes a per-code-point array copy.
32
+ */
33
+ function codePointStats(text, headCp, tailCp) {
34
+ const ring = new Array(tailCp);
35
+ let count = 0;
36
+ let headEnd = text.length;
37
+ let index = 0;
38
+ while (index < text.length) {
39
+ const codePoint = text.codePointAt(index);
40
+ ring[count % tailCp] = index;
41
+ count += 1;
42
+ index += codePoint > 0xffff ? 2 : 1;
43
+ if (count === headCp) {
44
+ headEnd = index;
45
+ }
46
+ }
47
+ const tailStart = count > tailCp ? ring[count % tailCp] : 0;
48
+ return { count, headEnd, tailStart };
49
+ }
50
+ function countCodePoints(text) {
51
+ let count = 0;
52
+ let index = 0;
53
+ while (index < text.length) {
54
+ const codePoint = text.codePointAt(index);
55
+ count += 1;
56
+ index += codePoint > 0xffff ? 2 : 1;
57
+ }
58
+ return count;
59
+ }
60
+ function renderWithBody(source, body) {
61
+ const deliveryHash = sha256Hex(source.deliveryId);
62
+ const header = `[owner report seq=${source.seq} mode=${source.mode} delivered_at=${source.deliveredAtIso} delivery_sha256=${deliveryHash}]`;
63
+ return `${header}\n${(0, untrusted_content_js_1.wrapUntrustedContent)(`telegram-owner-report:${deliveryHash}`, body)}`;
64
+ }
65
+ /** Render one event within the 8,000-code-point event cap. */
66
+ function renderOwnerReportEventV1(source) {
67
+ const exact = renderWithBody(source, source.text);
68
+ if (countCodePoints(exact) <= EVENT_CAP_CP) {
69
+ return exact;
70
+ }
71
+ const stats = codePointStats(source.text, HEAD_CP, TAIL_CP);
72
+ const omitted = stats.count - HEAD_CP - TAIL_CP;
73
+ const marker = `[... omitted ${omitted} Unicode code points; exact_text_sha256=${sha256Hex(source.text)} ...]`;
74
+ const body = `${source.text.slice(0, stats.headEnd)}\n${marker}\n${source.text.slice(stats.tailStart)}`;
75
+ return renderWithBody(source, body);
76
+ }
77
+ function gapMarker(omitted) {
78
+ return `[... ${omitted} pending owner reports omitted by turn budget ...]`;
79
+ }
80
+ function assemble(items) {
81
+ if (items.length === 0) {
82
+ return '';
83
+ }
84
+ return `${OPEN_TAG}\n${items.join('\n\n')}\n${CLOSE_TAG}`;
85
+ }
86
+ /**
87
+ * Deterministic selection (design Decision 5): when the whole backlog fits,
88
+ * render everything oldest to newest. Otherwise reserve the oldest pending
89
+ * complete rendered event as the anchor, fill the remaining budget with the
90
+ * newest complete suffix that fits, and mark the chronological gap. The
91
+ * 24,000-code-point cap includes outer tags, separators, and the gap marker;
92
+ * the 32-event cap includes the anchor but not the gap marker.
93
+ */
94
+ function buildOwnerReportProjectionV1(events) {
95
+ if (events.length === 0) {
96
+ return {
97
+ version: 'v1',
98
+ text: '',
99
+ projectionHash: sha256Hex(''),
100
+ selectedDeliveryIds: [],
101
+ omittedCount: 0,
102
+ };
103
+ }
104
+ const ordered = [...events].sort((a, b) => a.seq - b.seq);
105
+ const rendered = new Map();
106
+ const renderOf = (entry) => {
107
+ const cached = rendered.get(entry.seq);
108
+ if (cached !== undefined) {
109
+ return cached;
110
+ }
111
+ const value = renderOwnerReportEventV1(entry);
112
+ rendered.set(entry.seq, value);
113
+ return value;
114
+ };
115
+ const buildResult = (selected, omitted, markerAfterAnchor) => {
116
+ const items = [];
117
+ for (let index = 0; index < selected.length; index += 1) {
118
+ items.push(renderOf(selected[index]));
119
+ if (markerAfterAnchor && index === 0) {
120
+ items.push(gapMarker(omitted));
121
+ }
122
+ }
123
+ if (markerAfterAnchor && selected.length === 0) {
124
+ items.push(gapMarker(omitted));
125
+ }
126
+ const text = assemble(items);
127
+ return {
128
+ version: 'v1',
129
+ text,
130
+ projectionHash: sha256Hex(text),
131
+ selectedDeliveryIds: selected.map((entry) => entry.deliveryId),
132
+ omittedCount: omitted,
133
+ };
134
+ };
135
+ // Whole backlog first: no anchor split, no gap marker.
136
+ if (ordered.length <= MAX_EVENTS) {
137
+ const full = buildResult(ordered, 0, false);
138
+ if (countCodePoints(full.text) <= COMBINED_CAP_CP) {
139
+ return full;
140
+ }
141
+ }
142
+ // Anchored selection: oldest complete event reserved, newest suffix fills
143
+ // the remainder. Suffix length shrinks until the assembled block fits.
144
+ const anchor = ordered[0];
145
+ const candidates = ordered.slice(1);
146
+ let suffixLength = Math.min(candidates.length, MAX_EVENTS - 1);
147
+ while (suffixLength >= 0) {
148
+ const suffix = candidates.slice(candidates.length - suffixLength);
149
+ const omitted = candidates.length - suffixLength;
150
+ const result = buildResult([anchor, ...suffix], omitted, omitted > 0);
151
+ if (countCodePoints(result.text) <= COMBINED_CAP_CP) {
152
+ return result;
153
+ }
154
+ suffixLength -= 1;
155
+ }
156
+ // The anchor alone always fits: one event is capped at 8,000 code points
157
+ // plus bounded marker/tag overhead within the 24,000 budget.
158
+ return buildResult([anchor], candidates.length, candidates.length > 0);
159
+ }
160
+ //# sourceMappingURL=report-projection-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-projection-v1.js","sourceRoot":"","sources":["../../src/gateways/report-projection-v1.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,8 @@ export declare class SessionStore {
40
40
  role: 'user' | 'assistant';
41
41
  content: string;
42
42
  timestamp: number;
43
+ }, opts?: {
44
+ sourceMessageRef?: string;
43
45
  }): boolean;
44
46
  /**
45
47
  * Flush streaming response to the last incomplete turn.
@@ -86,6 +88,26 @@ export declare class SessionStore {
86
88
  * Format context as readable string for system prompt
87
89
  * Only includes the most recent turns to avoid token bloat
88
90
  */
91
+ /**
92
+ * TG-05 (design Decision 6): finalize the exact provisional turn, insert its
93
+ * report-consumption receipt, and mark the selected delivered events
94
+ * consumed - in ONE SQLite transaction on the shared connection. An exact
95
+ * replay is a no-op; any divergence is a conflict. A crash before the
96
+ * transaction leaves the turn provisional and events pending; a crash after
97
+ * it leaves both final and consumed.
98
+ */
99
+ finalizeTurnWithReportReceipt(input: {
100
+ sessionId: string;
101
+ sourceMessageRef: string;
102
+ finalResponse: string;
103
+ committedAtIso: string;
104
+ receipt: {
105
+ deliveryIds: string[];
106
+ projectionVersion: string;
107
+ projectionText: string;
108
+ projectionHash: string;
109
+ };
110
+ }): void;
89
111
  formatContextForPrompt(sessionId: string, maxTurnsToInject?: number): string;
90
112
  /**
91
113
  * Convert database row to Session object
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsD3E;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,EAAE,EAAE,cAAc,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAMnE;;OAEG;IACH,OAAO,CAAC,YAAY;IAwCpB;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO;IA8CV;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ1C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAoCnF;;;;OAIG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACtE,OAAO;IAmCV;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;IA6B3E,sEAAsE;IACtE,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAqBjD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAWjD;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAcjF;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAcxC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAMzC;;OAEG;IACH,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,EAAE;IAa/C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAUzF;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IASjD;;OAEG;IACH,oBAAoB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAiB5D;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAU,GAAG,MAAM;IA6B/E;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsD3E;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,EAAE,EAAE,cAAc,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAMnE;;OAEG;IACH,OAAO,CAAC,YAAY;IAwCpB;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO;IA8CV;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ1C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAoCnF;;;;OAIG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EACvE,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO,GACvC,OAAO;IA4CV;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;IA6B3E,sEAAsE;IACtE,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAqBjD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAWjD;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAcjF;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAcxC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAMzC;;OAEG;IACH,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,EAAE;IAa/C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAUzF;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IASjD;;OAEG;IACH,oBAAoB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAiB5D;;;OAGG;IACH;;;;;;;OAOG;IACH,6BAA6B,CAAC,KAAK,EAAE;QACnC,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE;YACP,WAAW,EAAE,MAAM,EAAE,CAAC;YACtB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC;YACvB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,GAAG,IAAI;IAoFR,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAU,GAAG,MAAM;IA+B/E;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -200,7 +200,7 @@ class SessionStore {
200
200
  * - role='user': creates a new turn with empty bot
201
201
  * - role='assistant': fills bot field of last incomplete turn, or creates new turn
202
202
  */
203
- appendMessage(sessionId, msg) {
203
+ appendMessage(sessionId, msg, opts = {}) {
204
204
  const session = this.getById(sessionId);
205
205
  if (!session) {
206
206
  return false;
@@ -213,7 +213,16 @@ class SessionStore {
213
213
  history = [];
214
214
  }
215
215
  if (msg.role === 'user') {
216
- history.push({ user: msg.content, bot: '', timestamp: msg.timestamp });
216
+ history.push({
217
+ user: msg.content,
218
+ bot: '',
219
+ timestamp: msg.timestamp,
220
+ // TG-05: a source-ref-bound turn stays provisional until the atomic
221
+ // turn/receipt commit; fresh-session formatting excludes it.
222
+ ...(opts.sourceMessageRef
223
+ ? { sourceMessageRef: opts.sourceMessageRef, state: 'provisional' }
224
+ : {}),
225
+ });
217
226
  }
218
227
  else {
219
228
  const lastTurn = history[history.length - 1];
@@ -387,8 +396,72 @@ class SessionStore {
387
396
  * Format context as readable string for system prompt
388
397
  * Only includes the most recent turns to avoid token bloat
389
398
  */
399
+ /**
400
+ * TG-05 (design Decision 6): finalize the exact provisional turn, insert its
401
+ * report-consumption receipt, and mark the selected delivered events
402
+ * consumed - in ONE SQLite transaction on the shared connection. An exact
403
+ * replay is a no-op; any divergence is a conflict. A crash before the
404
+ * transaction leaves the turn provisional and events pending; a crash after
405
+ * it leaves both final and consumed.
406
+ */
407
+ finalizeTurnWithReportReceipt(input) {
408
+ if (input.receipt.deliveryIds.length === 0) {
409
+ throw new Error('A report receipt requires at least one selected delivery ID');
410
+ }
411
+ const responseSha = (0, crypto_1.createHash)('sha256').update(input.finalResponse, 'utf8').digest('hex');
412
+ const run = this.db.transaction(() => {
413
+ const existing = this.db
414
+ .prepare(`SELECT delivery_ids, projection_hash, final_response_sha256
415
+ FROM telegram_report_context_receipts WHERE source_message_ref = ?`)
416
+ .get(input.sourceMessageRef);
417
+ if (existing) {
418
+ if (existing.delivery_ids === JSON.stringify(input.receipt.deliveryIds) &&
419
+ existing.projection_hash === input.receipt.projectionHash &&
420
+ existing.final_response_sha256 === responseSha) {
421
+ return; // exact replay converges
422
+ }
423
+ throw new Error(`Report receipt conflict for ${input.sourceMessageRef}: a different finalization is already committed`);
424
+ }
425
+ const session = this.getById(input.sessionId);
426
+ if (!session) {
427
+ throw new Error(`Unknown session ${input.sessionId}`);
428
+ }
429
+ let history;
430
+ try {
431
+ history = JSON.parse(session.context || '[]');
432
+ }
433
+ catch {
434
+ history = [];
435
+ }
436
+ const turn = history.find((candidate) => candidate.sourceMessageRef === input.sourceMessageRef && candidate.state === 'provisional');
437
+ if (!turn) {
438
+ throw new Error(`No provisional turn matches ${input.sourceMessageRef} in session ${input.sessionId}`);
439
+ }
440
+ turn.bot = input.finalResponse;
441
+ turn.state = 'final';
442
+ turn.finalResponseSha256 = responseSha;
443
+ this.db
444
+ .prepare('UPDATE messenger_sessions SET context = ?, last_active = ? WHERE id = ?')
445
+ .run(JSON.stringify(history.slice(-this.maxTurns)), Date.now(), input.sessionId);
446
+ this.db
447
+ .prepare(`INSERT INTO telegram_report_context_receipts
448
+ (source_message_ref, session_id, delivery_ids, projection_version,
449
+ projection_text, projection_hash, final_response_sha256, committed_at)
450
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
451
+ .run(input.sourceMessageRef, input.sessionId, JSON.stringify(input.receipt.deliveryIds), input.receipt.projectionVersion, input.receipt.projectionText, input.receipt.projectionHash, responseSha, input.committedAtIso);
452
+ const consume = this.db.prepare(`UPDATE telegram_report_context_events
453
+ SET disposition = 'consumed_turn', consumed_by_ref = ?, consumed_at = ?
454
+ WHERE delivery_id = ? AND state = 'delivered' AND disposition = 'pending'`);
455
+ for (const deliveryId of input.receipt.deliveryIds) {
456
+ consume.run(input.sourceMessageRef, input.committedAtIso, deliveryId);
457
+ }
458
+ });
459
+ run();
460
+ }
390
461
  formatContextForPrompt(sessionId, maxTurnsToInject = 5) {
391
- const history = this.getHistory(sessionId);
462
+ // TG-05: provisional turns are uncommitted - a fresh session must never
463
+ // restore them. Legacy turns without a state are final.
464
+ const history = this.getHistory(sessionId).filter((turn) => turn.state !== 'provisional');
392
465
  if (history.length === 0) {
393
466
  return 'New conversation';
394
467
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,mCAAgD;AAEhD,iFAAmE;AAEnE,MAAM,EAAE,WAAW,EAAE,GAAG,WAOvB,CAAC;AACF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC;AAC/C,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AAEjE,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACpE,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,MAAM,GAAG,uBAAuB;YAC7C,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,KAAK;YACnD,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChG,MAAM,YAAY,GAChB,KAAK,CAAC,MAAM,GAAG,wBAAwB;QACrC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,KAAK;QAClD,CAAC,CAAC,KAAK,CAAC;IACZ,OAAO,GAAG,WAAW,OAAO,YAAY,EAAE,CAAC;AAC7C,CAAC;AAiBD,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAa,YAAY;IACf,EAAE,CAAiB;IACnB,QAAQ,CAAS;IAEzB,YAAY,EAAkB,EAAE,UAAiC,EAAE;QACjE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,8BAA8B;QACxE,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,6BAA6B;QAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;KAeZ,CAAC,CAAC;QAEH,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAE5E,CAAC;YACH,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CACT,MAAqB,EACrB,SAAiB,EACjB,MAAe,EACf,WAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;aACrB,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,CAAC,MAAM,EAAE,SAAS,CAA2B,CAAC;QAEpD,IAAI,QAAQ,EAAE,CAAC;YACb,gDAAgD;YAChD,IAAI,WAAW,IAAI,QAAQ,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gBACzD,IAAI,CAAC,EAAE;qBACJ,OAAO,CAAC,6DAA6D,CAAC;qBACtE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACjC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;YACtC,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,qBAAqB;QACrB,MAAM,EAAE,GAAG,IAAA,mBAAU,GAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEnF,OAAO;YACL,EAAE;YACF,MAAM;YACN,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,SAAiB;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,SAAS,CAE7E,CAAC;QAEd,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB,EAAE,WAAmB,EAAE,WAAmB;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,yBAAyB;QACzB,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,0EAA0E;QAC1E,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,WAAW;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpD,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;;;;KAIH,CACE;aACA,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QAE7D,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,SAAiB,EACjB,GAAuE,EACvE,OAAsC,EAAE;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,CAAC,OAAO;gBACjB,GAAG,EAAE,EAAE;gBACP,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,oEAAoE;gBACpE,6DAA6D;gBAC7D,GAAG,CAAC,IAAI,CAAC,gBAAgB;oBACvB,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,aAAsB,EAAE;oBAC5E,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;gBACpC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC3B,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,iDAAiD,SAAS,EAAE,CAAC,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,yEAAyE,CAAC;aAClF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QAE7D,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,SAAiB,EAAE,eAAuB;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uDAAuD;QACvD,QAAQ,CAAC,GAAG,GAAG,eAAe,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,yEAAyE,CAAC;aAClF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QAEvD,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,sEAAsE;IACtE,qBAAqB,CAAC,SAAiB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,yEAAyE,CAAC;aAClF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,MAAqB,EAAE,SAAiB;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;aACpB,OAAO,CAAC,4EAA4E,CAAC;aACrF,GAAG,CAAC,MAAM,EAAE,SAAS,CAA2C,CAAC;QAEpE,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAiB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;;;;KAIH,CACE;aACA,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QAEpC,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7F,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAsB;QACjC,IAAI,IAAI,CAAC;QACT,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACpB,6EAA6E,CAC9E,CAAC;YACF,OAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC;YACrF,OAAQ,IAAI,CAAC,GAAG,EAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,MAAqB,EAAE,SAAiB,EAAE,WAAmB;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN,oIAAoI,CACrI;aACA,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEvC,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAAgB;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,sDAAsD,CAAC;aAC/D,GAAG,CAAC,MAAM,CAAC,CAAC;QAEf,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAAsB;QACzC,IAAI,IAAI,CAAC;QACT,IAAI,GAA2B,CAAC;QAEhC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACpB,qFAAqF,CACtF,CAAC;YACF,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAA2B,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC;YAC7F,GAAG,GAAG,IAAI,CAAC,GAAG,EAA4B,CAAC;QAC7C,CAAC;QAED,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH;;;;;;;OAOG;IACH,6BAA6B,CAAC,KAW7B;QACC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,WAAW,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3F,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;iBACrB,OAAO,CACN;8EACoE,CACrE;iBACA,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAEhB,CAAC;YACd,IAAI,QAAQ,EAAE,CAAC;gBACb,IACE,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnE,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC,OAAO,CAAC,cAAc;oBACzD,QAAQ,CAAC,qBAAqB,KAAK,WAAW,EAC9C,CAAC;oBACD,OAAO,CAAC,yBAAyB;gBACnC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,CAAC,gBAAgB,iDAAiD,CACvG,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,OAA2B,CAAC;YAChC,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CACvB,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,KAAK,KAAK,aAAa,CAC7F,CAAC;YACF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,CAAC,gBAAgB,eAAe,KAAK,CAAC,SAAS,EAAE,CACtF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;YACvC,IAAI,CAAC,EAAE;iBACJ,OAAO,CAAC,yEAAyE,CAAC;iBAClF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAEnF,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;;2CAGiC,CAClC;iBACA,GAAG,CACF,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EACzC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAC/B,KAAK,CAAC,OAAO,CAAC,cAAc,EAC5B,KAAK,CAAC,OAAO,CAAC,cAAc,EAC5B,WAAW,EACX,KAAK,CAAC,cAAc,CACrB,CAAC;YAEJ,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC7B;;mFAE2E,CAC5E,CAAC;YACF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,EAAE,CAAC;IACR,CAAC;IAED,sBAAsB,CAAC,SAAiB,EAAE,mBAA2B,CAAC;QACpE,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QAE1F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,qEAAqE;QACrE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAErD,uDAAuD;QACvD,qDAAqD;QACrD,sEAAsE;QACtE,4EAA4E;QAC5E,OAAO,WAAW;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,sDAAsD;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG;iBAClB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,gCAAgC;iBAC9D,OAAO,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC,4BAA4B;iBAC/E,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC,mCAAmC;iBAChF,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACrE,OAAO,SAAS,OAAO,gBAAgB,MAAM,EAAE,CAAC;QAClD,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAe;QAClC,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAuB;YACnC,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;YAC1C,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;YAC5B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,UAAU,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF;AAjiBD,oCAiiBC"}
@@ -9,6 +9,12 @@ export interface TelegramMessageLedgerEntry {
9
9
  deliveryUncertain?: boolean;
10
10
  deliveryTarget?: string;
11
11
  payloadIdentity?: string;
12
+ /**
13
+ * TG-05/TG-06: a pinned entry is exempt from TTL pruning and delivered-entry
14
+ * eviction while the report-context SQLite row remains nonterminal, so a
15
+ * confirmed-send proof cannot expire before the durable context commit.
16
+ */
17
+ pinned?: boolean;
12
18
  }
13
19
  export interface TelegramDeliveryBinding {
14
20
  deliveryTarget: string;
@@ -41,6 +47,10 @@ export declare class TelegramMessageLedger {
41
47
  markReady(key: string, response: string): void;
42
48
  markDeliveryProgress(key: string, nextChunkIndex: number, deliveryUncertain: boolean): void;
43
49
  markDelivered(key: string): void;
50
+ /** Pin an existing delivery entry against TTL pruning and eviction. */
51
+ pin(key: string): void;
52
+ /** Idempotently release a pin; a missing or unpinned entry is a no-op. */
53
+ unpin(key: string): void;
44
54
  /** Compatibility alias for the original completed-ID ledger API. */
45
55
  record(key: string): void;
46
56
  private requireEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-message-ledger.d.ts","sourceRoot":"","sources":["../../src/gateways/telegram-message-ledger.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAiBD,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,qBAAa,qBAAqB;IAS9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAGd,IAAI,EAAE,MAAM,EAC7B,OAAO,GAAE,4BAAiC;IAU5C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;IAMnD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,eAAe,IAAI,0BAA0B,EAAE;IAO/C,uBAAuB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO;IAInE,KAAK,CACH,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,uBAAuB,GAChC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,0BAA0B,CAAA;KAAE;IA8B1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAkB9C,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI;IAmB3F,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAgBhC,oEAAoE;IACpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,IAAI;IAkGZ,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,MAAM;CAWf"}
1
+ {"version":3,"file":"telegram-message-ledger.d.ts","sourceRoot":"","sources":["../../src/gateways/telegram-message-ledger.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAiBD,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,qBAAa,qBAAqB;IAS9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAGd,IAAI,EAAE,MAAM,EAC7B,OAAO,GAAE,4BAAiC;IAU5C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;IAMnD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,eAAe,IAAI,0BAA0B,EAAE;IAO/C,uBAAuB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO;IAInE,KAAK,CACH,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,uBAAuB,GAChC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,0BAA0B,CAAA;KAAE;IA8B1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAkB9C,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI;IAmB3F,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAiBhC,uEAAuE;IACvE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQtB,0EAA0E;IAC1E,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IASxB,oEAAoE;IACpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,IAAI;IAkGZ,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,MAAM;CAWf"}
@@ -116,10 +116,30 @@ class TelegramMessageLedger {
116
116
  ownerId: this.ownerId,
117
117
  ...(existing?.deliveryTarget ? { deliveryTarget: existing.deliveryTarget } : {}),
118
118
  ...(existing?.payloadIdentity ? { payloadIdentity: existing.payloadIdentity } : {}),
119
+ ...(existing?.pinned ? { pinned: true } : {}),
119
120
  });
120
121
  this.enforceEntryLimit();
121
122
  });
122
123
  }
124
+ /** Pin an existing delivery entry against TTL pruning and eviction. */
125
+ pin(key) {
126
+ const entry = this.requireEntry(key);
127
+ if (entry.pinned)
128
+ return;
129
+ this.commit(() => {
130
+ this.entries.set(key, { ...entry, pinned: true });
131
+ });
132
+ }
133
+ /** Idempotently release a pin; a missing or unpinned entry is a no-op. */
134
+ unpin(key) {
135
+ const entry = this.entries.get(key);
136
+ if (!entry?.pinned)
137
+ return;
138
+ this.commit(() => {
139
+ const { pinned: _pinned, ...rest } = entry;
140
+ this.entries.set(key, rest);
141
+ });
142
+ }
123
143
  /** Compatibility alias for the original completed-ID ledger API. */
124
144
  record(key) {
125
145
  this.markDelivered(key);
@@ -230,8 +250,9 @@ class TelegramMessageLedger {
230
250
  prune() {
231
251
  const cutoff = this.now() - this.ttlMs;
232
252
  for (const [key, entry] of this.entries) {
233
- if (entry.state === 'delivered' && entry.updatedAt < cutoff)
253
+ if (entry.state === 'delivered' && entry.updatedAt < cutoff && !entry.pinned) {
234
254
  this.entries.delete(key);
255
+ }
235
256
  }
236
257
  }
237
258
  save() {
@@ -262,7 +283,7 @@ class TelegramMessageLedger {
262
283
  }
263
284
  evictOldestDelivered() {
264
285
  for (const [key, entry] of this.entries) {
265
- if (entry.state === 'delivered') {
286
+ if (entry.state === 'delivered' && !entry.pinned) {
266
287
  this.entries.delete(key);
267
288
  return true;
268
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-message-ledger.js","sourceRoot":"","sources":["../../src/gateways/telegram-message-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram-message-ledger.js","sourceRoot":"","sources":["../../src/gateways/telegram-message-ledger.ts"],"names":[],"mappings":"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"}