Skip to content
Open
Show file tree
Hide file tree
Changes from 154 commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
f93bcf3
Wire bridge agents to real context and add eligible tool allowlist
cursoragent Feb 14, 2026
5d7c80b
Reject allowed_tools on service stream endpoint
cursoragent Feb 14, 2026
21ecab5
Expand bridge tests for allowed tools validation and permissions
cursoragent Feb 14, 2026
3344012
Skip failing MCP servers during bridge tool discovery
cursoragent Feb 14, 2026
159ac4d
Add tests for OAuth transport without manager
cursoragent Feb 14, 2026
041ec32
Add bridge tests for tools-disabled agent behavior
cursoragent Feb 14, 2026
403cbd1
Cover streaming allowed-tools auto-run on bridge agents
cursoragent Feb 14, 2026
4924b16
Test explicit empty allowed_tools payload rejection
cursoragent Feb 14, 2026
3b63828
Add bridge dedupe and client discovery validation tests
cursoragent Feb 14, 2026
b8f5c69
Document user-filtered agent tool discovery
cursoragent Feb 14, 2026
f187904
Add bridge tests for ineligible tools and partial MCP outages
cursoragent Feb 14, 2026
4533a6d
Refactor bridge agent completion preparation flow
cursoragent Feb 14, 2026
49a928e
Test sorted eligible tool discovery for allowed users
cursoragent Feb 14, 2026
beae118
Test raw service requests rejecting empty allowed_tools
cursoragent Feb 14, 2026
c8bc4bf
Add MCP-disabled discovery test and clarify eligibility docs
cursoragent Feb 14, 2026
48e80df
Add bridge tests for allowed tool name trimming and agent-not-found d…
cursoragent Feb 14, 2026
95de980
Test no-eligible-tools failure path for bridge allowed_tools
cursoragent Feb 14, 2026
05614aa
Test stream no-eligible-tools failure for bridge allowed_tools
cursoragent Feb 14, 2026
f9a7fb0
Clarify allowed_tools validation constraints in bridge docs
cursoragent Feb 14, 2026
b10ab5d
Document empty/sorted behavior for eligible tool discovery
cursoragent Feb 14, 2026
daab08b
Test streaming bridge defaults to tools-disabled without allowlist
cursoragent Feb 14, 2026
3d10630
Add stream rejection test for ineligible allowed tool
cursoragent Feb 14, 2026
71fe879
Validate user_id query on bridge discovery endpoints
cursoragent Feb 14, 2026
95acc47
Add bridgeclient validation tests for agents/services discovery
cursoragent Feb 14, 2026
df599ef
Add bridgeclient GetAgentTools transport behavior tests
cursoragent Feb 14, 2026
be9c819
Expand bridge discovery client response handling tests
cursoragent Feb 14, 2026
ecbd691
Test discovery requests omit user query when unset
cursoragent Feb 14, 2026
1d062a7
Escape discovery user_id query values consistently
cursoragent Feb 14, 2026
21b3684
Add discovery client edge-case parsing tests
cursoragent Feb 14, 2026
3c0f2a5
Cover discovery client malformed and plain-text responses
cursoragent Feb 14, 2026
a56c861
Add bridgeclient completion request/streaming tests
cursoragent Feb 14, 2026
d39a0a4
Add bridgeclient transport round-tripper tests
cursoragent Feb 14, 2026
9dd79bb
Document bridgeclient local input validation behavior
cursoragent Feb 14, 2026
327f2d3
Add bridgeclient constructor tests and shared test helper
cursoragent Feb 14, 2026
b149dbd
Test service completion path escaping in bridgeclient
cursoragent Feb 14, 2026
93d41bd
Test bridgeclient streaming ignores non-data SSE lines
cursoragent Feb 14, 2026
132ed55
Expand bridgeclient completion malformed-response coverage
cursoragent Feb 14, 2026
ad699a5
Normalize bridgeclient stream error events to error values
cursoragent Feb 14, 2026
e154751
Document normalized stream error values in bridgeclient
cursoragent Feb 14, 2026
49080b0
Add map/nil stream error normalization tests
cursoragent Feb 14, 2026
a45396a
Add table-driven tests for stream error normalization
cursoragent Feb 14, 2026
744e168
Harden stream error normalization fallbacks
cursoragent Feb 14, 2026
419d788
Unify bridgeclient HTTP error parsing and fallback behavior
cursoragent Feb 14, 2026
76b5c46
Document bridgeclient HTTP error fallback behavior
cursoragent Feb 14, 2026
2f8c98e
Add bridgeclient read-body failure path tests
cursoragent Feb 14, 2026
489bcb3
Expand requestFailedError trimming and fallback tests
cursoragent Feb 14, 2026
f1c00ef
Share erroringReader helper across bridgeclient tests
cursoragent Feb 14, 2026
6a93485
Add status-only error tests for empty response bodies
cursoragent Feb 14, 2026
bb5e21f
Add stream map-message and blank-error normalization tests
cursoragent Feb 14, 2026
9db5cff
Refactor discovery GET logic into shared JSON helper
cursoragent Feb 14, 2026
6d06ce0
Add unit tests for shared discovery GET helper
cursoragent Feb 14, 2026
fd501b0
Cover doGetJSON response body read failure path
cursoragent Feb 14, 2026
3db2a50
Expand doGetJSON tests for method and empty-body errors
cursoragent Feb 14, 2026
5351f5e
Add marshal failure tests for completion methods
cursoragent Feb 14, 2026
3d80fcc
Refactor completion request creation into shared helper
cursoragent Feb 14, 2026
87bee90
Add direct tests for completion request builder helper
cursoragent Feb 14, 2026
5020b55
Add trimmed plain-text fallback case for request errors
cursoragent Feb 14, 2026
959fdaa
Add doGetJSON fallback test for blank json error field
cursoragent Feb 14, 2026
64aba31
Add transport execution error tests for bridgeclient methods
cursoragent Feb 14, 2026
44217ac
Refactor user_id query handling into shared discovery helper
cursoragent Feb 14, 2026
dc7dc79
Handle existing query parameters in discovery user_id helper
cursoragent Feb 14, 2026
5ecaff9
Handle trailing query separators in user_id URL helper
cursoragent Feb 14, 2026
a764040
Use URL parsing for robust discovery user_id query handling
cursoragent Feb 14, 2026
f2d0f1e
Increase SSE scanner buffer for large streaming events
cursoragent Feb 14, 2026
bd2ff66
Test stream error behavior when SSE line exceeds limit
cursoragent Feb 14, 2026
f738c41
Guard doGetJSON against nil targets and clean requestURL naming
cursoragent Feb 14, 2026
5d5c4a7
Refactor service completion URL generation into helper
cursoragent Feb 14, 2026
096833e
Refactor agent completion URL generation into helper
cursoragent Feb 14, 2026
ab41f9f
Validate non-empty request URLs in shared HTTP helpers
cursoragent Feb 14, 2026
2066e3b
Require non-nil pointer response targets in doGetJSON
cursoragent Feb 14, 2026
af72001
Trim service names when building completion URLs
cursoragent Feb 14, 2026
1318964
Trim agent IDs when building completion URLs
cursoragent Feb 14, 2026
0c7c33b
Document completion endpoint input trimming behavior
cursoragent Feb 14, 2026
a5ed8db
Add completion tests for trimmed endpoint identifiers
cursoragent Feb 14, 2026
fa62324
Trim discovery agent and user identifiers before validation
cursoragent Feb 14, 2026
7820078
Treat whitespace-only discovery user IDs as unset
cursoragent Feb 14, 2026
59f0e35
Cover whitespace-only discovery user filter behavior
cursoragent Feb 14, 2026
0181100
Accept SSE data lines without required space
cursoragent Feb 14, 2026
ddfc683
Allow tab-indented SSE data payload prefixes
cursoragent Feb 14, 2026
56dae06
Add stream trimming tests for agent and service paths
cursoragent Feb 14, 2026
e02011e
Normalize optional bridge discovery user_id query values
cursoragent Feb 14, 2026
f136022
Normalize and validate completion request principal IDs
cursoragent Feb 14, 2026
5f340ba
Document bridge validation for completion principal IDs
cursoragent Feb 14, 2026
2a24271
Add stream validation coverage for principal IDs
cursoragent Feb 14, 2026
8bbfc2e
Cover service whitespace principal ID normalization behavior
cursoragent Feb 14, 2026
7be163c
Sort bridge agent and service discovery responses
cursoragent Feb 14, 2026
199eac4
Document sorted ordering for bridge discovery lists
cursoragent Feb 14, 2026
d1662a9
Test discovery sort tie-breakers by stable IDs
cursoragent Feb 14, 2026
8c6c976
Validate and normalize agent path IDs in bridge handlers
cursoragent Feb 14, 2026
d8c2fd5
Normalize service path identifiers in bridge completions
cursoragent Feb 14, 2026
94d8599
Document bridge path identifier validation behavior
cursoragent Feb 14, 2026
4e3a1cc
Cover trimmed agent path behavior on raw endpoints
cursoragent Feb 14, 2026
90b9663
Cover agent tools endpoint path normalization behavior
cursoragent Feb 14, 2026
849a2e8
Add direct unit coverage for bridge normalization helpers
cursoragent Feb 14, 2026
07b237d
Expand raw path trimming tests for tab-encoded IDs
cursoragent Feb 14, 2026
3625059
Add tab-whitespace coverage for raw bridge path normalization
cursoragent Feb 14, 2026
3f36fa8
Extend permissions matrix for channel-only validation semantics
cursoragent Feb 14, 2026
aa317c5
Clarify channel check requires user ID in bridge docs
cursoragent Feb 14, 2026
3a38455
Cover stream path trimming for tab-encoded identifiers
cursoragent Feb 14, 2026
7110a9b
Cover tab-encoded trimming on agent tools discovery path
cursoragent Feb 14, 2026
1600acc
Expand helper tests for newline-trim normalization inputs
cursoragent Feb 14, 2026
dd01e9a
Document discovery sort keys in bridgeclient README
cursoragent Feb 14, 2026
b31b674
Broaden helper coverage for newline-trim principal IDs
cursoragent Feb 14, 2026
ab37388
Add newline-only query normalization coverage for discovery endpoints
cursoragent Feb 14, 2026
499955a
Document discovery query whitespace normalization behavior
cursoragent Feb 14, 2026
dc5afa7
Expand bridgeclient URL builder tests for newline trimming
cursoragent Feb 14, 2026
937ecf8
Add newline-wrapped discovery identifier normalization tests
cursoragent Feb 15, 2026
acb9ac9
Add bridge tests for newline-wrapped principal ID trimming
cursoragent Feb 15, 2026
d25c613
Expand bridge path normalization tests for newline-encoded IDs
cursoragent Feb 15, 2026
2e433bb
Add bridgeclient method tests for newline path trimming
cursoragent Feb 15, 2026
1cf572a
Add discovery method tests for newline-wrapped user IDs
cursoragent Feb 15, 2026
c0ca10d
Add bridge rejection tests for newline-only path identifiers
cursoragent Feb 15, 2026
bbb90ab
Expand bridgeclient validation tests for newline-only identifiers
cursoragent Feb 15, 2026
19eb7ea
Fix govet shadow warnings in bridge API handlers
cursoragent Feb 15, 2026
648dc6b
Trigger CI rerun after flaky e2e-tool-calling failure
cursoragent Feb 15, 2026
1ffcc02
Add stream newline trimming coverage in bridgeclient completion tests
cursoragent Feb 15, 2026
b7a1c84
Refactor bridge tests to remove redundant low-signal cases
nickmisasi Feb 27, 2026
6dd9e51
tools to create automations against automation plugin
BenCookie95 Mar 3, 2026
ee819a8
adding support for allowed_tools and constrained params for said tool…
BenCookie95 Mar 4, 2026
977a798
add dynamic tool constraints for completion requests
BenCookie95 Mar 9, 2026
895244e
Merge remote-tracking branch 'origin/automation-mcp-tools' into autom…
BenCookie95 Mar 10, 2026
8a5ce57
fix empty input schema properties
BenCookie95 Mar 10, 2026
cdc30e1
Merge remote-tracking branch 'origin/automation-mcp-tools' into autom…
BenCookie95 Mar 10, 2026
0d733c0
Merge remote-tracking branch 'origin/master' into automation-mcp-tools
BenCookie95 Mar 10, 2026
9d54e41
update mcp tools
BenCookie95 Mar 10, 2026
4ea61b6
merge branches and fix conflicts
BenCookie95 Mar 11, 2026
18391a2
modify tool creation description
BenCookie95 Mar 11, 2026
29548e4
Merge remote-tracking branch 'origin/automation-mcp-tools' into autom…
BenCookie95 Mar 11, 2026
cac0dc3
add native websearch
BenCookie95 Mar 12, 2026
57e5e82
adjust prompt for demo and add as_bot_id
BenCookie95 Mar 12, 2026
05f21b5
log automation errors and make sure start date is in the future
BenCookie95 Mar 13, 2026
36f6b18
remove guardrails
BenCookie95 Mar 13, 2026
4915f52
cleanup
BenCookie95 Mar 13, 2026
a9ebbac
conflicts
BenCookie95 Mar 17, 2026
ac59d01
remove service account stuff and include tools that you have used oau…
BenCookie95 Mar 18, 2026
bdc8f11
revert changes to client
BenCookie95 Mar 18, 2026
05666f4
remove defensive checks
BenCookie95 Mar 18, 2026
fbf9a8d
remove defensive checks
BenCookie95 Mar 18, 2026
d11cfc3
fix up mcp server tools
BenCookie95 Mar 18, 2026
0cbe8b4
remove low value tests
BenCookie95 Mar 18, 2026
90ae92f
cleanup
BenCookie95 Mar 18, 2026
0374dc7
clean up tests
BenCookie95 Mar 18, 2026
ab8bc93
cleanup
BenCookie95 Mar 18, 2026
806e2f5
remove unneeded system prompt
BenCookie95 Mar 18, 2026
478f56c
fix test panics
BenCookie95 Mar 18, 2026
2e1a183
pr comments
BenCookie95 Mar 18, 2026
ca9f88b
lint
BenCookie95 Mar 19, 2026
c5ce805
fix tests
BenCookie95 Mar 19, 2026
97b9d14
conflicts
BenCookie95 Mar 20, 2026
14c713e
fix tool call for tools with no parameters
BenCookie95 Mar 20, 2026
94d21d9
Merge remote-tracking branch 'origin/master' into automation-demo
BenCookie95 Mar 26, 2026
4320d12
fix PR comments
BenCookie95 Mar 27, 2026
91359eb
fix validation and move automation plugin detection
BenCookie95 Mar 27, 2026
916e440
add ID validation for automation IDs
BenCookie95 Mar 30, 2026
950ec81
Merge remote-tracking branch 'origin/master' into automation-demo
fmartingr Mar 31, 2026
7a2eb37
fix background tool usage, clean up PR comments
BenCookie95 Apr 6, 2026
e2bb584
let mcpserver determine automation tool visibility
BenCookie95 Apr 6, 2026
50383b2
conflicts
BenCookie95 Apr 6, 2026
3e89e6d
lint
BenCookie95 Apr 6, 2026
c3b1079
remove unused code
BenCookie95 Apr 6, 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
9 changes: 5 additions & 4 deletions api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,14 @@ func (a *API) ServeHTTP(c *plugin.Context, w http.ResponseWriter, r *http.Reques
llmBridgeRoute.Use(a.interPluginAuthorizationRequired)

// Discovery endpoints
llmBridgeRoute.GET("/agents", a.handleGetAgents)
llmBridgeRoute.GET("/services", a.handleGetServices)
llmBridgeRoute.GET("/agents", a.validateUserIDQuery, a.handleGetAgents)
llmBridgeRoute.GET("/agents/:agent/tools", a.validateAgentParam, a.validateUserIDQuery, a.handleGetAgentTools)
llmBridgeRoute.GET("/services", a.validateUserIDQuery, a.handleGetServices)

// Completion endpoints
completionRoute := llmBridgeRoute.Group("/completion")
completionRoute.POST("/agent/:agent", a.handleAgentCompletionStreaming)
completionRoute.POST("/agent/:agent/nostream", a.handleAgentCompletionNoStream)
completionRoute.POST("/agent/:agent", a.validateAgentParam, a.handleAgentCompletionStreaming)
completionRoute.POST("/agent/:agent/nostream", a.validateAgentParam, a.handleAgentCompletionNoStream)
completionRoute.POST("/service/:service", a.handleServiceCompletionStreaming)
completionRoute.POST("/service/:service/nostream", a.handleServiceCompletionNoStream)

Expand Down
5 changes: 2 additions & 3 deletions api/api_channel_license_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,10 @@ func TestChannelAnalysisLicenseMiddleware(t *testing.T) {
})

e.api.licenseChecker = enterprise.NewLicenseChecker(e.client)
e.mockAPI.On("GetConfig").Return(&model.Config{}).Maybe()
if test.licensed {
e.mockAPI.On("GetLicense").Return(&model.License{SkuShortName: "advanced"}).Maybe()
e.OverrideLicense(&model.License{SkuShortName: "advanced"})
} else {
e.mockAPI.On("GetLicense").Return(&model.License{}).Maybe()
e.OverrideLicense(&model.License{})
}

e.mockAPI.On("GetChannel", "channelid").Return(&model.Channel{
Expand Down
Loading