oh-my-opencode 4.5.0 → 4.5.1

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 (3) hide show
  1. package/dist/cli/index.js +140 -124
  2. package/dist/index.js +258 -181
  3. package/package.json +12 -12
package/dist/cli/index.js CHANGED
@@ -55470,7 +55470,7 @@ var {
55470
55470
  // package.json
55471
55471
  var package_default = {
55472
55472
  name: "oh-my-opencode",
55473
- version: "4.5.0",
55473
+ version: "4.5.1",
55474
55474
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
55475
55475
  main: "./dist/index.js",
55476
55476
  types: "dist/index.d.ts",
@@ -55586,17 +55586,17 @@ var package_default = {
55586
55586
  zod: "^4.4.3"
55587
55587
  },
55588
55588
  optionalDependencies: {
55589
- "oh-my-opencode-darwin-arm64": "4.5.0",
55590
- "oh-my-opencode-darwin-x64": "4.5.0",
55591
- "oh-my-opencode-darwin-x64-baseline": "4.5.0",
55592
- "oh-my-opencode-linux-arm64": "4.5.0",
55593
- "oh-my-opencode-linux-arm64-musl": "4.5.0",
55594
- "oh-my-opencode-linux-x64": "4.5.0",
55595
- "oh-my-opencode-linux-x64-baseline": "4.5.0",
55596
- "oh-my-opencode-linux-x64-musl": "4.5.0",
55597
- "oh-my-opencode-linux-x64-musl-baseline": "4.5.0",
55598
- "oh-my-opencode-windows-x64": "4.5.0",
55599
- "oh-my-opencode-windows-x64-baseline": "4.5.0"
55589
+ "oh-my-opencode-darwin-arm64": "4.5.1",
55590
+ "oh-my-opencode-darwin-x64": "4.5.1",
55591
+ "oh-my-opencode-darwin-x64-baseline": "4.5.1",
55592
+ "oh-my-opencode-linux-arm64": "4.5.1",
55593
+ "oh-my-opencode-linux-arm64-musl": "4.5.1",
55594
+ "oh-my-opencode-linux-x64": "4.5.1",
55595
+ "oh-my-opencode-linux-x64-baseline": "4.5.1",
55596
+ "oh-my-opencode-linux-x64-musl": "4.5.1",
55597
+ "oh-my-opencode-linux-x64-musl-baseline": "4.5.1",
55598
+ "oh-my-opencode-windows-x64": "4.5.1",
55599
+ "oh-my-opencode-windows-x64-baseline": "4.5.1"
55600
55600
  },
55601
55601
  overrides: {
55602
55602
  hono: "^4.12.18",
@@ -56042,7 +56042,7 @@ var fastStringWidth = (input, options = {}) => {
56042
56042
  };
56043
56043
  var dist_default2 = fastStringWidth;
56044
56044
 
56045
- // node_modules/.bun/fast-wrap-ansi@0.2.0/node_modules/fast-wrap-ansi/lib/main.js
56045
+ // node_modules/.bun/fast-wrap-ansi@0.2.2/node_modules/fast-wrap-ansi/lib/main.js
56046
56046
  var ESC = "\x1B";
56047
56047
  var CSI = "\x9B";
56048
56048
  var END_CODE = 39;
@@ -73402,7 +73402,7 @@ function loadPluginConfig(directory, ctx) {
73402
73402
  });
73403
73403
  return config2;
73404
73404
  }
73405
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
73405
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
73406
73406
  var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url: url2, ...options }) => {
73407
73407
  let lastEventId;
73408
73408
  const sleep = sseSleepFn ?? ((ms) => new Promise((resolve5) => setTimeout(resolve5, ms)));
@@ -73511,7 +73511,7 @@ var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseVa
73511
73511
  return { stream };
73512
73512
  };
73513
73513
 
