| chore: update model references to latest versions across docs and code - Update default summarize model to `claude-sonnet-4-5` - Replace `gpt-4o` references with `gpt-5.2` throughout docs - Replace `gpt-4o-mini` references with `gpt-5-mini` - Add MiniMax-M2.5 and M2.5-lightning to static models list - Update image generation warning to suggest `gpt-5.2` - Update OpenAI chat example script to use `gpt-5-mini` - Update REST API docs and examples with current model names | 7 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: address PR review feedback - Extract InputSentinel constant to shared constants.go file - Remove duplicate inputSentinel definitions from template.go and patterns.go - Create withTestExtension helper function to reduce test code duplication - Refactor 3 test functions to use the helper (reduces ~40 lines per test) - Fix shell script to use $@ instead of $* for proper argument quoting Addresses review comments from @ksylvan and @Copilot AI | 10 个月前 |
| refactor: replace `fmt.Errorf("%s", ...)` with `errors.New()` and normalize i18n strings - Replace `fmt.Errorf("%s", ...)` with `errors.New()` across all packages - Add `errors` import where needed, remove unused `fmt` imports - Lowercase error message strings in i18n locale files for Go conventions - Add `plugin_registry_run_setup_select_defaults` i18n key for setup prompt - Add `plugin_registry_could_not_find_vendor` i18n key for vendor errors - Internationalize hardcoded English strings in `plugin_registry.go` - Update `db_error_loading_env_file` format verb from `%s` to `%w` for wrapping - Normalize error casing in en, de, es, fr, it, ja, pt-BR, pt-PT, zh, fa locales | 6 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| fix: shell-escape extension values to prevent command injection The extension executor runs commands via 'sh -c' with user-controlled values interpolated into the command string without escaping. A value containing shell metacharacters (;, |, $(), backticks) is executed by the shell, enabling command injection. User input flows from content processed through a pattern into the extension system via the InputSentinel, then into formatCommand which interpolates it into the cmd_template, then into exec.Command('sh', '-c'). No escaping is applied at any point. Fix: wrap all user-controlled values (value, numbered pipe-split values) in single quotes with embedded-single-quote escaping before interpolation. This ensures sh -c treats them as literal arguments, not shell syntax. The existing tests pass unchanged because the inner sh strips the single quotes, so the executed command receives the same argument values. Regression test added: ShellInjectionBlocked verifies that input 'hello; touch /marker' does not create the marker file. Signed-off-by: John Kearney <johndanielkearney@gmail.com> | 2 个月前 |
| fix: shell-escape extension values to prevent command injection The extension executor runs commands via 'sh -c' with user-controlled values interpolated into the command string without escaping. A value containing shell metacharacters (;, |, $(), backticks) is executed by the shell, enabling command injection. User input flows from content processed through a pattern into the extension system via the InputSentinel, then into formatCommand which interpolates it into the cmd_template, then into exec.Command('sh', '-c'). No escaping is applied at any point. Fix: wrap all user-controlled values (value, numbered pipe-split values) in single quotes with embedded-single-quote escaping before interpolation. This ensures sh -c treats them as literal arguments, not shell syntax. The existing tests pass unchanged because the inner sh strips the single quotes, so the executed command receives the same argument values. Regression test added: ShellInjectionBlocked verifies that input 'hello; touch /marker' does not create the marker file. Signed-off-by: John Kearney <johndanielkearney@gmail.com> | 2 个月前 |
| refactor: replace `fmt.Errorf("%s", ...)` with `errors.New()` and normalize i18n strings - Replace `fmt.Errorf("%s", ...)` with `errors.New()` across all packages - Add `errors` import where needed, remove unused `fmt` imports - Lowercase error message strings in i18n locale files for Go conventions - Add `plugin_registry_run_setup_select_defaults` i18n key for setup prompt - Add `plugin_registry_could_not_find_vendor` i18n key for vendor errors - Internationalize hardcoded English strings in `plugin_registry.go` - Update `db_error_loading_env_file` format verb from `%s` to `%w` for wrapping - Normalize error casing in en, de, es, fr, it, ja, pt-BR, pt-PT, zh, fa locales | 6 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| MAESTRO: remove unused Verify and ListExtensions from extension registry Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> | 1 天前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| feat: add error handling for fetch operations in i18n - Add new error messages for fetch operations - Rename `errInvalidLocationFormat` to `errInvalidLocationFormatKey` - Use `errors.New` instead of `fmt.Errorf` for fetch errors - Update Chinese locale with fetch-related error messages | 7 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: replace `fmt.Errorf("%s", ...)` with `errors.New()` and normalize i18n strings - Replace `fmt.Errorf("%s", ...)` with `errors.New()` across all packages - Add `errors` import where needed, remove unused `fmt` imports - Lowercase error message strings in i18n locale files for Go conventions - Add `plugin_registry_run_setup_select_defaults` i18n key for setup prompt - Add `plugin_registry_could_not_find_vendor` i18n key for vendor errors - Internationalize hardcoded English strings in `plugin_registry.go` - Update `db_error_loading_env_file` format verb from `%s` to `%w` for wrapping - Normalize error casing in en, de, es, fr, it, ja, pt-BR, pt-PT, zh, fa locales | 6 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| feat: replace hardcoded error strings with i18n translation keys - Replace hardcoded error messages with `i18n.T()` calls across Go source files - Add ~80 new translation keys to all locale files (en, de, es, fa, fr, it, ja, pt-BR, pt-PT, zh) - Internationalize error strings in chat, attachment, storage, and template packages - Internationalize error strings in plugin registry, server, and utility modules - Internationalize githelper, notifications, patterns, and sessions modules - Add i18n support for DigitalOcean, Gemini, and OpenAI-compatible providers - Sort existing locale keys alphabetically in JSON files - chore: incoming 2019 changelog entry | 6 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: replace `fmt.Errorf("%s", ...)` with `errors.New()` and normalize i18n strings - Replace `fmt.Errorf("%s", ...)` with `errors.New()` across all packages - Add `errors` import where needed, remove unused `fmt` imports - Lowercase error message strings in i18n locale files for Go conventions - Add `plugin_registry_run_setup_select_defaults` i18n key for setup prompt - Add `plugin_registry_could_not_find_vendor` i18n key for vendor errors - Internationalize hardcoded English strings in `plugin_registry.go` - Update `db_error_loading_env_file` format verb from `%s` to `%w` for wrapping - Normalize error casing in en, de, es, fr, it, ja, pt-BR, pt-PT, zh, fa locales | 6 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: replace `fmt.Errorf("%s", ...)` with `errors.New()` and normalize i18n strings - Replace `fmt.Errorf("%s", ...)` with `errors.New()` across all packages - Add `errors` import where needed, remove unused `fmt` imports - Lowercase error message strings in i18n locale files for Go conventions - Add `plugin_registry_run_setup_select_defaults` i18n key for setup prompt - Add `plugin_registry_could_not_find_vendor` i18n key for vendor errors - Internationalize hardcoded English strings in `plugin_registry.go` - Update `db_error_loading_env_file` format verb from `%s` to `%w` for wrapping - Normalize error casing in en, de, es, fr, it, ja, pt-BR, pt-PT, zh, fa locales | 6 个月前 |
| fix: improve template extension handling for {{input}} and add examples | 10 个月前 |
| fix: improve template extension handling for {{input}} and add examples | 10 个月前 |
| refactor: address PR review feedback - Extract InputSentinel constant to shared constants.go file - Remove duplicate inputSentinel definitions from template.go and patterns.go - Create withTestExtension helper function to reduce test code duplication - Refactor 3 test functions to use the helper (reduces ~40 lines per test) - Fix shell script to use $@ instead of $* for proper argument quoting Addresses review comments from @ksylvan and @Copilot AI | 10 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| feat: replace hardcoded error strings with i18n translation keys - Replace hardcoded error messages with `i18n.T()` calls across Go source files - Add ~80 new translation keys to all locale files (en, de, es, fa, fr, it, ja, pt-BR, pt-PT, zh) - Internationalize error strings in chat, attachment, storage, and template packages - Internationalize error strings in plugin registry, server, and utility modules - Internationalize githelper, notifications, patterns, and sessions modules - Add i18n support for DigitalOcean, Gemini, and OpenAI-compatible providers - Sort existing locale keys alphabetically in JSON files - chore: incoming 2019 changelog entry | 6 个月前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| refactor: restructure project to align with standard Go layout ### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout. | 1 年前 |
| feat: replace hardcoded error strings with i18n translation keys - Replace hardcoded error messages with `i18n.T()` calls across Go source files - Add ~80 new translation keys to all locale files (en, de, es, fa, fr, it, ja, pt-BR, pt-PT, zh) - Internationalize error strings in chat, attachment, storage, and template packages - Internationalize error strings in plugin registry, server, and utility modules - Internationalize githelper, notifications, patterns, and sessions modules - Add i18n support for DigitalOcean, Gemini, and OpenAI-compatible providers - Sort existing locale keys alphabetically in JSON files - chore: incoming 2019 changelog entry | 6 个月前 |