Extract PromptStore and PromptBuilder to new prompt_library crate (#23254)

This PR adds a new `prompt_library` crate and extracts the `PromptStore`
and `PromptBuilder` to it.

Eventually we'll want to house the `PromptLibrary` itself in this crate,
but right now that involves untangling a few dependencies.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2025-01-16 15:06:16 -05:00 committed by GitHub
parent c9f24c7d45
commit 1b1c2e55f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 524 additions and 768 deletions

View file

@ -1,10 +1,7 @@
use crate::context::attach_context_to_message;
use crate::context_store::ContextStore;
use crate::inline_prompt_editor::CodegenStatus;
use crate::{
prompts::PromptBuilder,
streaming_diff::{CharOperation, LineDiff, LineOperation, StreamingDiff},
};
use crate::streaming_diff::{CharOperation, LineDiff, LineOperation, StreamingDiff};
use anyhow::{Context as _, Result};
use client::telemetry::Telemetry;
use collections::HashSet;
@ -19,6 +16,7 @@ use language_model::{
use language_models::report_assistant_event;
use multi_buffer::MultiBufferRow;
use parking_lot::Mutex;
use prompt_library::PromptBuilder;
use rope::Rope;
use smol::future::FutureExt;
use std::{