mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-21 11:04:42 +00:00
Major refactor replacing all queue-based workflow communication with direct RivetKit action calls across all actors. This works around a RivetKit bug where c.queue.iter() deadlocks for actors created from another actor's context. Key changes: - All actors (organization, task, user, audit-log, github-data) converted from run: workflow(...) to actions-only (no run handler, no queues) - PR sync creates virtual task entries in org local DB instead of spawning task actors — prevents OOM from 200+ actors created simultaneously - Task actors created lazily on first user interaction via getOrCreate, self-initialize from org's getTaskIndexEntry data - Removed requireRepoExists cross-actor call (caused 500s), replaced with local resolveTaskRepoId from org's taskIndex table - Fixed getOrganizationContext to thread overrides through all sync phases - Fixed sandbox repo path (/home/user/repo for E2B compatibility) - Fixed buildSessionDetail to skip transcript fetch for pending sessions - Added process crash protection (uncaughtException/unhandledRejection) - Fixed React infinite render loop in mock-layout useEffect dependencies - Added sandbox listProcesses error handling for expired E2B sandboxes - Set E2B sandbox timeout to 1 hour (was 5 min default) - Updated CLAUDE.md with lazy task creation rules, no-silent-catch policy, React hook dependency safety rules Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
507 B
TypeScript
20 lines
507 B
TypeScript
import { actor } from "rivetkit";
|
|
import { organizationDb } from "./db/db.js";
|
|
import { organizationActions } from "./actions.js";
|
|
import { organizationCommandActions } from "./workflow.js";
|
|
|
|
export const organization = actor({
|
|
db: organizationDb,
|
|
options: {
|
|
name: "Organization",
|
|
icon: "compass",
|
|
actionTimeout: 5 * 60_000,
|
|
},
|
|
createState: (_c, organizationId: string) => ({
|
|
organizationId,
|
|
}),
|
|
actions: {
|
|
...organizationActions,
|
|
...organizationCommandActions,
|
|
},
|
|
});
|