Releases: junebuild/june
Releases · junebuild/june
Release list
v0.1.0 — durable agents, end to end
First stable release of @junejs/core and @junejs/server (0.1.0), exiting the dev prerelease line.
Headline: durable agents, end to end — build an agent from a directory, run it durably on the native host or a Cloudflare Durable Object, reach it over HTTP/Slack/Crisp, wire in external tools, all with one dependency-injection story.
Highlights
Durable agent runtime
- A durable turn engine (log-replay + step-checkpoint; exactly-once local side effects) over three seams — the SAME engine runs on the native SQLite host and on a Cloudflare Durable Object edge target (one DO = one session, hibernatable).
agent/directory discovery → anAgentDefinition: instructions, tools (defineAction), skills, channels, connections. Drop a folder andPOST /message,/channels/*, and/mcpare live — no glue.- Models:
anthropic()(Claude); an agent's instructions are first-class on the def — single-sourced and injected as the system prompt per turn (withSystem).
Channels — inbound edges, native + edge
httpChannel/slackChannel/crispChannel— Web-standard (HMAC verify viacrypto.subtle,fetchreply-out, zeronode:*), portable across native and edge, with self-message loop guards.- Edge channel routing:
durableChannelSurfacemounts webhooks on the Worker and routes each turn into the session Durable Object. Secrets resolve fromenvat request time ((env) => Channel), and fast-ACK background work survives the response viawaitUntil.
Connections — outbound tool sources
defineMcpConnection/defineOpenapiConnection: wire an agent into an external MCP server or OpenAPI service; each remote operation becomes a<connection>__<tool>. June both consumes MCP/OpenAPI (client) AND re-serves them from its own/mcp(gateway). Credentials resolve per call, server-side, never reaching the model.
One DI story
- Ambient
db/kv/blob, decoupled from ctx (import { db } from "@junejs/server"). - App-defined services via
currentServices()resolve uniformly across DO tools, route loaders, views, and actions — seeded from each isolate's env, declared once withdefineServicesinjune.config.ts.
Packaging
- Dual-export: Node-consumable built JS +
.d.ts, plus rawsrcfor Bun/bundlers. Erasable-syntax source (Node native type-stripping).public/static files shipped verbatim.
Versions in this release
@junejs/core 0.1.0 · @junejs/server 0.1.0 · @junejs/db 0.0.33 · @junejs/juno 0.0.30 · @junejs/i18n 0.0.29 · @junejs/cli 0.0.51 · @junejs/og 0.0.6 · june.build 0.0.4
Full per-package detail in each package's CHANGELOG.md.