scoutline 0.2.0 → 0.6.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.
Files changed (110) hide show
  1. package/README.md +240 -18
  2. package/dist/capabilities/diagnostics.d.ts +70 -32
  3. package/dist/capabilities/diagnostics.d.ts.map +1 -1
  4. package/dist/capabilities/diagnostics.js +97 -46
  5. package/dist/capabilities/diagnostics.js.map +1 -1
  6. package/dist/capabilities/reader.d.ts +227 -0
  7. package/dist/capabilities/reader.d.ts.map +1 -0
  8. package/dist/capabilities/reader.js +100 -0
  9. package/dist/capabilities/reader.js.map +1 -0
  10. package/dist/capabilities/repository.d.ts +221 -0
  11. package/dist/capabilities/repository.d.ts.map +1 -0
  12. package/dist/capabilities/repository.js +172 -0
  13. package/dist/capabilities/repository.js.map +1 -0
  14. package/dist/commands/cache.d.ts +106 -0
  15. package/dist/commands/cache.d.ts.map +1 -0
  16. package/dist/commands/cache.js +203 -0
  17. package/dist/commands/cache.js.map +1 -0
  18. package/dist/commands/doctor.d.ts +17 -6
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +42 -17
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/commands/read.d.ts +74 -14
  23. package/dist/commands/read.d.ts.map +1 -1
  24. package/dist/commands/read.js +257 -117
  25. package/dist/commands/read.js.map +1 -1
  26. package/dist/commands/repo.d.ts +53 -7
  27. package/dist/commands/repo.d.ts.map +1 -1
  28. package/dist/commands/repo.js +104 -123
  29. package/dist/commands/repo.js.map +1 -1
  30. package/dist/commands/repository-explorer.d.ts +147 -0
  31. package/dist/commands/repository-explorer.d.ts.map +1 -0
  32. package/dist/commands/repository-explorer.js +550 -0
  33. package/dist/commands/repository-explorer.js.map +1 -0
  34. package/dist/index.d.ts +20 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +209 -34
  37. package/dist/index.js.map +1 -1
  38. package/dist/lib/cache.d.ts +123 -18
  39. package/dist/lib/cache.d.ts.map +1 -1
  40. package/dist/lib/cache.js +324 -49
  41. package/dist/lib/cache.js.map +1 -1
  42. package/dist/lib/errors.d.ts +24 -1
  43. package/dist/lib/errors.d.ts.map +1 -1
  44. package/dist/lib/errors.js +33 -2
  45. package/dist/lib/errors.js.map +1 -1
  46. package/dist/lib/execution.d.ts +119 -5
  47. package/dist/lib/execution.d.ts.map +1 -1
  48. package/dist/lib/execution.js +216 -10
  49. package/dist/lib/execution.js.map +1 -1
  50. package/dist/lib/index.d.ts +1 -1
  51. package/dist/lib/index.d.ts.map +1 -1
  52. package/dist/lib/index.js +1 -1
  53. package/dist/lib/index.js.map +1 -1
  54. package/dist/lib/mcp-client.d.ts +29 -5
  55. package/dist/lib/mcp-client.d.ts.map +1 -1
  56. package/dist/lib/mcp-client.js +88 -88
  57. package/dist/lib/mcp-client.js.map +1 -1
  58. package/dist/lib/tool-cache.d.ts +86 -0
  59. package/dist/lib/tool-cache.d.ts.map +1 -0
  60. package/dist/lib/tool-cache.js +123 -0
  61. package/dist/lib/tool-cache.js.map +1 -0
  62. package/dist/providers/minimax/adapter.d.ts +6 -4
  63. package/dist/providers/minimax/adapter.d.ts.map +1 -1
  64. package/dist/providers/minimax/adapter.js +64 -57
  65. package/dist/providers/minimax/adapter.js.map +1 -1
  66. package/dist/providers/minimax/coding-plan-client.d.ts +60 -0
  67. package/dist/providers/minimax/coding-plan-client.d.ts.map +1 -0
  68. package/dist/providers/minimax/coding-plan-client.js +204 -0
  69. package/dist/providers/minimax/coding-plan-client.js.map +1 -0
  70. package/dist/providers/minimax/media.d.ts +60 -6
  71. package/dist/providers/minimax/media.d.ts.map +1 -1
  72. package/dist/providers/minimax/media.js +147 -7
  73. package/dist/providers/minimax/media.js.map +1 -1
  74. package/dist/providers/minimax/quota-client.d.ts +13 -6
  75. package/dist/providers/minimax/quota-client.d.ts.map +1 -1
  76. package/dist/providers/minimax/quota-client.js +5 -0
  77. package/dist/providers/minimax/quota-client.js.map +1 -1
  78. package/dist/providers/minimax/vision-attestations.d.ts +23 -0
  79. package/dist/providers/minimax/vision-attestations.d.ts.map +1 -1
  80. package/dist/providers/minimax/vision-attestations.js +35 -10
  81. package/dist/providers/minimax/vision-attestations.js.map +1 -1
  82. package/dist/providers/minimax/vision-conformance.d.ts +8 -6
  83. package/dist/providers/minimax/vision-conformance.d.ts.map +1 -1
  84. package/dist/providers/minimax/vision-conformance.js +8 -6
  85. package/dist/providers/minimax/vision-conformance.js.map +1 -1
  86. package/dist/providers/minimax/vision-revisions.d.ts +8 -1
  87. package/dist/providers/minimax/vision-revisions.d.ts.map +1 -1
  88. package/dist/providers/minimax/vision-revisions.js +13 -6
  89. package/dist/providers/minimax/vision-revisions.js.map +1 -1
  90. package/dist/providers/selection.d.ts +3 -3
  91. package/dist/providers/selection.js +3 -3
  92. package/dist/providers/types.d.ts +66 -32
  93. package/dist/providers/types.d.ts.map +1 -1
  94. package/dist/providers/types.js.map +1 -1
  95. package/dist/providers/zai/adapter.d.ts.map +1 -1
  96. package/dist/providers/zai/adapter.js +71 -5
  97. package/dist/providers/zai/adapter.js.map +1 -1
  98. package/dist/providers/zai/encoded-error.d.ts +90 -0
  99. package/dist/providers/zai/encoded-error.d.ts.map +1 -0
  100. package/dist/providers/zai/encoded-error.js +169 -0
  101. package/dist/providers/zai/encoded-error.js.map +1 -0
  102. package/dist/providers/zai/reader.d.ts +82 -0
  103. package/dist/providers/zai/reader.d.ts.map +1 -0
  104. package/dist/providers/zai/reader.js +490 -0
  105. package/dist/providers/zai/reader.js.map +1 -0
  106. package/dist/providers/zai/repository.d.ts +76 -0
  107. package/dist/providers/zai/repository.d.ts.map +1 -0
  108. package/dist/providers/zai/repository.js +715 -0
  109. package/dist/providers/zai/repository.js.map +1 -0
  110. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAYxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAU5F;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAO3F;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,SAAiB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAczF;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvE;AAgCD,wBAAsB,UAAU,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBnF;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC,CA0BD;AAMD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAsBD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAI1E;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAOlC,CAAC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"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"}
