instar 1.3.1348 → 1.3.1349
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +15 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/core/LifelineIngressSecret.d.ts +83 -0
- package/dist/core/LifelineIngressSecret.d.ts.map +1 -0
- package/dist/core/LifelineIngressSecret.js +203 -0
- package/dist/core/LifelineIngressSecret.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +15 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
- package/dist/core/WriteDomainRegistry.js +17 -0
- package/dist/core/WriteDomainRegistry.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/keyMaterialPaths.d.ts.map +1 -1
- package/dist/core/keyMaterialPaths.js +16 -0
- package/dist/core/keyMaterialPaths.js.map +1 -1
- package/dist/core/types.d.ts +23 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/version-skew.d.ts +4 -2
- package/dist/core/version-skew.d.ts.map +1 -1
- package/dist/core/version-skew.js +3 -1
- package/dist/core/version-skew.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/lifeline/TelegramLifeline.d.ts +49 -0
- package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
- package/dist/lifeline/TelegramLifeline.js +202 -17
- package/dist/lifeline/TelegramLifeline.js.map +1 -1
- package/dist/lifeline/forwardErrors.d.ts +11 -0
- package/dist/lifeline/forwardErrors.d.ts.map +1 -1
- package/dist/lifeline/forwardErrors.js +15 -1
- package/dist/lifeline/forwardErrors.js.map +1 -1
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +24 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +4 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/LifelineIngressGuard.d.ts +326 -0
- package/dist/server/LifelineIngressGuard.d.ts.map +1 -0
- package/dist/server/LifelineIngressGuard.js +713 -0
- package/dist/server/LifelineIngressGuard.js.map +1 -0
- package/dist/server/TelegramCallbackDedupe.d.ts +58 -0
- package/dist/server/TelegramCallbackDedupe.d.ts.map +1 -0
- package/dist/server/TelegramCallbackDedupe.js +151 -0
- package/dist/server/TelegramCallbackDedupe.js.map +1 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +218 -10
- package/dist/server/routes.js.map +1 -1
- package/dist/testing/selfActionRegistry.d.ts.map +1 -1
- package/dist/testing/selfActionRegistry.js +98 -0
- package/dist/testing/selfActionRegistry.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- 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/src/data/state-coherence-registry.json +19 -0
- package/src/scaffold/templates.ts +4 -0
- package/upgrades/1.3.1349.md +59 -0
- package/upgrades/side-effects/telegram-internal-route-lifeline-secret.md +187 -0
- package/upgrades/1.3.1348.md +0 -24
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifeline ingress secret — the proof that a request on the two internal
|
|
3
|
+
* Telegram routes came from the lifeline (or the server itself), not from an
|
|
4
|
+
* agent session holding the ordinary Bearer token.
|
|
5
|
+
*
|
|
6
|
+
* Spec: docs/specs/telegram-internal-route-lifeline-secret.md
|
|
7
|
+
*
|
|
8
|
+
* The secret is 32 random bytes, hex-encoded, in a 0600 file under the agent
|
|
9
|
+
* state dir. Whichever of the lifeline / server starts first creates it; the
|
|
10
|
+
* other reads it. It lives in the FILE and in a module-private variable of the
|
|
11
|
+
* two processes — it is never written to `process.env`, so a session spawned
|
|
12
|
+
* by the server (which inherits the server's environment) cannot receive it
|
|
13
|
+
* that way.
|
|
14
|
+
*
|
|
15
|
+
* Honest limit: every process here runs as one OS user. This is a cooperative
|
|
16
|
+
* boundary. It stops a session forging a message or a button tap with the
|
|
17
|
+
* token it normally holds; it does not stop a session that deliberately reads
|
|
18
|
+
* the file.
|
|
19
|
+
*/
|
|
20
|
+
/** stateDir-relative path of the secret file (listed in KEY_MATERIAL_PATHS). */
|
|
21
|
+
export declare const LIFELINE_INGRESS_SECRET_RELPATH: string;
|
|
22
|
+
/** Request header carrying the secret (lower-case: the form Express exposes). */
|
|
23
|
+
export declare const LIFELINE_SECRET_HEADER = "x-instar-lifeline-secret";
|
|
24
|
+
/**
|
|
25
|
+
* Request header naming a caller that is NOT the lifeline. The server's own
|
|
26
|
+
* re-injection call sets it to `server-self` so its (valid) requests are not
|
|
27
|
+
* counted as evidence that the running lifeline sends the secret.
|
|
28
|
+
*/
|
|
29
|
+
export declare const LIFELINE_INGRESS_CALLER_HEADER = "x-instar-ingress-caller";
|
|
30
|
+
export declare const LIFELINE_INGRESS_CALLER_SERVER_SELF = "server-self";
|
|
31
|
+
export declare function lifelineIngressSecretPath(stateDir: string): string;
|
|
32
|
+
/** Read the secret without creating it. Null when absent, unreadable or malformed. */
|
|
33
|
+
export declare function readLifelineIngressSecret(stateDir: string): string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Read-or-create the secret. Creation is atomic AND exclusive: the full value
|
|
36
|
+
* is written to a private temp file and then hard-linked to the final name.
|
|
37
|
+
* `link` fails with EEXIST when another process won the race, and a reader can
|
|
38
|
+
* never observe a half-written file. A file that was READ SUCCESSFULLY and is
|
|
39
|
+
* not a secret is replaced (rename over); the other process picks the new
|
|
40
|
+
* value up by re-reading. A file that could not be read is never replaced —
|
|
41
|
+
* this throws instead.
|
|
42
|
+
*/
|
|
43
|
+
export declare function ensureLifelineIngressSecret(stateDir: string): string;
|
|
44
|
+
/** Constant-time comparison. Hashing first removes the length side channel. */
|
|
45
|
+
export declare function lifelineSecretMatches(presented: unknown, expected: string | null): boolean;
|
|
46
|
+
/** After a failed load, wait this long before touching the filesystem again. */
|
|
47
|
+
export declare const SECRET_LOAD_BACKOFF_MS = 30000;
|
|
48
|
+
/**
|
|
49
|
+
* Process-private holder. `get()` loads (and if needed creates) the secret
|
|
50
|
+
* once and keeps it in memory. `reload()` re-reads the file for the case where
|
|
51
|
+
* the other process replaced it — and keeps the last good value when the
|
|
52
|
+
* re-read fails, so a read fault can never turn a working check into "nobody
|
|
53
|
+
* can be verified". A failed first load is retried at most every 30 s.
|
|
54
|
+
*/
|
|
55
|
+
export declare class LifelineIngressSecretHolder {
|
|
56
|
+
private readonly stateDir;
|
|
57
|
+
private readonly now;
|
|
58
|
+
private value;
|
|
59
|
+
private lastFailureAt;
|
|
60
|
+
private failures;
|
|
61
|
+
constructor(stateDir: string, now?: () => number);
|
|
62
|
+
get(): string | null;
|
|
63
|
+
/** Is the FILE readable as a secret right now? A read — never a create, never the cache. */
|
|
64
|
+
fileReadable(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* When the secret file was written (ms), or null if it cannot be read. It
|
|
67
|
+
* is created the first time this feature runs on a machine and only ever
|
|
68
|
+
* replaced when malformed, so it dates the feature's arrival on this disk
|
|
69
|
+
* independently of the guard's own state file.
|
|
70
|
+
*/
|
|
71
|
+
fileMtimeMs(): number | null;
|
|
72
|
+
/** Does this process hold a secret in memory (whatever the file says now)? */
|
|
73
|
+
get held(): boolean;
|
|
74
|
+
/** Consecutive failed loads since the last success (0 = healthy). */
|
|
75
|
+
get failedLoads(): number;
|
|
76
|
+
reload(): string | null;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* One holder per state dir per process. The server's guard and the server's
|
|
80
|
+
* own re-injection call share it, so they can never disagree about the value.
|
|
81
|
+
*/
|
|
82
|
+
export declare function sharedLifelineIngressSecretHolder(stateDir: string): LifelineIngressSecretHolder;
|
|
83
|
+
//# sourceMappingURL=LifelineIngressSecret.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LifelineIngressSecret.d.ts","sourceRoot":"","sources":["../../src/core/LifelineIngressSecret.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,gFAAgF;AAChF,eAAO,MAAM,+BAA+B,QAAgD,CAAC;AAE7F,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AACxE,eAAO,MAAM,mCAAmC,gBAAgB,CAAC;AAIjE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAyBD,sFAAsF;AACtF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmCpE;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAK1F;AAED,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C;;;;;;GAMG;AACH,qBAAa,2BAA2B;IAK1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJnE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAK;gBAEQ,QAAQ,EAAE,MAAM,EAAmB,GAAG,GAAE,MAAM,MAAiB;IAE5F,GAAG,IAAI,MAAM,GAAG,IAAI;IAMpB,4FAA4F;IAC5F,YAAY,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAS5B,8EAA8E;IAC9E,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,qEAAqE;IACrE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,MAAM,IAAI,MAAM,GAAG,IAAI;CAaxB;AAID;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B,CAQ/F"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifeline ingress secret — the proof that a request on the two internal
|
|
3
|
+
* Telegram routes came from the lifeline (or the server itself), not from an
|
|
4
|
+
* agent session holding the ordinary Bearer token.
|
|
5
|
+
*
|
|
6
|
+
* Spec: docs/specs/telegram-internal-route-lifeline-secret.md
|
|
7
|
+
*
|
|
8
|
+
* The secret is 32 random bytes, hex-encoded, in a 0600 file under the agent
|
|
9
|
+
* state dir. Whichever of the lifeline / server starts first creates it; the
|
|
10
|
+
* other reads it. It lives in the FILE and in a module-private variable of the
|
|
11
|
+
* two processes — it is never written to `process.env`, so a session spawned
|
|
12
|
+
* by the server (which inherits the server's environment) cannot receive it
|
|
13
|
+
* that way.
|
|
14
|
+
*
|
|
15
|
+
* Honest limit: every process here runs as one OS user. This is a cooperative
|
|
16
|
+
* boundary. It stops a session forging a message or a button tap with the
|
|
17
|
+
* token it normally holds; it does not stop a session that deliberately reads
|
|
18
|
+
* the file.
|
|
19
|
+
*/
|
|
20
|
+
import crypto from 'node:crypto';
|
|
21
|
+
import fs from 'node:fs';
|
|
22
|
+
import path from 'node:path';
|
|
23
|
+
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
24
|
+
/** stateDir-relative path of the secret file (listed in KEY_MATERIAL_PATHS). */
|
|
25
|
+
export const LIFELINE_INGRESS_SECRET_RELPATH = path.join('state', 'lifeline-ingress-secret');
|
|
26
|
+
/** Request header carrying the secret (lower-case: the form Express exposes). */
|
|
27
|
+
export const LIFELINE_SECRET_HEADER = 'x-instar-lifeline-secret';
|
|
28
|
+
/**
|
|
29
|
+
* Request header naming a caller that is NOT the lifeline. The server's own
|
|
30
|
+
* re-injection call sets it to `server-self` so its (valid) requests are not
|
|
31
|
+
* counted as evidence that the running lifeline sends the secret.
|
|
32
|
+
*/
|
|
33
|
+
export const LIFELINE_INGRESS_CALLER_HEADER = 'x-instar-ingress-caller';
|
|
34
|
+
export const LIFELINE_INGRESS_CALLER_SERVER_SELF = 'server-self';
|
|
35
|
+
const SECRET_HEX_RE = /^[0-9a-f]{64}$/;
|
|
36
|
+
export function lifelineIngressSecretPath(stateDir) {
|
|
37
|
+
return path.join(stateDir, LIFELINE_INGRESS_SECRET_RELPATH);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Read the file and say WHICH of four things happened. "Could not read it"
|
|
41
|
+
* (EACCES, EIO, a transient fault) is deliberately distinct from "absent" and
|
|
42
|
+
* from "present but not a secret": only the last two may lead to a new value
|
|
43
|
+
* being written. A good secret must never be replaced because of a read fault.
|
|
44
|
+
*/
|
|
45
|
+
function readSecretFile(stateDir) {
|
|
46
|
+
let raw;
|
|
47
|
+
try {
|
|
48
|
+
raw = fs.readFileSync(lifelineIngressSecretPath(stateDir), 'utf-8').trim();
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
// @silent-fallback-ok — classified, not swallowed: the caller decides.
|
|
52
|
+
return err.code === 'ENOENT' ? { kind: 'absent' } : { kind: 'error', error: err };
|
|
53
|
+
}
|
|
54
|
+
return SECRET_HEX_RE.test(raw) ? { kind: 'ok', value: raw } : { kind: 'malformed' };
|
|
55
|
+
}
|
|
56
|
+
/** Read the secret without creating it. Null when absent, unreadable or malformed. */
|
|
57
|
+
export function readLifelineIngressSecret(stateDir) {
|
|
58
|
+
const r = readSecretFile(stateDir);
|
|
59
|
+
return r.kind === 'ok' ? r.value : null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Read-or-create the secret. Creation is atomic AND exclusive: the full value
|
|
63
|
+
* is written to a private temp file and then hard-linked to the final name.
|
|
64
|
+
* `link` fails with EEXIST when another process won the race, and a reader can
|
|
65
|
+
* never observe a half-written file. A file that was READ SUCCESSFULLY and is
|
|
66
|
+
* not a secret is replaced (rename over); the other process picks the new
|
|
67
|
+
* value up by re-reading. A file that could not be read is never replaced —
|
|
68
|
+
* this throws instead.
|
|
69
|
+
*/
|
|
70
|
+
export function ensureLifelineIngressSecret(stateDir) {
|
|
71
|
+
const first = readSecretFile(stateDir);
|
|
72
|
+
if (first.kind === 'ok')
|
|
73
|
+
return first.value;
|
|
74
|
+
if (first.kind === 'error')
|
|
75
|
+
throw first.error;
|
|
76
|
+
const finalPath = lifelineIngressSecretPath(stateDir);
|
|
77
|
+
fs.mkdirSync(path.dirname(finalPath), { recursive: true });
|
|
78
|
+
const value = crypto.randomBytes(32).toString('hex');
|
|
79
|
+
const tmpPath = `${finalPath}.${process.pid}.${crypto.randomBytes(6).toString('hex')}.tmp`;
|
|
80
|
+
try {
|
|
81
|
+
fs.writeFileSync(tmpPath, value, { mode: 0o600, flag: 'wx' });
|
|
82
|
+
fs.chmodSync(tmpPath, 0o600); // umask-proof
|
|
83
|
+
try {
|
|
84
|
+
fs.linkSync(tmpPath, finalPath);
|
|
85
|
+
return value;
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if (err.code !== 'EEXIST')
|
|
89
|
+
throw err;
|
|
90
|
+
const again = readSecretFile(stateDir);
|
|
91
|
+
if (again.kind === 'ok')
|
|
92
|
+
return again.value; // the other process won
|
|
93
|
+
if (again.kind === 'error')
|
|
94
|
+
throw again.error;
|
|
95
|
+
// Present, readable, and not a secret (link is atomic, so this is not a
|
|
96
|
+
// half-written racing file): replace it.
|
|
97
|
+
fs.renameSync(tmpPath, finalPath);
|
|
98
|
+
return value;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
try {
|
|
103
|
+
if (fs.existsSync(tmpPath)) {
|
|
104
|
+
SafeFsExecutor.safeUnlinkSync(tmpPath, { operation: 'src/core/LifelineIngressSecret.ts:ensure-tmp-cleanup' });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// @silent-fallback-ok — best-effort removal of our own private temp file;
|
|
109
|
+
// the secret itself was already published (or the publish already threw).
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/** Constant-time comparison. Hashing first removes the length side channel. */
|
|
114
|
+
export function lifelineSecretMatches(presented, expected) {
|
|
115
|
+
if (typeof presented !== 'string' || presented.length === 0 || !expected)
|
|
116
|
+
return false;
|
|
117
|
+
const a = crypto.createHash('sha256').update(presented).digest();
|
|
118
|
+
const b = crypto.createHash('sha256').update(expected).digest();
|
|
119
|
+
return crypto.timingSafeEqual(a, b);
|
|
120
|
+
}
|
|
121
|
+
/** After a failed load, wait this long before touching the filesystem again. */
|
|
122
|
+
export const SECRET_LOAD_BACKOFF_MS = 30_000;
|
|
123
|
+
/**
|
|
124
|
+
* Process-private holder. `get()` loads (and if needed creates) the secret
|
|
125
|
+
* once and keeps it in memory. `reload()` re-reads the file for the case where
|
|
126
|
+
* the other process replaced it — and keeps the last good value when the
|
|
127
|
+
* re-read fails, so a read fault can never turn a working check into "nobody
|
|
128
|
+
* can be verified". A failed first load is retried at most every 30 s.
|
|
129
|
+
*/
|
|
130
|
+
export class LifelineIngressSecretHolder {
|
|
131
|
+
stateDir;
|
|
132
|
+
now;
|
|
133
|
+
value = null;
|
|
134
|
+
lastFailureAt = 0;
|
|
135
|
+
failures = 0;
|
|
136
|
+
constructor(stateDir, now = Date.now) {
|
|
137
|
+
this.stateDir = stateDir;
|
|
138
|
+
this.now = now;
|
|
139
|
+
}
|
|
140
|
+
get() {
|
|
141
|
+
if (this.value)
|
|
142
|
+
return this.value;
|
|
143
|
+
if (this.lastFailureAt !== 0 && this.now() - this.lastFailureAt < SECRET_LOAD_BACKOFF_MS)
|
|
144
|
+
return null;
|
|
145
|
+
return this.reload();
|
|
146
|
+
}
|
|
147
|
+
/** Is the FILE readable as a secret right now? A read — never a create, never the cache. */
|
|
148
|
+
fileReadable() {
|
|
149
|
+
return readLifelineIngressSecret(this.stateDir) !== null;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* When the secret file was written (ms), or null if it cannot be read. It
|
|
153
|
+
* is created the first time this feature runs on a machine and only ever
|
|
154
|
+
* replaced when malformed, so it dates the feature's arrival on this disk
|
|
155
|
+
* independently of the guard's own state file.
|
|
156
|
+
*/
|
|
157
|
+
fileMtimeMs() {
|
|
158
|
+
try {
|
|
159
|
+
return fs.statSync(lifelineIngressSecretPath(this.stateDir)).mtimeMs;
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// @silent-fallback-ok — unknown; the caller falls back to its own clock.
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/** Does this process hold a secret in memory (whatever the file says now)? */
|
|
167
|
+
get held() {
|
|
168
|
+
return this.value !== null;
|
|
169
|
+
}
|
|
170
|
+
/** Consecutive failed loads since the last success (0 = healthy). */
|
|
171
|
+
get failedLoads() {
|
|
172
|
+
return this.failures;
|
|
173
|
+
}
|
|
174
|
+
reload() {
|
|
175
|
+
try {
|
|
176
|
+
this.value = ensureLifelineIngressSecret(this.stateDir);
|
|
177
|
+
this.lastFailureAt = 0;
|
|
178
|
+
this.failures = 0;
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// @silent-fallback-ok — keep the last good value; the guard counts
|
|
182
|
+
// `secret-unavailable` and reports when there has never been one.
|
|
183
|
+
this.lastFailureAt = this.now();
|
|
184
|
+
this.failures++;
|
|
185
|
+
}
|
|
186
|
+
return this.value;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
const sharedHolders = new Map();
|
|
190
|
+
/**
|
|
191
|
+
* One holder per state dir per process. The server's guard and the server's
|
|
192
|
+
* own re-injection call share it, so they can never disagree about the value.
|
|
193
|
+
*/
|
|
194
|
+
export function sharedLifelineIngressSecretHolder(stateDir) {
|
|
195
|
+
const key = path.resolve(stateDir);
|
|
196
|
+
let holder = sharedHolders.get(key);
|
|
197
|
+
if (!holder) {
|
|
198
|
+
holder = new LifelineIngressSecretHolder(stateDir);
|
|
199
|
+
sharedHolders.set(key, holder);
|
|
200
|
+
}
|
|
201
|
+
return holder;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=LifelineIngressSecret.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LifelineIngressSecret.js","sourceRoot":"","sources":["../../src/core/LifelineIngressSecret.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -8073,6 +8073,17 @@ The automatic "Message received. Composing response..." ack I send a peer over t
|
|
|
8073
8073
|
patched = true;
|
|
8074
8074
|
result.upgraded.push('CLAUDE.md: added A2A ack waits for a live session section');
|
|
8075
8075
|
}
|
|
8076
|
+
// Lifeline ingress secret (docs/specs/telegram-internal-route-lifeline-secret.md,
|
|
8077
|
+
// Agent awareness). OWN sniff key `Telegram internal routes need the lifeline
|
|
8078
|
+
// secret` — content-sniffed for idempotency.
|
|
8079
|
+
if (!content.includes('Telegram internal routes need the lifeline secret')) {
|
|
8080
|
+
content += '\n\n' + `### Telegram internal routes need the lifeline secret
|
|
8081
|
+
|
|
8082
|
+
The two routes that carry Telegram input from my lifeline into my server (\`POST /internal/telegram-forward\` for messages, \`POST /internal/telegram-callback\` for button taps) take the sender's Telegram id from the request body. My ordinary API token used to be enough to call them, so any session could have sent a message or an Approve tap that claimed to come from the operator. They now also require a secret that only the lifeline and the server hold: 32 random bytes in \`.instar/state/lifeline-ingress-secret\` (owner-only), sent in the \`X-Instar-Lifeline-Secret\` header. It is never placed in any process environment, so sessions do not inherit it, and the file viewer, backups and git sync refuse the file and the guard's own records. I never call these routes myself and never read that file. No message is refused until the guard is armed: the lifeline has proven it sends the secret (it does so within seconds of starting, through \`POST /internal/lifeline-proof\`), or there is no lifeline to wait for. A lifeline still on older code is accepted and counted, never cut off, and is asked to restart; while the guard is unarmed the server handles it exactly as before (in \`enforce\`, for at most 24 hours). Once the guard is armed (or, in \`enforce\`, those 24 hours have passed): a button tap without the secret is always refused, and a message without it is delivered with no sender identity (it shows as from "Unverified sender", binds no operator and carries no command authority). Two modes decide what else happens to such a message: \`observe\` delivers it that way and counts a would-refuse; \`enforce\` refuses it with HTTP 401 \`{ error: 'lifeline-secret-required', refused: true }\`, and the lifeline keeps it in its saved queue, keeps retrying (every minute at first, then less often), and tells the user after ten minutes. Default: enforce on a development agent; on other agents observe, and observe ends by itself: after 24 hours with zero would-refuse and at least 10 verified Telegram requests from the lifeline, or 7 days after the guard armed, whichever comes first. The counts are saved to disk and survive a restart. In the config file (read live, not changeable over the API): \`telegramIngress.lifelineSecret.enforce: false\` holds observe, \`true\` enforces (still only once armed), and \`telegramIngress.lifelineSecret.bypass: true\` is the full rollback that restores the old handling. The same button tap delivered twice is applied once. Mode, whether it is refusing messages (\`refusing\`) and taps (\`refusingTaps\`), the exit-rule progress and the counts: authed \`/health\` → \`telegramIngress.lifelineSecret\`; it is also a row on \`/guards\`. Honest limit: no tool hook refuses a read of the secret file today. What protects it is the owner-only (0600) file mode plus the key-material path list, which keeps it out of the file viewer, backups and git sync. Everything here runs as one OS user, so this is a cooperative boundary: it stops a session forging through its normal token; it does not stop a session that deliberately reads the file. **When to use** (PROACTIVE): the user asks "could a session fake a message or an approval from me?" or "why was a Telegram message refused with lifeline-secret-required?" or "why does a message show as from Unverified sender?" → read that \`/health\` block; the counts are running totals, so compare times: a \`lastWouldRefuseAt\` or \`lastRefusedAt\` later than \`armedAt\` means something other than a healthy lifeline called the route (a session using the ordinary token, or a lifeline that cannot read its secret file).
|
|
8083
|
+
`;
|
|
8084
|
+
patched = true;
|
|
8085
|
+
result.upgraded.push('CLAUDE.md: added Telegram internal routes need the lifeline secret section');
|
|
8086
|
+
}
|
|
8076
8087
|
// A2A dark peers (docs/specs/a2a-single-agent-identity.md §3, Agent
|
|
8077
8088
|
// awareness). OWN sniff key `A2A dark peers` — content-sniffed for idempotency.
|
|
8078
8089
|
if (!content.includes('A2A dark peers')) {
|
|
@@ -11003,6 +11014,10 @@ Two layers keep my machine-to-machine \"ropes\" (Tailscale / LAN / Cloudflare) h
|
|
|
11003
11014
|
// topic-bound reply, framework-agnostic — a Codex/Gemini agent must know a
|
|
11004
11015
|
// reaped topic session is woken and when the ack is withheld.
|
|
11005
11016
|
'### A2A reply into a reaped topic session',
|
|
11017
|
+
// Lifeline ingress secret: a server-side check on the two internal Telegram
|
|
11018
|
+
// routes, framework-agnostic — a Codex/Gemini agent must know the 401, the
|
|
11019
|
+
// modes and the cooperative-boundary limit.
|
|
11020
|
+
'### Telegram internal routes need the lifeline secret',
|
|
11006
11021
|
// A2A ack waits for a live session (ACT-091 follow-up): server-side timing
|
|
11007
11022
|
// of the relay's automatic ack, framework-agnostic — a Codex/Gemini agent
|
|
11008
11023
|
// must know what an ack, and a missing ack, now mean.
|