instar 1.3.1294 → 1.3.1295
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/messaging/OutboundContentDedup.d.ts +10 -3
- package/dist/messaging/OutboundContentDedup.d.ts.map +1 -1
- package/dist/messaging/OutboundContentDedup.js +21 -6
- package/dist/messaging/OutboundContentDedup.js.map +1 -1
- package/dist/messaging/OutboundDedupStore.d.ts +32 -3
- package/dist/messaging/OutboundDedupStore.d.ts.map +1 -1
- package/dist/messaging/OutboundDedupStore.js +50 -4
- package/dist/messaging/OutboundDedupStore.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginBrowserExecutor.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginBrowserExecutor.js +71 -51
- package/dist/messaging/telegram-origin/OriginBrowserExecutor.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginContentDedup.d.ts +1 -1
- package/dist/messaging/telegram-origin/OriginContentDedup.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginContentDedup.js +13 -5
- package/dist/messaging/telegram-origin/OriginContentDedup.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginSendPolicy.d.ts +4 -1
- package/dist/messaging/telegram-origin/OriginSendPolicy.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginSendPolicy.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginStore.d.ts +1 -0
- package/dist/messaging/telegram-origin/OriginStore.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginStore.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts +1 -0
- package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginStoreBackend.js +3 -2
- package/dist/messaging/telegram-origin/OriginStoreBackend.js.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginService.d.ts +14 -2
- package/dist/messaging/telegram-origin/TelegramOriginService.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginService.js +166 -123
- package/dist/messaging/telegram-origin/TelegramOriginService.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/upgrades/1.3.1295.md +70 -0
- package/upgrades/side-effects/dedup-held-not-delivered.md +352 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1295",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/audits/phase-b/f10-triage.md",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "829104e891c28ac108e88748cb874e31e423a152b1f39b0fb947bec9a1679dff",
|
|
3
3
|
"registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1295"
|
|
5
5
|
}
|
|
@@ -91,10 +91,17 @@ export declare class OutboundContentDedup {
|
|
|
91
91
|
* clears any in-flight reservation for this fingerprint (the send resolved). */
|
|
92
92
|
record(topicId: number | string, text: string): void;
|
|
93
93
|
/** Drop expired entries, then enforce the per-topic ring cap (oldest-first). */
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
*
|
|
94
|
+
/** `preparedAt` bounds the look-back for a retry: any acceptance of this
|
|
95
|
+
* text since the operation was prepared supersedes it, even past the window
|
|
96
|
+
* (a released held operation retried after a fresh send must not duplicate it). */
|
|
97
|
+
reserveOrigin(topicId: number | string, text: string, operationId: string, ownerToken: string, deadlineAt: number, preparedAt?: number): import('./OutboundDedupStore.js').OriginReservation;
|
|
98
|
+
/** Only a fully accepted operation records its content as sent. A failure
|
|
99
|
+
* with no platform acceptance releases its reservation (`releaseOrigin`). */
|
|
97
100
|
completeOrigin(topicId: number | string, text: string, operationId: string): void;
|
|
101
|
+
/** An execution that ended without platform acceptance releases its own
|
|
102
|
+
* reservation, so its content is never treated as delivered. Fenced to the
|
|
103
|
+
* operation and the claim token that reserved it. */
|
|
104
|
+
releaseOrigin(topicId: number | string, text: string, operationId: string, ownerToken: string): void;
|
|
98
105
|
private pruneTopic;
|
|
99
106
|
/** Drop expired reservations (past `reserveTtlMs`), then cap the ring. Keeps a
|
|
100
107
|
* leaked reservation from lingering and bounds memory the same way `seen` is. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutboundContentDedup.d.ts","sourceRoot":"","sources":["../../src/messaging/OutboundContentDedup.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;qEAGiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD;0EAC0E;AAC1E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuC;IAC3D,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmD;IACxE;;;;;;;0EAOsE;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmD;IAC5E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC;;;;gFAI4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8D;gBAGlF,GAAG,GAAE,0BAA+B,EACpC,GAAG,GAAE,MAAM,MAAiB,EAC5B,KAAK,GAAE,OAAO,yBAAyB,EAAE,kBAAkB,GAAG,IAAW;IAO3E;;0CAEsC;IACtC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAiB5D;;;;;;;;;;wEAUoE;IACpE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAwB3D;qFACiF;IACjF,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAMhE;;qFAEiF;IACjF,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAoBpD,gFAAgF;IAChF,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"OutboundContentDedup.d.ts","sourceRoot":"","sources":["../../src/messaging/OutboundContentDedup.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;qEAGiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD;0EAC0E;AAC1E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuC;IAC3D,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmD;IACxE;;;;;;;0EAOsE;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmD;IAC5E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC;;;;gFAI4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8D;gBAGlF,GAAG,GAAE,0BAA+B,EACpC,GAAG,GAAE,MAAM,MAAiB,EAC5B,KAAK,GAAE,OAAO,yBAAyB,EAAE,kBAAkB,GAAG,IAAW;IAO3E;;0CAEsC;IACtC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAiB5D;;;;;;;;;;wEAUoE;IACpE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAwB3D;qFACiF;IACjF,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAMhE;;qFAEiF;IACjF,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAoBpD,gFAAgF;IAChF;;uFAEmF;IACnF,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,yBAAyB,EAAE,iBAAiB;IAa5L;iFAC6E;IAC7E,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAOjF;;yDAEqD;IACrD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAMpG,OAAO,CAAC,UAAU;IAYlB;sFACkF;IAClF,OAAO,CAAC,aAAa;CAWtB"}
|
|
@@ -140,20 +140,26 @@ export class OutboundContentDedup {
|
|
|
140
140
|
this.store?.record(topicId, fp, now);
|
|
141
141
|
}
|
|
142
142
|
/** Drop expired entries, then enforce the per-topic ring cap (oldest-first). */
|
|
143
|
-
|
|
143
|
+
/** `preparedAt` bounds the look-back for a retry: any acceptance of this
|
|
144
|
+
* text since the operation was prepared supersedes it, even past the window
|
|
145
|
+
* (a released held operation retried after a fresh send must not duplicate it). */
|
|
146
|
+
reserveOrigin(topicId, text, operationId, ownerToken, deadlineAt, preparedAt) {
|
|
144
147
|
const norm = normalizeForDedup(text);
|
|
145
148
|
if (!this.cfg.enabled || norm.length < this.cfg.minLength)
|
|
146
149
|
return 'reserved';
|
|
147
150
|
const now = this.now(), fp = fingerprint(norm), reservedAt = this.reserved.get(topicId)?.get(fp);
|
|
151
|
+
// A legacy send still in flight is not a delivery.
|
|
148
152
|
if (reservedAt !== undefined && now - reservedAt < this.cfg.reserveTtlMs)
|
|
149
|
-
return '
|
|
153
|
+
return 'pending';
|
|
150
154
|
if (!Number.isSafeInteger(deadlineAt) || deadlineAt < now || deadlineAt - now > 24 * 60 * 60_000)
|
|
151
155
|
return 'unavailable';
|
|
152
|
-
|
|
153
|
-
|
|
156
|
+
const windowStart = now - this.cfg.windowMs;
|
|
157
|
+
const sentSince = preparedAt !== undefined && Number.isSafeInteger(preparedAt) && preparedAt < windowStart ? preparedAt : windowStart;
|
|
158
|
+
return this.store?.reserveOrigin?.({ topicId, fingerprint: fp, operationId, ownerToken, now,
|
|
159
|
+
expiresAt: deadlineAt + this.cfg.windowMs, sentSince }) ?? 'unavailable';
|
|
154
160
|
}
|
|
155
|
-
/** Only a fully accepted operation
|
|
156
|
-
*
|
|
161
|
+
/** Only a fully accepted operation records its content as sent. A failure
|
|
162
|
+
* with no platform acceptance releases its reservation (`releaseOrigin`). */
|
|
157
163
|
completeOrigin(topicId, text, operationId) {
|
|
158
164
|
const norm = normalizeForDedup(text);
|
|
159
165
|
if (!this.cfg.enabled || norm.length < this.cfg.minLength)
|
|
@@ -161,6 +167,15 @@ export class OutboundContentDedup {
|
|
|
161
167
|
const now = this.now();
|
|
162
168
|
this.store?.completeOrigin?.({ topicId, fingerprint: fingerprint(norm), operationId, now, expiresAt: now + this.cfg.windowMs });
|
|
163
169
|
}
|
|
170
|
+
/** An execution that ended without platform acceptance releases its own
|
|
171
|
+
* reservation, so its content is never treated as delivered. Fenced to the
|
|
172
|
+
* operation and the claim token that reserved it. */
|
|
173
|
+
releaseOrigin(topicId, text, operationId, ownerToken) {
|
|
174
|
+
const norm = normalizeForDedup(text);
|
|
175
|
+
if (!this.cfg.enabled || norm.length < this.cfg.minLength)
|
|
176
|
+
return;
|
|
177
|
+
this.store?.releaseOrigin?.({ topicId, fingerprint: fingerprint(norm), operationId, ownerToken, now: this.now() });
|
|
178
|
+
}
|
|
164
179
|
pruneTopic(topicMap) {
|
|
165
180
|
const cutoff = this.now() - this.cfg.windowMs;
|
|
166
181
|
for (const [fp, at] of topicMap) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutboundContentDedup.js","sourceRoot":"","sources":["../../src/messaging/OutboundContentDedup.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OutboundContentDedup.js","sourceRoot":"","sources":["../../src/messaging/OutboundContentDedup.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,10 +27,11 @@ export interface OutboundDedupStore {
|
|
|
27
27
|
topicId: number | string;
|
|
28
28
|
fingerprint: string;
|
|
29
29
|
operationId: string;
|
|
30
|
+
ownerToken: string;
|
|
30
31
|
now: number;
|
|
31
32
|
expiresAt: number;
|
|
32
33
|
sentSince: number;
|
|
33
|
-
}):
|
|
34
|
+
}): OriginReservation;
|
|
34
35
|
completeOrigin?(input: {
|
|
35
36
|
topicId: number | string;
|
|
36
37
|
fingerprint: string;
|
|
@@ -38,7 +39,17 @@ export interface OutboundDedupStore {
|
|
|
38
39
|
now: number;
|
|
39
40
|
expiresAt: number;
|
|
40
41
|
}): boolean;
|
|
42
|
+
releaseOrigin?(input: {
|
|
43
|
+
topicId: number | string;
|
|
44
|
+
fingerprint: string;
|
|
45
|
+
operationId: string;
|
|
46
|
+
ownerToken: string;
|
|
47
|
+
now: number;
|
|
48
|
+
}): boolean;
|
|
41
49
|
}
|
|
50
|
+
/** `pending` = another operation holds a live reservation (in flight, not
|
|
51
|
+
* delivered). `duplicate` = the content was accepted by the platform. */
|
|
52
|
+
export type OriginReservation = 'reserved' | 'pending' | 'duplicate' | 'unavailable';
|
|
42
53
|
/** A no-op store — the explicit "no durable layer" fallback. */
|
|
43
54
|
export declare const NULL_OUTBOUND_DEDUP_STORE: OutboundDedupStore;
|
|
44
55
|
export declare class SqliteOutboundDedupStore implements OutboundDedupStore {
|
|
@@ -51,15 +62,19 @@ export declare class SqliteOutboundDedupStore implements OutboundDedupStore {
|
|
|
51
62
|
/** Resolve the default db path for an agent's state dir. */
|
|
52
63
|
hasOriginReservation(topicId: number | string, fingerprint: string, now: number): boolean | null;
|
|
53
64
|
/** Fixed 4096-slot reservation table; expired slots are reused in place.
|
|
54
|
-
* This is content suppression state, never a transport claim or retry queue.
|
|
65
|
+
* This is content suppression state, never a transport claim or retry queue.
|
|
66
|
+
* Callers reserve only while holding the operation's exclusive outbox claim,
|
|
67
|
+
* so the same operation re-reserving adopts ownership for its current claim;
|
|
68
|
+
* an earlier execution's release is then fenced out. */
|
|
55
69
|
reserveOrigin(input: {
|
|
56
70
|
topicId: number | string;
|
|
57
71
|
fingerprint: string;
|
|
58
72
|
operationId: string;
|
|
73
|
+
ownerToken: string;
|
|
59
74
|
now: number;
|
|
60
75
|
expiresAt: number;
|
|
61
76
|
sentSince: number;
|
|
62
|
-
}):
|
|
77
|
+
}): OriginReservation;
|
|
63
78
|
completeOrigin(input: {
|
|
64
79
|
topicId: number | string;
|
|
65
80
|
fingerprint: string;
|
|
@@ -67,6 +82,20 @@ export declare class SqliteOutboundDedupStore implements OutboundDedupStore {
|
|
|
67
82
|
now: number;
|
|
68
83
|
expiresAt: number;
|
|
69
84
|
}): boolean;
|
|
85
|
+
/** Owner-fenced release of a reservation whose execution ended with no
|
|
86
|
+
* platform acceptance (known-failed, outcome-unknown, held after its claim).
|
|
87
|
+
* A reservation is not a delivery: leaving it live made a fresh identical
|
|
88
|
+
* send report "already delivered" for a message the user never received.
|
|
89
|
+
* Fenced to the execution's own claim token, so a losing or earlier
|
|
90
|
+
* execution can never expire a live execution's reservation. Accepted
|
|
91
|
+
* fingerprints in outbound_dedup are untouched. */
|
|
92
|
+
releaseOrigin(input: {
|
|
93
|
+
topicId: number | string;
|
|
94
|
+
fingerprint: string;
|
|
95
|
+
operationId: string;
|
|
96
|
+
ownerToken: string;
|
|
97
|
+
now: number;
|
|
98
|
+
}): boolean;
|
|
70
99
|
static defaultPath(stateDir: string): string;
|
|
71
100
|
}
|
|
72
101
|
//# sourceMappingURL=OutboundDedupStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutboundDedupStore.d.ts","sourceRoot":"","sources":["../../src/messaging/OutboundDedupStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACtF,+FAA+F;IAC/F,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,oBAAoB,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAClG,aAAa,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"OutboundDedupStore.d.ts","sourceRoot":"","sources":["../../src/messaging/OutboundDedupStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,11 @@ export class SqliteOutboundDedupStore {
|
|
|
46
46
|
slot INTEGER PRIMARY KEY CHECK(slot >= 0 AND slot < 4096), topic_key TEXT NOT NULL,
|
|
47
47
|
fingerprint TEXT NOT NULL, operation_id TEXT NOT NULL, expires_at INTEGER NOT NULL,
|
|
48
48
|
UNIQUE(topic_key, fingerprint))`);
|
|
49
|
+
// The outbox claim that may release each slot's reservation. A side table
|
|
50
|
+
// (bounded by the 4096 slots) so an older build's positional INSERT into
|
|
51
|
+
// the reservations table keeps working after a rollback.
|
|
52
|
+
this.db.exec(`CREATE TABLE IF NOT EXISTS outbound_origin_reservation_owners (
|
|
53
|
+
slot INTEGER PRIMARY KEY, operation_id TEXT NOT NULL, owner_token TEXT NOT NULL)`);
|
|
49
54
|
// Close-on-exit registry (SqliteRegistry.ts) — closed once at shutdown so
|
|
50
55
|
// the handle never leaks (db-leak hygiene; relevant to the topic-21816
|
|
51
56
|
// resource theme). Registered only after the db is successfully open.
|
|
@@ -115,7 +120,10 @@ export class SqliteOutboundDedupStore {
|
|
|
115
120
|
}
|
|
116
121
|
}
|
|
117
122
|
/** Fixed 4096-slot reservation table; expired slots are reused in place.
|
|
118
|
-
* This is content suppression state, never a transport claim or retry queue.
|
|
123
|
+
* This is content suppression state, never a transport claim or retry queue.
|
|
124
|
+
* Callers reserve only while holding the operation's exclusive outbox claim,
|
|
125
|
+
* so the same operation re-reserving adopts ownership for its current claim;
|
|
126
|
+
* an earlier execution's release is then fenced out. */
|
|
119
127
|
reserveOrigin(input) {
|
|
120
128
|
if (!this.db)
|
|
121
129
|
return 'unavailable';
|
|
@@ -123,18 +131,29 @@ export class SqliteOutboundDedupStore {
|
|
|
123
131
|
return this.db.transaction(() => {
|
|
124
132
|
const db = this.db, key = String(input.topicId);
|
|
125
133
|
const existing = db.prepare('SELECT slot,operation_id,expires_at FROM outbound_origin_reservations WHERE topic_key=? AND fingerprint=?').get(key, input.fingerprint);
|
|
126
|
-
|
|
127
|
-
|
|
134
|
+
const live = existing && existing.expires_at > input.now;
|
|
135
|
+
const own = (slot) => db.prepare('INSERT INTO outbound_origin_reservation_owners VALUES (?,?,?) ON CONFLICT(slot) DO UPDATE SET operation_id=excluded.operation_id,owner_token=excluded.owner_token')
|
|
136
|
+
.run(slot, input.operationId, input.ownerToken);
|
|
137
|
+
if (live && existing.operation_id === input.operationId) {
|
|
138
|
+
own(existing.slot);
|
|
139
|
+
return 'reserved';
|
|
140
|
+
}
|
|
141
|
+
// Platform acceptance outranks contention; a live row alone is only in flight.
|
|
128
142
|
if (db.prepare('SELECT 1 FROM outbound_dedup WHERE topic_id=? AND fingerprint=? AND sent_at>=?').get(input.topicId, input.fingerprint, input.sentSince))
|
|
129
143
|
return 'duplicate';
|
|
144
|
+
if (live)
|
|
145
|
+
return 'pending';
|
|
130
146
|
const reusable = existing ?? db.prepare('SELECT slot FROM outbound_origin_reservations WHERE expires_at<=? ORDER BY slot LIMIT 1').get(input.now);
|
|
131
|
-
if (reusable)
|
|
147
|
+
if (reusable) {
|
|
132
148
|
db.prepare('UPDATE outbound_origin_reservations SET topic_key=?,fingerprint=?,operation_id=?,expires_at=? WHERE slot=?').run(key, input.fingerprint, input.operationId, input.expiresAt, reusable.slot);
|
|
149
|
+
own(reusable.slot);
|
|
150
|
+
}
|
|
133
151
|
else {
|
|
134
152
|
const count = db.prepare('SELECT count(*) AS n FROM outbound_origin_reservations').get().n;
|
|
135
153
|
if (count >= 4096)
|
|
136
154
|
return 'unavailable';
|
|
137
155
|
db.prepare('INSERT INTO outbound_origin_reservations VALUES (?,?,?,?,?)').run(count, key, input.fingerprint, input.operationId, input.expiresAt);
|
|
156
|
+
own(count);
|
|
138
157
|
}
|
|
139
158
|
return 'reserved';
|
|
140
159
|
}).immediate();
|
|
@@ -179,6 +198,33 @@ export class SqliteOutboundDedupStore {
|
|
|
179
198
|
return false;
|
|
180
199
|
}
|
|
181
200
|
}
|
|
201
|
+
/** Owner-fenced release of a reservation whose execution ended with no
|
|
202
|
+
* platform acceptance (known-failed, outcome-unknown, held after its claim).
|
|
203
|
+
* A reservation is not a delivery: leaving it live made a fresh identical
|
|
204
|
+
* send report "already delivered" for a message the user never received.
|
|
205
|
+
* Fenced to the execution's own claim token, so a losing or earlier
|
|
206
|
+
* execution can never expire a live execution's reservation. Accepted
|
|
207
|
+
* fingerprints in outbound_dedup are untouched. */
|
|
208
|
+
releaseOrigin(input) {
|
|
209
|
+
if (!this.db)
|
|
210
|
+
return false;
|
|
211
|
+
try {
|
|
212
|
+
return this.db.prepare(`UPDATE outbound_origin_reservations SET expires_at=? WHERE topic_key=? AND fingerprint=? AND operation_id=? AND expires_at>?
|
|
213
|
+
AND EXISTS (SELECT 1 FROM outbound_origin_reservation_owners o WHERE o.slot=outbound_origin_reservations.slot
|
|
214
|
+
AND o.operation_id=outbound_origin_reservations.operation_id AND o.owner_token=?)`)
|
|
215
|
+
.run(input.now, String(input.topicId), input.fingerprint, input.operationId, input.now, input.ownerToken).changes > 0;
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
DegradationReporter.getInstance().report({
|
|
219
|
+
feature: 'OutboundDedupStore.origin-reservation-release',
|
|
220
|
+
primary: 'Release the content reservation of an operation that was never accepted',
|
|
221
|
+
fallback: 'Retain the reservation until its original deadline',
|
|
222
|
+
reason: 'Origin release database write failed',
|
|
223
|
+
impact: 'An identical fresh send may be suppressed until the held operation deadline passes',
|
|
224
|
+
});
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
182
228
|
static defaultPath(stateDir) {
|
|
183
229
|
return path.join(stateDir, 'outbound-dedup.db');
|
|
184
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutboundDedupStore.js","sourceRoot":"","sources":["../../src/messaging/OutboundDedupStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"OutboundDedupStore.js","sourceRoot":"","sources":["../../src/messaging/OutboundDedupStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginBrowserExecutor.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginBrowserExecutor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAC/G,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,YAAY,CAAC;AAO1E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,kBAAkB,CAAC;IAChC,+FAA+F;IAC/F,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;IAChH,OAAO,EAAE,qBAAqB,CAAC;IAC/B,KAAK,EAAE,MAAM,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC/C,iFAAiF;IACjF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,SAAS,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAGpB,QAAQ,CAAC,OAAO,EAAE,4BAA4B;IAF1D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2I;gBAC7I,OAAO,EAAE,4BAA4B;IAmB1D,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,0BAA0B;IAoExD,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAM1F,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"OriginBrowserExecutor.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginBrowserExecutor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAC/G,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,YAAY,CAAC;AAO1E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,kBAAkB,CAAC;IAChC,+FAA+F;IAC/F,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;IAChH,OAAO,EAAE,qBAAqB,CAAC;IAC/B,KAAK,EAAE,MAAM,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC/C,iFAAiF;IACjF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,SAAS,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAGpB,QAAQ,CAAC,OAAO,EAAE,4BAA4B;IAF1D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2I;gBAC7I,OAAO,EAAE,4BAA4B;IAmB1D,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,0BAA0B;IAoExD,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAM1F,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IA+E3G,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CACvB"}
|
|
@@ -134,64 +134,84 @@ export class OriginBrowserExecutor {
|
|
|
134
134
|
stored.operation?.operationId !== operation.record.operationId || operation.record.destination.accountId !== this.options.accountId) {
|
|
135
135
|
throw new TelegramOriginHoldError('sealed-browser-plan-mismatch', operation.record.operationId);
|
|
136
136
|
}
|
|
137
|
-
if (stored.children.some(child => child.state !== 'accepted'))
|
|
137
|
+
if (stored.children.some(child => child.state !== 'accepted'))
|
|
138
138
|
await this.options.service.reviewPreparedSendPolicy(operation);
|
|
139
|
-
await this.options.service.reservePreparedContent(operation);
|
|
140
|
-
}
|
|
141
139
|
const receipts = [];
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
!await this.options.authorize(operation.record.destination))
|
|
154
|
-
throw new TelegramOriginHoldError('browser-not-authorized', operation.record.operationId);
|
|
155
|
-
await this.options.service.authorizeOriginDispatch(operation.record);
|
|
156
|
-
this.options.service.authorizeSendPolicyDispatch(operation.record);
|
|
157
|
-
const claim = await store.claim({ childId: child.childId, materializationId: materialization.materializationId,
|
|
158
|
-
ownerBootId: this.options.service.options.ownerBootId, leaseMs: 60_000 });
|
|
159
|
-
if (claim.status !== 'claimed')
|
|
160
|
-
throw new TelegramOriginHoldError(`outbox-${claim.reason}`, operation.record.operationId);
|
|
161
|
-
if (claim.child.materialization.requestJson !== materialization.requestJson)
|
|
162
|
-
throw new TelegramOriginHoldError('sealed-browser-request-mismatch', operation.record.operationId);
|
|
163
|
-
this.claims.set(child.childId, { claim: claim.child, request, destination: operation.record.destination, record: operation.record });
|
|
164
|
-
try {
|
|
165
|
-
const outcome = await this.broker.executePreparedChild({ ...request, childId: child.childId,
|
|
166
|
-
originId: operation.record.originId, claimFence: claim.child.claimToken });
|
|
167
|
-
let saved;
|
|
168
|
-
try {
|
|
169
|
-
saved = await store.recordOutcome({ ...claim.child, outcome: outcome.state,
|
|
170
|
-
...(outcome.state === 'accepted' ? { receiptJson: canonicalOrigin(outcome.receipt) } : { reason: outcome.reason }),
|
|
171
|
-
...(outcome.state === 'known-failed' && ['unsupported-browser-build', 'browser-account-mismatch',
|
|
172
|
-
'browser-transport-failed', 'browser-recovery-cooldown'].includes(outcome.reason) ? {
|
|
173
|
-
nextAttemptAt: nextOriginKnownFailure({ attempt: claim.child.attemptNumber,
|
|
174
|
-
maxAttempts: operation.admission.maxAttempts, deadlineAt: operation.admission.deadlineAt,
|
|
175
|
-
now: this.options.now?.() ?? Date.now(), minimumDelayMs: 15 * 60_000 }),
|
|
176
|
-
} : {}) });
|
|
140
|
+
let platformAccepted = stored.children.some(child => child.state === 'accepted');
|
|
141
|
+
// The claim token under which THIS execution holds the content reservation.
|
|
142
|
+
let reservedBy = null;
|
|
143
|
+
// The platform accepted every child, even if a local receipt write failed.
|
|
144
|
+
let acceptedAll = false;
|
|
145
|
+
try {
|
|
146
|
+
for (const child of operation.admission.children) {
|
|
147
|
+
const accepted = stored.attempts.find(a => a.childId === child.childId && a.outcome === 'accepted');
|
|
148
|
+
if (accepted?.receiptJson) {
|
|
149
|
+
receipts.push(JSON.parse(accepted.receiptJson));
|
|
150
|
+
continue;
|
|
177
151
|
}
|
|
178
|
-
|
|
179
|
-
this.options.
|
|
180
|
-
|
|
152
|
+
const materialization = await materializeBrowserSignature({ store, operation, child,
|
|
153
|
+
resolveAgentPublicKey: this.options.resolveAgentPublicKey, signBody: this.options.signBody,
|
|
154
|
+
now: this.options.now?.() ?? Date.now() });
|
|
155
|
+
const request = parseOriginJson(materialization.requestJson);
|
|
156
|
+
if (wireDigest(materialization.requestJson) !== materialization.requestDigest ||
|
|
157
|
+
!await this.options.authorize(operation.record.destination))
|
|
158
|
+
throw new TelegramOriginHoldError('browser-not-authorized', operation.record.operationId);
|
|
159
|
+
await this.options.service.authorizeOriginDispatch(operation.record);
|
|
160
|
+
this.options.service.authorizeSendPolicyDispatch(operation.record);
|
|
161
|
+
const claim = await store.claim({ childId: child.childId, materializationId: materialization.materializationId,
|
|
162
|
+
ownerBootId: this.options.service.options.ownerBootId, leaseMs: 60_000 });
|
|
163
|
+
if (claim.status !== 'claimed')
|
|
164
|
+
throw new TelegramOriginHoldError(`outbox-${claim.reason}`, operation.record.operationId);
|
|
165
|
+
if (claim.child.materialization.requestJson !== materialization.requestJson)
|
|
166
|
+
throw new TelegramOriginHoldError('sealed-browser-request-mismatch', operation.record.operationId);
|
|
167
|
+
// Reserve only under the exclusive claim: a contender that lost the
|
|
168
|
+
// claim never touches the winner's reservation.
|
|
169
|
+
await this.options.service.reservePreparedContent(operation, claim.child.claimToken, () => store.releaseUndispatchedClaim({ ...claim.child, detail: 'content-reservation-held' }));
|
|
170
|
+
reservedBy = claim.child.claimToken;
|
|
171
|
+
this.claims.set(child.childId, { claim: claim.child, request, destination: operation.record.destination, record: operation.record });
|
|
172
|
+
try {
|
|
173
|
+
const outcome = await this.broker.executePreparedChild({ ...request, childId: child.childId,
|
|
174
|
+
originId: operation.record.originId, claimFence: claim.child.claimToken });
|
|
175
|
+
if (outcome.state === 'accepted') {
|
|
176
|
+
platformAccepted = true;
|
|
177
|
+
acceptedAll = child === operation.admission.children.at(-1);
|
|
178
|
+
}
|
|
179
|
+
let saved;
|
|
180
|
+
try {
|
|
181
|
+
saved = await store.recordOutcome({ ...claim.child, outcome: outcome.state,
|
|
182
|
+
...(outcome.state === 'accepted' ? { receiptJson: canonicalOrigin(outcome.receipt) } : { reason: outcome.reason }),
|
|
183
|
+
...(outcome.state === 'known-failed' && ['unsupported-browser-build', 'browser-account-mismatch',
|
|
184
|
+
'browser-transport-failed', 'browser-recovery-cooldown'].includes(outcome.reason) ? {
|
|
185
|
+
nextAttemptAt: nextOriginKnownFailure({ attempt: claim.child.attemptNumber,
|
|
186
|
+
maxAttempts: operation.admission.maxAttempts, deadlineAt: operation.admission.deadlineAt,
|
|
187
|
+
now: this.options.now?.() ?? Date.now(), minimumDelayMs: 15 * 60_000 }),
|
|
188
|
+
} : {}) });
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
this.options.service.requestDiagnosis(operation.record.originId, 'browser-receipt-persistence-unavailable');
|
|
192
|
+
throw new TelegramOriginHoldError('browser-outcome-unrecorded', operation.record.operationId, 'outcome-unknown');
|
|
193
|
+
}
|
|
194
|
+
if (!saved.recorded)
|
|
195
|
+
throw new TelegramOriginHoldError('browser-outcome-unrecorded', operation.record.operationId, 'outcome-unknown');
|
|
196
|
+
if (outcome.state !== 'accepted') {
|
|
197
|
+
if (outcome.state === 'outcome-unknown')
|
|
198
|
+
this.options.service.requestDiagnosis(operation.record.originId, outcome.reason);
|
|
199
|
+
throw new TelegramOriginHoldError(outcome.reason, operation.record.operationId, outcome.state);
|
|
200
|
+
}
|
|
201
|
+
receipts.push(outcome.receipt);
|
|
181
202
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if (outcome.state !== 'accepted') {
|
|
185
|
-
if (outcome.state === 'outcome-unknown')
|
|
186
|
-
this.options.service.requestDiagnosis(operation.record.originId, outcome.reason);
|
|
187
|
-
throw new TelegramOriginHoldError(outcome.reason, operation.record.operationId, outcome.state);
|
|
203
|
+
finally {
|
|
204
|
+
this.claims.delete(child.childId);
|
|
188
205
|
}
|
|
189
|
-
receipts.push(outcome.receipt);
|
|
190
|
-
}
|
|
191
|
-
finally {
|
|
192
|
-
this.claims.delete(child.childId);
|
|
193
206
|
}
|
|
194
207
|
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
if (acceptedAll)
|
|
210
|
+
await this.options.service.completePreparedContent(operation);
|
|
211
|
+
else if (reservedBy && !platformAccepted)
|
|
212
|
+
await this.options.service.releasePreparedContent(operation, reservedBy);
|
|
213
|
+
throw error;
|
|
214
|
+
}
|
|
195
215
|
await this.options.service.completePreparedContent(operation);
|
|
196
216
|
return { originId: operation.record.originId, receipts };
|
|
197
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginBrowserExecutor.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginBrowserExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OriginBrowserExecutor.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginBrowserExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,5 @@ import type { OutboundContentDedup } from '../OutboundContentDedup.js';
|
|
|
2
2
|
import type { OriginSendPolicyAuthority } from './OriginSendPolicy.js';
|
|
3
3
|
/** Shares the reply route's configured authority. Its configured forum keeps
|
|
4
4
|
* the existing numeric topic keys; other browser destinations are namespaced. */
|
|
5
|
-
export declare function originContentDedup(dedup: OutboundContentDedup, configuredChatId: string | undefined): Pick<OriginSendPolicyAuthority, 'reserveContent' | 'completeContent'>;
|
|
5
|
+
export declare function originContentDedup(dedup: OutboundContentDedup, configuredChatId: string | undefined): Pick<OriginSendPolicyAuthority, 'reserveContent' | 'completeContent' | 'releaseContent'>;
|
|
6
6
|
//# sourceMappingURL=OriginContentDedup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginContentDedup.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginContentDedup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGvE;iFACiF;AACjF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,yBAAyB,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"OriginContentDedup.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginContentDedup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGvE;iFACiF;AACjF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,yBAAyB,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC,CA+B9L"}
|