@visorcraft/idlehands 1.4.6 → 2.0.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.
Files changed (180) hide show
  1. package/dist/agent/constants.js +12 -0
  2. package/dist/agent/constants.js.map +1 -0
  3. package/dist/agent/context-budget.js +103 -0
  4. package/dist/agent/context-budget.js.map +1 -0
  5. package/dist/agent/errors.js +8 -0
  6. package/dist/agent/errors.js.map +1 -0
  7. package/dist/agent/exec-helpers.js +105 -0
  8. package/dist/agent/exec-helpers.js.map +1 -0
  9. package/dist/agent/model-pick.js +21 -0
  10. package/dist/agent/model-pick.js.map +1 -0
  11. package/dist/agent/session-utils.js +63 -0
  12. package/dist/agent/session-utils.js.map +1 -0
  13. package/dist/agent/subagent-context.js +78 -0
  14. package/dist/agent/subagent-context.js.map +1 -0
  15. package/dist/agent/tool-loop-detection.js +91 -20
  16. package/dist/agent/tool-loop-detection.js.map +1 -1
  17. package/dist/agent/tool-loop-guard.js.map +1 -1
  18. package/dist/agent/tool-policy.js +54 -0
  19. package/dist/agent/tool-policy.js.map +1 -0
  20. package/dist/agent/tools-schema.js +281 -0
  21. package/dist/agent/tools-schema.js.map +1 -0
  22. package/dist/agent.js +191 -641
  23. package/dist/agent.js.map +1 -1
  24. package/dist/anton/controller.js +235 -163
  25. package/dist/anton/controller.js.map +1 -1
  26. package/dist/anton/lint-baseline.js +64 -0
  27. package/dist/anton/lint-baseline.js.map +1 -0
  28. package/dist/anton/preflight.js +7 -0
  29. package/dist/anton/preflight.js.map +1 -1
  30. package/dist/anton/prompt.js +71 -71
  31. package/dist/anton/reporter.js.map +1 -1
  32. package/dist/anton/runtime-ready.js +120 -0
  33. package/dist/anton/runtime-ready.js.map +1 -0
  34. package/dist/anton/session.js +7 -1
  35. package/dist/anton/session.js.map +1 -1
  36. package/dist/anton/verifier-utils.js +148 -0
  37. package/dist/anton/verifier-utils.js.map +1 -0
  38. package/dist/anton/verifier.js +26 -227
  39. package/dist/anton/verifier.js.map +1 -1
  40. package/dist/bot/anton-auto-pin.js +12 -0
  41. package/dist/bot/anton-auto-pin.js.map +1 -0
  42. package/dist/bot/anton-commands.js +137 -0
  43. package/dist/bot/anton-commands.js.map +1 -0
  44. package/dist/bot/anton-run.js +155 -0
  45. package/dist/bot/anton-run.js.map +1 -0
  46. package/dist/bot/anton-status-format.js +18 -0
  47. package/dist/bot/anton-status-format.js.map +1 -0
  48. package/dist/bot/basic-commands.js +114 -0
  49. package/dist/bot/basic-commands.js.map +1 -0
  50. package/dist/bot/command-format.js.map +1 -1
  51. package/dist/bot/command-logic.js +8 -728
  52. package/dist/bot/command-logic.js.map +1 -1
  53. package/dist/bot/commands.js +18 -1
  54. package/dist/bot/commands.js.map +1 -1
  55. package/dist/bot/discord-anton-autopin.js +29 -0
  56. package/dist/bot/discord-anton-autopin.js.map +1 -0
  57. package/dist/bot/discord-anton.js +45 -0
  58. package/dist/bot/discord-anton.js.map +1 -0
  59. package/dist/bot/discord-commands.js +20 -52
  60. package/dist/bot/discord-commands.js.map +1 -1
  61. package/dist/bot/discord-result.js +9 -0
  62. package/dist/bot/discord-result.js.map +1 -0
  63. package/dist/bot/discord-routing.js.map +1 -1
  64. package/dist/bot/discord.js +55 -12
  65. package/dist/bot/discord.js.map +1 -1
  66. package/dist/bot/escalation-commands.js +145 -0
  67. package/dist/bot/escalation-commands.js.map +1 -0
  68. package/dist/bot/escalation.js.map +1 -1
  69. package/dist/bot/format.js +0 -5
  70. package/dist/bot/format.js.map +1 -1
  71. package/dist/bot/git-status-command.js +28 -0
  72. package/dist/bot/git-status-command.js.map +1 -0
  73. package/dist/bot/model-endpoint.js +25 -0
  74. package/dist/bot/model-endpoint.js.map +1 -0
  75. package/dist/bot/session-history.js +61 -0
  76. package/dist/bot/session-history.js.map +1 -0
  77. package/dist/bot/session-settings.js +89 -0
  78. package/dist/bot/session-settings.js.map +1 -0
  79. package/dist/bot/telegram-commands.js +15 -7
  80. package/dist/bot/telegram-commands.js.map +1 -1
  81. package/dist/bot/telegram.js +15 -29
  82. package/dist/bot/telegram.js.map +1 -1
  83. package/dist/cli/agent-turn.js +8 -2
  84. package/dist/cli/agent-turn.js.map +1 -1
  85. package/dist/cli/commands/anton.js +6 -1
  86. package/dist/cli/commands/anton.js.map +1 -1
  87. package/dist/cli/commands/model.js +1 -3
  88. package/dist/cli/commands/model.js.map +1 -1
  89. package/dist/cli/commands/project.js +1 -1
  90. package/dist/cli/commands/project.js.map +1 -1
  91. package/dist/cli/commands/secrets.js +1 -1
  92. package/dist/cli/commands/secrets.js.map +1 -1
  93. package/dist/cli/commands/session.js +22 -12
  94. package/dist/cli/commands/session.js.map +1 -1
  95. package/dist/cli/guided-onboarding.js +20 -0
  96. package/dist/cli/guided-onboarding.js.map +1 -0
  97. package/dist/cli/runtime-cmds.js +8 -133
  98. package/dist/cli/runtime-cmds.js.map +1 -1
  99. package/dist/cli/runtime-common.js +35 -0
  100. package/dist/cli/runtime-common.js.map +1 -0
  101. package/dist/cli/runtime-detect.js +12 -0
  102. package/dist/cli/runtime-detect.js.map +1 -0
  103. package/dist/cli/runtime-host-command.js +7 -0
  104. package/dist/cli/runtime-host-command.js.map +1 -0
  105. package/dist/cli/runtime-probe-defaults.js +63 -0
  106. package/dist/cli/runtime-probe-defaults.js.map +1 -0
  107. package/dist/cli/runtime-scan-ports.js +30 -0
  108. package/dist/cli/runtime-scan-ports.js.map +1 -0
  109. package/dist/cli/setup-bot-step.js +51 -0
  110. package/dist/cli/setup-bot-step.js.map +1 -0
  111. package/dist/cli/setup-runtime-forms.js +214 -0
  112. package/dist/cli/setup-runtime-forms.js.map +1 -0
  113. package/dist/cli/setup-style.js +8 -0
  114. package/dist/cli/setup-style.js.map +1 -0
  115. package/dist/cli/setup-ui.js +146 -0
  116. package/dist/cli/setup-ui.js.map +1 -0
  117. package/dist/cli/setup.js +11 -449
  118. package/dist/cli/setup.js.map +1 -1
  119. package/dist/client/error-utils.js +37 -0
  120. package/dist/client/error-utils.js.map +1 -0
  121. package/dist/client/pressure.js +77 -0
  122. package/dist/client/pressure.js.map +1 -0
  123. package/dist/client.js +24 -122
  124. package/dist/client.js.map +1 -1
  125. package/dist/config.js +31 -14
  126. package/dist/config.js.map +1 -1
  127. package/dist/git.js +8 -2
  128. package/dist/git.js.map +1 -1
  129. package/dist/history.js +418 -0
  130. package/dist/history.js.map +1 -1
  131. package/dist/hooks/types.js.map +1 -1
  132. package/dist/index.js.map +1 -1
  133. package/dist/progress/message-edit-scheduler.js.map +1 -1
  134. package/dist/progress/turn-progress.js.map +1 -1
  135. package/dist/runtime/executor.js +4 -1
  136. package/dist/runtime/executor.js.map +1 -1
  137. package/dist/runtime/health.js.map +1 -1
  138. package/dist/runtime/host-runner.js.map +1 -1
  139. package/dist/safety.js +3 -2
  140. package/dist/safety.js.map +1 -1
  141. package/dist/shared/config-utils.js.map +1 -1
  142. package/dist/tools/exec-core.js +252 -0
  143. package/dist/tools/exec-core.js.map +1 -0
  144. package/dist/tools/exec-pty.js +89 -0
  145. package/dist/tools/exec-pty.js.map +1 -0
  146. package/dist/tools/exec-utils.js +94 -0
  147. package/dist/tools/exec-utils.js.map +1 -0
  148. package/dist/tools/file-discovery.js +144 -0
  149. package/dist/tools/file-discovery.js.map +1 -0
  150. package/dist/tools/file-mutations.js +326 -0
  151. package/dist/tools/file-mutations.js.map +1 -0
  152. package/dist/tools/file-read.js +133 -0
  153. package/dist/tools/file-read.js.map +1 -0
  154. package/dist/tools/patch-apply.js +168 -0
  155. package/dist/tools/patch-apply.js.map +1 -0
  156. package/dist/tools/path-safety.js.map +1 -1
  157. package/dist/tools/replay-utils.js +25 -0
  158. package/dist/tools/replay-utils.js.map +1 -0
  159. package/dist/tools/search-utils.js +55 -0
  160. package/dist/tools/search-utils.js.map +1 -0
  161. package/dist/tools/sys-notes.js +34 -0
  162. package/dist/tools/sys-notes.js.map +1 -0
  163. package/dist/tools/text-utils.js +164 -0
  164. package/dist/tools/text-utils.js.map +1 -0
  165. package/dist/tools/undo.js +1 -1
  166. package/dist/tools/undo.js.map +1 -1
  167. package/dist/tools/vault-tools.js +36 -0
  168. package/dist/tools/vault-tools.js.map +1 -0
  169. package/dist/tools.js +19 -1460
  170. package/dist/tools.js.map +1 -1
  171. package/dist/tui/controller.js +5 -2
  172. package/dist/tui/controller.js.map +1 -1
  173. package/dist/tui/render.js.map +1 -1
  174. package/dist/utils.js +2 -2
  175. package/dist/utils.js.map +1 -1
  176. package/dist/vault.js +134 -1
  177. package/dist/vault.js.map +1 -1
  178. package/dist/watchdog.js +1 -3
  179. package/dist/watchdog.js.map +1 -1
  180. 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
