# Solid Objects > Solid Objects is a SQL-backed virtual actor library for Ruby on Rails (gem solid_objects) and TypeScript/Node.js (npm package solid-objects), with durable state, ordered operations, and automatic activation. State and mailboxes live in SQLite, PostgreSQL, or MySQL. Both packages are pre-1.0 and make no production-ready claim. Delivery is at least once, not exactly once. There are no transactions across actor identities. The Rails gem requires Rails 7.1 or newer. The Node.js package requires Node.js 24.4 or newer. The Markdown files below are generated from the runtime repositories at the snapshot revisions shown. ## Ruby on Rails Repository: https://github.com/cardmagic/solid-objects-ruby. Snapshot: v0.17.1, commit 7e19e64. - [Virtual actors in Ruby on Rails](https://solidobjects.dev/docs/ruby/virtual-actors.md): Whether Rails has virtual actors, the definition, a small example, fit and poor-fit criteria, comparisons, and an Orleans concept map. - [Solid Objects for coding agents (Rails)](https://solidobjects.dev/docs/ruby/agents.md): Fit checklist, package identity, installation, authorization, effect idempotency, verification steps, and troubleshooting for the solid_objects gem. - [Rails clean-install quickstart](https://solidobjects.dev/docs/ruby/quickstart.md): A new Rails application with the gem, the generator, migrations, a demonstration policy, concurrent calls, and a reminder that survives a restart. - [Correctness and delivery semantics (Rails)](https://solidobjects.dev/docs/ruby/correctness.md): Ordering, fencing, at-least-once delivery, the crash matrix, and the atomic boundaries of the Ruby runtime. - [Solid Objects for Rails README](https://solidobjects.dev/docs/ruby/readme.md): Requirements, installation, an expiring ticket hold, good uses, and guarantees for the solid_objects gem. - [Category guide (HTML)](https://solidobjects.dev/virtual-actors/ruby): The same category guide as a web page. ## TypeScript and Node.js Repository: https://github.com/cardmagic/solid-objects-js. Snapshot: v0.17.1, commit 3f409da. - [Virtual actors in TypeScript and Node.js](https://solidobjects.dev/docs/typescript/virtual-actors.md): Whether TypeScript has a SQL-backed virtual actor library, the definition, a runnable example, fit and poor-fit criteria, comparisons, and an Orleans concept map. - [Solid Objects for coding agents (TypeScript and Node.js)](https://solidobjects.dev/docs/typescript/agents.md): Fit checklist, package identity, installation, authorization, effect idempotency, verification steps, and troubleshooting for the solid-objects package. - [Correctness and delivery semantics (TypeScript and Node.js)](https://solidobjects.dev/docs/typescript/correctness.md): Ordering, fencing, at-least-once delivery, and the limitations of the Node.js runtime. - [System comparisons (TypeScript and Node.js)](https://solidobjects.dev/docs/typescript/comparisons.md): SQL transactions, job queues, Cloudflare Durable Objects, celld, Rivet, Dapr, DBOS, Restate, and Temporal, compared with primary references. - [Solid Objects for Node README](https://solidobjects.dev/docs/typescript/readme.md): Requirements, installation, the packaged quickstart, an expiring ticket hold, the browser runtime, and guarantees for the solid-objects package. - [Category guide (HTML)](https://solidobjects.dev/virtual-actors/typescript): The same category guide as a web page. ## Optional - [Rails overview](https://solidobjects.dev/ruby): The landing page for the solid_objects gem. - [Node overview](https://solidobjects.dev/js): The landing page for the solid-objects package. - [Browser runtime](https://solidobjects.dev/browser): The actor runtime in a browser module worker on SQLite WASM.