@agent-play/sdk 3.4.1 → 3.4.3

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.
@@ -444,6 +444,16 @@ declare const MINIMUM_PLAY_WORLD_BOUNDS: WorldBounds;
444
444
  * Shorter on Y than {@link MINIMUM_PLAY_WORLD_BOUNDS}: three vertical strips across span X = 20, height 3.
445
445
  */
446
446
  declare const MINIMUM_STREET_LAYOUT_BOUNDS: WorldBounds;
447
+ /** Height in grid rows of the three-column street band at the bottom of the map. */
448
+ declare const COLUMN_STREET_ROW_HEIGHT = 3;
449
+ /** Height in grid rows of the single-zone parking street band above column streets. */
450
+ declare const PARKING_STREET_ROW_HEIGHT = 4;
451
+ /** Empty grid rows between column street signs and the parking asphalt band. */
452
+ declare const PARKING_COLUMN_GAP_ROWS = 2.5;
453
+ declare const parkingZoneMinYFromColumnBase: (columnMinY: number) => number;
454
+ declare const parkingZoneMaxYFromColumnBase: (columnMinY: number) => number;
455
+ /** Default bounds: column streets (Y 0–2), gap, parking row (Y 6–9). */
456
+ declare const DEFAULT_LAYOUT_BOUNDS_WITH_PARKING: WorldBounds;
447
457
  declare function expandBoundsToMinimumPlayArea(bounds: WorldBounds): WorldBounds;
448
458
  /**
449
459
  * Clamps a point to lie inside `bounds` along both axes.
@@ -565,7 +575,7 @@ type StreetPoolEntry = {
565
575
  declare const STREET_NAME_POOL: readonly StreetPoolEntry[];
566
576
  declare function getStreetPoolEntryById(id: string): StreetPoolEntry | undefined;
567
577
 
568
- type OccupantGroup = "agent" | "space" | "arcade";
578
+ type OccupantGroup = "agent" | "space" | "arcade" | "parking";
569
579
  type Street = {
570
580
  id: string;
571
581
  label: string;
@@ -623,10 +633,14 @@ declare function isSpaceAnchorOccupancyPointAvailableInZone(input: {
623
633
  structureMinDistance: number;
624
634
  }): boolean;
625
635
  type WorldLayoutBoundsField = "minX" | "minY" | "maxX" | "maxY";
636
+ declare function layoutHasParkingZone(layout: WorldLayout): boolean;
626
637
  declare function migrateWorldLayoutBounds(input: {
627
638
  layout: WorldLayout;
628
639
  bounds: WorldBounds;
629
640
  }): WorldLayout;
641
+ declare function layoutNeedsParkingColumnGapMigration(layout: WorldLayout): boolean;
642
+ declare function migrateLayoutToParkingColumnGap(layout: WorldLayout): WorldLayout;
643
+ declare function migrateLayoutToParkingRow(layout: WorldLayout): WorldLayout;
630
644
  declare function applyBoundsFieldUpdateToLayout(input: {
631
645
  layout: WorldLayout;
632
646
  field: WorldLayoutBoundsField;
@@ -636,6 +650,15 @@ declare function createVerticalStripSeedLayout(input: {
636
650
  bounds: WorldBounds;
637
651
  streets: readonly [StreetPoolEntry, StreetPoolEntry, StreetPoolEntry];
638
652
  }): WorldLayout;
653
+ declare function createWorldLayoutWithParkingRow(input: {
654
+ bounds: WorldBounds;
655
+ streets: readonly [
656
+ StreetPoolEntry,
657
+ StreetPoolEntry,
658
+ StreetPoolEntry,
659
+ StreetPoolEntry
660
+ ];
661
+ }): WorldLayout;
639
662
 
640
663
  /**
641
664
  * @packageDocumentation
@@ -831,7 +854,7 @@ declare const SupermarketItemSchema: z.ZodObject<{
831
854
  soldAt?: string | undefined;
832
855
  };
833
856
  row: 1 | 2 | 3 | 4;
834
- column: 1 | 2 | 5 | 3 | 4;
857
+ column: 1 | 2 | 3 | 4 | 5;
835
858
  }, {
836
859
  id: string;
837
860
  spaceId: string;
@@ -845,7 +868,7 @@ declare const SupermarketItemSchema: z.ZodObject<{
845
868
  soldAt?: string | undefined;
846
869
  };
847
870
  row: 1 | 2 | 3 | 4;
848
- column: 1 | 2 | 5 | 3 | 4;
871
+ column: 1 | 2 | 3 | 4 | 5;
849
872
  }>;
850
873
  /** Runtime type for {@link SupermarketItemSchema}. @public */
851
874
  type SupermarketItem = z.infer<typeof SupermarketItemSchema>;
@@ -908,7 +931,7 @@ declare const CarWashCarSchema: z.ZodObject<{
908
931
  soldToPlayerId?: string | undefined;
909
932
  soldAt?: string | undefined;
910
933
  };
911
- slot: 8 | 7 | 1 | 6 | 2 | 5 | 3 | 4 | 9;
934
+ slot: 8 | 7 | 1 | 6 | 2 | 3 | 4 | 5 | 9;
912
935
  model: string;
913
936
  year: number;
914
937
  colorHex: string;
@@ -923,7 +946,7 @@ declare const CarWashCarSchema: z.ZodObject<{
923
946
  soldToPlayerId?: string | undefined;
924
947
  soldAt?: string | undefined;
925
948
  };
926
- slot: 8 | 7 | 1 | 6 | 2 | 5 | 3 | 4 | 9;
949
+ slot: 8 | 7 | 1 | 6 | 2 | 3 | 4 | 5 | 9;
927
950
  model: string;
928
951
  year: number;
929
952
  colorHex: string;
