@visorcraft/idlehands 2.2.5 → 2.2.8

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 (43) hide show
  1. package/dist/agent/capture.js +98 -0
  2. package/dist/agent/capture.js.map +1 -0
  3. package/dist/agent/client-pool.js +115 -0
  4. package/dist/agent/client-pool.js.map +1 -0
  5. package/dist/agent/conversation-branch.js +50 -0
  6. package/dist/agent/conversation-branch.js.map +1 -0
  7. package/dist/agent/tools-schema.js +16 -3
  8. package/dist/agent/tools-schema.js.map +1 -1
  9. package/dist/agent.js +320 -118
  10. package/dist/agent.js.map +1 -1
  11. package/dist/bot/basic-commands.js +8 -0
  12. package/dist/bot/basic-commands.js.map +1 -1
  13. package/dist/bot/budget-command.js +74 -0
  14. package/dist/bot/budget-command.js.map +1 -0
  15. package/dist/bot/capture-commands.js +82 -0
  16. package/dist/bot/capture-commands.js.map +1 -0
  17. package/dist/bot/command-logic.js +6 -0
  18. package/dist/bot/command-logic.js.map +1 -1
  19. package/dist/bot/commands.js +90 -1
  20. package/dist/bot/commands.js.map +1 -1
  21. package/dist/bot/cost-command.js +80 -0
  22. package/dist/bot/cost-command.js.map +1 -0
  23. package/dist/bot/diff-command.js +48 -0
  24. package/dist/bot/diff-command.js.map +1 -0
  25. package/dist/bot/discord-commands.js +36 -1
  26. package/dist/bot/discord-commands.js.map +1 -1
  27. package/dist/bot/metrics-command.js +51 -0
  28. package/dist/bot/metrics-command.js.map +1 -0
  29. package/dist/bot/rollback-command.js +33 -0
  30. package/dist/bot/rollback-command.js.map +1 -0
  31. package/dist/bot/telegram.js +9 -1
  32. package/dist/bot/telegram.js.map +1 -1
  33. package/dist/cli/commands/editing.js +11 -2
  34. package/dist/cli/commands/editing.js.map +1 -1
  35. package/dist/config.js +27 -0
  36. package/dist/config.js.map +1 -1
  37. package/dist/progress/turn-progress.js +203 -129
  38. package/dist/progress/turn-progress.js.map +1 -1
  39. package/dist/routing/hysteresis.js +69 -0
  40. package/dist/routing/hysteresis.js.map +1 -0
  41. package/dist/tools/transaction.js +60 -0
  42. package/dist/tools/transaction.js.map +1 -0
  43. package/package.json +1 -1
