ai: migrate docs-search to @crema/lexical-rag-ui

Replace the in-app docs-search.ts and build-docs-index.mjs with the
new sibling lib (@crema/lexical-rag-ui). Wire-up only — same index
shape, same tool response shape, same MiniSearch config, so the agent
sees no behavior change.

- tsconfig + app.css: wire the lib; alias minisearch to consumer's
  node_modules so sibling-lib resolution works.
- admin-tools.ts: createRAGClient("/docs-index.json"), keep search_docs
  tool's response shape unchanged (collapse tags[] back to category).
- ai.tsx: define DocHit locally — it's the tool-response shape, no
  longer the lib's internal type.
- scripts/build-docs-index.mjs: thin wrapper that injects MiniSearch
  and calls buildIndex. Per-app sources list and tags live here.
- package.json: add minisearch dep + build:docs script + prebuild hook.
- .gitignore: don't commit the generated /public/docs-index.json.

Delete: app/lib/docs-search.ts (was untracked; its logic moved to lib).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
jules
2026-05-03 20:34:55 +10:00
parent 9cbe921db7
commit 49a9b019fc
8 changed files with 92 additions and 5 deletions

View File

@@ -62,6 +62,8 @@
"@crema/diagram-ui/*": ["../lib-diagram-ui/src/*"],
"@crema/onboarding-ui": ["../lib-onboarding-ui/src/index.tsx"],
"@crema/onboarding-ui/*": ["../lib-onboarding-ui/src/*"],
"@crema/lexical-rag-ui": ["../lib-lexical-rag-ui/src/index.tsx"],
"@crema/lexical-rag-ui/*": ["../lib-lexical-rag-ui/src/*"],
"// CREMA:PATHS": [""],
"react": ["./node_modules/@types/react"],
"react/*": ["./node_modules/@types/react/*"],
@@ -69,6 +71,7 @@
"react-dom/*": ["./node_modules/@types/react-dom/*"],
"clsx": ["./node_modules/clsx"],
"tailwind-merge": ["./node_modules/tailwind-merge"],
"minisearch": ["./node_modules/minisearch"],
"lucide-react": ["./node_modules/lucide-react"],
"openapi-fetch": ["./node_modules/openapi-fetch"],
"openapi-fetch/*": ["./node_modules/openapi-fetch/*"],