sensorium-mcp 3.1.1-board.1 → 3.1.2-board.1
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/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -1
- package/dist/lib/types.d.ts +1 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/services/broker-client.d.ts +17 -4
- package/dist/services/broker-client.d.ts.map +1 -1
- package/dist/services/broker-client.js +14 -3
- package/dist/services/broker-client.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +22 -1
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/http-retry.d.ts +91 -0
- package/dist/services/http-retry.d.ts.map +1 -0
- package/dist/services/http-retry.js +177 -0
- package/dist/services/http-retry.js.map +1 -0
- package/dist/services/self-update.service.d.ts +3 -2
- package/dist/services/self-update.service.d.ts.map +1 -1
- package/dist/services/self-update.service.js +22 -22
- package/dist/services/self-update.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +44 -19
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +64 -30
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/telegram.d.ts +22 -7
- package/dist/services/telegram.d.ts.map +1 -1
- package/dist/services/telegram.js +52 -61
- package/dist/services/telegram.js.map +1 -1
- package/dist/services/topic.service.d.ts +1 -1
- package/dist/services/topic.service.d.ts.map +1 -1
- package/dist/services/topic.service.js +22 -7
- package/dist/services/topic.service.js.map +1 -1
- package/package.json +1 -1
package/dist/config/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./agent-templates.js";
|
|
|
11
11
|
export * from "./keep-alive-settings.js";
|
|
12
12
|
export * from "./misc-settings.js";
|
|
13
13
|
export * from "./detail-grant.js";
|
|
14
|
+
export declare const TELEGRAM_API_BASE_URL: string;
|
|
14
15
|
export declare const AUTONOMOUS_MODE: boolean;
|
|
15
16
|
export declare const TEMPLATES_DIR: string;
|
|
16
17
|
export declare const config: AppConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AASlC,eAAO,MAAM,qBAAqB,QAC+B,CAAC;AAGlE,eAAO,MAAM,eAAe,SAAyC,CAAC;AAiCtE,eAAO,MAAM,aAAa,QAAwB,CAAC;AAKnD,eAAO,MAAM,MAAM,EAAE,SAWpB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -20,6 +20,7 @@ const { version: PKG_VERSION } = esmRequire("../../package.json");
|
|
|
20
20
|
// ─── Environment variables ──────────────────────────────────────────────────
|
|
21
21
|
const TELEGRAM_TOKEN = process.env.TELEGRAM_TOKEN ?? "";
|
|
22
22
|
const TELEGRAM_CHAT_ID = process.env.TELEGRAM_CHAT_ID ?? "";
|
|
23
|
+
export const TELEGRAM_API_BASE_URL = process.env.TELEGRAM_API_BASE_URL ?? "https://api.telegram.org";
|
|
23
24
|
const OPENAI_API_KEY = process.env.OPENAI_API_KEY ?? "";
|
|
24
25
|
const VOICE_ANALYSIS_URL = process.env.VOICE_ANALYSIS_URL ?? "";
|
|
25
26
|
export const AUTONOMOUS_MODE = process.env.AUTONOMOUS_MODE === "true";
|
|
@@ -36,6 +37,9 @@ if (!OPENAI_API_KEY) {
|
|
|
36
37
|
if (VOICE_ANALYSIS_URL) {
|
|
37
38
|
log.info(`Voice analysis service configured: ${VOICE_ANALYSIS_URL}`);
|
|
38
39
|
}
|
|
40
|
+
if (TELEGRAM_API_BASE_URL !== "https://api.telegram.org") {
|
|
41
|
+
log.info(`Custom Telegram API base URL configured: ${TELEGRAM_API_BASE_URL}`);
|
|
42
|
+
}
|
|
39
43
|
if (process.env.TRANSCRIPTION_BASE_URL) {
|
|
40
44
|
const model = process.env.TRANSCRIPTION_MODEL || "whisper-1";
|
|
41
45
|
log.info(`Transcription provider configured: ${process.env.TRANSCRIPTION_BASE_URL} (model: ${model})`);
|
|
@@ -47,6 +51,7 @@ mkdirSync(TEMPLATES_DIR, { recursive: true });
|
|
|
47
51
|
export const config = {
|
|
48
52
|
TELEGRAM_TOKEN,
|
|
49
53
|
TELEGRAM_CHAT_ID,
|
|
54
|
+
TELEGRAM_API_BASE_URL,
|
|
50
55
|
OPENAI_API_KEY,
|
|
51
56
|
VOICE_ANALYSIS_URL,
|
|
52
57
|
get WAIT_TIMEOUT_MINUTES() {
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAElC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAwB,CAAC;AAEzF,+EAA+E;AAE/E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACxD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;AAEtE,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACjF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,GAAG,EACH,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;AAEF,+EAA+E;AAE/E,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC,cAAc,EAAE,CAAC;IACpB,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;AAC/E,CAAC;AACD,IAAI,kBAAkB,EAAE,CAAC;IACvB,GAAG,CAAC,IAAI,CAAC,sCAAsC,kBAAkB,EAAE,CAAC,CAAC;AACvE,CAAC;AACD,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WAAW,CAAC;IAC7D,GAAG,CAAC,IAAI,CACN,sCAAsC,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,KAAK,GAAG,CAC7F,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnD,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9C,+EAA+E;AAE/E,MAAM,CAAC,MAAM,MAAM,GAAc;IAC/B,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,IAAI,oBAAoB;QACtB,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IACD,oBAAoB;IACpB,WAAW;CACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
9
9
|
export interface AppConfig {
|
|
10
10
|
TELEGRAM_TOKEN: string;
|
|
11
11
|
TELEGRAM_CHAT_ID: string;
|
|
12
|
+
TELEGRAM_API_BASE_URL: string;
|
|
12
13
|
OPENAI_API_KEY: string;
|
|
13
14
|
VOICE_ANALYSIS_URL: string;
|
|
14
15
|
WAIT_TIMEOUT_MINUTES: number;
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,MAAM,iBAAiB,GAAG,CAC9B,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EAC1C,cAAc,CAAC,EAAE,MAAM,IAAI,KACxB,MAAM,CAAC;AAIZ,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,MAAM,iBAAiB,GAAG,CAC9B,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EAC1C,cAAc,CAAC,EAAE,MAAM,IAAI,KACxB,MAAM,CAAC;AAIZ,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -124,10 +124,22 @@ export interface BrokerSpawnSuccess {
|
|
|
124
124
|
* was already there — the idempotency contract);
|
|
125
125
|
* { error } → the broker answered and the spawn FAILED. No process was
|
|
126
126
|
* created (the broker's idempotency check also found none);
|
|
127
|
-
* { unavailable } → the request DEFINITIVELY never spawned anything
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
127
|
+
* { unavailable } → the request DEFINITIVELY never spawned anything. Two
|
|
128
|
+
* sub-cases, told apart by `endpointAbsent`:
|
|
129
|
+
* endpointAbsent:true the broker answered 404 ONLY — the
|
|
130
|
+
* /proc/spawn endpoint is genuinely ABSENT (an OLD
|
|
131
|
+
* supervisor binary that predates it). The caller may
|
|
132
|
+
* grant a one-release local-spawn grace;
|
|
133
|
+
* endpointAbsent:false the endpoint is PRESENT but the
|
|
134
|
+
* spawn did not happen: either the supervisor is DOWN
|
|
135
|
+
* (no connection established: refused / host
|
|
136
|
+
* unreachable / connect timeout) or a LIVE supervisor
|
|
137
|
+
* REJECTED the request (401 — bad bearer secret). A
|
|
138
|
+
* local spawn would reintroduce the uncontained-zombie
|
|
139
|
+
* hole, so the caller must fail loudly instead — NO
|
|
140
|
+
* local spawn.
|
|
141
|
+
* Either way no process was created, so nothing can be
|
|
142
|
+
* duplicated;
|
|
131
143
|
* { uncertain } → timeout or connection lost mid-flight: the broker MAY
|
|
132
144
|
* have created a process. A blind local spawn could
|
|
133
145
|
* duplicate the agent — the caller must reconcile via
|
|
@@ -137,6 +149,7 @@ export type BrokerSpawnResult = BrokerSpawnSuccess | {
|
|
|
137
149
|
error: string;
|
|
138
150
|
} | {
|
|
139
151
|
unavailable: string;
|
|
152
|
+
endpointAbsent: boolean;
|
|
140
153
|
} | {
|
|
141
154
|
uncertain: string;
|
|
142
155
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker-client.d.ts","sourceRoot":"","sources":["../../src/services/broker-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2BH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,WAAW,CAAC;AAmG/D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;2EACuE;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAYnC;AAED,MAAM,WAAW,uBAAuB;IACtC,oFAAoF;IACpF,KAAK,EAAE,OAAO,CAAC;IACf;4DACwD;IACxD,KAAK,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAiBzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACzF,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAyBlC;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;yEACqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;qEACiE;IACjE,eAAe,EAAE,OAAO,CAAC;IACzB;4DACwD;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"broker-client.d.ts","sourceRoot":"","sources":["../../src/services/broker-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -211,15 +211,26 @@ export async function brokerSpawn(spec) {
|
|
|
211
211
|
}, spawnTimeoutOverride ?? SPAWN_TIMEOUT_MS, { bypassCooldown: true });
|
|
212
212
|
if (!res) {
|
|
213
213
|
return failure === "no-connection"
|
|
214
|
-
? {
|
|
214
|
+
? {
|
|
215
|
+
unavailable: "broker unreachable — connection never established",
|
|
216
|
+
endpointAbsent: false,
|
|
217
|
+
}
|
|
215
218
|
: { uncertain: "spawn request timed out or the connection was lost mid-flight" };
|
|
216
219
|
}
|
|
217
|
-
if (res.status === 404 || res.status === 401)
|
|
220
|
+
if (res.status === 404 || res.status === 401) {
|
|
221
|
+
// Only 404 means the endpoint is genuinely ABSENT (an old supervisor
|
|
222
|
+
// predating /proc/spawn) — the self-healing "re-run the installer" grace.
|
|
223
|
+
// A 401 is a LIVE supervisor whose auth rejected us: the endpoint exists,
|
|
224
|
+
// so fail loud like any present-but-unable supervisor. A persistent secret
|
|
225
|
+
// mismatch must NOT silently fall back to an uncontained local spawn.
|
|
226
|
+
const endpointAbsent = res.status === 404;
|
|
218
227
|
return {
|
|
219
|
-
unavailable:
|
|
228
|
+
unavailable: endpointAbsent
|
|
220
229
|
? "/proc/spawn not available on this supervisor build"
|
|
221
230
|
: "broker rejected the bearer secret",
|
|
231
|
+
endpointAbsent,
|
|
222
232
|
};
|
|
233
|
+
}
|
|
223
234
|
try {
|
|
224
235
|
const body = (await res.json());
|
|
225
236
|
if (res.ok && body.ok && typeof body.pid === "number" && body.pid > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker-client.js","sourceRoot":"","sources":["../../src/services/broker-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"broker-client.js","sourceRoot":"","sources":["../../src/services/broker-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../../src/services/dispatcher/poller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../../src/services/dispatcher/poller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAqa5E;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA+HhG"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { existsSync } from "node:fs";
|
|
9
9
|
import { log } from "../../lib/logger.js";
|
|
10
10
|
import { errorMessage } from "../../lib/utils.js";
|
|
11
|
+
import { abortableDelay, computeBackoffMs } from "../http-retry.js";
|
|
11
12
|
import { appendToThread, ensureDirs, injectOperatorMessage, OFFSET_FILE, readOffset, resolveThreadForTopic, writeOffset, writeReactionFile, } from "./broker.js";
|
|
12
13
|
// ── /mode + /prompts commands: handled specially (side-effect / keyboard) ──
|
|
13
14
|
import { getPredefinedPrompts, setThreadConversationMode, grantDetailWindow, revokeDetailGrant, DETAIL_GRANT_MINUTES, } from "../../config/index.js";
|
|
@@ -27,7 +28,14 @@ const PROMPT_CALLBACK_PREFIX = "pp:";
|
|
|
27
28
|
// Constants
|
|
28
29
|
// ---------------------------------------------------------------------------
|
|
29
30
|
const LOCK_REFRESH_INTERVAL_MS = 15_000;
|
|
31
|
+
// Base delay for the first retry after a poll error; subsequent consecutive
|
|
32
|
+
// failures back off exponentially (with FULL jitter) up to ERROR_BACKOFF_CAP_MS.
|
|
33
|
+
// The counter resets to 0 on the first successful poll, so an isolated 504 waits
|
|
34
|
+
// a jittered 0–ERROR_BACKOFF_MS (mean ~half of it) while a sustained proxy outage
|
|
35
|
+
// settles into a jittered 0–ERROR_BACKOFF_CAP_MS window instead of hammering the
|
|
36
|
+
// gateway every 5s.
|
|
30
37
|
const ERROR_BACKOFF_MS = 5_000;
|
|
38
|
+
const ERROR_BACKOFF_CAP_MS = 60_000;
|
|
31
39
|
const INTER_POLL_DELAY_MS = 500;
|
|
32
40
|
const DRAIN_TIMEOUT_MS = 10_000;
|
|
33
41
|
// ---------------------------------------------------------------------------
|
|
@@ -368,6 +376,9 @@ export async function startDispatcher(telegram, chatId) {
|
|
|
368
376
|
// Shared cleanup + loop helpers.
|
|
369
377
|
let cleanupRegistered = false;
|
|
370
378
|
let shuttingDown = false;
|
|
379
|
+
// Fires on shutdown so an in-progress error backoff can bail out at once
|
|
380
|
+
// instead of lingering up to ERROR_BACKOFF_CAP_MS before the loop notices.
|
|
381
|
+
const shutdownController = new AbortController();
|
|
371
382
|
const registerCleanup = () => {
|
|
372
383
|
if (cleanupRegistered)
|
|
373
384
|
return;
|
|
@@ -376,6 +387,7 @@ export async function startDispatcher(telegram, chatId) {
|
|
|
376
387
|
shuttingDown = true;
|
|
377
388
|
poller.running = false;
|
|
378
389
|
poller.abort?.abort();
|
|
390
|
+
shutdownController.abort();
|
|
379
391
|
removeLock();
|
|
380
392
|
};
|
|
381
393
|
process.on("exit", cleanup);
|
|
@@ -400,6 +412,7 @@ export async function startDispatcher(telegram, chatId) {
|
|
|
400
412
|
};
|
|
401
413
|
const startLoop = () => {
|
|
402
414
|
const loop = async () => {
|
|
415
|
+
let consecutiveFailures = 0;
|
|
403
416
|
while (poller.running) {
|
|
404
417
|
const currentLock = await readLock();
|
|
405
418
|
if (currentLock && currentLock.pid !== process.pid) {
|
|
@@ -409,10 +422,18 @@ export async function startDispatcher(telegram, chatId) {
|
|
|
409
422
|
}
|
|
410
423
|
try {
|
|
411
424
|
await pollOnce(telegram, chatId);
|
|
425
|
+
consecutiveFailures = 0;
|
|
412
426
|
}
|
|
413
427
|
catch (err) {
|
|
414
428
|
log.error(`[dispatcher] Unexpected poll error: ${errorMessage(err)}`);
|
|
415
|
-
|
|
429
|
+
const backoff = computeBackoffMs(consecutiveFailures, {
|
|
430
|
+
baseMs: ERROR_BACKOFF_MS,
|
|
431
|
+
capMs: ERROR_BACKOFF_CAP_MS,
|
|
432
|
+
});
|
|
433
|
+
consecutiveFailures++;
|
|
434
|
+
// Abort-aware: a SIGTERM landing mid-backoff cuts the wait short so the
|
|
435
|
+
// loop exits promptly rather than sleeping out the full cap.
|
|
436
|
+
await abortableDelay(backoff, shutdownController.signal).catch(() => { });
|
|
416
437
|
}
|
|
417
438
|
await new Promise((r) => setTimeout(r, INTER_POLL_DELAY_MS));
|
|
418
439
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/services/dispatcher/poller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/services/dispatcher/poller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transient HTTP retry policy.
|
|
3
|
+
*
|
|
4
|
+
* Centralizes the "retry on transient failure" behavior so it can be applied at
|
|
5
|
+
* a single choke point per call site rather than scattered across every request
|
|
6
|
+
* method. It is deliberately PURE: it knows nothing about the Telegram bot token
|
|
7
|
+
* or any other caller secret, so it never risks leaking one. Token redaction and
|
|
8
|
+
* response-body interpretation stay the caller's responsibility.
|
|
9
|
+
*
|
|
10
|
+
* WHY this exists: operators may point TELEGRAM_API_BASE_URL at an nginx reverse
|
|
11
|
+
* proxy or Azure gateway. Those proxies answer with 504 Gateway Timeout (or
|
|
12
|
+
* 502/503) instead of a normal Telegram JSON payload. Without retries a single
|
|
13
|
+
* proxy hiccup drops an operator notification or spins the long-poll loop; a
|
|
14
|
+
* bounded, jittered retry smooths over the transient blips.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* HTTP status codes that indicate a TRANSIENT failure — the request may well
|
|
18
|
+
* succeed if retried after a short pause:
|
|
19
|
+
* 408 Request Timeout, 429 Too Many Requests,
|
|
20
|
+
* 500 Internal Server Error, 502 Bad Gateway,
|
|
21
|
+
* 503 Service Unavailable, 504 Gateway Timeout.
|
|
22
|
+
*
|
|
23
|
+
* Every other 4xx is PERMANENT (bad request, unauthorized, not found, …) and is
|
|
24
|
+
* never retried — retrying it only wastes time and risks duplicate side effects.
|
|
25
|
+
*/
|
|
26
|
+
export declare const TRANSIENT_STATUS: ReadonlySet<number>;
|
|
27
|
+
/** True when `status` is in the transient (retryable) set. */
|
|
28
|
+
export declare function isTransientStatus(status: number): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Parse the `Retry-After` response header into milliseconds.
|
|
31
|
+
*
|
|
32
|
+
* Per RFC 9110 the value is either a number of seconds (`Retry-After: 120`) or
|
|
33
|
+
* an HTTP-date (`Retry-After: Wed, 21 Oct 2026 07:28:00 GMT`). Returns
|
|
34
|
+
* `undefined` when the header is absent or unparseable, and clamps any positive
|
|
35
|
+
* result to {@link RETRY_AFTER_MAX_MS}. A date in the past yields `0`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function parseRetryAfterMs(response: Response): number | undefined;
|
|
38
|
+
/** Tunables for {@link computeBackoffMs} / {@link fetchWithRetry}. */
|
|
39
|
+
export interface RetryPolicy {
|
|
40
|
+
/** Total number of attempts (1 = no retry). */
|
|
41
|
+
maxAttempts: number;
|
|
42
|
+
/** Base delay for the first backoff step, in ms. */
|
|
43
|
+
baseMs: number;
|
|
44
|
+
/** Hard ceiling for any single backoff wait, in ms. */
|
|
45
|
+
capMs: number;
|
|
46
|
+
}
|
|
47
|
+
/** Sensible default: 3 attempts, 500ms base, 8s cap. */
|
|
48
|
+
export declare const DEFAULT_RETRY_POLICY: RetryPolicy;
|
|
49
|
+
/**
|
|
50
|
+
* Exponential backoff with FULL jitter.
|
|
51
|
+
*
|
|
52
|
+
* The deterministic component is `baseMs * 2^attempt`, capped at `capMs`. We
|
|
53
|
+
* then draw a uniformly random value in `[0, capped]` (the "full jitter"
|
|
54
|
+
* strategy from the AWS Architecture Blog). Full jitter — rather than
|
|
55
|
+
* equal-jitter or none — is chosen because it maximizes spread across many
|
|
56
|
+
* concurrent clients hammering the same recovering proxy, which minimizes
|
|
57
|
+
* retry-storm synchronization.
|
|
58
|
+
*
|
|
59
|
+
* @param attempt Zero-based retry index (0 for the first backoff).
|
|
60
|
+
*/
|
|
61
|
+
export declare function computeBackoffMs(attempt: number, policy?: Pick<RetryPolicy, "baseMs" | "capMs">): number;
|
|
62
|
+
/**
|
|
63
|
+
* Sleep for `ms`, rejecting immediately if `signal` aborts mid-wait.
|
|
64
|
+
*
|
|
65
|
+
* Retries must not swallow an intentional shutdown: if the caller's signal
|
|
66
|
+
* fires while we are backing off, propagate the abort at once rather than
|
|
67
|
+
* finishing the sleep.
|
|
68
|
+
*/
|
|
69
|
+
export declare function abortableDelay(ms: number, signal?: AbortSignal): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* `fetch` with bounded, jittered retry on transient failures.
|
|
72
|
+
*
|
|
73
|
+
* Behavior:
|
|
74
|
+
* - Performs the fetch. If the response status is transient AND attempts
|
|
75
|
+
* remain, waits (honoring `Retry-After` when present, otherwise
|
|
76
|
+
* {@link computeBackoffMs}) and retries. Otherwise returns the response — the
|
|
77
|
+
* caller still inspects `.ok` to handle permanent (4xx) errors itself.
|
|
78
|
+
* - Only a thrown `TypeError` — how native `fetch` reports a genuine transport
|
|
79
|
+
* failure (DNS, ECONNREFUSED, socket reset) — is retried (if attempts
|
|
80
|
+
* remain, else the last error is rethrown). Every other throw propagates
|
|
81
|
+
* IMMEDIATELY with no wasted backoff: an AbortError / TimeoutError from
|
|
82
|
+
* `init.signal` (or `AbortSignal.timeout`) is intentional and must not be
|
|
83
|
+
* retried, and a programmer error (e.g. a bad argument) is not transient.
|
|
84
|
+
* - The backoff sleep is abort-aware: aborting `init.signal` mid-wait rejects
|
|
85
|
+
* at once.
|
|
86
|
+
*
|
|
87
|
+
* Kept PURE — no knowledge of any caller secret. Token redaction is layered on
|
|
88
|
+
* top by the caller's own try/catch.
|
|
89
|
+
*/
|
|
90
|
+
export declare function fetchWithRetry(input: string | URL | Request, init?: RequestInit, policy?: RetryPolicy): Promise<Response>;
|
|
91
|
+
//# sourceMappingURL=http-retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-retry.d.ts","sourceRoot":"","sources":["../../src/services/http-retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA2C,CAAC;AAE7F,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AASD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAmBxE;AAED,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,EAAE,WAIlC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAwB,GACnE,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB9E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,EAClB,MAAM,GAAE,WAAkC,GACzC,OAAO,CAAC,QAAQ,CAAC,CAyCnB"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transient HTTP retry policy.
|
|
3
|
+
*
|
|
4
|
+
* Centralizes the "retry on transient failure" behavior so it can be applied at
|
|
5
|
+
* a single choke point per call site rather than scattered across every request
|
|
6
|
+
* method. It is deliberately PURE: it knows nothing about the Telegram bot token
|
|
7
|
+
* or any other caller secret, so it never risks leaking one. Token redaction and
|
|
8
|
+
* response-body interpretation stay the caller's responsibility.
|
|
9
|
+
*
|
|
10
|
+
* WHY this exists: operators may point TELEGRAM_API_BASE_URL at an nginx reverse
|
|
11
|
+
* proxy or Azure gateway. Those proxies answer with 504 Gateway Timeout (or
|
|
12
|
+
* 502/503) instead of a normal Telegram JSON payload. Without retries a single
|
|
13
|
+
* proxy hiccup drops an operator notification or spins the long-poll loop; a
|
|
14
|
+
* bounded, jittered retry smooths over the transient blips.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* HTTP status codes that indicate a TRANSIENT failure — the request may well
|
|
18
|
+
* succeed if retried after a short pause:
|
|
19
|
+
* 408 Request Timeout, 429 Too Many Requests,
|
|
20
|
+
* 500 Internal Server Error, 502 Bad Gateway,
|
|
21
|
+
* 503 Service Unavailable, 504 Gateway Timeout.
|
|
22
|
+
*
|
|
23
|
+
* Every other 4xx is PERMANENT (bad request, unauthorized, not found, …) and is
|
|
24
|
+
* never retried — retrying it only wastes time and risks duplicate side effects.
|
|
25
|
+
*/
|
|
26
|
+
export const TRANSIENT_STATUS = new Set([408, 429, 500, 502, 503, 504]);
|
|
27
|
+
/** True when `status` is in the transient (retryable) set. */
|
|
28
|
+
export function isTransientStatus(status) {
|
|
29
|
+
return TRANSIENT_STATUS.has(status);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Upper bound (ms) we are ever willing to wait for a single `Retry-After`
|
|
33
|
+
* hint. A hostile or misconfigured proxy could send an absurd value; clamp it
|
|
34
|
+
* so we never sleep for minutes on end.
|
|
35
|
+
*/
|
|
36
|
+
const RETRY_AFTER_MAX_MS = 60_000;
|
|
37
|
+
/**
|
|
38
|
+
* Parse the `Retry-After` response header into milliseconds.
|
|
39
|
+
*
|
|
40
|
+
* Per RFC 9110 the value is either a number of seconds (`Retry-After: 120`) or
|
|
41
|
+
* an HTTP-date (`Retry-After: Wed, 21 Oct 2026 07:28:00 GMT`). Returns
|
|
42
|
+
* `undefined` when the header is absent or unparseable, and clamps any positive
|
|
43
|
+
* result to {@link RETRY_AFTER_MAX_MS}. A date in the past yields `0`.
|
|
44
|
+
*/
|
|
45
|
+
export function parseRetryAfterMs(response) {
|
|
46
|
+
const raw = response.headers.get("retry-after");
|
|
47
|
+
if (raw === null)
|
|
48
|
+
return undefined;
|
|
49
|
+
const trimmed = raw.trim();
|
|
50
|
+
if (trimmed === "")
|
|
51
|
+
return undefined;
|
|
52
|
+
// Numeric form: delay in seconds.
|
|
53
|
+
if (/^\d+$/.test(trimmed)) {
|
|
54
|
+
const seconds = Number(trimmed);
|
|
55
|
+
return Math.min(seconds * 1000, RETRY_AFTER_MAX_MS);
|
|
56
|
+
}
|
|
57
|
+
// HTTP-date form: absolute time to retry at.
|
|
58
|
+
const dateMs = Date.parse(trimmed);
|
|
59
|
+
if (Number.isNaN(dateMs))
|
|
60
|
+
return undefined;
|
|
61
|
+
const deltaMs = dateMs - Date.now();
|
|
62
|
+
if (deltaMs <= 0)
|
|
63
|
+
return 0;
|
|
64
|
+
return Math.min(deltaMs, RETRY_AFTER_MAX_MS);
|
|
65
|
+
}
|
|
66
|
+
/** Sensible default: 3 attempts, 500ms base, 8s cap. */
|
|
67
|
+
export const DEFAULT_RETRY_POLICY = {
|
|
68
|
+
maxAttempts: 3,
|
|
69
|
+
baseMs: 500,
|
|
70
|
+
capMs: 8_000,
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Exponential backoff with FULL jitter.
|
|
74
|
+
*
|
|
75
|
+
* The deterministic component is `baseMs * 2^attempt`, capped at `capMs`. We
|
|
76
|
+
* then draw a uniformly random value in `[0, capped]` (the "full jitter"
|
|
77
|
+
* strategy from the AWS Architecture Blog). Full jitter — rather than
|
|
78
|
+
* equal-jitter or none — is chosen because it maximizes spread across many
|
|
79
|
+
* concurrent clients hammering the same recovering proxy, which minimizes
|
|
80
|
+
* retry-storm synchronization.
|
|
81
|
+
*
|
|
82
|
+
* @param attempt Zero-based retry index (0 for the first backoff).
|
|
83
|
+
*/
|
|
84
|
+
export function computeBackoffMs(attempt, policy = DEFAULT_RETRY_POLICY) {
|
|
85
|
+
const exponential = policy.baseMs * 2 ** attempt;
|
|
86
|
+
const capped = Math.min(exponential, policy.capMs);
|
|
87
|
+
return Math.random() * capped;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Sleep for `ms`, rejecting immediately if `signal` aborts mid-wait.
|
|
91
|
+
*
|
|
92
|
+
* Retries must not swallow an intentional shutdown: if the caller's signal
|
|
93
|
+
* fires while we are backing off, propagate the abort at once rather than
|
|
94
|
+
* finishing the sleep.
|
|
95
|
+
*/
|
|
96
|
+
export function abortableDelay(ms, signal) {
|
|
97
|
+
return new Promise((resolve, reject) => {
|
|
98
|
+
if (signal?.aborted) {
|
|
99
|
+
reject(signal.reason ?? new DOMException("Aborted", "AbortError"));
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
let onAbort;
|
|
103
|
+
const timer = setTimeout(() => {
|
|
104
|
+
if (signal && onAbort)
|
|
105
|
+
signal.removeEventListener("abort", onAbort);
|
|
106
|
+
resolve();
|
|
107
|
+
}, ms);
|
|
108
|
+
if (signal) {
|
|
109
|
+
onAbort = () => {
|
|
110
|
+
clearTimeout(timer);
|
|
111
|
+
reject(signal.reason ?? new DOMException("Aborted", "AbortError"));
|
|
112
|
+
};
|
|
113
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* `fetch` with bounded, jittered retry on transient failures.
|
|
119
|
+
*
|
|
120
|
+
* Behavior:
|
|
121
|
+
* - Performs the fetch. If the response status is transient AND attempts
|
|
122
|
+
* remain, waits (honoring `Retry-After` when present, otherwise
|
|
123
|
+
* {@link computeBackoffMs}) and retries. Otherwise returns the response — the
|
|
124
|
+
* caller still inspects `.ok` to handle permanent (4xx) errors itself.
|
|
125
|
+
* - Only a thrown `TypeError` — how native `fetch` reports a genuine transport
|
|
126
|
+
* failure (DNS, ECONNREFUSED, socket reset) — is retried (if attempts
|
|
127
|
+
* remain, else the last error is rethrown). Every other throw propagates
|
|
128
|
+
* IMMEDIATELY with no wasted backoff: an AbortError / TimeoutError from
|
|
129
|
+
* `init.signal` (or `AbortSignal.timeout`) is intentional and must not be
|
|
130
|
+
* retried, and a programmer error (e.g. a bad argument) is not transient.
|
|
131
|
+
* - The backoff sleep is abort-aware: aborting `init.signal` mid-wait rejects
|
|
132
|
+
* at once.
|
|
133
|
+
*
|
|
134
|
+
* Kept PURE — no knowledge of any caller secret. Token redaction is layered on
|
|
135
|
+
* top by the caller's own try/catch.
|
|
136
|
+
*/
|
|
137
|
+
export async function fetchWithRetry(input, init, policy = DEFAULT_RETRY_POLICY) {
|
|
138
|
+
const signal = init?.signal ?? undefined;
|
|
139
|
+
let lastError;
|
|
140
|
+
for (let attempt = 0; attempt < policy.maxAttempts; attempt++) {
|
|
141
|
+
const attemptsRemaining = attempt < policy.maxAttempts - 1;
|
|
142
|
+
let response;
|
|
143
|
+
try {
|
|
144
|
+
response = await fetch(input, init);
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
// Only a genuine transport failure is retryable. Native `fetch` throws a
|
|
148
|
+
// TypeError for network-level faults (DNS, ECONNREFUSED, socket reset);
|
|
149
|
+
// anything else — AbortError/TimeoutError from a signal, or a programmer
|
|
150
|
+
// error — is intentional or permanent and must propagate at once.
|
|
151
|
+
if (!(err instanceof TypeError))
|
|
152
|
+
throw err;
|
|
153
|
+
lastError = err;
|
|
154
|
+
if (!attemptsRemaining)
|
|
155
|
+
throw err;
|
|
156
|
+
await abortableDelay(computeBackoffMs(attempt, policy), signal);
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
// Transient HTTP status with attempts left → back off and retry. Otherwise
|
|
160
|
+
// (success, or permanent error, or out of attempts) hand the response back.
|
|
161
|
+
if (isTransientStatus(response.status) && attemptsRemaining) {
|
|
162
|
+
const retryAfter = parseRetryAfterMs(response);
|
|
163
|
+
const waitMs = retryAfter ?? computeBackoffMs(attempt, policy);
|
|
164
|
+
// Release the socket before retrying: an unconsumed undici `Response`
|
|
165
|
+
// body keeps its connection pinned until GC, so a sustained proxy outage
|
|
166
|
+
// would leak one connection per retried 504. Draining first avoids it.
|
|
167
|
+
await response.body?.cancel().catch(() => { });
|
|
168
|
+
await abortableDelay(waitMs, signal);
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
return response;
|
|
172
|
+
}
|
|
173
|
+
// Unreachable when maxAttempts >= 1, but keeps the type checker happy and
|
|
174
|
+
// guards against a misconfigured policy (maxAttempts <= 0).
|
|
175
|
+
throw lastError ?? new Error("fetchWithRetry: exhausted attempts with no response");
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=http-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-retry.js","sourceRoot":"","sources":["../../src/services/http-retry.ts"],"names":[],"mappings":"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"}
|