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,315 @@
|
|
|
1
|
+
// src/actor/errors.ts
|
|
2
|
+
var INTERNAL_ERROR_CODE = "internal_error";
|
|
3
|
+
var INTERNAL_ERROR_DESCRIPTION = "Internal error. Read the server logs for more details.";
|
|
4
|
+
var USER_ERROR_CODE = "user_error";
|
|
5
|
+
var ActorError = class extends Error {
|
|
6
|
+
constructor(code, message, opts) {
|
|
7
|
+
super(message, { cause: opts == null ? void 0 : opts.cause });
|
|
8
|
+
this.code = code;
|
|
9
|
+
this.public = (opts == null ? void 0 : opts.public) ?? false;
|
|
10
|
+
this.metadata = opts == null ? void 0 : opts.metadata;
|
|
11
|
+
if (opts == null ? void 0 : opts.public) {
|
|
12
|
+
this.statusCode = 400;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
__type = "ActorError";
|
|
16
|
+
public;
|
|
17
|
+
metadata;
|
|
18
|
+
statusCode = 500;
|
|
19
|
+
static isActorError(error) {
|
|
20
|
+
return typeof error === "object" && error.__type === "ActorError";
|
|
21
|
+
}
|
|
22
|
+
toString() {
|
|
23
|
+
return this.message;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Serialize error for HTTP response
|
|
27
|
+
*/
|
|
28
|
+
serializeForHttp() {
|
|
29
|
+
return {
|
|
30
|
+
type: this.code,
|
|
31
|
+
message: this.message,
|
|
32
|
+
metadata: this.metadata
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var InternalError = class extends ActorError {
|
|
37
|
+
constructor(message) {
|
|
38
|
+
super(INTERNAL_ERROR_CODE, message);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var Unreachable = class extends InternalError {
|
|
42
|
+
constructor(x) {
|
|
43
|
+
super(`Unreachable case: ${x}`);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
var StateNotEnabled = class extends ActorError {
|
|
47
|
+
constructor() {
|
|
48
|
+
super(
|
|
49
|
+
"state_not_enabled",
|
|
50
|
+
"State not enabled. Must implement `createState` or `state` to use state. (https://www.rivet.gg/docs/actors/state/#initializing-state)"
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var ConnStateNotEnabled = class extends ActorError {
|
|
55
|
+
constructor() {
|
|
56
|
+
super(
|
|
57
|
+
"conn_state_not_enabled",
|
|
58
|
+
"Connection state not enabled. Must implement `createConnectionState` or `connectionState` to use connection state. (https://www.rivet.gg/docs/actors/connections/#connection-state)"
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
var VarsNotEnabled = class extends ActorError {
|
|
63
|
+
constructor() {
|
|
64
|
+
super(
|
|
65
|
+
"vars_not_enabled",
|
|
66
|
+
"Variables not enabled. Must implement `createVars` or `vars` to use state. (https://www.rivet.gg/docs/actors/ephemeral-variables/#initializing-variables)"
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
var ActionTimedOut = class extends ActorError {
|
|
71
|
+
constructor() {
|
|
72
|
+
super(
|
|
73
|
+
"action_timed_out",
|
|
74
|
+
"Action timed out. This can be increased with: `actor({ options: { action: { timeout: ... } } })`",
|
|
75
|
+
{ public: true }
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
var ActionNotFound = class extends ActorError {
|
|
80
|
+
constructor(name) {
|
|
81
|
+
super(
|
|
82
|
+
"action_not_found",
|
|
83
|
+
`Action '${name}' not found. Validate the action exists on your actor.`,
|
|
84
|
+
{ public: true }
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
var InvalidEncoding = class extends ActorError {
|
|
89
|
+
constructor(format) {
|
|
90
|
+
super(
|
|
91
|
+
"invalid_encoding",
|
|
92
|
+
`Invalid encoding \`${format}\`. (https://www.rivet.gg/docs/actors/clients/#actor-client)`,
|
|
93
|
+
{
|
|
94
|
+
public: true
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
var ConnNotFound = class extends ActorError {
|
|
100
|
+
constructor(id) {
|
|
101
|
+
super("conn_not_found", `Connection not found for ID: ${id}`, {
|
|
102
|
+
public: true
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
var IncorrectConnToken = class extends ActorError {
|
|
107
|
+
constructor() {
|
|
108
|
+
super("incorrect_conn_token", "Incorrect connection token.", {
|
|
109
|
+
public: true
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
var MessageTooLong = class extends ActorError {
|
|
114
|
+
constructor() {
|
|
115
|
+
super(
|
|
116
|
+
"message_too_long",
|
|
117
|
+
"Message too long. This can be configured with: `registry.runServer({ maxIncomingMessageSize: ... })`",
|
|
118
|
+
{ public: true }
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
var MalformedMessage = class extends ActorError {
|
|
123
|
+
constructor(cause) {
|
|
124
|
+
super("malformed_message", `Malformed message: ${cause}`, {
|
|
125
|
+
public: true,
|
|
126
|
+
cause
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
var InvalidStateType = class extends ActorError {
|
|
131
|
+
constructor(opts) {
|
|
132
|
+
let msg = "";
|
|
133
|
+
if (opts == null ? void 0 : opts.path) {
|
|
134
|
+
msg += `Attempted to set invalid state at path \`${opts.path}\`.`;
|
|
135
|
+
} else {
|
|
136
|
+
msg += "Attempted to set invalid state.";
|
|
137
|
+
}
|
|
138
|
+
msg += " Valid types include: null, undefined, boolean, string, number, BigInt, Date, RegExp, Error, typed arrays (Uint8Array, Int8Array, Float32Array, etc.), Map, Set, Array, and plain objects. (https://www.rivet.gg/docs/actors/state/#limitations)";
|
|
139
|
+
super("invalid_state_type", msg);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
var Unsupported = class extends ActorError {
|
|
143
|
+
constructor(feature) {
|
|
144
|
+
super("unsupported", `Unsupported feature: ${feature}`);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
var UserError = class extends ActorError {
|
|
148
|
+
/**
|
|
149
|
+
* Constructs a new UserError instance.
|
|
150
|
+
*
|
|
151
|
+
* @param message - The error message to be displayed.
|
|
152
|
+
* @param opts - Optional parameters for the error, including a machine-readable code and additional metadata.
|
|
153
|
+
*/
|
|
154
|
+
constructor(message, opts) {
|
|
155
|
+
super((opts == null ? void 0 : opts.code) ?? USER_ERROR_CODE, message, {
|
|
156
|
+
public: true,
|
|
157
|
+
metadata: opts == null ? void 0 : opts.metadata
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
var InvalidQueryJSON = class extends ActorError {
|
|
162
|
+
constructor(error) {
|
|
163
|
+
super("invalid_query_json", `Invalid query JSON: ${error}`, {
|
|
164
|
+
public: true,
|
|
165
|
+
cause: error
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
var InvalidRequest = class extends ActorError {
|
|
170
|
+
constructor(error) {
|
|
171
|
+
super("invalid_request", `Invalid request: ${error}`, {
|
|
172
|
+
public: true,
|
|
173
|
+
cause: error
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
var ActorNotFound = class extends ActorError {
|
|
178
|
+
constructor(identifier) {
|
|
179
|
+
super(
|
|
180
|
+
"actor_not_found",
|
|
181
|
+
identifier ? `Actor not found: ${identifier} (https://www.rivet.gg/docs/actors/clients/#actor-client)` : "Actor not found (https://www.rivet.gg/docs/actors/clients/#actor-client)",
|
|
182
|
+
{ public: true }
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
var ActorAlreadyExists = class extends ActorError {
|
|
187
|
+
constructor(name, key) {
|
|
188
|
+
super(
|
|
189
|
+
"actor_already_exists",
|
|
190
|
+
`Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.gg/docs/actors/clients/#actor-client)`,
|
|
191
|
+
{ public: true }
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
var ProxyError = class extends ActorError {
|
|
196
|
+
constructor(operation, error) {
|
|
197
|
+
super(
|
|
198
|
+
"proxy_error",
|
|
199
|
+
`Error proxying ${operation}, this is likely an internal error: ${error}`,
|
|
200
|
+
{
|
|
201
|
+
public: true,
|
|
202
|
+
cause: error
|
|
203
|
+
}
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
var InvalidActionRequest = class extends ActorError {
|
|
208
|
+
constructor(message) {
|
|
209
|
+
super("invalid_action_request", message, { public: true });
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
var InvalidParams = class extends ActorError {
|
|
213
|
+
constructor(message) {
|
|
214
|
+
super("invalid_params", message, { public: true });
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
var Unauthorized = class extends ActorError {
|
|
218
|
+
constructor(message) {
|
|
219
|
+
super(
|
|
220
|
+
"unauthorized",
|
|
221
|
+
message ?? "Unauthorized. Access denied. (https://www.rivet.gg/docs/actors/authentication/)",
|
|
222
|
+
{
|
|
223
|
+
public: true
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
this.statusCode = 401;
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
var Forbidden = class extends ActorError {
|
|
230
|
+
constructor(message, opts) {
|
|
231
|
+
super(
|
|
232
|
+
"forbidden",
|
|
233
|
+
message ?? "Forbidden. Access denied. (https://www.rivet.gg/docs/actors/authentication/)",
|
|
234
|
+
{
|
|
235
|
+
public: true,
|
|
236
|
+
metadata: opts == null ? void 0 : opts.metadata
|
|
237
|
+
}
|
|
238
|
+
);
|
|
239
|
+
this.statusCode = 403;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
var DatabaseNotEnabled = class extends ActorError {
|
|
243
|
+
constructor() {
|
|
244
|
+
super(
|
|
245
|
+
"database_not_enabled",
|
|
246
|
+
"Database not enabled. Must implement `database` to use database."
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
var FetchHandlerNotDefined = class extends ActorError {
|
|
251
|
+
constructor() {
|
|
252
|
+
super(
|
|
253
|
+
"fetch_handler_not_defined",
|
|
254
|
+
"Raw HTTP handler not defined. Actor must implement `onFetch` to handle raw HTTP requests. (https://www.rivet.gg/docs/actors/fetch-and-websocket-handler/)",
|
|
255
|
+
{ public: true }
|
|
256
|
+
);
|
|
257
|
+
this.statusCode = 404;
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
var WebSocketHandlerNotDefined = class extends ActorError {
|
|
261
|
+
constructor() {
|
|
262
|
+
super(
|
|
263
|
+
"websocket_handler_not_defined",
|
|
264
|
+
"Raw WebSocket handler not defined. Actor must implement `onWebSocket` to handle raw WebSocket connections. (https://www.rivet.gg/docs/actors/fetch-and-websocket-handler/)",
|
|
265
|
+
{ public: true }
|
|
266
|
+
);
|
|
267
|
+
this.statusCode = 404;
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
var InvalidFetchResponse = class extends ActorError {
|
|
271
|
+
constructor() {
|
|
272
|
+
super(
|
|
273
|
+
"invalid_fetch_response",
|
|
274
|
+
"Actor's onFetch handler must return a Response object. Returning void/undefined is not allowed. (https://www.rivet.gg/docs/actors/fetch-and-websocket-handler/)",
|
|
275
|
+
{ public: true }
|
|
276
|
+
);
|
|
277
|
+
this.statusCode = 500;
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
export {
|
|
282
|
+
INTERNAL_ERROR_CODE,
|
|
283
|
+
INTERNAL_ERROR_DESCRIPTION,
|
|
284
|
+
USER_ERROR_CODE,
|
|
285
|
+
ActorError,
|
|
286
|
+
InternalError,
|
|
287
|
+
Unreachable,
|
|
288
|
+
StateNotEnabled,
|
|
289
|
+
ConnStateNotEnabled,
|
|
290
|
+
VarsNotEnabled,
|
|
291
|
+
ActionTimedOut,
|
|
292
|
+
ActionNotFound,
|
|
293
|
+
InvalidEncoding,
|
|
294
|
+
ConnNotFound,
|
|
295
|
+
IncorrectConnToken,
|
|
296
|
+
MessageTooLong,
|
|
297
|
+
MalformedMessage,
|
|
298
|
+
InvalidStateType,
|
|
299
|
+
Unsupported,
|
|
300
|
+
UserError,
|
|
301
|
+
InvalidQueryJSON,
|
|
302
|
+
InvalidRequest,
|
|
303
|
+
ActorNotFound,
|
|
304
|
+
ActorAlreadyExists,
|
|
305
|
+
ProxyError,
|
|
306
|
+
InvalidActionRequest,
|
|
307
|
+
InvalidParams,
|
|
308
|
+
Unauthorized,
|
|
309
|
+
Forbidden,
|
|
310
|
+
DatabaseNotEnabled,
|
|
311
|
+
FetchHandlerNotDefined,
|
|
312
|
+
WebSocketHandlerNotDefined,
|
|
313
|
+
InvalidFetchResponse
|
|
314
|
+
};
|
|
315
|
+
//# sourceMappingURL=chunk-INGJP237.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/actor/errors.ts"],"sourcesContent":["import type { DeconstructedError } from \"@/common/utils\";\n\nexport const INTERNAL_ERROR_CODE = \"internal_error\";\nexport const INTERNAL_ERROR_DESCRIPTION =\n\t\"Internal error. Read the server logs for more details.\";\nexport type InternalErrorMetadata = {};\n\nexport const USER_ERROR_CODE = \"user_error\";\n\ninterface ActorErrorOptions extends ErrorOptions {\n\t/** Error data can safely be serialized in a response to the client. */\n\tpublic?: boolean;\n\t/** Metadata associated with this error. This will be sent to clients. */\n\tmetadata?: unknown;\n}\n\nexport class ActorError extends Error {\n\t__type = \"ActorError\";\n\n\tpublic public: boolean;\n\tpublic metadata?: unknown;\n\tpublic statusCode = 500;\n\n\tpublic static isActorError(\n\t\terror: unknown,\n\t): error is ActorError | DeconstructedError {\n\t\treturn (\n\t\t\ttypeof error === \"object\" &&\n\t\t\t(error as ActorError | DeconstructedError).__type === \"ActorError\"\n\t\t);\n\t}\n\n\tconstructor(\n\t\tpublic readonly code: string,\n\t\tmessage: string,\n\t\topts?: ActorErrorOptions,\n\t) {\n\t\tsuper(message, { cause: opts?.cause });\n\t\tthis.public = opts?.public ?? false;\n\t\tthis.metadata = opts?.metadata;\n\n\t\t// Set status code based on error type\n\t\tif (opts?.public) {\n\t\t\tthis.statusCode = 400; // Bad request for public errors\n\t\t}\n\t}\n\n\ttoString() {\n\t\t// Force stringify to return the message\n\t\treturn this.message;\n\t}\n\n\t/**\n\t * Serialize error for HTTP response\n\t */\n\tserializeForHttp() {\n\t\treturn {\n\t\t\ttype: this.code,\n\t\t\tmessage: this.message,\n\t\t\tmetadata: this.metadata,\n\t\t};\n\t}\n}\n\nexport class InternalError extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(INTERNAL_ERROR_CODE, message);\n\t}\n}\n\nexport class Unreachable extends InternalError {\n\tconstructor(x: never) {\n\t\tsuper(`Unreachable case: ${x}`);\n\t}\n}\n\nexport class StateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"state_not_enabled\",\n\t\t\t\"State not enabled. Must implement `createState` or `state` to use state. (https://www.rivet.gg/docs/actors/state/#initializing-state)\",\n\t\t);\n\t}\n}\n\nexport class ConnStateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"conn_state_not_enabled\",\n\t\t\t\"Connection state not enabled. Must implement `createConnectionState` or `connectionState` to use connection state. (https://www.rivet.gg/docs/actors/connections/#connection-state)\",\n\t\t);\n\t}\n}\n\nexport class VarsNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"vars_not_enabled\",\n\t\t\t\"Variables not enabled. Must implement `createVars` or `vars` to use state. (https://www.rivet.gg/docs/actors/ephemeral-variables/#initializing-variables)\",\n\t\t);\n\t}\n}\n\nexport class ActionTimedOut extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"action_timed_out\",\n\t\t\t\"Action timed out. This can be increased with: `actor({ options: { action: { timeout: ... } } })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActionNotFound extends ActorError {\n\tconstructor(name: string) {\n\t\tsuper(\n\t\t\t\"action_not_found\",\n\t\t\t`Action '${name}' not found. Validate the action exists on your actor.`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class InvalidEncoding extends ActorError {\n\tconstructor(format?: string) {\n\t\tsuper(\n\t\t\t\"invalid_encoding\",\n\t\t\t`Invalid encoding \\`${format}\\`. (https://www.rivet.gg/docs/actors/clients/#actor-client)`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class ConnNotFound extends ActorError {\n\tconstructor(id?: string) {\n\t\tsuper(\"conn_not_found\", `Connection not found for ID: ${id}`, {\n\t\t\tpublic: true,\n\t\t});\n\t}\n}\n\nexport class IncorrectConnToken extends ActorError {\n\tconstructor() {\n\t\tsuper(\"incorrect_conn_token\", \"Incorrect connection token.\", {\n\t\t\tpublic: true,\n\t\t});\n\t}\n}\n\nexport class MessageTooLong extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"message_too_long\",\n\t\t\t\"Message too long. This can be configured with: `registry.runServer({ maxIncomingMessageSize: ... })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class MalformedMessage extends ActorError {\n\tconstructor(cause?: unknown) {\n\t\tsuper(\"malformed_message\", `Malformed message: ${cause}`, {\n\t\t\tpublic: true,\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport interface InvalidStateTypeOptions {\n\tpath?: unknown;\n}\n\nexport class InvalidStateType extends ActorError {\n\tconstructor(opts?: InvalidStateTypeOptions) {\n\t\tlet msg = \"\";\n\t\tif (opts?.path) {\n\t\t\tmsg += `Attempted to set invalid state at path \\`${opts.path}\\`.`;\n\t\t} else {\n\t\t\tmsg += \"Attempted to set invalid state.\";\n\t\t}\n\t\tmsg +=\n\t\t\t\" Valid types include: null, undefined, boolean, string, number, BigInt, Date, RegExp, Error, typed arrays (Uint8Array, Int8Array, Float32Array, etc.), Map, Set, Array, and plain objects. (https://www.rivet.gg/docs/actors/state/#limitations)\";\n\t\tsuper(\"invalid_state_type\", msg);\n\t}\n}\n\nexport class Unsupported extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\"unsupported\", `Unsupported feature: ${feature}`);\n\t}\n}\n\n/**\n * Options for the UserError class.\n */\nexport interface UserErrorOptions extends ErrorOptions {\n\t/**\n\t * Machine readable code for this error. Useful for catching different types of errors in try-catch.\n\t */\n\tcode?: string;\n\n\t/**\n\t * Additional metadata related to the error. Useful for understanding context about the error.\n\t */\n\tmetadata?: unknown;\n}\n\n/** Error that can be safely returned to the user. */\nexport class UserError extends ActorError {\n\t/**\n\t * Constructs a new UserError instance.\n\t *\n\t * @param message - The error message to be displayed.\n\t * @param opts - Optional parameters for the error, including a machine-readable code and additional metadata.\n\t */\n\tconstructor(message: string, opts?: UserErrorOptions) {\n\t\tsuper(opts?.code ?? USER_ERROR_CODE, message, {\n\t\t\tpublic: true,\n\t\t\tmetadata: opts?.metadata,\n\t\t});\n\t}\n}\n\nexport class InvalidQueryJSON extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"invalid_query_json\", `Invalid query JSON: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class InvalidRequest extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"invalid_request\", `Invalid request: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class ActorNotFound extends ActorError {\n\tconstructor(identifier?: string) {\n\t\tsuper(\n\t\t\t\"actor_not_found\",\n\t\t\tidentifier\n\t\t\t\t? `Actor not found: ${identifier} (https://www.rivet.gg/docs/actors/clients/#actor-client)`\n\t\t\t\t: \"Actor not found (https://www.rivet.gg/docs/actors/clients/#actor-client)\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActorAlreadyExists extends ActorError {\n\tconstructor(name: string, key: string[]) {\n\t\tsuper(\n\t\t\t\"actor_already_exists\",\n\t\t\t`Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.gg/docs/actors/clients/#actor-client)`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ProxyError extends ActorError {\n\tconstructor(operation: string, error?: unknown) {\n\t\tsuper(\n\t\t\t\"proxy_error\",\n\t\t\t`Error proxying ${operation}, this is likely an internal error: ${error}`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tcause: error,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class InvalidActionRequest extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"invalid_action_request\", message, { public: true });\n\t}\n}\n\nexport class InvalidParams extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"invalid_params\", message, { public: true });\n\t}\n}\n\nexport class Unauthorized extends ActorError {\n\tconstructor(message?: string) {\n\t\tsuper(\n\t\t\t\"unauthorized\",\n\t\t\tmessage ??\n\t\t\t\t\"Unauthorized. Access denied. (https://www.rivet.gg/docs/actors/authentication/)\",\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t\tthis.statusCode = 401;\n\t}\n}\n\nexport class Forbidden extends ActorError {\n\tconstructor(message?: string, opts?: { metadata?: unknown }) {\n\t\tsuper(\n\t\t\t\"forbidden\",\n\t\t\tmessage ??\n\t\t\t\t\"Forbidden. Access denied. (https://www.rivet.gg/docs/actors/authentication/)\",\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tmetadata: opts?.metadata,\n\t\t\t},\n\t\t);\n\t\tthis.statusCode = 403;\n\t}\n}\n\nexport class DatabaseNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"database_not_enabled\",\n\t\t\t\"Database not enabled. Must implement `database` to use database.\",\n\t\t);\n\t}\n}\n\nexport class FetchHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"fetch_handler_not_defined\",\n\t\t\t\"Raw HTTP handler not defined. Actor must implement `onFetch` to handle raw HTTP requests. (https://www.rivet.gg/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class WebSocketHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"websocket_handler_not_defined\",\n\t\t\t\"Raw WebSocket handler not defined. Actor must implement `onWebSocket` to handle raw WebSocket connections. (https://www.rivet.gg/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class InvalidFetchResponse extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"invalid_fetch_response\",\n\t\t\t\"Actor's onFetch handler must return a Response object. Returning void/undefined is not allowed. (https://www.rivet.gg/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 500;\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PERSISTED_ACTOR_VERSIONED
|
|
3
|
+
} from "./chunk-VRRHBNJC.js";
|
|
4
|
+
import {
|
|
5
|
+
HEADER_ACTOR_QUERY
|
|
6
|
+
} from "./chunk-4NSUQZ2H.js";
|
|
7
|
+
import {
|
|
8
|
+
bufferToArrayBuffer,
|
|
9
|
+
getEnvUniversal
|
|
10
|
+
} from "./chunk-3H7O2A7I.js";
|
|
11
|
+
|
|
12
|
+
// src/registry/run-config.ts
|
|
13
|
+
import { z as z2 } from "zod";
|
|
14
|
+
|
|
15
|
+
// src/inspector/config.ts
|
|
16
|
+
import { z } from "zod";
|
|
17
|
+
var defaultTokenFn = () => {
|
|
18
|
+
const envToken = getEnvUniversal("RIVETKIT_INSPECTOR_TOKEN");
|
|
19
|
+
if (envToken) {
|
|
20
|
+
return envToken;
|
|
21
|
+
}
|
|
22
|
+
return "";
|
|
23
|
+
};
|
|
24
|
+
var defaultEnabled = () => {
|
|
25
|
+
return getEnvUniversal("NODE_ENV") !== "production" || !getEnvUniversal("RIVETKIT_INSPECTOR_DISABLE");
|
|
26
|
+
};
|
|
27
|
+
var defaultInspectorOrigins = [
|
|
28
|
+
"http://localhost:43708",
|
|
29
|
+
"https://studio.rivet.gg"
|
|
30
|
+
];
|
|
31
|
+
var defaultCors = {
|
|
32
|
+
origin: (origin) => {
|
|
33
|
+
if (defaultInspectorOrigins.includes(origin) || origin.startsWith("https://") && origin.endsWith("rivet-gg.vercel.app")) {
|
|
34
|
+
return origin;
|
|
35
|
+
} else {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
allowMethods: ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"],
|
|
40
|
+
allowHeaders: [
|
|
41
|
+
"Content-Type",
|
|
42
|
+
"Authorization",
|
|
43
|
+
HEADER_ACTOR_QUERY,
|
|
44
|
+
"last-event-id"
|
|
45
|
+
],
|
|
46
|
+
maxAge: 3600,
|
|
47
|
+
credentials: true
|
|
48
|
+
};
|
|
49
|
+
var InspectorConfigSchema = z.object({
|
|
50
|
+
enabled: z.boolean().optional().default(defaultEnabled),
|
|
51
|
+
/** CORS configuration for the router. Uses Hono's CORS middleware options. */
|
|
52
|
+
cors: z.custom().optional().default(() => defaultCors),
|
|
53
|
+
/**
|
|
54
|
+
* Token used to access the Inspector.
|
|
55
|
+
*/
|
|
56
|
+
token: z.function().returns(z.string()).optional().default(() => defaultTokenFn),
|
|
57
|
+
/**
|
|
58
|
+
* Default RivetKit server endpoint for Rivet Inspector to connect to. This should be the same endpoint as what you use for your Rivet client to connect to RivetKit.
|
|
59
|
+
*
|
|
60
|
+
* This is a convenience property just for printing out the inspector URL.
|
|
61
|
+
*/
|
|
62
|
+
defaultEndpoint: z.string().optional()
|
|
63
|
+
}).optional().default(() => ({
|
|
64
|
+
enabled: defaultEnabled(),
|
|
65
|
+
token: defaultTokenFn,
|
|
66
|
+
cors: defaultCors
|
|
67
|
+
}));
|
|
68
|
+
|
|
69
|
+
// src/registry/run-config.ts
|
|
70
|
+
var DriverConfigSchema = z2.object({
|
|
71
|
+
/** Machine-readable name to identify this driver by. */
|
|
72
|
+
name: z2.string(),
|
|
73
|
+
manager: z2.custom(),
|
|
74
|
+
actor: z2.custom()
|
|
75
|
+
});
|
|
76
|
+
var RunConfigSchema = z2.object({
|
|
77
|
+
driver: DriverConfigSchema.optional(),
|
|
78
|
+
/** Endpoint to connect to the Rivet engine. Can be configured via RIVET_ENGINE env var. */
|
|
79
|
+
engine: z2.string().optional(),
|
|
80
|
+
// This is a function to allow for lazy configuration of upgradeWebSocket on the
|
|
81
|
+
// fly. This is required since the dependencies that profie upgradeWebSocket
|
|
82
|
+
// (specifically Node.js) can sometimes only be specified after the router is
|
|
83
|
+
// created or must be imported async using `await import(...)`
|
|
84
|
+
getUpgradeWebSocket: z2.custom().optional(),
|
|
85
|
+
role: z2.enum(["all", "server", "runner"]).optional().default("all"),
|
|
86
|
+
/** CORS configuration for the router. Uses Hono's CORS middleware options. */
|
|
87
|
+
cors: z2.custom().optional(),
|
|
88
|
+
maxIncomingMessageSize: z2.number().optional().default(65536),
|
|
89
|
+
inspector: InspectorConfigSchema,
|
|
90
|
+
/**
|
|
91
|
+
* Base path for the router. This is used to prefix all routes.
|
|
92
|
+
* For example, if the base path is `/api`, then the route `/actors` will be
|
|
93
|
+
* available at `/api/actors`.
|
|
94
|
+
*/
|
|
95
|
+
basePath: z2.string().optional().default("/")
|
|
96
|
+
}).default({});
|
|
97
|
+
|
|
98
|
+
// src/driver-helpers/utils.ts
|
|
99
|
+
import * as cbor from "cbor-x";
|
|
100
|
+
function serializeEmptyPersistData(input) {
|
|
101
|
+
const persistData = {
|
|
102
|
+
input: input !== void 0 ? bufferToArrayBuffer(cbor.encode(input)) : null,
|
|
103
|
+
hasInitialized: false,
|
|
104
|
+
state: bufferToArrayBuffer(cbor.encode(void 0)),
|
|
105
|
+
connections: [],
|
|
106
|
+
scheduledEvents: []
|
|
107
|
+
};
|
|
108
|
+
return PERSISTED_ACTOR_VERSIONED.serializeWithEmbeddedVersion(persistData);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export {
|
|
112
|
+
DriverConfigSchema,
|
|
113
|
+
RunConfigSchema,
|
|
114
|
+
serializeEmptyPersistData
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=chunk-KJCJLKRM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/registry/run-config.ts","../../src/inspector/config.ts","../../src/driver-helpers/utils.ts"],"sourcesContent":["import type { cors } from \"hono/cors\";\nimport { z } from \"zod\";\nimport type { ActorDriverBuilder } from \"@/actor/driver\";\nimport { InspectorConfigSchema } from \"@/inspector/config\";\nimport type { ManagerDriverBuilder } from \"@/manager/driver\";\nimport type { UpgradeWebSocket } from \"@/utils\";\n\ntype CorsOptions = NonNullable<Parameters<typeof cors>[0]>;\n\nexport type GetUpgradeWebSocket = () => UpgradeWebSocket;\n\nexport const DriverConfigSchema = z.object({\n\t/** Machine-readable name to identify this driver by. */\n\tname: z.string(),\n\tmanager: z.custom<ManagerDriverBuilder>(),\n\tactor: z.custom<ActorDriverBuilder>(),\n});\n\nexport type DriverConfig = z.infer<typeof DriverConfigSchema>;\n\n/** Base config used for the actor config across all platforms. */\nexport const RunConfigSchema = z\n\t.object({\n\t\tdriver: DriverConfigSchema.optional(),\n\n\t\t/** Endpoint to connect to the Rivet engine. Can be configured via RIVET_ENGINE env var. */\n\t\tengine: z.string().optional(),\n\n\t\t// This is a function to allow for lazy configuration of upgradeWebSocket on the\n\t\t// fly. This is required since the dependencies that profie upgradeWebSocket\n\t\t// (specifically Node.js) can sometimes only be specified after the router is\n\t\t// created or must be imported async using `await import(...)`\n\t\tgetUpgradeWebSocket: z.custom<GetUpgradeWebSocket>().optional(),\n\n\t\trole: z.enum([\"all\", \"server\", \"runner\"]).optional().default(\"all\"),\n\n\t\t/** CORS configuration for the router. Uses Hono's CORS middleware options. */\n\t\tcors: z.custom<CorsOptions>().optional(),\n\n\t\tmaxIncomingMessageSize: z.number().optional().default(65_536),\n\n\t\tinspector: InspectorConfigSchema,\n\n\t\t/**\n\t\t * Base path for the router. This is used to prefix all routes.\n\t\t * For example, if the base path is `/api`, then the route `/actors` will be\n\t\t * available at `/api/actors`.\n\t\t */\n\t\tbasePath: z.string().optional().default(\"/\"),\n\t})\n\t.default({});\n\nexport type RunConfig = z.infer<typeof RunConfigSchema>;\nexport type RunConfigInput = z.input<typeof RunConfigSchema>;\n","import type { cors } from \"hono/cors\";\nimport { z } from \"zod\";\nimport { HEADER_ACTOR_QUERY } from \"@/driver-helpers/mod\";\nimport { getEnvUniversal } from \"@/utils\";\n\ntype CorsOptions = NonNullable<Parameters<typeof cors>[0]>;\n\nconst defaultTokenFn = () => {\n\tconst envToken = getEnvUniversal(\"RIVETKIT_INSPECTOR_TOKEN\");\n\n\tif (envToken) {\n\t\treturn envToken;\n\t}\n\n\treturn \"\";\n};\n\nconst defaultEnabled = () => {\n\treturn (\n\t\tgetEnvUniversal(\"NODE_ENV\") !== \"production\" ||\n\t\t!getEnvUniversal(\"RIVETKIT_INSPECTOR_DISABLE\")\n\t);\n};\n\nconst defaultInspectorOrigins = [\n\t\"http://localhost:43708\",\n\t\"https://studio.rivet.gg\",\n];\n\nconst defaultCors: CorsOptions = {\n\torigin: (origin) => {\n\t\tif (\n\t\t\tdefaultInspectorOrigins.includes(origin) ||\n\t\t\t(origin.startsWith(\"https://\") && origin.endsWith(\"rivet-gg.vercel.app\"))\n\t\t) {\n\t\t\treturn origin;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t},\n\tallowMethods: [\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", \"OPTIONS\"],\n\tallowHeaders: [\n\t\t\"Content-Type\",\n\t\t\"Authorization\",\n\t\tHEADER_ACTOR_QUERY,\n\t\t\"last-event-id\",\n\t],\n\tmaxAge: 3600,\n\tcredentials: true,\n};\n\nexport const InspectorConfigSchema = z\n\t.object({\n\t\tenabled: z.boolean().optional().default(defaultEnabled),\n\t\t/** CORS configuration for the router. Uses Hono's CORS middleware options. */\n\t\tcors: z\n\t\t\t.custom<CorsOptions>()\n\t\t\t.optional()\n\t\t\t.default(() => defaultCors),\n\n\t\t/**\n\t\t * Token used to access the Inspector.\n\t\t */\n\t\ttoken: z\n\t\t\t.function()\n\t\t\t.returns(z.string())\n\t\t\t.optional()\n\t\t\t.default(() => defaultTokenFn),\n\n\t\t/**\n\t\t * Default RivetKit server endpoint for Rivet Inspector to connect to. This should be the same endpoint as what you use for your Rivet client to connect to RivetKit.\n\t\t *\n\t\t * This is a convenience property just for printing out the inspector URL.\n\t\t */\n\t\tdefaultEndpoint: z.string().optional(),\n\t})\n\t.optional()\n\t.default(() => ({\n\t\tenabled: defaultEnabled(),\n\t\ttoken: defaultTokenFn,\n\t\tcors: defaultCors,\n\t}));\nexport type InspectorConfig = z.infer<typeof InspectorConfigSchema>;\n","import * as cbor from \"cbor-x\";\nimport type * as schema from \"@/schemas/actor-persist/mod\";\nimport { PERSISTED_ACTOR_VERSIONED } from \"@/schemas/actor-persist/versioned\";\nimport { bufferToArrayBuffer } from \"@/utils\";\n\nexport function serializeEmptyPersistData(\n\tinput: unknown | undefined,\n): Uint8Array {\n\tconst persistData: schema.PersistedActor = {\n\t\tinput: input !== undefined ? bufferToArrayBuffer(cbor.encode(input)) : null,\n\t\thasInitialized: false,\n\t\tstate: bufferToArrayBuffer(cbor.encode(undefined)),\n\t\tconnections: [],\n\t\tscheduledEvents: [],\n\t};\n\treturn PERSISTED_ACTOR_VERSIONED.serializeWithEmbeddedVersion(persistData);\n}\n"],"mappings":";;;;;;;;;;;;AACA,SAAS,KAAAA,UAAS;;;ACAlB,SAAS,SAAS;AAMlB,IAAM,iBAAiB,MAAM;AAC5B,QAAM,WAAW,gBAAgB,0BAA0B;AAE3D,MAAI,UAAU;AACb,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AAEA,IAAM,iBAAiB,MAAM;AAC5B,SACC,gBAAgB,UAAU,MAAM,gBAChC,CAAC,gBAAgB,4BAA4B;AAE/C;AAEA,IAAM,0BAA0B;AAAA,EAC/B;AAAA,EACA;AACD;AAEA,IAAM,cAA2B;AAAA,EAChC,QAAQ,CAAC,WAAW;AACnB,QACC,wBAAwB,SAAS,MAAM,KACtC,OAAO,WAAW,UAAU,KAAK,OAAO,SAAS,qBAAqB,GACtE;AACD,aAAO;AAAA,IACR,OAAO;AACN,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,cAAc,CAAC,OAAO,QAAQ,OAAO,SAAS,UAAU,SAAS;AAAA,EACjE,cAAc;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACA,QAAQ;AAAA,EACR,aAAa;AACd;AAEO,IAAM,wBAAwB,EACnC,OAAO;AAAA,EACP,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,cAAc;AAAA;AAAA,EAEtD,MAAM,EACJ,OAAoB,EACpB,SAAS,EACT,QAAQ,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA,EAK3B,OAAO,EACL,SAAS,EACT,QAAQ,EAAE,OAAO,CAAC,EAClB,SAAS,EACT,QAAQ,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AACtC,CAAC,EACA,SAAS,EACT,QAAQ,OAAO;AAAA,EACf,SAAS,eAAe;AAAA,EACxB,OAAO;AAAA,EACP,MAAM;AACP,EAAE;;;ADtEI,IAAM,qBAAqBC,GAAE,OAAO;AAAA;AAAA,EAE1C,MAAMA,GAAE,OAAO;AAAA,EACf,SAASA,GAAE,OAA6B;AAAA,EACxC,OAAOA,GAAE,OAA2B;AACrC,CAAC;AAKM,IAAM,kBAAkBA,GAC7B,OAAO;AAAA,EACP,QAAQ,mBAAmB,SAAS;AAAA;AAAA,EAGpC,QAAQA,GAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,qBAAqBA,GAAE,OAA4B,EAAE,SAAS;AAAA,EAE9D,MAAMA,GAAE,KAAK,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,KAAK;AAAA;AAAA,EAGlE,MAAMA,GAAE,OAAoB,EAAE,SAAS;AAAA,EAEvC,wBAAwBA,GAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAM;AAAA,EAE5D,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOX,UAAUA,GAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG;AAC5C,CAAC,EACA,QAAQ,CAAC,CAAC;;;AElDZ,YAAY,UAAU;AAKf,SAAS,0BACf,OACa;AACb,QAAM,cAAqC;AAAA,IAC1C,OAAO,UAAU,SAAY,oBAAyB,YAAO,KAAK,CAAC,IAAI;AAAA,IACvE,gBAAgB;AAAA,IAChB,OAAO,oBAAyB,YAAO,MAAS,CAAC;AAAA,IACjD,aAAa,CAAC;AAAA,IACd,iBAAiB,CAAC;AAAA,EACnB;AACA,SAAO,0BAA0B,6BAA6B,WAAW;AAC1E;","names":["z","z"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/inspector/protocol/actor.ts
|
|
2
|
+
var _client = require('hono/client');
|
|
3
|
+
var client = _client.hc.call(void 0, "");
|
|
4
|
+
var createActorInspectorClient = (...args) => _client.hc.call(void 0, ...args);
|
|
5
|
+
|
|
6
|
+
// src/inspector/protocol/manager.ts
|
|
7
|
+
|
|
8
|
+
var client2 = _client.hc.call(void 0, "");
|
|
9
|
+
var createManagerInspectorClient = (...args) => _client.hc.call(void 0, ...args);
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
exports.createActorInspectorClient = createActorInspectorClient; exports.createManagerInspectorClient = createManagerInspectorClient;
|
|
15
|
+
//# sourceMappingURL=chunk-KUPQZYUQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-KUPQZYUQ.cjs","../../src/inspector/protocol/actor.ts","../../src/inspector/protocol/manager.ts"],"names":["client","hc"],"mappings":"AAAA;ACAA,qCAAmB;AAInB,IAAM,OAAA,EAAS,wBAAA,EAA2B,CAAA;AAGnC,IAAM,2BAAA,EAA6B,CAAA,GACtC,IAAA,EAAA,GACuB,wBAAA,GAA4B,IAAI,CAAA;ADL3D;AACA;AELA;AAIA,IAAMA,QAAAA,EAASC,wBAAAA,EAA6B,CAAA;AAGrC,IAAM,6BAAA,EAA+B,CAAA,GACxC,IAAA,EAAA,GACyBA,wBAAAA,GAA8B,IAAI,CAAA;AFA/D;AACA;AACE;AACA;AACF,qIAAC","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-KUPQZYUQ.cjs","sourcesContent":[null,"import { hc } from \"hono/client\";\nimport type { createActorInspectorRouter } from \"../actor\";\n\ntype ActorInspectorRouter = ReturnType<typeof createActorInspectorRouter>;\nconst client = hc<ActorInspectorRouter>(\"\");\nexport type ActorInspectorClient = typeof client;\n\nexport const createActorInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ActorInspectorClient => hc<ActorInspectorRouter>(...args);\n","import { hc } from \"hono/client\";\nimport type { createManagerInspectorRouter } from \"../manager\";\n\ntype ManagerInspectorRouter = ReturnType<typeof createManagerInspectorRouter>;\nconst client = hc<ManagerInspectorRouter>(\"\");\nexport type ManagerInspectorClient = typeof client;\n\nexport const createManagerInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ManagerInspectorClient => hc<ManagerInspectorRouter>(...args);\n"]}
|