Version Packages#187
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
333bea7 to
883b999
Compare
883b999 to
85a448b
Compare
85a448b to
4fc69d9
Compare
4fc69d9 to
77a5d3e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@dawn-ai/cli@0.3.0
Minor Changes
8133553: Add opt-in conversation summarization (Phase 3 sub-project 6b). When a thread's history exceeds a token threshold, the agent is fed a condensed view — a running summary of older turns plus the most recent turns verbatim — while the full history stays intact in the checkpoint. This is non-destructive: summarization runs as a LangGraph
preModelHookthat returnsllmInputMessagesfor the turn only and never rewrites savedmessages, soGET /threads/:id/state, resume, and restart always see the complete history (and there is no tool-call/result pairing hazard).Enable it in
dawn.config.ts:Both the token counter and the summarizer are pluggable (
tokenCounter,summarize). The running summary is cached in agent state and refreshed incrementally — each turn folds only the newly-aged messages, so cost stays bounded. The turn-boundary split is pairing-safe (a tool-call message is never separated from its results). When summarization is disabled (the default), behavior is unchanged andgpt-tokenizeris never loaded. If the summarizer call fails on a given turn, the agent falls back to the full history for that turn rather than failing the run.027b1cc: Add tool-output offloading. When a tool returns output larger than
toolOutput.offloadThresholdChars(default 40,000), the full payload is written toworkspace/tool-outputs/and the in-context ToolMessage is replaced with a preview+pointer stub; the agent retrieves the full content with the existingreadFiletool (which bypasses the size cap fortool-outputs/paths). Active automatically when a workspace exists. The directory is bounded by a size + TTL cap (defaults 256MB / 3h) with throttled evict-on-write and LRU-by-access eviction (readFile bumps mtime for tool-outputs/ files). Large content never enters message state, so there is no tool-call/result pairing hazard. Configurable viadawn.config.tstoolOutput. TheFilesystemBackendinterface gains optionalstatFile/removeFile/touchFile/mkdirmethods and an optional per-callmaxBytesoverride onreadFile.Patch Changes
readFiletool — the very tool the agent uses to read back an offloaded output — had its own (large) result offloaded again, replacing it with a second pointer stub. The agent could never see the retrieved content. Retrieval/inspection tools (readFile,listDir) are now never offloaded; the newdawn.config.tstoolOutput.noOffloadToolsoption adds further exemptions (merged with the always-exempt built-ins). Found by a live-API smoke test.@dawn-ai/core@0.3.0
Minor Changes
8133553: Add opt-in conversation summarization (Phase 3 sub-project 6b). When a thread's history exceeds a token threshold, the agent is fed a condensed view — a running summary of older turns plus the most recent turns verbatim — while the full history stays intact in the checkpoint. This is non-destructive: summarization runs as a LangGraph
preModelHookthat returnsllmInputMessagesfor the turn only and never rewrites savedmessages, soGET /threads/:id/state, resume, and restart always see the complete history (and there is no tool-call/result pairing hazard).Enable it in
dawn.config.ts:Both the token counter and the summarizer are pluggable (
tokenCounter,summarize). The running summary is cached in agent state and refreshed incrementally — each turn folds only the newly-aged messages, so cost stays bounded. The turn-boundary split is pairing-safe (a tool-call message is never separated from its results). When summarization is disabled (the default), behavior is unchanged andgpt-tokenizeris never loaded. If the summarizer call fails on a given turn, the agent falls back to the full history for that turn rather than failing the run.027b1cc: Add tool-output offloading. When a tool returns output larger than
toolOutput.offloadThresholdChars(default 40,000), the full payload is written toworkspace/tool-outputs/and the in-context ToolMessage is replaced with a preview+pointer stub; the agent retrieves the full content with the existingreadFiletool (which bypasses the size cap fortool-outputs/paths). Active automatically when a workspace exists. The directory is bounded by a size + TTL cap (defaults 256MB / 3h) with throttled evict-on-write and LRU-by-access eviction (readFile bumps mtime for tool-outputs/ files). Large content never enters message state, so there is no tool-call/result pairing hazard. Configurable viadawn.config.tstoolOutput. TheFilesystemBackendinterface gains optionalstatFile/removeFile/touchFile/mkdirmethods and an optional per-callmaxBytesoverride onreadFile.Patch Changes
readFiletool — the very tool the agent uses to read back an offloaded output — had its own (large) result offloaded again, replacing it with a second pointer stub. The agent could never see the retrieved content. Retrieval/inspection tools (readFile,listDir) are now never offloaded; the newdawn.config.tstoolOutput.noOffloadToolsoption adds further exemptions (merged with the always-exempt built-ins). Found by a live-API smoke test.by: "date") was not recognized as an enum (only multi-member literal unions were), so it fell through to object extraction and was misread as an object carryingString.prototypemethods (charAt,toString, …). This produced a bogus schema that rejected the correct argument, breaking every discriminated/object-union tool parameter end-to-end. Standalone string/number/boolean literals now extract correctly, and object extraction is guarded to genuine object types. Found by a live-API smoke test.@dawn-ai/langchain@0.3.0
Minor Changes
8133553: Add opt-in conversation summarization (Phase 3 sub-project 6b). When a thread's history exceeds a token threshold, the agent is fed a condensed view — a running summary of older turns plus the most recent turns verbatim — while the full history stays intact in the checkpoint. This is non-destructive: summarization runs as a LangGraph
preModelHookthat returnsllmInputMessagesfor the turn only and never rewrites savedmessages, soGET /threads/:id/state, resume, and restart always see the complete history (and there is no tool-call/result pairing hazard).Enable it in
dawn.config.ts:Both the token counter and the summarizer are pluggable (
tokenCounter,summarize). The running summary is cached in agent state and refreshed incrementally — each turn folds only the newly-aged messages, so cost stays bounded. The turn-boundary split is pairing-safe (a tool-call message is never separated from its results). When summarization is disabled (the default), behavior is unchanged andgpt-tokenizeris never loaded. If the summarizer call fails on a given turn, the agent falls back to the full history for that turn rather than failing the run.027b1cc: Add tool-output offloading. When a tool returns output larger than
toolOutput.offloadThresholdChars(default 40,000), the full payload is written toworkspace/tool-outputs/and the in-context ToolMessage is replaced with a preview+pointer stub; the agent retrieves the full content with the existingreadFiletool (which bypasses the size cap fortool-outputs/paths). Active automatically when a workspace exists. The directory is bounded by a size + TTL cap (defaults 256MB / 3h) with throttled evict-on-write and LRU-by-access eviction (readFile bumps mtime for tool-outputs/ files). Large content never enters message state, so there is no tool-call/result pairing hazard. Configurable viadawn.config.tstoolOutput. TheFilesystemBackendinterface gains optionalstatFile/removeFile/touchFile/mkdirmethods and an optional per-callmaxBytesoverride onreadFile.Patch Changes
tool_call_id(with a content-hash fallback when absent) instead oftimestamp+random. This makes offloaded paths stable and traceable and enables deterministic agent e2e tests. The openai chat model now also honorsOPENAI_BASE_URL, allowing a local mock provider (used by the new CI-safe aimock-based agent e2e regression tests for the discriminated-union tool-input and tool-output-offload-retrieval paths).@dawn-ai/workspace@0.2.0
Minor Changes
toolOutput.offloadThresholdChars(default 40,000), the full payload is written toworkspace/tool-outputs/and the in-context ToolMessage is replaced with a preview+pointer stub; the agent retrieves the full content with the existingreadFiletool (which bypasses the size cap fortool-outputs/paths). Active automatically when a workspace exists. The directory is bounded by a size + TTL cap (defaults 256MB / 3h) with throttled evict-on-write and LRU-by-access eviction (readFile bumps mtime for tool-outputs/ files). Large content never enters message state, so there is no tool-call/result pairing hazard. Configurable viadawn.config.tstoolOutput. TheFilesystemBackendinterface gains optionalstatFile/removeFile/touchFile/mkdirmethods and an optional per-callmaxBytesoverride onreadFile.create-dawn-ai-app@0.3.0
Patch Changes
@dawn-ai/langgraph@0.3.0
Patch Changes
@dawn-ai/vite-plugin@0.3.0
Patch Changes
@dawn-ai/config-biome@0.3.0
@dawn-ai/config-typescript@0.3.0
@dawn-ai/devkit@0.3.0
@dawn-ai/sdk@0.3.0
@dawn-example/chat-server@0.0.2
Patch Changes