@@ -0,0 +1,98 @@
1
+ /**
2
+ * CaptureManager — Records API request/response exchanges to JSONL files
3
+ * with optional redaction of sensitive headers (API keys, tokens).
4
+ *
5
+ * Extracted from agent.ts to reduce file size and isolate capture concerns.
6
+ */
7
+ import fs from 'node:fs/promises';
8
+ import path from 'node:path';
9
+ export class CaptureManager {
10
+ enabled = false;
11
+ redactEnabled = true;
12
+ filePath;
13
+ lastRecord = null;
14
+ capturesDir;
15
+ constructor(stateDir) {
16
+ this.capturesDir = path.join(stateDir, 'captures');
17
+ }
18
+ // ── Public API (matches previous closures) ──────────────────────────
19
+ async on(filePath) {
20
+ const target = filePath?.trim() ? path.resolve(filePath) : this.defaultPath();
21
+ await fs.mkdir(path.dirname(target), { recursive: true });
22
+ await fs.appendFile(target, '', 'utf8');
23
+ this.enabled = true;
24
+ this.filePath = target;
25
+ return target;
26
+ }
27
+ off() {
28
+ this.enabled = false;
29
+ }
30
+ async last(filePath) {
31
+ if (!this.lastRecord) {
32
+ throw new Error('No captured request/response pair is available yet.');
33
+ }
34
+ const target = filePath?.trim()
35
+ ? path.resolve(filePath)
36
+ : this.filePath || this.defaultPath();
37
+ await this.appendRecord(this.lastRecord, target);
38
+ return target;
39
+ }
40
+ setRedact(enabled) {
41
+ this.redactEnabled = enabled;
42
+ }
43
+ getRedact() {
44
+ return this.redactEnabled;
45
+ }
46
+ open() {
47
+ return this.filePath || null;
48
+ }
49
+ get path() {
50
+ return this.filePath;
51
+ }
52
+ // ── Exchange hook (attach to OpenAIClient) ──────────────────────────
53
+ /**
54
+ * Returns a hook function suitable for `client.setExchangeHook()`.
55
+ * The hook stores the last record and, if capture is enabled, appends it.
56
+ */
57
+ createExchangeHook() {
58
+ return async (record) => {
59
+ this.lastRecord = record;
60
+ if (!this.enabled)
61
+ return;
62
+ const outFile = this.filePath || this.defaultPath();
63
+ this.filePath = outFile;
64
+ await this.appendRecord(record, outFile);
65
+ };
66
+ }
67
+ // ── Internal helpers ────────────────────────────────────────────────
68
+ defaultPath() {
69
+ const stamp = new Date().toISOString().replace(/[:.]/g, '-');
70
+ return path.join(this.capturesDir, `${stamp}.jsonl`);
71
+ }
72
+ redactRecord(record) {
73
+ if (!this.redactEnabled)
74
+ return record;
75
+ const redacted = JSON.parse(JSON.stringify(record));
76
+ const walk = (obj) => {
77
+ if (!obj || typeof obj !== 'object')
78
+ return;
79
+ for (const key of Object.keys(obj)) {
80
+ const lower = key.toLowerCase();
81
+ if (lower === 'authorization' || lower === 'api-key' || lower === 'x-api-key') {
82
+ obj[key] = '[REDACTED]';
83
+ }
84
+ else if (typeof obj[key] === 'object') {
85
+ walk(obj[key]);
86
+ }
87
+ }
88
+ };
89
+ walk(redacted);
90
+ return redacted;
91
+ }
92
+ async appendRecord(record, outPath) {
93
+ await fs.mkdir(path.dirname(outPath), { recursive: true });
94
+ const safe = this.redactRecord(record);
95
+ await fs.appendFile(outPath, JSON.stringify(safe) + '\n', 'utf8');
96
+ }
97
+ }
98
+ //# sourceMappingURL=capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/agent/capture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ export class ClientPool {
2
+ routedClients = new Map();
3
+ probedEndpoints = new Set();
4
+ primary;
5
+ primaryEndpoint;
6
+ apiKey;
7
+ cfg;
8
+ capture;
9
+ ClientCtor;
10
+ constructor(opts) {
11
+ this.primary = opts.primary;
12
+ this.primaryEndpoint = opts.primaryEndpoint;
13
+ this.apiKey = opts.apiKey;
14
+ this.cfg = opts.cfg;
15
+ this.capture = opts.capture;
16
+ this.ClientCtor = opts.ClientCtor;
17
+ }
18
+ /** Get or create a client for the given endpoint. Returns primary if no endpoint or same as primary. */
19
+ getForEndpoint(endpoint) {
20
+ if (!endpoint)
21
+ return this.primary;
22
+ const normalized = this.normalize(endpoint);
23
+ if (!normalized || normalized === this.normalize(this.primaryEndpoint))
24
+ return this.primary;
25
+ const existing = this.routedClients.get(normalized);
26
+ if (existing)
27
+ return existing;
28
+ const routed = new this.ClientCtor(normalized, this.apiKey, this.cfg.verbose);
29
+ this.applyRuntimeOptions(routed);
30
+ this.attachCaptureHook(routed);
31
+ this.routedClients.set(normalized, routed);
32
+ return routed;
33
+ }
34
+ /** Probe an endpoint's connection if not already probed. */
35
+ async probeIfNeeded(endpoint) {
36
+ const normalized = this.normalize(endpoint);
37
+ if (!normalized || this.probedEndpoints.has(normalized))
38
+ return;
39
+ const client = this.getForEndpoint(endpoint);
40
+ if (typeof client.probeConnection === 'function') {
41
+ try {
42
+ await client.probeConnection();
43
+ }
44
+ catch {
45
+ // best-effort
46
+ }
47
+ this.probedEndpoints.add(normalized);
48
+ }
49
+ }
50
+ /** Attach capture hook to the primary client. */
51
+ attachToPrimary() {
52
+ this.attachCaptureHook(this.primary);
53
+ }
54
+ /** Clear all cached clients and probed endpoints (e.g. on endpoint change). */
55
+ reset() {
56
+ this.routedClients.clear();
57
+ this.probedEndpoints.clear();
58
+ }
59
+ /** Mark an endpoint as already probed. */
60
+ markProbed(endpoint) {
61
+ this.probedEndpoints.add(this.normalize(endpoint));
62
+ }
63
+ /** Check if an endpoint has been probed. */
64
+ isProbed(endpoint) {
65
+ return this.probedEndpoints.has(this.normalize(endpoint));
66
+ }
67
+ /** Update the primary client reference (e.g. after setEndpoint). */
68
+ setPrimary(client) {
69
+ this.primary = client;
70
+ }
71
+ /** Close all routed clients. */
72
+ async closeAll() {
73
+ for (const c of this.routedClients.values()) {
74
+ if (typeof c.close === 'function') {
75
+ try {
76
+ await c.close();
77
+ }
78
+ catch { /* ignore */ }
79
+ }
80
+ }
81
+ this.routedClients.clear();
82
+ this.probedEndpoints.clear();
83
+ }
84
+ normalize(endpoint) {
85
+ return endpoint.trim().replace(/\/+$/, '');
86
+ }
87
+ applyRuntimeOptions(target) {
88
+ if (typeof target.setVerbose === 'function') {
89
+ target.setVerbose(this.cfg.verbose);
90
+ }
91
+ if (typeof this.cfg.response_timeout === 'number' && this.cfg.response_timeout > 0) {
92
+ target.setResponseTimeout(this.cfg.response_timeout);
93
+ }
94
+ if (typeof target.setConnectionTimeout === 'function' &&
95
+ typeof this.cfg.connection_timeout === 'number' &&
96
+ this.cfg.connection_timeout > 0) {
97
+ target.setConnectionTimeout(this.cfg.connection_timeout);
98
+ }
99
+ if (typeof target.setInitialConnectionCheck === 'function' &&
100
+ typeof this.cfg.initial_connection_check === 'boolean') {
101
+ target.setInitialConnectionCheck(this.cfg.initial_connection_check);
102
+ }
103
+ if (typeof target.setInitialConnectionProbeTimeout === 'function' &&
104
+ typeof this.cfg.initial_connection_timeout === 'number' &&
105
+ this.cfg.initial_connection_timeout > 0) {
106
+ target.setInitialConnectionProbeTimeout(this.cfg.initial_connection_timeout);
107
+ }
108
+ }
109
+ attachCaptureHook(target) {
110
+ if (typeof target.setExchangeHook !== 'function')
111
+ return;
112
+ target.setExchangeHook(this.capture.createExchangeHook());
113
+ }
114
+ }
115
+ //# sourceMappingURL=client-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-pool.js","sourceRoot":"","sources":["../../src/agent/client-pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * ConversationBranch — Lightweight conversation checkpointing and rollback.
3
+ *
4
+ * Snapshots the messages array at each user turn boundary, allowing
5
+ * `/rollback` to restore the conversation to a previous state.
6
+ */
7
+ export class ConversationBranch {
8
+ checkpoints = [];
9
+ maxCheckpoints;
10
+ constructor(maxCheckpoints = 20) {
11
+ this.maxCheckpoints = maxCheckpoints;
12
+ }
13
+ /**
14
+ * Save a checkpoint before a new user turn starts.
15
+ * Call this at the beginning of `ask()`, before the user message is appended.
16
+ */
17
+ checkpoint(messageCount, instructionPreview) {
18
+ this.checkpoints.push({
19
+ messageCount,
20
+ createdAt: Date.now(),
21
+ preview: instructionPreview.slice(0, 100),
22
+ });
23
+ // Keep bounded
24
+ if (this.checkpoints.length > this.maxCheckpoints) {
25
+ this.checkpoints.shift();
26
+ }
27
+ }
28
+ /**
29
+ * Pop the most recent checkpoint and return the target message count.
30
+ * Returns null if no checkpoints exist.
31
+ */
32
+ rollback() {
33
+ return this.checkpoints.pop() ?? null;
34
+ }
35
+ /**
36
+ * List available checkpoints (most recent first).
37
+ */
38
+ list() {
39
+ return [...this.checkpoints].reverse();
40
+ }
41
+ /** Number of available rollback points. */
42
+ get depth() {
43
+ return this.checkpoints.length;
44
+ }
45
+ /** Clear all checkpoints (e.g. on session reset). */
46
+ reset() {
47
+ this.checkpoints = [];
48
+ }
49
+ }
50
+ //# sourceMappingURL=conversation-branch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-branch.js","sourceRoot":"","sources":["../../src/agent/conversation-branch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,OAAO,kBAAkB;IACrB,WAAW,GAAiB,EAAE,CAAC;IACtB,cAAc,CAAS;IAExC,YAAY,cAAc,GAAG,EAAE;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,YAAoB,EAAE,kBAA0B;QACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SAC1C,CAAC,CAAC;QAEH,eAAe;QACf,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAED,2CAA2C;IAC3C,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,qDAAqD;IACrD,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -13,6 +13,14 @@ const int = (min, max) => ({
13
13
  ...(max !== undefined && { maximum: max }),
