rivetkit 0.0.0-pr.4728.46b51d3 → 0.0.0-pr.4738.bcfa930
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.
- package/dist/browser/client.d.ts +16 -14
- package/dist/browser/client.js +66 -217
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +1 -1
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +16 -14
- package/dist/tsup/agent-os/index.d.ts +16 -14
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-H4S6QKVL.cjs → chunk-36N4HPSL.cjs} +198 -170
- package/dist/tsup/chunk-36N4HPSL.cjs.map +1 -0
- package/dist/tsup/{chunk-7IVPUKQF.js → chunk-3EPKDATZ.js} +1 -1
- package/dist/tsup/chunk-3EPKDATZ.js.map +1 -0
- package/dist/tsup/{chunk-EXQR6ODX.cjs → chunk-4A47NQEH.cjs} +4 -4
- package/dist/tsup/{chunk-EXQR6ODX.cjs.map → chunk-4A47NQEH.cjs.map} +1 -1
- package/dist/tsup/{chunk-27WSQFWG.cjs → chunk-CLPFFUWW.cjs} +3 -3
- package/dist/tsup/{chunk-27WSQFWG.cjs.map → chunk-CLPFFUWW.cjs.map} +1 -1
- package/dist/tsup/{chunk-J7ELG2DR.js → chunk-G2Z5FGYT.js} +68 -40
- package/dist/tsup/chunk-G2Z5FGYT.js.map +1 -0
- package/dist/tsup/{chunk-UM6T6VZA.cjs → chunk-GSAIQ5SH.cjs} +8 -8
- package/dist/tsup/{chunk-UM6T6VZA.cjs.map → chunk-GSAIQ5SH.cjs.map} +1 -1
- package/dist/tsup/{chunk-TAFAAG3R.js → chunk-GWP4VNI7.js} +2 -2
- package/dist/tsup/{chunk-IMTJJRGS.js → chunk-HIRLQFEA.js} +3 -181
- package/dist/tsup/chunk-HIRLQFEA.js.map +1 -0
- package/dist/tsup/{chunk-RRSICDXB.js → chunk-J33Q7PGH.js} +2 -2
- package/dist/tsup/{chunk-DXUKVQWO.cjs → chunk-M4I2U45O.cjs} +3 -181
- package/dist/tsup/chunk-M4I2U45O.cjs.map +1 -0
- package/dist/tsup/{chunk-VCOTRTWQ.cjs → chunk-MUCRIHJ6.cjs} +10 -10
- package/dist/tsup/{chunk-VCOTRTWQ.cjs.map → chunk-MUCRIHJ6.cjs.map} +1 -1
- package/dist/tsup/{chunk-L67ONCLF.js → chunk-NZ5ONF6T.js} +3 -3
- package/dist/tsup/{chunk-HCA4IRND.cjs → chunk-P5AHBGWA.cjs} +5 -5
- package/dist/tsup/{chunk-HCA4IRND.cjs.map → chunk-P5AHBGWA.cjs.map} +1 -1
- package/dist/tsup/{chunk-R4MRGYKL.js → chunk-QGDWYYD7.js} +2 -2
- package/dist/tsup/{chunk-7NUNPGPU.cjs → chunk-UAM3VUUJ.cjs} +1 -1
- package/dist/tsup/chunk-UAM3VUUJ.cjs.map +1 -0
- package/dist/tsup/{chunk-4ZCKFWYK.js → chunk-WSJO4KXA.js} +4 -4
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.d.cts +2 -2
- package/dist/tsup/common/log.d.ts +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-Bk2lX_8n.d.ts → config-CO_YDWdW.d.ts} +19 -17
- package/dist/tsup/{config-D8mExVsN.d.cts → config-DXQ-Xoo_.d.cts} +19 -17
- package/dist/tsup/{context-DfoE2FNE.d.cts → context-BEw04_d9.d.cts} +1 -1
- package/dist/tsup/{context-DI_2voaq.d.ts → context-CJfCpKqk.d.ts} +1 -1
- package/dist/tsup/inspector/mod.cjs +5 -5
- package/dist/tsup/inspector/mod.js +4 -4
- package/dist/tsup/mod.cjs +235 -100
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +24 -4
- package/dist/tsup/mod.d.ts +24 -4
- package/dist/tsup/mod.js +185 -50
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +9 -9
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +5 -5
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/dist/tsup/workflow/mod.cjs +10 -10
- package/dist/tsup/workflow/mod.d.cts +3 -3
- package/dist/tsup/workflow/mod.d.ts +3 -3
- package/dist/tsup/workflow/mod.js +5 -5
- package/package.json +7 -7
- package/src/actor/config.ts +0 -11
- package/src/actor/contexts/index.ts +292 -0
- package/src/actor/instance/mod.ts +2543 -0
- package/src/actor/mod.ts +20 -0
- package/src/client/actor-conn.ts +15 -7
- package/src/client/actor-handle.ts +68 -21
- package/src/client/actor-query.ts +3 -0
- package/src/common/log.ts +0 -110
- package/src/drivers/engine/actor-driver.ts +1766 -0
- package/src/registry/config/index.ts +34 -0
- package/src/registry/index.ts +196 -47
- package/src/registry/native.ts +13 -6
- package/dist/tsup/chunk-7IVPUKQF.js.map +0 -1
- package/dist/tsup/chunk-7NUNPGPU.cjs.map +0 -1
- package/dist/tsup/chunk-DXUKVQWO.cjs.map +0 -1
- package/dist/tsup/chunk-H4S6QKVL.cjs.map +0 -1
- package/dist/tsup/chunk-IMTJJRGS.js.map +0 -1
- package/dist/tsup/chunk-J7ELG2DR.js.map +0 -1
- package/src/common/logfmt.ts +0 -221
- /package/dist/tsup/{chunk-TAFAAG3R.js.map → chunk-GWP4VNI7.js.map} +0 -0
- /package/dist/tsup/{chunk-RRSICDXB.js.map → chunk-J33Q7PGH.js.map} +0 -0
- /package/dist/tsup/{chunk-L67ONCLF.js.map → chunk-NZ5ONF6T.js.map} +0 -0
- /package/dist/tsup/{chunk-R4MRGYKL.js.map → chunk-QGDWYYD7.js.map} +0 -0
- /package/dist/tsup/{chunk-4ZCKFWYK.js.map → chunk-WSJO4KXA.js.map} +0 -0
package/dist/browser/client.d.ts
CHANGED
|
@@ -933,15 +933,6 @@ interface ActorKv {
|
|
|
933
933
|
list<T extends ActorKvValueType = "text", K extends ActorKvKeyType = "text">(prefix: Uint8Array | string, options?: ActorKvListOptions<T, K>): Promise<Array<[ActorKvKeyTypeMap[K], ActorKvValueTypeMap[T]]>>;
|
|
934
934
|
[key: string]: any;
|
|
935
935
|
}
|
|
936
|
-
interface ActorSql {
|
|
937
|
-
exec(sql: string, callback?: (row: unknown[], columns: string[]) => void): Promise<void>;
|
|
938
|
-
run(sql: string, params?: unknown[] | Record<string, unknown>): Promise<void>;
|
|
939
|
-
query(sql: string, params?: unknown[] | Record<string, unknown>): Promise<{
|
|
940
|
-
columns: string[];
|
|
941
|
-
rows: unknown[][];
|
|
942
|
-
}>;
|
|
943
|
-
[key: string]: any;
|
|
944
|
-
}
|
|
945
936
|
interface ActorSchedule {
|
|
946
937
|
after(duration: number, action: string, ...args: unknown[]): Promise<void>;
|
|
947
938
|
at(timestamp: number, action: string, ...args: unknown[]): Promise<void>;
|
|
@@ -1019,7 +1010,6 @@ interface ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase
|
|
|
1019
1010
|
state: TState;
|
|
1020
1011
|
vars: TVars;
|
|
1021
1012
|
readonly kv: ActorKv;
|
|
1022
|
-
readonly sql: ActorSql;
|
|
1023
1013
|
readonly db: InferDatabaseClient<TDatabase>;
|
|
1024
1014
|
readonly schedule: ActorSchedule;
|
|
1025
1015
|
readonly queue: ActorQueue<TQueues>;
|
|
@@ -1365,12 +1355,12 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1365
1355
|
logging: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
1366
1356
|
baseLogger: z$2.ZodOptional<z$2.ZodCustom<Logger, Logger>>;
|
|
1367
1357
|
level: z$2.ZodOptional<z$2.ZodEnum<{
|
|
1368
|
-
error: "error";
|
|
1369
|
-
trace: "trace";
|
|
1370
1358
|
fatal: "fatal";
|
|
1359
|
+
error: "error";
|
|
1371
1360
|
warn: "warn";
|
|
1372
1361
|
info: "info";
|
|
1373
1362
|
debug: "debug";
|
|
1363
|
+
trace: "trace";
|
|
1374
1364
|
silent: "silent";
|
|
1375
1365
|
}>>;
|
|
1376
1366
|
}, z$2.core.$strip>>>;
|
|
@@ -1405,6 +1395,10 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1405
1395
|
totalSlots: z$2.ZodDefault<z$2.ZodNumber>;
|
|
1406
1396
|
envoyKey: z$2.ZodOptional<z$2.ZodString>;
|
|
1407
1397
|
}, z$2.core.$strip>>>;
|
|
1398
|
+
shutdown: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
1399
|
+
gracePeriodMs: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
1400
|
+
disableSignalHandlers: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodBoolean>>;
|
|
1401
|
+
}, z$2.core.$strip>>>;
|
|
1408
1402
|
}, z$2.core.$strip>, z$2.ZodTransform<{
|
|
1409
1403
|
endpoint: string | undefined;
|
|
1410
1404
|
namespace: string;
|
|
@@ -1428,7 +1422,7 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1428
1422
|
noWelcome: boolean;
|
|
1429
1423
|
logging: {
|
|
1430
1424
|
baseLogger?: Logger | undefined;
|
|
1431
|
-
level?: "
|
|
1425
|
+
level?: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | "silent" | undefined;
|
|
1432
1426
|
};
|
|
1433
1427
|
headers: Record<string, string>;
|
|
1434
1428
|
httpBasePath: string;
|
|
@@ -1441,6 +1435,10 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1441
1435
|
totalSlots: number;
|
|
1442
1436
|
envoyKey?: string | undefined;
|
|
1443
1437
|
};
|
|
1438
|
+
shutdown: {
|
|
1439
|
+
gracePeriodMs: number;
|
|
1440
|
+
disableSignalHandlers: boolean;
|
|
1441
|
+
};
|
|
1444
1442
|
staticDir?: string | undefined;
|
|
1445
1443
|
httpHost?: string | undefined;
|
|
1446
1444
|
configurePool?: {
|
|
@@ -1462,7 +1460,7 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1462
1460
|
noWelcome: boolean;
|
|
1463
1461
|
logging: {
|
|
1464
1462
|
baseLogger?: Logger | undefined;
|
|
1465
|
-
level?: "
|
|
1463
|
+
level?: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | "silent" | undefined;
|
|
1466
1464
|
};
|
|
1467
1465
|
endpoint: string | undefined;
|
|
1468
1466
|
token: string | undefined;
|
|
@@ -1484,6 +1482,10 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1484
1482
|
totalSlots: number;
|
|
1485
1483
|
envoyKey?: string | undefined;
|
|
1486
1484
|
};
|
|
1485
|
+
shutdown: {
|
|
1486
|
+
gracePeriodMs: number;
|
|
1487
|
+
disableSignalHandlers: boolean;
|
|
1488
|
+
};
|
|
1487
1489
|
staticDir?: string | undefined;
|
|
1488
1490
|
httpHost?: string | undefined;
|
|
1489
1491
|
configurePool?: {
|
package/dist/browser/client.js
CHANGED
|
@@ -225,7 +225,7 @@ function noopNext() {
|
|
|
225
225
|
// package.json
|
|
226
226
|
var package_default = {
|
|
227
227
|
name: "rivetkit",
|
|
228
|
-
version: "0.0.0-pr.
|
|
228
|
+
version: "0.0.0-pr.4738.bcfa930",
|
|
229
229
|
description: "Lightweight libraries for building stateful actors on edge platforms",
|
|
230
230
|
license: "Apache-2.0",
|
|
231
231
|
keywords: [
|
|
@@ -455,107 +455,6 @@ import {
|
|
|
455
455
|
stdTimeFunctions
|
|
456
456
|
} from "pino";
|
|
457
457
|
import { z } from "zod/v4";
|
|
458
|
-
|
|
459
|
-
// src/common/log-levels.ts
|
|
460
|
-
var LogLevels = {
|
|
461
|
-
TRACE: 0,
|
|
462
|
-
DEBUG: 1,
|
|
463
|
-
INFO: 2,
|
|
464
|
-
WARN: 3,
|
|
465
|
-
ERROR: 4,
|
|
466
|
-
CRITICAL: 5
|
|
467
|
-
};
|
|
468
|
-
|
|
469
|
-
// src/common/logfmt.ts
|
|
470
|
-
var LOG_LEVEL_COLORS = {
|
|
471
|
-
[LogLevels.CRITICAL]: "\x1B[31m",
|
|
472
|
-
// Red
|
|
473
|
-
[LogLevels.ERROR]: "\x1B[31m",
|
|
474
|
-
// Red
|
|
475
|
-
[LogLevels.WARN]: "\x1B[33m",
|
|
476
|
-
// Yellow
|
|
477
|
-
[LogLevels.INFO]: "\x1B[32m",
|
|
478
|
-
// Green
|
|
479
|
-
[LogLevels.DEBUG]: "\x1B[36m",
|
|
480
|
-
// Cyan
|
|
481
|
-
[LogLevels.TRACE]: "\x1B[36m"
|
|
482
|
-
// Cyan
|
|
483
|
-
};
|
|
484
|
-
var RESET_COLOR = "\x1B[0m";
|
|
485
|
-
function stringify(data) {
|
|
486
|
-
let line = "";
|
|
487
|
-
const entries = Object.entries(data);
|
|
488
|
-
for (let i = 0; i < entries.length; i++) {
|
|
489
|
-
const [key, valueRaw] = entries[i];
|
|
490
|
-
let isNull = false;
|
|
491
|
-
let valueString;
|
|
492
|
-
if (valueRaw == null) {
|
|
493
|
-
isNull = true;
|
|
494
|
-
valueString = "";
|
|
495
|
-
} else {
|
|
496
|
-
valueString = valueRaw.toString();
|
|
497
|
-
}
|
|
498
|
-
if (valueString.length > 512 && key !== "msg" && key !== "error")
|
|
499
|
-
valueString = `${valueString.slice(0, 512)}...`;
|
|
500
|
-
const needsQuoting = valueString.indexOf(" ") > -1 || valueString.indexOf("=") > -1;
|
|
501
|
-
const needsEscaping = valueString.indexOf('"') > -1 || valueString.indexOf("\\") > -1;
|
|
502
|
-
valueString = valueString.replace(/\n/g, "\\n");
|
|
503
|
-
if (needsEscaping) valueString = valueString.replace(/["\\]/g, "\\$&");
|
|
504
|
-
if (needsQuoting || needsEscaping) valueString = `"${valueString}"`;
|
|
505
|
-
if (valueString === "" && !isNull) valueString = '""';
|
|
506
|
-
if (LOGGER_CONFIG.enableColor) {
|
|
507
|
-
let color = "\x1B[2m";
|
|
508
|
-
if (key === "level") {
|
|
509
|
-
const level = LogLevels[valueString];
|
|
510
|
-
const levelColor = LOG_LEVEL_COLORS[level];
|
|
511
|
-
if (levelColor) {
|
|
512
|
-
color = levelColor;
|
|
513
|
-
}
|
|
514
|
-
} else if (key === "msg") {
|
|
515
|
-
color = "\x1B[32m";
|
|
516
|
-
} else if (key === "trace") {
|
|
517
|
-
color = "\x1B[34m";
|
|
518
|
-
}
|
|
519
|
-
line += `\x1B[0m\x1B[1m${key}\x1B[0m\x1B[2m=\x1B[0m${color}${valueString}${RESET_COLOR}`;
|
|
520
|
-
} else {
|
|
521
|
-
line += `${key}=${valueString}`;
|
|
522
|
-
}
|
|
523
|
-
if (i !== entries.length - 1) {
|
|
524
|
-
line += " ";
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
return line;
|
|
528
|
-
}
|
|
529
|
-
function formatTimestamp(date) {
|
|
530
|
-
const year = date.getUTCFullYear();
|
|
531
|
-
const month = String(date.getUTCMonth() + 1).padStart(2, "0");
|
|
532
|
-
const day = String(date.getUTCDate()).padStart(2, "0");
|
|
533
|
-
const hours = String(date.getUTCHours()).padStart(2, "0");
|
|
534
|
-
const minutes = String(date.getUTCMinutes()).padStart(2, "0");
|
|
535
|
-
const seconds = String(date.getUTCSeconds()).padStart(2, "0");
|
|
536
|
-
const milliseconds = String(date.getUTCMilliseconds()).padStart(3, "0");
|
|
537
|
-
return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;
|
|
538
|
-
}
|
|
539
|
-
function castToLogValue(v) {
|
|
540
|
-
if (typeof v === "string" || typeof v === "number" || typeof v === "bigint" || typeof v === "boolean" || v === null || v === void 0) {
|
|
541
|
-
return v;
|
|
542
|
-
}
|
|
543
|
-
if (v instanceof Error) {
|
|
544
|
-
return String(v);
|
|
545
|
-
}
|
|
546
|
-
try {
|
|
547
|
-
return JSON.stringify(v);
|
|
548
|
-
} catch {
|
|
549
|
-
return "[cannot stringify]";
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
var LOGGER_CONFIG = {
|
|
553
|
-
enableColor: false,
|
|
554
|
-
enableSpreadObject: false,
|
|
555
|
-
enableErrorStack: false
|
|
556
|
-
};
|
|
557
|
-
|
|
558
|
-
// src/common/log.ts
|
|
559
458
|
var baseLogger;
|
|
560
459
|
var configuredLogLevel;
|
|
561
460
|
var loggerCache = /* @__PURE__ */ new Map();
|
|
@@ -585,27 +484,6 @@ function getPinoLevel(logLevel) {
|
|
|
585
484
|
function getIncludeTarget() {
|
|
586
485
|
return getLogTarget();
|
|
587
486
|
}
|
|
588
|
-
function customWrite(level, o) {
|
|
589
|
-
const entries = {};
|
|
590
|
-
if (getLogTimestamp() && o.time) {
|
|
591
|
-
const date = typeof o.time === "number" ? new Date(o.time) : /* @__PURE__ */ new Date();
|
|
592
|
-
entries.ts = formatTimestamp(date);
|
|
593
|
-
}
|
|
594
|
-
entries.level = level.toUpperCase();
|
|
595
|
-
if (o.target) {
|
|
596
|
-
entries.target = o.target;
|
|
597
|
-
}
|
|
598
|
-
if (o.msg) {
|
|
599
|
-
entries.msg = o.msg;
|
|
600
|
-
}
|
|
601
|
-
for (const [key, value] of Object.entries(o)) {
|
|
602
|
-
if (key !== "time" && key !== "level" && key !== "target" && key !== "msg" && key !== "pid" && key !== "hostname") {
|
|
603
|
-
entries[key] = castToLogValue(value);
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
const output = stringify(entries);
|
|
607
|
-
console.log(output);
|
|
608
|
-
}
|
|
609
487
|
function configureDefaultLogger(logLevel) {
|
|
610
488
|
if (logLevel) {
|
|
611
489
|
configuredLogLevel = logLevel;
|
|
@@ -621,64 +499,7 @@ function configureDefaultLogger(logLevel) {
|
|
|
621
499
|
return { level: number };
|
|
622
500
|
}
|
|
623
501
|
},
|
|
624
|
-
timestamp: getLogTimestamp() ? stdTimeFunctions.epochTime : false
|
|
625
|
-
browser: {
|
|
626
|
-
write: {
|
|
627
|
-
fatal: customWrite.bind(null, "fatal"),
|
|
628
|
-
error: customWrite.bind(null, "error"),
|
|
629
|
-
warn: customWrite.bind(null, "warn"),
|
|
630
|
-
info: customWrite.bind(null, "info"),
|
|
631
|
-
debug: customWrite.bind(null, "debug"),
|
|
632
|
-
trace: customWrite.bind(null, "trace")
|
|
633
|
-
}
|
|
634
|
-
},
|
|
635
|
-
hooks: {
|
|
636
|
-
logMethod(inputArgs, method, level) {
|
|
637
|
-
const levelMap = {
|
|
638
|
-
10: "trace",
|
|
639
|
-
20: "debug",
|
|
640
|
-
30: "info",
|
|
641
|
-
40: "warn",
|
|
642
|
-
50: "error",
|
|
643
|
-
60: "fatal"
|
|
644
|
-
};
|
|
645
|
-
const levelName = levelMap[level] || "info";
|
|
646
|
-
const time = getLogTimestamp() ? Date.now() : void 0;
|
|
647
|
-
const bindings = this.bindings?.() || {};
|
|
648
|
-
if (inputArgs.length >= 2) {
|
|
649
|
-
const [objOrMsg, msg] = inputArgs;
|
|
650
|
-
if (typeof objOrMsg === "object" && objOrMsg !== null) {
|
|
651
|
-
customWrite(levelName, {
|
|
652
|
-
...bindings,
|
|
653
|
-
...objOrMsg,
|
|
654
|
-
msg,
|
|
655
|
-
time
|
|
656
|
-
});
|
|
657
|
-
} else {
|
|
658
|
-
customWrite(levelName, {
|
|
659
|
-
...bindings,
|
|
660
|
-
msg: String(objOrMsg),
|
|
661
|
-
time
|
|
662
|
-
});
|
|
663
|
-
}
|
|
664
|
-
} else if (inputArgs.length === 1) {
|
|
665
|
-
const [objOrMsg] = inputArgs;
|
|
666
|
-
if (typeof objOrMsg === "object" && objOrMsg !== null) {
|
|
667
|
-
customWrite(levelName, {
|
|
668
|
-
...bindings,
|
|
669
|
-
...objOrMsg,
|
|
670
|
-
time
|
|
671
|
-
});
|
|
672
|
-
} else {
|
|
673
|
-
customWrite(levelName, {
|
|
674
|
-
...bindings,
|
|
675
|
-
msg: String(objOrMsg),
|
|
676
|
-
time
|
|
677
|
-
});
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
}
|
|
681
|
-
}
|
|
502
|
+
timestamp: getLogTimestamp() ? stdTimeFunctions.epochTime : false
|
|
682
503
|
});
|
|
683
504
|
loggerCache.clear();
|
|
684
505
|
}
|
|
@@ -3878,8 +3699,8 @@ function getGatewayTarget(state) {
|
|
|
3878
3699
|
}
|
|
3879
3700
|
return state;
|
|
3880
3701
|
}
|
|
3881
|
-
function isStaleResolvedActorError(group, code) {
|
|
3882
|
-
return group === "actor" && (code === "not_found" || code === "stopping" || code.startsWith("destroyed_"));
|
|
3702
|
+
function isStaleResolvedActorError(group, code, message) {
|
|
3703
|
+
return group === "actor" && (code === "not_found" || code === "stopping" || code === "not_configured" && message === "Actor capability 'actor event inbox' is not configured." || code.startsWith("destroyed_"));
|
|
3883
3704
|
}
|
|
3884
3705
|
async function checkForSchedulingError(group, code, actorId, query, driver) {
|
|
3885
3706
|
const name = getActorNameFromQuery(query);
|
|
@@ -4041,15 +3862,15 @@ var ActorConnRaw = class {
|
|
|
4041
3862
|
* re-resolves to a fresh actor. Returns true if the identity was
|
|
4042
3863
|
* invalidated.
|
|
4043
3864
|
*/
|
|
4044
|
-
#invalidateActorIfStale(group, code) {
|
|
4045
|
-
if (!isDynamicActorQuery(this.#actorResolutionState) || !isStaleResolvedActorError(group, code)) {
|
|
3865
|
+
#invalidateActorIfStale(group, code, message) {
|
|
3866
|
+
if (!isDynamicActorQuery(this.#actorResolutionState) || !isStaleResolvedActorError(group, code, message)) {
|
|
4046
3867
|
return false;
|
|
4047
3868
|
}
|
|
4048
3869
|
this.#clearResolvedActorIdentity();
|
|
4049
3870
|
return true;
|
|
4050
3871
|
}
|
|
4051
|
-
#shouldReconnectForStaleActor(group, code) {
|
|
4052
|
-
return isDynamicActorQuery(this.#actorResolutionState) && isStaleResolvedActorError(group, code) && this.#onOpenPromise !== void 0 && this.#connStatus !== "connected";
|
|
3872
|
+
#shouldReconnectForStaleActor(group, code, message) {
|
|
3873
|
+
return isDynamicActorQuery(this.#actorResolutionState) && isStaleResolvedActorError(group, code, message) && this.#onOpenPromise !== void 0 && this.#connStatus !== "connected";
|
|
4053
3874
|
}
|
|
4054
3875
|
send(name, body, options) {
|
|
4055
3876
|
return this.#sendQueueMessage(name, body, options);
|
|
@@ -4363,7 +4184,7 @@ var ActorConnRaw = class {
|
|
|
4363
4184
|
const { group, code, message, metadata, actionId } = response.body.val;
|
|
4364
4185
|
if (actionId !== null) {
|
|
4365
4186
|
const inFlight = this.#takeActionInFlight(Number(actionId));
|
|
4366
|
-
this.#invalidateActorIfStale(group, code);
|
|
4187
|
+
this.#invalidateActorIfStale(group, code, message);
|
|
4367
4188
|
logger2().warn({
|
|
4368
4189
|
msg: "action error",
|
|
4369
4190
|
actionId,
|
|
@@ -4384,7 +4205,7 @@ var ActorConnRaw = class {
|
|
|
4384
4205
|
message,
|
|
4385
4206
|
metadata
|
|
4386
4207
|
});
|
|
4387
|
-
if (this.#shouldReconnectForStaleActor(group, code)) {
|
|
4208
|
+
if (this.#shouldReconnectForStaleActor(group, code, message)) {
|
|
4388
4209
|
this.#clearResolvedActorIdentity();
|
|
4389
4210
|
this.#onOpenPromise?.reject(
|
|
4390
4211
|
new RivetError(group, code, message, metadata)
|
|
@@ -4412,7 +4233,7 @@ var ActorConnRaw = class {
|
|
|
4412
4233
|
if (this.#onOpenPromise) {
|
|
4413
4234
|
this.#onOpenPromise.reject(errorToThrow);
|
|
4414
4235
|
}
|
|
4415
|
-
this.#invalidateActorIfStale(group, code);
|
|
4236
|
+
this.#invalidateActorIfStale(group, code, message);
|
|
4416
4237
|
for (const [id, inFlight] of this.#actionsInFlight.entries()) {
|
|
4417
4238
|
inFlight.reject(errorToThrow);
|
|
4418
4239
|
this.#actionsInFlight.delete(id);
|
|
@@ -5115,6 +4936,9 @@ async function resolveGatewayTarget(driver, target) {
|
|
|
5115
4936
|
}
|
|
5116
4937
|
|
|
5117
4938
|
// src/client/actor-handle.ts
|
|
4939
|
+
var DYNAMIC_LIFECYCLE_RETRY_WINDOW_MS = 100;
|
|
4940
|
+
var GET_FOR_KEY_DYNAMIC_QUERY_MAX_ATTEMPTS = 24;
|
|
4941
|
+
var GET_OR_CREATE_DYNAMIC_QUERY_MAX_ATTEMPTS = 180;
|
|
5118
4942
|
var ActorHandleRaw = class {
|
|
5119
4943
|
#client;
|
|
5120
4944
|
#driver;
|
|
@@ -5177,7 +5001,7 @@ var ActorHandleRaw = class {
|
|
|
5177
5001
|
attempt,
|
|
5178
5002
|
maxAttempts
|
|
5179
5003
|
)) {
|
|
5180
|
-
useQueryTarget =
|
|
5004
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget();
|
|
5181
5005
|
await this.#waitForRetryWindow();
|
|
5182
5006
|
continue;
|
|
5183
5007
|
}
|
|
@@ -5185,16 +5009,21 @@ var ActorHandleRaw = class {
|
|
|
5185
5009
|
group,
|
|
5186
5010
|
code,
|
|
5187
5011
|
attempt,
|
|
5188
|
-
maxAttempts
|
|
5012
|
+
maxAttempts,
|
|
5013
|
+
message
|
|
5189
5014
|
)) {
|
|
5190
5015
|
this.#clearResolvedActorId();
|
|
5191
|
-
useQueryTarget =
|
|
5016
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget();
|
|
5192
5017
|
await this.#waitForRetryWindow();
|
|
5193
5018
|
continue;
|
|
5194
5019
|
}
|
|
5195
|
-
const invalidated = this.#invalidateResolvedActorId(
|
|
5020
|
+
const invalidated = this.#invalidateResolvedActorId(
|
|
5021
|
+
group,
|
|
5022
|
+
code,
|
|
5023
|
+
message
|
|
5024
|
+
);
|
|
5196
5025
|
if (invalidated && attempt < maxAttempts - 1) {
|
|
5197
|
-
useQueryTarget = code === "stopping" || code.startsWith("destroyed_");
|
|
5026
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget() && (code === "stopping" || code.startsWith("destroyed_"));
|
|
5198
5027
|
if (useQueryTarget) {
|
|
5199
5028
|
await this.#waitForRetryWindow();
|
|
5200
5029
|
}
|
|
@@ -5290,7 +5119,7 @@ var ActorHandleRaw = class {
|
|
|
5290
5119
|
attempt,
|
|
5291
5120
|
maxAttempts
|
|
5292
5121
|
)) {
|
|
5293
|
-
useQueryTarget =
|
|
5122
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget();
|
|
5294
5123
|
await this.#waitForRetryWindow();
|
|
5295
5124
|
continue;
|
|
5296
5125
|
}
|
|
@@ -5298,10 +5127,11 @@ var ActorHandleRaw = class {
|
|
|
5298
5127
|
group,
|
|
5299
5128
|
code,
|
|
5300
5129
|
attempt,
|
|
5301
|
-
maxAttempts
|
|
5130
|
+
maxAttempts,
|
|
5131
|
+
message
|
|
5302
5132
|
)) {
|
|
5303
5133
|
this.#clearResolvedActorId();
|
|
5304
|
-
useQueryTarget =
|
|
5134
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget();
|
|
5305
5135
|
await this.#waitForRetryWindow();
|
|
5306
5136
|
continue;
|
|
5307
5137
|
}
|
|
@@ -5313,10 +5143,14 @@ var ActorHandleRaw = class {
|
|
|
5313
5143
|
metadata
|
|
5314
5144
|
);
|
|
5315
5145
|
}
|
|
5316
|
-
const invalidated = this.#invalidateResolvedActorId(
|
|
5146
|
+
const invalidated = this.#invalidateResolvedActorId(
|
|
5147
|
+
group,
|
|
5148
|
+
code,
|
|
5149
|
+
message
|
|
5150
|
+
);
|
|
5317
5151
|
if (invalidated && attempt < maxAttempts - 1) {
|
|
5318
5152
|
if (group === "actor" && code === "stopping") {
|
|
5319
|
-
useQueryTarget =
|
|
5153
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget();
|
|
5320
5154
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
5321
5155
|
}
|
|
5322
5156
|
continue;
|
|
@@ -5338,19 +5172,24 @@ var ActorHandleRaw = class {
|
|
|
5338
5172
|
}
|
|
5339
5173
|
}
|
|
5340
5174
|
async #waitForRetryWindow() {
|
|
5341
|
-
await new Promise(
|
|
5175
|
+
await new Promise(
|
|
5176
|
+
(resolve) => setTimeout(resolve, DYNAMIC_LIFECYCLE_RETRY_WINDOW_MS)
|
|
5177
|
+
);
|
|
5342
5178
|
}
|
|
5343
5179
|
#getDynamicQueryMaxAttempts() {
|
|
5344
5180
|
if (!isDynamicActorQuery(this.#actorResolutionState)) {
|
|
5345
5181
|
return 1;
|
|
5346
5182
|
}
|
|
5347
|
-
return "getOrCreateForKey" in this.#actorResolutionState ?
|
|
5183
|
+
return "getOrCreateForKey" in this.#actorResolutionState ? GET_OR_CREATE_DYNAMIC_QUERY_MAX_ATTEMPTS : GET_FOR_KEY_DYNAMIC_QUERY_MAX_ATTEMPTS;
|
|
5348
5184
|
}
|
|
5349
|
-
#
|
|
5185
|
+
#shouldRetryViaQueryTarget() {
|
|
5186
|
+
return isDynamicActorQuery(this.#actorResolutionState);
|
|
5187
|
+
}
|
|
5188
|
+
#shouldRetryDynamicLifecycleError(group, code, attempt, maxAttempts, message) {
|
|
5350
5189
|
if (!isDynamicActorQuery(this.#actorResolutionState) || attempt >= maxAttempts - 1 || group !== "actor") {
|
|
5351
5190
|
return false;
|
|
5352
5191
|
}
|
|
5353
|
-
return code === "not_found" || code === "stopping" || code === "destroying" || code.startsWith("destroyed_");
|
|
5192
|
+
return code === "not_found" || code === "stopping" || code === "not_configured" && message === "Actor capability 'actor event inbox' is not configured." || code === "destroying" || code.startsWith("destroyed_");
|
|
5354
5193
|
}
|
|
5355
5194
|
#clearResolvedActorId() {
|
|
5356
5195
|
this.#resolvedActorId = void 0;
|
|
@@ -5375,8 +5214,8 @@ var ActorHandleRaw = class {
|
|
|
5375
5214
|
this.#clearResolvedActorId();
|
|
5376
5215
|
return true;
|
|
5377
5216
|
}
|
|
5378
|
-
#invalidateResolvedActorId(group, code) {
|
|
5379
|
-
if (!isDynamicActorQuery(this.#actorResolutionState) || !isStaleResolvedActorError(group, code)) {
|
|
5217
|
+
#invalidateResolvedActorId(group, code, message) {
|
|
5218
|
+
if (!isDynamicActorQuery(this.#actorResolutionState) || !isStaleResolvedActorError(group, code, message)) {
|
|
5380
5219
|
return false;
|
|
5381
5220
|
}
|
|
5382
5221
|
this.#clearResolvedActorId();
|
|
@@ -5482,7 +5321,7 @@ var ActorHandleRaw = class {
|
|
|
5482
5321
|
attempt,
|
|
5483
5322
|
maxAttempts
|
|
5484
5323
|
)) {
|
|
5485
|
-
useQueryTarget =
|
|
5324
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget();
|
|
5486
5325
|
await this.#waitForRetryWindow();
|
|
5487
5326
|
continue;
|
|
5488
5327
|
}
|
|
@@ -5490,16 +5329,21 @@ var ActorHandleRaw = class {
|
|
|
5490
5329
|
group,
|
|
5491
5330
|
code,
|
|
5492
5331
|
attempt,
|
|
5493
|
-
maxAttempts
|
|
5332
|
+
maxAttempts,
|
|
5333
|
+
message
|
|
5494
5334
|
)) {
|
|
5495
5335
|
this.#clearResolvedActorId();
|
|
5496
|
-
useQueryTarget =
|
|
5336
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget();
|
|
5497
5337
|
await this.#waitForRetryWindow();
|
|
5498
5338
|
continue;
|
|
5499
5339
|
}
|
|
5500
|
-
const invalidated = this.#invalidateResolvedActorId(
|
|
5340
|
+
const invalidated = this.#invalidateResolvedActorId(
|
|
5341
|
+
group,
|
|
5342
|
+
code,
|
|
5343
|
+
message
|
|
5344
|
+
);
|
|
5501
5345
|
if (invalidated && attempt < maxAttempts - 1) {
|
|
5502
|
-
useQueryTarget = code === "stopping" || code.startsWith("destroyed_");
|
|
5346
|
+
useQueryTarget = this.#shouldRetryViaQueryTarget() && (code === "stopping" || code.startsWith("destroyed_"));
|
|
5503
5347
|
if (useQueryTarget) {
|
|
5504
5348
|
await this.#waitForRetryWindow();
|
|
5505
5349
|
}
|
|
@@ -5518,7 +5362,7 @@ var ActorHandleRaw = class {
|
|
|
5518
5362
|
if (!error) {
|
|
5519
5363
|
return null;
|
|
5520
5364
|
}
|
|
5521
|
-
const { group, code } = error;
|
|
5365
|
+
const { group, code, message } = error;
|
|
5522
5366
|
if (await this.#shouldRetrySchedulingError(
|
|
5523
5367
|
group,
|
|
5524
5368
|
code,
|
|
@@ -5527,7 +5371,7 @@ var ActorHandleRaw = class {
|
|
|
5527
5371
|
maxAttempts
|
|
5528
5372
|
)) {
|
|
5529
5373
|
return {
|
|
5530
|
-
useQueryTarget:
|
|
5374
|
+
useQueryTarget: this.#shouldRetryViaQueryTarget(),
|
|
5531
5375
|
waitForRetryWindow: true
|
|
5532
5376
|
};
|
|
5533
5377
|
}
|
|
@@ -5535,17 +5379,22 @@ var ActorHandleRaw = class {
|
|
|
5535
5379
|
group,
|
|
5536
5380
|
code,
|
|
5537
5381
|
attempt,
|
|
5538
|
-
maxAttempts
|
|
5382
|
+
maxAttempts,
|
|
5383
|
+
message
|
|
5539
5384
|
)) {
|
|
5540
5385
|
this.#clearResolvedActorId();
|
|
5541
5386
|
return {
|
|
5542
|
-
useQueryTarget:
|
|
5387
|
+
useQueryTarget: this.#shouldRetryViaQueryTarget(),
|
|
5543
5388
|
waitForRetryWindow: true
|
|
5544
5389
|
};
|
|
5545
5390
|
}
|
|
5546
|
-
const invalidated = this.#invalidateResolvedActorId(
|
|
5391
|
+
const invalidated = this.#invalidateResolvedActorId(
|
|
5392
|
+
group,
|
|
5393
|
+
code,
|
|
5394
|
+
message
|
|
5395
|
+
);
|
|
5547
5396
|
if (invalidated && attempt < maxAttempts - 1) {
|
|
5548
|
-
const useQueryTarget = code === "stopping" || code.startsWith("destroyed_");
|
|
5397
|
+
const useQueryTarget = this.#shouldRetryViaQueryTarget() && (code === "stopping" || code.startsWith("destroyed_"));
|
|
5549
5398
|
return {
|
|
5550
5399
|
useQueryTarget,
|
|
5551
5400
|
waitForRetryWindow: useQueryTarget
|