How datagallery-ai/dataagent works
DataFoundry is an enterprise data-agent workbench: a user submits an analysis question, the API assembles a governed agent run, and streamed events and outputs become inspectable, replayable results. The Web workbench is the documented primary entry point; the TUI is an alternate client. Major supporting capabilities include semantic context, multi-source read-only data access, knowledge retrieval, reusable artifacts, and optional DataLink graph grounding. Edges reflect shown imports/calls or README statements; DataLink’s MCP connection and some unsampled subsystem wiring are documented at a high level only.
Main entry points: server.ts API server · action-router.ts Agent actions · run-event-pipeline.ts Event pipeline · data-tasks-app.tsx Web workbench
Components 23
User workbenches
- Web workbench
apps/web/src/app/data-tasks/data-tasks-app.tsx - Terminal client
apps/tui/src/ui/App.tsx - Trace console
apps/web/src/app/data-tasks/components/task-console/TraceDagCanvas.tsx
API and runs
- API server
apps/api/src/server.ts - Authentication
apps/api/src/auth/routes.ts - Run configuration
apps/api/src/run-config-resolver.ts - Run assembly
apps/api/src/run-agent-assembly.ts - Event pipeline
apps/api/src/run-event-pipeline.ts - Conversation memory
apps/api/src/conversation-memory.ts
Agent runtime
- Agent actions
packages/agent-runtime/src/capabilities/action-router.ts - Context assembly
packages/agent-runtime/src/context/inventory/context-package-builder.ts - Protocol routing
packages/agent-runtime/src/protocol/protocol-router.ts - Governed tools
packages/agent-runtime/src/tools/governed-tool-factory.ts
Data and knowledge
- Datasource adapters
packages/data-gateway/src/adapter-registry.ts - Knowledge retrieval
packages/knowledge/src/retriever.ts - Run persistence
packages/metadata/src/config-store.ts - Session outputs
packages/artifacts/src/session-output-service.ts
Semantic graph
- DataLink service
services/datalink/src/datalink/api/server.py - Graph build pipeline
services/datalink/src/datalink/builder/pipeline.py - Graph storage
services/datalink/src/datalink/graph/storage.py - Graph retrieval
services/datalink/src/datalink/graph/retrieval.py - MCP interface
services/datalink/src/datalink/mcp/server.py
Other components
- Analyst
Connections 25
- Analyst → Web workbench: asks question
README.md - Web workbench → API server: submits run
README.md - Terminal client → API server: calls API
- API server → Authentication: routes auth
apps/api/src/server.ts - API server → Run configuration: resolves config
apps/api/src/server.ts - API server → Run assembly: assembles run
apps/api/src/server.ts - API server → Conversation memory: persists message
apps/api/src/server.ts - Run assembly → Agent actions: configures actions
- Agent actions → Context assembly: uses context
- Agent actions → Protocol routing: routes protocol
- Agent actions → Governed tools: dispatches tools
- Governed tools → Datasource adapters: queries sources
- Context assembly → Knowledge retrieval: retrieves knowledge
- API server → Event pipeline: creates writer
apps/api/src/server.ts - Event pipeline → Run persistence: writes events
apps/api/src/run-event-pipeline.ts - Event pipeline → Conversation memory: observes events
apps/api/src/run-event-pipeline.ts - Event pipeline → Trace console: projects trace
- Agent actions → Session outputs: ingests outputs
- Web workbench → Trace console: renders trace
apps/web/src/app/data-tasks/data-tasks-app.tsx - Analyst → DataLink service: configures semantics
README.md - DataLink service → Graph build pipeline: runs build
services/datalink/src/datalink/api/server.py - Graph build pipeline → Graph storage: stores graph
services/datalink/src/datalink/builder/pipeline.py - MCP interface → Graph retrieval: queries graph
services/datalink/src/datalink/mcp/server.py - Graph retrieval → Graph storage: reads graph
- Agent actions → MCP interface: uses optional MCP
README.md