@te-river/opencode-team-mode 1.7.7 → 1.7.9
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/README.md +1010 -1010
- package/README.zh-CN.md +907 -907
- package/dist/host/v2-browser-gate.js +2 -2
- package/dist/host/v2-offload.js +6 -6
- package/dist/host/v2-retry.d.ts +24 -11
- package/dist/host/v2-retry.d.ts.map +1 -1
- package/dist/host/v2-retry.js +81 -15
- package/dist/host/v2-retry.js.map +1 -1
- package/dist/prompts/specialists.js +286 -286
- package/dist/task-offload.js +1 -1
- package/dist/tm/config-layers.d.ts +5 -2
- package/dist/tm/config-layers.d.ts.map +1 -1
- package/dist/tm/config-layers.js +9 -6
- package/dist/tm/config-layers.js.map +1 -1
- package/dist/tm/config.d.ts.map +1 -1
- package/dist/tm/config.js +7 -1
- package/dist/tm/config.js.map +1 -1
- package/dist/tm/ledger.js +5 -5
- package/dist/tm/memory.js +9 -9
- package/dist/tm/search.d.ts +3 -0
- package/dist/tm/search.d.ts.map +1 -1
- package/dist/tm/search.js +67 -15
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/tools.js +3 -3
- package/dist/tm/webfetch.d.ts +94 -5
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +285 -64
- package/dist/tm/webfetch.js.map +1 -1
- package/docs/installation-v2.md +11 -6
- package/docs/installation.md +505 -505
- package/docs/research/agent-data-exchange.md +117 -117
- package/docs/research/browser-pane.md +94 -94
- package/docs/research/host-http-api.md +132 -132
- package/docs/research/host-subagent-injection.md +187 -187
- package/docs/research/plugin-loader-contract.md +261 -261
- package/docs/research/v2-builtin-tools.md +447 -447
- package/docs/v2-port-notes.md +134 -78
- package/index.js +7 -7
- package/package.json +64 -64
- package/scripts/gen-v2-config.mjs +1 -1
- package/scripts/lib/config-surgery.cjs +239 -239
|
@@ -259,8 +259,8 @@ export function applyV2BrowserGate(ctx, opts) {
|
|
|
259
259
|
if (found) {
|
|
260
260
|
found.parts[found.index] = {
|
|
261
261
|
type: "text",
|
|
262
|
-
text: `${owed.message}
|
|
263
|
-
|
|
262
|
+
text: `${owed.message}
|
|
263
|
+
|
|
264
264
|
(这道门禁本来是在请求前生效的:${tool} 的调用被宿主放过去了,所以我把它的返回换成了这段拒绝语。这个页面的内容没有进入上下文、run store 或轨迹;请求本身已经发生,这一条我没有能力撤回。)`,
|
|
265
265
|
};
|
|
266
266
|
for (let i = found.index + 1; i < found.parts.length; i++) {
|
package/dist/host/v2-offload.js
CHANGED
|
@@ -127,8 +127,8 @@ export function snapshotTokenBudget(config) {
|
|
|
127
127
|
export function renderAddressingCap(tool, capped, governed) {
|
|
128
128
|
const when = new Date(governed.expire_at).toISOString().replace("T", " ").slice(0, 16);
|
|
129
129
|
return (capped +
|
|
130
|
-
`
|
|
131
|
-
|
|
130
|
+
`
|
|
131
|
+
|
|
132
132
|
(原生 ${tool} 的快照按 JIT 治理截到预算内,没有整体卸载:截断部分里的 ref 不在你眼前,` +
|
|
133
133
|
`需要时用 tm_fetch { ref:"${governed.ref}", access_token:"${governed.access_token}", mode:"lines" } 分段取回再点,` +
|
|
134
134
|
`不要为了看一眼把全文读回来。原文 ${governed.tokens} token · 过期 ${governed.expire_at} · ${when})`);
|
|
@@ -144,8 +144,8 @@ export function reportTokenBudget(config) {
|
|
|
144
144
|
export function renderReportCap(tool, capped, governed, tablesDropped) {
|
|
145
145
|
const when = new Date(governed.expire_at).toISOString().replace("T", " ").slice(0, 16);
|
|
146
146
|
return (capped +
|
|
147
|
-
`
|
|
148
|
-
|
|
147
|
+
`
|
|
148
|
+
|
|
149
149
|
(原生 ${tool} 的返回是报告形的:表格已整份留在上面,被删掉的只有表格之间的说明文字——` +
|
|
150
150
|
`全文 ${governed.tokens} token,别为了看一句散文把整份读回来。` +
|
|
151
151
|
(tablesDropped > 0 ? `注意:预算之外还有 ${tablesDropped} 行表格内容没进来,需要时用 ` : "需要更多行时用 ") +
|
|
@@ -236,8 +236,8 @@ export function applyV2NativeOffload(ctx, deps) {
|
|
|
236
236
|
const capped = `${cut.text}${cut.fellBack
|
|
237
237
|
? `\n\n(这个结果是一整行没有换行的 JSON,按行保留寻址行的做法装不下任何内容,所以退成了从头截断 —— 内容不完整,别把它当成页面是空的;要精确字段就用 tm_fetch mode:"lines" 或改拍一次范围更小的快照。)`
|
|
238
238
|
: cut.addressesDropped > 0
|
|
239
|
-
? `
|
|
240
|
-
|
|
239
|
+
? `
|
|
240
|
+
|
|
241
241
|
(预算 ${budget} token 之内只装下了部分寻址行:另有 ${cut.addressesDropped} 行带 ref 的内容被截掉了,要点对它们先用 tm_fetch mode:"lines" 取回,或缩小范围重新拍一次快照——不要凭猜去点。)`
|
|
242
242
|
: ""}`;
|
|
243
243
|
const rendered = renderAddressingCap(tool, capped, g);
|
package/dist/host/v2-retry.d.ts
CHANGED
|
@@ -10,7 +10,13 @@
|
|
|
10
10
|
* 1. RECOGNISE a provider throttle from the event feed (`session.error`), by
|
|
11
11
|
* matching explicit signatures only �?never by guessing. A text that does
|
|
12
12
|
* not carry a known signature classifies as `unknown` and changes nothing.
|
|
13
|
-
* 2. COMPUTE an exact wait (
|
|
13
|
+
* 2. COMPUTE an exact wait (the fixed 5s/10s/20s ladder for retries #1/#2/#3, doubling
|
|
14
|
+
* to the cap after that; jitter applies only when retryJitter > 0) — but ONLY for the
|
|
15
|
+
* kinds a wait can fix. A HARD quota (allocated-exceeded / increase-your-limit /
|
|
16
|
+
* token-limit / 余额不足) names no wait: the directive says stop and raise-or-reset,
|
|
17
|
+
* and the breaker trips on the SECOND consecutive hard-quota error instead of
|
|
18
|
+
* `breakAfter`. The structured `retryAfterMs` host 2.1.2 (#57146) puts on session
|
|
19
|
+
* errors is honored as the wait floor. Inject it into the
|
|
14
20
|
* NEXT request's system prompt as an actionable sentence ("�?N 秒再�?),
|
|
15
21
|
* not a vague "try later". The directive is consumed once, so a host that
|
|
16
22
|
* replays the hook in-process cannot duplicate it.
|
|
@@ -32,16 +38,10 @@ export interface ProviderErrorClass {
|
|
|
32
38
|
kind: ProviderErrorKind;
|
|
33
39
|
/** A `Retry-After`-style hint parsed out of the text, in ms; 0 when absent. */
|
|
34
40
|
retryAfterMs: number;
|
|
41
|
+
/** true only inside the quota kind when the text says waiting cannot fix this
|
|
42
|
+
* (allocated quota / increase your limit / token-limit / 余额不足). */
|
|
43
|
+
hardQuota: boolean;
|
|
35
44
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Classify a provider error from its TEXT alone. Explicit signatures only:
|
|
38
|
-
* a text with no known signature is `unknown` and must never trip anything �? * mislabelling an ordinary error as a quota error is the failure mode the plan
|
|
39
|
-
* names, and the way to avoid it is to require the signature.
|
|
40
|
-
*
|
|
41
|
-
* Order matters: quota before rate before transient, because a message can carry
|
|
42
|
-
* more than one token (e.g. "quota exceeded (429)") and the most specific class
|
|
43
|
-
* is the useful one.
|
|
44
|
-
*/
|
|
45
45
|
export declare function classifyProviderError(text: unknown): ProviderErrorClass;
|
|
46
46
|
export interface RetryConfig {
|
|
47
47
|
enabled: boolean;
|
|
@@ -51,6 +51,13 @@ export interface RetryConfig {
|
|
|
51
51
|
breakAfter: number;
|
|
52
52
|
cooldownMs: number;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* The default ladder is FIXED and deterministic: consecutive errors #1/#2/#3
|
|
56
|
+
* wait exactly 5s / 10s / 20s (base 5000 doubling, jitter 0). Jitter stays a
|
|
57
|
+
* knob — a user who would rather parallel sessions not re-fire in lockstep can
|
|
58
|
+
* set `retryJitter` back to a fraction — but the shipped default promises the
|
|
59
|
+
* 5/10/20 ladder, and a promise with jitter in it is not that promise.
|
|
60
|
+
*/
|
|
54
61
|
export declare const RETRY_DEFAULTS: RetryConfig;
|
|
55
62
|
/**
|
|
56
63
|
* Resolve the knobs. An ILLEGAL value falls back to its default �?it never
|
|
@@ -91,7 +98,7 @@ export interface RetryDirective {
|
|
|
91
98
|
delayMs: number;
|
|
92
99
|
}
|
|
93
100
|
export interface RetryGovernor {
|
|
94
|
-
observe(text: unknown): ProviderErrorClass & {
|
|
101
|
+
observe(text: unknown, structuredRetryAfterMs?: number): ProviderErrorClass & {
|
|
95
102
|
delayMs: number;
|
|
96
103
|
};
|
|
97
104
|
observeEvent(raw: unknown): void;
|
|
@@ -125,6 +132,12 @@ export declare function createRetryGovernor(opts?: RetryGovernorOptions): RetryG
|
|
|
125
132
|
* assuming one shape.
|
|
126
133
|
*/
|
|
127
134
|
export declare function errorTextOf(raw: unknown): string;
|
|
135
|
+
/**
|
|
136
|
+
* Host 2.1.2 (#57146) puts `retryAfterMs` on structured session errors. Read it
|
|
137
|
+
* defensively — same walk style as `errorTextOf`: the payload shape is not a promised
|
|
138
|
+
* interface, so an absent or non-numeric field is simply 0.
|
|
139
|
+
*/
|
|
140
|
+
export declare function structuredRetryAfterOf(raw: unknown): number;
|
|
128
141
|
export interface RetryLayerInput {
|
|
129
142
|
scope?: TeamScope;
|
|
130
143
|
governor: RetryGovernor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-retry.d.ts","sourceRoot":"","sources":["../../src/host/v2-retry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"v2-retry.d.ts","sourceRoot":"","sources":["../../src/host/v2-retry.ts"],"names":[],"mappings":"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"}
|
package/dist/host/v2-retry.js
CHANGED
|
@@ -10,7 +10,13 @@
|
|
|
10
10
|
* 1. RECOGNISE a provider throttle from the event feed (`session.error`), by
|
|
11
11
|
* matching explicit signatures only �?never by guessing. A text that does
|
|
12
12
|
* not carry a known signature classifies as `unknown` and changes nothing.
|
|
13
|
-
* 2. COMPUTE an exact wait (
|
|
13
|
+
* 2. COMPUTE an exact wait (the fixed 5s/10s/20s ladder for retries #1/#2/#3, doubling
|
|
14
|
+
* to the cap after that; jitter applies only when retryJitter > 0) — but ONLY for the
|
|
15
|
+
* kinds a wait can fix. A HARD quota (allocated-exceeded / increase-your-limit /
|
|
16
|
+
* token-limit / 余额不足) names no wait: the directive says stop and raise-or-reset,
|
|
17
|
+
* and the breaker trips on the SECOND consecutive hard-quota error instead of
|
|
18
|
+
* `breakAfter`. The structured `retryAfterMs` host 2.1.2 (#57146) puts on session
|
|
19
|
+
* errors is honored as the wait floor. Inject it into the
|
|
14
20
|
* NEXT request's system prompt as an actionable sentence ("�?N 秒再�?),
|
|
15
21
|
* not a vague "try later". The directive is consumed once, so a host that
|
|
16
22
|
* replays the hook in-process cannot duplicate it.
|
|
@@ -35,22 +41,26 @@ export const RETRY_MARKER = "## Team Retry";
|
|
|
35
41
|
* more than one token (e.g. "quota exceeded (429)") and the most specific class
|
|
36
42
|
* is the useful one.
|
|
37
43
|
*/
|
|
44
|
+
/** The exhaustion sub-signature: a wait cannot fix these — the limit must be raised
|
|
45
|
+
* or the period must roll over. A bare "quota exceeded" stays SOFT (it may already
|
|
46
|
+
* carry a reset), per the "explicit signatures only" rule above. */
|
|
47
|
+
const HARD_QUOTA_RE = /allocated quota exceeded|increase your quota|insufficient quota|quota limit|token[- ]limit|余额不足/;
|
|
38
48
|
export function classifyProviderError(text) {
|
|
39
49
|
const s = typeof text === "string" ? text : "";
|
|
40
50
|
if (!s.trim())
|
|
41
|
-
return { kind: "unknown", retryAfterMs: 0 };
|
|
51
|
+
return { kind: "unknown", retryAfterMs: 0, hardQuota: false };
|
|
42
52
|
const lower = s.toLowerCase();
|
|
43
53
|
const retryAfterMs = parseRetryAfter(s);
|
|
44
54
|
if (/allocated quota exceeded|quota exceeded|insufficient_quota|exceeded.*quota|quota.*exceed|配额|余额不足/.test(lower)) {
|
|
45
|
-
return { kind: "quota", retryAfterMs };
|
|
55
|
+
return { kind: "quota", retryAfterMs, hardQuota: HARD_QUOTA_RE.test(lower) };
|
|
46
56
|
}
|
|
47
57
|
if (/\b429\b|too many requests|rate[ _-]?limit|rate_limit_exceeded|限流|请求过于频繁/.test(lower)) {
|
|
48
|
-
return { kind: "rate", retryAfterMs };
|
|
58
|
+
return { kind: "rate", retryAfterMs, hardQuota: false };
|
|
49
59
|
}
|
|
50
60
|
if (/\b50[0-4]\b|overloaded|temporarily unavailable|service unavailable|bad gateway|gateway timeout|timed? ?out|timeout|econnreset|etimedout|socket hang up/.test(lower)) {
|
|
51
|
-
return { kind: "transient", retryAfterMs };
|
|
61
|
+
return { kind: "transient", retryAfterMs, hardQuota: false };
|
|
52
62
|
}
|
|
53
|
-
return { kind: "unknown", retryAfterMs };
|
|
63
|
+
return { kind: "unknown", retryAfterMs, hardQuota: false };
|
|
54
64
|
}
|
|
55
65
|
/** `Retry-After: 30` / `retry after 30 seconds` �?30 000 ms. Absent �?0. */
|
|
56
66
|
function parseRetryAfter(s) {
|
|
@@ -60,11 +70,18 @@ function parseRetryAfter(s) {
|
|
|
60
70
|
const n = Number(m[1]);
|
|
61
71
|
return Number.isFinite(n) && n >= 0 ? n * 1000 : 0;
|
|
62
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* The default ladder is FIXED and deterministic: consecutive errors #1/#2/#3
|
|
75
|
+
* wait exactly 5s / 10s / 20s (base 5000 doubling, jitter 0). Jitter stays a
|
|
76
|
+
* knob — a user who would rather parallel sessions not re-fire in lockstep can
|
|
77
|
+
* set `retryJitter` back to a fraction — but the shipped default promises the
|
|
78
|
+
* 5/10/20 ladder, and a promise with jitter in it is not that promise.
|
|
79
|
+
*/
|
|
63
80
|
export const RETRY_DEFAULTS = {
|
|
64
81
|
enabled: true,
|
|
65
82
|
baseMs: 5000,
|
|
66
83
|
maxMs: 60000,
|
|
67
|
-
jitter: 0
|
|
84
|
+
jitter: 0,
|
|
68
85
|
breakAfter: 5,
|
|
69
86
|
cooldownMs: 60000,
|
|
70
87
|
};
|
|
@@ -128,17 +145,28 @@ export function createRetryGovernor(opts = {}) {
|
|
|
128
145
|
threw: 0,
|
|
129
146
|
};
|
|
130
147
|
let streak = 0;
|
|
148
|
+
let hardStreak = 0;
|
|
131
149
|
let cooldownUntil = 0;
|
|
132
150
|
let pending = null;
|
|
133
151
|
const inCooldown = () => now() < cooldownUntil;
|
|
134
|
-
const buildDirective = (
|
|
152
|
+
const buildDirective = (cls, delayMs) => {
|
|
153
|
+
if (cls.hardQuota) {
|
|
154
|
+
const hint = cls.retryAfterMs > 0 ? `(错误文本给出的重试时间:约 ${Math.round(cls.retryAfterMs / 1000)} 秒)` : "";
|
|
155
|
+
return {
|
|
156
|
+
text: `${RETRY_MARKER}(配额耗尽,不是故障)\n检测到 provider 配额耗尽(hard quota):等待与重试都无法解决——请停止向该 provider 重发${hint},等其配额重置,或请用户提升配额/更换模型。这是配额保护,不是插件故障;可用 retry: "off" 关闭。`,
|
|
157
|
+
delayMs: 0,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return buildLadderDirective(cls.kind, delayMs);
|
|
161
|
+
};
|
|
162
|
+
const buildLadderDirective = (kind, delayMs) => {
|
|
135
163
|
const secs = Math.max(1, Math.round(delayMs / 1000));
|
|
136
164
|
const text = inCooldown()
|
|
137
165
|
? `${RETRY_MARKER}(配额保护,不是故障)\n连续 ${cfg.breakAfter} 次配�?限流错误,已进入冷却:请等待 ${secs} 秒后再发下一次请求,期间新的子代理派发会被拒绝。这是配额保护,不是插件故障;可�?retry: "off" 关闭。`
|
|
138
166
|
: `${RETRY_MARKER}(配额保护,不是故障)\n检测到 provider ${kindLabel(kind)} 错误:请等待 ${secs} 秒后再发下一次请求。这是配额保护,不是插件故障;可�?retry: "off" 关闭。`;
|
|
139
167
|
return { text, delayMs };
|
|
140
168
|
};
|
|
141
|
-
const observe = (text) => {
|
|
169
|
+
const observe = (text, structuredRetryAfterMs = 0) => {
|
|
142
170
|
const cls = classifyProviderError(text);
|
|
143
171
|
if (cls.kind === "unknown") {
|
|
144
172
|
report.unknownSeen++;
|
|
@@ -151,20 +179,27 @@ export function createRetryGovernor(opts = {}) {
|
|
|
151
179
|
else
|
|
152
180
|
report.transientSeen++;
|
|
153
181
|
streak++;
|
|
154
|
-
|
|
182
|
+
hardStreak = cls.hardQuota ? hardStreak + 1 : 0;
|
|
183
|
+
const structured = Number.isFinite(structuredRetryAfterMs) && structuredRetryAfterMs > 0 ? structuredRetryAfterMs : 0;
|
|
184
|
+
const retryAfterSource = structured > 0 ? "structured" : cls.retryAfterMs > 0 ? "text" : "none";
|
|
185
|
+
// A hard quota names NO wait — the ladder would be a promise a reset cannot keep.
|
|
186
|
+
const delayMs = cls.hardQuota ? 0 : Math.max(backoffMs(streak - 1, cfg.baseMs, cfg.maxMs, cfg.jitter, random), structured, cls.retryAfterMs);
|
|
155
187
|
report.lastDelayMs = delayMs;
|
|
156
|
-
emit({ event: "classified", kind: cls.kind, delay_ms: delayMs, streak });
|
|
157
|
-
// The breaker: consecutive errors
|
|
158
|
-
|
|
188
|
+
emit({ event: "classified", kind: cls.kind, hard_quota: cls.hardQuota, delay_ms: delayMs, streak, retry_after_source: retryAfterSource });
|
|
189
|
+
// The breaker: consecutive errors of a throttle class. A hard quota is different
|
|
190
|
+
// work — two in a row means the provider is out of allocation, and waiting for
|
|
191
|
+
// breakAfter only burns the user's tokens on a dead endpoint.
|
|
192
|
+
if (isThrottle(cls.kind) && (cls.hardQuota ? hardStreak >= 2 : streak >= cfg.breakAfter)) {
|
|
159
193
|
const wasIn = inCooldown();
|
|
160
194
|
cooldownUntil = now() + cfg.cooldownMs;
|
|
161
195
|
report.cooldowns++;
|
|
162
196
|
if (!wasIn)
|
|
163
197
|
report.breakTrips++;
|
|
164
198
|
streak = 0;
|
|
199
|
+
hardStreak = 0;
|
|
165
200
|
emit({ event: "cooldown", break_trips: report.breakTrips, cooldowns: report.cooldowns, cooldown_ms: cfg.cooldownMs });
|
|
166
201
|
}
|
|
167
|
-
pending = buildDirective(cls
|
|
202
|
+
pending = buildDirective(cls, delayMs);
|
|
168
203
|
return { ...cls, delayMs };
|
|
169
204
|
};
|
|
170
205
|
return {
|
|
@@ -172,7 +207,7 @@ export function createRetryGovernor(opts = {}) {
|
|
|
172
207
|
observeEvent(raw) {
|
|
173
208
|
const text = errorTextOf(raw);
|
|
174
209
|
if (text)
|
|
175
|
-
observe(text);
|
|
210
|
+
observe(text, structuredRetryAfterOf(raw));
|
|
176
211
|
},
|
|
177
212
|
directive: () => pending,
|
|
178
213
|
takeDirective() {
|
|
@@ -186,6 +221,7 @@ export function createRetryGovernor(opts = {}) {
|
|
|
186
221
|
report,
|
|
187
222
|
reset() {
|
|
188
223
|
streak = 0;
|
|
224
|
+
hardStreak = 0;
|
|
189
225
|
cooldownUntil = 0;
|
|
190
226
|
pending = null;
|
|
191
227
|
},
|
|
@@ -235,6 +271,36 @@ export function errorTextOf(raw) {
|
|
|
235
271
|
}
|
|
236
272
|
return parts.join(" ");
|
|
237
273
|
}
|
|
274
|
+
/**
|
|
275
|
+
* Host 2.1.2 (#57146) puts `retryAfterMs` on structured session errors. Read it
|
|
276
|
+
* defensively — same walk style as `errorTextOf`: the payload shape is not a promised
|
|
277
|
+
* interface, so an absent or non-numeric field is simply 0.
|
|
278
|
+
*/
|
|
279
|
+
export function structuredRetryAfterOf(raw) {
|
|
280
|
+
if (!raw || typeof raw !== "object")
|
|
281
|
+
return 0;
|
|
282
|
+
const pick = (v) => (typeof v === "number" && Number.isFinite(v) && v > 0 ? v : 0);
|
|
283
|
+
const o = raw;
|
|
284
|
+
const direct = pick(o.retryAfterMs);
|
|
285
|
+
if (direct)
|
|
286
|
+
return direct;
|
|
287
|
+
const err = o.error;
|
|
288
|
+
if (err && typeof err === "object") {
|
|
289
|
+
const e = pick(err.retryAfterMs);
|
|
290
|
+
if (e)
|
|
291
|
+
return e;
|
|
292
|
+
}
|
|
293
|
+
const props = (o.properties ?? o.payload ?? o.data);
|
|
294
|
+
if (props && typeof props === "object") {
|
|
295
|
+
const p = pick(props.retryAfterMs);
|
|
296
|
+
if (p)
|
|
297
|
+
return p;
|
|
298
|
+
const pe = props.error;
|
|
299
|
+
if (pe && typeof pe === "object")
|
|
300
|
+
return pick(pe.retryAfterMs);
|
|
301
|
+
}
|
|
302
|
+
return 0;
|
|
303
|
+
}
|
|
238
304
|
const rank = { allow: 0, ask: 1, deny: 2 };
|
|
239
305
|
/**
|
|
240
306
|
* Register the two hooks the retry layer owns:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-retry.js","sourceRoot":"","sources":["../../src/host/v2-retry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"v2-retry.js","sourceRoot":"","sources":["../../src/host/v2-retry.ts"],"names":[],"mappings":"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"}
|