Minor Changes
- f43d34c: Add
agent-native doctor— a CLI command that scans an app's source for seven security-critical code-safety guards (unscoped credentials, unscoped queries against ownable tables,process.envcredential reads, raw-DB tool table scoping,process.envmutation,local@localhostidentity fallback, anddrizzle-kit pushin build/deploy scripts). Configurable via an optional"doctor"key inagent-native.json.agent-native buildnow runs doctor as a warn-only pre-step by default; pass--strictor setagent-native.json'sdoctor.failOnBuild: trueto make findings fail the build. The scaffolded app gets apnpm doctorscript and aself-modifying-codeskill update recommending it after source edits. - f43d34c: Added export-audit-events action (CSV/NDJSON, scoped, capped) to the audit log.
- f43d34c: Use Builder Connect and metered Builder credits automatically for realtime voice, with an OpenAI API key as the secondary fallback.
- f43d34c: Add a safe manifest-driven package lifecycle CLI with Scheduling as the first inspectable, installable, and ejectable package.
Patch Changes
- f43d34c: Run a sticky 80/20 Sonnet 5 versus GPT-5.6 Luna default-model experiment across first-party hosted templates while preserving explicit model choices.
- f43d34c: Add a shared, presentational
ChatHistoryListcomponent (@agent-native/core/client) for rendering chat/run history lists with optional grouped sections, active-item highlight, search box, loading/empty/error states, and optional pin/rename/delete row actions. Core'sHistoryPopovernow renders through it instead of bespoke row markup, with no behavior change. - f43d34c: Allow app final-response guards to grant models additional bounded corrective attempts before emitting a fallback.
- f43d34c: Improve Slack agent progress and diagnostics, and continue long-running delegated tasks reliably.
- f43d34c: Keep page-level chat actions clear of conversation content and expose scroll state so hosts can fade older messages beneath header controls.
- f43d34c: Reduce the public SSR edge-cache freshness window from one hour to ten minutes while retaining long stale-while-revalidate coverage.
- f43d34c: Attach a pending approval key to the Agent-Native Code tool-call transcript item so the shared inline
ApprovalAffordance(Approve/Deny) can render directly under the paused bash call, instead of only through a separate host banner.ApprovalContextgains optionalonDenyandonAlwaysAllowhooks (both additive; existing consumers keep today's Approve-only, local-Deny behavior when they don't supply them), andAssistantChataccepts an optionalapprovalActionsprop to wire them.createCodeAgentChatAdapternow resolves an approved Code tool call throughcontroller.control("approve")instead of treating the approval message as a new prompt. - f43d34c: Protect state-changing framework routes from CSRF when the app is mounted under an APP_BASE_PATH.
- f43d34c: Export
./styles/agent-conversation.cssfrom the package so consumers outside the monorepo (like the desktop app) can import it by package specifier instead of a fragile source-relative path. - f43d34c: Export
./styles/chat-history-list.cssfrom the package so non-Tailwind hosts (like@agent-native/code-agents-ui) can import the sharedChatHistoryListstylesheet by package specifier instead of a fragile source-relative path. - f43d34c: Reconcile stale runs in parallel when listing thread runs instead of sequentially.
- f43d34c: Scope durable sync-event reads in /poll to the requesting user/org so the existing owner/org indexes are used.
- f43d34c: Make app-secret writes an atomic upsert and org membership acceptance idempotent (unique org member index + conflict-safe insert).
- f43d34c: Document the built-in durable background sandbox queue and its execution and
isolation boundaries across all supported docs locales. - f43d34c: Fail closed on internal self-dispatch processor routes when no A2A_SECRET is configured and the runtime is not provably local (previously an unrecognized deployed host with no secret ran these routes unauthenticated).
- f43d34c: Export the reasoning hook from browser-only SSR stubs so Cloudflare template builds remain deployable.
- f43d34c: Archived chat threads are now excluded from thread lists and search by default, so archiving a thread actually removes it from the sidebar/history and the
chat-historyagent tool. PassincludeArchived: true(store options,chat-historysearch action, orsearch-chatsscript) to see archived threads explicitly. - f43d34c: Use one primary composer action while a response is running: show stop for an empty draft, restore send when the user types, and keep the microphone immediately to its left.
- f43d34c: Removed the never-implemented deterministic automations mode — the manage-automations schema now offers agentic only, and legacy deterministic values are rejected at define time instead of silently never firing.
- f43d34c: Preserve template and use-case context in Builder waitlist form submissions and lifecycle events.
- f43d34c: Reject cross-site browser requests before creating realtime voice sessions or executing realtime voice tools.
- f43d34c: Select composer context chips with the first Backspace at the start of a prompt, then remove the selected chip with the next Backspace.
- f43d34c: Show compact GPT-5.6 model and reasoning names in the collapsed chat composer control.
- f43d34c: Add a structured
signal: "credential-gap"marker to code-agent transcript events and export a sharedisCredentialGapCodeAgentEventhelper so history builders (thread-data-builder.ts,code-agent-transcript.ts) detect the "no LLM provider key" condition from the executor's structured field instead of regex-matching the hint text. The regex remains only as a fallback for already-persisted transcripts that predate the field. - Updated dependencies [f43d34c]
- @agent-native/toolkit@0.4.6