- ToolRegistry: named tools with parameter validation and audit logging
- 6 built-in staffing tools:
search_candidates (skills, city, state, experience, availability)
get_candidate (by ID)
revenue_by_client (top N by billed revenue)
recruiter_performance (placements, revenue per recruiter)
cold_leads (called N+ times, never placed)
open_jobs (by vertical, city)
- Each tool: name, description, params, permission level (read/write/admin)
- SQL template with validated parameter substitution
- Full audit trail: every invocation logged with agent, params, result
- Endpoints: GET /tools (list), GET /tools/{name} (schema),
POST /tools/{name}/call (execute), GET /tools/audit (log)
- Per ADR-015: governed interface before raw SQL for agents
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
31 lines
902 B
TOML
31 lines
902 B
TOML
[package]
|
|
name = "gateway"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
shared = { path = "../shared" }
|
|
storaged = { path = "../storaged" }
|
|
catalogd = { path = "../catalogd" }
|
|
queryd = { path = "../queryd" }
|
|
aibridge = { path = "../aibridge" }
|
|
ingestd = { path = "../ingestd" }
|
|
vectord = { path = "../vectord" }
|
|
journald = { path = "../journald" }
|
|
tokio = { workspace = true }
|
|
axum = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
tower-http = { workspace = true }
|
|
object_store = { workspace = true }
|
|
proto = { path = "../proto" }
|
|
tonic = { workspace = true }
|
|
opentelemetry = { workspace = true }
|
|
opentelemetry_sdk = { workspace = true }
|
|
opentelemetry-stdout = { workspace = true }
|
|
tracing-opentelemetry = { workspace = true }
|
|
arrow = { workspace = true }
|
|
chrono = { workspace = true }
|