feat: add configurable generation timeout
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2026-05-02 16:36:46 -04:00
parent 9b77a473b7
commit 8f732e6fc7
7 changed files with 88 additions and 16 deletions

View File

@@ -141,9 +141,10 @@ func TestInMemoryStore_SaveSettings(t *testing.T) {
store := NewInMemoryStore()
settings := &Settings{
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
TextGenerationTimeoutMinutes: 10,
}
err := store.SaveSettings(settings)
@@ -160,9 +161,10 @@ func TestInMemoryStore_GetSettings(t *testing.T) {
// Set some settings
settings = &Settings{
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
TextGenerationTimeoutMinutes: 10,
}
err = store.SaveSettings(settings)
require.NoError(t, err)
@@ -171,4 +173,5 @@ func TestInMemoryStore_GetSettings(t *testing.T) {
settings, err = store.GetSettings()
require.NoError(t, err)
assert.Equal(t, ".image-edit", settings.ImageEditSelector)
assert.Equal(t, 10, settings.TextGenerationTimeoutMinutes)
}

View File

@@ -15,9 +15,10 @@ var _ Store = (*FileStore)(nil)
// Settings represents the application settings
type Settings struct {
ImageEditSelector string `json:"image_edit_selector,omitempty"`
ImageGenerationSelector string `json:"image_generation_selector,omitempty"`
TextGenerationSelector string `json:"text_generation_selector,omitempty"`
ImageEditSelector string `json:"image_edit_selector,omitempty"`
ImageGenerationSelector string `json:"image_generation_selector,omitempty"`
TextGenerationSelector string `json:"text_generation_selector,omitempty"`
TextGenerationTimeoutMinutes int `json:"text_generation_timeout_minutes,omitempty"`
}
// FileStore implements the Store interface using a file-based storage

View File

@@ -209,9 +209,10 @@ func TestFileStore_SaveSettings(t *testing.T) {
require.NoError(t, err)
settings := &Settings{
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
TextGenerationTimeoutMinutes: 10,
}
err = store.SaveSettings(settings)
@@ -236,9 +237,10 @@ func TestFileStore_GetSettings(t *testing.T) {
// Set some settings
settings = &Settings{
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
ImageEditSelector: ".image-edit",
ImageGenerationSelector: ".image-gen",
TextGenerationSelector: ".text-gen",
TextGenerationTimeoutMinutes: 10,
}
err = store.SaveSettings(settings)
require.NoError(t, err)
@@ -247,4 +249,5 @@ func TestFileStore_GetSettings(t *testing.T) {
settings, err = store.GetSettings()
require.NoError(t, err)
assert.Equal(t, ".image-edit", settings.ImageEditSelector)
assert.Equal(t, 10, settings.TextGenerationTimeoutMinutes)
}