Repository navigation
Pin the Dex Agents packages to Dex SDK 1.38.0 - #1386
Merged
Merged
Conversation
Every agents package moves from Dex SDK 1.35.0 to 1.38.0: dex-python-sdk==1.38.0, @superdurable/dex 1.38.0, and Go sdk-go v1.38.0, with uv.lock, package-lock.json, and go.sum regenerated by uv lock, npm install --package-lock-only, and go mod tidy. Agents CI, the nightly long run, and both publish workflows download dexcli cli-v1.38.0. The README adds Unreleased compatibility rows and keeps the 0.2.0 rows. SDK 1.38.0 still negotiates protocol 4, so the Server requirement stays server-zd v0.1.17 or later.
npm install --package-lock-only kept the file:../core entry from the earlier lock, which still named @superdurable/dex 1.35.0, so npm ci failed with a peer conflict. Regenerating that entry gives 1.38.0 and the core's dex-agents-session-graph bin.
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.
Summary
Adds a Session tab to the Dex Web v2 run page for Flows with the Dex Agents session schema (O2 session view of #1324, layout S1).
v2SessionPath(flowType, flowId)opens a session on its tab.Shared pieces for the Work Queue inbox live in
web/app/v2/agents/:ToolCallCard.tsx,ApprovalCard.tsx(ApprovalCard,QuestionCard),sessionActions.ts(invokeSessionAction,resolveInterruptInput,actionBlockedReason),sessionModel.ts,sessionSchema.ts, anduseAgentSession.ts.Docs: a new Agent session view section in the Dex Web reference with a screenshot, and a paragraph in the agent deployment guide in English and Simplified Chinese. The Dex Web reference is a Developer reference page and is English only by the repository's docs rules.
Why
#1324 (O2) asks for a Dex Web agent view an operator can use to see what an agent did and what waits for a person, built on the session graph from #1383 and the Action route changes from #1352. Before this change an operator approved a call by typing its interrupt ID into the generic Action form. The view must work when Workers are down, because that is when an operator most needs it, so it reads Attributes rather than calling get_agent_snapshot.
Compatibility
No API, wire, or server change. The tab appears only for a valid Flow Definition Graph 2.0 that declares AgentState, AgentMessages (AttributeMap), AgentToolCalls (AttributeMap), and PendingInterrupts; every other Flow keeps the run page unchanged.
Schema rule for Dex Web (also in the reference): Dex Web reads the session schema by name — the Attributes above plus AgentMessageChunks, AgentMessageIndex, and AgentUsage; the Step types CallTool, CallSingleAttemptTool, PollToolTask, RecordToolFailure, and RecordToolOutcomeUnknown, whose input is a tool call ID; and the Actions resolve_interrupt, answer_question, steer_user_message, and cancel_turn. The rule is additive: Dex Agents may add fields, enum values, Steps, and Actions, and Dex Web ignores what it does not know. Renaming or removing one of these names, or changing a field's meaning, needs a matching Dex Web release. A unit test reads
agents/conformance/session_graph.json, so a rename there fails Web CI.Python and TypeScript sessions get the full tab. A Go session has no questions, steering, or stopping; its tab shows messages, tool calls, approvals, and usage, and each undeclared control is disabled with its reason.
Testing
cd web && npm run check: typecheck and Vitest pass (34 new tests inweb/app/v2/agents/plus one contract test; 488 web tests in all).make copyright-checkandmake docs-prose-checkpass.cd docs && npm run checkpasses. Read the changed agent deployment guide section in English and Simplified Chinese, and the new reference section, in the built site.dex-agents-session-graphand loaded with--flow-rendering-dir; a Stepwise agent with a scripted model reached AwaitToolApproval with two pending calls. From their cards, approved one and rejected the other with a reason; the turn continued, and the agent's final message contained the refund result and the rejection reason. A second browser page loaded before the approval clicked Approve on the same call and showed "Already handled".