oh-my-opencode 5.0.0-beta.18 → 5.0.0-beta.19

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 (143) hide show
  1. package/dist/cli/index.js +289 -160
  2. package/dist/cli-node/index.js +289 -160
  3. package/dist/index.js +324 -176
  4. package/dist/skills/ast-grep/AGENTS.md +51 -0
  5. package/dist/skills/coding-agent-sessions/AGENTS.md +62 -0
  6. package/dist/skills/start-work/SKILL.md +2 -1
  7. package/dist/skills/ultimate-browsing/SKILL.md +2 -0
  8. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +2 -0
  9. package/dist/skills/visual-qa/AGENTS.md +58 -0
  10. package/dist/tui.js +17 -17
  11. package/package.json +21 -21
  12. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  13. package/packages/omo-codex/plugin/AGENTS.md +47 -0
  14. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  15. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  17. package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +9 -0
  18. package/packages/omo-codex/plugin/components/comment-checker/biome.json +2 -2
  19. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  20. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +2 -8
  22. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +1 -2
  23. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +1 -1
  24. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  25. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +2 -2
  27. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +1 -5
  28. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +1 -5
  29. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +1 -5
  32. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +1 -4
  33. package/packages/omo-codex/plugin/components/lsp/AGENTS.md +30 -15
  34. package/packages/omo-codex/plugin/components/lsp/biome.json +2 -2
  35. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  36. package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +1 -1
  37. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  38. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +1 -1
  40. package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +1 -5
  41. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +6 -7
  42. package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +1 -2
  43. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +11 -1
  44. package/packages/omo-codex/plugin/components/rules/AGENTS.md +12 -0
  45. package/packages/omo-codex/plugin/components/rules/biome.json +2 -2
  46. package/packages/omo-codex/plugin/components/rules/dist/cli.js +43 -30
  47. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  48. package/packages/omo-codex/plugin/components/rules/package.json +2 -2
  49. package/packages/omo-codex/plugin/components/rules/src/config.ts +1 -2
  50. package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -2
  51. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +6 -2
  52. package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +1 -4
  53. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -9
  54. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +1 -2
  55. package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -2
  56. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +7 -4
  57. package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -3
  58. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +2 -3
  59. package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +1 -2
  60. package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -3
  61. package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +1 -1
  62. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -2
  63. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +1 -2
  64. package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +3 -6
  65. package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -2
  66. package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +2 -5
  67. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +1 -2
  68. package/packages/omo-codex/plugin/components/start-work-continuation/biome.json +2 -2
  69. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  70. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  71. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  72. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  73. package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +8 -0
  74. package/packages/omo-codex/plugin/components/telemetry/biome.json +2 -2
  75. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +237 -99
  76. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +237 -99
  77. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  78. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  79. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +1 -4
  80. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +4 -14
  81. package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +1 -1
  82. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +2 -5
  83. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +5 -0
  84. package/packages/omo-codex/plugin/components/ultrawork/biome.json +2 -2
  85. package/packages/omo-codex/plugin/components/ultrawork/directive.md +7 -1
  86. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  87. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  88. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +7 -1
  89. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +9 -1
  90. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +16 -0
  91. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +2 -2
  92. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +7 -1
  93. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +1 -1
  94. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +1 -1
  95. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  96. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  97. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +3 -1
  98. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +3 -1
  99. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +18 -0
  100. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +3 -2
  101. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +8 -5
  102. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  103. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  104. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  105. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  106. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  107. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  108. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  109. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  110. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  111. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  112. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  113. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  114. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  115. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  116. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  117. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  118. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  119. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  120. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  121. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  122. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  123. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  124. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  125. package/packages/omo-codex/plugin/package-lock.json +19 -19
  126. package/packages/omo-codex/plugin/package.json +1 -1
  127. package/packages/omo-codex/plugin/scripts/AGENTS.md +40 -0
  128. package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +51 -0
  129. package/packages/omo-codex/plugin/skills/coding-agent-sessions/AGENTS.md +62 -0
  130. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +2 -1
  131. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -0
  132. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +2 -0
  133. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +7 -1
  134. package/packages/omo-codex/plugin/skills/visual-qa/AGENTS.md +58 -0
  135. package/packages/omo-codex/plugin/test/AGENTS.md +47 -0
  136. package/packages/omo-codex/scripts/AGENTS.md +36 -0
  137. package/packages/omo-codex/scripts/install-dist/install-local.mjs +249 -120
  138. package/packages/shared-skills/skills/ast-grep/AGENTS.md +51 -0
  139. package/packages/shared-skills/skills/coding-agent-sessions/AGENTS.md +62 -0
  140. package/packages/shared-skills/skills/start-work/SKILL.md +2 -1
  141. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -0
  142. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +2 -0
  143. package/packages/shared-skills/skills/visual-qa/AGENTS.md +58 -0
@@ -338,7 +338,7 @@ function getTelemetryHost(env = process.env, defaultHost = DEFAULT_POSTHOG_HOST)
338
338
  return env["POSTHOG_HOST"]?.trim() || defaultHost;
339
339
  }
340
340
 
341
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
341
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
342
342
  import { dirname, posix, sep } from "node:path";
