Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: StackOneHQ/stackone-ai-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: a61e834
Choose a base ref
...
head repository: StackOneHQ/stackone-ai-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 262d518
Choose a head ref
  • 3 commits
  • 9 files changed
  • 5 contributors

Commits on May 22, 2026

  1. fix(search): make ToolsetConfigError actionable and fix misleading do…

    …cs (#188)
    
    * fix(search): make ToolsetConfigError actionable and fix misleading docs
    
    The "Search is disabled" error pointed users at the right cause but
    didn't show the exact fix. Updated all 4 raise sites to suggest
    search={} or search={"method": "auto"} on the StackOneToolSet
    constructor.
    
    Also corrected 3 README examples and 3 docstring examples that called
    StackOneToolSet() with no args before invoking search APIs — every
    one of those would have raised the same error at runtime.
    
    No behavior change; default remains search=None (disabled).
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    
    * fix(search): align error reference and fix Basic Usage snippet
    
    - Error message now references README section 'Search Tool' (singular),
      matching the actual heading at README.md:357.
    - Basic Usage snippet: add missing StackOneToolSet import, drop the
      unused fetch_tools line, and pass account_ids on the search call so
      the snippet runs as written.
    
    Addresses Copilot review on #188.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    CameronCarlin and claude authored May 22, 2026
    Configuration menu
    Copy the full SHA
    d332c27 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2026

  1. fix(models): handle binary file downloads in tool execution (#190)

    * fix(models): handle binary file downloads in tool execution
    
    Download actions (e.g. googledrive_unified_download_file) serve raw binary
    with the file's own MIME type and a Content-Disposition header, so
    StackOneTool.execute() calling response.json() unconditionally raised
    UnicodeDecodeError on the first non-UTF-8 byte.
    
    Branch on Content-Type: parse JSON only for JSON media types (application/json
    and +json suffixes); otherwise return the file as
    {content: bytes, content_type, status_code, headers, file_name}, matching the
    StackOne generated SDKs' download response shape. file_name is parsed from
    Content-Disposition (incl. RFC 5987 filename*). Existing JSON behavior is
    unchanged.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    
    * docs(readme): document file-download return shape from tool execution
    
    Add a "File Downloads" section covering the bytes-plus-metadata dict that
    execute()/call() return for non-JSON responses, the Content-Type detection
    rule, and the not-JSON-serializable caveat for LLM-facing re-serialization.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    
    * fix(models): honour declared charset in RFC 5987 filename* parsing
    
    The Content-Disposition filename* branch captured the charset in its
    regex but discarded it, so unquote() always decoded with UTF-8. RFC 5987
    also permits ISO-8859-1, so an ISO-8859-1 percent-encoded filename
    decoded to mojibake despite the helper claiming RFC 5987 support.
    
    - Decode the extended value with its declared charset; fall back to
      UTF-8 for an unknown or empty charset label (LookupError) instead of
      raising.
    - Strip surrounding quotes off non-conformant quoted filename* values.
    - Add tests for ISO-8859-1, an unknown charset, and a quoted filename*.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    jerann and claude authored Jun 3, 2026
    Configuration menu
    Copy the full SHA
    8983c68 View commit details
    Browse the repository at this point in the history
  2. chore(main): release stackone-ai 2.9.1 (#189)

    * chore(main): release stackone-ai 2.9.1
    
    * chore: update uv.lock
    
    ---------
    
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
    github-actions[bot] and github-actions[bot] authored Jun 3, 2026
    Configuration menu
    Copy the full SHA
    262d518 View commit details
    Browse the repository at this point in the history
Loading