73514
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.js
73514
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.js
73515
73515
  var getAuthToken = async (auth, callback) => {
73516
73516
  const token = typeof callback === "function" ? await callback(auth) : callback;
73517
73517
  if (!token) {
@@ -73526,12 +73526,12 @@ var getAuthToken = async (auth, callback) => {
73526
73526
  return token;
73527
73527
  };
73528
73528
 
73529
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.js
73529
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.js
73530
73530
  var jsonBodySerializer = {
73531
73531
  bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value)
73532
73532
  };
73533
73533
 
73534
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.js
73534
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.js
73535
73535
  var separatorArrayExplode = (style) => {
73536
73536
  switch (style) {
73537
73537
  case "label":
@@ -73634,7 +73634,7 @@ var serializeObjectParam = ({ allowReserved, explode, name, style, value, valueO
73634
73634
  return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
73635
73635
  };
73636
73636
 
73637
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.js
73637
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.js
73638
73638
  var PATH_PARAM_RE = /\{[^{}]+\}/g;
73639
73639
  var defaultPathSerializer = ({ path: path7, url: _url2 }) => {
73640
73640
  let url2 = _url2;
@@ -73702,7 +73702,7 @@ var getUrl = ({ baseUrl, path: path7, query, querySerializer, url: _url2 }) => {
73702
73702
  return url2;
73703
73703
  };
73704
73704
 
73705
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.js
73705
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.js
73706
73706
  var createQuerySerializer = ({ allowReserved, array: array2, object: object2 } = {}) => {
73707
73707
  const querySerializer = (queryParams) => {
73708
73708
  const search = [];
@@ -73910,7 +73910,7 @@ var createConfig = (override = {}) => ({
73910
73910
  ...override
73911
73911
  });
73912
73912
 
73913
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.js
73913
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.js
73914
73914
  var createClient = (config2 = {}) => {
73915
73915
  let _config = mergeConfigs2(createConfig(), config2);
73916
73916
  const getConfig = () => ({ ..._config });
@@ -74057,7 +74057,7 @@ var createClient = (config2 = {}) => {
74057
74057
  trace: makeMethod("TRACE")
74058
74058
  };
74059
74059
  };
74060
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.js
74060
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.js
74061
74061
  var extraPrefixesMap = {
74062
74062
  $body_: "body",
74063
74063
  $headers_: "headers",
@@ -74065,12 +74065,12 @@ var extraPrefixesMap = {
74065
74065
  $query_: "query"
74066
74066
  };
74067
74067
  var extraPrefixes = Object.entries(extraPrefixesMap);
74068
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/client.gen.js
74068
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/client.gen.js
74069
74069
  var client = createClient(createConfig({
74070
74070
  baseUrl: "http://localhost:4096"
74071
74071
  }));
74072
74072
 
74073
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.js
74073
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.js
74074
74074
  class _HeyApiClient {
74075
74075
  _client = client;
74076
74076
  constructor(args) {
@@ -74740,7 +74740,7 @@ class OpencodeClient extends _HeyApiClient {
74740
74740
  event = new Event2({ client: this._client });
74741
74741
  }
74742
74742
 
74743
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/error-interceptor.js
74743
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/error-interceptor.js
74744
74744
  function wrapClientError(error51, response, request, opts) {
74745
74745
  if (!opts?.throwOnError)
74746
74746
  return error51;
@@ -74767,7 +74767,7 @@ function describe3(request, response) {
74767
74767
  return `${method} ${url2}${status ? " \u2192 " + status : ""}${statusText ? " " + statusText : ""}`;
74768
74768
  }
74769
74769
 
74770
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/client.js
74770
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/client.js
74771
74771
  function pick2(value, fallback) {
74772
74772
  if (!value)
74773
74773
  return;
@@ -74815,10 +74815,10 @@ function createOpencodeClient(config2) {
74815
74815
  client2.interceptors.error.use(wrapClientError);
74816
74816
  return new OpencodeClient({ client: client2 });
74817
74817
  }
74818
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/server.js
74818
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/server.js
74819
74819
  var import_cross_spawn = __toESM(require_cross_spawn(), 1);
74820
74820
 
74821
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/process.js
74821
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/process.js
74822
74822
  import { spawnSync as spawnSync2 } from "child_process";
74823
74823
  function stop(proc) {
74824
74824
  if (proc.exitCode !== null || proc.signalCode !== null)
@@ -74851,7 +74851,7 @@ function bindAbort(proc, signal, onAbort) {
74851
74851
  return clear;
74852
74852
  }
74853
74853
 
74854
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/server.js
74854
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/server.js
74855
74855
  async function createOpencodeServer(options) {
74856
74856
  options = Object.assign({
74857
74857
  hostname: "127.0.0.1",
@@ -74928,7 +74928,7 @@ Server output: ${output}`;
74928
74928
  }
74929
74929
  };
74930
74930
  }
74931
- // node_modules/.bun/@opencode-ai+sdk@1.15.4/node_modules/@opencode-ai/sdk/dist/index.js
74931
+ // node_modules/.bun/@opencode-ai+sdk@1.15.10/node_modules/@opencode-ai/sdk/dist/index.js
74932
74932
  async function createOpencode(options) {
74933
74933
  const server2 = await createOpencodeServer({
74934
74934
  ...options
@@ -76276,7 +76276,7 @@ function createTimestampedStdoutController(stdout = process.stdout) {
76276
76276
  import os3 from "os";
76277
76277
  import { createHash } from "crypto";
76278
76278
 
76279
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
76279
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
76280
76280
  import { dirname as dirname11, posix, sep } from "path";
76281
76281
  function createModulerModifier() {
76282
76282
  const getModuleFromFileName = createGetModuleFromFilename();
@@ -76312,7 +76312,7 @@ function normalizeWindowsPath(path7) {
76312
76312
  return path7.replace(/^[A-Z]:/, "").replace(/\\/g, "/");
76313
76313
  }
76314
76314
 
76315
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/featureFlagUtils.mjs
76315
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/featureFlagUtils.mjs
76316
76316
  var normalizeFlagsResponse = (flagsResponse) => {
76317
76317
  if ("flags" in flagsResponse) {
76318
76318
  const featureFlags = getFlagValuesFromFlags(flagsResponse.flags);
@@ -76383,7 +76383,7 @@ var parsePayload = (response) => {
76383
76383
  }
76384
76384
  };
76385
76385
 
76386
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/types.mjs
76386
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/types.mjs
76387
76387
  var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedProperty) {
76388
76388
  PostHogPersistedProperty["AnonymousId"] = "anonymous_id";
76389
76389
  PostHogPersistedProperty["DistinctId"] = "distinct_id";
@@ -76417,7 +76417,7 @@ var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedPr
76417
76417
  return PostHogPersistedProperty;
76418
76418
  }({});
76419
76419
 
76420
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/gzip.mjs
76420
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/gzip.mjs
76421
76421
  function isGzipSupported() {
76422
76422
  return "CompressionStream" in globalThis && "TextEncoder" in globalThis && "Response" in globalThis && typeof Response.prototype.blob == "function";
76423
76423
  }
@@ -76491,7 +76491,7 @@ async function gzipCompress(input, isDebug = true, options) {
76491
76491
  }
76492
76492
  }
76493
76493
 
76494
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/bot-detection.mjs
76494
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/bot-detection.mjs
76495
76495
  var DEFAULT_BLOCKED_UA_STRS = [
76496
76496
  "amazonbot",
76497
76497
  "amazonproductbot",
@@ -76580,7 +76580,7 @@ var isBlockedUA = function(ua, customBlockedUserAgents = []) {
76580
76580
  return uaLower.indexOf(blockedUaLower) !== -1;
76581
76581
  });
76582
76582
  };
76583
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/type-utils.mjs
76583
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/type-utils.mjs
76584
76584
  var nativeIsArray = Array.isArray;
76585
76585
  var ObjProto = Object.prototype;
76586
76586
  var type_utils_hasOwnProperty = ObjProto.hasOwnProperty;
@@ -76617,7 +76617,7 @@ function isInstanceOf(candidate, base) {
76617
76617
  }
76618
76618
  }
76619
76619
 
76620
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/number-utils.mjs
76620
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/number-utils.mjs
76621
76621
  function clampToRange(value, min, max, logger2, fallbackValue) {
76622
76622
  if (min > max) {
76623
76623
  logger2.warn("min cannot be greater than max.");
@@ -76637,7 +76637,7 @@ function clampToRange(value, min, max, logger2, fallbackValue) {
76637
76637
  return clampToRange(fallbackValue || max, min, max, logger2);
76638
76638
  }
76639
76639
 
76640
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs
76640
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs
76641
76641
  var ONE_DAY_IN_MS = 86400000;
76642
76642
 
76643
76643
  class BucketedRateLimiter {
@@ -76681,7 +76681,7 @@ class BucketedRateLimiter {
76681
76681
  this._buckets = {};
76682
76682
  }
76683
76683
  }
76684
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/vendor/uuidv7.mjs
76684
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/vendor/uuidv7.mjs
76685
76685
  /*! For license information please see uuidv7.mjs.LICENSE.txt */
76686
76686
  var DIGITS = "0123456789abcdef";
76687
76687
 
@@ -76859,7 +76859,7 @@ var defaultGenerator;
76859
76859
  var uuidv72 = () => uuidv7obj().toString();
76860
76860
  var uuidv7obj = () => (defaultGenerator || (defaultGenerator = new V7Generator)).generate();
76861
76861
 
76862
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/promise-queue.mjs
76862
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/promise-queue.mjs
76863
76863
  class PromiseQueue {
76864
76864
  add(promise2) {
76865
76865
  const promiseUUID = uuidv72();
@@ -76885,7 +76885,7 @@ class PromiseQueue {
76885
76885
  this.promiseByIds = {};
76886
76886
  }
76887
76887
  }
76888
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/logger.mjs
76888
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/logger.mjs
76889
76889
  function createConsole(consoleLike = console) {
76890
76890
  const lockedMethods = {
76891
76891
  log: consoleLike.log.bind(consoleLike),
@@ -76926,7 +76926,7 @@ var passThrough = (fn) => fn();
76926
76926
  function createLogger(prefix, maybeCall = passThrough) {
76927
76927
  return _createLogger(prefix, maybeCall, createConsole());
76928
76928
  }
76929
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs
76929
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs
76930
76930
  var MOBILE = "Mobile";
76931
76931
  var IOS = "iOS";
76932
76932
  var ANDROID = "Android";
@@ -76961,6 +76961,7 @@ var GENERIC = "Generic";
76961
76961
  var GENERIC_MOBILE = GENERIC + " " + MOBILE.toLowerCase();
76962
76962
  var GENERIC_TABLET = GENERIC + " " + TABLET.toLowerCase();
76963
76963
  var KONQUEROR = "Konqueror";
76964
+ var OCULUS_BROWSER = "Oculus Browser";
76964
76965
  var BROWSER_VERSION_REGEX_SUFFIX = "(\\d+(\\.\\d+)?)";
76965
76966
  var DEFAULT_BROWSER_VERSION_REGEX = new RegExp("Version/" + BROWSER_VERSION_REGEX_SUFFIX);
76966
76967
  var XBOX_REGEX = new RegExp(XBOX, "i");
@@ -77024,6 +77025,9 @@ var versionRegexes = {
77024
77025
  [SAMSUNG_INTERNET]: [
77025
77026
  new RegExp(SAMSUNG_BROWSER + "\\/" + BROWSER_VERSION_REGEX_SUFFIX)
77026
77027
  ],
77028
+ [OCULUS_BROWSER]: [
77029
+ new RegExp("OculusBrowser\\/" + BROWSER_VERSION_REGEX_SUFFIX)
77030
+ ],
77027
77031
  [INTERNET_EXPLORER]: [
77028
77032
  new RegExp("(rv:|MSIE )" + BROWSER_VERSION_REGEX_SUFFIX)
77029
77033
  ],
@@ -77183,7 +77187,7 @@ var osMatchers = [
77183
77187
  ]
77184
77188
  ];
77185
77189
 
77186
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/utils/index.mjs
77190
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/utils/index.mjs
77187
77191
  var STRING_FORMAT = "utf8";
77188
77192
  function removeTrailingSlash(url2) {
77189
77193
  return url2?.replace(/\/+$/, "");
@@ -77223,7 +77227,7 @@ function allSettled(promises) {
77223
77227
  }))));
77224
77228
  }
77225
77229
 
77226
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/logs/logs-utils.mjs
77230
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/logs/logs-utils.mjs
77227
77231
  var OTLP_SEVERITY_MAP = {
77228
77232
  trace: {
77229
77233
  text: "TRACE",
@@ -77251,7 +77255,7 @@ var OTLP_SEVERITY_MAP = {
77251
77255
  }
77252
77256
  };
77253
77257
  var DEFAULT_OTLP_SEVERITY = OTLP_SEVERITY_MAP.info;
77254
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/eventemitter.mjs
77258
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/eventemitter.mjs
77255
77259
  class SimpleEventEmitter {
77256
77260
  constructor() {
77257
77261
  this.events = {};
@@ -77273,7 +77277,7 @@ class SimpleEventEmitter {
77273
77277
  }
77274
77278
  }
77275
77279
 
77276
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/posthog-core-stateless.mjs
77280
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/posthog-core-stateless.mjs
77277
77281
  class PostHogFetchHttpError extends Error {
77278
77282
  constructor(response, reqByteLength) {
77279
77283
  super("HTTP error while fetching PostHog: status=" + response.status + ", reqByteLength=" + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.name = "PostHogFetchHttpError";
@@ -77308,7 +77312,10 @@ async function logFlushError(err) {
77308
77312
  return Promise.resolve();
77309
77313
  }
77310
77314
  function isPostHogFetchError(err) {
77311
- return typeof err == "object" && (err instanceof PostHogFetchHttpError || err instanceof PostHogFetchNetworkError);
77315
+ return typeof err == "object" && (err instanceof PostHogFetchHttpError || isPostHogFetchNetworkError(err));
77316
+ }
77317
+ function isPostHogFetchNetworkError(err) {
77318
+ return err instanceof PostHogFetchNetworkError;
77312
77319
  }
77313
77320
  function isPostHogFetchContentTooLargeError(err) {
77314
77321
  return typeof err == "object" && err instanceof PostHogFetchHttpError && err.status === 413;
@@ -78047,7 +78054,7 @@ class PostHogCoreStateless {
78047
78054
  return this.shutdownPromise;
78048
78055
  }
78049
78056
  }
78050
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/index.mjs
78057
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/index.mjs
78051
78058
  var exports_error_tracking = {};
78052
78059
  __export(exports_error_tracking, {
78053
78060
  winjsStackLineParser: () => winjsStackLineParser,
@@ -78077,7 +78084,7 @@ __export(exports_error_tracking, {
78077
78084
  DEFAULT_EXCEPTION_STEPS_CONFIG: () => DEFAULT_EXCEPTION_STEPS_CONFIG
78078
78085
  });
78079
78086
 
78080
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs
78087
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs
78081
78088
  var parsedStackResults;
78082
78089
  var lastKeysCount;
78083
78090
  var cachedFilenameChunkIds;
@@ -78116,7 +78123,7 @@ function getFilenameToChunkIdMap(stackParser) {
78116
78123
  return cachedFilenameChunkIds;
78117
78124
  }
78118
78125
 
78119
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs
78126
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs
78120
78127
  var MAX_CAUSE_RECURSION = 4;
78121
78128
 
78122
78129
  class ErrorPropertiesBuilder {
@@ -78238,7 +78245,7 @@ class ErrorPropertiesBuilder {
78238
78245
  return context;
78239
78246
  }
78240
78247
  }
78241
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs
78248
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs
78242
78249
  var UNKNOWN_FUNCTION = "?";
78243
78250
  function createFrame(platform, filename, func, lineno, colno) {
78244
78251
  const frame = {
@@ -78254,7 +78261,7 @@ function createFrame(platform, filename, func, lineno, colno) {
78254
78261
  return frame;
78255
78262
  }
78256
78263
 
78257
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs
78264
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs
78258
78265
  var extractSafariExtensionDetails = (func, filename) => {
78259
78266
  const isSafariExtension = func.indexOf("safari-extension") !== -1;
78260
78267
  const isSafariWebExtension = func.indexOf("safari-web-extension") !== -1;
@@ -78267,7 +78274,7 @@ var extractSafariExtensionDetails = (func, filename) => {
78267
78274
  ];
78268
78275
  };
78269
78276
 
78270
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs
78277
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs
78271
78278
  var chromeRegexNoFnName = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i;
78272
78279
  var chromeRegex = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
78273
78280
  var chromeEvalRegex = /\((\S*)(?::(\d+))(?::(\d+))\)/;
@@ -78293,7 +78300,7 @@ var chromeStackLineParser = (line, platform) => {
78293
78300
  }
78294
78301
  };
78295
78302
 
78296
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs
78303
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs
78297
78304
  var geckoREgex = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i;
78298
78305
  var geckoEvalRegex = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
78299
78306
  var geckoStackLineParser = (line, platform) => {
@@ -78316,14 +78323,14 @@ var geckoStackLineParser = (line, platform) => {
78316
78323
  }
78317
78324
  };
78318
78325
 
78319
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs
78326
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs
78320
78327
  var winjsRegex = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
78321
78328
  var winjsStackLineParser = (line, platform) => {
78322
78329
  const parts = winjsRegex.exec(line);
78323
78330
  return parts ? createFrame(platform, parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined) : undefined;
78324
78331
  };
78325
78332
 
78326
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs
78333
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs
78327
78334
  var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
78328
78335
  var opera10StackLineParser = (line, platform) => {
78329
78336
  const parts = opera10Regex.exec(line);
@@ -78335,7 +78342,7 @@ var opera11StackLineParser = (line, platform) => {
78335
78342
  return parts ? createFrame(platform, parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;
78336
78343
  };
78337
78344
 
78338
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs
78345
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs
78339
78346
  var FILENAME_MATCH = /^\s*[-]{4,}$/;
78340
78347
  var FULL_MATCH = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
78341
78348
  var nodeStackLineParser = (line, platform) => {
@@ -78404,7 +78411,7 @@ function _parseIntOrUndefined(input) {
78404
78411
  return parseInt(input || "", 10) || undefined;
78405
78412
  }
78406
78413
 
78407
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs
78414
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs
78408
78415
  var WEBPACK_ERROR_REGEXP = /\(error: (.*)\)/;
78409
78416
  var STACKTRACE_FRAME_LIMIT = 50;
78410
78417
  function reverseAndStripFrames(stack) {
@@ -78449,7 +78456,7 @@ function createStackParser(platform, ...parsers) {
78449
78456
  return reverseAndStripFrames(frames);
78450
78457
  };
78451
78458
  }
78452
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs
78459
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs
78453
78460
  class DOMExceptionCoercer {
78454
78461
  match(err) {
78455
78462
  return this.isDOMException(err) || this.isDOMError(err);
@@ -78479,7 +78486,7 @@ class DOMExceptionCoercer {
78479
78486
  return isBuiltin(err, "DOMError");
78480
78487
  }
78481
78488
  }
78482
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs
78489
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs
78483
78490
  class ErrorCoercer {
78484
78491
  match(err) {
78485
78492
  return isPlainError(err);
@@ -78506,7 +78513,7 @@ class ErrorCoercer {
78506
78513
  return err.stacktrace || err.stack || undefined;
78507
78514
  }
78508
78515
  }
78509
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs
78516
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs
78510
78517
  class ErrorEventCoercer {
78511
78518
  constructor() {}
78512
78519
  match(err) {
@@ -78524,7 +78531,7 @@ class ErrorEventCoercer {
78524
78531
  return exceptionLike;
78525
78532
  }
78526
78533
  }
78527
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs
78534
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs
78528
78535
  var ERROR_TYPES_PATTERN = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
78529
78536
 
78530
78537
  class StringCoercer {
@@ -78554,7 +78561,7 @@ class StringCoercer {
78554
78561
  ];
78555
78562
  }
78556
78563
  }
78557
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/types.mjs
78564
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/types.mjs
78558
78565
  var severityLevels = [
78559
78566
  "fatal",
78560
78567
  "error",
@@ -78564,7 +78571,7 @@ var severityLevels = [
78564
78571
  "debug"
78565
78572
  ];
78566
78573
 
78567
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs
78574
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs
78568
78575
  function extractExceptionKeysForMessage(err, maxLength = 40) {
78569
78576
  const keys = Object.keys(err);
78570
78577
  keys.sort();
@@ -78581,7 +78588,7 @@ function extractExceptionKeysForMessage(err, maxLength = 40) {
78581
78588
  return "";
78582
78589
  }
78583
78590
 
78584
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs
78591
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs
78585
78592
  class ObjectCoercer {
78586
78593
  match(candidate) {
78587
78594
  return typeof candidate == "object" && candidate !== null;
@@ -78634,7 +78641,7 @@ class ObjectCoercer {
78634
78641
  }
78635
78642
  }
78636
78643
  }
78637
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs
78644
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs
78638
78645
  class EventCoercer {
78639
78646
  match(err) {
78640
78647
  return isEvent(err);
@@ -78649,7 +78656,7 @@ class EventCoercer {
78649
78656
  };
78650
78657
  }
78651
78658
  }
78652
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs
78659
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs
78653
78660
  class PrimitiveCoercer {
78654
78661
  match(candidate) {
78655
78662
  return isPrimitive(candidate);
@@ -78663,7 +78670,7 @@ class PrimitiveCoercer {
78663
78670
  };
78664
78671
  }
78665
78672
  }
78666
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs
78673
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs
78667
78674
  class PromiseRejectionEventCoercer {
78668
78675
  match(err) {
78669
78676
  return isBuiltin(err, "PromiseRejectionEvent") || this.isCustomEventWrappingRejection(err);
@@ -78699,7 +78706,7 @@ class PromiseRejectionEventCoercer {
78699
78706
  return error51;
78700
78707
  }
78701
78708
  }
78702
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/utils.mjs
78709
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/utils.mjs
78703
78710
  class ReduceableCache {
78704
78711
  constructor(_maxSize2) {
78705
78712
  this._maxSize = _maxSize2;
@@ -78724,7 +78731,7 @@ class ReduceableCache {
78724
78731
  }
78725
78732
  }
78726
78733
  }
78727
- // node_modules/.bun/@posthog+core@1.29.3/node_modules/@posthog/core/dist/error-tracking/exception-steps.mjs
78734
+ // node_modules/.bun/@posthog+core@1.29.10/node_modules/@posthog/core/dist/error-tracking/exception-steps.mjs
78728
78735
  var EXCEPTION_STEP_INTERNAL_FIELDS = {
78729
78736
  MESSAGE: "$message",
78730
78737
  TIMESTAMP: "$timestamp"
@@ -78881,7 +78888,7 @@ function getUtf8ByteLength(value) {
78881
78888
  byteLength += 1;
78882
78889
  return byteLength;
78883
78890
  }
78884
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs
78891
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs
78885
78892
  import { createReadStream } from "fs";
78886
78893
  import { createInterface as createInterface2 } from "readline";
78887
78894
  var LRU_FILE_CONTENTS_CACHE = new exports_error_tracking.ReduceableCache(25);
@@ -79099,7 +79106,7 @@ function snipLine(line, colno) {
79099
79106
  return newLine;
79100
79107
  }
79101
79108
 
79102
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs
79109
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs
79103
79110
  import { isAbsolute as isAbsolute4, relative as relative3, sep as sep2 } from "path";
79104
79111
  function createRelativePathModifier(basePath = process.cwd()) {
79105
79112
  const isWindows = sep2 === "\\";
@@ -79115,7 +79122,7 @@ function createRelativePathModifier(basePath = process.cwd()) {
79115
79122
  };
79116
79123
  }
79117
79124
 
79118
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs
79125
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs
79119
79126
  function makeUncaughtExceptionHandler(captureFn, onFatalFn) {
79120
79127
  let calledFatalError = false;
79121
79128
  return Object.assign((error51) => {
@@ -79147,7 +79154,7 @@ function addUnhandledRejectionListener(captureFn) {
79147
79154
  }));
79148
79155
  }
79149
79156
 
79150
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs
79157
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs
79151
79158
  var SHUTDOWN_TIMEOUT = 2000;
79152
79159
 
79153
79160
  class ErrorTracking {
@@ -79216,10 +79223,10 @@ class ErrorTracking {
79216
79223
  }
79217
79224
  }
79218
79225
 
79219
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/version.mjs
79220
- var version2 = "5.34.3";
79226
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/version.mjs
79227
+ var version2 = "5.35.3";
79221
79228
 
79222
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/types.mjs
79229
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/types.mjs
79223
79230
  var FeatureFlagError2 = {
79224
79231
  ERRORS_WHILE_COMPUTING: "errors_while_computing_flags",
79225
79232
  FLAG_MISSING: "flag_missing",
@@ -79227,7 +79234,7 @@ var FeatureFlagError2 = {
79227
79234
  UNKNOWN_ERROR: "unknown_error"
79228
79235
  };
79229
79236
 
79230
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/feature-flag-evaluations.mjs
79237
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/feature-flag-evaluations.mjs
79231
79238
  class FeatureFlagEvaluations {
79232
79239
  constructor(init) {
79233
79240
  this._host = init.host;
@@ -79358,7 +79365,7 @@ class FeatureFlagEvaluations {
79358
79365
  }
79359
79366
  }
79360
79367
 
79361
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs
79368
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs
79362
79369
  async function hashSHA1(text) {
79363
79370
  const subtle = globalThis.crypto?.subtle;
79364
79371
  if (!subtle)
@@ -79368,11 +79375,12 @@ async function hashSHA1(text) {
79368
79375
  return hashArray.map((byte) => byte.toString(16).padStart(2, "0")).join("");
79369
79376
  }
79370
79377
 
79371
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs
79378
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs
79372
79379
  var SIXTY_SECONDS = 60000;
79373
79380
  var LONG_SCALE = 1152921504606847000;
79374
79381
  var NULL_VALUES_ALLOWED_OPERATORS = [
79375
- "is_not"
79382
+ "is_not",
79383
+ "is_set"
79376
79384
  ];
79377
79385
 
79378
79386
  class ClientError extends Error {
@@ -79514,10 +79522,10 @@ class FeatureFlagsPoller {
79514
79522
  }
79515
79523
  async computeFlagValueLocally(flag, evaluationContext) {
79516
79524
  const { distinctId, groups, personProperties, groupProperties } = evaluationContext;
79517
- if (flag.ensure_experience_continuity)
79518
- throw new InconclusiveMatchError("Flag has experience continuity enabled");
79519
79525
  if (!flag.active)
79520
79526
  return false;
79527
+ if (flag.ensure_experience_continuity)
79528
+ throw new InconclusiveMatchError("Flag has experience continuity enabled");
79521
79529
  const flagFilters = flag.filters || {};
79522
79530
  const aggregation_group_type_index = flagFilters.aggregation_group_type_index;
79523
79531
  if (aggregation_group_type_index != null) {
@@ -79672,7 +79680,7 @@ class FeatureFlagsPoller {
79672
79680
  for (const prop of condition.properties) {
79673
79681
  const propertyType = prop.type;
79674
79682
  let matches = false;
79675
- matches = propertyType === "cohort" ? matchCohort(prop, properties, this.cohorts, this.debugMode) : propertyType === "flag" ? await this.evaluateFlagDependency(prop, properties, evaluationContext) : matchProperty(prop, properties, warnFunction);
79683
+ matches = propertyType === "cohort" ? await matchCohort(prop, properties, this.cohorts, this.debugMode, (depProp) => this.evaluateFlagDependency(depProp, properties, evaluationContext)) : propertyType === "flag" ? await this.evaluateFlagDependency(prop, properties, evaluationContext) : matchProperty(prop, properties, warnFunction);
79676
79684
  if (!matches)
79677
79685
  return false;
79678
79686
  }
@@ -79904,9 +79912,12 @@ function matchProperty(property, propertyValues, warnFunction) {
79904
79912
  const operator = property.operator || "exact";
79905
79913
  if (key in propertyValues) {
79906
79914
  if (operator === "is_not_set")
79907
- throw new InconclusiveMatchError("Operator is_not_set is not supported");
79908
- } else
79915
+ return false;
79916
+ } else {
79917
+ if (operator === "is_not_set")
79918
+ return true;
79909
79919
  throw new InconclusiveMatchError(`Property ${key} not found in propertyValues`);
79920
+ }
79910
79921
  const overrideValue = propertyValues[key];
79911
79922
  if (overrideValue == null && !NULL_VALUES_ALLOWED_OPERATORS.includes(operator)) {
79912
79923
  if (warnFunction)
@@ -79948,16 +79959,12 @@ function matchProperty(property, propertyValues, warnFunction) {
79948
79959
  case "gte":
79949
79960
  case "lt":
79950
79961
  case "lte": {
79951
- let parsedValue = typeof value == "number" ? value : null;
79952
- if (typeof value == "string")
79953
- try {
79954
- parsedValue = parseFloat(value);
79955
- } catch (err) {}
79956
- if (parsedValue == null || overrideValue == null)
79957
- return compare(String(overrideValue), String(value), operator);
79958
- if (typeof overrideValue == "string")
79959
- return compare(overrideValue, String(value), operator);
79960
- return compare(overrideValue, parsedValue, operator);
79962
+ const parsedValue = typeof value == "number" ? value : parseFloat(String(value));
79963
+ let parsedOverride;
79964
+ parsedOverride = typeof overrideValue == "number" ? overrideValue : overrideValue != null ? parseFloat(String(overrideValue)) : NaN;
79965
+ if (Number.isFinite(parsedValue) && Number.isFinite(parsedOverride))
79966
+ return compare(parsedOverride, parsedValue, operator);
79967
+ return compare(String(overrideValue), String(value), operator);
79961
79968
  }
79962
79969
  case "is_date_after":
79963
79970
  case "is_date_before": {
@@ -80022,13 +80029,13 @@ function checkCohortExists(cohortId, cohortProperties) {
80022
80029
  if (!(cohortId in cohortProperties))
80023
80030
  throw new RequiresServerEvaluation(`cohort ${cohortId} not found in local cohorts - likely a static cohort that requires server evaluation`);
80024
80031
  }
80025
- function matchCohort(property, propertyValues, cohortProperties, debugMode = false) {
80032
+ async function matchCohort(property, propertyValues, cohortProperties, debugMode = false, flagDependencyEvaluator) {
80026
80033
  const cohortId = String(property.value);
80027
80034
  checkCohortExists(cohortId, cohortProperties);
80028
80035
  const propertyGroup = cohortProperties[cohortId];
80029
- return matchPropertyGroup(propertyGroup, propertyValues, cohortProperties, debugMode);
80036
+ return matchPropertyGroup(propertyGroup, propertyValues, cohortProperties, debugMode, flagDependencyEvaluator);
80030
80037
  }
80031
- function matchPropertyGroup(propertyGroup, propertyValues, cohortProperties, debugMode = false) {
80038
+ async function matchPropertyGroup(propertyGroup, propertyValues, cohortProperties, debugMode = false, flagDependencyEvaluator) {
80032
80039
  if (!propertyGroup)
80033
80040
  return true;
80034
80041
  const propertyGroupType = propertyGroup.type;
@@ -80039,7 +80046,7 @@ function matchPropertyGroup(propertyGroup, propertyValues, cohortProperties, deb
80039
80046
  if ("values" in properties[0]) {
80040
80047
  for (const prop of properties)
80041
80048
  try {
80042
- const matches = matchPropertyGroup(prop, propertyValues, cohortProperties, debugMode);
80049
+ const matches = await matchPropertyGroup(prop, propertyValues, cohortProperties, debugMode, flagDependencyEvaluator);
80043
80050
  if (propertyGroupType === "AND") {
80044
80051
  if (!matches)
80045
80052
  return false;
@@ -80063,11 +80070,11 @@ function matchPropertyGroup(propertyGroup, propertyValues, cohortProperties, deb
80063
80070
  try {
80064
80071
  let matches;
80065
80072
  if (prop.type === "cohort")
80066
- matches = matchCohort(prop, propertyValues, cohortProperties, debugMode);
80073
+ matches = await matchCohort(prop, propertyValues, cohortProperties, debugMode, flagDependencyEvaluator);
80067
80074
  else if (prop.type === "flag") {
80068
- if (debugMode)
80069
- console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${prop.key || "unknown"}'`);
80070
- continue;
80075
+ if (!flagDependencyEvaluator)
80076
+ throw new InconclusiveMatchError(`Flag dependency '${prop.key || "unknown"}' cannot be evaluated without a flag dependency evaluator`);
80077
+ matches = await flagDependencyEvaluator(prop);
80071
80078
  } else
80072
80079
  matches = matchProperty(prop, propertyValues);
80073
80080
  const negation = prop.negation || false;
@@ -80104,6 +80111,13 @@ function isValidRegex(regex) {
80104
80111
  return false;
80105
80112
  }
80106
80113
  }
80114
+ function parseSemverNumericIdentifier(part, raw) {
80115
+ if (!/^\d+$/.test(part))
80116
+ throw new InconclusiveMatchError(`Invalid semver: ${raw}`);
80117
+ if (part.length > 1 && part[0] === "0")
80118
+ throw new InconclusiveMatchError(`Invalid semver: ${raw}`);
80119
+ return parseInt(part, 10);
80120
+ }
80107
80121
  function parseSemver(value) {
80108
80122
  const text = String(value).trim().replace(/^[vV]/, "");
80109
80123
  const baseVersion = text.split("-")[0].split("+")[0];
@@ -80113,9 +80127,7 @@ function parseSemver(value) {
80113
80127
  const parsePart = (part) => {
80114
80128
  if (part === undefined || part === "")
80115
80129
  return 0;
80116
- if (!/^\d+$/.test(part))
80117
- throw new InconclusiveMatchError(`Invalid semver: ${value}`);
80118
- return parseInt(part, 10);
80130
+ return parseSemverNumericIdentifier(part, value);
80119
80131
  };
80120
80132
  const major = parsePart(parts[0]);
80121
80133
  const minor = parsePart(parts[1]);
@@ -80185,9 +80197,14 @@ function computeWildcardBounds(value) {
80185
80197
  if (!cleanedText)
80186
80198
  throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`);
80187
80199
  const parts = cleanedText.split(".");
80188
- const major = parseInt(parts[0], 10);
80189
- if (isNaN(major))
80190
- throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`);
80200
+ const parseWildcardPart = (part) => {
80201
+ try {
80202
+ return parseSemverNumericIdentifier(part, value);
80203
+ } catch {
80204
+ throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`);
80205
+ }
80206
+ };
80207
+ const major = parseWildcardPart(parts[0]);
80191
80208
  let lower;
80192
80209
  let upper;
80193
80210
  if (parts.length === 1) {
@@ -80202,9 +80219,7 @@ function computeWildcardBounds(value) {
80202
80219
  0
80203
80220
  ];
80204
80221
  } else {
80205
- const minor = parseInt(parts[1], 10);
80206
- if (isNaN(minor))
80207
- throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`);
80222
+ const minor = parseWildcardPart(parts[1]);
80208
80223
  lower = [
80209
80224
  major,
80210
80225
  minor,
@@ -80262,7 +80277,7 @@ function relativeDateParseForFeatureFlagMatching(value) {
80262
80277
  }
80263
80278
  }
80264
80279
 
80265
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/storage-memory.mjs
80280
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/storage-memory.mjs
80266
80281
  class PostHogMemoryStorage {
80267
80282
  getProperty(key) {
80268
80283
  return this._memoryStorage[key];
@@ -80275,7 +80290,7 @@ class PostHogMemoryStorage {
80275
80290
  }
80276
80291
  }
80277
80292
 
80278
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/client.mjs
80293
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/client.mjs
80279
80294
  var MINIMUM_POLLING_INTERVAL = 100;
80280
80295
  var THIRTY_SECONDS = 30000;
80281
80296
  var MAX_CACHE_SIZE = 50000;
@@ -80493,7 +80508,7 @@ class PostHogBackendClient extends PostHogCoreStateless {
80493
80508
  $set_once: setOnceProps,
80494
80509
  $anon_distinct_id: $anon_distinct_id ?? undefined
80495
80510
  };
80496
- super.identifyStatelessImmediate(distinctId, eventProperties, {
80511
+ await super.identifyStatelessImmediate(distinctId, eventProperties, {
80497
80512
  disableGeoip
80498
80513
  });
80499
80514
  }
@@ -80904,17 +80919,18 @@ class PostHogBackendClient extends PostHogCoreStateless {
80904
80919
  }
80905
80920
  _captureFlagCalledEventIfNeeded(params) {
80906
80921
  const { distinctId, key, response, groups, disableGeoip, properties } = params;
80907
- const featureFlagReportedKey = `${key}_${response}`;
80908
- if (distinctId in this.distinctIdHasSentFlagCalls && this.distinctIdHasSentFlagCalls[distinctId].includes(featureFlagReportedKey))
80922
+ const groupSuffix = groups && Object.keys(groups).length > 0 ? `_${JSON.stringify(Object.entries(groups).sort(([a], [b2]) => a < b2 ? -1 : a > b2 ? 1 : 0))}` : "";
80923
+ const featureFlagReportedKey = `${key}_${response}${groupSuffix}`;
80924
+ if (distinctId in this.distinctIdHasSentFlagCalls && this.distinctIdHasSentFlagCalls[distinctId].has(featureFlagReportedKey))
80909
80925
  return;
80910
80926
  if (Object.keys(this.distinctIdHasSentFlagCalls).length >= this.maxCacheSize)
80911
80927
  this.distinctIdHasSentFlagCalls = {};
80912
- if (Array.isArray(this.distinctIdHasSentFlagCalls[distinctId]))
80913
- this.distinctIdHasSentFlagCalls[distinctId].push(featureFlagReportedKey);
80928
+ if (this.distinctIdHasSentFlagCalls[distinctId] instanceof Set)
80929
+ this.distinctIdHasSentFlagCalls[distinctId].add(featureFlagReportedKey);
80914
80930
  else
80915
- this.distinctIdHasSentFlagCalls[distinctId] = [
80931
+ this.distinctIdHasSentFlagCalls[distinctId] = new Set([
80916
80932
  featureFlagReportedKey
80917
- ];
80933
+ ]);
80918
80934
  this.capture({
80919
80935
  distinctId,
80920
80936
  event: "$feature_flag_called",
@@ -81243,7 +81259,7 @@ class PostHogBackendClient extends PostHogCoreStateless {
81243
81259
  }
81244
81260
  }
81245
81261
 
81246
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/context/context.mjs
81262
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/context/context.mjs
81247
81263
  import { AsyncLocalStorage } from "async_hooks";
81248
81264
 
81249
81265
  class PostHogContext {
@@ -81274,7 +81290,7 @@ class PostHogContext {
81274
81290
  }
81275
81291
  }
81276
81292
 
81277
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/extensions/sentry-integration.mjs
81293
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/extensions/sentry-integration.mjs
81278
81294
  var NAME = "posthog-node";
81279
81295
  function createEventProcessor(_posthog, { organization, projectId, prefix, severityAllowList = [
81280
81296
  "error"
@@ -81342,7 +81358,7 @@ class PostHogSentryIntegration {
81342
81358
  };
81343
81359
  }
81344
81360
  }
81345
- // node_modules/.bun/posthog-node@5.34.3/node_modules/posthog-node/dist/entrypoints/index.node.mjs
81361
+ // node_modules/.bun/posthog-node@5.35.3/node_modules/posthog-node/dist/entrypoints/index.node.mjs
81346
81362
  ErrorTracking.errorPropertiesBuilder = new exports_error_tracking.ErrorPropertiesBuilder([
81347
81363
  new exports_error_tracking.EventCoercer,
81348
81364
  new exports_error_tracking.ErrorCoercer,