Commit Graph

3491 Commits

Author SHA1 Message Date
Kayvan Sylvan
e7367ded17 chore: incoming 1969 changelog entry 2026-01-25 13:56:10 -08:00
Kayvan Sylvan
03a496912f security: add npm support with package-lock.json for dual package manager compatibility
Changes:
- Added npm "overrides" section to package.json alongside existing pnpm overrides
- Generated and tracked package-lock.json with security fixes applied
- Removed web/package-lock.json from .gitignore to support npm users
- Both npm and pnpm now enforce secure dependency versions

This enables developers to use either pnpm or npm while maintaining
consistent security posture across both package managers.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 13:53:00 -08:00
Kayvan Sylvan
b59f381aac security: fix critical ollama authentication vulnerability
Fix Dependabot alert #107 (CRITICAL):
- github.com/ollama/ollama vulnerability: missing authentication enabling
  unauthorized model management operations
- Updated from v0.13.5 (vulnerable) to v0.15.1 (latest stable)

All Go tests pass. Build verified successful.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 13:30:28 -08:00
Kayvan Sylvan
75c2e16a90 security: fix critical and high priority npm vulnerabilities
Fix Dependabot alerts:
- Alert #92 (CRITICAL): form-data < 2.5.4 → upgraded to 4.0.5
- Alert #103 (HIGH): glob vulnerable to command injection → ≥10.5.0
- Alert #108 (HIGH): qs DoS vulnerability → upgraded to 6.14.1

Added pnpm overrides to enforce secure versions across dependency tree.
Build and dependency installation verified successful.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 13:29:25 -08:00
Kayvan Sylvan
9c2fc25872 chore: remove deprecated wisdom extraction patterns from pattern libraries
- Remove extract_wisdom_short from pattern descriptions catalog
- Drop extract_wisdomjm pattern extract definition
- Delete extract_wisdom_short extract template block
2026-01-25 13:18:15 -08:00
github-actions[bot]
fe4f729eae chore(release): Update version to v1.4.392 v1.4.392 2026-01-25 18:18:03 +00:00
Kayvan Sylvan
7f15553c71 Merge pull request #1968 from ksylvan/kayvan/add-extract-all-quotes
New `extract_all_quotes` and move misplaced patterns
2026-01-25 10:15:41 -08:00
Kayvan Sylvan
8075209d9e fix: New extract_all_quotes and move misplaced patterns
- Move pattern files from patterns/ to data/patterns/
- Add create_bd_issue pattern for issue tracking commands
- Add extract_all_quotes pattern for quote extraction
- Add extract_bd_ideas pattern for actionable idea extraction
- Add suggest_gt_command pattern for GT command suggestions
- Update pattern_explanations.md with new pattern entries
- Update suggest_pattern system.md with new categories
- Add new pattern descriptions and extracts in scripts/
- chore: incoming 1968 changelog entry
2026-01-25 10:11:33 -08:00
github-actions[bot]
1d7fdffdbd chore(release): Update version to v1.4.391 v1.4.391 2026-01-24 20:02:29 +00:00
Kayvan Sylvan
bd38f5ae20 Merge pull request #1965 from infinitelyloopy-bt/fix/azure-openai-deployment-url
fix(azure): Fix deployment URL path for Azure OpenAI API
2026-01-24 12:00:09 -08:00
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
github-actions[bot]
7f28245dc4 chore(release): Update version to v1.4.390 v1.4.390 2026-01-24 06:56:14 +00:00
Kayvan Sylvan
44d092cf0f Merge pull request #1967 from ksylvan/fix_minimax_vendor
chore: add MiniMax provider support and update API endpoints
2026-01-23 22:53:41 -08:00
Kayvan Sylvan
7997acc271 chore: incoming 1967 changelog entry 2026-01-23 22:48:19 -08:00
Kayvan Sylvan
8469665cab chore: add MiniMax provider support and update API endpoints
## CHANGES

- add MiniMax provider configuration with API endpoint updates
- implement NeedsRawMode method for MiniMax model handling
- define static MiniMax model list with M2 variants
- add Infermatic and Novita to VS Code extensions
- update test to use proper context.TODO() parameter
- configure MiniMax models as static discovery
- set ModelsURL to static:minimax for model listing
2026-01-23 22:45:54 -08:00
Kayvan Sylvan
27378c06fd Merge pull request #1964 from jessesep/add-community-patterns
feat: add design system, golden rules, and discord structure patterns
2026-01-23 20:06:21 -08:00
Kayvan Sylvan
60670f887e docs: add three new pattern explanations and update pattern categorization
- Add `analyze_discord_structure` pattern for Discord server analysis
- Add `create_design_system` pattern for CSS design system generation
- Add `create_golden_rules` pattern for extracting codebase rules
- Update pattern numbering in explanations document (11-235)
- Add new patterns to suggest_pattern category mappings
- Update pattern_descriptions.json with new pattern metadata
- Update pattern_extracts.json with new pattern content
2026-01-23 20:04:15 -08:00
Kayvan Sylvan
856ba48ccf chore: incoming 1964 changelog entry 2026-01-23 19:14:30 -08: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
jessesep
a9521c0bd9 feat: add design system, golden rules, and discord structure patterns
Three new patterns for common development workflows:

- create_design_system: Generate CSS design systems with tokens,
  typography scales, and dark/light mode support from requirements
- create_golden_rules: Extract implicit and explicit rules from
  codebases into testable, enforceable guidelines
- analyze_discord_structure: Audit Discord server organization,
  permissions, and naming conventions
2026-01-24 02:58:23 +01: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