Michael Sloan
985544ffb9
assistant2: Try again with fix use of rust-analyzer with "workspace": false
( #23331 )
...
I thought #23326 did the trick, but it didn't
Release Notes:
- N/A
2025-01-18 20:33:24 +00:00
Michael Sloan
9a7b73b161
assistant2: fix use with rust-analyzer "workspace": false
( #23326 )
...
Before this was getting errors about `TestAppContext` not existing.
Release Notes:
- N/A
2025-01-18 18:19:16 +00:00
Piotr Osiewicz
c9534e8025
chore: Use workspace fields for edition and publish ( #23291 )
...
This prepares us for an upcoming bump to Rust 2024 edition.
Release Notes:
- N/A
2025-01-17 17:39:22 +01:00
Marshall Bowers
24495f09f9
Add streaming_diff
crate ( #23264 )
...
This PR extracts the streaming diff implementation to its own
`streaming_diff` crate.
It was duplicated between `assistant` and `assistant2`, but their
implementations were exactly the same (and I don't see a reason why they
would need to diverge).
Release Notes:
- N/A
2025-01-16 23:12:46 +00:00
Marshall Bowers
1b1c2e55f3
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
2025-01-16 20:06:16 +00:00
Marshall Bowers
e215ca1d99
Dedupe AssistantSettings
( #23190 )
...
This PR dedupes the `AssistantSettings` so we can use the same settings
for both Assistant1 and Assistant2.
We originally forked them so we could change the Assistant2 settings
freely, but given our rollout strategy for the new Assistant, I don't
think that makes sense.
This also fixes the issue where the JSON language server would show a
"Matches multiple schemas when only one must validate" warning in
`settings.json`.
Closes #23171 .
Release Notes:
- Fixed the "Matches multiple schemas when only one must validate"
warning for the `assistant` setting.
2025-01-15 18:52:54 +00:00
Yagil Burowski
c038696aa8
Add LM Studio support to the Assistant ( #23097 )
...
#### Release Notes:
- Added support for [LM Studio](https://lmstudio.ai/ ) to the Assistant.
#### Quick demo:
https://github.com/user-attachments/assets/af58fc13-1abc-4898-9747-3511016da86a
#### Future enhancements:
- wire up tool calling (new in [LM Studio
0.3.6](https://lmstudio.ai/blog/lmstudio-v0.3.6 ))
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2025-01-14 20:41:58 +00:00
Agus Zubiaga
ec4c6744d6
assistant2: Show file icons for context entries ( #22928 )
...
CI / check_docs_only (push) Waiting to run
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Blocked by required conditions
CI / (Linux) Run Clippy and tests (push) Blocked by required conditions
CI / (Linux) Build Remote Server (push) Blocked by required conditions
CI / (Windows) Run Clippy and tests (push) Blocked by required conditions
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Create a Linux bundle (push) Blocked by required conditions
CI / Create arm64 Linux bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
https://github.com/user-attachments/assets/d3d6f5f1-23ec-449b-a762-9869b9d4b5a5
Release Notes:
- N/A
---------
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Michael <michael@zed.dev>
2025-01-10 03:01:42 +00:00
Michael Sloan
a0fca24e3f
assistant2: Add live context type and use in message editor ( #22865 )
...
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
2025-01-08 21:47:58 +00:00
Marshall Bowers
2c2ca9e370
assistant2: Wire up the directory context picker ( #22582 )
...
This PR wires up the functionality of the directory context picker.
Release Notes:
- N/A
---------
Co-authored-by: Agus <agus@zed.dev>
2025-01-02 19:42:59 +00:00
Marshall Bowers
7913b6a5a2
assistant2: Restrict directory context picker to development builds ( #22302 )
...
This PR temporarily restricts the directory context picker to
development builds until the implementation is finished.
Release Notes:
- N/A
2024-12-20 19:08:29 +00:00
Marshall Bowers
c57cc35b03
assistant2: Add ability to fetch URLs as context ( #21988 )
...
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Waiting to run
CI / (Linux) Run Clippy and tests (push) Waiting to run
CI / (Linux) Build Remote Server (push) Waiting to run
CI / (Windows) Run Clippy and tests (push) Waiting to run
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Create a Linux bundle (push) Blocked by required conditions
CI / Create arm64 Linux bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
This PR adds the ability to fetch URLs as context in Assistant2.
In the picker we use the search area as an input for the user to enter
the URL they wish to fetch:
<img width="1159" alt="Screenshot 2024-12-13 at 2 45 41 PM"
src="https://github.com/user-attachments/assets/b3b20648-2c22-4509-b592-d0291d25b202 "
/>
<img width="1159" alt="Screenshot 2024-12-13 at 2 45 47 PM"
src="https://github.com/user-attachments/assets/7e6bab2d-2731-467f-9781-130c6e4ea5cf "
/>
Release Notes:
- N/A
2024-12-13 15:03:55 -05:00
Marshall Bowers
52c0d712a6
assistant2: Add initial support for attaching file context ( #21934 )
...
This PR adds the initial support for attaching files as context to a
thread in Assistant2.
Release Notes:
- N/A
2024-12-12 15:30:17 -05:00
Richard Feldman
bcf8a2f9fc
Inline terminal assistant v2 ( #21888 )
...
Follow-up to https://github.com/zed-industries/zed/pull/21828 to add it
to the terminal as well.
https://github.com/user-attachments/assets/505d1443-4081-4dd8-9725-17d85532f52d
As with the previous PR, there's plenty of code duplication here; the
plan is to do more code sharing in separate PRs!
Release Notes:
- N/A
2024-12-12 11:06:09 -05:00
Richard Feldman
c594ccb0af
Inline assistant v2 ( #21828 )
...
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Waiting to run
CI / (Linux) Run Clippy and tests (push) Waiting to run
CI / (Linux) Build Remote Server (push) Waiting to run
CI / (Windows) Run Clippy and tests (push) Waiting to run
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Create a Linux bundle (push) Blocked by required conditions
CI / Create arm64 Linux bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
This is behind the Assistant v2 feature flag. As @maxdeviant and I
discussed, the state is currently decoupled from the Assistant Panel's
state, although in the future we plan to introduce a way to refer to
conversations from the panel. Also, we're intentionally duplicating some
code with the v2 panel right now; the plan is to do a future PR to make
them share code more.
https://github.com/user-attachments/assets/bb163bd3-a02d-4a91-8f8f-2a8e60acbc34
It doesn't include the terminal inline assistant, which will be in a
separate PR.
Release Notes:
- N/A
2024-12-11 14:32:30 -05:00
Marshall Bowers
787c75cbda
assistant2: Add thread history ( #21599 )
...
This PR adds support for thread history to the Assistant 2 panel.
We also now generate summaries for the threads.
<img width="986" alt="Screenshot 2024-12-05 at 12 56 53 PM"
src="https://github.com/user-attachments/assets/46cb1309-38a2-4ab9-9fcc-c1275d4b5f2c ">
<img width="986" alt="Screenshot 2024-12-05 at 12 56 58 PM"
src="https://github.com/user-attachments/assets/8c91ba57-a6c5-4b88-be05-b22fb615ece5 ">
Release Notes:
- N/A
---------
Co-authored-by: Piotr <piotr@zed.dev>
2024-12-05 13:22:25 -05:00
Marshall Bowers
31796171de
assistant2: Sketch in context picker ( #21560 )
...
This PR sketches in a context picker into the message editor in
Assistant 2. Not functional yet.
<img width="1138" alt="Screenshot 2024-12-04 at 5 45 19 PM"
src="https://github.com/user-attachments/assets/053d6224-de76-4fde-914b-41fe835761eb ">
Release Notes:
- N/A
2024-12-04 18:00:28 -05:00
Marshall Bowers
0bde0f8e2f
assistant2: Add ability to open past threads ( #21548 )
...
This PR adds the ability to open past threads in Assistant 2.
There are also some mocked threads in the history for testing purposes.
Release Notes:
- N/A
2024-12-04 14:35:44 -05:00
Marshall Bowers
9f459ba573
assistant2: Render messages as Markdown ( #21496 )
...
This PR updates Assistant 2 to render the messages in the thread as
Markdown:
<img width="1138" alt="Screenshot 2024-12-03 at 6 09 27 PM"
src="https://github.com/user-attachments/assets/c1c44fde-1efb-43cf-b9c9-768e6974c753 ">
Release Notes:
- N/A
2024-12-03 18:32:13 -05:00
Marshall Bowers
f3140f54d8
assistant2: Wire up error messages ( #21426 )
...
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Waiting to run
CI / (Linux) Run Clippy and tests (push) Waiting to run
CI / (Linux) Build Remote Server (push) Waiting to run
CI / (Windows) Run Clippy and tests (push) Waiting to run
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Create a Linux bundle (push) Blocked by required conditions
CI / Create arm64 Linux bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
This PR wires up the error messages for Assistant 2 so that they are
shown to the user:
<img width="1138" alt="Screenshot 2024-12-02 at 4 28 02 PM"
src="https://github.com/user-attachments/assets/d8a5b9bd-0cef-4304-b561-b2edadbc70ef ">
<img width="1138" alt="Screenshot 2024-12-02 at 4 29 09 PM"
src="https://github.com/user-attachments/assets/0dd70841-0d5a-4de6-bebe-82c563246b65 ">
<img width="1138" alt="Screenshot 2024-12-02 at 4 32 49 PM"
src="https://github.com/user-attachments/assets/a8838866-fad1-43a9-8935-490dc1936016 ">
@danilo-leal I kept the existing UX from Assistant 1, as I didn't see
any errors in the design prototype, but we can revisit if another
approach would work better.
Release Notes:
- N/A
2024-12-02 16:54:46 -05:00
Marshall Bowers
b88daae67b
assistant2: Add support for using tools provided by context servers ( #21418 )
...
This PR adds support to Assistant 2 for using tools provided by context
servers.
As part of this I introduced a new `ThreadStore`.
Release Notes:
- N/A
---------
Co-authored-by: Cole <cole@zed.dev>
2024-12-02 15:01:18 -05:00
Marshall Bowers
968ffaa3fd
assistant2: Restructure storage of tool uses and results ( #21194 )
...
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Waiting to run
CI / (Linux) Run Clippy and tests (push) Waiting to run
CI / (Linux) Build Remote Server (push) Waiting to run
CI / (Windows) Run Clippy and tests (push) Waiting to run
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Create a Linux bundle (push) Blocked by required conditions
CI / Create arm64 Linux bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
This PR restructures the storage of the tool uses and results in
`assistant2` so that they don't live on the individual messages.
It also introduces a `LanguageModelToolUseId` newtype for better type
safety.
Release Notes:
- N/A
2024-11-25 21:53:27 -05:00
Marshall Bowers
f059b6a24b
assistant2: Add support for using tools ( #21190 )
...
This PR adds rudimentary support for using tools to `assistant2`. There
are currently no visual affordances for tool use.
This is gated behind the `assistant-tool-use` feature flag.
<img width="1079" alt="Screenshot 2024-11-25 at 7 21 31 PM"
src="https://github.com/user-attachments/assets/64d6ca29-c592-4474-8e9d-c344f855bc63 ">
Release Notes:
- N/A
2024-11-25 19:44:34 -05:00
Marshall Bowers
a02684b2f7
assistant2: Add rudimentary chat functionality ( #21178 )
...
This PR adds in rudimentary functionality for sending messages to the
LLM in `assistant2`.
<img width="1079" alt="Screenshot 2024-11-25 at 1 49 11 PM"
src="https://github.com/user-attachments/assets/5accb749-c034-4fb2-bf55-3ae5bc9529ad ">
Release Notes:
- N/A
2024-11-25 14:08:40 -05:00
Marshall Bowers
628b96f297
assistant2: Sketch in chat editor ( #21116 )
...
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Waiting to run
CI / (Linux) Run Clippy and tests (push) Waiting to run
CI / (Linux) Build Remote Server (push) Waiting to run
CI / (Windows) Run Clippy and tests (push) Waiting to run
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Create a Linux bundle (push) Blocked by required conditions
CI / Create arm64 Linux bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
This PR sketches in the chat editor for `assistant2`.
<img width="1136" alt="Screenshot 2024-11-23 at 1 56 23 PM"
src="https://github.com/user-attachments/assets/6e979995-c0cf-4a46-8694-fc4a8646336f ">
Release Notes:
- N/A
2024-11-23 14:09:15 -05:00
Marshall Bowers
2a23db6e05
assistant2: Sketch in toolbar ( #21114 )
...
This PR sketches in the toolbar for `assistant2`.
<img width="1136" alt="Screenshot 2024-11-23 at 12 39 49 PM"
src="https://github.com/user-attachments/assets/ed56fc36-54c8-48d4-8446-6c1f182fcef2 ">
Release Notes:
- N/A
2024-11-23 12:46:11 -05:00
Marshall Bowers
9adc3b4e82
Break ground on assistant2
( #21109 )
...
This PR breaks ground on a new `assistant2` crate.
In order to see this new version of the assistant, both of the following
must be true:
1. The `assistant2` feature flag is enabled for your user
- It is **not** currently enabled for all staff.
2. You are running a development build of Zed
The intent here is to enable the folks working on `assistant2` to
incrementally land work onto `main` without breaking use of the current
Assistant for anyone.
<img width="1136" alt="Screenshot 2024-11-23 at 10 46 08 AM"
src="https://github.com/user-attachments/assets/5723a13f-5be1-4486-9460-ead7329ba78e ">
Release Notes:
- N/A
2024-11-23 11:24:52 -05:00
Antonio Scandurra
b466a8b828
Remove the assistant2
crate ( #12380 )
...
Release Notes:
- N/A
2024-05-28 16:26:35 +02:00
Conrad Irwin
5515ba6043
Extract http
from util
( #11680 )
...
This avoids the CLI linking libssl etc...
Release Notes:
- N/A
2024-05-10 15:50:20 -06:00
Kyle Kelley
38f110852f
Improve prompts for tools ( #11669 )
...
Improves the descriptions for some of the tools. I wish we had metrics
to back up changes in how the model responds to tool schema changes so
anecdotally I'm just going to say this _seems_ improved.
Release Notes:
- N/A
2024-05-10 13:18:05 -07:00
Antonio Scandurra
358bc2d225
Replace rich_text
with markdown
in assistant2
( #11650 )
...
We don't implement copy yet but it should be pretty straightforward to
add.
https://github.com/zed-industries/zed/assets/482957/6b4d7c34-de6b-4b07-aed9-608c771bbbdb
/cc: @rgbkrk @maxbrunsfeld @maxdeviant
Release Notes:
- N/A
2024-05-10 10:22:14 +02:00
Kyle Kelley
50c45c7897
Streaming tools ( #11629 )
...
Stream characters in for tool calls to allow rendering partial input.
https://github.com/zed-industries/zed/assets/836375/0f023a4b-9c46-4449-ae69-8b6bcab41673
Release Notes:
- N/A
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Max <max@zed.dev>
2024-05-09 15:57:14 -07:00
Marshall Bowers
c73ef1a5f3
assistant2: List saved conversations from disk ( #11627 )
...
This PR updates the saved conversation picker to use a list of
conversations retrieved from disk instead of the static placeholder
values.
Release Notes:
- N/A
2024-05-09 16:17:07 -04:00
Marshall Bowers
33a72219c0
assistant2: Add new conversation button, that also saves the current conversation ( #11522 )
...
This PR updates the new assistant with a button to start a new
conversation.
Clicking on it will reset the chat and put it into a fresh state.
The current conversation will be serialized and written to
`~/.config/zed/conversations`.
Release Notes:
- N/A
2024-05-07 18:16:48 -04:00
Marshall Bowers
6a64b732b6
assistant2: Add general structure for conversation history ( #11516 )
...
This PR adds the general structure for conversation history to the new
assistant.
Right now we have a placeholder button in the assistant panel that will
toggle a picker containing some placeholder saved conversations.
Release Notes:
- N/A
2024-05-07 17:03:33 -04:00
Kyle Kelley
3e5dcd1bec
Attachment store for assistant2 ( #11327 )
...
This sets up a way for the user (or Zed) to _push_ context instead of
having the model retrieve it with a function. Our first use is the
contents of the current file.
<img width="399" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/198429a5-82af-4b82-86f6-cb961f10de5c ">
<img width="393" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/cfb52444-723b-4fc1-bddc-57e1810c512b ">
I heard the asst2 example was deleted in another branch so I deleted
that here too since we wanted the workspace access.
Release Notes:
- N/A
---------
Co-authored-by: Marshall <marshall@zed.dev>
2024-05-03 14:48:00 -07:00
Marshall Bowers
f2a1226e18
assistant2: Setup storybook ( #11228 )
...
This PR sets up the `assistant2` crate with the storybook so that UI
elements can be iterated on in isolation.
To start, we have some stories for the `ChatMessage` component:
```sh
cargo run -p storybook -- components/assistant_chat_message
```
<img width="1233" alt="Screenshot 2024-04-30 at 5 20 03 PM"
src="https://github.com/zed-industries/zed/assets/1486634/510967ea-0e9b-4fa9-94fb-421ee74bcc45 ">
Release Notes:
- N/A
2024-04-30 17:33:32 -04:00
Marshall Bowers
04cd8dd0f2
assistant2: Add the ability to collapse chat messages ( #11194 )
...
This PR adds the ability to collapse/uncollapse chat messages.
I think the spacing might be a little off with the collapsed
calculations, so we'll need to look into that.
https://github.com/zed-industries/zed/assets/1486634/4009c831-b44e-4b30-85ed-0266cb5b8a26
Release Notes:
- N/A
2024-04-29 19:25:58 -04:00
Max Brunsfeld
1c09b69384
Pin message composer to the bottom of the new assistant panel ( #11186 )
...
Release Notes:
- N/A
---------
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Nate <nate@zed.dev>
Co-authored-by: Kyle <kylek@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-04-29 14:26:19 -07:00
Marshall Bowers
a4ad3bcc08
Hoist nanoid
to workspace-level ( #11029 )
...
This PR hoists `nanoid` up to a workspace dependency.
Release Notes:
- N/A
2024-04-25 22:37:40 -04:00
Marshall Bowers
1b614ef63b
Add an Assistant example that can interact with the filesystem ( #11027 )
...
This PR adds a new Assistant example that is able to interact with the
filesystem using a tool.
Release Notes:
- N/A
2024-04-25 22:21:18 -04:00
Kyle Kelley
af5a9fabc6
Include root schema as parameters for tool calling ( #10914 )
...
Allows `LanguageModelTool`s to include nested structures, by exposing
the definitions section of their JSON Schema.
Release Notes:
- N/A
2024-04-23 20:49:29 -07:00
Kyle Kelley
68a1ad89bb
New revision of the Assistant Panel ( #10870 )
...
This is a crate only addition of a new version of the AssistantPanel.
We'll be putting this behind a feature flag while we iron out the new
experience.
Release Notes:
- N/A
---------
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Conrad Irwin <conrad@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Co-authored-by: Nate Butler <nate@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Max <max@zed.dev>
2024-04-23 16:23:26 -07:00
Max Brunsfeld
ecbd115542
Remove 2 suffix for assistant, journal
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:14:01 -08:00
Max Brunsfeld
789ce8dd75
Remove 2 suffix for workspace
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:08:51 -08:00
Max Brunsfeld
492805af9c
Remove 2 suffix for multi_buffer, outline, copilot
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:01:58 -08:00
Max Brunsfeld
588976d27a
Remove 2 suffix for editor
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:58:57 -08:00
Max Brunsfeld
0ac8aae17b
Remove 2 suffix for language_tools, search, terminal_view, auto_update
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:52:40 -08:00
Antonio Scandurra
ede86d9187
WIP
2023-12-05 16:49:36 +01:00