14
14
  });
15
15
  const SCHEMA_CACHE = new Map();
16
+ /**
17
+ * Tools that are read-only / lightweight — kept in the fast-lane slim schema.
18
+ * Everything else (write, edit, patch, insert, undo, spawn) is omitted.
19
+ */
20
+ const FAST_LANE_TOOLS = new Set([
21
+ 'read_file', 'read_files', 'list_dir', 'search_files', 'exec',
22
+ 'vault_search',
23
+ ]);
16
24
  function cacheKey(opts) {
17
25
  return [
18
26
  opts?.activeVaultTools ? 'a1' : 'a0',
@@ -20,6 +28,7 @@ function cacheKey(opts) {
20
28
  opts?.sysMode ? 's1' : 's0',
21
29
  opts?.lspTools ? 'l1' : 'l0',
22
30
  opts?.allowSpawnTask === false ? 'sp0' : 'sp1',
31
+ opts?.slimFast ? 'sf1' : 'sf0',
23
32
  ].join('|');
24
33
  }
25
34
  export function buildToolsSchema(opts) {
@@ -78,7 +87,7 @@ export function buildToolsSchema(opts) {
78
87
  type: 'function',
79
88
  function: {
80
89
  name: 'write_file',
81
- description: 'Write file (atomic, backup). Existing non-empty files require overwrite=true (or force=true).',
90
+ description: 'Write file (atomic, backup). Prefer edit_range/apply_patch for edits to existing files; use write_file mainly for new files or intentional full rewrites. Existing non-empty files require overwrite=true (or force=true).',
82
91
  parameters: obj({ path: str(), content: str(), overwrite: bool(), force: bool() }, [
83
92
  'path',
84
93
  'content',
@@ -273,9 +282,13 @@ export function buildToolsSchema(opts) {
273
282
  if (opts?.mcpTools?.length) {
274
283
  schemas.push(...opts.mcpTools);
275
284
  }
285
+ // Fast-lane slim: keep only read-only / lightweight tools to reduce token overhead.
286
+ const final = opts?.slimFast
287
+ ? schemas.filter((t) => FAST_LANE_TOOLS.has(t.function.name))
288
+ : schemas;
276
289
  if (canUseCache) {
277
- SCHEMA_CACHE.set(key, schemas);
290
+ SCHEMA_CACHE.set(key, final);
278
291
  }
279
- return schemas;
292
+ return final;
280
293
  }
281
294
  //# sourceMappingURL=tools-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools-schema.js","sourceRoot":"","sources":["../../src/agent/tools-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools-schema.js","sourceRoot":"","sources":["../../src/agent/tools-schema.ts"],"names":[],"mappings":"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"}