Skip to content

feat: integrate Data Tables, Tools, MCP, and Knowledge improvements - #468

Merged
esafwan merged 125 commits into
developfrom
integration/huf-consolidation-2026-07
Jul 26, 2026
Merged

feat: integrate Data Tables, Tools, MCP, and Knowledge improvements#468
esafwan merged 125 commits into
developfrom
integration/huf-consolidation-2026-07

Conversation

@esafwan

@esafwan esafwan commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Purpose

Final integration gate for the approved consolidation work before develop.

Included umbrella PRs

Chronological merge order

  1. Data Tables
  2. Shared tool creation UX
  3. Google Search
  4. Perplexity Search
  5. Google Places
  6. SerpApi
  7. MCP
  8. Vector backends and registry

Original PR mapping

The umbrella descriptions contain the complete source-PR mapping and feature summary. The original implementation PRs were closed after their changes were represented in #460#467.

Validation

  • Python compilation passed for the consolidated Huf AI, knowledge, tools, MCP, and Data Table areas.
  • git diff --check passed.
  • Frontend typecheck remains pending because tsc is not installed in the checkout.
  • Bench/browser validation must run against integration/huf-consolidation-2026-07 before merging this PR into develop.

esafwan added 30 commits June 1, 2026 19:27
- embedding.py: configurable litellm_embedding_timeout (default 600s) passed
  as request_timeout; Ollama 400 single retry; batch_size=1 for ollama/ models
- knowledge_source.py: test_connection whitelist API (tests pgvector + embedding)
- knowledge_source.py: _warn_if_embedding_changed() warning when provider/model
  changes on a source with existing chunks
- knowledge_source.js: Test Connection button handler with results dialog
- knowledge_source.json: Test Connection button field (pgvector only)
- knowledge_input.json: file field description updated to mention litellm_embedding_timeout
Add get_table_agent_access / set_table_agent_access to
huf/huf/doctype/huf_data_table/api.py: from a HUF Table, scaffold
deterministic Agent Tool Function docs (view -> Get List + Get Document,
create/edit/delete -> Create/Update/Delete Document), attach/detach them
on an agent's agent_tool child table idempotently, and report which
agents have access. Tool docs are reused by deterministic name and never
deleted on uncheck. params/function_definition are left to the Agent
Tool Function controller's auto-generation.

Adds IntegrationTestCase suite (8 tests) covering scaffolding shape,
idempotency, detach semantics, get/set round-trip, partial-view state,
and the flows.manage capability guard.
Create/Update/Get List tools scaffolded via set_table_agent_access now get
Agent Function Params rows built from the table's DocType meta, so the
generated function_definition exposes the real fields (previously Create had
empty properties with additionalProperties: false). Re-running refreshes
parameters compare-then-save; layout/hidden/read-only fields are excluded;
reqd maps to required only on Create tools.
Add TableAgentAccessModal (agent picker + View/Create/Edit/Delete
checkboxes) wired to the huf_data_table agent-access endpoints, entry
points on the data list page and table view kebab, and a bulk-fetched
"N agents" badge on table cards (2 REST calls, no N+1).
…ndly modal error

BUG-1: the 'N agents' badge could never render — the frontend computed
counts by REST-listing the Agent Tool child table, and Frappe strips all
fields from child-table rows queried without a parent context, so the
grouping always yielded {}. Add get_tables_agent_counts() (flows.use),
reusing _compute_access so distinct agents are counted server-side in one
call, and point the frontend at it. The dead child-table REST code (and
the doctype map entry it needed) is removed.

BUG-2: the access modal's error state showed raw JS error text. It now
shows a friendly message and logs the technical detail to the console.

Also replaces two pre-existing 'as any' filter casts in dataTableApi.ts
with an explicit getDocList filter type so the touched file is
eslint-clean.
This was referenced Jul 26, 2026
@esafwan esafwan changed the title integration: consolidate Data Tables, tools, MCP, and vector backends feat: integrate Data Tables, Tools, MCP, and Knowledge improvements Jul 26, 2026
@esafwan
esafwan merged commit 1042972 into develop Jul 26, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant