Commit Graph

3473 Commits

Author SHA1 Message Date
Baker Tamory
a61007b3b1 Apply PR review feedback from @ksylvan
- Add changelog file for PR #1965
- Fix trailing space formatting in deploymentRoutes map

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 01:39:18 +11:00
Baker Tamory
4d5ee38a34 docs: Add Azure OpenAI troubleshooting guide
Documents the deployment URL bug and stream_options fix with:
- Clear explanation of the root cause (SDK route matching bug)
- Technical details for developers
- Configuration guidance
- Verification steps

Related to #1954 and PR #1965

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:34:28 +11:00
Baker Tamory
82974a6a2a fix(azure): Fix deployment URL path for Azure OpenAI API
The OpenAI Go SDK's azure.WithEndpoint() middleware has a bug where it
expects request paths like /openai/chat/completions but the SDK actually
sends paths like /chat/completions (without the /openai/ prefix since
that's included in the base URL). This causes the SDK's route matching
to fail, resulting in deployment names not being injected into the URL.

Azure OpenAI requires URLs like:
  /openai/deployments/{deployment-name}/chat/completions
But the SDK was generating:
  /openai/chat/completions

This fix:
1. Adds custom middleware that correctly transforms API paths to include
   the deployment name extracted from the request body's model field
2. Moves StreamOptions to only be set for streaming requests (Azure
   rejects stream_options for non-streaming requests)

Fixes #1954

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:31:04 +11:00
github-actions[bot]
4673e6e1f6 chore(release): Update version to v1.4.389 v1.4.389 2026-01-23 17:38:17 +00:00
Kayvan Sylvan
847749567f Merge pull request #1960 from ksylvan/kayvan/consume-all-commandline-args
fix: consume all positional arguments as input
2026-01-23 09:35:56 -08:00
Kayvan Sylvan
5bea5e0f9c chore: incoming 1960 changelog entry 2026-01-23 09:33:27 -08:00
Kayvan Sylvan
cc56013004 fix: consume all positional arguments as input
Changed from using only the last positional argument (args[len(args)-1])
to joining all positional arguments with spaces. This allows commands like:
  fabric -p pattern_name How do I use fabric to list available models
to consume the entire phrase instead of just "models".

Fixes #1958

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 09:29:11 -08:00
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