rivetkit 2.0.1 → 2.0.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.
- package/dist/schemas/actor-persist/v1.ts +228 -0
- package/dist/schemas/client-protocol/v1.ts +429 -0
- package/dist/schemas/file-system-driver/v1.ts +102 -0
- package/dist/tsup/actor/errors.cjs +69 -0
- package/dist/tsup/actor/errors.cjs.map +1 -0
- package/dist/tsup/actor/errors.d.cts +143 -0
- package/dist/tsup/actor/errors.d.ts +143 -0
- package/dist/tsup/actor/errors.js +69 -0
- package/dist/tsup/actor/errors.js.map +1 -0
- package/dist/tsup/chunk-2CRLFV6Z.cjs +202 -0
- package/dist/tsup/chunk-2CRLFV6Z.cjs.map +1 -0
- package/dist/tsup/chunk-3H7O2A7I.js +525 -0
- package/dist/tsup/chunk-3H7O2A7I.js.map +1 -0
- package/dist/tsup/chunk-42I3OZ3Q.js +15 -0
- package/dist/tsup/chunk-42I3OZ3Q.js.map +1 -0
- package/dist/tsup/chunk-4NSUQZ2H.js +1790 -0
- package/dist/tsup/chunk-4NSUQZ2H.js.map +1 -0
- package/dist/tsup/chunk-6PDXBYI5.js +132 -0
- package/dist/tsup/chunk-6PDXBYI5.js.map +1 -0
- package/dist/tsup/chunk-6WKQDDUD.cjs +1790 -0
- package/dist/tsup/chunk-6WKQDDUD.cjs.map +1 -0
- package/dist/tsup/chunk-CTBOSFUH.cjs +116 -0
- package/dist/tsup/chunk-CTBOSFUH.cjs.map +1 -0
- package/dist/tsup/chunk-EGVZZFE2.js +2857 -0
- package/dist/tsup/chunk-EGVZZFE2.js.map +1 -0
- package/dist/tsup/chunk-FCCPJNMA.cjs +132 -0
- package/dist/tsup/chunk-FCCPJNMA.cjs.map +1 -0
- package/dist/tsup/chunk-FLMTTN27.js +244 -0
- package/dist/tsup/chunk-FLMTTN27.js.map +1 -0
- package/dist/tsup/chunk-GIR3AFFI.cjs +315 -0
- package/dist/tsup/chunk-GIR3AFFI.cjs.map +1 -0
- package/dist/tsup/chunk-INGJP237.js +315 -0
- package/dist/tsup/chunk-INGJP237.js.map +1 -0
- package/dist/tsup/chunk-KJCJLKRM.js +116 -0
- package/dist/tsup/chunk-KJCJLKRM.js.map +1 -0
- package/dist/tsup/chunk-KUPQZYUQ.cjs +15 -0
- package/dist/tsup/chunk-KUPQZYUQ.cjs.map +1 -0
- package/dist/tsup/chunk-O2MBYIXO.cjs +2857 -0
- package/dist/tsup/chunk-O2MBYIXO.cjs.map +1 -0
- package/dist/tsup/chunk-OGAPU3UG.cjs +525 -0
- package/dist/tsup/chunk-OGAPU3UG.cjs.map +1 -0
- package/dist/tsup/chunk-OV6AYD4S.js +4406 -0
- package/dist/tsup/chunk-OV6AYD4S.js.map +1 -0
- package/dist/tsup/chunk-PO4VLDWA.js +47 -0
- package/dist/tsup/chunk-PO4VLDWA.js.map +1 -0
- package/dist/tsup/chunk-R2OPSKIV.cjs +244 -0
- package/dist/tsup/chunk-R2OPSKIV.cjs.map +1 -0
- package/dist/tsup/chunk-TZJKSBUQ.cjs +47 -0
- package/dist/tsup/chunk-TZJKSBUQ.cjs.map +1 -0
- package/dist/tsup/chunk-UBUC5C3G.cjs +189 -0
- package/dist/tsup/chunk-UBUC5C3G.cjs.map +1 -0
- package/dist/tsup/chunk-UIM22YJL.cjs +4406 -0
- package/dist/tsup/chunk-UIM22YJL.cjs.map +1 -0
- package/dist/tsup/chunk-URVFQMYI.cjs +230 -0
- package/dist/tsup/chunk-URVFQMYI.cjs.map +1 -0
- package/dist/tsup/chunk-UVUPOS46.js +230 -0
- package/dist/tsup/chunk-UVUPOS46.js.map +1 -0
- package/dist/tsup/chunk-VRRHBNJC.js +189 -0
- package/dist/tsup/chunk-VRRHBNJC.js.map +1 -0
- package/dist/tsup/chunk-XFSS33EQ.js +202 -0
- package/dist/tsup/chunk-XFSS33EQ.js.map +1 -0
- package/dist/tsup/client/mod.cjs +32 -0
- package/dist/tsup/client/mod.cjs.map +1 -0
- package/dist/tsup/client/mod.d.cts +26 -0
- package/dist/tsup/client/mod.d.ts +26 -0
- package/dist/tsup/client/mod.js +32 -0
- package/dist/tsup/client/mod.js.map +1 -0
- package/dist/tsup/common/log.cjs +13 -0
- package/dist/tsup/common/log.cjs.map +1 -0
- package/dist/tsup/common/log.d.cts +20 -0
- package/dist/tsup/common/log.d.ts +20 -0
- package/dist/tsup/common/log.js +13 -0
- package/dist/tsup/common/log.js.map +1 -0
- package/dist/tsup/common/websocket.cjs +10 -0
- package/dist/tsup/common/websocket.cjs.map +1 -0
- package/dist/tsup/common/websocket.d.cts +3 -0
- package/dist/tsup/common/websocket.d.ts +3 -0
- package/dist/tsup/common/websocket.js +10 -0
- package/dist/tsup/common/websocket.js.map +1 -0
- package/dist/tsup/common-CpqORuCq.d.cts +218 -0
- package/dist/tsup/common-CpqORuCq.d.ts +218 -0
- package/dist/tsup/connection-BR_Ve4ku.d.cts +2117 -0
- package/dist/tsup/connection-BwUMoe6n.d.ts +2117 -0
- package/dist/tsup/driver-helpers/mod.cjs +33 -0
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -0
- package/dist/tsup/driver-helpers/mod.d.cts +18 -0
- package/dist/tsup/driver-helpers/mod.d.ts +18 -0
- package/dist/tsup/driver-helpers/mod.js +33 -0
- package/dist/tsup/driver-helpers/mod.js.map +1 -0
- package/dist/tsup/driver-test-suite/mod.cjs +4619 -0
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -0
- package/dist/tsup/driver-test-suite/mod.d.cts +57 -0
- package/dist/tsup/driver-test-suite/mod.d.ts +57 -0
- package/dist/tsup/driver-test-suite/mod.js +4619 -0
- package/dist/tsup/driver-test-suite/mod.js.map +1 -0
- package/dist/tsup/inspector/mod.cjs +53 -0
- package/dist/tsup/inspector/mod.cjs.map +1 -0
- package/dist/tsup/inspector/mod.d.cts +408 -0
- package/dist/tsup/inspector/mod.d.ts +408 -0
- package/dist/tsup/inspector/mod.js +53 -0
- package/dist/tsup/inspector/mod.js.map +1 -0
- package/dist/tsup/mod.cjs +73 -0
- package/dist/tsup/mod.cjs.map +1 -0
- package/dist/tsup/mod.d.cts +100 -0
- package/dist/tsup/mod.d.ts +100 -0
- package/dist/tsup/mod.js +73 -0
- package/dist/tsup/mod.js.map +1 -0
- package/dist/tsup/router-endpoints-AYkXG8Tl.d.cts +66 -0
- package/dist/tsup/router-endpoints-DAbqVFx2.d.ts +66 -0
- package/dist/tsup/test/mod.cjs +21 -0
- package/dist/tsup/test/mod.cjs.map +1 -0
- package/dist/tsup/test/mod.d.cts +27 -0
- package/dist/tsup/test/mod.d.ts +27 -0
- package/dist/tsup/test/mod.js +21 -0
- package/dist/tsup/test/mod.js.map +1 -0
- package/dist/tsup/utils-CT0cv4jd.d.cts +17 -0
- package/dist/tsup/utils-CT0cv4jd.d.ts +17 -0
- package/dist/tsup/utils.cjs +26 -0
- package/dist/tsup/utils.cjs.map +1 -0
- package/dist/tsup/utils.d.cts +36 -0
- package/dist/tsup/utils.d.ts +36 -0
- package/dist/tsup/utils.js +26 -0
- package/dist/tsup/utils.js.map +1 -0
- package/package.json +208 -5
- package/src/actor/action.ts +182 -0
- package/src/actor/config.ts +765 -0
- package/src/actor/connection.ts +260 -0
- package/src/actor/context.ts +171 -0
- package/src/actor/database.ts +23 -0
- package/src/actor/definition.ts +86 -0
- package/src/actor/driver.ts +84 -0
- package/src/actor/errors.ts +360 -0
- package/src/actor/generic-conn-driver.ts +234 -0
- package/src/actor/instance.ts +1800 -0
- package/src/actor/log.ts +15 -0
- package/src/actor/mod.ts +113 -0
- package/src/actor/persisted.ts +42 -0
- package/src/actor/protocol/old.ts +281 -0
- package/src/actor/protocol/serde.ts +131 -0
- package/src/actor/router-endpoints.ts +685 -0
- package/src/actor/router.ts +263 -0
- package/src/actor/schedule.ts +17 -0
- package/src/actor/unstable-react.ts +110 -0
- package/src/actor/utils.ts +98 -0
- package/src/client/actor-common.ts +30 -0
- package/src/client/actor-conn.ts +804 -0
- package/src/client/actor-handle.ts +208 -0
- package/src/client/client.ts +623 -0
- package/src/client/errors.ts +41 -0
- package/src/client/http-client-driver.ts +326 -0
- package/src/client/log.ts +7 -0
- package/src/client/mod.ts +56 -0
- package/src/client/raw-utils.ts +92 -0
- package/src/client/test.ts +44 -0
- package/src/client/utils.ts +150 -0
- package/src/common/eventsource-interface.ts +47 -0
- package/src/common/eventsource.ts +80 -0
- package/src/common/fake-event-source.ts +266 -0
- package/src/common/inline-websocket-adapter2.ts +445 -0
- package/src/common/log-levels.ts +27 -0
- package/src/common/log.ts +139 -0
- package/src/common/logfmt.ts +228 -0
- package/src/common/network.ts +2 -0
- package/src/common/router.ts +87 -0
- package/src/common/utils.ts +322 -0
- package/src/common/versioned-data.ts +95 -0
- package/src/common/websocket-interface.ts +49 -0
- package/src/common/websocket.ts +43 -0
- package/src/driver-helpers/mod.ts +22 -0
- package/src/driver-helpers/utils.ts +17 -0
- package/src/driver-test-suite/log.ts +7 -0
- package/src/driver-test-suite/mod.ts +213 -0
- package/src/driver-test-suite/test-inline-client-driver.ts +402 -0
- package/src/driver-test-suite/tests/action-features.ts +136 -0
- package/src/driver-test-suite/tests/actor-auth.ts +591 -0
- package/src/driver-test-suite/tests/actor-conn-state.ts +249 -0
- package/src/driver-test-suite/tests/actor-conn.ts +349 -0
- package/src/driver-test-suite/tests/actor-driver.ts +25 -0
- package/src/driver-test-suite/tests/actor-error-handling.ts +158 -0
- package/src/driver-test-suite/tests/actor-handle.ts +259 -0
- package/src/driver-test-suite/tests/actor-inline-client.ts +152 -0
- package/src/driver-test-suite/tests/actor-inspector.ts +570 -0
- package/src/driver-test-suite/tests/actor-metadata.ts +116 -0
- package/src/driver-test-suite/tests/actor-onstatechange.ts +95 -0
- package/src/driver-test-suite/tests/actor-schedule.ts +108 -0
- package/src/driver-test-suite/tests/actor-sleep.ts +413 -0
- package/src/driver-test-suite/tests/actor-state.ts +54 -0
- package/src/driver-test-suite/tests/actor-vars.ts +93 -0
- package/src/driver-test-suite/tests/manager-driver.ts +365 -0
- package/src/driver-test-suite/tests/raw-http-direct-registry.ts +226 -0
- package/src/driver-test-suite/tests/raw-http-request-properties.ts +414 -0
- package/src/driver-test-suite/tests/raw-http.ts +347 -0
- package/src/driver-test-suite/tests/raw-websocket-direct-registry.ts +392 -0
- package/src/driver-test-suite/tests/raw-websocket.ts +484 -0
- package/src/driver-test-suite/tests/request-access.ts +244 -0
- package/src/driver-test-suite/utils.ts +68 -0
- package/src/drivers/default.ts +31 -0
- package/src/drivers/engine/actor-driver.ts +360 -0
- package/src/drivers/engine/api-endpoints.ts +128 -0
- package/src/drivers/engine/api-utils.ts +70 -0
- package/src/drivers/engine/config.ts +39 -0
- package/src/drivers/engine/keys.test.ts +266 -0
- package/src/drivers/engine/keys.ts +89 -0
- package/src/drivers/engine/kv.ts +3 -0
- package/src/drivers/engine/log.ts +7 -0
- package/src/drivers/engine/manager-driver.ts +391 -0
- package/src/drivers/engine/mod.ts +36 -0
- package/src/drivers/engine/ws-proxy.ts +170 -0
- package/src/drivers/file-system/actor.ts +91 -0
- package/src/drivers/file-system/global-state.ts +673 -0
- package/src/drivers/file-system/log.ts +7 -0
- package/src/drivers/file-system/manager.ts +306 -0
- package/src/drivers/file-system/mod.ts +48 -0
- package/src/drivers/file-system/utils.ts +109 -0
- package/src/globals.d.ts +6 -0
- package/src/inline-client-driver/log.ts +7 -0
- package/src/inline-client-driver/mod.ts +385 -0
- package/src/inspector/actor.ts +298 -0
- package/src/inspector/config.ts +83 -0
- package/src/inspector/log.ts +5 -0
- package/src/inspector/manager.ts +86 -0
- package/src/inspector/mod.ts +2 -0
- package/src/inspector/protocol/actor.ts +10 -0
- package/src/inspector/protocol/common.ts +196 -0
- package/src/inspector/protocol/manager.ts +10 -0
- package/src/inspector/protocol/mod.ts +2 -0
- package/src/inspector/utils.ts +76 -0
- package/src/manager/auth.ts +121 -0
- package/src/manager/driver.ts +80 -0
- package/src/manager/hono-websocket-adapter.ts +333 -0
- package/src/manager/log.ts +7 -0
- package/src/manager/mod.ts +2 -0
- package/src/manager/protocol/mod.ts +24 -0
- package/src/manager/protocol/query.ts +89 -0
- package/src/manager/router.ts +1792 -0
- package/src/mod.ts +20 -0
- package/src/registry/config.ts +32 -0
- package/src/registry/log.ts +7 -0
- package/src/registry/mod.ts +124 -0
- package/src/registry/run-config.ts +54 -0
- package/src/registry/serve.ts +53 -0
- package/src/schemas/actor-persist/mod.ts +1 -0
- package/src/schemas/actor-persist/versioned.ts +25 -0
- package/src/schemas/client-protocol/mod.ts +1 -0
- package/src/schemas/client-protocol/versioned.ts +63 -0
- package/src/schemas/file-system-driver/mod.ts +1 -0
- package/src/schemas/file-system-driver/versioned.ts +28 -0
- package/src/serde.ts +84 -0
- package/src/test/config.ts +16 -0
- package/src/test/log.ts +7 -0
- package/src/test/mod.ts +153 -0
- package/src/utils.ts +172 -0
- package/README.md +0 -13
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
var _chunkOGAPU3UGcjs = require('./chunk-OGAPU3UG.cjs');
|
|
4
|
+
|
|
5
|
+
// src/common/log-levels.ts
|
|
6
|
+
var LogLevels = {
|
|
7
|
+
TRACE: 0,
|
|
8
|
+
DEBUG: 1,
|
|
9
|
+
INFO: 2,
|
|
10
|
+
WARN: 3,
|
|
11
|
+
ERROR: 4,
|
|
12
|
+
CRITICAL: 5
|
|
13
|
+
};
|
|
14
|
+
var LevelNameMap = {
|
|
15
|
+
0: "TRACE",
|
|
16
|
+
1: "DEBUG",
|
|
17
|
+
2: "INFO",
|
|
18
|
+
3: "WARN",
|
|
19
|
+
4: "ERROR",
|
|
20
|
+
5: "CRITICAL"
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// src/common/logfmt.ts
|
|
24
|
+
var LOG_LEVEL_COLORS = {
|
|
25
|
+
[LogLevels.CRITICAL]: "\x1B[31m",
|
|
26
|
+
// Red
|
|
27
|
+
[LogLevels.ERROR]: "\x1B[31m",
|
|
28
|
+
// Red
|
|
29
|
+
[LogLevels.WARN]: "\x1B[33m",
|
|
30
|
+
// Yellow
|
|
31
|
+
[LogLevels.INFO]: "\x1B[32m",
|
|
32
|
+
// Green
|
|
33
|
+
[LogLevels.DEBUG]: "\x1B[36m",
|
|
34
|
+
// Cyan
|
|
35
|
+
[LogLevels.TRACE]: "\x1B[36m"
|
|
36
|
+
// Cyan
|
|
37
|
+
};
|
|
38
|
+
var RESET_COLOR = "\x1B[0m";
|
|
39
|
+
function stringify(...data) {
|
|
40
|
+
let line = "";
|
|
41
|
+
for (let i = 0; i < data.length; i++) {
|
|
42
|
+
const [key, valueRaw] = data[i];
|
|
43
|
+
let isNull = false;
|
|
44
|
+
let valueString;
|
|
45
|
+
if (valueRaw == null) {
|
|
46
|
+
isNull = true;
|
|
47
|
+
valueString = "";
|
|
48
|
+
} else {
|
|
49
|
+
valueString = valueRaw.toString();
|
|
50
|
+
}
|
|
51
|
+
if (valueString.length > 512 && key !== "msg" && key !== "error")
|
|
52
|
+
valueString = `${valueString.slice(0, 512)}...`;
|
|
53
|
+
const needsQuoting = valueString.indexOf(" ") > -1 || valueString.indexOf("=") > -1;
|
|
54
|
+
const needsEscaping = valueString.indexOf('"') > -1 || valueString.indexOf("\\") > -1;
|
|
55
|
+
valueString = valueString.replace(/\n/g, "\\n");
|
|
56
|
+
if (needsEscaping) valueString = valueString.replace(/["\\]/g, "\\$&");
|
|
57
|
+
if (needsQuoting || needsEscaping) valueString = `"${valueString}"`;
|
|
58
|
+
if (valueString === "" && !isNull) valueString = '""';
|
|
59
|
+
if (LOGGER_CONFIG.enableColor) {
|
|
60
|
+
let color = "\x1B[2m";
|
|
61
|
+
if (key === "level") {
|
|
62
|
+
const level = LogLevels[valueString];
|
|
63
|
+
const levelColor = LOG_LEVEL_COLORS[level];
|
|
64
|
+
if (levelColor) {
|
|
65
|
+
color = levelColor;
|
|
66
|
+
}
|
|
67
|
+
} else if (key === "msg") {
|
|
68
|
+
color = "\x1B[32m";
|
|
69
|
+
} else if (key === "trace") {
|
|
70
|
+
color = "\x1B[34m";
|
|
71
|
+
}
|
|
72
|
+
line += `\x1B[0m\x1B[1m${key}\x1B[0m\x1B[2m=\x1B[0m${color}${valueString}${RESET_COLOR}`;
|
|
73
|
+
} else {
|
|
74
|
+
line += `${key}=${valueString}`;
|
|
75
|
+
}
|
|
76
|
+
if (i !== data.length - 1) {
|
|
77
|
+
line += " ";
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return line;
|
|
81
|
+
}
|
|
82
|
+
function formatTimestamp(date) {
|
|
83
|
+
const year = date.getUTCFullYear();
|
|
84
|
+
const month = String(date.getUTCMonth() + 1).padStart(2, "0");
|
|
85
|
+
const day = String(date.getUTCDate()).padStart(2, "0");
|
|
86
|
+
const hours = String(date.getUTCHours()).padStart(2, "0");
|
|
87
|
+
const minutes = String(date.getUTCMinutes()).padStart(2, "0");
|
|
88
|
+
const seconds = String(date.getUTCSeconds()).padStart(2, "0");
|
|
89
|
+
const milliseconds = String(date.getUTCMilliseconds()).padStart(3, "0");
|
|
90
|
+
return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;
|
|
91
|
+
}
|
|
92
|
+
function castToLogValue(v) {
|
|
93
|
+
if (typeof v === "string" || typeof v === "number" || typeof v === "bigint" || typeof v === "boolean" || v === null || v === void 0) {
|
|
94
|
+
return v;
|
|
95
|
+
}
|
|
96
|
+
if (v instanceof Error) {
|
|
97
|
+
return String(v);
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
return JSON.stringify(v);
|
|
101
|
+
} catch (e) {
|
|
102
|
+
return "[cannot stringify]";
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
var LOGGER_CONFIG = {
|
|
106
|
+
enableColor: false,
|
|
107
|
+
enableSpreadObject: false,
|
|
108
|
+
enableErrorStack: false
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
// src/common/log.ts
|
|
112
|
+
var Logger = class {
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
constructor(name, level) {
|
|
116
|
+
this.name = name;
|
|
117
|
+
this.level = level;
|
|
118
|
+
}
|
|
119
|
+
log(level, message, ...args) {
|
|
120
|
+
const record = {
|
|
121
|
+
msg: message,
|
|
122
|
+
args,
|
|
123
|
+
level,
|
|
124
|
+
loggerName: this.name,
|
|
125
|
+
datetime: /* @__PURE__ */ new Date(),
|
|
126
|
+
levelName: LevelNameMap[level]
|
|
127
|
+
};
|
|
128
|
+
if (this.#shouldLog(level)) {
|
|
129
|
+
this.#logRecord(record);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
#shouldLog(level) {
|
|
133
|
+
return level >= LogLevels[this.level];
|
|
134
|
+
}
|
|
135
|
+
#logRecord(record) {
|
|
136
|
+
console.log(formatter(record));
|
|
137
|
+
}
|
|
138
|
+
trace(message, ...args) {
|
|
139
|
+
this.log(LogLevels.TRACE, message, ...args);
|
|
140
|
+
}
|
|
141
|
+
debug(message, ...args) {
|
|
142
|
+
this.log(LogLevels.DEBUG, message, ...args);
|
|
143
|
+
}
|
|
144
|
+
info(message, ...args) {
|
|
145
|
+
this.log(LogLevels.INFO, message, ...args);
|
|
146
|
+
}
|
|
147
|
+
warn(message, ...args) {
|
|
148
|
+
this.log(LogLevels.WARN, message, ...args);
|
|
149
|
+
}
|
|
150
|
+
error(message, ...args) {
|
|
151
|
+
this.log(LogLevels.ERROR, message, ...args);
|
|
152
|
+
}
|
|
153
|
+
critical(message, ...args) {
|
|
154
|
+
this.log(LogLevels.CRITICAL, message, ...args);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
var loggers = {};
|
|
158
|
+
function getLogger(name = "default") {
|
|
159
|
+
const defaultLogLevelEnv = _chunkOGAPU3UGcjs.getEnvUniversal.call(void 0,
|
|
160
|
+
"_LOG_LEVEL"
|
|
161
|
+
);
|
|
162
|
+
const defaultLogLevel = _nullishCoalesce(defaultLogLevelEnv, () => ( "INFO"));
|
|
163
|
+
if (!loggers[name]) {
|
|
164
|
+
loggers[name] = new Logger(name, defaultLogLevel);
|
|
165
|
+
}
|
|
166
|
+
return loggers[name];
|
|
167
|
+
}
|
|
168
|
+
function formatter(log) {
|
|
169
|
+
const args = [];
|
|
170
|
+
for (let i = 0; i < log.args.length; i++) {
|
|
171
|
+
const logArg = log.args[i];
|
|
172
|
+
if (logArg && typeof logArg === "object") {
|
|
173
|
+
for (const k in logArg) {
|
|
174
|
+
const v = logArg[k];
|
|
175
|
+
pushArg(k, v, args);
|
|
176
|
+
}
|
|
177
|
+
} else {
|
|
178
|
+
pushArg(`arg${i}`, logArg, args);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const logTs = _chunkOGAPU3UGcjs.getEnvUniversal.call(void 0, "_LOG_TIMESTAMP") === "1";
|
|
182
|
+
const logTarget = _chunkOGAPU3UGcjs.getEnvUniversal.call(void 0, "_LOG_TARGET") === "1";
|
|
183
|
+
return stringify(
|
|
184
|
+
...logTs ? [["ts", formatTimestamp(/* @__PURE__ */ new Date())]] : [],
|
|
185
|
+
["level", LevelNameMap[log.level]],
|
|
186
|
+
...logTarget ? [["target", log.loggerName]] : [],
|
|
187
|
+
["msg", log.msg],
|
|
188
|
+
...args
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
function pushArg(k, v, args) {
|
|
192
|
+
args.push([k, castToLogValue(v)]);
|
|
193
|
+
}
|
|
194
|
+
function setupLogging() {
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
exports.Logger = Logger; exports.getLogger = getLogger; exports.setupLogging = setupLogging;
|
|
202
|
+
//# sourceMappingURL=chunk-2CRLFV6Z.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-2CRLFV6Z.cjs","../../src/common/log-levels.ts","../../src/common/logfmt.ts","../../src/common/log.ts"],"names":[],"mappings":"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","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-2CRLFV6Z.cjs","sourcesContent":[null,"export type LogLevel =\n\t| \"TRACE\"\n\t| \"DEBUG\"\n\t| \"INFO\"\n\t| \"WARN\"\n\t| \"ERROR\"\n\t| \"CRITICAL\";\n\nexport const LogLevels: Record<LogLevel, LevelIndex> = {\n\tTRACE: 0,\n\tDEBUG: 1,\n\tINFO: 2,\n\tWARN: 3,\n\tERROR: 4,\n\tCRITICAL: 5,\n} as const;\n\nexport const LevelNameMap: Record<number, LogLevel> = {\n\t0: \"TRACE\",\n\t1: \"DEBUG\",\n\t2: \"INFO\",\n\t3: \"WARN\",\n\t4: \"ERROR\",\n\t5: \"CRITICAL\",\n};\n\nexport type LevelIndex = number;\n","import { type LogLevel, LogLevels } from \"./log-levels\";\n\nexport type LogEntry = [string, LogValue];\nexport type LogValue = string | number | bigint | boolean | null | undefined;\n\nconst LOG_LEVEL_COLORS: Record<number, string> = {\n\t[LogLevels.CRITICAL]: \"\\x1b[31m\", // Red\n\t[LogLevels.ERROR]: \"\\x1b[31m\", // Red\n\t[LogLevels.WARN]: \"\\x1b[33m\", // Yellow\n\t[LogLevels.INFO]: \"\\x1b[32m\", // Green\n\t[LogLevels.DEBUG]: \"\\x1b[36m\", // Cyan\n\t[LogLevels.TRACE]: \"\\x1b[36m\", // Cyan\n};\n\nconst RESET_COLOR = \"\\x1b[0m\";\n\n/**\n * Serializes logfmt line using orderer parameters.\n *\n * We use varargs because it's ordered & it has less overhead than an object.\n *\n * ## Styling Methodology\n *\n * The three things you need to know for every log line is the level, the\n * message, and who called it. These properties are highlighted in different colros\n * and sorted in th eorder that you usually read them.\n *\n * Once you've found a log line you care about, then you want to find the\n * property you need to see. The property names are bolded and the default color\n * while the rest of the data is dim. This lets you scan to find the property\n * name quickly then look closer to read the data associated with the\n * property.\n */\nexport function stringify(...data: LogEntry[]) {\n\tlet line = \"\";\n\n\tfor (let i = 0; i < data.length; i++) {\n\t\tconst [key, valueRaw] = data[i];\n\n\t\tlet isNull = false;\n\t\tlet valueString: string;\n\t\tif (valueRaw == null) {\n\t\t\tisNull = true;\n\t\t\tvalueString = \"\";\n\t\t} else {\n\t\t\tvalueString = valueRaw.toString();\n\t\t}\n\n\t\t// Clip value unless specifically the error message\n\t\tif (valueString.length > 512 && key !== \"msg\" && key !== \"error\")\n\t\t\tvalueString = `${valueString.slice(0, 512)}...`;\n\n\t\tconst needsQuoting =\n\t\t\tvalueString.indexOf(\" \") > -1 || valueString.indexOf(\"=\") > -1;\n\t\tconst needsEscaping =\n\t\t\tvalueString.indexOf('\"') > -1 || valueString.indexOf(\"\\\\\") > -1;\n\n\t\tvalueString = valueString.replace(/\\n/g, \"\\\\n\");\n\t\tif (needsEscaping) valueString = valueString.replace(/[\"\\\\]/g, \"\\\\$&\");\n\t\tif (needsQuoting || needsEscaping) valueString = `\"${valueString}\"`;\n\t\tif (valueString === \"\" && !isNull) valueString = '\"\"';\n\n\t\tif (LOGGER_CONFIG.enableColor) {\n\t\t\t// With color\n\n\t\t\t// Special message colors\n\t\t\tlet color = \"\\x1b[2m\";\n\t\t\tif (key === \"level\") {\n\t\t\t\tconst level = LogLevels[valueString as LogLevel];\n\t\t\t\tconst levelColor = LOG_LEVEL_COLORS[level];\n\t\t\t\tif (levelColor) {\n\t\t\t\t\tcolor = levelColor;\n\t\t\t\t}\n\t\t\t} else if (key === \"msg\") {\n\t\t\t\tcolor = \"\\x1b[32m\";\n\t\t\t} else if (key === \"trace\") {\n\t\t\t\tcolor = \"\\x1b[34m\";\n\t\t\t}\n\n\t\t\t// Format line\n\t\t\tline += `\\x1b[0m\\x1b[1m${key}\\x1b[0m\\x1b[2m=\\x1b[0m${color}${valueString}${RESET_COLOR}`;\n\t\t} else {\n\t\t\t// No color\n\t\t\tline += `${key}=${valueString}`;\n\t\t}\n\n\t\tif (i !== data.length - 1) {\n\t\t\tline += \" \";\n\t\t}\n\t}\n\n\treturn line;\n}\n\nexport function formatTimestamp(date: Date): string {\n\tconst year = date.getUTCFullYear();\n\tconst month = String(date.getUTCMonth() + 1).padStart(2, \"0\");\n\tconst day = String(date.getUTCDate()).padStart(2, \"0\");\n\tconst hours = String(date.getUTCHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getUTCMinutes()).padStart(2, \"0\");\n\tconst seconds = String(date.getUTCSeconds()).padStart(2, \"0\");\n\tconst milliseconds = String(date.getUTCMilliseconds()).padStart(3, \"0\");\n\n\treturn `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\n}\n\nexport function castToLogValue(v: unknown): LogValue {\n\tif (\n\t\ttypeof v === \"string\" ||\n\t\ttypeof v === \"number\" ||\n\t\ttypeof v === \"bigint\" ||\n\t\ttypeof v === \"boolean\" ||\n\t\tv === null ||\n\t\tv === undefined\n\t) {\n\t\treturn v;\n\t}\n\tif (v instanceof Error) {\n\t\t//args.push(...errorToLogEntries(k, v));\n\t\treturn String(v);\n\t}\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch {\n\t\treturn \"[cannot stringify]\";\n\t}\n}\n\n// MARK: Config\ninterface GlobalLoggerConfig {\n\tenableColor: boolean;\n\tenableSpreadObject: boolean;\n\tenableErrorStack: boolean;\n}\n\nexport const LOGGER_CONFIG: GlobalLoggerConfig = {\n\tenableColor: false,\n\tenableSpreadObject: false,\n\tenableErrorStack: false,\n};\n\n// MARK: Utils\n/**\n * Converts an object in to an easier to read KV of entries.\n */\nexport function spreadObjectToLogEntries(\n\tbase: string,\n\tdata: unknown,\n): LogEntry[] {\n\tif (\n\t\tLOGGER_CONFIG.enableSpreadObject &&\n\t\ttypeof data === \"object\" &&\n\t\t!Array.isArray(data) &&\n\t\tdata !== null &&\n\t\tObject.keys(data).length !== 0 &&\n\t\tObject.keys(data).length < 16\n\t) {\n\t\tconst logData: LogEntry[] = [];\n\t\tfor (const key in data) {\n\t\t\t// logData.push([`${base}.${key}`, JSON.stringify((data as any)[key])]);\n\n\t\t\tlogData.push(\n\t\t\t\t...spreadObjectToLogEntries(\n\t\t\t\t\t`${base}.${key}`,\n\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: FIXME\n\t\t\t\t\t(data as any)[key],\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn logData;\n\t}\n\n\treturn [[base, JSON.stringify(data)]];\n}\n\nexport function errorToLogEntries(base: string, error: unknown): LogEntry[] {\n\tif (error instanceof Error) {\n\t\treturn [\n\t\t\t//[`${base}.name`, error.name],\n\t\t\t[`${base}.message`, error.message],\n\t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n\t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n\t\t\t\t: []),\n\t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n\t\t];\n\t}\n\treturn [[base, `${error}`]];\n}\n\n// export function errorToLogEntries(base: string, error: unknown): LogEntry[] {\n// \tif (error instanceof RuntimeError) {\n// \t\treturn [\n// \t\t\t[`${base}.code`, error.code],\n// \t\t\t[`${base}.description`, error.errorConfig?.description],\n// \t\t\t[`${base}.module`, error.moduleName],\n// \t\t\t...(error.trace ? [[`${base}.trace`, stringifyTrace(error.trace)] as LogEntry] : []),\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.meta ? [[`${base}.meta`, JSON.stringify(error.meta)] as LogEntry] : []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else if (error instanceof Error) {\n// \t\treturn [\n// \t\t\t[`${base}.name`, error.name],\n// \t\t\t[`${base}.message`, error.message],\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else {\n// \t\treturn [\n// \t\t\t[base, `${error}`],\n// \t\t];\n// \t}\n// }\n\n/**\n * Formats a JS stack trace in to a legible one-liner.\n */\nfunction formatStackTrace(stackTrace: string): string {\n\tconst regex = /at (.+?)$/gm;\n\tconst matches = [...stackTrace.matchAll(regex)];\n\t// Reverse array since the stack goes from top level -> bottom level\n\tmatches.reverse();\n\treturn matches.map((match) => match[1].trim()).join(\" > \");\n}\n","import { getEnvUniversal } from \"@/utils\";\nimport {\n\ttype LevelIndex,\n\tLevelNameMap,\n\ttype LogLevel,\n\tLogLevels,\n} from \"./log-levels\";\nimport {\n\tcastToLogValue,\n\tformatTimestamp,\n\ttype LogEntry,\n\tstringify,\n} from \"./logfmt\";\n\ninterface LogRecord {\n\targs: unknown[];\n\tdatetime: Date;\n\tlevel: number;\n\tlevelName: string;\n\tloggerName: string;\n\tmsg: string;\n}\n\nexport class Logger {\n\tname: string;\n\tlevel: LogLevel;\n\n\tconstructor(name: string, level: LogLevel) {\n\t\tthis.name = name;\n\t\tthis.level = level;\n\t}\n\n\tlog(level: LevelIndex, message: string, ...args: unknown[]): void {\n\t\tconst record: LogRecord = {\n\t\t\tmsg: message,\n\t\t\targs,\n\t\t\tlevel,\n\t\t\tloggerName: this.name,\n\t\t\tdatetime: new Date(),\n\t\t\tlevelName: LevelNameMap[level],\n\t\t};\n\n\t\tif (this.#shouldLog(level)) {\n\t\t\tthis.#logRecord(record);\n\t\t}\n\t}\n\n\t#shouldLog(level: LevelIndex): boolean {\n\t\treturn level >= LogLevels[this.level];\n\t}\n\n\t#logRecord(record: LogRecord): void {\n\t\tconsole.log(formatter(record));\n\t}\n\n\ttrace(message: string, ...args: unknown[]): void {\n\t\tthis.log(LogLevels.TRACE, message, ...args);\n\t}\n\n\tdebug(message: string, ...args: unknown[]): void {\n\t\tthis.log(LogLevels.DEBUG, message, ...args);\n\t}\n\n\tinfo(message: string, ...args: unknown[]): void {\n\t\tthis.log(LogLevels.INFO, message, ...args);\n\t}\n\n\twarn(message: string, ...args: unknown[]): void {\n\t\tthis.log(LogLevels.WARN, message, ...args);\n\t}\n\n\terror(message: string, ...args: unknown[]): void {\n\t\tthis.log(LogLevels.ERROR, message, ...args);\n\t}\n\n\tcritical(message: string, ...args: unknown[]): void {\n\t\tthis.log(LogLevels.CRITICAL, message, ...args);\n\t}\n}\n\nconst loggers: Record<string, Logger> = {};\n\nexport function getLogger(name = \"default\"): Logger {\n\tconst defaultLogLevelEnv: LogLevel | undefined = getEnvUniversal(\n\t\t\"_LOG_LEVEL\",\n\t) as LogLevel | undefined;\n\n\tconst defaultLogLevel: LogLevel = defaultLogLevelEnv ?? \"INFO\";\n\tif (!loggers[name]) {\n\t\tloggers[name] = new Logger(name, defaultLogLevel);\n\t}\n\treturn loggers[name];\n}\n\nfunction formatter(log: LogRecord): string {\n\tconst args: LogEntry[] = [];\n\tfor (let i = 0; i < log.args.length; i++) {\n\t\tconst logArg = log.args[i];\n\t\tif (logArg && typeof logArg === \"object\") {\n\t\t\t// Spread object\n\t\t\tfor (const k in logArg) {\n\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: Unknown type\n\t\t\t\tconst v = (logArg as any)[k];\n\n\t\t\t\tpushArg(k, v, args);\n\t\t\t}\n\t\t} else {\n\t\t\tpushArg(`arg${i}`, logArg, args);\n\t\t}\n\t}\n\n\tconst logTs = getEnvUniversal(\"_LOG_TIMESTAMP\") === \"1\";\n\tconst logTarget = getEnvUniversal(\"_LOG_TARGET\") === \"1\";\n\n\treturn stringify(\n\t\t...(logTs ? [[\"ts\", formatTimestamp(new Date())] as LogEntry] : []),\n\t\t[\"level\", LevelNameMap[log.level]],\n\t\t...(logTarget ? [[\"target\", log.loggerName] as LogEntry] : []),\n\t\t[\"msg\", log.msg],\n\t\t...args,\n\t);\n}\n\nfunction pushArg(k: string, v: unknown, args: LogEntry[]) {\n\targs.push([k, castToLogValue(v)]);\n}\n\n// function getEnv(name: string): string | undefined {\n// \tif (typeof window !== \"undefined\" && window.localStorage) {\n// \t\treturn window.localStorage.getItem(name) || undefined;\n// \t}\n// \treturn undefined;\n// \t// TODO(ACTR-9): Add back env config once node compat layer works\n// \t//return crossGetEnv(name);\n// }\n\nexport function setupLogging() {\n\t// Do nothing for now\n}\n"]}
|