Skip to content

Typesense v1#83

Draft
clarkd wants to merge 1 commit into
mainfrom
work/dc/typesense
Draft

Typesense v1#83
clarkd wants to merge 1 commit into
mainfrom
work/dc/typesense

Conversation

@clarkd

@clarkd clarkd commented Jul 2, 2026

Copy link
Copy Markdown
Member

🔌 Plugin overview

  • Plugin name: Typesense
  • Purpose / problem solved: Query documents from Typesense collections directly in SquaredUp. Runs structured searches, raw multi_search JSON queries, and result-count summaries against a Typesense Cloud (or self-hosted) instance — without ever needing admin access to the cluster.
  • Primary audience: Teams running Typesense-powered search (platform/product teams and SREs) who want to surface search data and monitor collections in SquaredUp.
  • Authentication method(s): API Key — a search-only key (documents:search action) sent in the X-TYPESENSE-API-KEY header.

🖼️ Plugin screenshots

Plugin configuration

To add: screenshot of the Host URL / Search API Key / Collection setup form.

Default dashboards

To add: screenshot of the Overview dashboard (Total Documents + Search Time KPIs, Documents table).


🧪 Testing

Every stream was built and tested against a live, authenticated tenant (region dev) using squaredup test, against a real collection (companies-production-en-us, ~10,633 documents):

  • Config validationq=* search against the configured collection returns 200 OK; confirms host, key, and collection in one probe.
  • documentSearch — returns one row per matching document with dynamic per-collection columns plus a relevance score; verified that unset optional params (query_by/filter_by/sort_by) are correctly dropped, and that relevance populates on real text queries.
  • multiSearch — raw POST /multi_search from a JSON blob; verified the configured collection is auto-injected as a query-arg default, so a minimal {"searches":[{"q":"*"}]} blob queries the right collection with nothing extra.
  • searchSummary — single count row (found / out_of / search_time_ms); verified per_page=0 returns counts with zero hits transferred.
  • squaredup validate --json passes: 4 data streams, icon, UI config, config validation, and default content all present.

⚠️ Known limitations

  • Search-only scope. No cluster health/metrics/stats, no API-key or alias management, and no collection/document import into the graph — a search key can't list collections (collections:list needs an admin key). This is a query-on-demand plugin with no imported objects (hence no perspectives).
  • Result size. A single search returns at most 250 documents per page (per_page); search is designed to return the most relevant results, not to bulk-export a collection.
  • Response size. Very large result sets can exceed SquaredUp's ~6MB per-request limit — keep per_page and field counts reasonable, or narrow with filter_by.
  • No time range. Typesense search has no time-range parameter, so streams return current results with no timeframe picker (timeframes: false). To restrict by time, add a filter_by on a timestamp field.
  • Future scope. Admin-key features (collection import, cluster monitoring) are intentionally deferred to a later version.

📚 Checklist

  • Plugin, datastream and UI naming follow SquaredUp guidelines
  • Logo added
  • One or more dashboards added
  • README added including configuration guidance
  • No secrets or credentials included
  • I agree to the Code of Conduct

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

🧩 Plugin PR Summary

📦 Modified Plugins

  • plugins/Typesense/v1

📋 Results

Step Status
Validation ✅ Passed
Deployment 🚀 Deployed

🔍 Validation Details

typesense
{
  "valid": true,
  "pluginName": "typesense",
  "pluginType": "hybrid",
  "summary": {
    "Data Streams": 4,
    "Import Definitions": 0,
    "UI Configuration": true,
    "Has Icon": true,
    "Has Default Content": true,
    "Config Validation": true,
    "Custom Types": false
  }
}

@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2c2ccf70-a4c9-441f-b499-26c26b865f63

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant