@wrongstack/core 0.155.0 → 0.250.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 (81) hide show
  1. package/dist/{agent-bridge-BbZU5TPN.d.ts → agent-bridge-4gc0vfW2.d.ts} +1 -1
  2. package/dist/{agent-subagent-runner-Bsueu0J2.d.ts → agent-subagent-runner-Dz-9kiE6.d.ts} +9 -8
  3. package/dist/{brain-CS_B0vIE.d.ts → brain-sCZ3lCjq.d.ts} +26 -2
  4. package/dist/{compactor-BueGt7LG.d.ts → compactor-BRfg3QPd.d.ts} +1 -1
  5. package/dist/{config-BaVThgnT.d.ts → config-eSsrto5d.d.ts} +8 -2
  6. package/dist/{context-C7G_MtLV.d.ts → context-CLz3z_E8.d.ts} +126 -2
  7. package/dist/coordination/index.d.ts +70 -13
  8. package/dist/coordination/index.js +1986 -146
  9. package/dist/coordination/index.js.map +1 -1
  10. package/dist/defaults/index.d.ts +26 -26
  11. package/dist/defaults/index.js +1110 -296
  12. package/dist/defaults/index.js.map +1 -1
  13. package/dist/execution/index.d.ts +45 -16
  14. package/dist/execution/index.js +229 -56
  15. package/dist/execution/index.js.map +1 -1
  16. package/dist/execution/prompt-enhancer.d.ts +86 -0
  17. package/dist/execution/prompt-enhancer.js +125 -0
  18. package/dist/execution/prompt-enhancer.js.map +1 -0
  19. package/dist/extension/index.d.ts +6 -6
  20. package/dist/extension/index.js +3 -1
  21. package/dist/extension/index.js.map +1 -1
  22. package/dist/{goal-preamble-CbV8pXLD.d.ts → goal-preamble-BjJpnLW4.d.ts} +19 -10
  23. package/dist/{index-CI1hRfPt.d.ts → index-Dy8OwfBD.d.ts} +8 -8
  24. package/dist/{index-B5wz-GXm.d.ts → index-IehiNryU.d.ts} +7 -5
  25. package/dist/index.d.ts +438 -128
  26. package/dist/index.js +4989 -849
  27. package/dist/index.js.map +1 -1
  28. package/dist/infrastructure/index.d.ts +7 -7
  29. package/dist/infrastructure/index.js +61 -13
  30. package/dist/infrastructure/index.js.map +1 -1
  31. package/dist/kernel/index.d.ts +9 -9
  32. package/dist/kernel/index.js +7 -1
  33. package/dist/kernel/index.js.map +1 -1
  34. package/dist/{llm-selector-CP72f1lC.d.ts → llm-selector-D22R4AFz.d.ts} +2 -2
  35. package/dist/logger-DmmQhf4P.d.ts +65 -0
  36. package/dist/{mcp-servers-CPERR2De.d.ts → mcp-servers-DfXxCASH.d.ts} +3 -3
  37. package/dist/models/index.d.ts +5 -5
  38. package/dist/models/index.js +89 -9
  39. package/dist/models/index.js.map +1 -1
  40. package/dist/{models-registry-D90K9UnM.d.ts → models-registry-DpanBg8D.d.ts} +1 -1
  41. package/dist/{multi-agent-coordinator-BSKSFNhv.d.ts → multi-agent-coordinator-CnbEqpv0.d.ts} +8 -8
  42. package/dist/{null-fleet-bus-CGOez8Le.d.ts → null-fleet-bus-Do1OLYpj.d.ts} +7 -7
  43. package/dist/observability/index.d.ts +2 -2
  44. package/dist/package-outdated-watcher-CA5GGB4C.d.ts +560 -0
  45. package/dist/{parallel-eternal-engine-CYoTKjsz.d.ts → parallel-eternal-engine-UZg1xOzE.d.ts} +13 -9
  46. package/dist/{path-resolver-DuhlmPil.d.ts → path-resolver-BaP06Owy.d.ts} +3 -3
  47. package/dist/{permission-B7nKnEvQ.d.ts → permission-DbWPbuoA.d.ts} +1 -1
  48. package/dist/{permission-policy-8-6zBmfA.d.ts → permission-policy-AOk0LVsV.d.ts} +2 -2
  49. package/dist/pipeline-D1n-gQI-.d.ts +493 -0
  50. package/dist/{plan-templates-DbH7lg-t.d.ts → plan-templates-BUVRY0pU.d.ts} +18 -7
  51. package/dist/{provider-runner-Cocq0O9E.d.ts → provider-runner-D0HgUqwV.d.ts} +3 -3
  52. package/dist/{retry-policy-rutAfVeR.d.ts → retry-policy-BVnkbMET.d.ts} +1 -1
  53. package/dist/sdd/index.d.ts +8 -8
  54. package/dist/sdd/index.js +221 -87
  55. package/dist/sdd/index.js.map +1 -1
  56. package/dist/{secret-vault-w8MbUe2Q.d.ts → secret-vault-CeVNiy_f.d.ts} +3 -2
  57. package/dist/security/index.d.ts +5 -4
  58. package/dist/security/index.js +155 -13
  59. package/dist/security/index.js.map +1 -1
  60. package/dist/{selector-4vDFZKt3.d.ts → selector-Cb4_9-hf.d.ts} +1 -1
  61. package/dist/{session-event-bridge-DWlvglC2.d.ts → session-event-bridge-BhtkkFFy.d.ts} +4 -2
  62. package/dist/{session-reader-BAtCxdaw.d.ts → session-reader-CCOssnBS.d.ts} +1 -1
  63. package/dist/skills/index.js +171 -21
  64. package/dist/skills/index.js.map +1 -1
  65. package/dist/storage/index.d.ts +150 -12
  66. package/dist/storage/index.js +1041 -214
  67. package/dist/storage/index.js.map +1 -1
  68. package/dist/types/index.d.ts +67 -20
  69. package/dist/types/index.js +562 -55
  70. package/dist/types/index.js.map +1 -1
  71. package/dist/utils/expect-defined.js +3 -1
  72. package/dist/utils/expect-defined.js.map +1 -1
  73. package/dist/utils/index.d.ts +25 -4
  74. package/dist/utils/index.js +45 -14
  75. package/dist/utils/index.js.map +1 -1
  76. package/dist/{wstack-paths-DD50Omgn.d.ts → wstack-paths-CJjEwPXn.d.ts} +14 -1
  77. package/package.json +7 -3
  78. package/skills/chimera/SKILL.md +105 -0
  79. package/skills/research-web/SKILL.md +342 -0
  80. package/dist/logger-B9J5puGM.d.ts +0 -32
  81. package/dist/pipeline-BG7UgbDc.d.ts +0 -239
