Feature request: Support for !Send futures in #[tool] handlers (e.g. #[tool(local)]) #17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Auto Triage Issues | |
| on: | |
| # Triage newly opened or reopened issues immediately | |
| issues: | |
| types: [opened, reopened] | |
| # Daily sweep to catch anything missed (e.g., label removals, edits) | |
| schedule: | |
| - cron: "0 9 * * *" # 9:00 UTC daily | |
| # Allow manual runs from the Actions tab | |
| workflow_dispatch: | |
| inputs: | |
| issue_number: | |
| description: "Triage a specific issue number (leave empty for all untriaged)" | |
| required: false | |
| type: string | |
| dry_run: | |
| description: "Dry-run mode (preview only, don't apply labels)" | |
| required: false | |
| type: boolean | |
| default: false | |
| permissions: | |
| issues: write | |
| jobs: | |
| triage: | |
| name: Triage Issues | |
| # TODO: Re-enable once OPENAI_API_KEY secret is available | |
| if: false | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| TRIAGE_MODEL: ${{ vars.TRIAGE_MODEL || 'gpt-4o-mini' }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install jq | |
| run: sudo apt-get install -y jq | |
| - name: Triage single issue (on issue event) | |
| if: github.event_name == 'issues' | |
| run: | | |
| ./scripts/triage-new-issues.sh \ | |
| --issue ${{ github.event.issue.number }} \ | |
| --apply | |
| - name: Triage specific issue (manual dispatch) | |
| if: >- | |
| github.event_name == 'workflow_dispatch' | |
| && github.event.inputs.issue_number != '' | |
| run: | | |
| ARGS=(--issue ${{ github.event.inputs.issue_number }}) | |
| if [[ "${{ github.event.inputs.dry_run }}" != "true" ]]; then | |
| ARGS+=(--apply) | |
| fi | |
| ./scripts/triage-new-issues.sh "${ARGS[@]}" | |
| - name: Triage all untriaged issues (schedule or manual sweep) | |
| if: >- | |
| github.event_name == 'schedule' | |
| || (github.event_name == 'workflow_dispatch' | |
| && github.event.inputs.issue_number == '') | |
| run: | | |
| ARGS=() | |
| if [[ "${{ github.event.inputs.dry_run }}" != "true" ]]; then | |
| ARGS+=(--apply) | |
| fi | |
| ./scripts/triage-new-issues.sh "${ARGS[@]}" |