Remove Harvest and Monday integrations
This commit is contained in:
parent
fd4c6711b9
commit
e7df4e6fe8
6 changed files with 10 additions and 16 deletions
|
|
@ -410,8 +410,7 @@
|
||||||
"weather": true,
|
"weather": true,
|
||||||
"summarize": true,
|
"summarize": true,
|
||||||
"github": true,
|
"github": true,
|
||||||
"monday": true,
|
"hdn-server": true
|
||||||
"harvest": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -557,8 +556,6 @@
|
||||||
"weather",
|
"weather",
|
||||||
"summarize",
|
"summarize",
|
||||||
"github",
|
"github",
|
||||||
"monday",
|
|
||||||
"harvest",
|
|
||||||
"hdn-server"
|
"hdn-server"
|
||||||
],
|
],
|
||||||
"whitelist_enabled": true,
|
"whitelist_enabled": true,
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ When an incoming message includes a **ChatID** (passed in the `/chat` API or ext
|
||||||
|
|
||||||
1. **Isolated Workspace:** The agent's operations are restricted to `workspace/sessions/{isolationID}/workspace`.
|
1. **Isolated Workspace:** The agent's operations are restricted to `workspace/sessions/{isolationID}/workspace`.
|
||||||
2. **Isolated Memory:** Long-term memory (`MEMORY.md`) is stored and read from the isolated session path.
|
2. **Isolated Memory:** Long-term memory (`MEMORY.md`) is stored and read from the isolated session path.
|
||||||
3. **Isolated Tools:** Tools like `read_file` and `write_file` are automatically pointed to the isolated workspace. Additionally, **MCP server tools** (e.g., Harvest, Monday) and discovery search tools are dynamically registered to each isolated instance, ensuring they inherit the same security boundaries.
|
3. **Isolated Tools:** Tools like `read_file` and `write_file` are automatically pointed to the isolated workspace. Additionally, **MCP server tools** (e.g., GitHub, Google) and discovery search tools are dynamically registered to each isolated instance, ensuring they inherit the same security boundaries.
|
||||||
|
|
||||||
#### Tenant Identification (Inbound Integration)
|
#### Tenant Identification (Inbound Integration)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -417,8 +417,7 @@ data:
|
||||||
"weather": true,
|
"weather": true,
|
||||||
"summarize": true,
|
"summarize": true,
|
||||||
"github": true,
|
"github": true,
|
||||||
"monday": true,
|
"hdn-server": true
|
||||||
"harvest": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -564,8 +563,6 @@ data:
|
||||||
"weather",
|
"weather",
|
||||||
"summarize",
|
"summarize",
|
||||||
"github",
|
"github",
|
||||||
"monday",
|
|
||||||
"harvest",
|
|
||||||
"hdn-server"
|
"hdn-server"
|
||||||
],
|
],
|
||||||
"whitelist_enabled": true,
|
"whitelist_enabled": true,
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ func (c *Checker) ApproveTool(ctx context.Context, req *agent.ToolApprovalReques
|
||||||
if c.Config.AllowedTools[req.Tool] {
|
if c.Config.AllowedTools[req.Tool] {
|
||||||
allowed = true
|
allowed = true
|
||||||
} else {
|
} else {
|
||||||
// Check for prefix matches (e.g. "monday" matches "mcp_monday_...")
|
// Check for prefix matches (e.g. "github" matches "mcp_github_...")
|
||||||
// Match logic consistent with ToolRegistry.Filter
|
// Match logic consistent with ToolRegistry.Filter
|
||||||
for w, ok := range c.Config.AllowedTools {
|
for w, ok := range c.Config.AllowedTools {
|
||||||
if !ok {
|
if !ok {
|
||||||
|
|
|
||||||
|
|
@ -445,7 +445,7 @@ func (r *ToolRegistry) Filter(whitelist []string, enabled bool) {
|
||||||
if _, exact := whitelistMap[name]; exact {
|
if _, exact := whitelistMap[name]; exact {
|
||||||
allowed = true
|
allowed = true
|
||||||
} else {
|
} else {
|
||||||
// Check for prefix matches (e.g. "monday" matches "mcp_monday_...")
|
// Check for prefix matches (e.g. "github" matches "mcp_github_...")
|
||||||
for _, w := range whitelist {
|
for _, w := range whitelist {
|
||||||
// Match exact (redundant but safe) or prefix with underscore
|
// Match exact (redundant but safe) or prefix with underscore
|
||||||
// We also check for "mcp_" prefix specifically to support MCP tool grouping
|
// We also check for "mcp_" prefix specifically to support MCP tool grouping
|
||||||
|
|
|
||||||
|
|
@ -764,14 +764,14 @@ func TestToolRegistry_Filter_SupportsPrefix(t *testing.T) {
|
||||||
r := NewToolRegistry()
|
r := NewToolRegistry()
|
||||||
r.Register(newMockTool("read_file", "core tool"))
|
r.Register(newMockTool("read_file", "core tool"))
|
||||||
r.Register(newMockTool("write_file", "core tool"))
|
r.Register(newMockTool("write_file", "core tool"))
|
||||||
r.Register(newMockTool("mcp_monday_get_items", "mcp tool"))
|
r.Register(newMockTool("mcp_github_get_items", "mcp tool"))
|
||||||
r.Register(newMockTool("mcp_harvest_get_entries", "mcp tool"))
|
r.Register(newMockTool("mcp_google_get_entries", "mcp tool"))
|
||||||
r.Register(newMockTool("tool_search_regex", "discovery tool"))
|
r.Register(newMockTool("tool_search_regex", "discovery tool"))
|
||||||
|
|
||||||
whitelist := []string{"read_file", "monday", "search"}
|
whitelist := []string{"read_file", "github", "search"}
|
||||||
r.Filter(whitelist, true)
|
r.Filter(whitelist, true)
|
||||||
|
|
||||||
// expected: read_file (exact), mcp_monday_get_items (mcp_monday_ prefix), tool_search_regex (tool_search_ prefix)
|
// expected: read_file (exact), mcp_github_get_items (mcp_github_ prefix), tool_search_regex (tool_search_ prefix)
|
||||||
if r.Count() != 3 {
|
if r.Count() != 3 {
|
||||||
t.Errorf("expected 3 tools after filtering, got %d: %v", r.Count(), r.List())
|
t.Errorf("expected 3 tools after filtering, got %d: %v", r.Count(), r.List())
|
||||||
}
|
}
|
||||||
|
|
@ -779,7 +779,7 @@ func TestToolRegistry_Filter_SupportsPrefix(t *testing.T) {
|
||||||
allowed := r.List()
|
allowed := r.List()
|
||||||
expected := map[string]bool{
|
expected := map[string]bool{
|
||||||
"read_file": true,
|
"read_file": true,
|
||||||
"mcp_monday_get_items": true,
|
"mcp_github_get_items": true,
|
||||||
"tool_search_regex": true,
|
"tool_search_regex": true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue