Skip to content

fix(semantic-search): process AI Search indexing in batches#69

Merged
aryasaatvik merged 5 commits into
devfrom
feat/semantic-search-ai-search-queue
Jun 27, 2026
Merged

fix(semantic-search): process AI Search indexing in batches#69
aryasaatvik merged 5 commits into
devfrom
feat/semantic-search-ai-search-queue

Conversation

@aryasaatvik

@aryasaatvik aryasaatvik commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • add batch-oriented AI Search reindexing so hosts can submit bounded catalog pages
  • make AI Search item names fingerprinted and reconcile remote/local item state safely
  • update the semantic-search operator UI copy/status/error handling for Cloudflare AI Search

Validation

  • bun run --filter @executor-js/plugin-semantic-search test -- src/sdk/ai-search.test.ts src/sdk/plugin.test.ts
  • bun run --filter @executor-js/plugin-semantic-search typecheck
  • ./node_modules/.bin/oxfmt --check packages/plugins/semantic-search/src/api/group.ts packages/plugins/semantic-search/src/api/handlers.ts packages/plugins/semantic-search/src/react/SearchPage.tsx packages/plugins/semantic-search/src/sdk/ai-search.test.ts packages/plugins/semantic-search/src/sdk/ai-search.ts packages/plugins/semantic-search/src/sdk/documents.ts packages/plugins/semantic-search/src/sdk/index.ts packages/plugins/semantic-search/src/sdk/plugin.test.ts packages/plugins/semantic-search/src/sdk/plugin.ts packages/plugins/semantic-search/src/sdk/tool-search-backend.ts
  • ./node_modules/.bin/oxlint -c .oxlintrc.jsonc packages/plugins/semantic-search/src/api/group.ts packages/plugins/semantic-search/src/api/handlers.ts packages/plugins/semantic-search/src/react/SearchPage.tsx packages/plugins/semantic-search/src/sdk/ai-search.test.ts packages/plugins/semantic-search/src/sdk/ai-search.ts packages/plugins/semantic-search/src/sdk/documents.ts packages/plugins/semantic-search/src/sdk/index.ts packages/plugins/semantic-search/src/sdk/plugin.test.ts packages/plugins/semantic-search/src/sdk/plugin.ts packages/plugins/semantic-search/src/sdk/tool-search-backend.ts --deny-warnings

Stack

  1. fix(semantic-search): process AI Search indexing in batches #69 👈 current
  2. refactor(semantic-search): use ai sdk embedder contract #70

Remove embedding model validation from the AI Search backend so the bound Cloudflare AI Search instance remains the source of truth for embedding model configuration.
@greptile-apps

greptile-apps Bot commented Jun 27, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds Cloudflare AI Search support for semantic search. The main changes are:

  • Batch-oriented AI Search reindexing.
  • Fingerprinted AI Search item names.
  • Remote and local item reconciliation.
  • Cloudflare Workers AI embedder support.
  • Updated operator UI status and error copy.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
packages/plugins/semantic-search/src/sdk/embedder-cloudflare.ts Adds the Cloudflare Workers AI embedder with vector count and dimension validation.
packages/plugins/semantic-search/src/sdk/ai-search.ts Adds batch reindexing, fingerprinted item names, and AI Search item reconciliation.
packages/plugins/semantic-search/src/sdk/index.ts Updates semantic-search package exports for the AI Search and Cloudflare embedder APIs.
packages/plugins/semantic-search/src/react/SearchPage.tsx Updates the semantic-search operator UI for AI Search status and errors.

Reviews (3): Last reviewed commit: "refactor(semantic-search): inline worker..." | Re-trigger Greptile

Comment thread packages/plugins/semantic-search/src/sdk/embedder-cloudflare.ts Outdated
Comment thread packages/plugins/semantic-search/src/sdk/index.ts
Comment thread packages/plugins/semantic-search/src/sdk/index.ts
@aryasaatvik aryasaatvik merged commit 9ab0e41 into dev Jun 27, 2026
8 checks passed
aryasaatvik added a commit that referenced this pull request Jun 27, 2026
## Summary

Simplifies the semantic-search vector embedding API to a single AI
SDK-backed `makeEmbedder` contract. Hosts now create provider models and
pass an explicit embedder into the vector backend.

## Changes

- Replace Gemini, Cloudflare Workers AI, and raw OpenAI-compatible
plugin constructors with generic `makeEmbedder`.
- Remove provider-specific vector backend options such as `workersAi`,
`geminiApiKey`, and embedder model config.
- Keep provider construction only in the local eval harness and add
focused tests for batching, provider options, and dimension validation.

## Tests

- `./node_modules/.bin/oxfmt --check
packages/plugins/semantic-search/src/sdk/embedder.ts
packages/plugins/semantic-search/src/sdk/embedder.test.ts
packages/plugins/semantic-search/src/sdk/embedding-service.ts
packages/plugins/semantic-search/src/sdk/eval.ts
packages/plugins/semantic-search/src/sdk/index.ts
packages/plugins/semantic-search/src/sdk/tool-search-backend.ts
packages/plugins/semantic-search/package.json
packages/plugins/semantic-search/tsup.config.ts`
- `./node_modules/.bin/oxlint -c .oxlintrc.jsonc
packages/plugins/semantic-search/src/sdk/embedder.ts
packages/plugins/semantic-search/src/sdk/embedder.test.ts
packages/plugins/semantic-search/src/sdk/embedding-service.ts
packages/plugins/semantic-search/src/sdk/eval.ts
packages/plugins/semantic-search/src/sdk/index.ts
packages/plugins/semantic-search/src/sdk/tool-search-backend.ts
--deny-warnings`
- `bun run --filter @executor-js/plugin-semantic-search test --
src/sdk/embedder.test.ts src/sdk/plugin.test.ts src/sdk/search.test.ts`
- `bun run --filter @executor-js/plugin-semantic-search typecheck`
- `bun run --filter @executor-js/plugin-semantic-search test`

<!-- stack:links:start -->
### [Stack](https://github.com/aryasaatvik/stack)

1. #69
2. **#70** 👈 current
<!-- stack:links:end -->
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