tempest.games 0.2.95 → 0.2.97

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.
@@ -6461,10 +6461,10 @@ var intrinsic = {
6461
6461
  emptyStructure: node("structure", {}, { prereduced: true })
6462
6462
  };
6463
6463
  $ark.intrinsic = { ...intrinsic };
6464
- // ../../node_modules/.pnpm/arkregex@0.0.4/node_modules/arkregex/out/regex.js
6464
+ // ../../node_modules/.pnpm/arkregex@0.0.5/node_modules/arkregex/out/regex.js
6465
6465
  var regex = (src, flags) => new RegExp(src, flags);
6466
6466
  Object.assign(regex, { as: regex });
6467
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operand/date.js
6467
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/date.js
6468
6468
  var isDateLiteral = (value) => typeof value === "string" && value[0] === "d" && (value[1] === "'" || value[1] === '"') && value[value.length - 1] === value[1];
6469
6469
  var isValidDate = (d) => d.toString() !== "Invalid Date";
6470
6470
  var extractDateLiteralSource = (literal) => literal.slice(2, -1);
@@ -6483,7 +6483,7 @@ var maybeParseDate = (source, errorOnFail) => {
6483
6483
  return errorOnFail ? throwParseError(errorOnFail === true ? writeInvalidDateMessage(source) : errorOnFail) : undefined;
6484
6484
  };
6485
6485
 
