3466 Commits

Author SHA1 Message Date
github-actions[bot]
b8c888d69d chore(release): Update version to v1.4.388 v1.4.388 2026-01-23 05:40:08 +00:00
Kayvan Sylvan
866886cdd2 Merge pull request #1957 from ksylvan/kayvan/add-novita-provider
Add Novita AI as a new OpenAI-compatible provider
2026-01-22 21:37:33 -08:00
Kayvan Sylvan
7ce7d6c637 chore: incoming 1957 changelog entry 2026-01-22 21:35:33 -08:00
Kayvan Sylvan
f18d6cc574 feat: add Novita AI as a new OpenAI-compatible provider
- Add Novita AI provider configuration with API endpoint
- Update README to include Novita AI in supported providers list
- Configure Novita AI to use OpenAI-compatible interface
2026-01-22 21:33:20 -08:00
github-actions[bot]
aab087cc83 chore(release): Update version to v1.4.387 v1.4.387 2026-01-22 00:10:21 +00:00
Kayvan Sylvan
0182512d64 Merge pull request #1952 from ksylvan/kayvan/fix-anthropic-attachments-handling
Fix: using attachments with Anthropic models
2026-01-21 16:08:03 -08:00
Kayvan Sylvan
816e1bab89 chore: add documentation and improve code style per review feedback
- Add documentation comments for messageTextFromParts, contentBlocksFromMessage,
  prependSystemContentToBlocks, contentBlockFromAttachmentURL, and parseDataURL
- Consolidate two switch statements in normalizeImageMimeType into single
  idiomatic Go switch with direct returns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 15:52:29 -08:00
Kayvan Sylvan
8c38cef1f1 chore: address Copilot review feedback for attachments handling
- Add debug logging for failed data URL parsing
- Add debug logging for unsupported MIME types
- Add debug logging for non-base64 data URLs
- Add documentation for normalizeImageMimeType with API reference
- Add documentation for isPDFURL explaining extension-only limitation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 15:12:23 -08:00
Kayvan Sylvan
bcce1bef99 fix for \\n -> \n 2026-01-21 14:56:16 -08:00
Kayvan Sylvan
1a30e11471 chore: incoming 1952 changelog entry 2026-01-21 14:34:04 -08:00
Kayvan Sylvan
eea80f3bee feat: add multi-content support for images and PDFs in Anthropic client
### CHANGES
- Update toMessages to handle multi-content messages with text and attachments
- Add contentBlocksFromMessage to convert message parts to Anthropic blocks
- Implement support for image URLs including data URLs and base64 images
- Add PDF attachment handling via data URLs and URL-based PDFs
- Introduce parseDataURL for extracting MIME type and data from data URLs
- Create normalizeImageMimeType to standardize supported image MIME types
- Add isPDFURL to detect PDF files from URL paths
- Refactor system content accumulation to use text extraction from parts
- Update tests to verify PDF attachment processing in multi-content messages
2026-01-21 14:19:40 -08:00
Kayvan Sylvan
fa5a352860 Merge pull request #1951 from ksylvan/kayvan/extract_wisdom_with_attribution
Add `extract_wisdom_with_attribution` pattern for speaker-attributed quotes
2026-01-21 14:04:40 -08:00
Kayvan Sylvan
ce383fe2d9 Merge pull request #1950 from cleong14/feat/suggest-gt-command
feat: add suggest_gt_command pattern
2026-01-21 14:04:20 -08:00
Kayvan Sylvan
327bd85bb6 chore: incoming 1950 changelog entry 2026-01-21 14:01:45 -08:00
Kayvan Sylvan
378abd5fe3 chore: incoming 1951 changelog entry 2026-01-21 14:00:01 -08:00
Kayvan Sylvan
a31dc59f7e feat: add extract_wisdom_with_attribution pattern for speaker-attributed quotes
## CHANGES

- Add new pattern extending `extract_wisdom` with speaker attribution
- Create README and system.md for the new pattern
- Update pattern_explanations.md with new pattern entry
- Add pattern to suggest_pattern category lists
- Update pattern_descriptions.json with metadata and tags
- Update pattern_extracts.json with pattern content
2026-01-21 13:46:36 -08:00
Chaz
436e5aae6b feat: add suggest_gt_command pattern
Adds a pattern that suggests Gas Town (gt) CLI commands based on
natural language descriptions. Covers 85+ commands across work
management, agents, communication, services, diagnostics, and recovery.

Pipe-friendly output: first line is the raw command, enabling:
  echo "message the mayor" | fabric -p suggest_gt_command | head -1

