scoutline 0.21.2 → 0.22.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 (123) hide show
  1. package/README.md +46 -1
  2. package/dist/capabilities/quota.d.ts +34 -8
  3. package/dist/capabilities/quota.d.ts.map +1 -1
  4. package/dist/capabilities/quota.js +8 -6
  5. package/dist/capabilities/quota.js.map +1 -1
  6. package/dist/capabilities/science.d.ts +15 -0
  7. package/dist/capabilities/science.d.ts.map +1 -1
  8. package/dist/capabilities/science.js +79 -0
  9. package/dist/capabilities/science.js.map +1 -1
  10. package/dist/commands/quota.d.ts.map +1 -1
  11. package/dist/commands/quota.js +3 -0
  12. package/dist/commands/quota.js.map +1 -1
  13. package/dist/commands/science.d.ts +13 -0
  14. package/dist/commands/science.d.ts.map +1 -1
  15. package/dist/commands/science.js +243 -48
  16. package/dist/commands/science.js.map +1 -1
  17. package/dist/index.d.ts +12 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +78 -38
  20. package/dist/index.js.map +1 -1
  21. package/dist/lib/artifacts.d.ts.map +1 -1
  22. package/dist/lib/artifacts.js +4 -1
  23. package/dist/lib/artifacts.js.map +1 -1
  24. package/dist/lib/async-job-state.d.ts +17 -0
  25. package/dist/lib/async-job-state.d.ts.map +1 -1
  26. package/dist/lib/async-job-state.js +29 -0
  27. package/dist/lib/async-job-state.js.map +1 -1
  28. package/dist/lib/batch-manifest.d.ts +9 -0
  29. package/dist/lib/batch-manifest.d.ts.map +1 -1
  30. package/dist/lib/batch-manifest.js +8 -0
  31. package/dist/lib/batch-manifest.js.map +1 -1
  32. package/dist/lib/cache.d.ts +89 -10
  33. package/dist/lib/cache.d.ts.map +1 -1
  34. package/dist/lib/cache.js +190 -42
  35. package/dist/lib/cache.js.map +1 -1
  36. package/dist/lib/errors.d.ts +29 -3
  37. package/dist/lib/errors.d.ts.map +1 -1
  38. package/dist/lib/errors.js +29 -5
  39. package/dist/lib/errors.js.map +1 -1
  40. package/dist/lib/execution.d.ts +14 -6
  41. package/dist/lib/execution.d.ts.map +1 -1
  42. package/dist/lib/execution.js +50 -6
  43. package/dist/lib/execution.js.map +1 -1
  44. package/dist/lib/mcp-client.d.ts.map +1 -1
  45. package/dist/lib/mcp-client.js +9 -6
  46. package/dist/lib/mcp-client.js.map +1 -1
  47. package/dist/lib/redact.d.ts +3 -0
  48. package/dist/lib/redact.d.ts.map +1 -1
  49. package/dist/lib/redact.js +29 -4
  50. package/dist/lib/redact.js.map +1 -1
  51. package/dist/lib/retry-after.d.ts +54 -0
  52. package/dist/lib/retry-after.d.ts.map +1 -0
  53. package/dist/lib/retry-after.js +124 -0
  54. package/dist/lib/retry-after.js.map +1 -0
  55. package/dist/lib/tool-cache.d.ts +6 -4
  56. package/dist/lib/tool-cache.d.ts.map +1 -1
  57. package/dist/lib/tool-cache.js +9 -7
  58. package/dist/lib/tool-cache.js.map +1 -1
  59. package/dist/lib/tty.d.ts.map +1 -1
  60. package/dist/lib/tty.js +10 -0
  61. package/dist/lib/tty.js.map +1 -1
  62. package/dist/providers/arxiv/client.d.ts.map +1 -1
  63. package/dist/providers/arxiv/client.js +5 -4
  64. package/dist/providers/arxiv/client.js.map +1 -1
  65. package/dist/providers/brave/adapter.d.ts.map +1 -1
  66. package/dist/providers/brave/adapter.js +9 -3
  67. package/dist/providers/brave/adapter.js.map +1 -1
  68. package/dist/providers/brave/client.d.ts.map +1 -1
  69. package/dist/providers/brave/client.js +59 -7
  70. package/dist/providers/brave/client.js.map +1 -1
  71. package/dist/providers/crossref/client.d.ts.map +1 -1
  72. package/dist/providers/crossref/client.js +5 -4
  73. package/dist/providers/crossref/client.js.map +1 -1
  74. package/dist/providers/europepmc/client.d.ts.map +1 -1
  75. package/dist/providers/europepmc/client.js +5 -4
  76. package/dist/providers/europepmc/client.js.map +1 -1
  77. package/dist/providers/exa/adapter.d.ts +7 -0
  78. package/dist/providers/exa/adapter.d.ts.map +1 -1
  79. package/dist/providers/exa/adapter.js +11 -3
  80. package/dist/providers/exa/adapter.js.map +1 -1
  81. package/dist/providers/firecrawl/adapter.d.ts.map +1 -1
  82. package/dist/providers/firecrawl/adapter.js +12 -4
  83. package/dist/providers/firecrawl/adapter.js.map +1 -1
  84. package/dist/providers/firecrawl/client.d.ts.map +1 -1
  85. package/dist/providers/firecrawl/client.js +7 -0
  86. package/dist/providers/firecrawl/client.js.map +1 -1
  87. package/dist/providers/jina/adapter.d.ts.map +1 -1
  88. package/dist/providers/jina/adapter.js +10 -3
  89. package/dist/providers/jina/adapter.js.map +1 -1
  90. package/dist/providers/jina/client.d.ts.map +1 -1
  91. package/dist/providers/jina/client.js +23 -10
  92. package/dist/providers/jina/client.js.map +1 -1
  93. package/dist/providers/linkup/adapter.d.ts.map +1 -1
  94. package/dist/providers/linkup/adapter.js +13 -12
  95. package/dist/providers/linkup/adapter.js.map +1 -1
  96. package/dist/providers/openalex/adapter.d.ts.map +1 -1
  97. package/dist/providers/openalex/adapter.js +2 -0
  98. package/dist/providers/openalex/adapter.js.map +1 -1
  99. package/dist/providers/openalex/client.d.ts.map +1 -1
  100. package/dist/providers/openalex/client.js +6 -5
  101. package/dist/providers/openalex/client.js.map +1 -1
  102. package/dist/providers/parallel/adapter.d.ts.map +1 -1
  103. package/dist/providers/parallel/adapter.js +17 -6
  104. package/dist/providers/parallel/adapter.js.map +1 -1
  105. package/dist/providers/pubmed/client.d.ts.map +1 -1
  106. package/dist/providers/pubmed/client.js +5 -4
  107. package/dist/providers/pubmed/client.js.map +1 -1
  108. package/dist/providers/registry.d.ts +12 -0
  109. package/dist/providers/registry.d.ts.map +1 -1
  110. package/dist/providers/registry.js +12 -0
  111. package/dist/providers/registry.js.map +1 -1
  112. package/dist/providers/tavily/adapter.d.ts.map +1 -1
  113. package/dist/providers/tavily/adapter.js +12 -5
  114. package/dist/providers/tavily/adapter.js.map +1 -1
  115. package/dist/providers/tavily/client.d.ts.map +1 -1
  116. package/dist/providers/tavily/client.js +8 -0
  117. package/dist/providers/tavily/client.js.map +1 -1
  118. package/dist/providers/zai/quota.d.ts +25 -5
  119. package/dist/providers/zai/quota.d.ts.map +1 -1
  120. package/dist/providers/zai/quota.js +122 -29
  121. package/dist/providers/zai/quota.js.map +1 -1
  122. package/package.json +3 -3
  123. package/skills/scoutline/SKILL.md +93 -82
