Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
0f09d14
feat: define AgenticModel component interface
mrh997 Oct 16, 2025
cc213db
feat: change the index in StreamMeta to a non-pointer (#573)
mrh997 Nov 25, 2025
52ad46f
feat: improve AgenticResponseMeta definition (#575)
mrh997 Nov 25, 2025
f74acac
feat: improve AssistantGenText definition (#577)
mrh997 Nov 26, 2025
0186a33
feat: improve extension type name (#578)
mrh997 Nov 26, 2025
2bc0966
feat: modify package name (#579)
mrh997 Nov 26, 2025
428bdcf
feat: remove TokenUsage definition in CallbackOutput (#580)
mrh997 Nov 26, 2025
1e7d37d
feat: add helper functions for AgenticMessage (#582)
mrh997 Dec 1, 2025
1f4004c
feat: improve MCPToolCallError definition (#592)
mrh997 Dec 1, 2025
bec3266
feat: improve Options definition (#593)
mrh997 Dec 1, 2025
9c9b8be
feat: add CallbackInput definition for CallbackInput (#594)
mrh997 Dec 1, 2025
df5eea0
feat: define 'omitempty' flag in json tag (#595)
mrh997 Dec 1, 2025
edafdbc
fix: MCPToolApprovalRequest definition (#600)
mrh997 Dec 2, 2025
ed90509
feat: define StreamResponseError for openai (#601)
mrh997 Dec 3, 2025
6a01707
feat: support agentic message concat (#576)
meguminnnnnnnnn Dec 3, 2025
2eaf7af
fix: concat agentic messages (#604)
mrh997 Jan 6, 2026
7a5087f
fix: concat agentic messages (#604)
mrh997 Jan 6, 2026
19bd5a3
fix(schema): agentic concat support extra (#670)
meguminnnnnnnnn Jan 8, 2026
9b5035f
feat(schema): optimize agent message format (#671)
meguminnnnnnnnn Jan 8, 2026
86d23bc
fix: openai ConcatResponseMetaExtensions (#678)
mrh997 Jan 12, 2026
8ed1bfe
feat: improve comment (#679)
mrh997 Jan 12, 2026
238a7a7
feat: add agentic callbacks template (#681)
mrh997 Jan 13, 2026
29b518e
feat: improve AgenticToolChoice (#684)
mrh997 Jan 15, 2026
94799ab
feat: define AgenticCallbackInput/Output (#689)
mrh997 Jan 15, 2026
1bd56ce
feat: improve callback definition (#692)
mrh997 Jan 15, 2026
896141b
feat: improve callback definition (#702)
mrh997 Jan 19, 2026
f3b4045
feat: agentic model support MaxTokens (#703)
mrh997 Jan 19, 2026
87b4a99
feat: agentic model support stop option
mrh997 Jan 20, 2026
35333ff
feat: add json tag for agentic message (#880)
mrh997 Mar 13, 2026
7189d7c
feat(adk): add agentmd middleware for auto-injecting Agents.md into m…
fanlv Mar 13, 2026
355011b
feat(adk): add TurnLoop and Cancellable interfaces
luohq-bytedance Feb 12, 2026
b485962
refactor(adk): improve TurnLoop API signatures
luohq-bytedance Feb 12, 2026
1f50170
fix(adk): TurnLoop.Run
luohq-bytedance Feb 13, 2026
ca1c8b1
chore
meguminnnnnnnnn Feb 14, 2026
5f674e2
chore
meguminnnnnnnnn Feb 14, 2026
b6d24c6
chore
meguminnnnnnnnn Feb 14, 2026
8282cd6
chore
meguminnnnnnnnn Feb 14, 2026
1353c26
feat(adk): modify on agent events (#795)
meguminnnnnnnnn Feb 19, 2026
8b5c020
feat(adk): turn loop support front and exit loop (#796)
meguminnnnnnnnn Feb 21, 2026
64bc098
feat(adk): implement cancel mechanism for ChatModelAgent (#797)
hi-pender Feb 24, 2026
c2c571d
feat(adk): modify cancel func (#800)
meguminnnnnnnnn Feb 24, 2026
4c55952
fix(adk): select cancel after front without preemptive (#802)
meguminnnnnnnnn Feb 24, 2026
2387224
fix: implement IsCallbacksEnabled and GetType for cancelableChatModel…
hi-pender Mar 2, 2026
87eb74f
fix: rebase error
shentongmartin Mar 23, 2026
989db77
refactor(adk): replace TurnLoop with push-based API (#835)
shentongmartin Mar 26, 2026
66aedb3
fix(adk): skip saving checkpoint when TurnLoop is idle (#916)
shentongmartin Mar 27, 2026
0842de7
feat(adk): export NewEventSenderToolWrapper for customizable tool eve…
shentongmartin Apr 1, 2026
d807af3
fix(adk): prevent panic when orphaned tool goroutine sends event afte…
shentongmartin Apr 2, 2026
6255095
feat(adk): improve TurnLoop stop cleanup and add StopOption controls …
shentongmartin Apr 8, 2026
d0e1318
feat(compose): support tool name and argument aliases in ToolsNode (#…
JonXSnow Apr 8, 2026
4a45c5b
feat(adk): add failover support for ChatModel (#885)
fanlv Apr 9, 2026
42cecff
feat: tool search (#884)
meguminnnnnnnnn Apr 9, 2026
303e22e
fix(adk): propagate missing ToolsNodeConfig fields in ChatModelAgent …
JonXSnow Apr 10, 2026
d7161f7
refactor(adk): improve cancel propagation, encapsulate TurnLoop stop …
shentongmartin Apr 14, 2026
f3adfba
feat(middlewares): add permission middleware for tool call gating
shentongmartin Apr 14, 2026
1f7a29e
test(middlewares): add attack tests for permission middleware
shentongmartin Apr 14, 2026
0054beb
refactor(middlewares): address PR review comments for permission midd…
shentongmartin Apr 15, 2026
8b1082f
refactor(middlewares): change Checker param from string to *schema.To…
shentongmartin Apr 15, 2026
1d49154
feat(middlewares): wrap enhanced tool endpoints and add i18n deny mes…
shentongmartin Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,14 @@ output/*

# Reports (generated analysis files)
reports/
/todos

.DS_Store
*.log
*.log*
.claude
CLAUDE.md
*.jsonl
*.txt

# Specs directories
*/specs
Expand Down
21 changes: 18 additions & 3 deletions adk/agent_tool.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,16 +167,19 @@ func (at *agentTool) InvokableRun(ctx context.Context, argumentsInJSON string, o
}

iter = newInvokableAgentToolRunner(at.agent, ms, enableStreaming).Run(ctx, input,
append(getOptionsByAgentName(at.agent.Name(ctx), opts), WithCheckPointID(bridgeCheckpointID), withSharedParentSession())...)
append(extractAndDeriveCancelCtx(ctx, at.agent.Name(ctx), opts), WithCheckPointID(bridgeCheckpointID), withSharedParentSession())...)
} else {
if !hasState {
return "", fmt.Errorf("agent tool '%s' interrupt has happened, but cannot find interrupt state", at.agent.Name(ctx))
}

ms = newResumeBridgeStore(state)
ms = newResumeBridgeStore(bridgeCheckpointID, state)

agentOpts := extractAndDeriveCancelCtx(ctx, at.agent.Name(ctx), opts)
agentOpts = append(agentOpts, withSharedParentSession())

iter, err = newInvokableAgentToolRunner(at.agent, ms, enableStreaming).
Resume(ctx, bridgeCheckpointID, append(getOptionsByAgentName(at.agent.Name(ctx), opts), withSharedParentSession())...)
Resume(ctx, bridgeCheckpointID, agentOpts...)
if err != nil {
return "", err
}
Expand Down Expand Up @@ -281,6 +284,18 @@ func getOptionsByAgentName(agentName string, opts []tool.Option) []AgentRunOptio
return ret
}

func extractAndDeriveCancelCtx(ctx context.Context, agentName string, opts []tool.Option) []AgentRunOption {
agentOpts := getOptionsByAgentName(agentName, opts)
baseOpts := getCommonOptions(nil, agentOpts...)
if baseOpts.cancelCtx != nil {
childCtx := baseOpts.cancelCtx.deriveChild(ctx)
agentOpts = append(agentOpts, WrapImplSpecificOptFn(func(o *options) {
o.cancelCtx = childCtx
}))
}
return agentOpts
}

func getEmitGeneratorAndEnableStreaming(opts []tool.Option) (*AsyncGenerator[*AgentEvent], bool) {
o := tool.GetImplSpecificOptions[agentToolOptions](nil, opts...)
if o == nil {
Expand Down
Loading
Loading