6486
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operand/enclosed.js
6486
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/enclosed.js
6487
6487
  var regexExecArray = rootSchema({
6488
6488
  proto: "Array",
6489
6489
  sequence: "string",
@@ -6557,12 +6557,12 @@ var enclosingCharDescriptions = {
6557
6557
  };
6558
6558
  var writeUnterminatedEnclosedMessage = (fragment, enclosingStart) => `${enclosingStart}${fragment} requires a closing ${enclosingCharDescriptions[enclosingTokens[enclosingStart]]}`;
6559
6559
 
6560
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/ast/validate.js
6560
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/ast/validate.js
6561
6561
  var writePrefixedPrivateReferenceMessage = (name) => `Private type references should not include '#'. Use '${name}' instead.`;
6562
6562
  var shallowOptionalMessage = "Optional definitions like 'string?' are only valid as properties in an object or tuple";
6563
6563
  var shallowDefaultableMessage = "Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";
6564
6564
 
6565
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/tokens.js
6565
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/tokens.js
6566
6566
  var terminatingChars = {
6567
6567
  "<": 1,
6568
6568
  ">": 1,
@@ -6580,7 +6580,7 @@ var terminatingChars = {
6580
6580
  };
6581
6581
  var lookaheadIsFinalizing = (lookahead, unscanned) => lookahead === ">" ? unscanned[0] === "=" ? unscanned[1] === "=" : unscanned.trimStart() === "" || isKeyOf(unscanned.trimStart()[0], terminatingChars) : lookahead === "=" ? unscanned[0] !== "=" : lookahead === "," || lookahead === "?";
6582
6582
 
6583
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operand/genericArgs.js
6583
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/genericArgs.js
6584
6584
  var parseGenericArgs = (name, g, s) => _parseGenericArgs(name, g, s, []);
6585
6585
  var _parseGenericArgs = (name, g, s, argNodes) => {
6586
6586
  const argState = s.parseUntilFinalizer();
@@ -6597,7 +6597,7 @@ var _parseGenericArgs = (name, g, s, argNodes) => {
6597
6597
  };
6598
6598
  var writeInvalidGenericArgCountMessage = (name, params, argDefs) => `${name}<${params.join(", ")}> requires exactly ${params.length} args (got ${argDefs.length}${argDefs.length === 0 ? "" : `: ${argDefs.join(", ")}`})`;
6599
6599
 
6600
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operand/unenclosed.js
6600
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/unenclosed.js
6601
6601
  var parseUnenclosed = (s) => {
6602
6602
  const token = s.scanner.shiftUntilLookahead(terminatingChars);
6603
6603
  if (token === "keyof")
@@ -6645,10 +6645,10 @@ var writeMissingOperandMessage = (s) => {
6645
6645
  var writeMissingRightOperandMessage = (token, unscanned = "") => `Token '${token}' requires a right operand${unscanned ? ` before '${unscanned}'` : ""}`;
6646
6646
  var writeExpressionExpectedMessage = (unscanned) => `Expected an expression${unscanned ? ` before '${unscanned}'` : ""}`;
6647
6647
 
6648
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operand/operand.js
6648
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/operand.js
6649
6649
  var parseOperand = (s) => s.scanner.lookahead === "" ? s.error(writeMissingOperandMessage(s)) : s.scanner.lookahead === "(" ? s.shiftedBy(1).reduceGroupOpen() : s.scanner.lookaheadIsIn(enclosingChar) ? parseEnclosed(s, s.scanner.shift()) : s.scanner.lookaheadIsIn(whitespaceChars) ? parseOperand(s.shiftedBy(1)) : s.scanner.lookahead === "d" ? s.scanner.nextLookahead in enclosingQuote ? parseEnclosed(s, `${s.scanner.shift()}${s.scanner.shift()}`) : parseUnenclosed(s) : s.scanner.lookahead === "x" ? s.scanner.nextLookahead === "/" ? s.shiftedBy(2) && parseEnclosed(s, "x/") : parseUnenclosed(s) : parseUnenclosed(s);
6650
6650
 
6651
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/reduce/shared.js
6651
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/reduce/shared.js
6652
6652
  var minComparators = {
6653
6653
  ">": true,
6654
6654
  ">=": true
@@ -6668,7 +6668,7 @@ var writeOpenRangeMessage = (min2, comparator) => `Left bounds are only valid wh
6668
6668
  var writeUnpairableComparatorMessage = (comparator) => `Left-bounded expressions must specify their limits using < or <= (was ${comparator})`;
6669
6669
  var writeMultipleLeftBoundsMessage = (openLimit, openComparator, limit, comparator) => `An expression may have at most one left bound (parsed ${openLimit}${invertedComparators[openComparator]}, ${limit}${invertedComparators[comparator]})`;
6670
6670
 
6671
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operator/bounds.js
6671
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/bounds.js
6672
6672
  var parseBound = (s, start) => {
6673
6673
  const comparator = shiftComparator(s, start);
6674
6674
  if (s.root.hasKind("unit")) {
@@ -6739,14 +6739,14 @@ var parseRightBound = (s, comparator) => {
6739
6739
  };
6740
6740
  var writeInvalidLimitMessage = (comparator, limit, boundKind) => `Comparator ${boundKind === "left" ? invertedComparators[comparator] : comparator} must be ${boundKind === "left" ? "preceded" : "followed"} by a corresponding literal (was ${limit})`;
6741
6741
 
6742
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operator/brand.js
6742
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/brand.js
6743
6743
  var parseBrand = (s) => {
6744
6744
  s.scanner.shiftUntilNonWhitespace();
6745
6745
  const brandName = s.scanner.shiftUntilLookahead(terminatingChars);
6746
6746
  s.root = s.root.brand(brandName);
6747
6747
  };
6748
6748
 
6749
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operator/divisor.js
6749
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/divisor.js
6750
6750
  var parseDivisor = (s) => {
6751
6751
  s.scanner.shiftUntilNonWhitespace();
6752
6752
  const divisorToken = s.scanner.shiftUntilLookahead(terminatingChars);
@@ -6759,7 +6759,7 @@ var parseDivisor = (s) => {
6759
6759
  };
6760
6760
  var writeInvalidDivisorMessage = (divisor2) => `% operator must be followed by a non-zero integer literal (was ${divisor2})`;
6761
6761
 
6762
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operator/operator.js
6762
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/operator.js
6763
6763
  var parseOperator = (s) => {
6764
6764
  const lookahead = s.scanner.shift();
6765
6765
  return lookahead === "" ? s.finalize("") : lookahead === "[" ? s.scanner.shift() === "]" ? s.setRoot(s.root.array()) : s.error(incompleteArrayTokenMessage) : lookahead === "|" ? s.scanner.lookahead === ">" ? s.shiftedBy(1).pushRootToBranch("|>") : s.pushRootToBranch(lookahead) : lookahead === "&" ? s.pushRootToBranch(lookahead) : lookahead === ")" ? s.finalizeGroup() : lookaheadIsFinalizing(lookahead, s.scanner.unscanned) ? s.finalize(lookahead) : isKeyOf(lookahead, comparatorStartChars) ? parseBound(s, lookahead) : lookahead === "%" ? parseDivisor(s) : lookahead === "#" ? parseBrand(s) : (lookahead in whitespaceChars) ? parseOperator(s) : s.error(writeUnexpectedCharacterMessage(lookahead));
@@ -6767,7 +6767,7 @@ var parseOperator = (s) => {
6767
6767
  var writeUnexpectedCharacterMessage = (char, shouldBe = "") => `'${char}' is not allowed here${shouldBe && ` (should be ${shouldBe})`}`;
6768
6768
  var incompleteArrayTokenMessage = `Missing expected ']'`;
6769
6769
 
6770
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/shift/operator/default.js
6770
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/default.js
6771
6771
  var parseDefault = (s) => {
6772
6772
  const baseNode = s.unsetRoot();
6773
6773
  s.parseOperand();
@@ -6779,7 +6779,7 @@ var parseDefault = (s) => {
6779
6779
  };
6780
6780
  var writeNonLiteralDefaultMessage = (defaultDef) => `Default value '${defaultDef}' must be a literal value`;
6781
6781
 
6782
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/string.js
6782
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/string.js
6783
6783
  var parseString = (def, ctx) => {
6784
6784
  const aliasResolution = ctx.$.maybeResolveRoot(def);
6785
6785
  if (aliasResolution)
@@ -6818,7 +6818,7 @@ var parseUntilFinalizer = (s) => {
6818
6818
  };
6819
6819
  var next = (s) => s.hasRoot() ? s.parseOperator() : s.parseOperand();
6820
6820
 
6821
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/reduce/dynamic.js
6821
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/reduce/dynamic.js
6822
6822
  class RuntimeState {
6823
6823
  root;
6824
6824
  branches = {
@@ -6955,7 +6955,7 @@ class RuntimeState {
6955
6955
  }
6956
6956
  }
6957
6957
 
6958
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/generic.js
6958
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/generic.js
6959
6959
  var emptyGenericParameterMessage = "An empty string is not a valid generic parameter name";
6960
6960
  var parseGenericParamName = (scanner2, result, ctx) => {
6961
6961
  scanner2.shiftUntilNonWhitespace();
@@ -6983,7 +6983,7 @@ var _parseOptionalConstraint = (scanner2, name, result, ctx) => {
6983
6983
  result.push([name, s.root]);
6984
6984
  return parseGenericParamName(scanner2, result, ctx);
6985
6985
  };
6986
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/fn.js
6986
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/fn.js
6987
6987
  class InternalFnParser extends Callable {
6988
6988
  constructor($) {
6989
6989
  const attach = {
@@ -7035,7 +7035,7 @@ class InternalTypedFn extends Callable {
7035
7035
  var badFnReturnTypeMessage = `":" must be followed by exactly one return type e.g:
7036
7036
  fn("string", ":", "number")(s => s.length)`;
7037
7037
 
7038
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/match.js
7038
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/match.js
7039
7039
  class InternalMatchParser extends Callable {
7040
7040
  $;
7041
7041
  constructor($) {
@@ -7129,7 +7129,7 @@ var throwOnDefault = (errors3) => errors3.throw();
7129
7129
  var chainedAtMessage = `A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')`;
7130
7130
  var doubleAtMessage = `At most one key matcher may be specified per expression`;
7131
7131
 
7132
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/property.js
7132
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/property.js
7133
7133
  var parseProperty = (def, ctx) => {
7134
7134
  if (isArray(def)) {
7135
7135
  if (def[1] === "=")
@@ -7142,7 +7142,7 @@ var parseProperty = (def, ctx) => {
7142
7142
  var invalidOptionalKeyKindMessage = `Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }`;
7143
7143
  var invalidDefaultableKeyKindMessage = `Only required keys may specify default values, e.g. { value: 'number = 0' }`;
7144
7144
 
7145
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/objectLiteral.js
7145
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/objectLiteral.js
7146
7146
  var parseObjectLiteral = (def, ctx) => {
7147
7147
  let spread;
7148
7148
  const structure3 = {};
@@ -7227,7 +7227,7 @@ var preparseKey = (key) => typeof key === "symbol" ? { kind: "required", normali
7227
7227
  };
7228
7228
  var writeInvalidSpreadTypeMessage = (def) => `Spread operand must resolve to an object literal type (was ${def})`;
7229
7229
 
7230
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/tupleExpressions.js
7230
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/tupleExpressions.js
7231
7231
  var maybeParseTupleExpression = (def, ctx) => isIndexZeroExpression(def) ? indexZeroParsers[def[0]](def, ctx) : isIndexOneExpression(def) ? indexOneParsers[def[1]](def, ctx) : null;
7232
7232
  var parseKeyOfTuple = (def, ctx) => ctx.$.parseOwnDefinitionFormat(def[1], ctx).keyof();
7233
7233
  var parseBranchTuple = (def, ctx) => {
@@ -7288,7 +7288,7 @@ var indexZeroParsers = defineIndexZeroParsers({
7288
7288
  var isIndexZeroExpression = (def) => indexZeroParsers[def[0]] !== undefined;
7289
7289
  var writeInvalidConstructorMessage = (actual) => `Expected a constructor following 'instanceof' operator (was ${actual})`;
7290
7290
 
7291
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/tupleLiteral.js
7291
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/tupleLiteral.js
7292
7292
  var parseTupleLiteral = (def, ctx) => {
7293
7293
  let sequences = [{}];
7294
7294
  let i = 0;
@@ -7384,7 +7384,7 @@ var requiredPostOptionalMessage = "A required element may not follow an optional
7384
7384
  var optionalOrDefaultableAfterVariadicMessage = "An optional element may not follow a variadic element";
7385
7385
  var defaultablePostOptionalMessage = "A defaultable element may not follow an optional element without a default";
7386
7386
 
7387
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/parser/definition.js
7387
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/definition.js
7388
7388
  var parseCache = {};
7389
7389
  var parseInnerDefinition = (def, ctx) => {
7390
7390
  if (typeof def === "string") {
@@ -7448,7 +7448,7 @@ var parseStandardSchema = (def, ctx) => ctx.$.intrinsic.unknown.pipe((v, ctx2) =
7448
7448
  var parseTuple = (def, ctx) => maybeParseTupleExpression(def, ctx) ?? parseTupleLiteral(def, ctx);
7449
7449
  var writeBadDefinitionTypeMessage = (actual) => `Type definitions must be strings or objects (was ${actual})`;
7450
7450
 
7451
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/type.js
7451
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/type.js
7452
7452
  class InternalTypeParser extends Callable {
7453
7453
  constructor($) {
7454
7454
  const attach = Object.assign({
@@ -7490,7 +7490,7 @@ class InternalTypeParser extends Callable {
7490
7490
  }
7491
7491
  }
7492
7492
 
7493
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/scope.js
7493
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/scope.js
7494
7494
  var $arkTypeRegistry = $ark;
7495
7495
 
7496
7496
  class InternalScope extends BaseScope {
@@ -7584,7 +7584,7 @@ var scope2 = Object.assign(InternalScope.scope, {
7584
7584
  });
7585
7585
  var Scope = InternalScope;
7586
7586
 
7587
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/builtins.js
7587
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/builtins.js
7588
7588
  class MergeHkt extends Hkt {
7589
7589
  description = 'merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`';
7590
7590
  }
@@ -7594,7 +7594,7 @@ var arkBuiltins = Scope.module({
7594
7594
  Merge
7595
7595
  });
7596
7596
 
7597
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/Array.js
7597
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/Array.js
7598
7598
  class liftFromHkt extends Hkt {
7599
7599
  }
7600
7600
  var liftFrom = genericNode("element")((args2) => {
@@ -7611,7 +7611,7 @@ var arkArray = Scope.module({
7611
7611
  name: "Array"
7612
7612
  });
7613
7613
 
7614
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/FormData.js
7614
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/FormData.js
7615
7615
  var value = rootSchema(["string", registry.FileConstructor]);
7616
7616
  var parsedFormDataValue = value.rawOr(value.array());
7617
7617
  var parsed = rootSchema({
@@ -7648,7 +7648,7 @@ var arkFormData = Scope.module({
7648
7648
  name: "FormData"
7649
7649
  });
7650
7650
 
7651
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/TypedArray.js
7651
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/TypedArray.js
7652
7652
  var TypedArray = Scope.module({
7653
7653
  Int8: ["instanceof", Int8Array],
7654
7654
  Uint8: ["instanceof", Uint8Array],
@@ -7665,7 +7665,7 @@ var TypedArray = Scope.module({
7665
7665
  name: "TypedArray"
7666
7666
  });
7667
7667
 
7668
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/constructors.js
7668
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/constructors.js
7669
7669
  var omittedPrototypes = {
7670
7670
  Boolean: 1,
7671
7671
  Number: 1,
@@ -7678,7 +7678,7 @@ var arkPrototypes = Scope.module({
7678
7678
  FormData: arkFormData
7679
7679
  });
7680
7680
 
7681
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/number.js
7681
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/number.js
7682
7682
  var epoch = rootSchema({
7683
7683
  domain: {
7684
7684
  domain: "number",
@@ -7721,7 +7721,7 @@ var number = Scope.module({
7721
7721
  name: "number"
7722
7722
  });
7723
7723
 
7724
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/string.js
7724
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/string.js
7725
7725
  var regexStringNode = (regex2, description, jsonSchemaFormat) => {
7726
7726
  const schema = {
7727
7727
  domain: "string",
@@ -8112,7 +8112,7 @@ var string = Scope.module({
8112
8112
  name: "string"
8113
8113
  });
8114
8114
 
8115
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/ts.js
8115
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/ts.js
8116
8116
  var arkTsKeywords = Scope.module({
8117
8117
  bigint: intrinsic.bigint,
8118
8118
  boolean: intrinsic.boolean,
@@ -8200,7 +8200,7 @@ var arkTsGenerics = Scope.module({
8200
8200
  Required: Required2
8201
8201
  });
8202
8202
 
8203
- // ../../node_modules/.pnpm/arktype@2.1.28/node_modules/arktype/out/keywords/keywords.js
8203
+ // ../../node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/keywords.js
8204
8204
  var ark = scope2({
8205
8205
  ...arkTsKeywords,
8206
8206
  ...arkTsGenerics,
@@ -11632,7 +11632,7 @@ var ParentSocket = class extends CustomSocket {
11632
11632
  incompleteData = ``;
11633
11633
  unprocessedEvents = [];
11634
11634
  relays;
11635
- relayServices;
11635
+ initRelay;
11636
11636
  proc;
11637
11637
  id = `#####`;
11638
11638
  log(...args2) {
@@ -11658,7 +11658,9 @@ var ParentSocket = class extends CustomSocket {
11658
11658
  this.proc = proc;
11659
11659
  this.proc.stdin.resume();
11660
11660
  this.relays = /* @__PURE__ */ new Map;
11661
- this.relayServices = [];
11661
+ this.initRelay = () => {
11662
+ this.logger.info(`\uD83D\uDD17`, `nothing to relay`);
11663
+ };
11662
11664
  this.proc.stdin.on(`data`, (buffer) => {
11663
11665
  const pieces = buffer.toString().split(`\x03`);
11664
11666
  const initialMaybeWellFormed = pieces[0];
@@ -11713,15 +11715,13 @@ var ParentSocket = class extends CustomSocket {
11713
11715
  if (this.proc.pid)
11714
11716
  this.id = this.proc.pid?.toString();
11715
11717
  this.on(`user-joins`, (userKey) => {
11716
- this.logger.info(`\uD83D\uDC64`, `user`, userKey, `joined`);
11718
+ this.logger.info(`\uD83D\uDC64`, userKey, `joined`);
11717
11719
  const relay = new SubjectSocket(userKey);
11718
11720
  this.relays.set(userKey, relay);
11719
- this.logger.info(`\uD83D\uDD17`, `attaching services:`, `[${[...this.relayServices.keys()].join(`, `)}]`);
11720
- for (const attachRelay of this.relayServices) {
11721
- const cleanupRelay = attachRelay(relay, userKey);
11722
- if (cleanupRelay)
11723
- relay.disposalFunctions.push(cleanupRelay);
11724
- }
11721
+ this.logger.info(`\uD83D\uDD17`, `attaching services for user`, userKey);
11722
+ const cleanupRelay = this.initRelay(relay, userKey);
11723
+ if (cleanupRelay)
11724
+ relay.disposalFunctions.push(cleanupRelay);
11725
11725
  this.on(userKey, (...data) => {
11726
11726
  relay.in.next(data);
11727
11727
  });
@@ -11741,7 +11741,7 @@ var ParentSocket = class extends CustomSocket {
11741
11741
  }
11742
11742
  receiveRelay(attachServices) {
11743
11743
  this.logger.info(`\uD83D\uDD17`, `running relay method`);
11744
- this.relayServices.push(attachServices);
11744
+ this.initRelay = attachServices;
11745
11745
  }
11746
11746
  };
11747
11747
  var ChildSocket = class extends CustomSocket {
@@ -11937,7 +11937,7 @@ import { createServer as createHttpServer } from "http";
11937
11937
  import { createServer as createSecureServer } from "https";
11938
11938
  import { resolve } from "path";
11939
11939
 
11940
- // ../../node_modules/.pnpm/@t3-oss+env-core@0.13.8_arktype@2.1.28_typescript@5.9.3_zod@4.1.13/node_modules/@t3-oss/env-core/dist/src-Bb3GbGAa.js
11940
+ // ../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_arktype@2.1.29_typescript@5.9.3_zod@4.2.0/node_modules/@t3-oss/env-core/dist/standard.js
11941
11941
  function ensureSynchronous(value2, message) {
11942
11942
  if (value2 instanceof Promise)
11943
11943
  throw new Error(message);
@@ -11962,17 +11962,21 @@ function parseWithDictionary(dictionary, value2) {
11962
11962
  return { issues };
11963
11963
  return { value: result };
11964
11964
  }
11965
+
11966
+ // ../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_arktype@2.1.29_typescript@5.9.3_zod@4.2.0/node_modules/@t3-oss/env-core/dist/index.js
11965
11967
  function createEnv(opts) {
11966
11968
  const runtimeEnv = opts.runtimeEnvStrict ?? opts.runtimeEnv ?? process.env;
11967
- const emptyStringAsUndefined = opts.emptyStringAsUndefined ?? false;
11968
- if (emptyStringAsUndefined) {
11969
+ if (opts.emptyStringAsUndefined ?? false) {
11969
11970
  for (const [key, value2] of Object.entries(runtimeEnv))
11970
11971
  if (value2 === "")
11971
11972
  delete runtimeEnv[key];
11972
11973
  }
11973
- const skip = !!opts.skipValidation;
11974
- if (skip)
11974
+ if (!!opts.skipValidation) {
11975
+ if (opts.extends)
11976
+ for (const preset of opts.extends)
11977
+ preset.skipValidation = true;
11975
11978
  return runtimeEnv;
11979
+ }
11976
11980
  const _client = typeof opts.client === "object" ? opts.client : {};
11977
11981
  const _server = typeof opts.server === "object" ? opts.server : {};
11978
11982
  const _shared = typeof opts.shared === "object" ? opts.shared : {};
@@ -11985,7 +11989,7 @@ function createEnv(opts) {
11985
11989
  ..._client,
11986
11990
  ..._shared
11987
11991
  };
11988
- const parsed2 = opts.createFinalSchema?.(finalSchemaShape, isServer)["~standard"].validate(runtimeEnv) ?? parseWithDictionary(finalSchemaShape, runtimeEnv);
11992
+ const parsed2 = opts.createFinalSchema?.(finalSchemaShape, isServer)?.["~standard"].validate(runtimeEnv) ?? parseWithDictionary(finalSchemaShape, runtimeEnv);
11989
11993
  ensureSynchronous(parsed2, "Validation must be synchronous");
11990
11994
  const onValidationError = opts.onValidationError ?? ((issues) => {
11991
11995
  console.error("\u274C Invalid environment variables:", issues);
@@ -12011,7 +12015,7 @@ function createEnv(opts) {
12011
12015
  return Object.assign(acc, curr);
12012
12016
  }, {});
12013
12017
  const fullObj = Object.assign(extendedObj, parsed2.value);
12014
- const env2 = new Proxy(fullObj, { get(target, prop2) {
12018
+ return new Proxy(fullObj, { get(target, prop2) {
12015
12019
  if (typeof prop2 !== "string")
12016
12020
  return;
12017
12021
  if (ignoreProp(prop2))
@@ -12020,7 +12024,6 @@ function createEnv(opts) {
12020
12024
  return onInvalidAccess(prop2);
12021
12025
  return Reflect.get(target, prop2);
12022
12026
  } });
12023
- return env2;
12024
12027
  }
12025
12028
 
12026
12029
  // src/library/env.ts
@@ -17152,6 +17155,9 @@ class Index2 {
17152
17155
  this.config = { ...config3, table };
17153
17156
  }
17154
17157
  }
17158
+ function index(name) {
17159
+ return new IndexBuilderOn(false, name);
17160
+ }
17155
17161
  function uniqueIndex(name) {
17156
17162
  return new IndexBuilderOn(true, name);
17157
17163
  }
@@ -17353,8 +17359,8 @@ class PgDialect {
17353
17359
  return;
17354
17360
  }
17355
17361
  const joinsArray = [];
17356
- for (const [index, joinMeta] of joins.entries()) {
17357
- if (index === 0) {
17362
+ for (const [index2, joinMeta] of joins.entries()) {
17363
+ if (index2 === 0) {
17358
17364
  joinsArray.push(sql` `);
17359
17365
  }
17360
17366
  const table = joinMeta.table;
@@ -17375,7 +17381,7 @@ class PgDialect {
17375
17381
  } else {
17376
17382
  joinsArray.push(sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table}${onSql}`);
17377
17383
  }
17378
- if (index < joins.length - 1) {
17384
+ if (index2 < joins.length - 1) {
17379
17385
  joinsArray.push(sql` `);
17380
17386
  }
17381
17387
  }
@@ -19212,6 +19218,7 @@ function drizzle(...params) {
19212
19218
  var exports_tempest_db_schema = {};
19213
19219
  __export(exports_tempest_db_schema, {
19214
19220
  users: () => users,
19221
+ userSessions: () => userSessions,
19215
19222
  untrackedUserColumnNames: () => untrackedUserColumnNames,
19216
19223
  twoFactorMethod: () => twoFactorMethod,
19217
19224
  trackedUserColumnName: () => trackedUserColumnName,
@@ -19313,6 +19320,11 @@ var banishedIps = pgTable(`banishedIps`, {
19313
19320
  banishedAtIso: iso8601().notNull().default(ISO_NOW),
19314
19321
  banishedUntilIso: iso8601()
19315
19322
  });
19323
+ var userSessions = pgTable(`userSessions`, {
19324
+ sessionKey: uuid2().notNull().primaryKey(),
19325
+ userId: uuid2().notNull().references(() => users.id, { onDelete: `cascade` }),
19326
+ createdAtIso: iso8601().notNull().default(ISO_NOW)
19327
+ }, (table) => [index(`userIdIndex`).on(table.userId)]);
19316
19328
 
19317
19329
  // src/database/tempest-db-manager.ts
19318
19330
  var __dirname = "/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";