Gas Town: https://github.com/steveyegge/gastown

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-21 00:23:14 -10:00
github-actions[bot]
c528a72b5b chore(release): Update version to v1.4.386 v1.4.386 2026-01-21 00:17:17 +00:00
Kayvan Sylvan
89df6ac75e Merge pull request #1945 from ksylvan/implement-spotify-api
feat: Add Spotify API integration for podcast metadata retrieval
2026-01-20 16:13:04 -08:00
Kayvan Sylvan
963acdefbb chore: incoming 1945 changelog entry 2026-01-20 16:01:09 -08:00
Kayvan Sylvan
719590abb6 feat: add Spotify metadata retrieval via --spotify flag
## CHANGES
- Add Spotify plugin with OAuth token handling and metadata
- Wire --spotify flag into CLI processing and output
- Register Spotify in plugin setup, env, and registry
- Update shell completions to include --spotify option
- Add i18n strings for Spotify configuration errors
- Add unit and integration tests for Spotify API
- Set gopls integration build tags for workspace
2026-01-20 15:57:59 -08:00
github-actions[bot]
b5e36d93b6 chore(release): Update version to v1.4.385 v1.4.385 2026-01-20 20:07:22 +00:00
Kayvan Sylvan
2241b2a283 Merge pull request #1949 from ksylvan/image-generation-feature-should-warn
Fix #1931 - Image Generation Feature should warn if the model is not capable of Image Generation
2026-01-20 12:04:40 -08:00
Kayvan Sylvan
ef60f8ca89 chore: incoming 1949 changelog entry 2026-01-20 11:59:31 -08:00
Kayvan Sylvan
a23c698947 feat: add image generation compatibility warnings for unsupported models
## CHANGES

- Add warning to stderr when using incompatible models with image generation
- Add GPT-5, GPT-5-nano, and GPT-5.2 to supported image generation models
- Create `checkImageGenerationCompatibility` function in OpenAI plugin
- Add comprehensive tests for image generation compatibility warnings
- Add integration test scenarios for CLI image generation workflows
- Suggest gpt-4o as alternative in incompatibility warning messages
2026-01-20 11:55:18 -08:00
Kayvan Sylvan
1e693cd5e8 Merge pull request #1948 from cleong14/pattern/create_bd_issue
feat(patterns): add create_bd_issue pattern
2026-01-20 11:27:32 -08:00
Kayvan Sylvan
4fd1584518 chore: incoming 1948 changelog entry 2026-01-20 11:25:07 -08:00
Kayvan Sylvan
794a71a82b Merge pull request #1947 from cleong14/pattern/extract_bd_ideas
feat(patterns): add extract_bd_ideas pattern
2026-01-20 11:20:52 -08:00
Kayvan Sylvan
1e4ed78bcf chore: incoming 1947 changelog entry 2026-01-20 11:20:13 -08:00
Chaz
360682eb6f feat(patterns): add create_bd_issue pattern
Transforms natural language issue descriptions into optimal bd (Beads)
issue tracker commands.

Features:
- Comprehensive bd create flag reference
- Intelligent type detection (bug, feature, task, epic, chore)
- Priority assessment (P0-P4) based on urgency signals
- Smart label selection (1-4 relevant labels)
- Outputs clean, ready-to-execute commands

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-20 06:38:42 -10:00
Chaz
095dcd8434 feat(patterns): add extract_bd_ideas pattern
Extracts actionable ideas from content and transforms them into
well-structured bd (Beads) issue tracker commands.

Features:
- Identifies tasks, problems, ideas, improvements, bugs, and features
- Evaluates actionability and appropriate scoping
- Assigns priorities (P0-P4) and relevant labels
- Outputs ready-to-execute bd create commands

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-20 06:38:14 -10:00
github-actions[bot]
fb407ccfed chore(release): Update version to v1.4.384 v1.4.384 2026-01-19 16:22:15 +00:00
Kayvan Sylvan
c9d4c19ef8 Merge pull request #1944 from ksylvan/1033_infermatic_provider
Add Infermatic AI Provider Support
2026-01-19 08:19:57 -08:00
Kayvan Sylvan
f4e7489d42 chore: incoming 1944 changelog entry 2026-01-19 08:16:05 -08:00
Kayvan Sylvan
7012acd12a fix: replace go-git status API with native git CLI for worktree compatibility
- Replace go-git status API with native `git status --porcelain` command
- Fix worktree detection issues caused by go-git library bugs
- Simplify `IsWorkingDirectoryClean` to use CLI output parsing
- Simplify `GetStatusDetails` to return raw porcelain output
- Use native `git rev-parse HEAD` to get commit hash after commit
- Remove unused `os` and `filepath` imports from walker.go
- Remove complex worktree file existence checking logic
2026-01-19 08:15:22 -08:00
Kayvan Sylvan
387610bcf8 Add Infermatic provider test case
Adds test coverage for the Infermatic AI provider in
TestCreateClient to verify the provider exists and
creates a valid client.

