Skip to content

Commit b150344

Browse files
committed
fix: log error on failed inspector requests
1 parent e506879 commit b150344

9 files changed

Lines changed: 46 additions & 32 deletions

File tree

engine/sdks/typescript/runner/src/mod.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,14 +1214,14 @@ export class Runner {
12141214
await this.#config.onActorStart(actorId, generation, actorConfig);
12151215

12161216
instance.actorStartPromise.resolve();
1217-
} catch (err) {
1217+
} catch (error) {
12181218
this.log?.error({
12191219
msg: "error starting runner actor",
12201220
actorId,
1221-
err,
1221+
error,
12221222
});
12231223

1224-
instance.actorStartPromise.reject(err);
1224+
instance.actorStartPromise.reject(error);
12251225

12261226
// TODO: Mark as crashed
12271227
// Send stopped state update if start failed

engine/sdks/typescript/test-runner/src/log.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export async function configureDefaultLogger(): Promise<void> {
8585
baseLogger = pino({
8686
level: getPinoLevel(),
8787
messageKey: "msg",
88+
errorKey: "error",
8889
// Do not include pid/hostname in output
8990
base: {},
9091
// Keep a string level in the output

rivetkit-typescript/packages/engine-runner/src/mod.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,14 +1178,14 @@ export class Runner {
11781178
await this.#config.onActorStart(actorId, generation, actorConfig);
11791179

11801180
instance.actorStartPromise.resolve();
1181-
} catch (err) {
1181+
} catch (error) {
11821182
this.log?.error({
11831183
msg: "error starting runner actor",
11841184
actorId,
1185-
err,
1185+
error,
11861186
});
11871187

1188-
instance.actorStartPromise.reject(err);
1188+
instance.actorStartPromise.reject(error);
11891189

11901190
// TODO: Mark as crashed
11911191
// Send stopped state update if start failed

rivetkit-typescript/packages/rivetkit/src/agent-os/actor/session.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,11 @@ export function subscribeToSession<TConnParams>(
140140
);
141141

142142
// Persist event to SQLite for sleep/wake recovery.
143-
persistSessionEvent(c, sessionId, event).catch((err) =>
143+
persistSessionEvent(c, sessionId, event).catch((error) =>
144144
c.log.error({
145145
msg: "agent-os failed to persist session event",
146146
sessionId,
147-
error: err,
147+
error,
148148
}),
149149
);
150150

rivetkit-typescript/packages/rivetkit/src/common/inline-websocket-adapter.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -161,28 +161,28 @@ export class InlineWebSocketAdapter {
161161
}
162162
}
163163

164-
#handleError(err: unknown): void {
165-
console.error("INLINE_WEBSOCKET_ADAPTER_ERROR", err);
164+
#handleError(error: unknown): void {
165+
console.error("INLINE_WEBSOCKET_ADAPTER_ERROR", error);
166166
logger().error({
167167
msg: "error in websocket",
168-
error: err,
169-
errorMessage: err instanceof Error ? err.message : String(err),
170-
stack: err instanceof Error ? err.stack : undefined,
168+
error,
169+
errorMessage: error instanceof Error ? error.message : String(error),
170+
stack: error instanceof Error ? error.stack : undefined,
171171
});
172172

173173
// Call handler.onError
174174
try {
175-
this.#handler.onError(err, this.#wsContext);
176-
} catch (handlerErr) {
175+
this.#handler.onError(error, this.#wsContext);
176+
} catch (error) {
177177
logger().error({
178178
msg: "error in onError handler",
179-
error: handlerErr,
179+
error,
180180
});
181181
}
182182

183183
// Fire error event to both sides
184-
this.#clientWs.triggerError(err);
185-
this.#actorWs.triggerError(err);
184+
this.#clientWs.triggerError(error);
185+
this.#actorWs.triggerError(error);
186186
}
187187

188188
#close(code: number, reason: string): void {

rivetkit-typescript/packages/rivetkit/src/common/log.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ export function configureDefaultLogger(logLevel?: LogLevel) {
7676
messageKey: "msg",
7777
// Do not include pid/hostname in output
7878
base: {},
79+
errorKey: "error",
7980
// Keep the numeric level so the logfmt sink can match Pino's levels.
8081
formatters: {
8182
level(_label: string, number: number) {

rivetkit-typescript/packages/rivetkit/src/drivers/engine/actor-driver.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ export class EngineActorDriver implements ActorDriver {
284284
logger().debug({
285285
msg: "actor crash cleanup errored",
286286
actorId,
287-
err: stringifyError(err),
287+
error: stringifyError(err),
288288
});
289289
}
290290
}
@@ -1346,7 +1346,7 @@ export class EngineActorDriver implements ActorDriver {
13461346
logger().warn({
13471347
msg: "failed to rebind dynamic hibernatable runner websocket",
13481348
actorId,
1349-
err: stringifyError(result.reason),
1349+
error: stringifyError(result.reason),
13501350
});
13511351
}
13521352
}
@@ -1369,7 +1369,7 @@ export class EngineActorDriver implements ActorDriver {
13691369
logger().warn({
13701370
msg: "failed to rebind hibernatable connect socket",
13711371
actorId,
1372-
err: stringifyError(result.reason),
1372+
error: stringifyError(result.reason),
13731373
});
13741374
}
13751375
}
@@ -1629,7 +1629,7 @@ export class EngineActorDriver implements ActorDriver {
16291629
logger().warn({
16301630
msg: "failed to restore dynamic hibernating requests after actor start",
16311631
actorId,
1632-
err: stringifyError(error),
1632+
error: stringifyError(error),
16331633
});
16341634
}
16351635
} else if (isStaticActorDefinition(definition)) {
@@ -1696,7 +1696,7 @@ export class EngineActorDriver implements ActorDriver {
16961696
logger().debug({
16971697
msg: "failed to dispose dynamic runtime after actor start failure",
16981698
actorId,
1699-
err: stringifyError(disposeError),
1699+
error: stringifyError(disposeError),
17001700
});
17011701
}
17021702
this.#dynamicRuntimes.delete(actorId);
@@ -1719,7 +1719,7 @@ export class EngineActorDriver implements ActorDriver {
17191719
actorId,
17201720
name,
17211721
key,
1722-
err: stringifyError(error),
1722+
error: stringifyError(error),
17231723
});
17241724

17251725
try {
@@ -1728,7 +1728,7 @@ export class EngineActorDriver implements ActorDriver {
17281728
logger().debug({
17291729
msg: "failed to stop actor after start failure",
17301730
actorId,
1731-
err: stringifyError(stopError),
1731+
error: stringifyError(stopError),
17321732
});
17331733
}
17341734
}
@@ -1775,7 +1775,7 @@ export class EngineActorDriver implements ActorDriver {
17751775
logger().debug({
17761776
msg: "actor start failed during stop, cleaning up handler",
17771777
actorId,
1778-
err: stringifyError(err),
1778+
error: stringifyError(err),
17791779
});
17801780
}
17811781
}
@@ -1793,7 +1793,7 @@ export class EngineActorDriver implements ActorDriver {
17931793
} catch (err) {
17941794
logger().error({
17951795
msg: "error in onStop, proceeding with removing actor",
1796-
err: stringifyError(err),
1796+
error: stringifyError(err),
17971797
});
17981798
}
17991799
}
@@ -1979,7 +1979,7 @@ export class EngineActorDriver implements ActorDriver {
19791979
isRestoringHibernatable,
19801980
);
19811981
} catch (err) {
1982-
logger().error({ msg: "building websocket handlers errored", err });
1982+
logger().error({ msg: "building websocket handlers errored", error: err });
19831983
websocketRaw.close(1011, "ws.route_error");
19841984
return;
19851985
}

