28 KiB
Changelog
[Unreleased]
[0.87.0] - 2026-09-21
Breaking Changes
-
Removed
AgentOptions.shouldStopAfterTurnandAgentLoopConfig.shouldStopAfterTurn. UsefinishTurnand return{ action: "end" }to stop after the completed turn:// Before shouldStopAfterTurn: async (turn, signal) => await shouldStop(turn, signal), // After finishTurn: async (turn, signal) => { // shouldStopAfterTurn previously ran only for normal responses. if (turn.message.stopReason === "error" || turn.message.stopReason === "aborted") return; return (await shouldStop(turn, signal)) ? { action: "end" } : undefined; },finishTurnruns after the assistant and all tool results are finalized but beforeturn_end; its decision is applied afterturn_end. It also runs for error and aborted responses, whose decisions are ignored because those responses remain hard exits. The guard in the migration preserves the old hook's normal-response-only invocation, including avoiding predicate side effects on hard exits. Returning{ action: "end" }leaves steering and follow-up queues untouched and skipsprepareNextTurn.
Added
- Added
prepareRequest, which runs before every provider request, including the first. For example, return{ context: { ...context, messages: persistedMessages } }to install canonical context after already-selected input is emitted without introducing another queue poll. - Added
finishTurn, which runs after assistant/tool-result finalization and beforeturn_endfor normal, error, and aborted responses. Return{ action: "end" }to end a normal run afterturn_end, orundefinedto preserve normal scheduling.{ action: "continue" }ensures one next provider request: existing tool-result, steering, or follow-up scheduling can satisfy that request without adding another one; otherwise the loop makes one context-only request. Error and aborted responses remain hard exits. - Added
Agent.peekQueuedMessages()to preview the next queue-selected batch without consuming it.
Fixed
- Fixed harness reads misclassifying text files beginning with
GIFas images (#9755).
[0.86.1] - 2026-09-20
[0.86.0] - 2026-09-19
[0.85.1] - 2026-09-05
[0.85.0] - 2026-09-04
Fixed
- Fixed proxied assistant responses dropping persisted provider-native thinking levels.
- Fixed the write tool reporting UTF-16 code-unit counts as byte counts by removing the misleading count (#8979).
[0.84.4] - 2026-08-28
Breaking Changes
- Changed
prepareNextTurnandprepareNextTurnWithContextto run only aftershouldStopAfterTurnand queued-message checks determine that the agent loop will start another assistant turn. They no longer run after final or terminating turns; move end-of-run work toagent_endhandling (#6879).
Fixed
- Fixed Windows
NodeExecutionEnvaborts crashing whentaskkill.exeis unavailable onPATH(#6596).
Removed
- Removed the withdrawn manual-drive configuration, action inspection methods, action outcomes, and snapshot action field from
AgentHarness.
[0.84.3] - 2026-08-24
Fixed
- Fixed single-object
edittool inputs failing validation by accepting them as one-edit arrays (#7835). - Fixed root Markdown files such as
README.mdandAGENTS.mdin skill directories being reported as broken skills unless they declare valid skill frontmatter (#7805).
[0.84.2] - 2026-08-14
Fixed
- Fixed
streamProxy()dropping finalized tool-call metadata such as OpenAI Responses namespaces (#7709).
[0.84.1] - 2026-08-07
Added
- Added
BeforeToolCallResult.terminateso blocked tool calls can participate in the existing batch early-termination rule (#7715 by @muyiyr).
Fixed
- Fixed
Agent.reset()clearing transcript and runtime state during active runs; it now rejects until the agent is idle (#7717 by @wesleyzhangwq).
[0.84.0] - 2026-08-06
Breaking Changes
- Replaced the legacy harness session model with the v4 lane-based
Session,SessionStorage, andSessionRepoAPIs, including durable operation records, global facts, shared sequence numbers, and tree-scoped lane views. - Promoted the v2 session and
AgentHarnessAPI from the experimental entrypoint to the default package export and removed the experimental subpaths. - Removed the legacy JSONL and in-memory repository APIs. Use the v4
JsonlSessionRepoorInMemorySessionRepo, both implementing the newSessionRepocontract. - Added the required
FileSystem.renameFile()operation to harness execution environments for atomic JSONL publication; custom file-system implementations must provide same-filesystem replacement semantics (#7707 by @davidbrai).
Added
- Added typed AI-request and harness telemetry schemas, their combined schema tuple, callback helpers, and a generated schema reference.
- Added bounded
Session.findEntriesOnBranch()andfindEntryOnBranch()queries with explicit traversal, filtering, ordering, and limit options. - Added a compile-complete
AgentHarnessv2 scaffold; unfinished operation paths reject withHarnessNotImplementedwhile durable execution is implemented. - Added
JsonlSessionRepo, a v4 append-only JSONL session repository with metadata validation and shared storage semantics (#7611 by @davidbrai). - Added indexed
Session.findOpenOperations()recovery queries andRecordQuery.operationKindfiltering (#7646). - Added
AgentOptions.shouldStopAfterTurnfor gracefully stopping after a completed turn before queued messages or another model call are processed. See Agent Options (#7367 by @acmerfight). - Added proxy forwarding for arbitrary OpenAI-compatible
samplingParams(#7568 by @mrexodia).
Fixed
- Fixed Windows path handling for
NodeExecutionEnvfile basenames, recursive skill loading, and prompt template names. - Fixed
JsonlSessionRepoenforcing session IDs globally across working directories; IDs are now unique within each working directory. - Fixed JSONL session forks and torn-tail repairs to publish atomically, avoiding partially written or corrupted sessions after interrupted writes (#7707 by @davidbrai).
[0.83.0] - 2026-07-29
[0.82.1] - 2026-07-25
[0.82.0] - 2026-07-24
Breaking Changes
- Replaced
AgentHarness'sExecutionEnvdependency and context-freeAgentToolinputs with application-definedtoolContextvalues and context-awareAgentHarnessTooldefinitions.
Added
- Added context-aware
read,write,edit, andbashharness tools backed byExecutionEnv, including async bash execution preparation.
Changed
- Aligned harness tool path handling, edit serialization, shell output capture, explicit non-inherited environments, and cross-platform process cleanup with coding-agent behavior.
Fixed
- Fixed compaction and branch-summary requests to use fresh routing session IDs with prompt caching disabled where supported (#6618 by @tmustier).
[0.81.1] - 2026-07-21
Added
- Added retry policy support and lifecycle events for compaction and branch-summary operations in
AgentHarness(#6901 by @davidbrai).
Fixed
- Restored the
AgentstreamFnoption and host-configurable fallback for omitted agent-loop stream functions without reintroducing api-ai/compatdependency (#6915).
[0.81.0] - 2026-07-21
Breaking Changes
- Changed
SessionStorageto usegetPathToRootOrCompaction(), require session name and statistics methods, support cursor-based entry reads, and store retained compaction tails as self-contained checkpoints (#6594 by @cristinaponcela). - Moved the
uuidv7export to@earendil-works/pi-ai(#6834 by @xl0). - Replaced the optional
AgentstreamFnfallback with a requiredstreamFunctionand made low-level loop stream functions required, preventing@earendil-works/pi-ai/compatand all built-in providers from entering selective-provider bundles (#6851).
Added
- Added usage metadata to tool results, compaction entries, and branch summaries in the agent harness (#6671 by @davidbrai).
[0.80.10] - 2026-07-16
[0.80.9] - 2026-07-16
[0.80.8] - 2026-07-16
[0.80.7] - 2026-07-14
Added
- Added
AgentToolResult.addedToolNamespropagation toToolResultMessageso tools introduced by a result can be loaded from that transcript point onward (#6474).
[0.80.6] - 2026-07-09
Added
- Added the
maxmodel thinking level afterxhigh.
[0.80.5] - 2026-07-09
[0.80.4] - 2026-07-09
Added
- Added configurable harness session context entry transforms and custom-entry message projectors.
- Added custom metadata support in JSONL session headers (#6417 by @ArcadiaLin).
- Exported
InMemorySessionStorageandJsonlSessionStorage(#6435).
Fixed
- Fixed harness split-turn compaction to serialize summary requests so single-concurrency providers are not asked to run overlapping generations (#5536).
- Fixed harness tool calls from length-truncated assistant messages to fail instead of waiting for missing tool results (#6285).
- Fixed harness session ingestion to normalize
nullmessage content before context projection, avoiding crashes on lax imported transcripts (#6343). - Fixed non-positive or oversized harness shell execution timeouts to fail with a clear validation error instead of being clamped to an immediate timeout (#6181).
- Fixed harness session storage short entry ids to use the random tail of the generated uuidv7 instead of the timestamp prefix, which was nearly constant between calls (#6242).
[0.80.3] - 2026-06-30
Added
- Added
prepareNextTurnWithContextforAgentusers that need the next-turn loop context.
Fixed
- Fixed
Agent.prepareNextTurnto keep receiving the run abort signal instead of the next-turn context.
[0.80.2] - 2026-06-23
Changed
- Renamed the public harness shell execution options type from
ExecutionEnvExecOptionstoShellExecOptions.
[0.80.1] - 2026-06-23
[0.80.0] - 2026-06-23
Breaking Changes
AgentHarnessOptions.modelsis required and is the only auth path: the harness streams turns, compaction, and branch summarization through the providedModelsinstance (models.streamSimple()/completeSimple()), resolving auth through the providers.AgentHarnessOptions.getApiKeyAndHeadersis removed — apps that resolved keys per request now express that as provider auth (ApiKeyAuth/OAuthAuth) on the providers in theModelscollection. Build one withcreateModels()+ provider factories (orbuiltinModels()from@earendil-works/pi-ai/providers/all); tests usefauxProvider().compact(),generateSummary(), andgenerateBranchSummary()take aModelsparameter and no longer accept explicitapiKey/headers.StreamFnis defined structurally ((model, context, options?) => AssistantMessageEventStream | Promise<...>);Models.streamSimplesatisfies it.- Removed the
@earendil-works/pi-agent-core/baseselective-provider entrypoint; use the root package with an explicitModelsinstance instead.
Fixed
- Fixed harness session names to normalize newline characters before storing labels (#5999 by @haoqixu).
- Fixed harness compaction estimates to ignore malformed all-zero assistant usage after truncated responses (#5526 by @dmmulroy).
[0.79.10] - 2026-06-22
[0.79.9] - 2026-06-20
Fixed
- Fixed Node execution environment commands through legacy WSL
bash.exeto pass scripts over stdin so shell variables expand in the target bash (#5893).
[0.79.8] - 2026-06-19
Added
- Added
@earendil-works/pi-agent-core/basefor bundlers that want to pair the agent core with selective@earendil-works/pi-ai/baseprovider registration (#5348 by @FredKSchott).
[0.79.7] - 2026-06-18
[0.79.6] - 2026-06-16
[0.79.5] - 2026-06-16
[0.79.4] - 2026-06-15
[0.79.3] - 2026-06-13
[0.79.2] - 2026-06-12
Fixed
- Fixed late tool progress callbacks after tool settlement to be ignored instead of emitting stale
tool_execution_updateevents (#5573).
[0.79.1] - 2026-06-09
[0.79.0] - 2026-06-08
Fixed
- Fixed the compaction summarization system prompt to use neutral AI assistant wording for non-coding agents (#5401).
[0.78.1] - 2026-06-04
[0.78.0] - 2026-05-29
[0.77.0] - 2026-05-28
Breaking Changes
- Renamed agent harness
model_selectandthinking_level_selectevents tomodel_updateandthinking_level_update.
Added
- Added agent harness tool registry APIs,
tools_updateevents, branch-scoped active-tool persistence, and duplicate tool validation.
[0.76.0] - 2026-05-27
Fixed
- Fixed context token estimates to count user image attachments consistently with tool result images (#4983).
[0.75.5] - 2026-05-23
[0.75.4] - 2026-05-20
Changed
- Changed source syntax to avoid TypeScript constructs that require JavaScript emit, keeping the package compatible with Node.js strip-only TypeScript checks.
- Removed the package-level development watch script now that the root TypeScript check validates strip-only-compatible sources.
Fixed
- Fixed tool-call preflight to stop preparing sibling tool calls after the run is aborted (#4276).
- Fixed tail truncation for oversized single-line output that ends with a trailing newline (#4715).
- Fixed Windows Node execution environment command spawns to hide helper console windows from background processes (#4699).
[0.75.3] - 2026-05-18
[0.75.2] - 2026-05-18
[0.75.1] - 2026-05-18
[0.75.0] - 2026-05-17
Breaking Changes
- Raised the minimum supported Node.js version to 22.19.0.
[0.74.1] - 2026-05-16
[0.74.0] - 2026-05-07
[0.73.1] - 2026-05-07
[0.73.0] - 2026-05-04
[0.72.1] - 2026-05-02
Changed
- Changed the default agent transport to
autoso providers can use their best available transport by default (#4083).
[0.72.0] - 2026-05-01
Added
- Added
shouldStopAfterTurnto the low-level agent loop config for gracefully exiting after a completed turn before polling queued messages or starting another LLM call.
[0.71.1] - 2026-05-01
[0.71.0] - 2026-04-30
[0.70.6] - 2026-04-28
[0.70.5] - 2026-04-27
[0.70.4] - 2026-04-27
[0.70.3] - 2026-04-27
[0.70.2] - 2026-04-24
[0.70.1] - 2026-04-24
[0.70.0] - 2026-04-23
[0.69.0] - 2026-04-22
Breaking Changes
- Migrated public TypeBox-facing types and examples from
@sinclair/typebox0.34.x totypebox1.x. Install and import fromtypeboxinstead of relying on@sinclair/typeboxtransitively (#3112)
Added
- Added
terminate: truetool-result hints to skip the automatic follow-up LLM call when every finalized tool result in the current batch opts into early termination (#3525)
[0.68.1] - 2026-04-22
Fixed
- Fixed
streamProxy()to preserve the proxy-safe serializable subset of stream options, including session, transport, retry-delay, metadata, header, cache-retention, and thinking-budget settings (#3512) - Fixed parallel tool execution to emit
tool_execution_endas soon as each tool is finalized, while still emitting persisted tool-result messages in assistant source order (#3503)
[0.68.0] - 2026-04-20
Changed
- Clarified parallel tool execution ordering docs to specify that final tool lifecycle and tool-result artifacts are emitted in tool completion order.
[0.67.68] - 2026-04-17
[0.67.67] - 2026-04-17
Fixed
- Fixed parallel tool-call finalization to convert
afterToolCallhook throws into error tool results instead of aborting the batch (#3084)
[0.67.6] - 2026-04-16
[0.67.5] - 2026-04-16
[0.67.4] - 2026-04-16
[0.67.3] - 2026-04-15
[0.67.2] - 2026-04-14
[0.67.1] - 2026-04-13
[0.67.0] - 2026-04-13
[0.66.1] - 2026-04-08
[0.66.0] - 2026-04-08
[0.65.2] - 2026-04-06
[0.65.1] - 2026-04-05
[0.65.0] - 2026-04-03
Breaking Changes
AgentStatehas been reshaped:streamMessagewas renamed tostreamingMessageerrorwas renamed toerrorMessageisStreaming,streamingMessage,pendingToolCalls, anderrorMessageare now readonly in the public APIpendingToolCallsis now typed asReadonlySet<string>toolsandmessagesare now accessor properties, and assigning either field copies the provided top-level array instead of preserving array identity
AgentOptions.initialStateno longer accepts runtime-owned fields. RemoveisStreaming,streamingMessage,pendingToolCalls, anderrorMessagefrominitialStatevalues.- Removed
Agentmutator methods in favor of direct property access:agent.setSystemPrompt(value)->agent.state.systemPrompt = valueagent.setModel(model)->agent.state.model = modelagent.setThinkingLevel(level)->agent.state.thinkingLevel = levelagent.setTools(tools)->agent.state.tools = toolsagent.replaceMessages(messages)->agent.state.messages = messagesagent.appendMessage(message)->agent.state.messages.push(message)agent.clearMessages()->agent.state.messages = []agent.setToolExecution(mode)->agent.toolExecution = modeagent.setBeforeToolCall(fn)->agent.beforeToolCall = fnagent.setAfterToolCall(fn)->agent.afterToolCall = fnagent.setTransport(transport)->agent.transport = transport
- Removed queue mode getter/setter methods in favor of properties:
agent.setSteeringMode(mode)->agent.steeringMode = modeagent.getSteeringMode()->agent.steeringModeagent.setFollowUpMode(mode)->agent.followUpMode = modeagent.getFollowUpMode()->agent.followUpMode
Agent.subscribe()listeners are now awaited and receive the activeAbortSignal:agent.subscribe((event) => { ... })->agent.subscribe(async (event, signal) => { ... })agent_endis now the final emitted event for a run, but not the idle boundaryagent.waitForIdle(),agent.prompt(...), andagent.continue()now settle only after awaitedagent_endlisteners finishagent.state.isStreamingremainstrueuntil that settlement completes
[0.64.0] - 2026-03-29
Added
- Added
AgentTool.prepareArgumentshook to prepare raw tool call arguments before schema validation, enabling compatibility shims for resumed sessions with outdated tool schemas
[0.63.2] - 2026-03-29
Added
- Added
Agent.signalto expose the active abort signal for the current turn, allowing callers to forward cancellation into nested async work (#2660)
[0.63.1] - 2026-03-27
[0.63.0] - 2026-03-27
[0.62.0] - 2026-03-23
[0.61.1] - 2026-03-20
[0.61.0] - 2026-03-20
[0.60.0] - 2026-03-18
[0.59.0] - 2026-03-17
[0.58.4] - 2026-03-16
Fixed
- Fixed steering messages to wait until the current assistant message's tool-call batch fully finishes instead of skipping pending tool calls.
[0.58.3] - 2026-03-15
[0.58.2] - 2026-03-15
[0.58.1] - 2026-03-14
[0.58.0] - 2026-03-14
Added
- Added
beforeToolCallandafterToolCallhooks toAgentOptionsandAgentLoopConfigfor preflight blocking and post-execution tool result mutation.
Changed
- Added configurable tool execution mode to
AgentandagentLoopviatoolExecution: "parallel" | "sequential", withparallelas the default. Parallel mode preflights tool calls sequentially, executes allowed tools concurrently, and emits final tool results in assistant source order.
[0.57.1] - 2026-03-07
[0.57.0] - 2026-03-07
[0.56.3] - 2026-03-06
[0.56.2] - 2026-03-05
[0.56.1] - 2026-03-05
[0.56.0] - 2026-03-04
[0.55.4] - 2026-03-02
[0.55.3] - 2026-02-27
[0.55.2] - 2026-02-27
[0.55.1] - 2026-02-26
[0.55.0] - 2026-02-24
[0.54.2] - 2026-02-23
[0.54.1] - 2026-02-22
[0.54.0] - 2026-02-19
[0.53.1] - 2026-02-19
[0.53.0] - 2026-02-17
[0.52.12] - 2026-02-13
Added
- Added
transporttoAgentOptionsandAgentLoopConfigforwarding, allowing stream transport preference ("sse","websocket","auto") to flow into provider calls.
[0.52.11] - 2026-02-13
[0.52.10] - 2026-02-12
[0.52.9] - 2026-02-08
[0.52.8] - 2026-02-07
[0.52.7] - 2026-02-06
Fixed
- Fixed
continue()to resume queued steering/follow-up messages when context currently ends in an assistant message, and preserved one-at-a-time steering ordering during assistant-tail resumes (#1312 by @ferologics)
[0.52.6] - 2026-02-05
[0.52.5] - 2026-02-05
[0.52.4] - 2026-02-05
[0.52.3] - 2026-02-05
[0.52.2] - 2026-02-05
[0.52.1] - 2026-02-05
[0.52.0] - 2026-02-05
[0.51.6] - 2026-02-04
[0.51.5] - 2026-02-04
[0.51.4] - 2026-02-03
[0.51.3] - 2026-02-03
[0.51.2] - 2026-02-03
[0.51.1] - 2026-02-02
[0.51.0] - 2026-02-01
[0.50.9] - 2026-02-01
[0.50.8] - 2026-02-01
Added
- Added
maxRetryDelayMsoption toAgentOptionsto cap server-requested retry delays. Passed through to the underlying stream function. (#1123)
[0.50.7] - 2026-01-31
[0.50.6] - 2026-01-30
[0.50.5] - 2026-01-30
[0.50.3] - 2026-01-29
[0.50.2] - 2026-01-29
[0.50.1] - 2026-01-26
[0.50.0] - 2026-01-26
[0.49.3] - 2026-01-22
[0.49.2] - 2026-01-19
[0.49.1] - 2026-01-18
[0.49.0] - 2026-01-17
[0.48.0] - 2026-01-16
[0.47.0] - 2026-01-16
[0.46.0] - 2026-01-15
[0.45.7] - 2026-01-13
[0.45.6] - 2026-01-13
[0.45.5] - 2026-01-13
[0.45.4] - 2026-01-13
[0.45.3] - 2026-01-13
[0.45.2] - 2026-01-13
[0.45.1] - 2026-01-13
[0.45.0] - 2026-01-13
[0.44.0] - 2026-01-12
[0.43.0] - 2026-01-11
[0.42.5] - 2026-01-11
[0.42.4] - 2026-01-10
[0.42.3] - 2026-01-10
[0.42.2] - 2026-01-10
[0.42.1] - 2026-01-09
[0.42.0] - 2026-01-09
[0.41.0] - 2026-01-09
[0.40.1] - 2026-01-09
[0.40.0] - 2026-01-08
[0.39.1] - 2026-01-08
[0.39.0] - 2026-01-08
[0.38.0] - 2026-01-08
Added
thinkingBudgetsoption onAgentandAgentOptionsto customize token budgets per thinking level (#529 by @melihmucuk)
[0.37.8] - 2026-01-07
[0.37.7] - 2026-01-07
[0.37.6] - 2026-01-06
[0.37.5] - 2026-01-06
[0.37.4] - 2026-01-06
[0.37.3] - 2026-01-06
Added
sessionIdoption onAgentto forward session identifiers to LLM providers for session-based caching.
[0.37.2] - 2026-01-05
[0.37.1] - 2026-01-05
[0.37.0] - 2026-01-05
Fixed
minimalthinking level now maps tominimalreasoning effort instead of being treated aslow.
[0.36.0] - 2026-01-05
[0.35.0] - 2026-01-05
[0.34.2] - 2026-01-04
[0.34.1] - 2026-01-04
[0.34.0] - 2026-01-04
[0.33.0] - 2026-01-04
[0.32.3] - 2026-01-03
[0.32.2] - 2026-01-03
[0.32.1] - 2026-01-03
[0.32.0] - 2026-01-03
Breaking Changes
- Queue API replaced with steer/followUp: The
queueMessage()method has been split into two methods with different delivery semantics (#403):steer(msg): Interrupts the agent mid-run. Delivered after current tool execution, skips remaining tools.followUp(msg): Waits until the agent finishes. Delivered only when there are no more tool calls or steering messages.
- Queue mode renamed:
queueModeoption renamed tosteeringMode. Added newfollowUpModeoption. Both control whether messages are delivered one-at-a-time or all at once. - AgentLoopConfig callbacks renamed:
getQueuedMessagessplit intogetSteeringMessagesandgetFollowUpMessages. - Agent methods renamed:
queueMessage()→steer()andfollowUp()clearMessageQueue()→clearSteeringQueue(),clearFollowUpQueue(),clearAllQueues()setQueueMode()/getQueueMode()→setSteeringMode()/getSteeringMode()andsetFollowUpMode()/getFollowUpMode()
Fixed
prompt()andcontinue()now throw if called while the agent is already streaming, preventing race conditions and corrupted state. Usesteer()orfollowUp()to queue messages during streaming, orawaitthe previous call.
[0.31.1] - 2026-01-02
[0.31.0] - 2026-01-02
Breaking Changes
-
Transport abstraction removed:
ProviderTransport,AppTransport, andAgentTransportinterface have been removed. Use thestreamFnoption directly for custom streaming implementations. -
Agent options renamed:
transport→ removed (usestreamFninstead)messageTransformer→convertToLlmpreprocessor→transformContext
-
AppMessagerenamed toAgentMessage: All references toAppMessagehave been renamed toAgentMessagefor consistency. -
CustomMessagesrenamed toCustomAgentMessages: The declaration merging interface has been renamed. -
UserMessageWithAttachmentsandAttachmenttypes removed: Attachment handling is now the responsibility of theconvertToLlmfunction. -
Agent loop moved from
@mariozechner/pi-ai: TheagentLoop,agentLoopContinue, and related types have moved to this package. Import from@mariozechner/pi-agent-coreinstead.
Added
-
streamFnoption onAgentfor custom stream implementations. Default usesstreamSimplefrom pi-ai. -
streamProxy()utility function for browser apps that need to proxy LLM calls through a backend server. Replaces the removedAppTransport. -
getApiKeyoption for dynamic API key resolution (useful for expiring OAuth tokens like GitHub Copilot). -
agentLoop()andagentLoopContinue()low-level functions for running the agent loop without theAgentclass wrapper. -
New exported types:
AgentLoopConfig,AgentContext,AgentTool,AgentToolResult,AgentToolUpdateCallback,StreamFn.
Changed
-
Agentconstructor now has all options optional (empty options use defaults). -
queueMessage()is now synchronous (no longer returns a Promise).