343
343
  function createModulerModifier() {
344
344
  const getModuleFromFileName = createGetModuleFromFilename();
@@ -374,7 +374,7 @@ function normalizeWindowsPath(path2) {
374
374
  return path2.replace(/^[A-Z]:/, "").replace(/\\/g, "/");
375
375
  }
376
376
 
377
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/featureFlagUtils.mjs
377
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/featureFlagUtils.mjs
378
378
  var normalizeFlagsResponse = (flagsResponse) => {
379
379
  if ("flags" in flagsResponse) {
380
380
  const featureFlags = getFlagValuesFromFlags(flagsResponse.flags);
@@ -506,7 +506,7 @@ var minimizeFlagCalledEventProperties = (properties, transportKeys = []) => {
506
506
  return minimal;
507
507
  };
508
508
 
509
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/types.mjs
509
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/types.mjs
510
510
  var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedProperty) {
511
511
  PostHogPersistedProperty["AnonymousId"] = "anonymous_id";
512
512
  PostHogPersistedProperty["DistinctId"] = "distinct_id";
@@ -544,7 +544,7 @@ var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedPr
544
544
  return PostHogPersistedProperty;
545
545
  }({});
546
546
 
547
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/gzip.mjs
547
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/gzip.mjs
548
548
  function isGzipSupported() {
549
549
  return "CompressionStream" in globalThis && "TextEncoder" in globalThis && "Response" in globalThis && typeof Response.prototype.blob == "function";
550
550
  }
@@ -618,7 +618,34 @@ async function gzipCompress(input, isDebug = true, options) {
618
618
  }
619
619
  }
620
620
 
621
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/bot-detection.mjs
621
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/json-utils.mjs
622
+ var MAX_JSON_SAFE_VALUE_DEPTH = 20;
623
+ var MAX_JSON_SAFE_VALUE_ITEMS = 1000;
624
+ var MAX_JSON_SAFE_VALUE_NODES = 1e4;
625
+ var CIRCULAR_VALUE = "[Circular]";
626
+ var TRUNCATED_VALUE = "[Truncated]";
627
+ var UNSERIALIZABLE_VALUE = "[Unserializable]";
628
+ var FUNCTION_VALUE = "[Function]";
629
+ var dateGetTime = Date.prototype.getTime;
630
+ var dateToISOString = Date.prototype.toISOString;
631
+ function sanitizeString(value) {
632
+ let output = "";
633
+ for (let index = 0;index < value.length; index++) {
634
+ const codeUnit = value.charCodeAt(index);
635
+ if (codeUnit >= 55296 && codeUnit <= 56319) {
636
+ const nextCodeUnit = value.charCodeAt(index + 1);
637
+ if (nextCodeUnit >= 56320 && nextCodeUnit <= 57343) {
638
+ output += value[index] + value[index + 1];
639
+ index++;
640
+ } else
641
+ output += "�";
642
+ } else
643
+ output += codeUnit >= 56320 && codeUnit <= 57343 ? "�" : value[index];
644
+ }
645
+ return output;
646
+ }
647
+
648
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/bot-detection.mjs
622
649
  var DEFAULT_BLOCKED_UA_STRS = [
623
650
  "amazonbot",
624
651
  "amazonproductbot",
@@ -707,7 +734,7 @@ var isBlockedUA = function(ua, customBlockedUserAgents = []) {
707
734
  return uaLower.indexOf(blockedUaLower) !== -1;
708
735
  });
709
736
  };
710
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/string-utils.mjs
737
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/string-utils.mjs
711
738
  function safeJsonStringify(value) {
712
739
  const ancestors = [];
713
740
  return JSON.stringify(value, function(_key, replacementValue) {
@@ -731,7 +758,7 @@ function safeJsonStringify(value) {
731
758
  return replacementValue;
732
759
  }) ?? "null";
733
760
  }
734
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/type-utils.mjs
761
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/type-utils.mjs
735
762
  var nativeIsArray = Array.isArray;
736
763
  var ObjProto = Object.prototype;
737
764
  var type_utils_hasOwnProperty = ObjProto.hasOwnProperty;
@@ -744,6 +771,7 @@ var isUndefined = (x) => x === undefined;
744
771
  var isString = (x) => type_utils_toString.call(x) == "[object String]";
745
772
  var isEmptyString = (x) => isString(x) && x.trim().length === 0;
746
773
  var isNull = (x) => x === null;
774
+ var isNullish = (x) => isUndefined(x) || isNull(x);
747
775
  var isNumber = (x) => type_utils_toString.call(x) == "[object Number]" && x === x;
748
776
  var isBoolean = (x) => type_utils_toString.call(x) === "[object Boolean]";
749
777
  function isPrimitive(value) {
@@ -781,7 +809,7 @@ function isInstanceOf(candidate, base) {
781
809
  }
782
810
  }
783
811
 
784
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/number-utils.mjs
812
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/number-utils.mjs
785
813
  function clampToRange(value, min, max, logger, fallbackValue) {
786
814
  if (min > max) {
787
815
  logger.warn("min cannot be greater than max.");
@@ -801,7 +829,7 @@ function clampToRange(value, min, max, logger, fallbackValue) {
801
829
  return clampToRange(fallbackValue || max, min, max, logger);
802
830
  }
803
831
 
804
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs
832
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs
805
833
  var ONE_DAY_IN_MS = 86400000;
806
834
  var DEFAULT_EXCEPTION_RATE_LIMITER_REFILL_RATE = 1;
807
835
  var DEFAULT_EXCEPTION_RATE_LIMITER_BUCKET_SIZE = 10;
@@ -853,10 +881,7 @@ class BucketedRateLimiter {
853
881
  this._buckets = {};
854
882
  }
855
883
  }
856
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/json-utils.mjs
857
- var dateGetTime = Date.prototype.getTime;
858
- var dateToISOString = Date.prototype.toISOString;
859
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/vendor/uuidv7.mjs
884
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/vendor/uuidv7.mjs
860
885
  /*! For license information please see uuidv7.mjs.LICENSE.txt */
861
886
  var DIGITS = "0123456789abcdef";
862
887
 
@@ -1034,7 +1059,7 @@ var defaultGenerator;
1034
1059
  var uuidv7 = () => uuidv7obj().toString();
1035
1060
  var uuidv7obj = () => (defaultGenerator || (defaultGenerator = new V7Generator)).generate();
1036
1061
 
1037
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/promise-queue.mjs
1062
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/promise-queue.mjs
1038
1063
  class PromiseQueue {
1039
1064
  add(promise) {
1040
1065
  const promiseUUID = uuidv7();
@@ -1072,7 +1097,7 @@ class PromiseQueue {
1072
1097
  this.nextId = 0;
1073
1098
  }
1074
1099
  }
1075
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/logger.mjs
1100
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/logger.mjs
1076
1101
  function createConsole(consoleLike = console) {
1077
1102
  const lockedMethods = {
1078
1103
  log: consoleLike.log.bind(consoleLike),
@@ -1113,7 +1138,7 @@ var passThrough = (fn) => fn();
1113
1138
  function createLogger(prefix, maybeCall = passThrough) {
1114
1139
  return _createLogger(prefix, maybeCall, createConsole());
1115
1140
  }
1116
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs
1141
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs
1117
1142
  var MOBILE = "Mobile";
1118
1143
  var IOS = "iOS";
1119
1144
  var ANDROID = "Android";
@@ -1406,7 +1431,7 @@ var osMatchers = [
1406
1431
  ]
1407
1432
  ];
1408
1433
 
1409
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/utils/index.mjs
1434
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/utils/index.mjs
1410
1435
  var STRING_FORMAT = "utf8";
1411
1436
  var UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1412
1437
  function isValidUUID(value) {
@@ -1472,7 +1497,7 @@ function allSettled(promises) {
1472
1497
  }))));
1473
1498
  }
