@wrongstack/core 0.109.1 → 0.141.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 (67) hide show
  1. package/dist/{agent-bridge-mOxbpFcg.d.ts → agent-bridge-r9y6gdn4.d.ts} +1 -1
  2. package/dist/{agent-subagent-runner-DukQLUcS.d.ts → agent-subagent-runner-1GeQE_L0.d.ts} +7 -8
  3. package/dist/{brain-Dfv4Y82E.d.ts → brain-Cp_3GIS2.d.ts} +14 -3
  4. package/dist/{compactor-DXLxLcmU.d.ts → compactor-BueGt7LG.d.ts} +9 -1
  5. package/dist/{config-BSU-6vah.d.ts → config-BaVThgnT.d.ts} +104 -3
  6. package/dist/{context-CNRYfhUv.d.ts → context-C7G_MtLV.d.ts} +38 -1
  7. package/dist/coordination/index.d.ts +12 -13
  8. package/dist/coordination/index.js +229 -17
  9. package/dist/coordination/index.js.map +1 -1
  10. package/dist/defaults/index.d.ts +26 -27
  11. package/dist/defaults/index.js +886 -721
  12. package/dist/defaults/index.js.map +1 -1
  13. package/dist/execution/index.d.ts +15 -16
  14. package/dist/execution/index.js +535 -322
  15. package/dist/execution/index.js.map +1 -1
  16. package/dist/extension/index.d.ts +6 -7
  17. package/dist/{goal-preamble-CI8lxeY1.d.ts → goal-preamble-iuIUTQwk.d.ts} +48 -18
  18. package/dist/{index-BWRN6wOb.d.ts → index-BZdezm3g.d.ts} +9 -10
  19. package/dist/{index-DIKEcfgC.d.ts → index-CPweVoFM.d.ts} +7 -6
  20. package/dist/index.d.ts +51 -52
  21. package/dist/index.js +752 -545
  22. package/dist/index.js.map +1 -1
  23. package/dist/infrastructure/index.d.ts +6 -7
  24. package/dist/infrastructure/index.js +64 -19
  25. package/dist/infrastructure/index.js.map +1 -1
  26. package/dist/kernel/index.d.ts +10 -11
  27. package/dist/kernel/index.js.map +1 -1
  28. package/dist/llm-selector-CP72f1lC.d.ts +58 -0
  29. package/dist/{mcp-servers-CXCsANdY.d.ts → mcp-servers-Bl5LTvQg.d.ts} +3 -3
  30. package/dist/{mode-ARA3HrkY.d.ts → mode-CZlO9iU1.d.ts} +1 -1
  31. package/dist/models/index.d.ts +157 -53
  32. package/dist/models/index.js +475 -20
  33. package/dist/models/index.js.map +1 -1
  34. package/dist/{models-registry-DU64QxQa.d.ts → models-registry-D90K9UnM.d.ts} +1 -1
  35. package/dist/{multi-agent-coordinator-51LvnXkD.d.ts → multi-agent-coordinator-QWEzJDlm.d.ts} +1 -1
  36. package/dist/{null-fleet-bus-D09hMzFQ.d.ts → null-fleet-bus-BUyfqh23.d.ts} +13 -10
  37. package/dist/observability/index.d.ts +2 -2
  38. package/dist/{parallel-eternal-engine-B2CbsKpc.d.ts → parallel-eternal-engine-Dj2SYzha.d.ts} +24 -11
  39. package/dist/{path-resolver-DDJiMAtX.d.ts → path-resolver-DRjQBkoO.d.ts} +3 -3
  40. package/dist/{permission-BDv7z0mk.d.ts → permission-B7nKnEvQ.d.ts} +1 -1
  41. package/dist/{permission-policy-dF74EpDp.d.ts → permission-policy-8-6zBmfA.d.ts} +2 -13
  42. package/dist/{pipeline-BqiA_UMr.d.ts → pipeline-BG7UgbDc.d.ts} +2 -2
  43. package/dist/{plan-templates-BdDxl9cI.d.ts → plan-templates-CkKNPU3I.d.ts} +6 -6
  44. package/dist/{provider-runner-BUunikwY.d.ts → provider-runner-BNpuIyOL.d.ts} +3 -3
  45. package/dist/{retry-policy-BcmuT_V0.d.ts → retry-policy-rutAfVeR.d.ts} +1 -1
  46. package/dist/sdd/index.d.ts +8 -9
  47. package/dist/sdd/index.js +208 -1
  48. package/dist/sdd/index.js.map +1 -1
  49. package/dist/{secret-vault-DrOhc2i5.d.ts → secret-vault-BTcC_T5v.d.ts} +3 -2
  50. package/dist/security/index.d.ts +5 -7
  51. package/dist/security/index.js +4 -35
  52. package/dist/security/index.js.map +1 -1
  53. package/dist/{selector-C7wcdqMA.d.ts → selector-4vDFZKt3.d.ts} +1 -1
  54. package/dist/{session-event-bridge-BpJ5trO9.d.ts → session-event-bridge-DWlvglC2.d.ts} +2 -2
  55. package/dist/{session-reader-DDz1Ek4V.d.ts → session-reader-BAtCxdaw.d.ts} +1 -1
  56. package/dist/storage/index.d.ts +14 -15
  57. package/dist/storage/index.js +140 -134
  58. package/dist/storage/index.js.map +1 -1
  59. package/dist/types/index.d.ts +19 -20
  60. package/dist/types/index.js +186 -102
  61. package/dist/types/index.js.map +1 -1
  62. package/dist/utils/index.d.ts +38 -15
  63. package/dist/utils/index.js +62 -33
  64. package/dist/utils/index.js.map +1 -1
  65. package/dist/{wstack-paths-_lqjzErq.d.ts → wstack-paths-DD50Omgn.d.ts} +3 -0
  66. package/package.json +2 -2
  67. package/dist/models-registry-B6_KfS65.d.ts +0 -95
@@ -1,9 +1,8 @@
1
- import { s as TodoItem, M as Message, J as JSONSchema } from '../context-CNRYfhUv.js';
1
+ import { s as TodoItem, M as Message, J as JSONSchema } from '../context-C7G_MtLV.js';
2
2
  export { T as TaskItem, c as computeTaskItemProgress, f as formatTaskList, a as formatTaskProgress } from '../task-format-vGOIftmK.js';
3
- export { a as WstackPathOptions, W as WstackPaths, p as projectHash, b as projectSlug, r as resolveWstackPaths } from '../wstack-paths-_lqjzErq.js';
3
+ export { a as WstackPathOptions, W as WstackPaths, p as projectHash, b as projectSlug, r as resolveWstackPaths } from '../wstack-paths-DD50Omgn.js';
4
4
  export { expectDefined } from './expect-defined.js';
5
- import { a as ModelsDevPayload } from '../models-registry-B6_KfS65.js';
6
- import { q as CustomModelDefinition } from '../config-BSU-6vah.js';
5
+ import { a as ModelsDevPayload, t as CustomModelDefinition } from '../config-BaVThgnT.js';
7
6
  export { a as TaskPriority, b as TaskStatus, T as TaskType } from '../task-graph-u1q9Jkyk.js';
8
7
 
9
8
  interface AtomicWriteOptions {
@@ -262,6 +261,20 @@ declare function buildChildEnv(optsOrSessionId?: BuildChildEnvOptions | string):
262
261
  * and an abortable variant can be introduced without a codebase-wide hunt. */
263
262
  declare function sleep(ms: number): Promise<void>;
264
263
 
264
+ /**
265
+ * Exhaustiveness check for discriminated union switches.
266
+ * Place in the `default` branch of a switch over a union type
267
+ * to get a compile-time error when a new variant is added.
268
+ *
269
+ * @example
270
+ * switch (block.type) {
271
+ * case 'text': return renderText(block);
272
+ * case 'tool_use': return renderToolUse(block);
273
+ * default: return assertNever(block);
274
+ * }
275
+ */
276
+ declare function assertNever(x: never, message?: string): never;
277
+
265
278
  /**
266
279
  * Tool output serialization utilities.
267
280
  * Extracted from Agent.executeTools to allow reuse and consistent output handling.
@@ -293,6 +306,13 @@ declare function estimateToolResultTokens(content: string | unknown): number;
293
306
  * Estimate tokens for a text block.
294
307
  */
295
308
  declare function estimateTextTokens(text: string): number;
309
+ /**
310
+ * Estimate tokens for an array of messages (text + tool I/O), using the shared
311
+ * 3.5 chars/token basis. This is the single canonical message-array estimator —
312
+ * compactors, the context_manager tool, and the `/context` display all route
313
+ * through it so the number a user sees matches the number compaction decides on.
314
+ */
315
+ declare function estimateMessageTokens(messages: readonly Message[]): number;
296
316
  /**
297
317
  * Rough estimate of tokens in a tool definition (name + description + schema).
298
318
  * Accounts for the JSON-serialized inputSchema which is sent to the API
@@ -325,7 +345,7 @@ declare function estimateRequestTokens(messages: unknown, systemPrompt: unknown,
325
345
  name: string;
326
346
  description?: string | undefined;
327
347
  inputSchema: unknown;
328
- }[]): RequestTokenBreakdown;
348
+ }[], calibrationKey?: string): RequestTokenBreakdown;
329
349
  /**
330
350
  * Record the actual API input token count after a provider call so
331
351
  * `estimateRequestTokensCalibrated` can self-correct on subsequent calls.
@@ -335,15 +355,17 @@ declare function estimateRequestTokens(messages: unknown, systemPrompt: unknown,
335
355
  * also calls `estimateRequestTokens` between the pre-flight and this call
336
356
  * (e.g. audit logging in agent.ts).
337
357
  *
338
- * When `estimatedInputTokens` is omitted, falls back to `_cal.prevEst`
339
- * for backward compatibility with callers that don't have the pre-flight value.
358
+ * When `estimatedInputTokens` is omitted, falls back to the keyed bucket's
359
+ * `prevEst` for backward compatibility with callers that don't have the
360
+ * pre-flight value. `calibrationKey` selects the per-(provider,model) bucket
361
+ * (defaults to the shared global bucket).
340
362
  */
341
- declare function recordActualUsage(actualInputTokens: number, estimatedInputTokens?: number): void;
363
+ declare function recordActualUsage(actualInputTokens: number, estimatedInputTokens?: number, calibrationKey?: string): void;
342
364
  /**
343
- * Returns the current calibration state. Exposed for debugging and
344
- * tests — not needed by normal callers.
365
+ * Returns the current calibration state for a bucket. Exposed for debugging
366
+ * and tests — not needed by normal callers.
345
367
  */
346
- declare function getCalibrationState(): {
368
+ declare function getCalibrationState(calibrationKey?: string): {
347
369
  ratio: number;
348
370
  count: number;
349
371
  calibrated: boolean;
@@ -361,12 +383,13 @@ declare function estimateRequestTokensCalibrated(messages: unknown, systemPrompt
361
383
  name: string;
362
384
  description?: string | undefined;
363
385
  inputSchema: unknown;
364
- }[]): RequestTokenBreakdown;
386
+ }[], calibrationKey?: string): RequestTokenBreakdown;
365
387
  /**
366
388
  * Resets calibration state. Primarily for tests that run in the same
367
- * process and need a clean slate between suites.
389
+ * process and need a clean slate between suites. With no argument it clears
390
+ * every bucket (including the global one); pass a key to reset just that bucket.
368
391
  */
369
- declare function resetCalibration(): void;
392
+ declare function resetCalibration(calibrationKey?: string): void;
370
393
 