@@ -1009,16 +1032,16 @@ declare const PurchaseRecordSchema: z.ZodObject<{
1009
1032
  id: z.ZodString;
1010
1033
  playerId: z.ZodString;
1011
1034
  spaceId: z.ZodString;
1012
- amenityKind: z.ZodEnum<["shop", "supermarket", "car_wash", "talk_time", "wallet_bundle", "apu_credit", "apu_debit"]>;
1035
+ amenityKind: z.ZodEnum<["shop", "supermarket", "car_wash", "parking", "house", "talk_time", "wallet_bundle", "apu_credit", "apu_debit"]>;
1013
1036
  itemRef: z.ZodObject<{
1014
- kind: z.ZodEnum<["shop", "supermarket", "carwash", "game", "apu", "talk", "bundle"]>;
1037
+ kind: z.ZodEnum<["shop", "supermarket", "carwash", "parking", "house", "game", "apu", "talk", "bundle"]>;
1015
1038
  id: z.ZodString;
1016
1039
  }, "strip", z.ZodTypeAny, {
1017
1040
  id: string;
1018
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
1041
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1019
1042
  }, {
1020
1043
  id: string;
1021
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
1044
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1022
1045
  }>;
1023
1046
  priceUsd: z.ZodOptional<z.ZodNumber>;
1024
1047
  at: z.ZodString;
@@ -1035,10 +1058,10 @@ declare const PurchaseRecordSchema: z.ZodObject<{
1035
1058
  id: string;
1036
1059
  spaceId: string;
1037
1060
  playerId: string;
1038
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1061
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1039
1062
  itemRef: {
1040
1063
  id: string;
1041
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
1064
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1042
1065
  };
1043
1066
  priceUsd?: number | undefined;
1044
1067
  detail?: string | undefined;
@@ -1054,10 +1077,10 @@ declare const PurchaseRecordSchema: z.ZodObject<{
1054
1077
  id: string;
1055
1078
  spaceId: string;
1056
1079
  playerId: string;
1057
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1080
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1058
1081
  itemRef: {
1059
1082
  id: string;
1060
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
1083
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1061
1084
  };
1062
1085
  priceUsd?: number | undefined;
1063
1086
  detail?: string | undefined;
@@ -1122,6 +1145,446 @@ type SpaceContentItem = ShopItem | SupermarketItem | CarWashCar;
1122
1145
  */
1123
1146
  declare function desaturateColor(hex: number): number;
1124
1147
 
1148
+ declare const MAX_TIMED_PARKING_SLOTS_PER_NODE = 2;
1149
+ declare const MAX_SLOTS_WITH_FOREVER = 1;
1150
+ type ParkingDurationTier = "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1151
+ type ParkingOccupancyRef = {
1152
+ readonly nodeId: string;
1153
+ readonly tier: ParkingDurationTier;
1154
+ readonly expiresAt: string | null;
1155
+ };
1156
+ type ParkingOwnershipError = "PARKING_OWNERSHIP_LIMIT" | "PARKING_FOREVER_LIMIT";
1157
+ declare const canNodeAcquireParkingSpot: (input: {
1158
+ nodeId: string;
1159
+ tier: ParkingDurationTier;
1160
+ active: ReadonlyArray<ParkingOccupancyRef>;
1161
+ }) => {
1162
+ ok: true;
1163
+ } | {
1164
+ ok: false;
1165
+ error: ParkingOwnershipError;
1166
+ };
1167
+
1168
+ declare const ParkingDurationTierSchema: z.ZodEnum<["1h", "12h", "1d", "3d", "7d", "1mo", "3mo", "1y", "forever"]>;
1169
+ declare const ParkingOccupantSchema: z.ZodObject<{
1170
+ nodeId: z.ZodString;
1171
+ carPurchaseId: z.ZodString;
1172
+ displayNick: z.ZodString;
1173
+ colorHex: z.ZodString;
1174
+ model: z.ZodString;
1175
+ tier: z.ZodEnum<["1h", "12h", "1d", "3d", "7d", "1mo", "3mo", "1y", "forever"]>;
1176
+ purchasedAt: z.ZodString;
1177
+ expiresAt: z.ZodNullable<z.ZodString>;
1178
+ }, "strip", z.ZodTypeAny, {
1179
+ model: string;
1180
+ colorHex: string;
1181
+ nodeId: string;
1182
+ carPurchaseId: string;
1183
+ displayNick: string;
1184
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1185
+ purchasedAt: string;
1186
+ expiresAt: string | null;
1187
+ }, {
1188
+ model: string;
1189
+ colorHex: string;
1190
+ nodeId: string;
1191
+ carPurchaseId: string;
1192
+ displayNick: string;
1193
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1194
+ purchasedAt: string;
1195
+ expiresAt: string | null;
1196
+ }>;
1197
+ declare const ParkingSpotSchema: z.ZodObject<{
1198
+ id: z.ZodString;
1199
+ bay: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1200
+ layer: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
1201
+ occupant: z.ZodNullable<z.ZodObject<{
1202
+ nodeId: z.ZodString;
1203
+ carPurchaseId: z.ZodString;
1204
+ displayNick: z.ZodString;
1205
+ colorHex: z.ZodString;
1206
+ model: z.ZodString;
1207
+ tier: z.ZodEnum<["1h", "12h", "1d", "3d", "7d", "1mo", "3mo", "1y", "forever"]>;
1208
+ purchasedAt: z.ZodString;
1209
+ expiresAt: z.ZodNullable<z.ZodString>;
1210
+ }, "strip", z.ZodTypeAny, {
1211
+ model: string;
1212
+ colorHex: string;
1213
+ nodeId: string;
1214
+ carPurchaseId: string;
1215
+ displayNick: string;
1216
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1217
+ purchasedAt: string;
1218
+ expiresAt: string | null;
1219
+ }, {
1220
+ model: string;
1221
+ colorHex: string;
1222
+ nodeId: string;
1223
+ carPurchaseId: string;
1224
+ displayNick: string;
1225
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1226
+ purchasedAt: string;
1227
+ expiresAt: string | null;
1228
+ }>>;
1229
+ }, "strip", z.ZodTypeAny, {
1230
+ occupant: {
1231
+ model: string;
1232
+ colorHex: string;
1233
+ nodeId: string;
1234
+ carPurchaseId: string;
1235
+ displayNick: string;
1236
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1237
+ purchasedAt: string;
1238
+ expiresAt: string | null;
1239
+ } | null;
1240
+ id: string;
1241
+ bay: 1 | 2 | 3 | 4;
1242
+ layer: 1 | 2;
1243
+ }, {
1244
+ occupant: {
1245
+ model: string;
1246
+ colorHex: string;
1247
+ nodeId: string;
1248
+ carPurchaseId: string;
1249
+ displayNick: string;
1250
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1251
+ purchasedAt: string;
1252
+ expiresAt: string | null;
1253
+ } | null;
1254
+ id: string;
1255
+ bay: 1 | 2 | 3 | 4;
1256
+ layer: 1 | 2;
1257
+ }>;
1258
+ declare const ParkingStreetContentSchema: z.ZodObject<{
1259
+ spots: z.ZodArray<z.ZodObject<{
1260
+ id: z.ZodString;
1261
+ bay: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1262
+ layer: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
1263
+ occupant: z.ZodNullable<z.ZodObject<{
1264
+ nodeId: z.ZodString;
1265
+ carPurchaseId: z.ZodString;
1266
+ displayNick: z.ZodString;
1267
+ colorHex: z.ZodString;
1268
+ model: z.ZodString;
1269
+ tier: z.ZodEnum<["1h", "12h", "1d", "3d", "7d", "1mo", "3mo", "1y", "forever"]>;
1270
+ purchasedAt: z.ZodString;
1271
+ expiresAt: z.ZodNullable<z.ZodString>;
1272
+ }, "strip", z.ZodTypeAny, {
1273
+ model: string;
1274
+ colorHex: string;
1275
+ nodeId: string;
1276
+ carPurchaseId: string;
1277
+ displayNick: string;
1278
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1279
+ purchasedAt: string;
1280
+ expiresAt: string | null;
1281
+ }, {
1282
+ model: string;
1283
+ colorHex: string;
1284
+ nodeId: string;
1285
+ carPurchaseId: string;
1286
+ displayNick: string;
1287
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1288
+ purchasedAt: string;
1289
+ expiresAt: string | null;
1290
+ }>>;
1291
+ }, "strip", z.ZodTypeAny, {
1292
+ occupant: {
1293
+ model: string;
1294
+ colorHex: string;
1295
+ nodeId: string;
1296
+ carPurchaseId: string;
1297
+ displayNick: string;
1298
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1299
+ purchasedAt: string;
1300
+ expiresAt: string | null;
1301
+ } | null;
1302
+ id: string;
1303
+ bay: 1 | 2 | 3 | 4;
1304
+ layer: 1 | 2;
1305
+ }, {
1306
+ occupant: {
1307
+ model: string;
1308
+ colorHex: string;
1309
+ nodeId: string;
1310
+ carPurchaseId: string;
1311
+ displayNick: string;
1312
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1313
+ purchasedAt: string;
1314
+ expiresAt: string | null;
1315
+ } | null;
1316
+ id: string;
1317
+ bay: 1 | 2 | 3 | 4;
1318
+ layer: 1 | 2;
1319
+ }>, "many">;
1320
+ rates: z.ZodRecord<z.ZodEnum<["1h", "12h", "1d", "3d", "7d", "1mo", "3mo", "1y", "forever"]>, z.ZodNumber>;
1321
+ }, "strip", z.ZodTypeAny, {
1322
+ spots: {
1323
+ occupant: {
1324
+ model: string;
1325
+ colorHex: string;
1326
+ nodeId: string;
1327
+ carPurchaseId: string;
1328
+ displayNick: string;
1329
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1330
+ purchasedAt: string;
1331
+ expiresAt: string | null;
1332
+ } | null;
1333
+ id: string;
1334
+ bay: 1 | 2 | 3 | 4;
1335
+ layer: 1 | 2;
1336
+ }[];
1337
+ rates: Partial<Record<"1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever", number>>;
1338
+ }, {
1339
+ spots: {
1340
+ occupant: {
1341
+ model: string;
1342
+ colorHex: string;
1343
+ nodeId: string;
1344
+ carPurchaseId: string;
1345
+ displayNick: string;
1346
+ tier: "1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever";
1347
+ purchasedAt: string;
1348
+ expiresAt: string | null;
1349
+ } | null;
1350
+ id: string;
1351
+ bay: 1 | 2 | 3 | 4;
1352
+ layer: 1 | 2;
1353
+ }[];
1354
+ rates: Partial<Record<"1h" | "12h" | "1d" | "3d" | "7d" | "1mo" | "3mo" | "1y" | "forever", number>>;
1355
+ }>;
1356
+ type ParkingSpot = z.infer<typeof ParkingSpotSchema>;
1357
+ type ParkingOccupant = z.infer<typeof ParkingOccupantSchema>;
1358
+ type ParkingStreetContent = z.infer<typeof ParkingStreetContentSchema>;
1359
+ declare const PARKING_BAY_COUNT = 4;
1360
+ declare const PARKING_LAYERS_PER_BAY = 2;
1361
+ declare const PARKING_SPOT_COUNT: number;
1362
+ declare const createEmptyParkingStreetContent: () => ParkingStreetContent;
1363
+ declare const listActiveParkingOccupancies: (content: ParkingStreetContent, nowIso: string) => Array<{
1364
+ nodeId: string;
1365
+ tier: ParkingDurationTier;
1366
+ expiresAt: string | null;
1367
+ }>;
1368
+ declare const findParkingSpot: (content: ParkingStreetContent, bay: ParkingSpot["bay"], layer: ParkingSpot["layer"]) => ParkingSpot | undefined;
1369
+ declare const effectiveParkingStreet: (content: ParkingStreetContent, nowIso: string) => ParkingStreetContent;
1370
+
1371
+ declare const HOUSE_WORLD_X: readonly [3, 8, 13, 18];
1372
+ declare const HouseIdSchema: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1373
+ declare const HOUSE_CATALOG: readonly [{
1374
+ readonly houseId: 1;
1375
+ readonly bay: 1;
1376
+ readonly priceUsd: 1299.99;
1377
+ readonly layoutLabel: "Studio layout";
1378
+ }, {
1379
+ readonly houseId: 2;
1380
+ readonly bay: 2;
1381
+ readonly priceUsd: 2199.99;
1382
+ readonly layoutLabel: "Split room";
1383
+ }, {
1384
+ readonly houseId: 3;
1385
+ readonly bay: 3;
1386
+ readonly priceUsd: 3499.99;
1387
+ readonly layoutLabel: "L-shaped";
1388
+ }, {
1389
+ readonly houseId: 4;
1390
+ readonly bay: 4;
1391
+ readonly priceUsd: 5999.99;
1392
+ readonly layoutLabel: "Loft";
1393
+ }];
1394
+ declare const HouseSlotSchema: z.ZodObject<{
1395
+ id: z.ZodString;
1396
+ houseId: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1397
+ bay: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1398
+ worldX: z.ZodNumber;
1399
+ priceUsd: z.ZodNumber;
1400
+ layoutId: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1401
+ layoutLabel: z.ZodString;
1402
+ ownerNodeId: z.ZodNullable<z.ZodString>;
1403
+ ownerDisplayName: z.ZodNullable<z.ZodString>;
1404
+ ownerName: z.ZodNullable<z.ZodString>;
1405
+ ownerSignature: z.ZodNullable<z.ZodString>;
1406
+ purchasedAt: z.ZodNullable<z.ZodString>;
1407
+ }, "strip", z.ZodTypeAny, {
1408
+ id: string;
1409
+ priceUsd: number;
1410
+ purchasedAt: string | null;
1411
+ bay: 1 | 2 | 3 | 4;
1412
+ houseId: 1 | 2 | 3 | 4;
1413
+ worldX: number;
1414
+ layoutId: 1 | 2 | 3 | 4;
1415
+ layoutLabel: string;
1416
+ ownerNodeId: string | null;
1417
+ ownerDisplayName: string | null;
1418
+ ownerName: string | null;
1419
+ ownerSignature: string | null;
1420
+ }, {
1421
+ id: string;
1422
+ priceUsd: number;
1423
+ purchasedAt: string | null;
1424
+ bay: 1 | 2 | 3 | 4;
1425
+ houseId: 1 | 2 | 3 | 4;
1426
+ worldX: number;
1427
+ layoutId: 1 | 2 | 3 | 4;
1428
+ layoutLabel: string;
1429
+ ownerNodeId: string | null;
1430
+ ownerDisplayName: string | null;
1431
+ ownerName: string | null;
1432
+ ownerSignature: string | null;
1433
+ }>;
1434
+ declare const HouseStreetContentSchema: z.ZodObject<{
1435
+ houses: z.ZodArray<z.ZodObject<{
1436
+ id: z.ZodString;
1437
+ houseId: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1438
+ bay: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1439
+ worldX: z.ZodNumber;
1440
+ priceUsd: z.ZodNumber;
1441
+ layoutId: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>;
1442
+ layoutLabel: z.ZodString;
1443
+ ownerNodeId: z.ZodNullable<z.ZodString>;
1444
+ ownerDisplayName: z.ZodNullable<z.ZodString>;
1445
+ ownerName: z.ZodNullable<z.ZodString>;
1446
+ ownerSignature: z.ZodNullable<z.ZodString>;
1447
+ purchasedAt: z.ZodNullable<z.ZodString>;
1448
+ }, "strip", z.ZodTypeAny, {
1449
+ id: string;
1450
+ priceUsd: number;
1451
+ purchasedAt: string | null;
1452
+ bay: 1 | 2 | 3 | 4;
1453
+ houseId: 1 | 2 | 3 | 4;
1454
+ worldX: number;
1455
+ layoutId: 1 | 2 | 3 | 4;
1456
+ layoutLabel: string;
1457
+ ownerNodeId: string | null;
1458
+ ownerDisplayName: string | null;
1459
+ ownerName: string | null;
1460
+ ownerSignature: string | null;
1461
+ }, {
1462
+ id: string;
1463
+ priceUsd: number;
1464
+ purchasedAt: string | null;
1465
+ bay: 1 | 2 | 3 | 4;
1466
+ houseId: 1 | 2 | 3 | 4;
1467
+ worldX: number;
1468
+ layoutId: 1 | 2 | 3 | 4;
1469
+ layoutLabel: string;
1470
+ ownerNodeId: string | null;
1471
+ ownerDisplayName: string | null;
1472
+ ownerName: string | null;
1473
+ ownerSignature: string | null;
1474
+ }>, "many">;
1475
+ }, "strip", z.ZodTypeAny, {
1476
+ houses: {
1477
+ id: string;
1478
+ priceUsd: number;
1479
+ purchasedAt: string | null;
1480
+ bay: 1 | 2 | 3 | 4;
1481
+ houseId: 1 | 2 | 3 | 4;
1482
+ worldX: number;
1483
+ layoutId: 1 | 2 | 3 | 4;
1484
+ layoutLabel: string;
1485
+ ownerNodeId: string | null;
1486
+ ownerDisplayName: string | null;
1487
+ ownerName: string | null;
1488
+ ownerSignature: string | null;
1489
+ }[];
1490
+ }, {
1491
+ houses: {
1492
+ id: string;
1493
+ priceUsd: number;
1494
+ purchasedAt: string | null;
1495
+ bay: 1 | 2 | 3 | 4;
1496
+ houseId: 1 | 2 | 3 | 4;
1497
+ worldX: number;
1498
+ layoutId: 1 | 2 | 3 | 4;
1499
+ layoutLabel: string;
1500
+ ownerNodeId: string | null;
1501
+ ownerDisplayName: string | null;
1502
+ ownerName: string | null;
1503
+ ownerSignature: string | null;
1504
+ }[];
1505
+ }>;
1506
+ type HouseId = z.infer<typeof HouseIdSchema>;
1507
+ type HouseSlot = z.infer<typeof HouseSlotSchema>;
1508
+ type HouseStreetContent = z.infer<typeof HouseStreetContentSchema>;
1509
+ declare const PARKING_HOUSE_COUNT = 4;
1510
+ declare const createEmptyHouseStreetContent: () => HouseStreetContent;
1511
+ declare const findHouseSlot: (content: HouseStreetContent, houseId: HouseId) => HouseSlot | undefined;
1512
+ declare const isHouseOwned: (house: HouseSlot) => boolean;
1513
+ declare const housePurchaseDetail: (house: HouseSlot) => string;
1514
+ declare const formatHouseOwnerDisplayName: (input: {
1515
+ name: string;
1516
+ signature: string;
1517
+ }) => string;
1518
+ declare const buildHouseOwnershipPanelLines: (house: HouseSlot) => readonly string[];
1519
+
1520
+ type HouseStageBounds = {
1521
+ readonly minX: number;
1522
+ readonly minY: number;
1523
+ readonly maxX: number;
1524
+ readonly maxY: number;
1525
+ };
1526
+ type HouseFixtureKind = "bed" | "wardrobe" | "mirror" | "window";
1527
+ type HouseFixtureSlot = {
1528
+ readonly kind: HouseFixtureKind;
1529
+ readonly variant: string;
1530
+ readonly x: number;
1531
+ readonly y: number;
1532
+ readonly rotation?: 0 | 90 | 180 | 270;
1533
+ };
1534
+ type HouseBlueprint = {
1535
+ readonly houseId: HouseId;
1536
+ readonly label: string;
1537
+ readonly bounds: HouseStageBounds;
1538
+ readonly floor: {
1539
+ readonly color: number;
1540
+ readonly pattern: "planks" | "tiles" | "carpet";
1541
+ };
1542
+ readonly exteriorPalette: {
1543
+ readonly wall: number;
1544
+ readonly roof: number;
1545
+ readonly door: number;
1546
+ readonly window: number;
1547
+ readonly trim: number;
1548
+ };
1549
+ readonly fixtures: ReadonlyArray<{
1550
+ readonly kind: HouseFixtureKind;
1551
+ readonly variant: string;
1552
+ readonly x: number;
1553
+ readonly y: number;
1554
+ readonly rotation?: 0 | 90 | 180 | 270;
1555
+ }>;
1556
+ readonly spawn: {
1557
+ readonly x: number;
1558
+ readonly y: number;
1559
+ };
1560
+ };
1561
+ declare const HOUSE_BLUEPRINTS: readonly HouseBlueprint[];
1562
+ declare const getHouseBlueprint: (houseId: HouseId) => HouseBlueprint;
1563
+ declare const layoutHouseFixtures: (blueprint: HouseBlueprint) => HouseFixtureSlot[];
1564
+ declare const houseSpawnPosition: (blueprint: HouseBlueprint) => {
1565
+ x: number;
1566
+ y: number;
1567
+ };
1568
+ declare const clampHousePosition: (blueprint: HouseBlueprint, pos: {
1569
+ x: number;
1570
+ y: number;
1571
+ }) => {
1572
+ x: number;
1573
+ y: number;
1574
+ };
1575
+
1576
+ declare const PARKING_DURATION_TIERS: readonly ["1h", "12h", "1d", "3d", "7d", "1mo", "3mo", "1y", "forever"];
1577
+ declare const DEFAULT_PARKING_RATES_USD: Record<ParkingDurationTier, number>;
1578
+ declare const effectiveHourlyRateUsd: (tier: ParkingDurationTier) => number;
1579
+ declare const computeParkingExpiresAt: (input: {
1580
+ tier: ParkingDurationTier;
1581
+ purchasedAtIso: string;
1582
+ }) => string | null;
1583
+ declare const isParkingOccupantActive: (input: {
1584
+ expiresAt: string | null;
1585
+ nowIso: string;
1586
+ }) => boolean;
1587
+
1125
1588
  /**
1126
1589
  * Token name for redeemable power-up units (Agent Play Units).
1127
1590
  *
@@ -1487,16 +1950,16 @@ declare const ScannerTxRecordSchema: z.ZodObject<{
1487
1950
  id: z.ZodString;
1488
1951
  playerId: z.ZodString;
1489
1952
  spaceId: z.ZodString;
1490
- amenityKind: z.ZodEnum<["shop", "supermarket", "car_wash", "talk_time", "wallet_bundle", "apu_credit", "apu_debit"]>;
1953
+ amenityKind: z.ZodEnum<["shop", "supermarket", "car_wash", "parking", "house", "talk_time", "wallet_bundle", "apu_credit", "apu_debit"]>;
1491
1954
  itemRef: z.ZodObject<{
1492
- kind: z.ZodEnum<["shop", "supermarket", "carwash", "game", "apu", "talk", "bundle"]>;
1955
+ kind: z.ZodEnum<["shop", "supermarket", "carwash", "parking", "house", "game", "apu", "talk", "bundle"]>;
1493
1956
  id: z.ZodString;
1494
1957
  }, "strip", z.ZodTypeAny, {
1495
1958
  id: string;
1496
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
1959
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1497
1960
  }, {
1498
1961
  id: string;
1499
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
1962
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1500
1963
  }>;
1501
1964
  priceUsd: z.ZodOptional<z.ZodNumber>;
1502
1965
  at: z.ZodString;
@@ -1519,10 +1982,10 @@ declare const ScannerTxRecordSchema: z.ZodObject<{
1519
1982
  id: string;
1520
1983
  spaceId: string;
1521
1984
  playerId: string;
1522
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1985
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1523
1986
  itemRef: {
1524
1987
  id: string;
1525
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
1988
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1526
1989
  };
1527
1990
  hostId: string;
1528
1991
  indexedAt: string;
@@ -1543,10 +2006,10 @@ declare const ScannerTxRecordSchema: z.ZodObject<{
1543
2006
  id: string;
1544
2007
  spaceId: string;
1545
2008
  playerId: string;
1546
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
2009
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1547
2010
  itemRef: {
1548
2011
  id: string;
1549
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
2012
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1550
2013
  };
1551
2014
  hostId: string;
1552
2015
  indexedAt: string;
@@ -1614,15 +2077,15 @@ declare const ScannerMigrationStateSchema: z.ZodObject<{
1614
2077
  cursor: string;
1615
2078
  totalIndexed: number;
1616
2079
  startedAt: string;
1617
- completedAt?: string | undefined;
1618
2080
  error?: string | undefined;
2081
+ completedAt?: string | undefined;
1619
2082
  }, {
1620
2083
  status: "pending" | "running" | "completed" | "failed";
1621
2084
  cursor: string;
1622
2085
  totalIndexed: number;
1623
2086
  startedAt: string;
1624
- completedAt?: string | undefined;
1625
2087
  error?: string | undefined;
2088
+ completedAt?: string | undefined;
1626
2089
  }>;
1627
2090
  type ScannerMigrationState = z.infer<typeof ScannerMigrationStateSchema>;
1628
2091
  /**
@@ -1758,16 +2221,16 @@ declare const ScannerNodeProfileSchema: z.ZodObject<{
1758
2221
  id: z.ZodString;
1759
2222
  playerId: z.ZodString;
1760
2223
  spaceId: z.ZodString;
1761
- amenityKind: z.ZodEnum<["shop", "supermarket", "car_wash", "talk_time", "wallet_bundle", "apu_credit", "apu_debit"]>;
2224
+ amenityKind: z.ZodEnum<["shop", "supermarket", "car_wash", "parking", "house", "talk_time", "wallet_bundle", "apu_credit", "apu_debit"]>;
1762
2225
  itemRef: z.ZodObject<{
1763
- kind: z.ZodEnum<["shop", "supermarket", "carwash", "game", "apu", "talk", "bundle"]>;
2226
+ kind: z.ZodEnum<["shop", "supermarket", "carwash", "parking", "house", "game", "apu", "talk", "bundle"]>;
1764
2227
  id: z.ZodString;
1765
2228
  }, "strip", z.ZodTypeAny, {
1766
2229
  id: string;
1767
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
2230
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1768
2231
  }, {
1769
2232
  id: string;
1770
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
2233
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1771
2234
  }>;
1772
2235
  priceUsd: z.ZodOptional<z.ZodNumber>;
1773
2236
  at: z.ZodString;
@@ -1790,10 +2253,10 @@ declare const ScannerNodeProfileSchema: z.ZodObject<{
1790
2253
  id: string;
1791
2254
  spaceId: string;
1792
2255
  playerId: string;
1793
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
2256
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1794
2257
  itemRef: {
1795
2258
  id: string;
1796
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
2259
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1797
2260
  };
1798
2261
  hostId: string;
1799
2262
  indexedAt: string;
@@ -1814,10 +2277,10 @@ declare const ScannerNodeProfileSchema: z.ZodObject<{
1814
2277
  id: string;
1815
2278
  spaceId: string;
1816
2279
  playerId: string;
1817
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
2280
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1818
2281
  itemRef: {
1819
2282
  id: string;
1820
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
2283
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1821
2284
  };
1822
2285
  hostId: string;
1823
2286
  indexedAt: string;
@@ -1926,8 +2389,8 @@ declare const ScannerNodeProfileSchema: z.ZodObject<{
1926
2389
  traits: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
1927
2390
  }, "strip", z.ZodTypeAny, {
1928
2391
  kind: "agent" | "unknown" | "main";
1929
- generatedAt: string;
1930
2392
  nodeId: string;
2393
+ generatedAt: string;
1931
2394
  wallet: {
1932
2395
  balanceUsd: number;
1933
2396
  currency: "USD";
@@ -1954,10 +2417,10 @@ declare const ScannerNodeProfileSchema: z.ZodObject<{
1954
2417
  id: string;
1955
2418
  spaceId: string;
1956
2419
  playerId: string;
1957
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
2420
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
1958
2421
  itemRef: {
1959
2422
  id: string;
1960
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
2423
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
1961
2424
  };
1962
2425
  hostId: string;
1963
2426
  indexedAt: string;
@@ -2006,8 +2469,8 @@ declare const ScannerNodeProfileSchema: z.ZodObject<{
2006
2469
  traits: Record<string, string | number | boolean | null>;
2007
2470
  }, {
2008
2471
  kind: "agent" | "unknown" | "main";
2009
- generatedAt: string;
2010
2472
  nodeId: string;
2473
+ generatedAt: string;
2011
2474
  wallet: {
2012
2475
  balanceUsd: number;
2013
2476
  currency: "USD";
@@ -2034,10 +2497,10 @@ declare const ScannerNodeProfileSchema: z.ZodObject<{
2034
2497
  id: string;
2035
2498
  spaceId: string;
2036
2499
  playerId: string;
2037
- amenityKind: "supermarket" | "shop" | "car_wash" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
2500
+ amenityKind: "supermarket" | "shop" | "car_wash" | "parking" | "house" | "talk_time" | "wallet_bundle" | "apu_credit" | "apu_debit";
2038
2501
  itemRef: {
2039
2502
  id: string;
2040
- kind: "supermarket" | "shop" | "carwash" | "game" | "apu" | "talk" | "bundle";
2503
+ kind: "supermarket" | "shop" | "parking" | "house" | "carwash" | "game" | "apu" | "talk" | "bundle";
2041
2504
  };
2042
2505
  hostId: string;
2043
2506
  indexedAt: string;
@@ -2190,15 +2653,15 @@ declare const AnalyticsMigrationStateSchema: z.ZodObject<{
2190
2653
  cursor: string;
2191
2654
  totalIndexed: number;
2192
2655
  startedAt: string;
2193
- completedAt?: string | undefined;
2194
2656
  error?: string | undefined;
2657
+ completedAt?: string | undefined;
2195
2658
  }, {
2196
2659
  status: "pending" | "running" | "completed" | "failed";
2197
2660
  cursor: string;
2198
2661
  totalIndexed: number;
2199
2662
  startedAt: string;
2200
- completedAt?: string | undefined;
2201
2663
  error?: string | undefined;
2664
+ completedAt?: string | undefined;
2202
2665
  }>;
2203
2666
  type AnalyticsMigrationState = z.infer<typeof AnalyticsMigrationStateSchema>;
2204
2667
  declare const ANALYTICS_EVENT_NAMES: {
@@ -2234,4 +2697,4 @@ declare function mergeSnapshotWithPlayerChainNode(snapshot: AgentPlaySnapshot, n
2234
2697
  declare const PLAYER_CHAIN_GENESIS_STABLE_KEY: "__genesis__";
2235
2698
  declare const PLAYER_CHAIN_HEADER_STABLE_KEY: "__header__";
2236
2699
 
2237
- export { MINIMUM_STREET_LAYOUT_BOUNDS as $, type AgentPlaySnapshot as A, type AssistToolParameterSpec as B, type AssistToolSpec as C, CONTINUOUS_RENDER_OFFSET as D, type CarWashCar as E, CarWashCarSchema as F, type ComputeTalkAgentPowerUpsEarnedInput as G, DAILY_GAME_PU_CAP as H, DEFAULT_AGENT_SPAWN_MIN_DISTANCE as I, type Journey as J, DEFAULT_PLAYER_WALLET_BALANCE_USD as K, type LangChainAgentRegistration as L, type DestinationJourneyStep as M, GAME_CABINET_CATALOG as N, type GameCabinetEntry as O, type PlayerChainNodeResponse as P, type GameEvent as Q, type RemotePlayWorldInitAudioOptions as R, GameEventSchema as S, type GameId as T, type GamePerTitleStats as U, GamePerTitleStatsSchema as V, type WorldInteractionRole as W, type GameStats as X, GameStatsSchema as Y, type JourneyStep as Z, MINIMUM_PLAY_WORLD_BOUNDS as _, type AddAgentInput as a, type WalletBundleOffer as a$, OCCUPANCY_POINT_MULTIPLIER as a0, type OccupancyGridPoint as a1, type OccupantGroup as a2, type OriginJourneyStep as a3, type P2aEnableFlag as a4, PLAYABLE_GAME_IDS as a5, PLAYER_CHAIN_GENESIS_STABLE_KEY as a6, PLAYER_CHAIN_HEADER_STABLE_KEY as a7, type PlatformAgentInformation as a8, type PlayAgentInformation as a9, type ScannerMigrationState as aA, ScannerMigrationStateSchema as aB, type ScannerMigrationStatus as aC, ScannerMigrationStatusSchema as aD, type ScannerNodeProfile as aE, ScannerNodeProfileSchema as aF, type ScannerTxOp as aG, ScannerTxOpSchema as aH, type ScannerTxRecord as aI, ScannerTxRecordSchema as aJ, type ScannerWalletSnapshot as aK, ScannerWalletSnapshotSchema as aL, type ShopItem as aM, ShopItemSchema as aN, type SpaceContentItem as aO, type Street as aP, type StreetPoolEntry as aQ, type StructureJourneyStep as aR, type SupermarketItem as aS, SupermarketItemSchema as aT, TALK_AGENT_PU_BILLED_SECONDS_PER_UNIT as aU, TALK_AGENT_PU_MAX_PER_LEG as aV, TALK_PRICE_PER_60S_USD as aW, TALK_PRICE_PER_SECOND_USD as aX, TALK_TICK_SECONDS as aY, WALLET_BUNDLE_OFFERS as aZ, type WalletBundleId as a_, type PlayerChainFanoutNotify as aa, type PlayerChainGenesisNode as ab, type PlayerChainHeaderNode as ac, type PlayerChainNotifyNodeRef as ad, type PlayerChainOccupantPresentNode as ae, type PlayerChainOccupantRemovedNode as af, type PlayerWallet as ag, PlayerWalletSchema as ah, type PositionedStep as ai, type PurchaseRecord as aj, PurchaseRecordSchema as ak, type RealtimeWebrtcClientSecret as al, type RegisteredAgentSummary as am, type RemotePlayWorldOpenAiAudioOptions as an, SPACE_STRUCTURE_ANCHOR_MIN_DISTANCE as ao, SPATIAL_ZONE_INDEX_AGENTS as ap, SPATIAL_ZONE_INDEX_SPACES as aq, STREAK_BONUS_PU as ar, STREAK_BONUS_THRESHOLD_DAYS as as, STREET_NAME_POOL as at, type SaleState as au, SaleStateSchema as av, type ScannerBlockRecord as aw, ScannerBlockRecordSchema as ax, type ScannerHead as ay, ScannerHeadSchema as az, type RegisteredPlayer as b, sortNodeRefsForSerializedFetch as b$, type WorldBounds as b0, type WorldJourneyUpdate as b1, type WorldLayout as b2, type WorldLayoutBoundsField as b3, type YieldEventInfo as b4, type Zone as b5, type ZoneEventInfo as b6, applyBoundsFieldUpdateToLayout as b7, availableCellsForZone as b8, boundingWorldRectForOccupancyPoints as b9, getWalletBundleById as bA, isAgentSpawnOccupancyPointAvailable as bB, isAgentSpawnOccupancyPointAvailableInRect as bC, isAgentSpawnOccupancyPointAvailableInZone as bD, isGameId as bE, isItemAvailableForPurchase as bF, isSpaceAnchorOccupancyPointAvailable as bG, isSpaceAnchorOccupancyPointAvailableInRect as bH, isSpaceAnchorOccupancyPointAvailableInZone as bI, listAllowedOccupancyPoints as bJ, listOccupancyPointsForSpatialZone as bK, listOccupancyPointsForZone as bL, listOccupancyPointsInRect as bM, mergeSnapshotWithPlayerChainNode as bN, migrateWorldLayoutBounds as bO, nextStreetFromPool as bP, occupancyKeyForPosition as bQ, occupancyPointsGroupedBySpatialZone as bR, occupancyPointsGroupedByZones as bS, parsePlayerChainFanoutNotify as bT, parsePlayerChainFanoutNotifyFromSsePayload as bU, parsePlayerChainNodeRpcBody as bV, pickZoneForGroup as bW, pointCellInRect as bX, pointCellInSpatialZone as bY, pointCellInZone as bZ, primaryZoneForGroup as b_, boundsContain as ba, buildAmenityPurchaseApuFields as bb, buildApuWalletTransaction as bc, buildRankedOccupancyPoints as bd, buildRankedOccupancyPointsForSpatialZone as be, buildRankedOccupancyPointsForZone as bf, buildRankedOccupancyPointsInRect as bg, buildWalletBundleApuFields as bh, cellsForZone as bi, centerOfZone as bj, clampWorldPosition as bk, computeEventPuDelta as bl, computeRoundPuDelta as bm, computeTalkAgentPowerUpsEarned as bn, costForSeconds as bo, createEmptyGameStats as bp, createInitialAgentRewardWallet as bq, createInitialPlayerWallet as br, createVerticalStripSeedLayout as bs, desaturateColor as bt, enumerateIntegerCellsInRect as bu, expandBoundsToMinimumPlayArea as bv, featuredGameIdForUtcDate as bw, getGameCabinetByGameId as bx, getGameCabinetById as by, getStreetPoolEntryById as bz, type AddPlayerInput as c, spatialZoneBounds as c0, spatialZoneCenter as c1, streetFromPoolEntry as c2, utcDateKey as c3, zonesForGroup as c4, type RecordInteractionInput as d, ANALYTICS_EVENT_NAMES as e, APU_TOKEN as f, type AgentPlayWorldLayout as g, type AgentPlayWorldLayoutZone as h, type AgentPlayWorldMap as i, type AgentPlayWorldMapAgentOccupant as j, type AgentPlayWorldMapBounds as k, type AgentPlayWorldMapMcpOccupant as l, type AnalyticsContext as m, AnalyticsContextSchema as n, type AnalyticsEvent as o, type AnalyticsEventName as p, AnalyticsEventSchema as q, type AnalyticsMigrationState as r, AnalyticsMigrationStateSchema as s, type AnalyticsPropertyValue as t, AnalyticsPropertyValueSchema as u, type AnalyticsTraits as v, AnalyticsTraitsSchema as w, type ApplyGameOutcomeInput as x, ApplyGameOutcomeInputSchema as y, type AssistToolFieldType as z };
2700
+ export { GameStatsSchema as $, type AgentPlaySnapshot as A, type AssistToolParameterSpec as B, type AssistToolSpec as C, COLUMN_STREET_ROW_HEIGHT as D, CONTINUOUS_RENDER_OFFSET as E, type CarWashCar as F, CarWashCarSchema as G, type ComputeTalkAgentPowerUpsEarnedInput as H, DAILY_GAME_PU_CAP as I, type Journey as J, DEFAULT_AGENT_SPAWN_MIN_DISTANCE as K, type LangChainAgentRegistration as L, DEFAULT_LAYOUT_BOUNDS_WITH_PARKING as M, DEFAULT_PARKING_RATES_USD as N, DEFAULT_PLAYER_WALLET_BALANCE_USD as O, type PlayerChainNodeResponse as P, type DestinationJourneyStep as Q, type RemotePlayWorldInitAudioOptions as R, GAME_CABINET_CATALOG as S, type GameCabinetEntry as T, type GameEvent as U, GameEventSchema as V, type WorldInteractionRole as W, type GameId as X, type GamePerTitleStats as Y, GamePerTitleStatsSchema as Z, type GameStats as _, type AddAgentInput as a, STREET_NAME_POOL as a$, HOUSE_BLUEPRINTS as a0, HOUSE_CATALOG as a1, HOUSE_WORLD_X as a2, type HouseBlueprint as a3, type HouseFixtureKind as a4, type HouseFixtureSlot as a5, type HouseId as a6, HouseIdSchema as a7, type HouseSlot as a8, HouseSlotSchema as a9, type ParkingOccupant as aA, type ParkingOwnershipError as aB, type ParkingSpot as aC, ParkingSpotSchema as aD, type ParkingStreetContent as aE, ParkingStreetContentSchema as aF, type PlatformAgentInformation as aG, type PlayAgentInformation as aH, type PlayerChainFanoutNotify as aI, type PlayerChainGenesisNode as aJ, type PlayerChainHeaderNode as aK, type PlayerChainNotifyNodeRef as aL, type PlayerChainOccupantPresentNode as aM, type PlayerChainOccupantRemovedNode as aN, type PlayerWallet as aO, PlayerWalletSchema as aP, type PositionedStep as aQ, type PurchaseRecord as aR, PurchaseRecordSchema as aS, type RealtimeWebrtcClientSecret as aT, type RegisteredAgentSummary as aU, type RemotePlayWorldOpenAiAudioOptions as aV, SPACE_STRUCTURE_ANCHOR_MIN_DISTANCE as aW, SPATIAL_ZONE_INDEX_AGENTS as aX, SPATIAL_ZONE_INDEX_SPACES as aY, STREAK_BONUS_PU as aZ, STREAK_BONUS_THRESHOLD_DAYS as a_, type HouseStageBounds as aa, type HouseStreetContent as ab, HouseStreetContentSchema as ac, type JourneyStep as ad, MAX_SLOTS_WITH_FOREVER as ae, MAX_TIMED_PARKING_SLOTS_PER_NODE as af, MINIMUM_PLAY_WORLD_BOUNDS as ag, MINIMUM_STREET_LAYOUT_BOUNDS as ah, OCCUPANCY_POINT_MULTIPLIER as ai, type OccupancyGridPoint as aj, type OccupantGroup as ak, type OriginJourneyStep as al, type P2aEnableFlag as am, PARKING_BAY_COUNT as an, PARKING_COLUMN_GAP_ROWS as ao, PARKING_DURATION_TIERS as ap, PARKING_HOUSE_COUNT as aq, PARKING_LAYERS_PER_BAY as ar, PARKING_SPOT_COUNT as as, PARKING_STREET_ROW_HEIGHT as at, PLAYABLE_GAME_IDS as au, PLAYER_CHAIN_GENESIS_STABLE_KEY as av, PLAYER_CHAIN_HEADER_STABLE_KEY as aw, type ParkingDurationTier as ax, ParkingDurationTierSchema as ay, type ParkingOccupancyRef as az, type RegisteredPlayer as b, createEmptyGameStats as b$, type SaleState as b0, SaleStateSchema as b1, type ScannerBlockRecord as b2, ScannerBlockRecordSchema as b3, type ScannerHead as b4, ScannerHeadSchema as b5, type ScannerMigrationState as b6, ScannerMigrationStateSchema as b7, type ScannerMigrationStatus as b8, ScannerMigrationStatusSchema as b9, type WorldLayout as bA, type WorldLayoutBoundsField as bB, type YieldEventInfo as bC, type Zone as bD, type ZoneEventInfo as bE, applyBoundsFieldUpdateToLayout as bF, availableCellsForZone as bG, boundingWorldRectForOccupancyPoints as bH, boundsContain as bI, buildAmenityPurchaseApuFields as bJ, buildApuWalletTransaction as bK, buildHouseOwnershipPanelLines as bL, buildRankedOccupancyPoints as bM, buildRankedOccupancyPointsForSpatialZone as bN, buildRankedOccupancyPointsForZone as bO, buildRankedOccupancyPointsInRect as bP, buildWalletBundleApuFields as bQ, canNodeAcquireParkingSpot as bR, cellsForZone as bS, centerOfZone as bT, clampHousePosition as bU, clampWorldPosition as bV, computeEventPuDelta as bW, computeParkingExpiresAt as bX, computeRoundPuDelta as bY, computeTalkAgentPowerUpsEarned as bZ, costForSeconds as b_, type ScannerNodeProfile as ba, ScannerNodeProfileSchema as bb, type ScannerTxOp as bc, ScannerTxOpSchema as bd, type ScannerTxRecord as be, ScannerTxRecordSchema as bf, type ScannerWalletSnapshot as bg, ScannerWalletSnapshotSchema as bh, type ShopItem as bi, ShopItemSchema as bj, type SpaceContentItem as bk, type Street as bl, type StreetPoolEntry as bm, type StructureJourneyStep as bn, type SupermarketItem as bo, SupermarketItemSchema as bp, TALK_AGENT_PU_BILLED_SECONDS_PER_UNIT as bq, TALK_AGENT_PU_MAX_PER_LEG as br, TALK_PRICE_PER_60S_USD as bs, TALK_PRICE_PER_SECOND_USD as bt, TALK_TICK_SECONDS as bu, WALLET_BUNDLE_OFFERS as bv, type WalletBundleId as bw, type WalletBundleOffer as bx, type WorldBounds as by, type WorldJourneyUpdate as bz, type AddPlayerInput as c, zonesForGroup as c$, createEmptyHouseStreetContent as c0, createEmptyParkingStreetContent as c1, createInitialAgentRewardWallet as c2, createInitialPlayerWallet as c3, createVerticalStripSeedLayout as c4, createWorldLayoutWithParkingRow as c5, desaturateColor as c6, effectiveHourlyRateUsd as c7, effectiveParkingStreet as c8, enumerateIntegerCellsInRect as c9, listAllowedOccupancyPoints as cA, listOccupancyPointsForSpatialZone as cB, listOccupancyPointsForZone as cC, listOccupancyPointsInRect as cD, mergeSnapshotWithPlayerChainNode as cE, migrateLayoutToParkingColumnGap as cF, migrateLayoutToParkingRow as cG, migrateWorldLayoutBounds as cH, nextStreetFromPool as cI, occupancyKeyForPosition as cJ, occupancyPointsGroupedBySpatialZone as cK, occupancyPointsGroupedByZones as cL, parkingZoneMaxYFromColumnBase as cM, parkingZoneMinYFromColumnBase as cN, parsePlayerChainFanoutNotify as cO, parsePlayerChainFanoutNotifyFromSsePayload as cP, parsePlayerChainNodeRpcBody as cQ, pickZoneForGroup as cR, pointCellInRect as cS, pointCellInSpatialZone as cT, pointCellInZone as cU, primaryZoneForGroup as cV, sortNodeRefsForSerializedFetch as cW, spatialZoneBounds as cX, spatialZoneCenter as cY, streetFromPoolEntry as cZ, utcDateKey as c_, expandBoundsToMinimumPlayArea as ca, featuredGameIdForUtcDate as cb, findHouseSlot as cc, findParkingSpot as cd, formatHouseOwnerDisplayName as ce, getGameCabinetByGameId as cf, getGameCabinetById as cg, getHouseBlueprint as ch, getStreetPoolEntryById as ci, getWalletBundleById as cj, housePurchaseDetail as ck, houseSpawnPosition as cl, isAgentSpawnOccupancyPointAvailable as cm, isAgentSpawnOccupancyPointAvailableInRect as cn, isAgentSpawnOccupancyPointAvailableInZone as co, isGameId as cp, isHouseOwned as cq, isItemAvailableForPurchase as cr, isParkingOccupantActive as cs, isSpaceAnchorOccupancyPointAvailable as ct, isSpaceAnchorOccupancyPointAvailableInRect as cu, isSpaceAnchorOccupancyPointAvailableInZone as cv, layoutHasParkingZone as cw, layoutHouseFixtures as cx, layoutNeedsParkingColumnGapMigration as cy, listActiveParkingOccupancies as cz, type RecordInteractionInput as d, ANALYTICS_EVENT_NAMES as e, APU_TOKEN as f, type AgentPlayWorldLayout as g, type AgentPlayWorldLayoutZone as h, type AgentPlayWorldMap as i, type AgentPlayWorldMapAgentOccupant as j, type AgentPlayWorldMapBounds as k, type AgentPlayWorldMapMcpOccupant as l, type AnalyticsContext as m, AnalyticsContextSchema as n, type AnalyticsEvent as o, type AnalyticsEventName as p, AnalyticsEventSchema as q, type AnalyticsMigrationState as r, AnalyticsMigrationStateSchema as s, type AnalyticsPropertyValue as t, AnalyticsPropertyValueSchema as u, type AnalyticsTraits as v, AnalyticsTraitsSchema as w, type ApplyGameOutcomeInput as x, ApplyGameOutcomeInputSchema as y, type AssistToolFieldType as z };