Agent OS vs Agent Framework
Frameworks help you build agent behavior. An Agent OS helps you operate agents — runtime, governance, durability, and observability. How HazelJS draws the line.
An agent framework helps you define how an agent thinks and which tools it can call. An Agent OS helps you operate that agent after the demo: package it, authorize tools, survive crashes, approve sensitive actions, and observe runs.
HazelJS is an open-source Agent OS for TypeScript. It also gives you framework primitives (@Agent, @Tool, AgentRuntime) so you are not forced to glue three products together.
The short contrast
| Agent framework | Agent OS | |
|---|---|---|
| Job | Build behavior | Operate agents |
| Typical artifacts | Prompts, tools, graphs | DNA, policies, durable runs, apply |
| Failure mode | Process dies mid-tool | Recover / resume with durable state |
| Authorization | Often ad hoc | Gatekeeper (allow / deny / require-approval) |
See the commercial lander: TypeScript agentic framework and the category pillar: What is an Agent OS?.
Where HazelJS sits
Framework layer → @Agent / @Tool / AgentRuntime loops
Agent OS layer → DNA, Skillgate, Gatekeeper, durable HITL, hazeld apply
You can start with a single agent class and grow into DNA packages and local apply without changing languages.