chipp 0.3.0

Rust client for the Chipp.ai API - OpenAI-compatible chat completions with streaming support
Documentation
# Release Please workflow
# https://github.com/googleapis/release-please-action
#
# This workflow:
# 1. Runs on every push to main
# 2. Analyzes conventional commits since last release
# 3. Creates/updates a Release PR with version bump and changelog
# 4. When Release PR is merged, creates a git tag and triggers publish

name: Release Please

on:
  push:
    branches:
      - main
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write

jobs:
  release-please:
    runs-on: ubuntu-latest
    outputs:
      release_created: ${{ steps.release.outputs.release_created }}
      tag_name: ${{ steps.release.outputs.tag_name }}
    steps:
      - uses: googleapis/release-please-action@v4
        id: release
        with:
          # See: https://github.com/googleapis/release-please/blob/main/docs/customizing.md#rust
          release-type: rust
          # Use manifest mode for more control
          # See: https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md
          config-file: release-please-config.json
          manifest-file: .release-please-manifest.json

  # Trigger the release workflow when a release is created
  # This is needed because tags created by GITHUB_TOKEN don't trigger other workflows
  # See: https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
  publish:
    needs: release-please
    if: ${{ needs.release-please.outputs.release_created == 'true' }}
    uses: ./.github/workflows/release.yml
    with:
      tag: ${{ needs.release-please.outputs.tag_name }}
    secrets: inherit