package/dist/lib/cache.js CHANGED
@@ -66,21 +66,86 @@ function resolveCacheRoot() {
66
66
  }, { platform: process.platform, homedir: os.homedir() });
67
67
  }
68
68
  /**
69
- * Internal directory for response-cache entries. Always a `cache/`
70
- * subdirectory under the unified root.
69
+ * Single-source isolation predicate for env-derived surfaces (#157, PR
70
+ * #183 F1): the canonical values are `SCOUTLINE_ISOLATED="1"` and
71
+ * `"true"`. Consumers that branch on the env variable — both cache-dir
72
+ * resolvers below and main()'s batch seam — must agree on the accepted
73
+ * set, or an env-only `=true` run isolates the stores while skipping the
74
+ * batch per-op refusals (the predicate split Kody flagged).
71
75
  */
72
- function responseCacheDir() {
73
- return path.join(resolveCacheRoot(), "cache");
76
+ export function isIsolatedEnv(env) {
77
+ return env?.SCOUTLINE_ISOLATED === "1" || env?.SCOUTLINE_ISOLATED === "true";
78
+ }
79
+ /**
80
+ * Pure response-cache directory resolver. Under isolation
81
+ * (`SCOUTLINE_ISOLATED="1"` or `"true"`), derives `<root>/cache/isolated/<pid>`.
82
+ * Returns `<root>/cache` by default.
83
+ */
84
+ export function resolveResponseCacheDirPure(env, plat) {
85
+ const root = resolveCacheRootPure(env, plat);
86
+ const baseDir = path.join(root, "cache");
87
+ if (isIsolatedEnv(env)) {
88
+ const pid = plat.pid ?? process.pid;
89
+ return path.join(baseDir, "isolated", `${pid}`);
90
+ }
91
+ return baseDir;
92
+ }
93
+ /**
94
+ * Pure tool-cache directory resolver. Under isolation
95
+ * (`SCOUTLINE_ISOLATED="1"` or `"true"`), derives `<root>/tools/isolated/<pid>`.
96
+ * Returns `<root>/tools` by default.
97
+ */
98
+ export function resolveToolCacheDirPure(env, plat) {
99
+ const root = resolveCacheRootPure(env, plat);
100
+ const baseDir = path.join(root, "tools");
101
+ if (isIsolatedEnv(env)) {
102
+ const pid = plat.pid ?? process.pid;
103
+ return path.join(baseDir, "isolated", `${pid}`);
104
+ }
105
+ return baseDir;
106
+ }
107
+ /**
108
+ * Directory for response-cache entries. Always a `cache/` subdirectory
109
+ * under the unified root (or `cache/isolated/<pid>` under `--isolated`).
110
+ */
111
+ export function responseCacheDir(env) {
112
+ if (!env) {
113
+ return path.join(resolveCacheRoot(), "cache");
114
+ }
115
+ const mergedEnv = {
116
+ SCOUTLINE_CACHE_DIR: env.SCOUTLINE_CACHE_DIR ?? process.env.SCOUTLINE_CACHE_DIR,
117
+ ZAI_MCP_CACHE_DIR: env.ZAI_MCP_CACHE_DIR ?? process.env.ZAI_MCP_CACHE_DIR,
118
+ ZAI_CACHE_DIR: env.ZAI_CACHE_DIR ?? process.env.ZAI_CACHE_DIR,
119
+ SCOUTLINE_ISOLATED: env.SCOUTLINE_ISOLATED,
120
+ };
121
+ return resolveResponseCacheDirPure(mergedEnv, {
122
+ platform: process.platform,
123
+ homedir: os.homedir(),
124
+ pid: process.pid,
125
+ });
74
126
  }
75
127
  /**
76
128
  * Directory for the tool-discovery cache (consumed by mcp-client.ts).
77
- * Always a `tools/` subdirectory under the unified root, sibling of
78
- * {@link responseCacheDir}. Scanned by `cacheStats()` and cleared by
79
- * `clearAllCaches()`, but never touched by the response cache's LRU
80
- * eviction loop.
129
+ * Always a `tools/` subdirectory under the unified root (or `tools/isolated/<pid>`
130
+ * under `--isolated`). Scanned by `cacheStats()` and cleared by
131
+ * `clearAllCaches()` in its non-isolated view (no-arg), but never touched by the
132
+ * response cache's LRU eviction loop.
81
133
  */
82
- export function toolCacheDir() {
83
- return path.join(resolveCacheRoot(), "tools");
134
+ export function toolCacheDir(env) {
135
+ if (!env) {
136
+ return path.join(resolveCacheRoot(), "tools");
137
+ }
138
+ const mergedEnv = {
139
+ SCOUTLINE_CACHE_DIR: env.SCOUTLINE_CACHE_DIR ?? process.env.SCOUTLINE_CACHE_DIR,
140
+ ZAI_MCP_CACHE_DIR: env.ZAI_MCP_CACHE_DIR ?? process.env.ZAI_MCP_CACHE_DIR,
141
+ ZAI_CACHE_DIR: env.ZAI_CACHE_DIR ?? process.env.ZAI_CACHE_DIR,
142
+ SCOUTLINE_ISOLATED: env.SCOUTLINE_ISOLATED,
143
+ };
144
+ return resolveToolCacheDirPure(mergedEnv, {
145
+ platform: process.platform,
146
+ homedir: os.homedir(),
147
+ pid: process.pid,
148
+ });
84
149
  }
85
150
  /**
86
151
  * Directory for async-job state files (tech-plan §3, T07 / FC-01). One
@@ -314,14 +379,14 @@ export function buildLegacyReaderCacheKey(apiKey, publicToolName, args) {
314
379
  .slice(0, 24);
315
380
  return `${publicToolName}.${credentialPart}.${argumentPart}.json`;
316
381
  }
317
- export async function readCache(key, decoderOrTtl, ttlMs = getCacheTtlMs()) {
382
+ export async function readCacheInDir(dir, key, decoderOrTtl, ttlMs = getCacheTtlMs()) {
318
383
  // H1 fix: call-time enabled check so per-suite env mutations are
319
384
  // observed. Module-load capture would silently freeze this to whatever
320
385
  // the env was at first import.
321
386
  const resolvedTtl = typeof decoderOrTtl === "number" ? decoderOrTtl : ttlMs;
322
387
  if (!isCacheEnabled() || resolvedTtl <= 0)
323
388
  return null;
324
- const file = path.join(responseCacheDir(), key);
389
+ const file = path.join(dir, key);
325
390
  let data;
326
391
  try {
327
392
  const raw = await fs.readFile(file, "utf8");
@@ -346,11 +411,14 @@ export async function readCache(key, decoderOrTtl, ttlMs = getCacheTtlMs()) {
346
411
  return decoderOrTtl(data);
347
412
  return data;
348
413
  }
349
- export async function writeCache(key, data) {
414
+ /**
415
+ * Write a cache entry to a specific directory. Serializes through an
416
+ * inter-process advisory lock on the directory and evicts if over cap.
417
+ */
418
+ export async function writeCacheInDir(dir, key, data) {
350
419
  // H1 fix: call-time enabled check.
351
420
  if (!isCacheEnabled())
352
421
  return;
353
- const dir = responseCacheDir();
354
422
  const file = path.join(dir, key);
355
423
  assertTestSafeWrite(file, "writeCache");
356
424
  try {
@@ -381,16 +449,36 @@ export async function writeCache(key, data) {
381
449
  // Best-effort cache only
382
450
  }
383
451
  }
452
+ export async function readCache(key, decoderOrTtlOrEnv, ttlMsOrEnv = getCacheTtlMs(), env) {
453
+ // N6: an injected env routes reads through the isolated layout when it
454
+ // carries SCOUTLINE_ISOLATED (mirrors the tool-cache seam). Absent env
455
+ // keeps the shared-dir default byte-identical.
456
+ const envFromArg = typeof decoderOrTtlOrEnv === "object" && decoderOrTtlOrEnv !== null
457
+ ? decoderOrTtlOrEnv
458
+ : undefined;
459
+ const decoderOrTtl = typeof decoderOrTtlOrEnv === "function" || typeof decoderOrTtlOrEnv === "number"
460
+ ? decoderOrTtlOrEnv
461
+ : undefined;
462
+ const ttlMs = typeof ttlMsOrEnv === "number" ? ttlMsOrEnv : getCacheTtlMs();
463
+ const resolvedEnv = envFromArg ?? (typeof ttlMsOrEnv === "number" ? env : ttlMsOrEnv);
464
+ return readCacheInDir(responseCacheDir(resolvedEnv), key, decoderOrTtl, ttlMs);
465
+ }
466
+ export async function writeCache(key, data, env) {
467
+ // N6: see readCache — the injected env picks the isolated layout.
468
+ return writeCacheInDir(responseCacheDir(env), key, data);
469
+ }
384
470
  async function evictIfNeeded(dir) {
385
471
  try {
386
472
  const entries = await fs.readdir(dir);
387
473
  const stats = await Promise.all(entries.map(async (name) => {
388
- // Skip atomic-write temp files (.<basename>.<pid>.<uuid>.tmp)
474
+ // Skip isolated directory, atomic-write temp files (.<basename>.<pid>.<uuid>.tmp)
389
475
  // so eviction cannot unlink a concurrent write's staging file
390
476
  // and cause its rename to fail (Greptile P2).
391
477
  // Also skip the inter-process write lockfile (cache-write.lock)
392
478
  // so eviction cannot delete the lock while a writer holds it (5.5).
393
- if ((name.startsWith(".") && name.endsWith(".tmp")) || name.endsWith(".lock"))
479
+ if (name === "isolated" ||
480
+ (name.startsWith(".") && name.endsWith(".tmp")) ||
481
+ name.endsWith(".lock"))
394
482
  return null;
395
483
  try {
396
484
  const p = path.join(dir, name);
@@ -439,6 +527,8 @@ export async function clearCache() {
439
527
  try {
440
528
  const entries = await fs.readdir(dir);
441
529
  for (const name of entries) {
530
+ if (name === "isolated")
531
+ continue;
442
532
  const p = path.join(dir, name);
443
533
  try {
444
534
  const s = await fs.stat(p);
@@ -472,6 +562,8 @@ async function clearSubdir(dir) {
472
562
  try {
473
563
  const entries = await fs.readdir(dir);
474
564
  for (const name of entries) {
565
+ if (name === "isolated")
566
+ continue;
475
567
  const p = path.join(dir, name);
476
568
  try {
477
569
  const s = await fs.stat(p);
@@ -610,8 +702,10 @@ async function pruneSubdirByAge(dir, thresholdMs, selectors = {}, beforeUnlink)
610
702
  try {
611
703
  const names = await fs.readdir(dir);
612
704
  for (const name of names) {
613
- // Skip atomic-write staging files and lockfiles (D4 skip discipline).
614
- if ((name.startsWith(".") && name.endsWith(".tmp")) || name.endsWith(".lock"))
705
+ // Skip isolated directory, atomic-write staging files and lockfiles (D4 skip discipline).
706
+ if (name === "isolated" ||
707
+ (name.startsWith(".") && name.endsWith(".tmp")) ||
708
+ name.endsWith(".lock"))
615
709
  continue;
616
710
  // Filename-first selector matching (D2) — zero content reads.
617
711
  if (selectors.provider !== undefined || selectors.capability !== undefined) {
@@ -756,6 +850,27 @@ export function parsePruneDuration(spec) {
756
850
  * (see {@link buildProviderCacheKey}), so selector matching is a pure
757
851
  * string operation with zero content reads.
758
852
  *
853
+ * The grammar is read RIGHT-to-LEFT, because two of its fields are not
854
+ * fixed-width in the general case:
855
+ *
856
+ * - `capability` MAY carry dots. Science carries its capability
857
+ * VERBATIM (`science.search` / `science.get`), so the joined
858
+ * remainder — not a single field — is the capability.
859
+ * - `credential-hash` MAY be empty. Science suppliers are keyless, so
860
+ * their fingerprint is `""` and the key holds an EMPTY segment
861
+ * (the keyless partition): `v2.science.search.openalex..<hash>.json`.
862
+ *
863
+ * So: strip the `v2.`/`.json` guard, split on ".", and take the last
864
+ * field as the request hash, the second-to-last as the credential
865
+ * fingerprint (possibly empty), the third-to-last as the provider, and
866
+ * everything left of it — rejoined on "." — as the capability.
867
+ *
868
+ * The pre-science shape was EXACTLY six segments with every middle
869
+ * segment non-empty. Widening that is only safe if it does not also
870
+ * loosen it, so the request hash must carry the SHA-256 house shape
871
+ * (64 lowercase hex) and both the provider and the capability must be
872
+ * non-empty.
873
+ *
759
874
  * Returns `null` for every other shape — legacy (non-v2) entries,
760
875
  * `.tmp` staging files, `.lock` files, and malformed names. Those are
761
876
  * selectable by age only and bucket under `legacy` in stats.
@@ -765,15 +880,34 @@ export function parseCacheFileName(name) {
765
880
  return null;
766
881
  if (!name.startsWith("v2.") || !name.endsWith(".json"))
767
882
  return null;
768
- const segments = name.split(".");
769
- // v2 | capability | provider | credential-hash | request-hash | json
770
- if (segments.length !== 6)
883
+ const segments = name.slice("v2.".length, -".json".length).split(".");
884
+ // request-hash | credential-hash | provider | capability(≥1 field)
885
+ if (segments.length < 4)
886
+ return null;
887
+ const requestHash = segments[segments.length - 1];
888
+ const credentialHash = segments[segments.length - 2];
889
+ const provider = segments[segments.length - 3];
890
+ // The three right-most fields always exist under the length guard
891
+ // above; the narrowing keeps `noUncheckedIndexedAccess` honest.
892
+ if (requestHash === undefined || credentialHash === undefined || provider === undefined) {
893
+ return null;
894
+ }
895
+ const capability = segments.slice(0, segments.length - 3).join(".");
896
+ // Tightened so the widening cannot admit anything the 6-segment
897
+ // exactness used to reject on shape alone.
898
+ if (!/^[0-9a-f]{64}$/.test(requestHash))
771
899
  return null;
772
- const capability = segments[1];
773
- const provider = segments[2];
774
900
  if (!capability || !provider)
775
901
  return null;
776
- if (!segments[3] || !segments[4])
902
+ // A dotted capability sits BETWEEN dots, so no joined field may be
903
+ // empty: `a..b` and a leading dot (`.science.get`) are malformed
904
+ // names, not capabilities. This is also what keeps the widen from
905
+ // accepting a name like `v2..x.<hash>.<hash>.json`.
906
+ if (segments.slice(0, segments.length - 3).includes(""))
907
+ return null;
908
+ // The credential fingerprint is the SHA-256 hex of a credential when
909
+ // the supplier is keyed, so it is empty or a full lowercase digest.
910
+ if (credentialHash !== "" && !/^[0-9a-f]{64}$/.test(credentialHash))
777
911
  return null;
778
912
  return { capability, provider };
779
913
  }
@@ -795,11 +929,13 @@ async function inventorySubdir(dir, breakdown) {
795
929
  // every entry is the D8 cost note — stats is an explicit invocation.
796
930
  const ttlMs = getCacheTtlMs();
797
931
  for (const name of names) {
798
- // Skip lockfiles and atomic-write staging files — the same
799
- // discipline as `evictIfNeeded`/`pruneSubdirByAge`. They are
800
- // coordination artifacts, not cache entries, and must not be
801
- // counted as live entries or bucketed as `legacy` (review P2).
802
- if ((name.startsWith(".") && name.endsWith(".tmp")) || name.endsWith(".lock"))
932
+ // Skip lockfiles, atomic-write staging files, and isolated subtrees.
933
+ // Isolated cache subtrees (cache/isolated/<pid> and tools/isolated/<pid>) live
934
+ // inside cache/ and tools/ so LRU/TTL can bound their growth per-process.
935
+ // The non-isolated cache stats/clear/prune views do not see isolated subtrees.
936
+ if (name === "isolated" ||
937
+ (name.startsWith(".") && name.endsWith(".tmp")) ||
938
+ name.endsWith(".lock"))
803
939
  continue;
804
940
  const p = path.join(dir, name);
805
941
  try {
@@ -853,9 +989,7 @@ function addToBucket(buckets, key, sizeBytes, isExpired) {
853
989
  // Own-key read only: inherited properties (e.g. `constructor` on a
854
990
  // plain object, anything on a null-prototype accumulator's chain)
855
991
  // must never be mistaken for an existing bucket.
856
- const existing = Object.prototype.hasOwnProperty.call(buckets, key)
857
- ? buckets[key]
858
- : undefined;
992
+ const existing = Object.prototype.hasOwnProperty.call(buckets, key) ? buckets[key] : undefined;
859
993
  buckets[key] = existing
860
994
  ? {
861
995
  entries: existing.entries + 1,
@@ -904,17 +1038,31 @@ export function buildProviderCacheKey(input) {
904
1038
  const requestHash = crypto.createHash("sha256").update(JSON.stringify(sorted)).digest("hex");
905
1039
  return `v2.${input.capability}.${input.provider}.${input.credentialFingerprint}.${requestHash}.json`;
906
1040
  }
1041
+ /**
1042
+ * Create a directory-scoped `ResponseCache`. Accepts a fixed directory path
1043
+ * or a dynamic resolver function called on each get/set operation.
1044
+ *
1045
+ * `defaultResponseCache` is the non-isolated special case of this factory
1046
+ * wired to `responseCacheDir` so call-time root resolution is preserved.
1047
+ */
1048
+ export function createFileResponseCache(dirOrResolver = responseCacheDir) {
1049
+ const resolveDir = typeof dirOrResolver === "function" ? dirOrResolver : () => dirOrResolver;
1050
+ return {
1051
+ get(key, decoder) {
1052
+ return decoder
1053
+ ? readCacheInDir(resolveDir(), key, decoder)
1054
+ : readCacheInDir(resolveDir(), key);
1055
+ },
1056
+ set(key, value) {
1057
+ return writeCacheInDir(resolveDir(), key, value);
1058
+ },
1059
+ };
1060
+ }
907
1061
  /**
908
1062
  * Default `ResponseCache` bound to the existing on-disk store. Reads
909
- * and writes flow through `readCache`/`writeCache`, so TTL, eviction,
910
- * and directory resolution remain identical to the legacy path.
1063
+ * and writes flow through `readCacheInDir`/`writeCacheInDir` using call-time
1064
+ * root resolution, so TTL, eviction, and directory resolution remain
1065
+ * identical to the legacy path.
911
1066
  */
912
- export const defaultResponseCache = {
913
- get(key, decoder) {
914
- return decoder ? readCache(key, decoder) : readCache(key);
915
- },
916
- set(key, value) {
917
- return writeCache(key, value);
918
- },
919
- };
1067
+ export const defaultResponseCache = createFileResponseCache(responseCacheDir);
920
1068
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,14 @@ export interface ScoutlineErrorOptions {
22
22
  help?: string;
23
23
  retryable?: boolean;
24
24
  exitCode?: number;
25
+ /**
26
+ * Provider-supplied retry delay hint, in milliseconds (the transport
27
+ * form of `Retry-After` / `X-RateLimit-Retry-After`). Adaptors parse
28
+ * the header and set this; the shared executor honours it as a floor
29
+ * over its own backoff, capped by the policy. Executor-internal
30
+ * transport — it is never part of the public error envelope.
31
+ */
32
+ retryAfterMs?: number;
25
33
  }
26
34
  export declare class ScoutlineError extends Error {
27
35
  readonly code: ScoutlineErrorCode;
@@ -29,6 +37,7 @@ export declare class ScoutlineError extends Error {
29
37
  readonly help?: string;
30
38
  readonly retryable: boolean;
31
39
  readonly exitCode: number;
40
+ readonly retryAfterMs?: number;
32
41
  constructor(message: string, code: ScoutlineErrorCode, options?: ScoutlineErrorOptions);
33
42
  }
34
43
  /**
@@ -43,9 +52,13 @@ export declare class ScoutlineError extends Error {
43
52
  * compiling. The value is cast through `ScoutlineErrorCode` at the
44
53
  * super call because TypeScript types are erased at runtime — the
45
54
  * parent constructor stores whatever string was passed.
55
+ *
56
+ * The trailing `options` parameter is additive and optional; the 4-arg
57
+ * signature every current caller uses is unchanged. It carries the
58
+ * normalized error's optional fields — currently the Provider retry hint.
46
59
  */
47
60
  export declare class ZaiError extends ScoutlineError {
48
- constructor(message: string, code: string, statusCode?: number, help?: string);
61
+ constructor(message: string, code: string, statusCode?: number, help?: string, options?: Pick<ScoutlineErrorOptions, "retryAfterMs">);
49
62
  }
50
63
  export declare class ValidationError extends ScoutlineError {
51
64
  constructor(message: string, help?: string);
@@ -105,7 +118,14 @@ export declare class ConfigurationError extends ScoutlineError {
105
118
  * `lib/execution.ts` relies on `retryable === false` here.
106
119
  */
107
120
  export declare class QuotaError extends ScoutlineError {
108
- constructor(message?: string, help?: string);
121
+ /**
122
+ * `options` is additive and optional: the 0/1/2-arg forms every
123
+ * current throw site uses behave exactly as before. A Provider
124
+ * retry hint may be carried through it, but it stays informational —
125
+ * `retryable: false` is fixed here, so the hint can never make an
126
+ * exhausted quota retryable (the #140 ruling).
127
+ */
128
+ constructor(message?: string, help?: string, options?: Pick<ScoutlineErrorOptions, "retryAfterMs">);
109
129
  }
110
130
  export declare function isRetryableError(error: unknown): boolean;
111
131
  export declare function getErrorExitCode(error: unknown): number;
@@ -113,7 +133,13 @@ export declare class AuthError extends ZaiError {
113
133
  constructor(message: string, keyName?: string);
114
134
  }
115
135
  export declare class ApiError extends ZaiError {
116
- constructor(message: string, statusCode: number);
136
+ /**
137
+ * `options` is additive and optional: the 2-arg form every current
138
+ * throw site uses behaves exactly as before. It exists so an Adapter
139
+ * that parsed a Provider retry header can surface the delay on the
140
+ * NORMALIZED error (the seam the shared executor reads).
141
+ */
142
+ constructor(message: string, statusCode: number, options?: Pick<ScoutlineErrorOptions, "retryAfterMs">);
117
143
  }
118
144
  export declare class NetworkError extends ZaiError {
119
145
  constructor(message: string);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export class ScoutlineError extends Error {
22
22
  help;
23
23
  retryable;
24
24
  exitCode;
25
+ retryAfterMs;
25
26
  constructor(message, code, options = {}) {
26
27
  super(message);
27
28
  this.name = "ScoutlineError";
@@ -30,6 +31,7 @@ export class ScoutlineError extends Error {
30
31
  this.help = options.help;
31
32
  this.retryable = options.retryable ?? false;
32
33
  this.exitCode = options.exitCode ?? 1;
34
+ this.retryAfterMs = options.retryAfterMs;
33
35
  }
34
36
  }
35
37
  /**
@@ -44,10 +46,18 @@ export class ScoutlineError extends Error {
44
46
  * compiling. The value is cast through `ScoutlineErrorCode` at the
45
47
  * super call because TypeScript types are erased at runtime — the
46
48
  * parent constructor stores whatever string was passed.
49
+ *
50
+ * The trailing `options` parameter is additive and optional; the 4-arg
51
+ * signature every current caller uses is unchanged. It carries the
52
+ * normalized error's optional fields — currently the Provider retry hint.
47
53
  */
48
54
  export class ZaiError extends ScoutlineError {
49
- constructor(message, code, statusCode, help) {
50
- super(message, code, { statusCode, help });
55
+ constructor(message, code, statusCode, help, options = {}) {
56
+ super(message, code, {
57
+ statusCode,
58
+ help,
59
+ retryAfterMs: options.retryAfterMs,
60
+ });
51
61
  this.name = "ZaiError";
52
62
  }
53
63
  }
@@ -141,12 +151,20 @@ export class ConfigurationError extends ScoutlineError {
141
151
  * `lib/execution.ts` relies on `retryable === false` here.
142
152
  */
143
153
  export class QuotaError extends ScoutlineError {
144
- constructor(message, help) {
154
+ /**
155
+ * `options` is additive and optional: the 0/1/2-arg forms every
156
+ * current throw site uses behave exactly as before. A Provider
157
+ * retry hint may be carried through it, but it stays informational —
158
+ * `retryable: false` is fixed here, so the hint can never make an
159
+ * exhausted quota retryable (the #140 ruling).
160
+ */
161
+ constructor(message, help, options = {}) {
145
162
  super(message ?? "Provider quota has been exhausted", "QUOTA_ERROR", {
146
163
  statusCode: 429,
147
164
  help,
148
165
  retryable: false,
149
166
  exitCode: 1,
167
+ retryAfterMs: options.retryAfterMs,
150
168
  });
151
169
  this.name = "QuotaError";
152
170
  }
@@ -181,8 +199,14 @@ export class AuthError extends ZaiError {
181
199
  }
182
200
  }
183
201
  export class ApiError extends ZaiError {
184
- constructor(message, statusCode) {
185
- super(message, "API_ERROR", statusCode);
202
+ /**
203
+ * `options` is additive and optional: the 2-arg form every current
204
+ * throw site uses behaves exactly as before. It exists so an Adapter
205
+ * that parsed a Provider retry header can surface the delay on the
206
+ * NORMALIZED error (the seam the shared executor reads).
207
+ */
208
+ constructor(message, statusCode, options = {}) {
209
+ super(message, "API_ERROR", statusCode, undefined, options);
186
210
  }
187
211
  }
188
212
  export class NetworkError extends ZaiError {
@@ -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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"}