@visorcraft/idlehands 1.4.6 → 2.0.0
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/agent/constants.js +12 -0
- package/dist/agent/constants.js.map +1 -0
- package/dist/agent/errors.js +8 -0
- package/dist/agent/errors.js.map +1 -0
- package/dist/agent/exec-helpers.js +105 -0
- package/dist/agent/exec-helpers.js.map +1 -0
- package/dist/agent/model-pick.js +21 -0
- package/dist/agent/model-pick.js.map +1 -0
- package/dist/agent/session-utils.js +63 -0
- package/dist/agent/session-utils.js.map +1 -0
- package/dist/agent/subagent-context.js +78 -0
- package/dist/agent/subagent-context.js.map +1 -0
- package/dist/agent/tool-loop-guard.js.map +1 -1
- package/dist/agent/tool-policy.js +54 -0
- package/dist/agent/tool-policy.js.map +1 -0
- package/dist/agent/tools-schema.js +281 -0
- package/dist/agent/tools-schema.js.map +1 -0
- package/dist/agent.js +136 -630
- package/dist/agent.js.map +1 -1
- package/dist/anton/controller.js +21 -136
- package/dist/anton/controller.js.map +1 -1
- package/dist/anton/lint-baseline.js +64 -0
- package/dist/anton/lint-baseline.js.map +1 -0
- package/dist/anton/preflight.js.map +1 -1
- package/dist/anton/prompt.js +71 -71
- package/dist/anton/reporter.js.map +1 -1
- package/dist/anton/runtime-ready.js +120 -0
- package/dist/anton/runtime-ready.js.map +1 -0
- package/dist/anton/session.js +1 -1
- package/dist/anton/session.js.map +1 -1
- package/dist/anton/verifier-utils.js +148 -0
- package/dist/anton/verifier-utils.js.map +1 -0
- package/dist/anton/verifier.js +26 -227
- package/dist/anton/verifier.js.map +1 -1
- package/dist/bot/anton-auto-pin.js +12 -0
- package/dist/bot/anton-auto-pin.js.map +1 -0
- package/dist/bot/anton-commands.js +137 -0
- package/dist/bot/anton-commands.js.map +1 -0
- package/dist/bot/anton-run.js +144 -0
- package/dist/bot/anton-run.js.map +1 -0
- package/dist/bot/anton-status-format.js +18 -0
- package/dist/bot/anton-status-format.js.map +1 -0
- package/dist/bot/basic-commands.js +114 -0
- package/dist/bot/basic-commands.js.map +1 -0
- package/dist/bot/command-format.js.map +1 -1
- package/dist/bot/command-logic.js +8 -728
- package/dist/bot/command-logic.js.map +1 -1
- package/dist/bot/commands.js +18 -1
- package/dist/bot/commands.js.map +1 -1
- package/dist/bot/discord-anton-autopin.js +29 -0
- package/dist/bot/discord-anton-autopin.js.map +1 -0
- package/dist/bot/discord-anton.js +45 -0
- package/dist/bot/discord-anton.js.map +1 -0
- package/dist/bot/discord-commands.js +20 -52
- package/dist/bot/discord-commands.js.map +1 -1
- package/dist/bot/discord-result.js +9 -0
- package/dist/bot/discord-result.js.map +1 -0
- package/dist/bot/discord-routing.js.map +1 -1
- package/dist/bot/discord.js +42 -12
- package/dist/bot/discord.js.map +1 -1
- package/dist/bot/escalation-commands.js +145 -0
- package/dist/bot/escalation-commands.js.map +1 -0
- package/dist/bot/escalation.js.map +1 -1
- package/dist/bot/git-status-command.js +28 -0
- package/dist/bot/git-status-command.js.map +1 -0
- package/dist/bot/model-endpoint.js +25 -0
- package/dist/bot/model-endpoint.js.map +1 -0
- package/dist/bot/session-history.js +61 -0
- package/dist/bot/session-history.js.map +1 -0
- package/dist/bot/session-settings.js +89 -0
- package/dist/bot/session-settings.js.map +1 -0
- package/dist/bot/telegram-commands.js +15 -7
- package/dist/bot/telegram-commands.js.map +1 -1
- package/dist/bot/telegram.js +13 -28
- package/dist/bot/telegram.js.map +1 -1
- package/dist/cli/agent-turn.js +8 -2
- package/dist/cli/agent-turn.js.map +1 -1
- package/dist/cli/commands/anton.js +6 -1
- package/dist/cli/commands/anton.js.map +1 -1
- package/dist/cli/commands/model.js +1 -3
- package/dist/cli/commands/model.js.map +1 -1
- package/dist/cli/commands/project.js +1 -1
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/secrets.js +1 -1
- package/dist/cli/commands/secrets.js.map +1 -1
- package/dist/cli/commands/session.js +22 -12
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/guided-onboarding.js +20 -0
- package/dist/cli/guided-onboarding.js.map +1 -0
- package/dist/cli/runtime-cmds.js +8 -133
- package/dist/cli/runtime-cmds.js.map +1 -1
- package/dist/cli/runtime-common.js +35 -0
- package/dist/cli/runtime-common.js.map +1 -0
- package/dist/cli/runtime-detect.js +12 -0
- package/dist/cli/runtime-detect.js.map +1 -0
- package/dist/cli/runtime-host-command.js +7 -0
- package/dist/cli/runtime-host-command.js.map +1 -0
- package/dist/cli/runtime-probe-defaults.js +63 -0
- package/dist/cli/runtime-probe-defaults.js.map +1 -0
- package/dist/cli/runtime-scan-ports.js +30 -0
- package/dist/cli/runtime-scan-ports.js.map +1 -0
- package/dist/cli/setup-bot-step.js +51 -0
- package/dist/cli/setup-bot-step.js.map +1 -0
- package/dist/cli/setup-runtime-forms.js +214 -0
- package/dist/cli/setup-runtime-forms.js.map +1 -0
- package/dist/cli/setup-style.js +8 -0
- package/dist/cli/setup-style.js.map +1 -0
- package/dist/cli/setup-ui.js +146 -0
- package/dist/cli/setup-ui.js.map +1 -0
- package/dist/cli/setup.js +11 -449
- package/dist/cli/setup.js.map +1 -1
- package/dist/client/error-utils.js +37 -0
- package/dist/client/error-utils.js.map +1 -0
- package/dist/client/pressure.js +77 -0
- package/dist/client/pressure.js.map +1 -0
- package/dist/client.js +24 -122
- package/dist/client.js.map +1 -1
- package/dist/config.js +31 -14
- package/dist/config.js.map +1 -1
- package/dist/git.js +8 -2
- package/dist/git.js.map +1 -1
- package/dist/hooks/types.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/progress/message-edit-scheduler.js.map +1 -1
- package/dist/progress/turn-progress.js.map +1 -1
- package/dist/runtime/executor.js +4 -1
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/health.js.map +1 -1
- package/dist/runtime/host-runner.js.map +1 -1
- package/dist/safety.js +3 -2
- package/dist/safety.js.map +1 -1
- package/dist/shared/config-utils.js.map +1 -1
- package/dist/tools/exec-core.js +252 -0
- package/dist/tools/exec-core.js.map +1 -0
- package/dist/tools/exec-pty.js +89 -0
- package/dist/tools/exec-pty.js.map +1 -0
- package/dist/tools/exec-utils.js +94 -0
- package/dist/tools/exec-utils.js.map +1 -0
- package/dist/tools/file-discovery.js +144 -0
- package/dist/tools/file-discovery.js.map +1 -0
- package/dist/tools/file-mutations.js +326 -0
- package/dist/tools/file-mutations.js.map +1 -0
- package/dist/tools/file-read.js +133 -0
- package/dist/tools/file-read.js.map +1 -0
- package/dist/tools/patch-apply.js +168 -0
- package/dist/tools/patch-apply.js.map +1 -0
- package/dist/tools/path-safety.js.map +1 -1
- package/dist/tools/replay-utils.js +25 -0
- package/dist/tools/replay-utils.js.map +1 -0
- package/dist/tools/search-utils.js +55 -0
- package/dist/tools/search-utils.js.map +1 -0
- package/dist/tools/sys-notes.js +34 -0
- package/dist/tools/sys-notes.js.map +1 -0
- package/dist/tools/text-utils.js +164 -0
- package/dist/tools/text-utils.js.map +1 -0
- package/dist/tools/undo.js +1 -1
- package/dist/tools/undo.js.map +1 -1
- package/dist/tools/vault-tools.js +36 -0
- package/dist/tools/vault-tools.js.map +1 -0
- package/dist/tools.js +19 -1460
- package/dist/tools.js.map +1 -1
- package/dist/tui/controller.js +5 -2
- package/dist/tui/controller.js.map +1 -1
- package/dist/tui/render.js.map +1 -1
- package/dist/utils.js +2 -2
- package/dist/utils.js.map +1 -1
- package/dist/vault.js +1 -1
- package/dist/vault.js.map +1 -1
- package/dist/watchdog.js +1 -3
- package/dist/watchdog.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const RE_CONN_REFUSED = /ECONNREFUSED|fetch failed/i;
|
|
2
|
+
const RE_FETCH_FAILED = /fetch failed/i;
|
|
3
|
+
const RE_CONN_TIMEOUT = /Connection timeout \(\d+ms\)/i;
|
|
4
|
+
export function makeClientError(msg, status, retryable) {
|
|
5
|
+
const e = new Error(msg);
|
|
6
|
+
e.status = status;
|
|
7
|
+
e.retryable = retryable;
|
|
8
|
+
return e;
|
|
9
|
+
}
|
|
10
|
+
export function isConnRefused(e) {
|
|
11
|
+
const msg = String(e?.message ?? '');
|
|
12
|
+
return e?.cause?.code === 'ECONNREFUSED' || RE_CONN_REFUSED.test(msg);
|
|
13
|
+
}
|
|
14
|
+
export function isFetchFailed(e) {
|
|
15
|
+
return RE_FETCH_FAILED.test(String(e?.message ?? ''));
|
|
16
|
+
}
|
|
17
|
+
export function isConnTimeout(e) {
|
|
18
|
+
const msg = String(e?.message ?? '');
|
|
19
|
+
return Boolean(e?.retryable) && RE_CONN_TIMEOUT.test(msg);
|
|
20
|
+
}
|
|
21
|
+
export function asError(e, fallback = 'unknown error') {
|
|
22
|
+
if (e instanceof Error)
|
|
23
|
+
return e;
|
|
24
|
+
if (e === undefined)
|
|
25
|
+
return new Error(fallback);
|
|
26
|
+
return new Error(String(e));
|
|
27
|
+
}
|
|
28
|
+
export function getRetryDelayMs(defaultMs) {
|
|
29
|
+
const raw = process.env.IDLEHANDS_TEST_RETRY_DELAY_MS;
|
|
30
|
+
if (raw == null)
|
|
31
|
+
return defaultMs;
|
|
32
|
+
const parsed = Number(raw);
|
|
33
|
+
if (!Number.isFinite(parsed) || parsed < 0)
|
|
34
|
+
return defaultMs;
|
|
35
|
+
return Math.floor(parsed);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=error-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/client/error-utils.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,4BAA4B,CAAC;AACrD,MAAM,eAAe,GAAG,eAAe,CAAC;AACxC,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,MAAe,EAAE,SAAmB;IAC/E,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAgB,CAAC;IACxC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;IACxB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAM;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,cAAc,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAM;IAClC,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAM;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAU,EAAE,QAAQ,GAAG,eAAe;IAC5D,IAAI,CAAC,YAAY,KAAK;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtD,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Track 503 errors over a rolling window and impose escalating back-off.
|
|
3
|
+
*/
|
|
4
|
+
export class RateLimiter {
|
|
5
|
+
windowMs;
|
|
6
|
+
threshold;
|
|
7
|
+
maxBackoffMs;
|
|
8
|
+
timestamps = [];
|
|
9
|
+
backoffLevel = 0;
|
|
10
|
+
constructor(windowMs = 60_000, threshold = 5, maxBackoffMs = 60_000) {
|
|
11
|
+
this.windowMs = windowMs;
|
|
12
|
+
this.threshold = threshold;
|
|
13
|
+
this.maxBackoffMs = maxBackoffMs;
|
|
14
|
+
}
|
|
15
|
+
recordRetryableError() {
|
|
16
|
+
this.timestamps.push(Date.now());
|
|
17
|
+
this.prune();
|
|
18
|
+
if (this.timestamps.length >= this.threshold) {
|
|
19
|
+
this.backoffLevel = Math.min(this.backoffLevel + 1, 6);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
prune() {
|
|
23
|
+
const cutoff = Date.now() - this.windowMs;
|
|
24
|
+
this.timestamps = this.timestamps.filter((t) => t > cutoff);
|
|
25
|
+
}
|
|
26
|
+
getDelay() {
|
|
27
|
+
this.prune();
|
|
28
|
+
if (this.timestamps.length < this.threshold) {
|
|
29
|
+
if (this.timestamps.length === 0)
|
|
30
|
+
this.backoffLevel = 0;
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
return Math.min(Math.pow(2, this.backoffLevel) * 1000, this.maxBackoffMs);
|
|
34
|
+
}
|
|
35
|
+
get recentCount() {
|
|
36
|
+
this.prune();
|
|
37
|
+
return this.timestamps.length;
|
|
38
|
+
}
|
|
39
|
+
reset() {
|
|
40
|
+
this.timestamps = [];
|
|
41
|
+
this.backoffLevel = 0;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Track response times and detect overload/backpressure spikes. */
|
|
45
|
+
export class BackpressureMonitor {
|
|
46
|
+
times = [];
|
|
47
|
+
maxSamples;
|
|
48
|
+
multiplier;
|
|
49
|
+
constructor(opts) {
|
|
50
|
+
this.maxSamples = opts?.maxSamples ?? 20;
|
|
51
|
+
this.multiplier = opts?.multiplier ?? 3;
|
|
52
|
+
}
|
|
53
|
+
record(responseMs) {
|
|
54
|
+
const avg = this.average;
|
|
55
|
+
this.times.push(responseMs);
|
|
56
|
+
if (this.times.length > this.maxSamples) {
|
|
57
|
+
this.times.shift();
|
|
58
|
+
}
|
|
59
|
+
if (this.times.length < 3)
|
|
60
|
+
return { warn: false, avg, current: responseMs };
|
|
61
|
+
const warn = avg > 0 && responseMs > avg * this.multiplier;
|
|
62
|
+
return { warn, avg, current: responseMs };
|
|
63
|
+
}
|
|
64
|
+
get average() {
|
|
65
|
+
if (!this.times.length)
|
|
66
|
+
return 0;
|
|
67
|
+
const sum = this.times.reduce((a, b) => a + b, 0);
|
|
68
|
+
return sum / this.times.length;
|
|
69
|
+
}
|
|
70
|
+
get samples() {
|
|
71
|
+
return this.times.length;
|
|
72
|
+
}
|
|
73
|
+
reset() {
|
|
74
|
+
this.times = [];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=pressure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pressure.js","sourceRoot":"","sources":["../../src/client/pressure.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -2,126 +2,9 @@ import fsSync from 'node:fs';
|
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
e.retryable = retryable;
|
|
9
|
-
return e;
|
|
10
|
-
}
|
|
11
|
-
function isConnRefused(e) {
|
|
12
|
-
const msg = String(e?.message ?? '');
|
|
13
|
-
// Node fetch sometimes throws `TypeError: fetch failed` for transient network errors.
|
|
14
|
-
// Treat it as retryable in the same bucket as ECONNREFUSED.
|
|
15
|
-
return e?.cause?.code === 'ECONNREFUSED' || /ECONNREFUSED|fetch failed/i.test(msg);
|
|
16
|
-
}
|
|
17
|
-
function isFetchFailed(e) {
|
|
18
|
-
return /fetch failed/i.test(String(e?.message ?? ''));
|
|
19
|
-
}
|
|
20
|
-
function isConnTimeout(e) {
|
|
21
|
-
const msg = String(e?.message ?? '');
|
|
22
|
-
return Boolean(e?.retryable) && /Connection timeout \(\d+ms\)/i.test(msg);
|
|
23
|
-
}
|
|
24
|
-
function asError(e, fallback = 'unknown error') {
|
|
25
|
-
if (e instanceof Error)
|
|
26
|
-
return e;
|
|
27
|
-
if (e === undefined)
|
|
28
|
-
return new Error(fallback);
|
|
29
|
-
return new Error(String(e));
|
|
30
|
-
}
|
|
31
|
-
function getRetryDelayMs(defaultMs) {
|
|
32
|
-
const raw = process.env.IDLEHANDS_TEST_RETRY_DELAY_MS;
|
|
33
|
-
if (raw == null)
|
|
34
|
-
return defaultMs;
|
|
35
|
-
const parsed = Number(raw);
|
|
36
|
-
if (!Number.isFinite(parsed) || parsed < 0)
|
|
37
|
-
return defaultMs;
|
|
38
|
-
return Math.floor(parsed);
|
|
39
|
-
}
|
|
40
|
-
// ─── Rate Limiter ────────────────────────────────────────
|
|
41
|
-
/**
|
|
42
|
-
* Track 503 errors over a rolling 60s window.
|
|
43
|
-
* When count exceeds threshold, imposes escalating back-off.
|
|
44
|
-
*/
|
|
45
|
-
export class RateLimiter {
|
|
46
|
-
windowMs;
|
|
47
|
-
threshold;
|
|
48
|
-
maxBackoffMs;
|
|
49
|
-
timestamps = [];
|
|
50
|
-
backoffLevel = 0;
|
|
51
|
-
constructor(windowMs = 60_000, threshold = 5, maxBackoffMs = 60_000) {
|
|
52
|
-
this.windowMs = windowMs;
|
|
53
|
-
this.threshold = threshold;
|
|
54
|
-
this.maxBackoffMs = maxBackoffMs;
|
|
55
|
-
}
|
|
56
|
-
recordRetryableError() {
|
|
57
|
-
this.timestamps.push(Date.now());
|
|
58
|
-
this.prune();
|
|
59
|
-
if (this.timestamps.length >= this.threshold) {
|
|
60
|
-
this.backoffLevel = Math.min(this.backoffLevel + 1, 6);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
prune() {
|
|
64
|
-
const cutoff = Date.now() - this.windowMs;
|
|
65
|
-
this.timestamps = this.timestamps.filter((t) => t > cutoff);
|
|
66
|
-
}
|
|
67
|
-
/** Returns delay in ms to wait before next request (0 = no delay). */
|
|
68
|
-
getDelay() {
|
|
69
|
-
this.prune();
|
|
70
|
-
if (this.timestamps.length < this.threshold) {
|
|
71
|
-
// Decay backoff level when window clears
|
|
72
|
-
if (this.timestamps.length === 0)
|
|
73
|
-
this.backoffLevel = 0;
|
|
74
|
-
return 0;
|
|
75
|
-
}
|
|
76
|
-
// Exponential: 2^level * 1000, capped at maxBackoffMs
|
|
77
|
-
return Math.min(Math.pow(2, this.backoffLevel) * 1000, this.maxBackoffMs);
|
|
78
|
-
}
|
|
79
|
-
get recentCount() {
|
|
80
|
-
this.prune();
|
|
81
|
-
return this.timestamps.length;
|
|
82
|
-
}
|
|
83
|
-
reset() {
|
|
84
|
-
this.timestamps = [];
|
|
85
|
-
this.backoffLevel = 0;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// ─── Backpressure Monitor ─────────────────────────────────
|
|
89
|
-
/**
|
|
90
|
-
* Track response times and detect backpressure (server overload).
|
|
91
|
-
* Warns when response time exceeds 3× rolling average.
|
|
92
|
-
*/
|
|
93
|
-
export class BackpressureMonitor {
|
|
94
|
-
times = [];
|
|
95
|
-
maxSamples;
|
|
96
|
-
multiplier;
|
|
97
|
-
constructor(opts) {
|
|
98
|
-
this.maxSamples = opts?.maxSamples ?? 20;
|
|
99
|
-
this.multiplier = opts?.multiplier ?? 3;
|
|
100
|
-
}
|
|
101
|
-
record(responseMs) {
|
|
102
|
-
const avg = this.average;
|
|
103
|
-
this.times.push(responseMs);
|
|
104
|
-
if (this.times.length > this.maxSamples) {
|
|
105
|
-
this.times.shift();
|
|
106
|
-
}
|
|
107
|
-
// Need at least 3 samples before we judge
|
|
108
|
-
if (this.times.length < 3)
|
|
109
|
-
return { warn: false, avg, current: responseMs };
|
|
110
|
-
const warn = avg > 0 && responseMs > avg * this.multiplier;
|
|
111
|
-
return { warn, avg, current: responseMs };
|
|
112
|
-
}
|
|
113
|
-
get average() {
|
|
114
|
-
if (this.times.length === 0)
|
|
115
|
-
return 0;
|
|
116
|
-
return this.times.reduce((a, b) => a + b, 0) / this.times.length;
|
|
117
|
-
}
|
|
118
|
-
get samples() {
|
|
119
|
-
return this.times.length;
|
|
120
|
-
}
|
|
121
|
-
reset() {
|
|
122
|
-
this.times = [];
|
|
123
|
-
}
|
|
124
|
-
}
|
|
5
|
+
import { asError, getRetryDelayMs, isConnRefused, isConnTimeout, isFetchFailed, makeClientError, } from './client/error-utils.js';
|
|
6
|
+
import { BackpressureMonitor, RateLimiter } from './client/pressure.js';
|
|
7
|
+
export { BackpressureMonitor, RateLimiter } from './client/pressure.js';
|
|
125
8
|
export class OpenAIClient {
|
|
126
9
|
endpoint;
|
|
127
10
|
apiKey;
|
|
@@ -129,6 +12,8 @@ export class OpenAIClient {
|
|
|
129
12
|
rateLimiter = new RateLimiter();
|
|
130
13
|
backpressure = new BackpressureMonitor();
|
|
131
14
|
exchangeHook;
|
|
15
|
+
cachedHeaders;
|
|
16
|
+
cachedRootEndpoint;
|
|
132
17
|
/** Default response timeout in ms (overridable per-call). */
|
|
133
18
|
defaultResponseTimeoutMs = 600_000;
|
|
134
19
|
/** Default connection/header timeout in ms for chat requests. */
|
|
@@ -183,13 +68,22 @@ export class OpenAIClient {
|
|
|
183
68
|
return patterns;
|
|
184
69
|
}
|
|
185
70
|
catch {
|
|
71
|
+
OpenAIClient.dynamicPatternsCache = { patterns: [], loadedAt: Date.now() };
|
|
186
72
|
return [];
|
|
187
73
|
}
|
|
188
74
|
}
|
|
189
75
|
/** Check if a model name matches built-in or dynamic content-mode patterns. */
|
|
190
76
|
static needsContentMode(modelName) {
|
|
77
|
+
for (const p of OpenAIClient.CONTENT_MODE_PATTERNS) {
|
|
78
|
+
if (p.test(modelName))
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
191
81
|
const dynamic = OpenAIClient.loadDynamicCompatPatterns();
|
|
192
|
-
|
|
82
|
+
for (const p of dynamic) {
|
|
83
|
+
if (p.test(modelName))
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
193
87
|
}
|
|
194
88
|
recordKnownPatternMatch() {
|
|
195
89
|
this.compatTelemetry.knownPatternMatches += 1;
|
|
@@ -205,6 +99,7 @@ export class OpenAIClient {
|
|
|
205
99
|
this.endpoint = endpoint;
|
|
206
100
|
this.apiKey = apiKey;
|
|
207
101
|
this.verbose = verbose;
|
|
102
|
+
this.cachedRootEndpoint = this.endpoint.replace(/\/v1\/?$/, '');
|
|
208
103
|
}
|
|
209
104
|
/** Set the default response timeout (in seconds) for all requests. */
|
|
210
105
|
setResponseTimeout(seconds) {
|
|
@@ -257,6 +152,7 @@ export class OpenAIClient {
|
|
|
257
152
|
}
|
|
258
153
|
setEndpoint(endpoint) {
|
|
259
154
|
this.endpoint = endpoint.replace(/\/+$/, '');
|
|
155
|
+
this.cachedRootEndpoint = this.endpoint.replace(/\/v1\/?$/, '');
|
|
260
156
|
}
|
|
261
157
|
getEndpoint() {
|
|
262
158
|
return this.endpoint;
|
|
@@ -270,14 +166,20 @@ export class OpenAIClient {
|
|
|
270
166
|
void Promise.resolve(this.exchangeHook(record)).catch(() => { });
|
|
271
167
|
}
|
|
272
168
|
rootEndpoint() {
|
|
273
|
-
|
|
169
|
+
if (this.cachedRootEndpoint)
|
|
170
|
+
return this.cachedRootEndpoint;
|
|
171
|
+
this.cachedRootEndpoint = this.endpoint.replace(/\/v1\/?$/, '');
|
|
172
|
+
return this.cachedRootEndpoint;
|
|
274
173
|
}
|
|
275
174
|
headers() {
|
|
175
|
+
if (this.cachedHeaders)
|
|
176
|
+
return this.cachedHeaders;
|
|
276
177
|
const h = {
|
|
277
178
|
'Content-Type': 'application/json',
|
|
278
179
|
};
|
|
279
180
|
if (this.apiKey)
|
|
280
181
|
h.Authorization = `Bearer ${this.apiKey}`;
|
|
182
|
+
this.cachedHeaders = h;
|
|
281
183
|
return h;
|
|
282
184
|
}
|
|
283
185
|
log(msg) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -121,6 +121,7 @@ const DEFAULTS = {
|
|
|
121
121
|
auto_commit: true,
|
|
122
122
|
progress_events: true,
|
|
123
123
|
progress_heartbeat_sec: 30,
|
|
124
|
+
auto_pin_current_dir: false,
|
|
124
125
|
preflight: {
|
|
125
126
|
enabled: false,
|
|
126
127
|
requirements_review: true,
|
|
@@ -320,6 +321,7 @@ export async function loadConfig(opts) {
|
|
|
320
321
|
verbose: parseBool(process.env.IDLEHANDS_ANTON_VERBOSE),
|
|
321
322
|
progress_events: parseBool(process.env.IDLEHANDS_ANTON_PROGRESS_EVENTS),
|
|
322
323
|
progress_heartbeat_sec: parseNum(process.env.IDLEHANDS_ANTON_PROGRESS_HEARTBEAT_SEC),
|
|
324
|
+
auto_pin_current_dir: parseBool(process.env.IDLEHANDS_ANTON_AUTO_PIN_CURRENT_DIR),
|
|
323
325
|
skip_on_fail: parseBool(process.env.IDLEHANDS_ANTON_SKIP_ON_FAIL),
|
|
324
326
|
skip_on_blocked: parseBool(process.env.IDLEHANDS_ANTON_SKIP_ON_BLOCKED),
|
|
325
327
|
rollback_on_fail: parseBool(process.env.IDLEHANDS_ANTON_ROLLBACK_ON_FAIL),
|
|
@@ -528,9 +530,10 @@ export async function loadConfig(opts) {
|
|
|
528
530
|
if (merged.hooks.allow_capabilities.length === 0) {
|
|
529
531
|
merged.hooks.allow_capabilities = ['observe'];
|
|
530
532
|
}
|
|
531
|
-
merged.tool_loop_detection =
|
|
532
|
-
|
|
533
|
-
|
|
533
|
+
merged.tool_loop_detection =
|
|
534
|
+
merged.tool_loop_detection && typeof merged.tool_loop_detection === 'object'
|
|
535
|
+
? merged.tool_loop_detection
|
|
536
|
+
: { ...(DEFAULTS.tool_loop_detection ?? {}) };
|
|
534
537
|
const toolLoopEnabled = parseBoolLike(merged.tool_loop_detection.enabled);
|
|
535
538
|
if (toolLoopEnabled !== undefined)
|
|
536
539
|
merged.tool_loop_detection.enabled = toolLoopEnabled;
|
|
@@ -553,16 +556,20 @@ export async function loadConfig(opts) {
|
|
|
553
556
|
if (typeof merged.tool_loop_detection.warning_threshold === 'number' &&
|
|
554
557
|
typeof merged.tool_loop_detection.critical_threshold === 'number' &&
|
|
555
558
|
merged.tool_loop_detection.warning_threshold >= merged.tool_loop_detection.critical_threshold) {
|
|
556
|
-
merged.tool_loop_detection.critical_threshold =
|
|
559
|
+
merged.tool_loop_detection.critical_threshold =
|
|
560
|
+
merged.tool_loop_detection.warning_threshold + 2;
|
|
557
561
|
}
|
|
558
562
|
if (typeof merged.tool_loop_detection.critical_threshold === 'number' &&
|
|
559
563
|
typeof merged.tool_loop_detection.global_circuit_breaker_threshold === 'number' &&
|
|
560
|
-
merged.tool_loop_detection.critical_threshold >=
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
564
|
+
merged.tool_loop_detection.critical_threshold >=
|
|
565
|
+
merged.tool_loop_detection.global_circuit_breaker_threshold) {
|
|
566
|
+
merged.tool_loop_detection.global_circuit_breaker_threshold =
|
|
567
|
+
merged.tool_loop_detection.critical_threshold + 2;
|
|
568
|
+
}
|
|
569
|
+
const d = (merged.tool_loop_detection.detectors =
|
|
570
|
+
merged.tool_loop_detection.detectors && typeof merged.tool_loop_detection.detectors === 'object'
|
|
571
|
+
? merged.tool_loop_detection.detectors
|
|
572
|
+
: {});
|
|
566
573
|
const genRepeat = parseBoolLike(d.generic_repeat);
|
|
567
574
|
if (genRepeat !== undefined)
|
|
568
575
|
d.generic_repeat = genRepeat;
|
|
@@ -589,13 +596,18 @@ export async function loadConfig(opts) {
|
|
|
589
596
|
if (typeof policy.global_circuit_breaker_threshold === 'number') {
|
|
590
597
|
policy.global_circuit_breaker_threshold = Math.max(4, Math.floor(policy.global_circuit_breaker_threshold));
|
|
591
598
|
}
|
|
592
|
-
if (typeof policy.warning_threshold === 'number' &&
|
|
599
|
+
if (typeof policy.warning_threshold === 'number' &&
|
|
600
|
+
typeof policy.critical_threshold === 'number' &&
|
|
601
|
+
policy.warning_threshold >= policy.critical_threshold) {
|
|
593
602
|
policy.critical_threshold = policy.warning_threshold + 2;
|
|
594
603
|
}
|
|
595
|
-
if (typeof policy.critical_threshold === 'number' &&
|
|
604
|
+
if (typeof policy.critical_threshold === 'number' &&
|
|
605
|
+
typeof policy.global_circuit_breaker_threshold === 'number' &&
|
|
606
|
+
policy.critical_threshold >= policy.global_circuit_breaker_threshold) {
|
|
596
607
|
policy.global_circuit_breaker_threshold = policy.critical_threshold + 2;
|
|
597
608
|
}
|
|
598
|
-
const pd = policy.detectors =
|
|
609
|
+
const pd = (policy.detectors =
|
|
610
|
+
policy.detectors && typeof policy.detectors === 'object' ? policy.detectors : {});
|
|
599
611
|
const pdGen = parseBoolLike(pd.generic_repeat);
|
|
600
612
|
if (pdGen !== undefined)
|
|
601
613
|
pd.generic_repeat = pdGen;
|
|
@@ -619,7 +631,9 @@ export async function loadConfig(opts) {
|
|
|
619
631
|
}
|
|
620
632
|
}
|
|
621
633
|
else {
|
|
622
|
-
merged.tool_loop_auto_continue = {
|
|
634
|
+
merged.tool_loop_auto_continue = {
|
|
635
|
+
...(DEFAULTS.tool_loop_auto_continue ?? { enabled: true, max_retries: 3 }),
|
|
636
|
+
};
|
|
623
637
|
}
|
|
624
638
|
const subAgentsEnabled = parseBoolLike(merged.sub_agents.enabled);
|
|
625
639
|
if (subAgentsEnabled !== undefined)
|
|
@@ -718,6 +732,9 @@ export async function loadConfig(opts) {
|
|
|
718
732
|
a.max_prompt_tokens_per_attempt = Math.max(1024, Math.floor(a.max_prompt_tokens_per_attempt));
|
|
719
733
|
if (typeof a.progress_heartbeat_sec === 'number')
|
|
720
734
|
a.progress_heartbeat_sec = Math.max(5, Math.min(600, Math.floor(a.progress_heartbeat_sec)));
|
|
735
|
+
const autoPinCurrentDir = parseBoolLike(a.auto_pin_current_dir);
|
|
736
|
+
if (autoPinCurrentDir !== undefined)
|
|
737
|
+
a.auto_pin_current_dir = autoPinCurrentDir;
|
|
721
738
|
if (a.preflight && typeof a.preflight === 'object') {
|
|
722
739
|
const enabled = parseBoolLike(a.preflight.enabled);
|
|
723
740
|
if (enabled !== undefined)
|