A cohesive agent stack
Assemble independently replaceable agent engines behind one typed facade with stable subpaths and an AbsoluteJS manifest.
@absolutejs/agentv0.25.0betaAIThe production-grade, provider-neutral agent stack for AbsoluteJS: auth, actions, runtime, sandboxing, trust, memory, inbox, discovery, MCP, A2A, policy, wallet limits, controls, and conformance.
bun add @absolutejs/agentExercise one exact action through the facade-owned Agency subpath with memory storage and no credentials. allowAllPolicy is appropriate only for this local proof.
import {
allowAllPolicy,
createAgency,
createMemoryAgencyStore
} from '@absolutejs/agent/actions';
const agency = createAgency({
policy: allowAllPolicy(),
store: createMemoryAgencyStore()
});
const { action, decision } = await agency.request({
action: 'write_fixture',
actor: { agentId: 'local-agent', scopes: ['fixture:write'], userId: 'user-1' },
effects: ['write'],
input: { value: 42 },
resource: { id: 'fixture-1', type: 'fixture' }
});
if (decision.kind !== 'allow') throw new Error('expected local allow');
const lease = await agency.issueLease(action.actionId);
const executed = await agency.execute({
executor: 'local-fixture',
leaseId: lease.leaseId,
run: async () => ({ stored: true, value: 42 })
});
console.log(executed.receipt.status);The production-grade, provider-neutral agent stack for AbsoluteJS.
This is the cohesive entry point, not another agent runtime. Each engine remains independently installable and replaceable; this package provides one documented golden path, typed subpath exports, production-readiness checks, and an AbsoluteJS manifest that lets coding agents discover the whole stack.
The facade is the single Agency runtime owner. A2A, MCP, Agent Control, Wallet, and other extensions declare Agency as a required peer, externalize it from their builds, and test a conservative compatibility window. The facade installs the matching real Agency dependency, so one application cannot silently create parallel action types or ledgers.
@absolutejs/agent/auth — native auth.md registration, ID-JAG, scoped delegation
@absolutejs/agent/actions — terminal approvals/rejections, leases, receipts,
kill switches, handoffs
@absolutejs/agent/runtime — durable runs, checkpoints, budgets, effects
@absolutejs/agent/sandbox — deny-by-default HTTP, filesystem, and process grants
@absolutejs/agent/trust — provenance, taint propagation, safe context and sinks
@absolutejs/agent/memory — scoped, authorized, erasable durable memory
@absolutejs/agent/inbox — verified webhooks, schedules, retries, dead letters
@absolutejs/agent/discovery — signed well-known documents, cards, text, sitemaps, registry
@absolutejs/agent/execution — certified tenant adapter installations, transactional outbox, retries, signed provider evidence ingestion, reconciliation, compensation
@absolutejs/agent/mcp, /a2a, /arazzo, and /webmcp — open interoperability, workflow, and browser transports
@absolutejs/agent/policy — versioned policy and AuthZEN adapters
@absolutejs/agent/wallet — reservations, idempotent settlement, spending policy
createAuthAgencyDelegationAuthority() bridges the delegation already verified by Absolute Auth directly into Agency. Put an authAgencyAuthorizationDetail() in the Auth grant to bind its audience, canonical actions, effects, resource types, and optional resource IDs. Agency then re-reads that same grant before an action request, lease, and execution; there is no second grant ID or shadow state to synchronize.
Outcomes
Assemble independently replaceable agent engines behind one typed facade with stable subpaths and an AbsoluteJS manifest.
Use standard MCP, A2A, OAuth, auth.md, AuthZEN, Arazzo, and WebMCP surfaces without introducing an Absolute-only wire protocol.
Hardening checklist
Follow in order
# @absolutejs/agent
import { assertProductionReady, defineAgentStack } from "@absolutejs/agent";
import { createAgentRuntime } from "@absolutejs/agent/runtime";
import { createAgency } from "@absolutejs/agent/actions";
const stack = defineAgentStack([
{ capability: "durability", instance: runtime, name: "runtime" },
{ capability: "authorization", instance: agency, name: "actions" },
] as const);
await assertProductionReady(stack); // fails until every production concern is wiredSupported entry points declared by this project’s package manifest. Internal dist paths are not part of the package contract.
Public package entry point declared in package.json.
Scripts declared by this project’s package manifest.
Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.
const AGENT_STACK_PACKAGES: {
readonly a2a: "@absolutejs/a2a";
readonly actions: "@absolutejs/agency";
readonly auth: "@absolutejs/auth";
readonly conformance: "@absolutejs/agent-conformance";
readonly commerce: "@absolutejs/agent/commerce";
readonly control: "@absolutejs/agent-control";
readonly discovery: "@absolutejs/agent-discovery";
readonly execution: "@absolutejs/execution";
readonly inbox: "@absolutejs/agent-inbox";
readonly mcp: "@absolutejs/mcp";
readonly memory: "@absolutejs/agent-memory";
readonly policy: "@absolutejs/policy";
readonly runtime: "@absolutejs/agent-runtime";
readonly sandbox: "@absolutejs/agent-sandbox";
readonly trust: "@absolutejs/agent-trust";
readonly wallet: "@absolutejs/wallet";
};@absolutejs/agentThese playbooks show where this package fits, how to verify the combined system, and what changes before production.