OpenFn / OpenFn/lightning

Tell Apollo to prepare documentation before the user sends a message

Open
#4,039 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Elixir
Stars
296
Forks
86
Avg merge
1d 13h
Merged PRs (30d)
50

Description

Summary

Add a call to Apollo to prepare adaptor documentation when the user opens the job code assistant.

The issue

Apollo can now fetch adaptor version-specific documentation efficiently during a conversation. However, we will not process documentation for all old versions of adaptors by default into the Apollo database. To avoid repeated checks and triggers for the upload process, we would like to trigger the upload process before the user sends their first message.

Implementation

When the user opens the chat, Lightning should call Apollo's upload_adaptor_docs service, with a payload like this:

{
  "adaptor": "@openfn/language-kobotoolbox",
  "version": "4.2.7"
}

This will check if the documentation is already in the Apollo database. If it is not, it will check if it is available for download and then process it into the database.

UI

When the chat opens, the user will see a status message like "Preparing documentation databases..." before they can start a conversation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the chat-open flow and the existing Apollo integration in Lightning. Trace how the adaptor name and version are available, then verify that opening chat triggers upload_adaptor_docs with the specified payload and shows the preparation status before messaging is enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir
Domain
api, backend, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.