package/dist/lib/cache.js CHANGED
@@ -1,52 +1,137 @@
1
1
  /**
2
- * Local response cache for Z.AI API responses.
2
+ * Unified cache storage module.
3
3
  *
4
- * Stores the RAW response from Z.AI (before any post-processing like
5
- * truncation, format conversion, or extraction) keyed by a hash of the
6
- * command + request-affecting arguments. Post-processing flags like
7
- * --max-chars, --output-format, --extract are NOT part of the cache key,
8
- * so the same cached response can serve multiple presentation variants.
4
+ * Two sibling on-disk caches live under one root (`~/.scoutline/` by
5
+ * default; overridable via `SCOUTLINE_CACHE_DIR`):
9
6
  *
10
- * Default TTL: 24h. Default size cap: 100MB. LRU eviction when full.
11
- * Disable per-call with --no-cache.
7
+ * ```text
8
+ * ~/.scoutline/
9
+ * ├── cache/ response cache entries (Provider responses)
10
+ * └── tools/ tool discovery cache (consumed by mcp-client.ts)
11
+ * ```
12
+ *
13
+ * The response cache stores the RAW response from a Provider (before any
14
+ * post-processing like truncation, format conversion, or extraction)
15
+ * keyed by a hash of the command + request-affecting arguments.
16
+ * Post-processing flags like --max-chars, --output-format, --extract are
17
+ * NOT part of the cache key, so the same cached response can serve
18
+ * multiple presentation variants.
19
+ *
20
+ * Defaults: 24h TTL, 100MB size cap, LRU eviction when full. Disable
21
+ * per-call with --no-cache, or globally with `SCOUTLINE_CACHE=0`.
22
+ *
23
+ * Env-var policy: `SCOUTLINE_CACHE*` are the canonical names. The legacy
24
+ * `ZAI_CACHE*`, `ZAI_MCP_TOOL_CACHE*`, and `ZAI_MCP_CACHE_DIR` variables
25
+ * are accepted as lower-precedence aliases (silent aliasing — no
26
+ * deprecation notice in this release). All reads are call-time (H1 fix)
27
+ * so per-suite env mutations remain observable.
12
28
  *
13
29
  * P2-02 extends this module with provider-partitioned keys
14
30
  * (`buildProviderCacheKey`) and a `ResponseCache` adapter that lets
15
31
  * shared execution read and write through the same on-disk store without
16
- * duplicating TTL or eviction logic. Existing exports and directory
17
- * resolution are unchanged.
32
+ * duplicating TTL or eviction logic.
18
33
  */
19
34
  import crypto from "node:crypto";
20
35
  import * as fs from "node:fs/promises";
21
36
  import os from "node:os";
22
37
  import path from "node:path";
23
38
  import { getApiKey } from "./config.js";
24
- const DEFAULT_TTL_MS = parseInt(process.env.ZAI_CACHE_TTL_MS || "", 10) || 24 * 60 * 60 * 1000;
25
- const DEFAULT_SIZE_CAP_BYTES = parseInt(process.env.ZAI_CACHE_SIZE_MB || "", 10) * 1024 * 1024 || 100 * 1024 * 1024;
26
- const CACHE_ENABLED = !["0", "false"].includes((process.env.ZAI_CACHE || "1").toLowerCase());
27
39
  /**
28
- * Pure cache-directory resolver. Accepts environment and platform explicitly
40
+ * Pure cache-ROOT resolver. Accepts environment and platform explicitly
29
41
  * so tests can assert path resolution without touching process globals.
30
- * The process-backed {@link resolveCacheDir} wraps this with live state.
31
- */
32
- export function resolveCacheDirPure(env, plat) {
33
- if (env.ZAI_CACHE_DIR)
34
- return env.ZAI_CACHE_DIR;
35
- if (env.XDG_CACHE_HOME) {
36
- // Retain the adapter cache location until provider configuration is generalized.
37
- return path.join(env.XDG_CACHE_HOME, "zai-cli", "responses");
38
- }
39
- if (plat.platform === "darwin") {
40
- return path.join(plat.homedir, "Library", "Caches", "zai-cli", "responses");
41
- }
42
- return path.join(plat.homedir, ".cache", "zai-cli", "responses");
42
+ * Returns the root directory (`~/.scoutline/`); each cache appends its
43
+ * own subdirectory (`cache/` or `tools/`). Precedence:
44
+ * 1. `SCOUTLINE_CACHE_DIR` (canonical)
45
+ * 2. `ZAI_MCP_CACHE_DIR` (legacy tool-cache override; B3 fix)
46
+ * 3. `ZAI_CACHE_DIR` (legacy response-cache override)
47
+ * 4. `path.join(homedir, ".scoutline")` (dotfile default, all platforms)
48
+ *
49
+ * The process-backed {@link resolveCacheRoot} wraps this with live state.
50
+ */
51
+ export function resolveCacheRootPure(env, plat) {
52
+ const explicit = env.SCOUTLINE_CACHE_DIR ?? env.ZAI_MCP_CACHE_DIR ?? env.ZAI_CACHE_DIR;
53
+ if (explicit)
54
+ return explicit;
55
+ return path.join(plat.homedir, ".scoutline");
43
56
  }
44
- function resolveCacheDir() {
45
- return resolveCacheDirPure({
57
+ function resolveCacheRoot() {
58
+ return resolveCacheRootPure({
59
+ SCOUTLINE_CACHE_DIR: process.env.SCOUTLINE_CACHE_DIR,
60
+ ZAI_MCP_CACHE_DIR: process.env.ZAI_MCP_CACHE_DIR,
46
61
  ZAI_CACHE_DIR: process.env.ZAI_CACHE_DIR,
47
- XDG_CACHE_HOME: process.env.XDG_CACHE_HOME,
48
62
  }, { platform: process.platform, homedir: os.homedir() });
49
63
  }
64
+ /**
65
+ * Internal directory for response-cache entries. Always a `cache/`
66
+ * subdirectory under the unified root.
67
+ */
68
+ function responseCacheDir() {
69
+ return path.join(resolveCacheRoot(), "cache");
70
+ }
71
+ /**
72
+ * Directory for the tool-discovery cache (consumed by mcp-client.ts).
73
+ * Always a `tools/` subdirectory under the unified root, sibling of
74
+ * {@link responseCacheDir}. Scanned by `cacheStats()` and cleared by
75
+ * `clearAllCaches()`, but never touched by the response cache's LRU
76
+ * eviction loop.
77
+ */
78
+ export function toolCacheDir() {
79
+ return path.join(resolveCacheRoot(), "tools");
80
+ }
81
+ // ---------------------------------------------------------------------------
82
+ // Call-time env reads (H1 fix: preserves the existing test contract)
83
+ // ---------------------------------------------------------------------------
84
+ /**
85
+ * Read a cache env var with aliasing. The canonical `newName` wins; each
86
+ * `oldName` is consulted in order. Returns the first defined value or
87
+ * `undefined`.
88
+ */
89
+ function readCacheEnv(newName, ...oldNames) {
90
+ if (process.env[newName])
91
+ return process.env[newName];
92
+ for (const old of oldNames) {
93
+ if (process.env[old])
94
+ return process.env[old];
95
+ }
96
+ return undefined;
97
+ }
98
+ /**
99
+ * Call-time cache-enabled check for the RESPONSE cache (H1 fix). Honours
100
+ * `SCOUTLINE_CACHE` (canonical) with `ZAI_CACHE` as a legacy alias. Read
101
+ * on every cache operation so per-suite env mutations in tests remain
102
+ * observable.
103
+ *
104
+ * Note: the legacy `ZAI_MCP_TOOL_CACHE` env var is intentionally NOT
105
+ * consulted here. In v0.4.0 the tool cache's enable flag was independent
106
+ * of the response cache's; mcp-client.ts still reads
107
+ * `ZAI_MCP_TOOL_CACHE` directly for its own tool-cache enable check.
108
+ * Aliasing it here would silently disable the response cache whenever a
109
+ * user disabled the tool cache, which would break the four
110
+ * `mcp-client.test.js` suites that set `ZAI_MCP_TOOL_CACHE=0` while
111
+ * relying on response-cache hits. Unifying this granularity is deferred
112
+ * to a future release (see tech-plan "what this plan does not decide").
113
+ */
114
+ export function isCacheEnabled() {
115
+ const v = readCacheEnv("SCOUTLINE_CACHE", "ZAI_CACHE");
116
+ return !["0", "false"].includes((v ?? "1").toLowerCase());
117
+ }
118
+ /** Call-time TTL (ms) for the response cache. Default 24h. */
119
+ export function getCacheTtlMs() {
120
+ // ZAI_MCP_TOOL_CACHE_TTL_MS is intentionally not aliased here — the
121
+ // tool cache (mcp-client.ts) reads its own TTL directly. Aliasing it
122
+ // would silently change response-cache TTL when a user set only the
123
+ // tool-cache TTL, mirroring the granularity decision in isCacheEnabled.
124
+ const v = readCacheEnv("SCOUTLINE_CACHE_TTL_MS", "ZAI_CACHE_TTL_MS");
125
+ return parseInt(v ?? "", 10) || 24 * 60 * 60 * 1000;
126
+ }
127
+ /** Call-time response-cache size cap (bytes). Default 100MB. */
128
+ export function getCacheSizeCapBytes() {
129
+ const v = readCacheEnv("SCOUTLINE_CACHE_SIZE_MB", "ZAI_CACHE_SIZE_MB");
130
+ return parseInt(v ?? "", 10) * 1024 * 1024 || 100 * 1024 * 1024;
131
+ }
132
+ // ---------------------------------------------------------------------------
133
+ // Cache key builders
134
+ // ---------------------------------------------------------------------------
50
135
  /**
51
136
  * Build a stable cache key from command + request-affecting args.
52
137
  * Post-processing flags (maxChars, outputFormat, extract, fullEnvelope)
@@ -60,13 +145,134 @@ export function buildCacheKey(command, requestArgs) {
60
145
  const argsHash = crypto.createHash("sha256").update(payload).digest("hex").slice(0, 24);
61
146
  return `${command}.${keyHash}.${argsHash}.json`;
62
147
  }
63
- export function isCacheEnabled() {
64
- return CACHE_ENABLED;
148
+ // ---------------------------------------------------------------------------
149
+ // P6-02 — Pure legacy repository cache key builder (DESIGN.md §18)
150
+ //
151
+ // The Repository Capability supplies its own cache identity through
152
+ // `buildProviderCacheKey`. The legacy Z.AI v0.2 keys produced by
153
+ // `buildCacheKey` are read-through candidates — they were the production
154
+ // path until P6 ships. The Z.AI Adapter reconstructs those legacy
155
+ // filenames exactly so a v0.2 cache entry remains valid as a miss-free
156
+ // read-through source.
157
+ //
158
+ // This helper:
159
+ // - is PURE (no `process.env` reads, no `getApiKey` calls);
160
+ // - accepts the resolved `apiKey`, `publicToolName`, and
161
+ // insertion-ordered `args` explicitly;
162
+ // - reproduces the v0.2 algorithm byte-for-byte;
163
+ // - is a SEPARATE symbol from `buildCacheKey` and does NOT call or
164
+ // wrap it.
165
+ //
166
+ // Algorithm (DESIGN.md §18):
167
+ // credentialPart = sha256(apiKey).hex.slice(0, 12)
168
+ // argumentPart = sha256(JSON.stringify({ command: publicToolName,
169
+ // args })).hex.slice(0, 24)
170
+ // key = `${publicToolName}.${credentialPart}.${argumentPart}.json`
171
+ //
172
+ // Legacy argument insertion order is fixed per operation (DESIGN.md §18):
173
+ // - Search: args = { repo_name, query, language }
174
+ // - File: args = { repo_name, file_path }
175
+ // - Directory: args = { repo_name } (root)
176
+ // - Directory: args = { repo_name, dir_path } (non-root)
177
+ //
178
+ // The Adapter passes `args` in the documented order; this helper does
179
+ // not reorder, normalize, or sort keys.
180
+ // ---------------------------------------------------------------------------
181
+ /**
182
+ * Build the exact v0.2 legacy repository cache key. Pure: the caller
183
+ * MUST supply the already-resolved credential. The function never reads
184
+ * `process.env` and never calls `getApiKey`. `args` is serialized in
185
+ * its insertion order via `JSON.stringify`.
186
+ *
187
+ * The result never contains the raw credential — only the first 12 hex
188
+ * chars of `sha256(apiKey)`.
189
+ */
190
+ export function buildLegacyRepositoryCacheKey(apiKey, publicToolName, args) {
191
+ // SHA-256(apiKey) → first 12 hex chars.
192
+ const credentialPart = crypto.createHash("sha256").update(apiKey).digest("hex").slice(0, 12);
193
+ // SHA-256(JSON.stringify({command,args})) → first 24 hex chars.
194
+ const argumentPayload = JSON.stringify({ command: publicToolName, args });
195
+ const argumentPart = crypto
196
+ .createHash("sha256")
197
+ .update(argumentPayload)
198
+ .digest("hex")
199
+ .slice(0, 24);
200
+ return `${publicToolName}.${credentialPart}.${argumentPart}.json`;
201
+ }
202
+ // ---------------------------------------------------------------------------
203
+ // Reader Migration Ticket 01 — Pure legacy reader cache key builder.
204
+ //
205
+ // The Reader Capability (P-reader-01 onwards) supplies its own cache
206
+ // identity through `buildProviderCacheKey`. The legacy Z.AI v0.2 read
207
+ // cache keys produced by `buildCacheKey` are read-through candidates —
208
+ // they were the production path for `scoutline read` until the Reader
209
+ // migration ships. The Z.AI Reader Adapter (Ticket 03) reconstructs
210
+ // those legacy filenames exactly so a v0.2 cache entry remains valid as
211
+ // a miss-free read-through source.
212
+ //
213
+ // This helper:
214
+ // - is PURE (no `process.env` reads, no `getApiKey` calls);
215
+ // - accepts the resolved `apiKey`, `publicToolName`, and
216
+ // insertion-ordered `args` explicitly;
217
+ // - reproduces the v0.2 algorithm byte-for-byte;
218
+ // - is a SEPARATE symbol from `buildCacheKey` and does NOT call or
219
+ // wrap it.
220
+ //
221
+ // Algorithm (mirrors `buildLegacyRepositoryCacheKey` exactly):
222
+ // credentialPart = sha256(apiKey).hex.slice(0, 12)
223
+ // argumentPart = sha256(JSON.stringify({ command: publicToolName,
224
+ // args })).hex.slice(0, 24)
225
+ // key = `${publicToolName}.${credentialPart}.${argumentPart}.json`
226
+ //
227
+ // Legacy argument insertion order is fixed by the v0.2 `webRead`
228
+ // implementation (audited: src/lib/mcp-client.ts lines 619–647):
229
+ // 1. url (always)
230
+ // 2. timeout (optional, only if params.timeout !== undefined)
231
+ // 3. no_cache (optional, only if params.noCache !== undefined)
232
+ // 4. return_format (optional, only if params.format is truthy)
233
+ // 5. retain_images (optional)
234
+ // 6. with_links_summary (optional)
235
+ // 7. no_gfm (optional)
236
+ // 8. keep_img_data_url (optional)
237
+ // 9. with_images_summary (optional)
238
+ //
239
+ // The Adapter passes `args` in the documented order; this helper does
240
+ // not reorder, normalize, or sort keys. `no_cache` IS part of the legacy
241
+ // cache key — the v0.2 args object reaches `buildCacheKey` before the
242
+ // no-cache directive is consulted. The helper preserves this quirk so
243
+ // legacy entries remain reconstructible.
244
+ // ---------------------------------------------------------------------------
245
+ /**
246
+ * Build the exact v0.2 legacy reader cache key. Pure: the caller MUST
247
+ * supply the already-resolved credential. The function never reads
248
+ * `process.env` and never calls `getApiKey`. `args` is serialized in
249
+ * its insertion order via `JSON.stringify`.
250
+ *
251
+ * The result never contains the raw credential — only the first 12 hex
252
+ * chars of `sha256(apiKey)`.
253
+ */
254
+ export function buildLegacyReaderCacheKey(apiKey, publicToolName, args) {
255
+ // SHA-256(apiKey) → first 12 hex chars.
256
+ const credentialPart = crypto.createHash("sha256").update(apiKey).digest("hex").slice(0, 12);
257
+ // SHA-256(JSON.stringify({command,args})) → first 24 hex chars.
258
+ const argumentPayload = JSON.stringify({ command: publicToolName, args });
259
+ const argumentPart = crypto
260
+ .createHash("sha256")
261
+ .update(argumentPayload)
262
+ .digest("hex")
263
+ .slice(0, 24);
264
+ return `${publicToolName}.${credentialPart}.${argumentPart}.json`;
65
265
  }
66
- export async function readCache(key, ttlMs = DEFAULT_TTL_MS) {
67
- if (!CACHE_ENABLED || ttlMs <= 0)
266
+ // ---------------------------------------------------------------------------
267
+ // Response cache I/O (writes land under <root>/cache/)
268
+ // ---------------------------------------------------------------------------
269
+ export async function readCache(key, ttlMs = getCacheTtlMs()) {
270
+ // H1 fix: call-time enabled check so per-suite env mutations are
271
+ // observed. Module-load capture would silently freeze this to whatever
272
+ // the env was at first import.
273
+ if (!isCacheEnabled() || ttlMs <= 0)
68
274
  return null;
69
- const file = path.join(resolveCacheDir(), key);
275
+ const file = path.join(responseCacheDir(), key);
70
276
  try {
71
277
  const raw = await fs.readFile(file, "utf8");
72
278
  const entry = JSON.parse(raw);
@@ -83,9 +289,10 @@ export async function readCache(key, ttlMs = DEFAULT_TTL_MS) {
83
289
  }
84
290
  }
85
291
  export async function writeCache(key, data) {
86
- if (!CACHE_ENABLED)
292
+ // H1 fix: call-time enabled check.
293
+ if (!isCacheEnabled())
87
294
  return;
88
- const dir = resolveCacheDir();
295
+ const dir = responseCacheDir();
89
296
  const file = path.join(dir, key);
90
297
  try {
91
298
  await fs.mkdir(dir, { recursive: true });
@@ -112,13 +319,14 @@ async function evictIfNeeded(dir) {
112
319
  }));
113
320
  const valid = stats.filter((s) => s !== null);
114
321
  const totalBytes = valid.reduce((sum, e) => sum + e.size, 0);
115
- if (totalBytes <= DEFAULT_SIZE_CAP_BYTES)
322
+ const sizeCapBytes = getCacheSizeCapBytes();
323
+ if (totalBytes <= sizeCapBytes)
116
324
  return;
117
325
  // Evict oldest until under cap
118
326
  const sorted = valid.sort((a, b) => a.mtimeMs - b.mtimeMs);
119
327
  let bytes = totalBytes;
120
328
  for (const entry of sorted) {
121
- if (bytes <= DEFAULT_SIZE_CAP_BYTES * 0.8)
329
+ if (bytes <= sizeCapBytes * 0.8)
122
330
  break;
123
331
  await fs.unlink(path.join(dir, entry.name)).catch(() => { });
124
332
  bytes -= entry.size;
@@ -128,8 +336,44 @@ async function evictIfNeeded(dir) {
128
336
  // Best-effort
129
337
  }
130
338
  }
339
+ // ---------------------------------------------------------------------------
340
+ // Clear + stats — extended to cover both subdirectories (H3 fix)
341
+ // ---------------------------------------------------------------------------
342
+ /**
343
+ * Clear the response cache only. Kept for backward compatibility; new
344
+ * callers should prefer {@link clearAllCaches} which covers both the
345
+ * `cache/` and `tools/` subdirectories.
346
+ */
131
347
  export async function clearCache() {
132
- const dir = resolveCacheDir();
348
+ const dir = responseCacheDir();
349
+ let cleared = 0;
350
+ let bytesFreed = 0;
351
+ try {
352
+ const entries = await fs.readdir(dir);
353
+ for (const name of entries) {
354
+ const p = path.join(dir, name);
355
+ try {
356
+ const s = await fs.stat(p);
357
+ await fs.unlink(p);
358
+ cleared += 1;
359
+ bytesFreed += s.size;
360
+ }
361
+ catch {
362
+ // skip
363
+ }
364
+ }
365
+ }
366
+ catch {
367
+ // dir doesn't exist
368
+ }
369
+ return { cleared, bytesFreed };
370
+ }
371
+ /**
372
+ * Internal: clear a single subdirectory. Returns the count and bytes
373
+ * freed. Does NOT remove the directory itself (next invocation recreates
374
+ * entries without a directory-creation race).
375
+ */
376
+ async function clearSubdir(dir) {
133
377
  let cleared = 0;
134
378
  let bytesFreed = 0;
135
379
  try {
@@ -152,8 +396,46 @@ export async function clearCache() {
152
396
  }
153
397
  return { cleared, bytesFreed };
154
398
  }
399
+ /**
400
+ * Clear both the `cache/` (responses) and `tools/` (tool discovery)
401
+ * subdirectories. Directories themselves are preserved. Existing
402
+ * {@link clearCache} callers continue to clear `cache/` only.
403
+ */
404
+ export async function clearAllCaches() {
405
+ const [responses, tools] = await Promise.all([
406
+ clearSubdir(responseCacheDir()),
407
+ clearSubdir(toolCacheDir()),
408
+ ]);
409
+ return {
410
+ responsesCleared: responses.cleared,
411
+ toolsCleared: tools.cleared,
412
+ bytesFreed: responses.bytesFreed + tools.bytesFreed,
413
+ };
414
+ }
415
+ /**
416
+ * Inventory both caches. The shape extends the v0.4.0 flat shape with
417
+ * nested `responseCache` and `toolCache` sections (H3 fix). The
418
+ * top-level `entries` and `totalBytes` fields are removed — callers
419
+ * must read from the nested sections.
420
+ */
155
421
  export async function cacheStats() {
156
- const dir = resolveCacheDir();
422
+ const dir = resolveCacheRoot();
423
+ const responseDir = responseCacheDir();
424
+ const toolDir = toolCacheDir();
425
+ const [responseStats, toolStats] = await Promise.all([
426
+ inventorySubdir(responseDir),
427
+ inventorySubdir(toolDir),
428
+ ]);
429
+ return {
430
+ dir,
431
+ enabled: isCacheEnabled(),
432
+ ttlMs: getCacheTtlMs(),
433
+ sizeCapBytes: getCacheSizeCapBytes(),
434
+ responseCache: responseStats,
435
+ toolCache: toolStats,
436
+ };
437
+ }
438
+ async function inventorySubdir(dir) {
157
439
  let entries = 0;
158
440
  let totalBytes = 0;
159
441
  try {
@@ -172,14 +454,7 @@ export async function cacheStats() {
172
454
  catch {
173
455
  // dir doesn't exist yet
174
456
  }
175
- return {
176
- entries,
177
- totalBytes,
178
- dir,
179
- ttlMs: DEFAULT_TTL_MS,
180
- sizeCapBytes: DEFAULT_SIZE_CAP_BYTES,
181
- enabled: CACHE_ENABLED,
182
- };
457
+ return { entries, totalBytes };
183
458
  }
184
459
  /**
185
460
  * Recursively sort object keys so `JSON.stringify` produces a stable
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/F,MAAM,sBAAsB,GAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACvF,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAiB7F;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAwB,EAAE,IAAsB;IAClF,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,GAAG,CAAC,aAAa,CAAC;IAChD,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,iFAAiF;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,mBAAmB,CACxB;QACE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACxC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;KAC3C,EACD,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CACtD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,WAAoC;IACjF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,4DAA4D;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,QAAQ,OAAO,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,GAAW,EAAE,KAAK,GAAG,cAAc;IACpE,IAAI,CAAC,aAAa,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;QAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACxD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK;YAAE,OAAO,IAAI,CAAC;QAC/C,iDAAiD;QACjD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAI,GAAW,EAAE,IAAO;IACtD,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAkB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;QACtD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC/B,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,UAAU,IAAI,sBAAsB;YAAE,OAAO;QACjD,+BAA+B;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,KAAK,GAAG,UAAU,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,IAAI,sBAAsB,GAAG,GAAG;gBAAE,MAAM;YACjD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5D,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,CAAC;gBACb,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAQ9B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC,CAAC;gBACb,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO;QACL,OAAO;QACP,UAAU;QACV,GAAG;QACH,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,sBAAsB;QACpC,OAAO,EAAE,aAAa;KACvB,CAAC;AACJ,CAAC;AA+BD;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA4B;IAChE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7F,OAAO,MAAM,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,qBAAqB,IAAI,WAAW,OAAO,CAAC;AACvG,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,GAAG,CAAI,GAAW;QAChB,OAAO,SAAS,CAAI,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAI,GAAW,EAAE,KAAQ;QAC1B,OAAO,UAAU,CAAI,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,23 @@ export declare class UnsupportedOptionError extends ScoutlineError {
56
56
  export declare class ConfigurationError extends ScoutlineError {
57
57
  constructor(message: string, help?: string);
58
58
  }
59
+ /**
60
+ * Normalized concrete quota-exhaustion error (DESIGN.md §18, PRD FR-090).
61
+ *
62
+ * P6 introduces this construction path because the public code (`QUOTA_ERROR`,
63
+ * status 429, terminal retry) has been declared since P1 but no concrete
64
+ * class existed. The Adapters and shared execution surface this class for
65
+ * Provider-side exhausted-quota conditions; `formatErrorOutput` and the
66
+ * invocation adapter apply the standard redaction/envelope so credential
67
+ * material and Provider bodies never reach the public envelope.
68
+ *
69
+ * Retry semantics are intentionally terminal: an exhausted quota cannot be
70
+ * resolved by another attempt. The shared retry classifier in
71
+ * `lib/execution.ts` relies on `retryable === false` here.
72
+ */
73
+ export declare class QuotaError extends ScoutlineError {
74
+ constructor(message?: string, help?: string);
75
+ }
59
76
  export declare function isRetryableError(error: unknown): boolean;
60
77
  export declare function getErrorExitCode(error: unknown): number;
61
78
  export declare class AuthError extends ZaiError {
@@ -73,9 +90,15 @@ export declare class TimeoutError extends ZaiError {
73
90
  * a first-class field (Fixup D) so an Adapter rewrapping a typed
74
91
  * `TimeoutError` can preserve the original duration instead of re-reading
75
92
  * an ambient `process.env` value that may differ from the injected env.
93
+ *
94
+ * Phase A MiniMax transport (critique G4): the constructor accepts an
95
+ * optional `help` override so MiniMax callers can surface the
96
+ * `MINIMAX_TIMEOUT` env var instead of the default `Z_AI_TIMEOUT`
97
+ * reference. Strict superset — existing 1-arg callers continue to
98
+ * receive the default help text unchanged.
76
99
  */
77
100
  readonly durationMs: number;
78
- constructor(timeoutMs: number);
101
+ constructor(timeoutMs: number, help?: string);
79
102
  }
80
103
  export declare class FileError extends ZaiError {
81
104
  constructor(message: string, help?: string);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,wBAAwB,GACxB,oBAAoB,GACpB,WAAW,GACX,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YACE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GAAG,MAAM,EACjC,OAAO,GAAE,qBAA0B,EASpC;CACF;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,cAAc;IAC1C,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAG5E;CACF;AAED,qBAAa,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAOzC;CACF;AAED,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,YAAY,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAO/C;CACF;AAED,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,YAAY,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAO/D;CACF;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAOzC;CACF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKvD;AAOD,qBAAa,SAAU,SAAQ,QAAQ;IAMrC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAK5C;CACF;AAED,qBAAa,QAAS,SAAQ,QAAQ;IACpC,YAAY,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAE9C;CACF;AAED,qBAAa,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,qBAAa,YAAa,SAAQ,QAAQ;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,YAAY,SAAS,EAAE,MAAM,EAQ5B;CACF;AAED,qBAAa,SAAU,SAAQ,QAAQ;IACrC,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAEzC;CACF;AAiBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAwCxD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,wBAAwB,GACxB,oBAAoB,GACpB,WAAW,GACX,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YACE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GAAG,MAAM,EACjC,OAAO,GAAE,qBAA0B,EASpC;CACF;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,cAAc;IAC1C,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAG5E;CACF;AAED,qBAAa,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAOzC;CACF;AAED,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,YAAY,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAO/C;CACF;AAED,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,YAAY,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAO/D;CACF;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAOzC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAC5C,YAAY,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAQ1C;CACF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKvD;AAOD,qBAAa,SAAU,SAAQ,QAAQ;IAMrC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAK5C;CACF;AAED,qBAAa,QAAS,SAAQ,QAAQ;IACpC,YAAY,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAE9C;CACF;AAED,qBAAa,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,qBAAa,YAAa,SAAQ,QAAQ;IACxC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,YAAY,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAQ3C;CACF;AAED,qBAAa,SAAU,SAAQ,QAAQ;IACrC,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAEzC;CACF;AAiBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAwCxD"}
@@ -81,6 +81,31 @@ export class ConfigurationError extends ScoutlineError {
81
81
  this.name = "ConfigurationError";
82
82
  }
83
83
  }
84
+ /**
85
+ * Normalized concrete quota-exhaustion error (DESIGN.md §18, PRD FR-090).
86
+ *
87
+ * P6 introduces this construction path because the public code (`QUOTA_ERROR`,
88
+ * status 429, terminal retry) has been declared since P1 but no concrete
89
+ * class existed. The Adapters and shared execution surface this class for
90
+ * Provider-side exhausted-quota conditions; `formatErrorOutput` and the
91
+ * invocation adapter apply the standard redaction/envelope so credential
92
+ * material and Provider bodies never reach the public envelope.
93
+ *
94
+ * Retry semantics are intentionally terminal: an exhausted quota cannot be
95
+ * resolved by another attempt. The shared retry classifier in
96
+ * `lib/execution.ts` relies on `retryable === false` here.
97
+ */
98
+ export class QuotaError extends ScoutlineError {
99
+ constructor(message, help) {
100
+ super(message ?? "Provider quota has been exhausted", "QUOTA_ERROR", {
101
+ statusCode: 429,
102
+ help,
103
+ retryable: false,
104
+ exitCode: 1,
105
+ });
106
+ this.name = "QuotaError";
107
+ }
108
+ }
84
109
  export function isRetryableError(error) {
85
110
  if (error instanceof ScoutlineError) {
86
111
  return error.retryable;
@@ -126,10 +151,16 @@ export class TimeoutError extends ZaiError {
126
151
  * a first-class field (Fixup D) so an Adapter rewrapping a typed
127
152
  * `TimeoutError` can preserve the original duration instead of re-reading
128
153
  * an ambient `process.env` value that may differ from the injected env.
154
+ *
155
+ * Phase A MiniMax transport (critique G4): the constructor accepts an
156
+ * optional `help` override so MiniMax callers can surface the
157
+ * `MINIMAX_TIMEOUT` env var instead of the default `Z_AI_TIMEOUT`
158
+ * reference. Strict superset — existing 1-arg callers continue to
159
+ * receive the default help text unchanged.
129
160
  */
130
161
  durationMs;
131
- constructor(timeoutMs) {
132
- super(`Request timed out after ${timeoutMs}ms`, "TIMEOUT_ERROR", undefined, "Try again or increase timeout with Z_AI_TIMEOUT env var");
162
+ constructor(timeoutMs, help) {
163
+ super(`Request timed out after ${timeoutMs}ms`, "TIMEOUT_ERROR", undefined, help ?? "Try again or increase timeout with Z_AI_TIMEOUT env var");
133
164
  this.durationMs = timeoutMs;
134
165
  }
135
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}