rivetkit-typescript/packages/rivetkit/src/registry/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ export class Registry<A extends RegistryActors> {
317317
// rejection unhandled. Downstream awaits (e.g. #runShutdown's
318318
// Promise.race) attach their own catches and still observe
319319
// resolution via the race.
320-
logger().warn({ err }, "runtime registry serve errored");
320+
logger().warn({ error: err }, "runtime registry serve errored");
321321
});
322322
// Install signal handlers once an envoy lifecycle has begun. Only
323323
// Mode A ever reaches here. Mode B (handler(request)) intentionally
@@ -380,7 +380,7 @@ export class Registry<A extends RegistryActors> {
380380
config,
381381
configuredRegistryPromise,
382382
).catch((err) => {
383-
logger().warn({ err }, "shutdown error");
383+
logger().warn({ error: err }, "shutdown error");
384384
});
385385
}
386386

@@ -407,7 +407,7 @@ export class Registry<A extends RegistryActors> {
407407
await runtime.shutdownRegistry(registry);
408408
} catch (err) {
409409
logger().warn(
410-
{ err },
410+
{ error: err },
411411
"runtime registry shutdown errored (mode A)",
412412
);
413413
}
@@ -423,7 +423,7 @@ export class Registry<A extends RegistryActors> {
423423
await runtime.shutdownRegistry(registry);
424424
} catch (err) {
425425
logger().warn(
426-
{ err },
426+
{ error: err },
427427
"runtime registry shutdown errored (mode B)",
428428
);
429429
}

rivetkit-typescript/packages/rivetkit/src/registry/native.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3638,6 +3638,10 @@ export function buildNativeFactory(
36383638
getNativeWorkflowInspector(ctx) !== undefined,
36393639
});
36403640
} catch (error) {
3641+
logger().error({
3642+
msg: "error replaying workflow history",
3643+
error,
3644+
});
36413645
return errorResponse(error);
36423646
}
36433647
}
@@ -3817,6 +3821,10 @@ export function buildNativeFactory(
38173821
);
38183822
return jsonResponse({ output });
38193823
} catch (error) {
3824+
logger().error({
3825+
msg: "Error handling inspector action request",
3826+
error,
3827+
});
38203828
return errorResponse(error);
38213829
}
38223830
}
@@ -3831,6 +3839,10 @@ export function buildNativeFactory(
38313839
{ status: 404 },
38323840
);
38333841
} catch (error) {
3842+
logger().error({
3843+
msg: "Error handling inspector request",
3844+
error,
3845+
});
38343846
return errorResponse(error);
38353847
} finally {
38363848
await actorCtx.dispose();

0 commit comments

Comments
 (0)