@@ -1,7 +1,9 @@
1
1
  // src/utils/expect-defined.ts
2
2
  function expectDefined(value, label) {
3
3
  if (value === null || value === void 0) {
4
- throw new Error(label ? `Expected ${label} to be defined` : "Expected value to be defined");
4
+ const err = new Error(label ? `Expected ${label} to be defined` : "Expected value to be defined");
5
+ err.name = "ExpectDefinedError";
6
+ throw err;
5
7
  }
6
8
  return value;
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/expect-defined.ts"],"names":[],"mappings":";AAIO,SAAS,aAAA,CAAiB,OAA6B,KAAA,EAAmB;AAC/E,EAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,KAAA,KAAU,MAAA,EAAW;AACzC,IAAA,MAAM,IAAI,KAAA,CAAM,KAAA,GAAQ,CAAA,SAAA,EAAY,KAAK,mBAAmB,8BAA8B,CAAA;AAAA,EAC5F;AACA,EAAA,OAAO,KAAA;AACT","file":"expect-defined.js","sourcesContent":["/** Assert a value is neither null nor undefined. Throws if it is.\n * Useful after optional chaining and indexed access when the\n * control flow guarantees the value exists but TypeScript can't\n * prove it (e.g. after a check on a related field). */\nexport function expectDefined<T>(value: T | null | undefined, label?: string): T {\n if (value === null || value === undefined) {\n throw new Error(label ? `Expected ${label} to be defined` : 'Expected value to be defined');\n }\n return value;\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/expect-defined.ts"],"names":[],"mappings":";AAIO,SAAS,aAAA,CAAiB,OAA6B,KAAA,EAAmB;AAC/E,EAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,KAAA,KAAU,MAAA,EAAW;AACzC,IAAA,MAAM,MAAM,IAAI,KAAA,CAAM,QAAQ,CAAA,SAAA,EAAY,KAAK,mBAAmB,8BAA8B,CAAA;AAChG,IAAA,GAAA,CAAI,IAAA,GAAO,oBAAA;AACX,IAAA,MAAM,GAAA;AAAA,EACR;AACA,EAAA,OAAO,KAAA;AACT","file":"expect-defined.js","sourcesContent":["/** Assert a value is neither null nor undefined. Throws if it is.\n * Useful after optional chaining and indexed access when the\n * control flow guarantees the value exists but TypeScript can't\n * prove it (e.g. after a check on a related field). */\nexport function expectDefined<T>(value: T | null | undefined, label?: string): T {\n if (value === null || value === undefined) {\n const err = new Error(label ? `Expected ${label} to be defined` : 'Expected value to be defined');\n err.name = 'ExpectDefinedError';\n throw err;\n }\n return value;\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { s as TodoItem, M as Message, J as JSONSchema } from '../context-C7G_MtLV.js';
1
+ import { s as TodoItem, M as Message, J as JSONSchema } from '../context-CLz3z_E8.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-DD50Omgn.js';
3
+ export { a as WstackPathOptions, W as WstackPaths, p as projectHash, b as projectSlug, r as resolveWstackPaths, w as wstackGlobalRoot } from '../wstack-paths-CJjEwPXn.js';
4
4
  export { expectDefined } from './expect-defined.js';
5
- import { a as ModelsDevPayload, t as CustomModelDefinition } from '../config-BaVThgnT.js';
5
+ import { a as ModelsDevPayload, t as CustomModelDefinition } from '../config-eSsrto5d.js';
6
6
  export { a as TaskPriority, b as TaskStatus, T as TaskType } from '../task-graph-u1q9Jkyk.js';
7
7
 
8
8
  interface AtomicWriteOptions {
@@ -209,6 +209,15 @@ declare function writeErr(s: string, stream?: NodeJS.WriteStream): boolean;
209
209
  */
210
210
  declare function formatTodosList(todos: TodoItem[]): string;
211
211
 
212
+ /**
213
+ * String utilities shared across the WrongStack codebase.
214
+ */
215
+ /**
216
+ * Truncate a string to at most `max` characters, appending an ellipsis if it
217
+ * was longer. Returns the original string unchanged when it fits.
218
+ */
219
+ declare function truncate(s: string, max: number): string;
220
+
212
221
  declare function compileGlob(pattern: string): RegExp;
213
222
  declare function matchGlob(pattern: string, input: string): boolean;
214
223
  declare function matchAny(patterns: string[], input: string): boolean;
@@ -370,11 +379,23 @@ declare function estimateToolResultTokens(content: string | unknown): number;
370
379
  * Estimate tokens for a text block.
371
380
  */
372
381
  declare function estimateTextTokens(text: string): number;
382
+ /**
383
+ * Compute and cache the token estimate for a single message. This is the
384
+ * canonical per-message estimator — called once by ConversationState on
385
+ * append/replace so the O(n·m) content-block walk happens at mutation time,
386
+ * not on every context-pressure check.
387
+ */
388
+ declare function computeMessageTokens(msg: Message): number;
373
389
  /**
374
390
  * Estimate tokens for an array of messages (text + tool I/O), using the shared
375
391
  * 3.5 chars/token basis. This is the single canonical message-array estimator —
376
392
  * compactors, the context_manager tool, and the `/context` display all route
377
393
  * through it so the number a user sees matches the number compaction decides on.
394
+ *
395
+ * When a message carries a pre-computed `_estTokens` field (set by
396
+ * ConversationState on append/replace), it is used directly instead of
397
+ * re-walking the content blocks — turning the O(n·m) scan into an O(n)
398
+ * sum for fully-cached arrays.
378
399
  */
379
400
  declare function estimateMessageTokens(messages: readonly Message[]): number;
380
401
  /**
@@ -581,4 +602,4 @@ declare function mergeModelsPayload(base: ModelsDevPayload, overlay: ModelsDevPa
581
602
  */
582
603
  declare function mergeCustomModelDefs(providerCustomModels: Record<string, CustomModelDefinition> | undefined, configModels: Record<string, CustomModelDefinition> | undefined): Record<string, CustomModelDefinition> | undefined;
583
604
 
584
- export { type AtomicWriteOptions, type BuildChildEnvOptions, type CompileFail, type CompileResult, type DeepMergeOptions, FORBIDDEN_PROTO_KEYS, 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, deepMerge, detectNewlineStyle, ensureDir, estimateMessageTokens, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, formatTodosList, getCalibrationState, getTermSize, isInteractive, isPrimitiveArray, isStdinTTY, isStdoutTTY, matchAny, matchGlob, mergeCustomModelDefs, mergeModelsPayload, normalizeToLf, onResize, recordActualUsage, repairToolUseAdjacency, resetCalibration, safeParse, safeStringify, sanitizeJsonString, setOutputLineGuard, setRawMode, sleep, stripAnsi, toStyle, unifiedDiff, validateAgainstSchema, withFileLock, writeErr, writeOut };
605
+ export { type AtomicWriteOptions, type BuildChildEnvOptions, type CompileFail, type CompileResult, type DeepMergeOptions, FORBIDDEN_PROTO_KEYS, 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, computeMessageTokens, createToolOutputSerializer, deepMerge, detectNewlineStyle, ensureDir, estimateMessageTokens, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, formatTodosList, getCalibrationState, getTermSize, isInteractive, isPrimitiveArray, isStdinTTY, isStdoutTTY, matchAny, matchGlob, mergeCustomModelDefs, mergeModelsPayload, normalizeToLf, onResize, recordActualUsage, repairToolUseAdjacency, resetCalibration, safeParse, safeStringify, sanitizeJsonString, setOutputLineGuard, setRawMode, sleep, stripAnsi, toStyle, truncate, unifiedDiff, validateAgainstSchema, withFileLock, writeErr, writeOut };
@@ -473,10 +473,17 @@ function formatTaskList(tasks) {
473
473
  return lines.join("\n");
474
474
  }
475
475
 
476
+ // src/utils/string.ts
477
+ function truncate(s, max) {
478
+ return s.length <= max ? s : `${s.slice(0, max - 1)}\u2026`;
479
+ }
480
+
476
481
  // src/utils/expect-defined.ts
477
482
  function expectDefined(value, label) {
478
483
  if (value === null || value === void 0) {
479
- throw new Error(label ? `Expected ${label} to be defined` : "Expected value to be defined");
484
+ const err = new Error(label ? `Expected ${label} to be defined` : "Expected value to be defined");
485
+ err.name = "ExpectDefinedError";
486
+ throw err;
480
487
  }
481
488
  return value;
482
489
  }
@@ -719,9 +726,13 @@ function projectSlug(absRoot) {
719
726
  function slugify(name) {
720
727
  return name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 40) || "project";
721
728
  }
729
+ function wstackGlobalRoot() {
730
+ const fromEnv = process.env["WRONGSTACK_HOME"];
731
+ if (fromEnv && fromEnv.trim().length > 0) return path2.resolve(fromEnv);
732
+ return path2.join(os.homedir(), ".wrongstack");
733
+ }
722
734
  function resolveWstackPaths(opts) {
723
- const home = opts.userHome ?? os.homedir();
724
- const globalRoot = opts.globalRoot ?? path2.join(home, ".wrongstack");
735
+ const globalRoot = opts.globalRoot ?? (opts.userHome ? path2.join(opts.userHome, ".wrongstack") : wstackGlobalRoot());
725
736
  const hash = projectHash(opts.projectRoot);
726
737
  const slug = projectSlug(opts.projectRoot);
727
738
  const projectDir = path2.join(globalRoot, "projects", slug);
@@ -839,7 +850,11 @@ function buildChildEnv(optsOrSessionId) {
839
850
  continue;
840
851
  }
841
852
  if (looksSecret(upper)) continue;
842
- if (upper.startsWith("NODE_") || upper.startsWith("NPM_") || upper.startsWith("PNPM_") || upper.startsWith("YARN_") || upper.startsWith("GIT_") || upper.startsWith("CI") || upper.startsWith("XDG_") || upper === "EDITOR" || upper === "VISUAL" || upper === "PAGER") {
853
+ if (upper.startsWith("NODE_") || upper.startsWith("NPM_") || upper.startsWith("PNPM_") || upper.startsWith("YARN_") || upper.startsWith("GIT_") || upper.startsWith("CI") || upper.startsWith("XDG_") || // Our own non-secret knobs (WRONGSTACK_HOME, WRONGSTACK_SESSION_ID, ).
854
+ // Secrets never live in WRONGSTACK_* env vars (they're in the encrypted
855
+ // vault). Forwarding keeps child wstack processes — e.g. ones spawned
856
+ // by the test suite — inside the same redirected global root.
857
+ upper.startsWith("WRONGSTACK_") || upper === "EDITOR" || upper === "VISUAL" || upper === "PAGER") {
843
858
  out[k] = v;
844
859
  }
845
860
  }
@@ -857,9 +872,11 @@ function sleep(ms) {
857
872
 
858
873
  // src/utils/assert-never.ts
859
874
  function assertNever(x, message) {
860
- throw new Error(
875
+ const err = new Error(
861
876
  message ?? `Unhandled case: ${JSON.stringify(x)}`
862
877
  );
878
+ err.name = "AssertNeverError";
879
+ throw err;
863
880
  }
864
881
 
865
882
  // src/utils/deep-merge.ts
@@ -1010,22 +1027,31 @@ function estimateToolResultTokens(content) {
1010
1027
  function estimateTextTokens(text) {
1011
1028
  return RoughTokenEstimate(text);
1012
1029
  }
1030
+ function computeMessageTokens(msg) {
1031
+ if (typeof msg.content === "string") return estimateTextTokens(msg.content);
1032
+ let total = 0;
1033
+ for (const b of msg.content) {
1034
+ if (b.type === "text") total += estimateTextTokens(b.text);
1035
+ else if (b.type === "tool_use") total += estimateToolInputTokens(b.input);
1036
+ else if (b.type === "tool_result") total += estimateToolResultTokens(b.content);
1037
+ else total += RoughTokenEstimate(JSON.stringify(b));
1038
+ }
1039
+ return total;
1040
+ }
1013
1041
  function estimateMessageTokens(messages) {
1014
1042
  let total = 0;
1015
1043
  for (const m of messages) {
1016
- if (typeof m.content === "string") {
1017
- total += estimateTextTokens(m.content);
1018
- } else {
1019
- for (const b of m.content) {
1020
- if (b.type === "text") total += estimateTextTokens(b.text);
1021
- else if (b.type === "tool_use") total += estimateToolInputTokens(b.input);
1022
- else if (b.type === "tool_result") total += estimateToolResultTokens(b.content);
1023
- }
1044
+ if (typeof m._estTokens === "number" && m._estTokens > 0) {
1045
+ total += m._estTokens;
1046
+ continue;
1024
1047
  }
1048
+ total += computeMessageTokens(m);
1025
1049
  }
1026
1050
  return total;
1027
1051
  }
1028
1052
  function estimateToolDefTokens(tool) {
1053
+ const cached = tool._estDefTokens;
1054
+ if (typeof cached === "number" && cached > 0) return cached;
1029
1055
  return RoughTokenEstimate(tool.name) + RoughTokenEstimate(tool.description ?? "") + RoughTokenEstimate(JSON.stringify(tool.inputSchema));
1030
1056
  }
1031
1057
  function estimateRequestTokens(messages, systemPrompt, tools, calibrationKey = CALIBRATION_GLOBAL_KEY) {
@@ -1035,6 +1061,11 @@ function estimateRequestTokens(messages, systemPrompt, tools, calibrationKey = C
1035
1061
  } else if (Array.isArray(messages)) {
1036
1062
  for (const m of messages) {
1037
1063
  if (typeof m === "object" && m !== null && "content" in m) {
1064
+ const cached = m._estTokens;
1065
+ if (typeof cached === "number" && cached > 0) {
1066
+ messagesTokens += cached;
1067
+ continue;
1068
+ }
1038
1069
  const content = m.content;
1039
1070
  if (typeof content === "string") {
1040
1071
  messagesTokens += RoughTokenEstimate(content);
@@ -1625,6 +1656,6 @@ function mergeCustomModelDefs(providerCustomModels, configModels) {
1625
1656
  return out;
1626
1657
  }
1627
1658
 
1628
- export { FORBIDDEN_PROTO_KEYS, assertNever, atomicWrite, buildChildEnv, color, compileGlob, compileUserRegex, completePartialObject, computeTaskItemProgress, createToolOutputSerializer, deepMerge, detectNewlineStyle, ensureDir, estimateMessageTokens, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, expectDefined, formatTaskList, formatTaskProgress, formatTodosList, getCalibrationState, getTermSize, isInteractive, isPrimitiveArray, 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 };
1659
+ export { FORBIDDEN_PROTO_KEYS, assertNever, atomicWrite, buildChildEnv, color, compileGlob, compileUserRegex, completePartialObject, computeMessageTokens, computeTaskItemProgress, createToolOutputSerializer, deepMerge, detectNewlineStyle, ensureDir, estimateMessageTokens, estimateRequestTokens, estimateRequestTokensCalibrated, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, expandGlob, expectDefined, formatTaskList, formatTaskProgress, formatTodosList, getCalibrationState, getTermSize, isInteractive, isPrimitiveArray, isStdinTTY, isStdoutTTY, matchAny, matchGlob, mergeCustomModelDefs, mergeModelsPayload, normalizeToLf, onResize, projectHash, projectSlug, recordActualUsage, repairToolUseAdjacency, resetCalibration, resolveWstackPaths, safeParse, safeStringify, sanitizeJsonString, setOutputLineGuard, setRawMode, sleep, stripAnsi, toStyle, truncate, unifiedDiff, validateAgainstSchema, withFileLock, writeErr, writeOut, wstackGlobalRoot };
1629
1660
  //# sourceMappingURL=index.js.map
1630
1661
  //# sourceMappingURL=index.js.map