Part of #1033: Add Infermatic AI provider support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 06:38:38 -08:00
Kayvan Sylvan
9e1ee4d48e WIP: Phase 1 - Add Infermatic provider to ProviderMap
Issue: #1033
Phase: 1 of 2
Status: Pending verification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 06:25:31 -08:00
github-actions[bot]
8706fbba3b chore(release): Update version to v1.4.383 v1.4.383 2026-01-18 18:21:20 +00:00
Kayvan Sylvan
b169576cd8 Merge pull request #1943 from ksylvan/fabric-ollama-server-ignores-context-window
fix: Ollama server now respects the default context window
2026-01-18 10:18:39 -08:00
Kayvan Sylvan
da34f5823a chore: refactor parseOllamaNumCtx for cleaner errors and type fixes
### CHANGES
- Remove value from fractional part error message
- Update overflow check to use float64 for consistency
- Ensure error messages omit unnecessary details for clarity
2026-01-18 10:12:18 -08:00
Kayvan Sylvan
14358a1c1b fix: Edit comments per review comments 2026-01-18 09:59:35 -08:00
Kayvan Sylvan
ce74e881be fix: add validation for NaN, Inf, and negative values in parseOllamaNumCtx
## CHANGES

- Add NaN and Infinity validation for float64 values
- Add NaN and Infinity validation for float32 values
- Add negative value check for int64 type
- Add negative value check for json.Number type
- Add comprehensive test cases for special float values
- Add test cases for negative int64 and json.Number inputs
- Update line reference comments for validation checks
2026-01-18 07:42:10 -08:00
Kayvan Sylvan
a4399000cf chore: incoming 1943 changelog entry 2026-01-18 01:46:28 -08:00
Kayvan Sylvan
6f804d7e46 fix: changes based on PR review 2026-01-18 01:46:09 -08:00
Kayvan Sylvan
8c015b09a1 test: add comprehensive tests for parseOllamaNumCtx and simplify error handling
- Add comprehensive unit tests for `parseOllamaNumCtx` function
- Remove redundant negative value checks in float parsing
- Simplify error messages to avoid exposing internal type info
- Streamline error response in `ollamaChat` handler
- Add helper functions for string containment in tests
- Cover edge cases including overflow, invalid types, and boundaries
2026-01-18 01:34:03 -08:00
Kayvan Sylvan
03108cc69d format fix 2026-01-18 01:02:46 -08:00
Kayvan Sylvan
556e098fc1 fix: Ollama server now respects the default context window
This commit fixes the Ollama server /api/chat endpoint which was ignoring
the client-provided num_ctx parameter and global DEFAULT_MODEL_CONTEXT_LENGTH,
always using a hardcoded value of 2048 tokens.

- Add parseOllamaNumCtx() function in ollama.go with type-safe extraction
  supporting 6 numeric types (float64, float32, int, int64, json.Number, string)
- Extract num_ctx from client request options in ollamaChat()
- Add ModelContextLength field to ChatRequest struct in chat.go
- Replace hardcoded 2048 with request.ModelContextLength in GetChatter() call

- Platform-aware integer overflow protection for 32-bit systems
- DoS protection via 1,000,000 token maximum limit
- Long string truncation in error messages (50 char limit)
- Sanitized error messages (no internal stdlib details exposed)

- Missing/null num_ctx returns (0, nil) to trigger existing default fallback
- Zero API contract changes
- Invalid values return 400 Bad Request with clear error messages

- All existing tests pass
- Compilation successful with no errors or warnings

Fixes #1942
2026-01-18 00:47:37 -08:00
github-actions[bot]
9a4ef0e8f3 chore(release): Update version to v1.4.382 v1.4.382 2026-01-17 17:34:41 +00:00
Kayvan Sylvan
2eafa750b2 Merge pull request #1941 from ksylvan/kayvan/fix-suggest-pattern
Add `greybeard_secure_prompt_engineer` to metadata, also remove duplicate json data file.
2026-01-17 09:32:21 -08:00
Kayvan Sylvan
935c0cab48 chore: incoming 1941 changelog entry 2026-01-17 09:29:46 -08:00