1474
1499
 
1475
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/logs/logs-utils.mjs
1500
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/logs/logs-utils.mjs
1476
1501
  var OTLP_SEVERITY_MAP = {
1477
1502
  trace: {
1478
1503
  text: "TRACE",
@@ -1500,7 +1525,27 @@ var OTLP_SEVERITY_MAP = {
1500
1525
  }
1501
1526
  };
1502
1527
  var DEFAULT_OTLP_SEVERITY = OTLP_SEVERITY_MAP.info;
1503
- function toOtlpAnyValue(value) {
1528
+ var INT64_RANGE_LIMIT = 9223372036854776000;
1529
+ var propertyIsEnumerable = Object.prototype.propertyIsEnumerable;
1530
+ function newState() {
1531
+ return {
1532
+ ancestors: new WeakSet,
1533
+ remainingNodes: MAX_JSON_SAFE_VALUE_NODES
1534
+ };
1535
+ }
1536
+ function toOtlpKeyValueList(attrs, logger2) {
1537
+ try {
1538
+ return encodeKeyValueList(attrs, logger2, newState(), 0);
1539
+ } catch {
1540
+ return [];
1541
+ }
1542
+ }
1543
+ function encodeAnyValue(value, logger2, state, depth) {
1544
+ if (state.remainingNodes <= 0)
1545
+ return {
1546
+ stringValue: TRUNCATED_VALUE
1547
+ };
1548
+ state.remainingNodes--;
1504
1549
  if (isBoolean(value))
1505
1550
  return {
1506
1551
  boolValue: value
@@ -1510,48 +1555,134 @@ function toOtlpAnyValue(value) {
1510
1555
  return {
1511
1556
  stringValue: String(value)
1512
1557
  };
1513
- if (Number.isInteger(value))
1558
+ if (Number.isInteger(value)) {
1559
+ if (Number.isSafeInteger(value))
1560
+ return {
1561
+ intValue: String(value)
1562
+ };
1563
+ if (typeof BigInt == "undefined")
1564
+ return {
1565
+ stringValue: String(value)
1566
+ };
1567
+ const decimal = BigInt(value).toString();
1568
+ if (value >= INT64_RANGE_LIMIT || value < -INT64_RANGE_LIMIT) {
1569
+ logger2?.debug(`Attribute ${decimal} is outside the int64 range; encoding it as a string`);
1570
+ return {
1571
+ stringValue: decimal
1572
+ };
1573
+ }
1514
1574
  return {
1515
- intValue: value
1575
+ intValue: decimal
1516
1576
  };
1577
+ }
1517
1578
  return {
1518
1579
  doubleValue: value
1519
1580
  };
1520
1581
  }
1521
1582
  if (typeof value == "string")
1522
1583
  return {
1523
- stringValue: value
1584
+ stringValue: sanitizeString(value)
1524
1585
  };
1525
- if (isArray(value))
1586
+ if (typeof value == "function")
1526
1587
  return {
1527
- arrayValue: {
1528
- values: value.map((v) => toOtlpAnyValue(v))
1529
- }
1588
+ stringValue: FUNCTION_VALUE
1530
1589
  };
1531
- try {
1532
- return {
1533
- stringValue: JSON.stringify(value)
1534
- };
1535
- } catch {
1590
+ if (typeof value == "symbol")
1536
1591
  return {
1537
1592
  stringValue: String(value)
1538
1593
  };
1594
+ if (typeof value == "object" && value !== null) {
1595
+ if (state.ancestors.has(value))
1596
+ return {
1597
+ stringValue: CIRCULAR_VALUE
1598
+ };
1599
+ if (depth >= MAX_JSON_SAFE_VALUE_DEPTH)
1600
+ return {
1601
+ stringValue: TRUNCATED_VALUE
1602
+ };
1603
+ if (value instanceof Date) {
1604
+ const time = value.getTime();
1605
+ const iso = Number.isFinite(time) ? value.toISOString() : String(value);
1606
+ return {
1607
+ stringValue: typeof iso == "string" ? sanitizeString(iso) : String(iso)
1608
+ };
1609
+ }
1610
+ state.ancestors.add(value);
1611
+ try {
1612
+ try {
1613
+ const toJSON = value.toJSON;
1614
+ if (typeof toJSON == "function")
1615
+ return encodeAnyValue(toJSON.call(value), logger2, state, depth + 1);
1616
+ } catch {}
1617
+ if (isArray(value))
1618
+ return {
1619
+ arrayValue: {
1620
+ values: encodeArrayValues(value, logger2, state, depth + 1)
1621
+ }
1622
+ };
1623
+ return {
1624
+ kvlistValue: {
1625
+ values: encodeKeyValueList(value, logger2, state, depth + 1)
1626
+ }
1627
+ };
1628
+ } finally {
1629
+ state.ancestors.delete(value);
1630
+ }
1539
1631
  }
1632
+ return {
1633
+ stringValue: sanitizeString(String(value))
1634
+ };
1540
1635
  }
1541
- function toOtlpKeyValueList(attrs) {
1636
+ function encodeArrayValues(values, logger2, state, depth) {
1542
1637
  const result = [];
1543
- for (const key in attrs) {
1544
- const value = attrs[key];
1545
- if (!(isNull(value) || isUndefined(value)))
1638
+ const itemCount = Math.min(values.length, MAX_JSON_SAFE_VALUE_ITEMS);
1639
+ let index = 0;
1640
+ for (;index < itemCount && state.remainingNodes > 0; index++)
1641
+ try {
1642
+ const element = index in values ? values[index] : undefined;
1643
+ if (isNullish(element))
1644
+ continue;
1645
+ result.push(encodeAnyValue(element, logger2, state, depth));
1646
+ } catch {
1546
1647
  result.push({
1547
- key,
1548
- value: toOtlpAnyValue(value)
1648
+ stringValue: UNSERIALIZABLE_VALUE
1549
1649
  });
1550
- }
1650
+ }
1651
+ if (values.length > index)
1652
+ result.push({
1653
+ stringValue: TRUNCATED_VALUE
1654
+ });
1655
+ return result;
1656
+ }
1657
+ function encodeKeyValueList(attrs, logger2, state, depth) {
1658
+ const result = [];
1659
+ for (const key in attrs)
1660
+ if (propertyIsEnumerable.call(attrs, key)) {
1661
+ if (result.length >= MAX_JSON_SAFE_VALUE_ITEMS || state.remainingNodes <= 0) {
1662
+ logger2?.debug("Attributes truncated: the value exceeds the OTLP encoder budget");
1663
+ break;
1664
+ }
1665
+ try {
1666
+ const value = attrs[key];
1667
+ if (isNull(value) || isUndefined(value))
1668
+ continue;
1669
+ result.push({
1670
+ key: sanitizeString(key),
1671
+ value: encodeAnyValue(value, logger2, state, depth)
1672
+ });
1673
+ } catch {
1674
+ result.push({
1675
+ key: sanitizeString(key),
1676
+ value: {
1677
+ stringValue: UNSERIALIZABLE_VALUE
1678
+ }
1679
+ });
1680
+ }
1681
+ }
1551
1682
  return result;
1552
1683
  }
1553
1684
 
1554
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/metrics/metrics-utils.mjs
1685
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/metrics/metrics-utils.mjs
1555
1686
  var DEFAULT_HISTOGRAM_BOUNDS = [
1556
1687
  0,
1557
1688
  5,
@@ -1621,7 +1752,7 @@ function buildOtlpMetricsPayload(metrics, resourceAttributes, scopeName, scopeVe
1621
1752
  };
1622
1753
  }
1623
1754
 
1624
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/metrics/config.mjs
1755
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/metrics/config.mjs
1625
1756
  var DEFAULT_FLUSH_INTERVAL_MS = 1e4;
1626
1757
  var DEFAULT_MAX_SERIES_PER_FLUSH = 1000;
1627
1758
  function resolveMetricsConfig(config) {
@@ -1637,7 +1768,7 @@ function resolveMetricsConfig(config) {
1637
1768
  };
1638
1769
  }
1639
1770
 
1640
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/metrics/index.mjs
1771
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/metrics/index.mjs
1641
1772
  var OTLP_TEMPORALITY_DELTA = 1;
1642
1773
 
1643
1774
  class PostHogMetrics {
@@ -1892,7 +2023,7 @@ class PostHogMetrics {
1892
2023
  };
1893
2024
  byMetric.set(metricKey, metric);
1894
2025
  }
1895
- const attributes = toOtlpKeyValueList(state.attributes ?? {});
2026
+ const attributes = toOtlpKeyValueList(state.attributes ?? {}, this._logger);
1896
2027
  const startNano = msToUnixNano(state.windowStartMs);
1897
2028
  if (state.type === "count") {
1898
2029
  const dp = {
@@ -1957,7 +2088,7 @@ class PostHogMetrics {
1957
2088
  }
1958
2089
  }
1959
2090
  }
1960
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/eventemitter.mjs
2091
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/eventemitter.mjs
1961
2092
  class SimpleEventEmitter {
1962
2093
  constructor() {
1963
2094
  this.events = {};
@@ -1979,7 +2110,7 @@ class SimpleEventEmitter {
1979
2110
  }
1980
2111
  }
1981
2112
 
1982
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/index.mjs
2113
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/index.mjs
1983
2114
  var exports_error_tracking = {};
1984
2115
  __export(exports_error_tracking, {
1985
2116
  DEFAULT_EXCEPTION_STEPS_CONFIG: () => DEFAULT_EXCEPTION_STEPS_CONFIG,
@@ -2010,7 +2141,7 @@ __export(exports_error_tracking, {
2010
2141
  winjsStackLineParser: () => winjsStackLineParser
2011
2142
  });
2012
2143
 
2013
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs
2144
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs
2014
2145
  var parsedStackResults;
2015
2146
  var lastKeysCount;
2016
2147
  var cachedFilenameChunkIds;
@@ -2049,7 +2180,7 @@ function getFilenameToChunkIdMap(stackParser) {
2049
2180
  return cachedFilenameChunkIds;
2050
2181
  }
2051
2182
 
2052
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs
2183
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs
2053
2184
  var MAX_CAUSE_RECURSION = 4;
2054
2185
 
2055
2186
  class ErrorPropertiesBuilder {
@@ -2171,7 +2302,7 @@ class ErrorPropertiesBuilder {
2171
2302
  return context;
2172
2303
  }
2173
2304
  }
2174
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs
2305
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs
2175
2306
  var UNKNOWN_FUNCTION = "?";
2176
2307
  var MASKED_URL_PREFIX = "webkit-masked-url://";
2177
2308
  var ANONYMOUS_FILENAME = "<anonymous>";
@@ -2189,7 +2320,7 @@ function createFrame(platform, filename, func, lineno, colno) {
2189
2320
  return frame;
2190
2321
  }
2191
2322
 
2192
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs
2323
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs
2193
2324
  var extractSafariExtensionDetails = (func, filename) => {
2194
2325
  const isSafariExtension = func.indexOf("safari-extension") !== -1;
2195
2326
  const isSafariWebExtension = func.indexOf("safari-web-extension") !== -1;
@@ -2202,7 +2333,7 @@ var extractSafariExtensionDetails = (func, filename) => {
2202
2333
  ];
2203
2334
  };
2204
2335
 
2205
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs
2336
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs
2206
2337
  var chromeRegexNoFnName = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i;
2207
2338
  var chromeRegex = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
2208
2339
  var chromeEvalRegex = /\((\S*)(?::(\d+))(?::(\d+))\)/;
@@ -2228,7 +2359,7 @@ var chromeStackLineParser = (line, platform) => {
2228
2359
  }
2229
2360
  };
2230
2361
 
2231
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs
2362
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs
2232
2363
  var geckoREgex = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i;
2233
2364
  var geckoEvalRegex = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
2234
2365
  var geckoStackLineParser = (line, platform) => {
@@ -2251,14 +2382,14 @@ var geckoStackLineParser = (line, platform) => {
2251
2382
  }
2252
2383
  };
2253
2384
 
2254
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs
2385
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs
2255
2386
  var winjsRegex = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
2256
2387
  var winjsStackLineParser = (line, platform) => {
2257
2388
  const parts = winjsRegex.exec(line);
2258
2389
  return parts ? createFrame(platform, parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined) : undefined;
2259
2390
  };
2260
2391
 
2261
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs
2392
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs
2262
2393
  var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
2263
2394
  var opera10StackLineParser = (line, platform) => {
2264
2395
  const parts = opera10Regex.exec(line);
@@ -2270,7 +2401,7 @@ var opera11StackLineParser = (line, platform) => {
2270
2401
  return parts ? createFrame(platform, parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;
2271
2402
  };
2272
2403
 
2273
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs
2404
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs
2274
2405
  var FILENAME_MATCH = /^\s*[-]{4,}$/;
2275
2406
  var FULL_MATCH = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
2276
2407
  var PROMISE_COMBINATOR = /^Promise\.(?:all|any)$/;
@@ -2344,7 +2475,7 @@ function _parseIntOrUndefined(input) {
2344
2475
  return parseInt(input || "", 10) || undefined;
2345
2476
  }
2346
2477
 
2347
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs
2478
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs
2348
2479
  var WEBPACK_ERROR_REGEXP = /\(error: (.*)\)/;
2349
2480
  var STACKTRACE_FRAME_LIMIT = 50;
2350
2481
  function reverseAndStripFrames(stack) {
@@ -2389,7 +2520,7 @@ function createStackParser(platform, ...parsers) {
2389
2520
  return reverseAndStripFrames(frames);
2390
2521
  };
2391
2522
  }
2392
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs
2523
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs
2393
2524
  class DOMExceptionCoercer {
2394
2525
  match(err) {
2395
2526
  return this.isDOMException(err) || this.isDOMError(err);
@@ -2419,7 +2550,7 @@ class DOMExceptionCoercer {
2419
2550
  return isBuiltin(err, "DOMError");
2420
2551
  }
2421
2552
  }
2422
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs
2553
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs
2423
2554
  class ErrorCoercer {
2424
2555
  match(err) {
2425
2556
  return isError(err);
@@ -2448,7 +2579,7 @@ class ErrorCoercer {
2448
2579
  return err.stacktrace || err.stack || undefined;
2449
2580
  }
2450
2581
  }
2451
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs
2582
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs
2452
2583
  class ErrorEventCoercer {
2453
2584
  constructor() {}
2454
2585
  match(err) {
@@ -2482,7 +2613,7 @@ class ErrorEventCoercer {
2482
2613
  at ${location.filename}:${lineno}:${colno}`;
2483
2614
  }
2484
2615
  }
2485
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs
2616
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs
2486
2617
  var ERROR_TYPES_PATTERN = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
2487
2618
 
2488
2619
  class StringCoercer {
@@ -2512,7 +2643,7 @@ class StringCoercer {
2512
2643
  ];
2513
2644
  }
2514
2645
  }
2515
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/types.mjs
2646
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/types.mjs
2516
2647
  var severityLevels = [
2517
2648
  "fatal",
2518
2649
  "error",
@@ -2522,7 +2653,7 @@ var severityLevels = [
2522
2653
  "debug"
2523
2654
  ];
2524
2655
 
2525
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs
2656
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs
2526
2657
  function extractExceptionKeysForMessage(err, maxLength = 40) {
2527
2658
  const keys = Object.keys(err);
2528
2659
  keys.sort();
@@ -2539,7 +2670,7 @@ function extractExceptionKeysForMessage(err, maxLength = 40) {
2539
2670
  return "";
2540
2671
  }
2541
2672
 
2542
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs
2673
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs
2543
2674
  class ObjectCoercer {
2544
2675
  match(candidate) {
2545
2676
  return typeof candidate == "object" && candidate !== null;
@@ -2604,7 +2735,7 @@ class ObjectCoercer {
2604
2735
  }
2605
2736
  }
2606
2737
  }
2607
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs
2738
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs
2608
2739
  class EventCoercer {
2609
2740
  match(err) {
2610
2741
  return isEvent(err);
@@ -2619,7 +2750,7 @@ class EventCoercer {
2619
2750
  };
2620
2751
  }
2621
2752
  }
2622
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs
2753
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs
2623
2754
  class PrimitiveCoercer {
2624
2755
  match(candidate) {
2625
2756
  return isPrimitive(candidate);
@@ -2633,7 +2764,7 @@ class PrimitiveCoercer {
2633
2764
  };
2634
2765
  }
2635
2766
  }
2636
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs
2767
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs
2637
2768
  class PromiseRejectionEventCoercer {
2638
2769
  match(err) {
2639
2770
  return isBuiltin(err, "PromiseRejectionEvent") || this.isCustomEventWrappingRejection(err);
@@ -2669,7 +2800,7 @@ class PromiseRejectionEventCoercer {
2669
2800
  return error;
2670
2801
  }
2671
2802
  }
2672
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/utils.mjs
2803
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/utils.mjs
2673
2804
  class ReduceableCache {
2674
2805
  constructor(_maxSize) {
2675
2806
  this._maxSize = _maxSize;
@@ -2694,7 +2825,7 @@ class ReduceableCache {
2694
2825
  }
2695
2826
  }
2696
2827
  }
2697
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/exception-steps.mjs
2828
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/exception-steps.mjs
2698
2829
  var EXCEPTION_STEP_INTERNAL_FIELDS = {
2699
2830
  MESSAGE: "$message",
2700
2831
  TIMESTAMP: "$timestamp"
@@ -2827,12 +2958,12 @@ function getUtf8ByteLength(value) {
2827
2958
  byteLength += 1;
2828
2959
  return byteLength;
2829
2960
  }
2830
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/error-tracking/release.mjs
2961
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/error-tracking/release.mjs
2831
2962
  function getInjectedReleaseId() {
2832
2963
  const injected = globalThis._posthogReleaseId;
2833
2964
  return typeof injected == "string" && injected.length > 0 ? injected : undefined;
2834
2965
  }
2835
- // ../../../node_modules/.bun/@posthog+core@1.48.6/node_modules/@posthog/core/dist/posthog-core-stateless.mjs
2966
+ // ../../../node_modules/.bun/@posthog+core@1.48.9/node_modules/@posthog/core/dist/posthog-core-stateless.mjs
2836
2967
  class PostHogFetchHttpError extends Error {
2837
2968
  constructor(response, reqByteLength, responseBodyDeadline, abortController) {
2838
2969
  super("HTTP error while fetching PostHog: status=" + response.status + ", reqByteLength=" + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.responseBodyDeadline = responseBodyDeadline, this.abortController = abortController, this.name = "PostHogFetchHttpError", this._bodyReadTimedOut = false;
@@ -3802,10 +3933,12 @@ class PostHogCoreStateless {
3802
3933
  const body = options.body ? options.body : "";
3803
3934
  let reqByteLength = -1;
3804
3935
  try {
3805
- reqByteLength = body instanceof Blob ? body.size : Buffer.byteLength(body, STRING_FORMAT);
3936
+ reqByteLength = body instanceof Blob ? body.size : body instanceof Uint8Array ? body.byteLength : Buffer.byteLength(body, STRING_FORMAT);
3806
3937
  } catch {
3807
3938
  if (body instanceof Blob)
3808
3939
  reqByteLength = body.size;
3940
+ else if (body instanceof Uint8Array)
3941
+ reqByteLength = body.byteLength;
3809
3942
  else {
3810
3943
  const encoded = new TextEncoder().encode(body);
3811
3944
  reqByteLength = encoded.length;
@@ -3943,7 +4076,7 @@ class PostHogCoreStateless {
3943
4076
  return this.shutdownPromise;
3944
4077
  }
3945
4078
  }
3946
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs
4079
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs
3947
4080
  import { constants as constants2 } from "node:fs";
3948
4081
  import { open as promises_open } from "node:fs/promises";
3949
4082
  import { isAbsolute } from "node:path";
@@ -4230,7 +4363,7 @@ function snipLine(line, colno) {
4230
4363
  return newLine;
4231
4364
  }
4232
4365
 
4233
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs
4366
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs
4234
4367
  import { isAbsolute as isAbsolute2, relative, sep as sep2 } from "node:path";
4235
4368
  function createRelativePathModifier(basePath = process.cwd()) {
4236
4369
  const isWindows = sep2 === "\\";
@@ -4246,10 +4379,10 @@ function createRelativePathModifier(basePath = process.cwd()) {
4246
4379
  };
4247
4380
  }
4248
4381
 
4249
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/version.mjs
4250
- var version = "5.49.2";
4382
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/version.mjs
4383
+ var version = "5.51.1";
4251
4384
 
4252
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/types.mjs
4385
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/types.mjs
4253
4386
  var FeatureFlagError2 = {
4254
4387
  ERRORS_WHILE_COMPUTING: "errors_while_computing_flags",
4255
4388
  FLAG_MISSING: "flag_missing",
@@ -4257,7 +4390,7 @@ var FeatureFlagError2 = {
4257
4390
  UNKNOWN_ERROR: "unknown_error"
4258
4391
  };
4259
4392
 
4260
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/feature-flag-evaluations.mjs
4393
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/feature-flag-evaluations.mjs
4261
4394
  class FeatureFlagEvaluations {
4262
4395
  constructor(init) {
4263
4396
  this._host = init.host;
@@ -4273,10 +4406,10 @@ class FeatureFlagEvaluations {
4273
4406
  this._accessed = init.accessed ?? new Set;
4274
4407
  this._isSlice = init.isSlice ?? false;
4275
4408
  }
4276
- isEnabled(key) {
4409
+ isEnabled(key, options = {}) {
4277
4410
  const flag = this._flags[key];
4278
4411
  this._recordAccess(key);
4279
- return flag?.enabled ?? false;
4412
+ return flag?.enabled ?? options.defaultValue ?? false;
4280
4413
  }
4281
4414
  getFlag(key) {
4282
4415
  const flag = this._flags[key];
@@ -4390,7 +4523,7 @@ class FeatureFlagEvaluations {
4390
4523
  }
4391
4524
  }
4392
4525
 
4393
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs
4526
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs
4394
4527
  async function hashSHA1(text) {
4395
4528
  const subtle = globalThis.crypto?.subtle;
4396
4529
  if (!subtle)
@@ -4400,7 +4533,7 @@ async function hashSHA1(text) {
4400
4533
  return hashArray.map((byte) => byte.toString(16).padStart(2, "0")).join("");
4401
4534
  }
4402
4535
 
4403
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs
4536
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs
4404
4537
  var SIXTY_SECONDS = 60000;
4405
4538
  var LONG_SCALE = 1152921504606847000;
4406
4539
  var NULL_VALUES_ALLOWED_OPERATORS = [
@@ -5352,7 +5485,7 @@ function relativeDateParseForFeatureFlagMatching(value) {
5352
5485
  }
5353
5486
  }
5354
5487
 
5355
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs
5488
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs
5356
5489
  var UNHANDLED_REJECTION_OPTION_NAMES = [
5357
5490
  "--unhandled-rejections",
5358
5491
  "--unhandled_rejections"
@@ -5450,7 +5583,7 @@ function addUnhandledRejectionListener(captureFn, mode = STARTUP_UNHANDLED_REJEC
5450
5583
  });
5451
5584
  }
5452
5585
 
5453
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs
5586
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs
5454
5587
  var SHUTDOWN_TIMEOUT = 2000;
5455
5588
 
5456
5589
  class error_tracking_ErrorTracking {
@@ -5521,7 +5654,7 @@ class error_tracking_ErrorTracking {
5521
5654
  }
5522
5655
  }
5523
5656
 
5524
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/storage-memory.mjs
5657
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/storage-memory.mjs
5525
5658
  class PostHogMemoryStorage {
5526
5659
  getProperty(key) {
5527
5660
  return this._memoryStorage[key];
@@ -5534,7 +5667,7 @@ class PostHogMemoryStorage {
5534
5667
  }
5535
5668
  }
5536
5669
 
5537
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/capture-v1/config.mjs
5670
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/capture-v1/config.mjs
5538
5671
  function isCaptureMode(value) {
5539
5672
  return value === "v0" || value === "v1";
5540
5673
  }
@@ -5543,7 +5676,7 @@ function resolveCaptureMode() {
5543
5676
  return isCaptureMode(envMode) ? envMode : "v0";
5544
5677
  }
5545
5678
 
5546
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/capture-v1/routing.mjs
5679
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/capture-v1/routing.mjs
5547
5680
  var AI_EVENT_PREFIX = "$ai_";
5548
5681
  var ANALYTICS_ROUTE = "analytics";
5549
5682
  var AI_ROUTE = "ai";
@@ -5551,7 +5684,7 @@ function isLegacyOnlyEvent(message) {
5551
5684
  return typeof message.event == "string" && message.event.startsWith(AI_EVENT_PREFIX);
5552
5685
  }
5553
5686
 
5554
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/capture-v1/errors.mjs
5687
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/capture-v1/errors.mjs
5555
5688
  class CaptureV1Error extends Error {
5556
5689
  constructor({ requestId, drops, retryExhausted, cause }) {
5557
5690
  super(CaptureV1Error.buildMessage(requestId, drops, retryExhausted, cause)), this.name = "CaptureV1Error";
@@ -5568,7 +5701,7 @@ class CaptureV1Error extends Error {
5568
5701
  }
5569
5702
  }
5570
5703
 
5571
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/capture-v1/transform.mjs
5704
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/capture-v1/transform.mjs
5572
5705
  function coerceBool(value) {
5573
5706
  if (typeof value == "boolean")
5574
5707
  return value;
@@ -5683,7 +5816,7 @@ function buildV1Batch(messages, { createdAt, historicalMigration }) {
5683
5816
  return batch;
5684
5817
  }
5685
5818
 
5686
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/capture-v1/sender.mjs
5819
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/capture-v1/sender.mjs
5687
5820
  var V1_ANALYTICS_PATH = "/i/v1/analytics/events";
5688
5821
  var DEFAULT_MAX_BACKOFF_MS = 30000;
5689
5822
  var RETRYABLE_STATUSES = new Set([
@@ -5936,13 +6069,13 @@ class V1CaptureSender {
5936
6069
  }
5937
6070
  }
5938
6071
 
5939
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/ai-capture/routing.mjs
6072
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/ai-capture/routing.mjs
5940
6073
  var AI_CAPTURE_ROUTE = "ai-capture";
5941
6074
  var AI_CAPTURE_ENDPOINT_PATH = "/i/v0/ai/batch/";
5942
6075
  var AI_MAX_EVENT_BYTES = 8388608;
5943
6076
  var AI_BATCH_TARGET_BYTES = 5242880;
5944
6077
 
5945
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/ai-capture/batching.mjs
6078
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/ai-capture/batching.mjs
5946
6079
  var encoder = new TextEncoder;
5947
6080
  function eventByteSize(message) {
5948
6081
  return encoder.encode(safeJsonStringify(message)).length;
@@ -5979,7 +6112,7 @@ function partitionAiBatch(messages, maxEventBytes = AI_MAX_EVENT_BYTES, targetBa
5979
6112
  };
5980
6113
  }
5981
6114
 
5982
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/client.mjs
6115
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/client.mjs
5983
6116
  var MINIMUM_POLLING_INTERVAL = 100;
5984
6117
  var THIRTY_SECONDS = 30000;
5985
6118
  var MAX_CACHE_SIZE = 50000;
@@ -6529,7 +6662,7 @@ class PostHogBackendClient extends PostHogCoreStateless {
6529
6662
  result = {
6530
6663
  key,
6531
6664
  enabled: flagDetail.enabled,
6532
- variant: flagDetail.variant,
6665
+ variant: flagDetail.variant ?? undefined,
6533
6666
  payload: parsedPayload
6534
6667
  };
6535
6668
  }
@@ -6730,6 +6863,7 @@ class PostHogBackendClient extends PostHogCoreStateless {
6730
6863
  const evaluationContext = this.createFeatureFlagEvaluationContext(resolvedDistinctId, groups, this.personPropertiesForLocalEvaluation(resolvedDistinctId, personProperties), groupProperties);
6731
6864
  if (onlyEvaluateLocally == undefined)
6732
6865
  onlyEvaluateLocally = this.options.strictLocalEvaluation ?? false;
6866
+ const requestedFlagKeys = flagKeys ? new Set(flagKeys) : undefined;
6733
6867
  const records = {};
6734
6868
  let requestId;
6735
6869
  let evaluatedAt;
@@ -6753,7 +6887,8 @@ class PostHogBackendClient extends PostHogCoreStateless {
6753
6887
  };
6754
6888
  locallyEvaluatedKeys.add(key);
6755
6889
  }
6756
- const fallbackToFlags = localResult ? localResult.fallbackToFlags : true;
6890
+ const requestedFlagMissingLocally = requestedFlagKeys !== undefined && Array.from(requestedFlagKeys).some((key) => this.featureFlagsPoller?.featureFlagsByKey[key] === undefined);
6891
+ const fallbackToFlags = localResult ? localResult.fallbackToFlags || requestedFlagMissingLocally : true;
6757
6892
  if (fallbackToFlags && !onlyEvaluateLocally) {
6758
6893
  const details = await super.getFeatureFlagDetailsStateless(evaluationContext.distinctId, evaluationContext.groups, personProperties, groupProperties, disableGeoip, flagKeys);
6759
6894
  if (details) {
@@ -6814,6 +6949,11 @@ class PostHogBackendClient extends PostHogCoreStateless {
6814
6949
  payload
6815
6950
  };
6816
6951
  }
6952
+ if (requestedFlagKeys !== undefined) {
6953
+ for (const key of Object.keys(records))
6954
+ if (!requestedFlagKeys.has(key))
6955
+ delete records[key];
6956
+ }
6817
6957
  return new FeatureFlagEvaluations({
6818
6958
  host: this._getFeatureFlagEvaluationsHost(),
6819
6959
  distinctId: resolvedDistinctId,
@@ -7221,7 +7361,7 @@ class PostHogBackendClient extends PostHogCoreStateless {
7221
7361
  }
7222
7362
  }
7223
7363
 
7224
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/context/context.mjs
7364
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/context/context.mjs
7225
7365
  import { AsyncLocalStorage } from "node:async_hooks";
7226
7366
 
7227
7367
  class PostHogContext {
@@ -7252,16 +7392,14 @@ class PostHogContext {
7252
7392
  }
7253
7393
  }
7254
7394
 
7255
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/gzip.node.mjs
7395
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/gzip.node.mjs
7256
7396
  import { gzip } from "node:zlib";
7257
7397
  import { promisify } from "node:util";
7258
7398
  var gzipAsync = promisify(gzip);
7259
7399
  async function gzipCompress2(input, isDebug = true) {
7260
7400
  try {
7261
7401
  const compressed = await gzipAsync(input);
7262
- return new Blob([
7263
- new Uint8Array(compressed)
7264
- ]);
7402
+ return new Uint8Array(compressed);
7265
7403
  } catch (error) {
7266
7404
  if (isDebug)
7267
7405
  console.error("Failed to gzip compress data", error);
@@ -7269,7 +7407,7 @@ async function gzipCompress2(input, isDebug = true) {
7269
7407
  }
7270
7408
  }
7271
7409
 
7272
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/extensions/sentry-integration.mjs
7410
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/sentry-integration.mjs
7273
7411
  var NAME = "posthog-node";
7274
7412
  function createEventProcessor(_posthog, { organization, projectId, prefix, severityAllowList = [
7275
7413
  "error"
@@ -7340,7 +7478,7 @@ class PostHogSentryIntegration {
7340
7478
  };
7341
7479
  }
7342
7480
  }
7343
- // ../../../node_modules/.bun/posthog-node@5.49.2/node_modules/posthog-node/dist/entrypoints/index.node.mjs
7481
+ // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/entrypoints/index.node.mjs
7344
7482
  class PostHog extends PostHogBackendClient {
7345
7483
  getLibraryId() {
7346
7484
  return "posthog-node";