instar 1.3.1239 → 1.3.1240
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/core/PostUpdateMigrator.js +4 -4
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- 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/telegram-origin/OriginAwareness.d.ts +2 -0
- package/dist/messaging/telegram-origin/OriginAwareness.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginAwareness.js +6 -1
- package/dist/messaging/telegram-origin/OriginAwareness.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginConfigReader.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginConfigReader.js +9 -28
- package/dist/messaging/telegram-origin/OriginConfigReader.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginDetectorCanary.d.ts +1 -0
- package/dist/messaging/telegram-origin/OriginDetectorCanary.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginDetectorCanary.js +155 -16
- package/dist/messaging/telegram-origin/OriginDetectorCanary.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginDetectorCanary.worker.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginDetectorCanary.worker.js +69 -41
- package/dist/messaging/telegram-origin/OriginDetectorCanary.worker.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginNoticePolicyObserver.d.ts +1 -1
- package/dist/messaging/telegram-origin/OriginNoticePolicyObserver.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginNoticePolicyObserver.js +9 -29
- package/dist/messaging/telegram-origin/OriginNoticePolicyObserver.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginSourcePoller.d.ts +20 -0
- package/dist/messaging/telegram-origin/OriginSourcePoller.d.ts.map +1 -0
- package/dist/messaging/telegram-origin/OriginSourcePoller.js +74 -0
- package/dist/messaging/telegram-origin/OriginSourcePoller.js.map +1 -0
- package/dist/messaging/telegram-origin/OriginStore.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginStore.js +7 -1
- package/dist/messaging/telegram-origin/OriginStore.js.map +1 -1
- package/dist/testing/selfActionRegistry.d.ts.map +1 -1
- package/dist/testing/selfActionRegistry.js +23 -1
- package/dist/testing/selfActionRegistry.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +19 -19
- 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.1240.md +26 -0
- package/upgrades/side-effects/telegram-canary-cleanup-phase.md +444 -0
- package/upgrades/telegram-canary-cleanup-phase.eli16.md +19 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "890eec3dcf80e4388c396f43001a0bd3fabc80c88f79aa9525885d6402a6dfdf",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1240",
|
|
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": "9f3fb995a31ca3c24b97ba11cbaf6c3a20865e1ebba541c003f9ecbb89cd8f20",
|
|
3
3
|
"registrySha256": "890eec3dcf80e4388c396f43001a0bd3fabc80c88f79aa9525885d6402a6dfdf",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1240"
|
|
5
5
|
}
|
|
@@ -10,4 +10,6 @@ export declare function telegramDashboardEditAwareness(): string;
|
|
|
10
10
|
export declare function telegramOriginAwareness(port: number): string;
|
|
11
11
|
/** Refresh only the known shipped wording; preserve operator additions. */
|
|
12
12
|
export declare function refreshOriginCanaryStartupAwareness(content: string): string;
|
|
13
|
+
/** Update the shipped detector sentence only; retain operator prose and quotes. */
|
|
14
|
+
export declare function refreshOriginCanaryCleanupAwareness(content: string): string;
|
|
13
15
|
//# sourceMappingURL=OriginAwareness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginAwareness.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"AAAA,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoC5D;AAED,2EAA2E;AAC3E,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG3E"}
|
|
1
|
+
{"version":3,"file":"OriginAwareness.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"AAAA,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoC5D;AAED,2EAA2E;AAC3E,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,mFAAmF;AACnF,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3E"}
|
|
@@ -2,7 +2,7 @@ export function telegramOriginDashboardAwareness() {
|
|
|
2
2
|
return 'Message origins on your phone: open the dashboard, unlock with your PIN, then choose Message origins. Read recorded machine/harness/model evidence and delivery status, with incomplete pool coverage labeled. Open Display settings to change agent or conversation origin-detail checkboxes; Use agent defaults clears an override. Cosmetic choices apply to newly prepared messages and never disable recording. Conversation display choices are independent of model-profile rollout gates.\n';
|
|
3
3
|
}
|
|
4
4
|
export function telegramOriginDetectorAwareness() {
|
|
5
|
-
return 'Origin detector health: `GET /telegram/origins/status` includes `detectorHealth`, separating fresh source observations, fixed-input canary checks, native hook proof and current-model evidence. Automatic owned and native canaries wait 60 seconds after every startup, then recur after completion (hourly by default); a restart restarts the wait, so pending health during that minute is expected. The owned checks use disposable state; `messageOrigin.detectorCanary.intervalMs` accepts 60000 through 604800000. Successful checks grant no send or ownership permission. Reads do not refresh evidence timestamps; pending, failed, stale and unavailable states remain explicit. Native canary support is reported per harness; a hook proof or regression fixture does not prove model extraction. These diagnostics do not copy live credentials, change operator settings or send Telegram messages.\n';
|
|
5
|
+
return 'Origin detector health: `GET /telegram/origins/status` includes `detectorHealth`, separating fresh source observations, fixed-input canary checks, native hook proof and current-model evidence. Automatic owned and native canaries wait 60 seconds after every startup, then recur after completion (hourly by default); a restart restarts the wait, so pending health during that minute is expected. The owned checks use disposable state; `messageOrigin.detectorCanary.intervalMs` accepts 60000 through 604800000. Owned contract checks have six seconds per attempt, followed by up to 30 seconds for verified cleanup. Health remains running during cleanup and cannot pass until the worker exits and its fixture is removed. A cleanup failure latches unavailable health and prevents further attempts in that instance. Successful checks grant no send or ownership permission. Reads do not refresh evidence timestamps; pending, failed, stale and unavailable states remain explicit. Native canary support is reported per harness; a hook proof or regression fixture does not prove model extraction. These diagnostics do not copy live credentials, change operator settings or send Telegram messages.\n';
|
|
6
6
|
}
|
|
7
7
|
export function telegramOriginNoticeAwareness() {
|
|
8
8
|
return "Outage notices default on for the configured operator alert hub only. Set the Telegram messaging config's `messageOrigin.outageNotice.enabled` to false to opt out without disabling origin recording. An independent configuration observer refreshes permission and hub binding; unknown or stale state suppresses the notice, and current credential ownership is checked before sending. Telegram applies each user's personal mute/archive settings; Instar does not claim to inspect them. A known missing topic or an unknown receipt never permits retrying the fixed notice.\n";
|
|
@@ -66,4 +66,9 @@ Setup completion uses the authenticated loopback endpoint \`POST /telegram/setup
|
|
|
66
66
|
export function refreshOriginCanaryStartupAwareness(content) {
|
|
67
67
|
return content.replace(/^Origin detector health:[^\r\n]*$/gm, paragraph => paragraph.replace('The owned config/vault/hub checks run at startup and hourly by default in disposable state;', 'Automatic owned and native canaries wait 60 seconds after every startup, then recur after completion (hourly by default); a restart restarts the wait, so pending health during that minute is expected. The owned checks use disposable state;'));
|
|
68
68
|
}
|
|
69
|
+
/** Update the shipped detector sentence only; retain operator prose and quotes. */
|
|
70
|
+
export function refreshOriginCanaryCleanupAwareness(content) {
|
|
71
|
+
return content.replace(/^Origin detector health:[^\r\n]*$/gm, paragraph => paragraph.includes('Owned contract checks have six seconds per attempt,') ? paragraph :
|
|
72
|
+
paragraph.replace('Successful checks grant no send or ownership permission.', 'Owned contract checks have six seconds per attempt, followed by up to 30 seconds for verified cleanup. Health remains running during cleanup and cannot pass until the worker exits and its fixture is removed. A cleanup failure latches unavailable health and prevents further attempts in that instance. Successful checks grant no send or ownership permission.'));
|
|
73
|
+
}
|
|
69
74
|
//# sourceMappingURL=OriginAwareness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginAwareness.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gCAAgC;IAC9C,OAAO,qeAAqe,CAAC;AAC/e,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"OriginAwareness.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gCAAgC;IAC9C,OAAO,qeAAqe,CAAC;AAC/e,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,qqCAAqqC,CAAC;AAC/qC,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,yjBAAyjB,CAAC;AACnkB,CAAC;AAED,MAAM,UAAU,oCAAoC;IAClD,OAAO,+4BAA+4B,CAAC;AACz5B,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,yjBAAyjB,CAAC;AACnkB,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,soBAAsoB,CAAC;AAChpB,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO,ifAAif,CAAC;AAC3f,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,gjBAAgjB,CAAC;AAC1jB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,kqBAAkqB,CAAC;AAC5qB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO;;;;;;;;;EASP,6BAA6B,EAAE;EAC/B,oCAAoC,EAAE;EACtC,4BAA4B,EAAE;EAC9B,gCAAgC,EAAE;EAClC,+BAA+B,EAAE;EACjC,+BAA+B,EAAE;EACjC,gCAAgC,EAAE;EAClC,+BAA+B,EAAE;;;;;;;;;;;;qJAYkH,IAAI;;;;;;CAMxJ,CAAC;AACF,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mCAAmC,CAAC,OAAe;IACjE,OAAO,OAAO,CAAC,OAAO,CAAC,qCAAqC,EAAE,SAAS,CAAC,EAAE,CACxE,SAAS,CAAC,OAAO,CAAC,6FAA6F,EAAE,iPAAiP,CAAC,CAAC,CAAC;AACzW,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,mCAAmC,CAAC,OAAe;IACjE,OAAO,OAAO,CAAC,OAAO,CAAC,qCAAqC,EAAE,SAAS,CAAC,EAAE,CACxE,SAAS,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrF,SAAS,CAAC,OAAO,CAAC,0DAA0D,EAC1E,uWAAuW,CAAC,CAAC,CAAC;AAClX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginConfigReader.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginConfigReader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OriginConfigReader.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginConfigReader.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CACpF;AAGD;kFACkF;AAClF,qBAAa,kBAAkB;;IAWjB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,SAAS;gBAApC,QAAQ,EAAE,MAAM,EAAW,SAAS,oBAA6D;IAOtH,IAAI,QAAQ,IAAI,MAAM,CAA2B;IACjD,SAAS,CAAC,GAAG,SAAa,GAAG,kBAAkB;IAM/C,aAAa,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK/C,IAAI,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAgGxC,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
* Never rederive credentials or permission through an LLM or stale cache.
|
|
11
11
|
*/
|
|
12
12
|
import { createHash, randomUUID } from 'node:crypto';
|
|
13
|
-
import { watch } from 'node:fs';
|
|
14
13
|
import { readFile, stat } from 'node:fs/promises';
|
|
15
14
|
import path from 'node:path';
|
|
16
15
|
import { Worker } from 'node:worker_threads';
|
|
16
|
+
import { OriginSourcePoller } from './OriginSourcePoller.js';
|
|
17
17
|
/** Real config plus the existing SecretMigrator authority, read afresh. No
|
|
18
18
|
* authority from a cached merged config. Only one bounded read may be pending. */
|
|
19
19
|
export class OriginConfigReader {
|
|
20
20
|
stateDir;
|
|
21
21
|
workerUrl;
|
|
22
22
|
#boot = randomUUID();
|
|
23
|
-
#watchers = new Map();
|
|
24
23
|
#listeners = new Set();
|
|
24
|
+
#sourcePoller;
|
|
25
25
|
#resolvedDigest = null;
|
|
26
26
|
#revision = 0;
|
|
27
27
|
#sequence = 0;
|
|
@@ -35,6 +35,11 @@ export class OriginConfigReader {
|
|
|
35
35
|
constructor(stateDir, workerUrl = new URL('./OriginConfigReader.worker.js', import.meta.url)) {
|
|
36
36
|
this.stateDir = stateDir;
|
|
37
37
|
this.workerUrl = workerUrl;
|
|
38
|
+
this.#sourcePoller = new OriginSourcePoller([
|
|
39
|
+
path.join(stateDir, 'config.json'),
|
|
40
|
+
path.join(stateDir, 'secrets', 'config.secrets.enc'),
|
|
41
|
+
path.join(stateDir, 'machine', 'secrets-master.key'),
|
|
42
|
+
], () => this.#invalidate());
|
|
38
43
|
}
|
|
39
44
|
get revision() { return this.#revision; }
|
|
40
45
|
getHealth(now = Date.now()) {
|
|
@@ -47,29 +52,7 @@ export class OriginConfigReader {
|
|
|
47
52
|
#invalidate() { this.#healthy = false; this.#reason = 'source-invalidated'; this.#revision++; for (const listener of this.#listeners)
|
|
48
53
|
listener(); }
|
|
49
54
|
async #watch() {
|
|
50
|
-
|
|
51
|
-
const directory = path.join(this.stateDir, name);
|
|
52
|
-
if (this.#watchers.has(directory))
|
|
53
|
-
continue;
|
|
54
|
-
try {
|
|
55
|
-
const watcher = watch(directory, { persistent: false }, (_event, filename) => {
|
|
56
|
-
if (filename === null || ['config.json', 'config.secrets.enc', 'secrets-master.key', 'secrets', 'machine'].includes(String(filename))) {
|
|
57
|
-
if (String(filename) === 'secrets' || String(filename) === 'machine') {
|
|
58
|
-
const child = path.join(this.stateDir, String(filename));
|
|
59
|
-
this.#watchers.get(child)?.close();
|
|
60
|
-
this.#watchers.delete(child);
|
|
61
|
-
}
|
|
62
|
-
this.#invalidate();
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
watcher.on('error', () => { watcher.close(); this.#watchers.delete(directory); this.#invalidate(); });
|
|
66
|
-
this.#watchers.set(directory, watcher);
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
if (name === '' || error.code !== 'ENOENT')
|
|
70
|
-
throw error;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
55
|
+
await this.#sourcePoller.start();
|
|
73
56
|
}
|
|
74
57
|
read() {
|
|
75
58
|
if (this.#closed)
|
|
@@ -209,9 +192,7 @@ export class OriginConfigReader {
|
|
|
209
192
|
this.#active.cancel?.();
|
|
210
193
|
void this.#active.worker?.terminate();
|
|
211
194
|
}
|
|
212
|
-
|
|
213
|
-
watcher.close();
|
|
214
|
-
this.#watchers.clear();
|
|
195
|
+
this.#sourcePoller.close();
|
|
215
196
|
this.#invalidate();
|
|
216
197
|
this.#listeners.clear();
|
|
217
198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginConfigReader.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginConfigReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OriginConfigReader.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginConfigReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO7D;kFACkF;AAClF,MAAM,OAAO,kBAAkB;IAWR;IAA2B;IAVvC,KAAK,GAAG,UAAU,EAAE,CAAC;IACrB,UAAU,GAAG,IAAI,GAAG,EAAc,CAAC;IACnC,aAAa,CAAqB;IAC3C,eAAe,GAAkB,IAAI,CAAC;IACtC,SAAS,GAAG,CAAC,CAAC;IAAC,SAAS,GAAG,CAAC,CAAC;IAAC,OAAO,GAAG,KAAK,CAAC;IAAC,QAAQ,GAAG,KAAK,CAAC;IAChE,QAAQ,GAA4C,IAAI,CAAC;IACzD,OAAO,GAA6B,IAAI,CAAC;IACzC,YAAY,GAAkB,IAAI,CAAC;IACnC,YAAY,GAAkB,IAAI,CAAC;IACnC,OAAO,GAAG,iBAAiB,CAAC;IAC5B,YAAqB,QAAgB,EAAW,YAAY,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAjG,aAAQ,GAAR,QAAQ,CAAQ;QAAW,cAAS,GAAT,SAAS,CAA6D;QACpH,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,oBAAoB,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,oBAAoB,CAAC;SACrD,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;QAC3G,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YAC/I,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;YAC/F,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5H,CAAC;IACD,aAAa,CAAC,QAAoB,IAAgB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjI,WAAW,KAAW,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU;QAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzJ,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IACD,IAAI;QACF,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAChF,KAAK,EAAE,IAAI,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;aAClK,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,cAAc,CAAC,OAA0B;QACvC,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpG,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,OAA0B;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,OAAkD,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,CAAC;QAC9E,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/E,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;wBACxB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;wBAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;wBAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;wBACpE,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBACpD,CAAC,EAAE,IAAI,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACjF,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7F,uEAAuE;YACvE,uEAAuE;YACvE,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACzF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC9B,OAAO,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,0EAA0E;YAC1E,gDAAgD;YAChD,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAA0B;QAC7D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAClF,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YAAC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC,CAAC;YACrF,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAAC,CAAC;QACxF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjF,IAAI,QAAQ;YAAE,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3G,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC/G,CAAC;IACD,MAAM,CAAC,MAA+B,EAAE,OAA0B;QAChE,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAClH,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;YACvF,cAAc,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC1E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,KAA+B,EAAE,EAAE;gBACjD,IAAI,OAAO;oBAAE,OAAO;gBAAC,OAAO,GAAG,IAAI,CAAC;gBACpC,MAAM,QAAQ,GAAG,CAAC,UAAmB,EAAE,EAAE;oBACvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;oBAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;oBAC7C,IAAI,UAAU,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ;wBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;;wBACvI,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC;gBACF,oEAAoE;gBACpE,sEAAsE;gBACtE,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC;YACF,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAA6C,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAClG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,CAAC;QAChJ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1E,CAAC;CACF"}
|
|
@@ -20,6 +20,7 @@ export declare class OriginDetectorCanary {
|
|
|
20
20
|
workerUrl?: URL;
|
|
21
21
|
configWorkerUrl?: URL;
|
|
22
22
|
timeoutMs?: number;
|
|
23
|
+
cleanupTimeoutMs?: number;
|
|
23
24
|
/** Test-only clock seam. Production uses actual monotonic schedule timers. */ now?: () => number;
|
|
24
25
|
});
|
|
25
26
|
private now;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginDetectorCanary.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginDetectorCanary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OriginDetectorCanary.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginDetectorCanary.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE;;;;;GAKG;AACH,qBAAa,oBAAoB;IASnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAgC;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,MAAM,CAAqB;gBACN,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,CAAC;QAAC,eAAe,CAAC,EAAE,GAAG,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QACjJ,8EAA8E,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;KAAO;IAM1G,OAAO,CAAC,GAAG;IACX,SAAS,IAAI,kBAAkB;IAM/B,KAAK,IAAI,IAAI;IAWb,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAMN,OAAO;YAeP,OAAO;IAsIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -2,6 +2,7 @@ import { Worker } from 'node:worker_threads';
|
|
|
2
2
|
import { mkdtemp } from 'node:fs/promises';
|
|
3
3
|
import os from 'node:os';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
+
import { performance } from 'node:perf_hooks';
|
|
5
6
|
import { SafeFsExecutor } from '../../core/SafeFsExecutor.js';
|
|
6
7
|
import { DegradationReporter } from '../../monitoring/DegradationReporter.js';
|
|
7
8
|
import { originDetectorCanaryInterval } from './OriginConfig.js';
|
|
@@ -27,6 +28,8 @@ export class OriginDetectorCanary {
|
|
|
27
28
|
this.intervalMs = originDetectorCanaryInterval({ detectorCanary: { intervalMs: options.intervalMs } });
|
|
28
29
|
if (options.timeoutMs !== undefined && (!Number.isSafeInteger(options.timeoutMs) || options.timeoutMs < 1 || options.timeoutMs > 6_000))
|
|
29
30
|
throw new Error('invalid-canary-timeout');
|
|
31
|
+
if (options.cleanupTimeoutMs !== undefined && (!Number.isSafeInteger(options.cleanupTimeoutMs) || options.cleanupTimeoutMs < 1 || options.cleanupTimeoutMs > 30_000))
|
|
32
|
+
throw new Error('invalid-canary-cleanup-timeout');
|
|
30
33
|
this.health = { scope: 'owned-file-backed-secretstore-fixture', osKeychainVerified: false, state: 'pending', reason: 'canary-not-run', attemptedAt: null, finishedAt: null, validUntil: null, attempts: 0, intervalMs: this.intervalMs, checks: [] };
|
|
31
34
|
}
|
|
32
35
|
now() { return this.options.now?.() ?? Date.now(); }
|
|
@@ -39,11 +42,11 @@ export class OriginDetectorCanary {
|
|
|
39
42
|
return value;
|
|
40
43
|
}
|
|
41
44
|
start() {
|
|
42
|
-
if (this.closed || this.timer || this.pending)
|
|
45
|
+
if (this.closed || this.cleanupFailed || this.timer || this.pending)
|
|
43
46
|
return;
|
|
44
47
|
const cycle = async () => {
|
|
45
48
|
await this.run();
|
|
46
|
-
if (!this.closed) {
|
|
49
|
+
if (!this.closed && !this.cleanupFailed) {
|
|
47
50
|
this.timer = setTimeout(() => { this.timer = undefined; void cycle(); }, this.intervalMs);
|
|
48
51
|
this.timer.unref();
|
|
49
52
|
}
|
|
@@ -54,10 +57,10 @@ export class OriginDetectorCanary {
|
|
|
54
57
|
this.timer.unref();
|
|
55
58
|
}
|
|
56
59
|
run() {
|
|
57
|
-
if (this.closed || this.cleanupFailed)
|
|
58
|
-
return Promise.resolve();
|
|
59
60
|
if (this.pending)
|
|
60
61
|
return this.pending;
|
|
62
|
+
if (this.closed || this.cleanupFailed)
|
|
63
|
+
return Promise.resolve();
|
|
61
64
|
this.pending = this.perform().finally(() => { this.pending = null; });
|
|
62
65
|
return this.pending;
|
|
63
66
|
}
|
|
@@ -82,17 +85,59 @@ export class OriginDetectorCanary {
|
|
|
82
85
|
finishedAt, validUntil: finishedAt + this.intervalMs, checks: passed ? [...CHECKS] : [] };
|
|
83
86
|
if (!passed)
|
|
84
87
|
DegradationReporter.getInstance().report({ feature: 'telegram-origin.detector-canary', primary: 'Verify owned origin source contracts',
|
|
85
|
-
fallback: 'Retain unavailable detector health; existing source authority remains unchanged', reason: `Bounded isolated canary
|
|
88
|
+
fallback: 'Retain unavailable detector health; existing source authority remains unchanged', reason: `Bounded isolated canary failed after ${this.health.attempts} attempt(s) (${this.failurePhase})`, impact: 'Detector contract verification is unavailable; no source values or delivery permissions were inferred.' });
|
|
86
89
|
}
|
|
87
90
|
async attempt() {
|
|
88
91
|
let directory;
|
|
89
92
|
let worker;
|
|
90
93
|
let passed = false;
|
|
91
94
|
let expired = false;
|
|
95
|
+
let protocolFailed = false;
|
|
96
|
+
let cleanupAcknowledged = false;
|
|
97
|
+
let workerCleanupProven = false;
|
|
98
|
+
let proofTerminationRequested = false;
|
|
99
|
+
let workerChecksCompletedAt;
|
|
100
|
+
let cleanupDeadline;
|
|
101
|
+
let cleanupStage = 'awaiting-ack';
|
|
102
|
+
let firstCleanupFault;
|
|
103
|
+
let cleanupTimer;
|
|
104
|
+
let cleanupDeadlineCheck;
|
|
92
105
|
let finishActive;
|
|
93
|
-
const
|
|
106
|
+
const contractDeadline = performance.now() + (this.options.timeoutMs ?? 6_000);
|
|
107
|
+
const failCleanup = (fault) => {
|
|
108
|
+
// Preserve the first failure: forced termination and the final deadline
|
|
109
|
+
// check can follow an earlier fault. Only fixed labels enter diagnostics.
|
|
110
|
+
firstCleanupFault ??= `cleanup:${fault}:${cleanupStage}`;
|
|
111
|
+
this.cleanupFailed = true;
|
|
112
|
+
this.failurePhase = firstCleanupFault;
|
|
113
|
+
this.health = { ...this.health, state: 'fail', reason: 'canary-cleanup-unverified', finishedAt: this.now(), validUntil: null };
|
|
114
|
+
finishActive?.(false);
|
|
115
|
+
};
|
|
116
|
+
const beginCleanup = () => {
|
|
117
|
+
clearTimeout(timeout);
|
|
118
|
+
if (cleanupDeadline !== undefined)
|
|
119
|
+
return;
|
|
120
|
+
cleanupDeadline = performance.now() + (this.options.cleanupTimeoutMs ?? 30_000);
|
|
121
|
+
cleanupTimer = setTimeout(() => {
|
|
122
|
+
if (cleanupStage !== 'awaiting-ack') {
|
|
123
|
+
failCleanup('deadline-timer');
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// A saturated parent can return to the timers phase while an ordered
|
|
127
|
+
// worker acknowledgement is already queued in the poll phase. Give
|
|
128
|
+
// that message one event-loop turn to be observed; its worker-side
|
|
129
|
+
// monotonic completion time still decides whether it was timely.
|
|
130
|
+
cleanupDeadlineCheck = setImmediate(() => {
|
|
131
|
+
cleanupDeadlineCheck = undefined;
|
|
132
|
+
if (!workerCleanupProven && (!cleanupAcknowledged || cleanupStage === 'awaiting-exit'))
|
|
133
|
+
failCleanup('deadline-timer');
|
|
134
|
+
});
|
|
135
|
+
}, this.options.cleanupTimeoutMs ?? 30_000);
|
|
136
|
+
};
|
|
137
|
+
const cancel = () => { expired = true; beginCleanup(); finishActive?.(false); };
|
|
94
138
|
this.cancel = cancel;
|
|
95
139
|
const timeout = setTimeout(() => {
|
|
140
|
+
this.failurePhase = 'contract-timeout';
|
|
96
141
|
cancel();
|
|
97
142
|
this.health = { ...this.health, state: 'fail', reason: 'canary-timeout', finishedAt: this.now(), validUntil: null };
|
|
98
143
|
}, this.options.timeoutMs ?? 6_000);
|
|
@@ -111,37 +156,131 @@ export class OriginDetectorCanary {
|
|
|
111
156
|
worker.stderr?.resume();
|
|
112
157
|
passed = await new Promise(resolve => {
|
|
113
158
|
let done = false;
|
|
159
|
+
let checksReceived = false;
|
|
160
|
+
let checksPassed = false;
|
|
114
161
|
const finish = (passed) => { if (done)
|
|
115
162
|
return; done = true; resolve(passed); };
|
|
163
|
+
const invalidProtocol = () => { protocolFailed = true; this.failurePhase = 'worker-protocol'; finish(false); };
|
|
116
164
|
finishActive = finish;
|
|
117
|
-
worker.
|
|
118
|
-
|
|
119
|
-
|
|
165
|
+
worker.on('message', message => {
|
|
166
|
+
if (done) {
|
|
167
|
+
protocolFailed = true;
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (message?.type === 'checks') {
|
|
171
|
+
if (checksReceived || typeof message.passed !== 'boolean') {
|
|
172
|
+
invalidProtocol();
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (message.checkedAt !== undefined && (typeof message.checkedAt !== 'number' || !Number.isFinite(message.checkedAt) || message.checkedAt < 0)) {
|
|
176
|
+
invalidProtocol();
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (expired || performance.now() >= contractDeadline) {
|
|
180
|
+
this.failurePhase = 'contract-timeout';
|
|
181
|
+
cancel();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
checksReceived = true;
|
|
185
|
+
workerChecksCompletedAt = message.checkedAt;
|
|
186
|
+
checksPassed = message.passed === true && Array.isArray(message.checks) && message.checks.length === CHECKS.length && CHECKS.every((check, index) => message.checks[index] === check);
|
|
187
|
+
this.failurePhase = ['fixture-initialization', ...CHECKS].includes(message.phase) ? message.phase : 'worker-result';
|
|
188
|
+
beginCleanup();
|
|
189
|
+
this.health = { ...this.health, state: 'running', reason: 'canary-cleanup-running', finishedAt: null, validUntil: null };
|
|
190
|
+
}
|
|
191
|
+
else if (message?.type === 'cleanup') {
|
|
192
|
+
if (!checksReceived || cleanupAcknowledged || typeof message.verified !== 'boolean') {
|
|
193
|
+
invalidProtocol();
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
if (!message.verified) {
|
|
197
|
+
failCleanup('negative-ack');
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const hasWorkerProof = message.completedAt !== undefined || message.fixtureRemoved !== undefined;
|
|
201
|
+
if (hasWorkerProof && message.fixtureRemoved !== true) {
|
|
202
|
+
invalidProtocol();
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const completedAt = hasWorkerProof ? message.completedAt : performance.now();
|
|
206
|
+
if (typeof completedAt !== 'number' || !Number.isFinite(completedAt) || completedAt < 0) {
|
|
207
|
+
invalidProtocol();
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const cleanupElapsed = workerChecksCompletedAt === undefined ? undefined : completedAt - workerChecksCompletedAt;
|
|
211
|
+
if (cleanupDeadline === undefined || (hasWorkerProof
|
|
212
|
+
? cleanupElapsed === undefined || cleanupElapsed < 0 || cleanupElapsed >= (this.options.cleanupTimeoutMs ?? 30_000)
|
|
213
|
+
: completedAt >= cleanupDeadline)) {
|
|
214
|
+
failCleanup('late-ack');
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
cleanupAcknowledged = true;
|
|
218
|
+
workerCleanupProven = hasWorkerProof;
|
|
219
|
+
if (workerCleanupProven) {
|
|
220
|
+
if (cleanupTimer)
|
|
221
|
+
clearTimeout(cleanupTimer);
|
|
222
|
+
if (cleanupDeadlineCheck) {
|
|
223
|
+
clearImmediate(cleanupDeadlineCheck);
|
|
224
|
+
cleanupDeadlineCheck = undefined;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
cleanupStage = 'awaiting-exit';
|
|
228
|
+
if (workerCleanupProven) {
|
|
229
|
+
proofTerminationRequested = true;
|
|
230
|
+
void worker.terminate().catch(() => failCleanup('operation-error'));
|
|
231
|
+
}
|
|
232
|
+
// Drain the worker's full protocol through an actual exit before
|
|
233
|
+
// accepting proof. The owned proof path terminates the disposable
|
|
234
|
+
// watcher thread; legacy test workers retain normal-exit behavior.
|
|
235
|
+
}
|
|
236
|
+
else
|
|
237
|
+
invalidProtocol();
|
|
120
238
|
});
|
|
121
|
-
|
|
122
|
-
|
|
239
|
+
const workerEnded = (code, errored = false) => {
|
|
240
|
+
if (done)
|
|
241
|
+
return;
|
|
242
|
+
if (checksReceived && (!cleanupAcknowledged || (code !== 0 && !proofTerminationRequested))) {
|
|
243
|
+
failCleanup(errored ? 'worker-error' : !cleanupAcknowledged ? 'worker-exit-without-ack' : 'worker-exit-nonzero');
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
finish(checksPassed && cleanupAcknowledged && (code === 0 || proofTerminationRequested));
|
|
247
|
+
};
|
|
248
|
+
worker.once('error', () => { protocolFailed = true; workerEnded(1, true); });
|
|
249
|
+
worker.once('exit', workerEnded);
|
|
123
250
|
});
|
|
124
251
|
}
|
|
125
252
|
finally {
|
|
126
253
|
// Never release the single-flight slot before descendants terminate and
|
|
127
|
-
// the exact private fixture directory has been removed.
|
|
254
|
+
// the exact private fixture directory has been removed. Expiry latches
|
|
255
|
+
// unavailable health but cannot prove that an OS resource has closed.
|
|
256
|
+
beginCleanup();
|
|
128
257
|
try {
|
|
129
|
-
if (worker)
|
|
258
|
+
if (worker) {
|
|
259
|
+
cleanupStage = 'terminating-worker';
|
|
130
260
|
await worker.terminate();
|
|
131
|
-
|
|
261
|
+
}
|
|
262
|
+
if (directory) {
|
|
263
|
+
cleanupStage = 'removing-fixture';
|
|
132
264
|
await SafeFsExecutor.safeRm(directory, { recursive: true, force: true, operation: 'origin-detector-canary-private-fixture-cleanup' });
|
|
265
|
+
}
|
|
266
|
+
if (!workerCleanupProven && cleanupDeadline !== undefined && performance.now() >= cleanupDeadline)
|
|
267
|
+
failCleanup('deadline-after-cleanup');
|
|
133
268
|
}
|
|
134
269
|
catch {
|
|
135
|
-
|
|
270
|
+
failCleanup('operation-error');
|
|
136
271
|
throw new Error('canary-cleanup-unverified');
|
|
137
272
|
}
|
|
138
273
|
finally {
|
|
139
274
|
clearTimeout(timeout);
|
|
275
|
+
if (cleanupTimer)
|
|
276
|
+
clearTimeout(cleanupTimer);
|
|
277
|
+
if (cleanupDeadlineCheck)
|
|
278
|
+
clearImmediate(cleanupDeadlineCheck);
|
|
140
279
|
if (this.cancel === cancel)
|
|
141
280
|
this.cancel = undefined;
|
|
142
281
|
}
|
|
143
282
|
}
|
|
144
|
-
return passed && !expired && !this.closed;
|
|
283
|
+
return passed && cleanupAcknowledged && !protocolFailed && !expired && !this.cleanupFailed && !this.closed;
|
|
145
284
|
}
|
|
146
285
|
async close() {
|
|
147
286
|
this.closed = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginDetectorCanary.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginDetectorCanary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OriginDetectorCanary.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginDetectorCanary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OriginDetectorCanary.worker.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginDetectorCanary.worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OriginDetectorCanary.worker.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginDetectorCanary.worker.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,mBAAmB,iKAAkK,CAAC"}
|