371
394
  interface MessageRepairReport {
372
395
  changed: boolean;
@@ -494,4 +517,4 @@ declare function mergeModelsPayload(base: ModelsDevPayload, overlay: ModelsDevPa
494
517
  */
495
518
  declare function mergeCustomModelDefs(providerCustomModels: Record<string, CustomModelDefinition> | undefined, configModels: Record<string, CustomModelDefinition> | undefined): Record<string, CustomModelDefinition> | undefined;
496
519
 
497
- export { type AtomicWriteOptions, type BuildChildEnvOptions, type CompileFail, type CompileResult, type FileLockOptions, type MessageRepairReport, type MessageRepairResult, type NewlineStyle, type OutputLineGuard, type RequestTokenBreakdown, type SafeParseResult, type ToolOutputSerializerOptions, type UnifiedDiffOptions, type ValidationError, type ValidationResult, atomicWrite, buildChildEnv, color, compileGlob, compileUserRegex, completePartialObject, createToolOutputSerializer, detectNewlineStyle, ensureDir, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, formatTodosList, getCalibrationState, getTermSize, isInteractive, isStdinTTY, isStdoutTTY, matchAny, matchGlob, mergeCustomModelDefs, mergeModelsPayload, normalizeToLf, onResize, recordActualUsage, repairToolUseAdjacency, resetCalibration, safeParse, safeStringify, sanitizeJsonString, setOutputLineGuard, setRawMode, sleep, stripAnsi, toStyle, unifiedDiff, validateAgainstSchema, withFileLock, writeErr, writeOut };
520
+ export { type AtomicWriteOptions, type BuildChildEnvOptions, type CompileFail, type CompileResult, type FileLockOptions, type MessageRepairReport, type MessageRepairResult, type NewlineStyle, type OutputLineGuard, type RequestTokenBreakdown, type SafeParseResult, type ToolOutputSerializerOptions, type UnifiedDiffOptions, type ValidationError, type ValidationResult, assertNever, atomicWrite, buildChildEnv, color, compileGlob, compileUserRegex, completePartialObject, createToolOutputSerializer, detectNewlineStyle, ensureDir, estimateMessageTokens, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, formatTodosList, getCalibrationState, getTermSize, isInteractive, isStdinTTY, isStdoutTTY, matchAny, matchGlob, mergeCustomModelDefs, mergeModelsPayload, normalizeToLf, onResize, recordActualUsage, repairToolUseAdjacency, resetCalibration, safeParse, safeStringify, sanitizeJsonString, setOutputLineGuard, setRawMode, sleep, stripAnsi, toStyle, unifiedDiff, validateAgainstSchema, withFileLock, writeErr, writeOut };
@@ -373,7 +373,7 @@ function computeTaskItemProgress(tasks) {
373
373
  let failed = 0;
374
374
  let review = 0;
375
375
  let estimatedHours = 0;
376
- let actualHours = 0;
376
+ const actualHours = 0;
377
377
  for (const t of tasks) {
378
378
  switch (t.status) {
379
379
  case "completed":
@@ -745,6 +745,7 @@ function resolveWstackPaths(opts) {
745
745
  projectTrust: path2.join(projectDir, "trust.json"),
746
746
  projectMeta: path2.join(projectDir, "meta.json"),
747
747
  projectLocalConfig: path2.join(projectDir, "config.local.json"),
748
+ inProjectConfig: path2.join(opts.projectRoot, ".wrongstack", "config.json"),
748
749
  inProjectAgentsFile: path2.join(opts.projectRoot, ".wrongstack", "AGENTS.md"),
749
750
  inProjectSkills: path2.join(opts.projectRoot, ".wrongstack", "skills"),
750
751
  inProjectWorktrees: path2.join(opts.projectRoot, ".wrongstack", "worktrees"),
@@ -854,6 +855,13 @@ function sleep(ms) {
854
855
  return new Promise((resolve3) => setTimeout(resolve3, ms));
855
856
  }
856
857
 
858
+ // src/utils/assert-never.ts
859
+ function assertNever(x, message) {
860
+ throw new Error(
861
+ message ?? `Unhandled case: ${JSON.stringify(x)}`
862
+ );
863
+ }
864
+
857
865
  // src/utils/tool-output-serializer.ts
858
866
  function createToolOutputSerializer(opts = {}) {
859
867
  const capBytes = opts.perIterationOutputCapBytes ?? 1e5;
@@ -900,16 +908,17 @@ function createToolOutputSerializer(opts = {}) {
900
908
 
901
909
  // src/utils/token-estimate.ts
902
910
  var RoughTokenEstimate = (text, charsPerToken = 3.5) => Math.max(1, Math.ceil(text.length / charsPerToken));
903
- var _cal = {
904
- ratio: 1,
905
- // current calibration multiplier (actual / estimated)
906
- count: 0,
907
- // number of samples recorded
908
- prevEst: 0,
909
- // estimated tokens from the most recent estimateRequestTokens call
910
- /** EWM α — higher = faster adaptation, more volatile */
911
- alpha: 0.3
912
- };
911
+ var CAL_ALPHA = 0.3;
912
+ var CALIBRATION_GLOBAL_KEY = "__global__";
913
+ var _cals = /* @__PURE__ */ new Map();
914
+ function calState(key) {
915
+ let state = _cals.get(key);
916
+ if (!state) {
917
+ state = { ratio: 1, count: 0, prevEst: 0 };
918
+ _cals.set(key, state);
919
+ }
920
+ return state;
921
+ }
913
922
  var MIN_SAMPLES_FOR_CALIBRATION = 3;
914
923
  var ESTIMATE_CACHE = /* @__PURE__ */ new Map();
915
924
  var ESTIMATE_CACHE_MAX_SIZE = 1e4;
@@ -942,10 +951,25 @@ function estimateToolResultTokens(content) {
942
951
  function estimateTextTokens(text) {
943
952
  return RoughTokenEstimate(text);
944
953
  }
954
+ function estimateMessageTokens(messages) {
955
+ let total = 0;
956
+ for (const m of messages) {
957
+ if (typeof m.content === "string") {
958
+ total += estimateTextTokens(m.content);
959
+ } else {
960
+ for (const b of m.content) {
961
+ if (b.type === "text") total += estimateTextTokens(b.text);
962
+ else if (b.type === "tool_use") total += estimateToolInputTokens(b.input);
963
+ else if (b.type === "tool_result") total += estimateToolResultTokens(b.content);
964
+ }
965
+ }
966
+ }
967
+ return total;
968
+ }
945
969
  function estimateToolDefTokens(tool) {
946
970
  return RoughTokenEstimate(tool.name) + RoughTokenEstimate(tool.description ?? "") + RoughTokenEstimate(JSON.stringify(tool.inputSchema));
947
971
  }
948
- function estimateRequestTokens(messages, systemPrompt, tools) {
972
+ function estimateRequestTokens(messages, systemPrompt, tools, calibrationKey = CALIBRATION_GLOBAL_KEY) {
949
973
  let messagesTokens = 0;
950
974
  if (typeof messages === "string") {
951
975
  messagesTokens = RoughTokenEstimate(messages);
@@ -984,7 +1008,7 @@ function estimateRequestTokens(messages, systemPrompt, tools) {
984
1008
  toolsTokens += estimateToolDefTokens(t);
985
1009
  }
986
1010
  const total = messagesTokens + systemTokens + toolsTokens;
987
- _cal.prevEst = total;
1011
+ calState(calibrationKey).prevEst = total;
988
1012
  return {
989
1013
  messages: messagesTokens,
990
1014
  systemPrompt: systemTokens,
@@ -992,30 +1016,33 @@ function estimateRequestTokens(messages, systemPrompt, tools) {
992
1016
  total
993
1017
  };
994
1018
  }
995
- function recordActualUsage(actualInputTokens, estimatedInputTokens) {
1019
+ function recordActualUsage(actualInputTokens, estimatedInputTokens, calibrationKey = CALIBRATION_GLOBAL_KEY) {
996
1020
  if (actualInputTokens <= 0) return;
997
- const est = estimatedInputTokens ?? _cal.prevEst;
1021
+ const cal = calState(calibrationKey);
1022
+ const est = estimatedInputTokens ?? cal.prevEst;
998
1023
  if (est <= 0) return;
999
1024
  const sampleRatio = actualInputTokens / est;
1000
- if (_cal.count === 0) {
1001
- _cal.ratio = sampleRatio;
1025
+ if (cal.count === 0) {
1026
+ cal.ratio = sampleRatio;
1002
1027
  } else {
1003
- _cal.ratio = _cal.alpha * sampleRatio + (1 - _cal.alpha) * _cal.ratio;
1028
+ cal.ratio = CAL_ALPHA * sampleRatio + (1 - CAL_ALPHA) * cal.ratio;
1004
1029
  }
1005
- _cal.ratio = Math.min(1.5, Math.max(0.5, _cal.ratio));
1006
- _cal.count++;
1030
+ cal.ratio = Math.min(1.5, Math.max(0.5, cal.ratio));
1031
+ cal.count++;
1007
1032
  }
1008
- function getCalibrationState() {
1033
+ function getCalibrationState(calibrationKey = CALIBRATION_GLOBAL_KEY) {
1034
+ const cal = calState(calibrationKey);
1009
1035
  return {
1010
- ratio: _cal.ratio,
1011
- count: _cal.count,
1012
- calibrated: _cal.count >= MIN_SAMPLES_FOR_CALIBRATION
1036
+ ratio: cal.ratio,
1037
+ count: cal.count,
1038
+ calibrated: cal.count >= MIN_SAMPLES_FOR_CALIBRATION
1013
1039
  };
1014
1040
  }
1015
- function estimateRequestTokensCalibrated(messages, systemPrompt, tools) {
1016
- const result = estimateRequestTokens(messages, systemPrompt, tools);
1017
- if (_cal.count >= MIN_SAMPLES_FOR_CALIBRATION) {
1018
- const safeRatio = Math.min(1.5, Math.max(0.5, _cal.ratio));
1041
+ function estimateRequestTokensCalibrated(messages, systemPrompt, tools, calibrationKey = CALIBRATION_GLOBAL_KEY) {
1042
+ const result = estimateRequestTokens(messages, systemPrompt, tools, calibrationKey);
1043
+ const cal = calState(calibrationKey);
1044
+ if (cal.count >= MIN_SAMPLES_FOR_CALIBRATION) {
1045
+ const safeRatio = Math.min(1.5, Math.max(0.5, cal.ratio));
1019
1046
  return {
1020
1047
  messages: Math.round(result.messages * safeRatio),
1021
1048
  systemPrompt: Math.round(result.systemPrompt * safeRatio),
@@ -1025,10 +1052,12 @@ function estimateRequestTokensCalibrated(messages, systemPrompt, tools) {
1025
1052
  }
1026
1053
  return result;
1027
1054
  }
1028
- function resetCalibration() {
1029
- _cal.ratio = 1;
1030
- _cal.count = 0;
1031
- _cal.prevEst = 0;
1055
+ function resetCalibration(calibrationKey) {
1056
+ if (calibrationKey === void 0) {
1057
+ _cals.clear();
1058
+ return;
1059
+ }
1060
+ _cals.delete(calibrationKey);
1032
1061
  }
1033
1062
 
1034
1063
  // src/utils/message-invariants.ts
@@ -1537,6 +1566,6 @@ function mergeCustomModelDefs(providerCustomModels, configModels) {
1537
1566
  return out;
1538
1567
  }
1539
1568
 
1540
- export { atomicWrite, buildChildEnv, color, compileGlob, compileUserRegex, completePartialObject, computeTaskItemProgress, createToolOutputSerializer, detectNewlineStyle, ensureDir, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, expectDefined, formatTaskList, formatTaskProgress, formatTodosList, getCalibrationState, getTermSize, isInteractive, isStdinTTY, isStdoutTTY, matchAny, matchGlob, mergeCustomModelDefs, mergeModelsPayload, normalizeToLf, onResize, projectHash, projectSlug, recordActualUsage, repairToolUseAdjacency, resetCalibration, resolveWstackPaths, safeParse, safeStringify, sanitizeJsonString, setOutputLineGuard, setRawMode, sleep, stripAnsi, toStyle, unifiedDiff, validateAgainstSchema, withFileLock, writeErr, writeOut };
1569
+ export { assertNever, atomicWrite, buildChildEnv, color, compileGlob, compileUserRegex, completePartialObject, computeTaskItemProgress, createToolOutputSerializer, detectNewlineStyle, ensureDir, estimateMessageTokens, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, expectDefined, formatTaskList, formatTaskProgress, formatTodosList, getCalibrationState, getTermSize, isInteractive, isStdinTTY, isStdoutTTY, matchAny, matchGlob, mergeCustomModelDefs, mergeModelsPayload, normalizeToLf, onResize, projectHash, projectSlug, recordActualUsage, repairToolUseAdjacency, resetCalibration, resolveWstackPaths, safeParse, safeStringify, sanitizeJsonString, setOutputLineGuard, setRawMode, sleep, stripAnsi, toStyle, unifiedDiff, validateAgainstSchema, withFileLock, writeErr, writeOut };
1541
1570
  //# sourceMappingURL=index.js.map
1542
1571
  //# sourceMappingURL=index.js.map