- function makeClientError(msg, status, retryable) {
6
- const e = new Error(msg);
7
- e.status = status;
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
- return [...OpenAIClient.CONTENT_MODE_PATTERNS, ...dynamic].some((p) => p.test(modelName));
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
- return this.endpoint.replace(/\/v1\/?$/, '');
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) {
@@ -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 = merged.tool_loop_detection && typeof merged.tool_loop_detection === 'object'
532
- ? merged.tool_loop_detection
533
- : { ...(DEFAULTS.tool_loop_detection ?? {}) };
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 = merged.tool_loop_detection.warning_threshold + 2;
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 >= merged.tool_loop_detection.global_circuit_breaker_threshold) {
561
- merged.tool_loop_detection.global_circuit_breaker_threshold = merged.tool_loop_detection.critical_threshold + 2;
562
- }
563
- const d = merged.tool_loop_detection.detectors = merged.tool_loop_detection.detectors && typeof merged.tool_loop_detection.detectors === 'object'
564
- ? merged.tool_loop_detection.detectors
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' && typeof policy.critical_threshold === 'number' && policy.warning_threshold >= policy.critical_threshold) {
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' && typeof policy.global_circuit_breaker_threshold === 'number' && policy.critical_threshold >= policy.global_circuit_breaker_threshold) {
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 = policy.detectors && typeof policy.detectors === 'object' ? 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 = { ...(DEFAULTS.tool_loop_auto_continue ?? { enabled: true, max_retries: 3 }) };
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)