From b6edeaf1c96fd836ef358836856462e14219c861 Mon Sep 17 00:00:00 2001 From: turisanapo Date: Thu, 4 Jun 2026 18:37:42 +0800 Subject: [PATCH] feat(rivetkit): expose actorOptions in agentOs config --- .../rivetkit/src/agent-os/actor/index.ts | 1 + .../packages/rivetkit/src/agent-os/config.ts | 23 +++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/rivetkit-typescript/packages/rivetkit/src/agent-os/actor/index.ts b/rivetkit-typescript/packages/rivetkit/src/agent-os/actor/index.ts index 9facc5fd39..c3ad1bb096 100644 --- a/rivetkit-typescript/packages/rivetkit/src/agent-os/actor/index.ts +++ b/rivetkit-typescript/packages/rivetkit/src/agent-os/actor/index.ts @@ -199,6 +199,7 @@ export function agentOs( options: { sleepGracePeriod: 900_000, actionTimeout: 900_000, + ...parsedConfig.actorOptions, }, createState: async () => ({}), createVars: () => ({ diff --git a/rivetkit-typescript/packages/rivetkit/src/agent-os/config.ts b/rivetkit-typescript/packages/rivetkit/src/agent-os/config.ts index a0ed59b30b..dea4833b66 100644 --- a/rivetkit-typescript/packages/rivetkit/src/agent-os/config.ts +++ b/rivetkit-typescript/packages/rivetkit/src/agent-os/config.ts @@ -4,7 +4,11 @@ import type { PermissionRequest, } from "@rivet-dev/agent-os-core"; import { z } from "zod/v4"; -import type { ActorContext, BeforeConnectContext } from "@/actor/config"; +import type { + ActorContext, + ActorOptionsInput, + BeforeConnectContext, +} from "@/actor/config"; import type { AgentOsActorState, AgentOsActorVars } from "./types"; const zFunction = < @@ -18,6 +22,9 @@ const AgentOsOptionsSchema = z.custom( export const agentOsActorConfigSchema = z .object({ options: AgentOsOptionsSchema.optional(), + actorOptions: z + .record(z.string(), z.unknown()) + .optional(), preview: z .object({ defaultExpiresInSeconds: z.number().positive().default(3600), @@ -67,13 +74,15 @@ interface AgentOsActorConfigCallbacks { // Parsed config (after Zod defaults/transforms applied). export type AgentOsActorConfig = Omit< z.infer, - "onBeforeConnect" | "onSessionEvent" | "onPermissionRequest" -> & - AgentOsActorConfigCallbacks; + "onBeforeConnect" | "onSessionEvent" | "onPermissionRequest" | "actorOptions" +> & { + actorOptions?: ActorOptionsInput; +} & AgentOsActorConfigCallbacks; // Input config (what users pass in before Zod transforms). export type AgentOsActorConfigInput = Omit< z.input, - "onBeforeConnect" | "onSessionEvent" | "onPermissionRequest" -> & - AgentOsActorConfigCallbacks; + "onBeforeConnect" | "onSessionEvent" | "onPermissionRequest" | "actorOptions" +> & { + actorOptions?: ActorOptionsInput; +} & AgentOsActorConfigCallbacks;