Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 18 additions & 19 deletions BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,21 @@
- [Tech Debt 3]: Test coverage missing for `M.interactive_prompt_with_fragments` in `commands.lua`.

## Ranked Backlog
1. [Gap 3 - Subtask 1] - [High Impact/Low Effort] - Add extraction configuration options to config.lua and plugin/llm.lua.
2. [Gap 3 - Subtask 2] - [High Impact/Low Effort] - Update command execution in commands.lua to append extract flags and add test coverage.
3. [Gap 1] - [High Impact/Medium Effort] - Add support for Tools / Function Calling (`-T`, `--tool`, `--functions`, `--td`, `--ta`, `--cl`) in commands.
4. [Gap 4] - [Medium Impact/Low Effort] - Expose Model Options (`-o`, `--option`) configuration per model or prompt.
5. [Gap 5] - [Medium Impact/Low Effort] - Support dynamic Template Parameters (`-p`, `--param`).
6. [Gap 8] - [Medium Impact/Low Effort] - Add functionality to Continue Conversations (`-c`, `--continue`, `--cid`, `--conversation`) easily from previous prompt sessions.
7. [Gap 11] - [Medium Impact/Low Effort] - Add support for Schema Options (`--schema`, `--schema-multi`) in prompts.
8. [Gap 13] - [Medium Impact/Low Effort] - Add support to Save as Template (`--save`).
9. [Gap 2] - [Medium Impact/Medium Effort] - Implement Multi-modal attachment support for models that accept images or other data types (`-a`, `--attachment`, `--at`, `--attachment-type`).
10. [Tech Debt 2] - [Medium Impact/Medium Effort] - Enhance async job handling logic in `job.lua` for edge cases.
11. [Tech Debt 1 - Subtask 1] - [High Impact/High Effort] - Increase test coverage for models_manager, templates_manager, and schemas_manager.
12. [Tech Debt 1 - Subtask 2] - [High Impact/High Effort] - Increase test coverage for keys_manager, fragments_manager.
13. [Tech Debt 1 - Subtask 3] - [High Impact/High Effort] - Increase test coverage for custom_openai, plugins_manager.
14. [Gap 6] - [Low Impact/Low Effort] - Expose token Usage tracking (`-u`, `--usage`) visually after execution.
15. [Gap 7] - [Low Impact/Low Effort] - Allow composing System Fragments (`--sf`, `--system-fragment`).
16. [Gap 9] - [Low Impact/Low Effort] - Enable dynamic Query Selection (`-q`, `--query`).
17. [Gap 10] - [Low Impact/Low Effort] - Add options for explicit Async Execution (`--async`) and blocking Stream Control (`--no-stream`).
18. [Gap 12] - [Low Impact/Low Effort] - Add support for Database Logging options (`-d`, `--database`, `-n`, `--no-log`, `--log`).
19. [Tech Debt 3] - [Low Impact/Low Effort] - Write explicit unit tests for `interactive_prompt_with_fragments` in `commands.lua`.
1. [Gap 3 - Subtask 2] - [High Impact/Low Effort] - Update command execution in commands.lua to append extract flags and add test coverage.
2. [Gap 1] - [High Impact/Medium Effort] - Add support for Tools / Function Calling (`-T`, `--tool`, `--functions`, `--td`, `--ta`, `--cl`) in commands.
3. [Gap 4] - [Medium Impact/Low Effort] - Expose Model Options (`-o`, `--option`) configuration per model or prompt.
4. [Gap 5] - [Medium Impact/Low Effort] - Support dynamic Template Parameters (`-p`, `--param`).
5. [Gap 8] - [Medium Impact/Low Effort] - Add functionality to Continue Conversations (`-c`, `--continue`, `--cid`, `--conversation`) easily from previous prompt sessions.
6. [Gap 11] - [Medium Impact/Low Effort] - Add support for Schema Options (`--schema`, `--schema-multi`) in prompts.
7. [Gap 13] - [Medium Impact/Low Effort] - Add support to Save as Template (`--save`).
8. [Gap 2] - [Medium Impact/Medium Effort] - Implement Multi-modal attachment support for models that accept images or other data types (`-a`, `--attachment`, `--at`, `--attachment-type`).
9. [Tech Debt 2] - [Medium Impact/Medium Effort] - Enhance async job handling logic in `job.lua` for edge cases.
10. [Tech Debt 1 - Subtask 1] - [High Impact/High Effort] - Increase test coverage for models_manager, templates_manager, and schemas_manager.
11. [Tech Debt 1 - Subtask 2] - [High Impact/High Effort] - Increase test coverage for keys_manager, fragments_manager.
12. [Tech Debt 1 - Subtask 3] - [High Impact/High Effort] - Increase test coverage for custom_openai, plugins_manager.
13. [Gap 6] - [Low Impact/Low Effort] - Expose token Usage tracking (`-u`, `--usage`) visually after execution.
14. [Gap 7] - [Low Impact/Low Effort] - Allow composing System Fragments (`--sf`, `--system-fragment`).
15. [Gap 9] - [Low Impact/Low Effort] - Enable dynamic Query Selection (`-q`, `--query`).
16. [Gap 10] - [Low Impact/Low Effort] - Add options for explicit Async Execution (`--async`) and blocking Stream Control (`--no-stream`).
17. [Gap 12] - [Low Impact/Low Effort] - Add support for Database Logging options (`-d`, `--database`, `-n`, `--no-log`, `--log`).
18. [Tech Debt 3] - [Low Impact/Low Effort] - Write explicit unit tests for `interactive_prompt_with_fragments` in `commands.lua`.
5 changes: 5 additions & 0 deletions lua/llm/config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ M.defaults = {
type = "string",
desc = "Default tools to make available to the model (comma separated string)"
},
extract = {
default = false,
type = "boolean",
desc = "Extract content of fenced code blocks"
},
-- Add more config options here
}

Expand Down
1 change: 1 addition & 0 deletions plugin/llm.lua
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ if vim.g.llm_auto_update_cli then user_config.auto_update_cli = vim.g.llm_auto_u
if vim.g.llm_auto_update_interval_days then user_config.auto_update_interval_days = vim.g.llm_auto_update_interval_days end
if vim.g.llm_executable_path then user_config.llm_executable_path = vim.g.llm_executable_path end
if vim.g.llm_tools then user_config.tools = vim.g.llm_tools end
if vim.g.llm_extract ~= nil then user_config.extract = vim.g.llm_extract end

llm.setup(user_config)

Expand Down
2 changes: 2 additions & 0 deletions tests/spec/config_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,12 @@ describe('llm.config', function()
local user_opts = {
model = 'test-model',
debug = true,
extract = true,
}
config.setup(user_opts)
assert.are.same('test-model', config.get('model'))
assert.are.same(true, config.get('debug'))
assert.are.same(true, config.get('extract'))
-- Check a default value was not overwritten
assert.are.same('You are a helpful assistant.', config.get('system_prompt'))
end)
Expand Down
Loading