teqo/.github/workflows/archive-cursor-agent.yml

53 lines
1.6 KiB
YAML

# Operator helper: cancel+archive a Cursor Cloud agent (CURSOR_API_KEY secret).
name: Archive Cursor agent (ops)
on:
workflow_dispatch:
inputs:
agent_id:
description: Cursor agent id (bc-…)
required: true
type: string
run_id:
description: Cursor run id (run-…) optional cancel first
required: false
type: string
permissions:
contents: read
jobs:
archive:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 24
package-manager-cache: false
- name: Cancel run (if any) + archive agent
env:
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
AGENT_ID: ${{ inputs.agent_id }}
RUN_ID: ${{ inputs.run_id }}
run: |
node --input-type=module <<'NODE'
import {
archiveCursorAgent,
cancelCursorRun,
} from './scripts/lib/agent-pool-cursor.mjs'
const agentId = process.env.AGENT_ID
const runId = process.env.RUN_ID?.trim()
if (!process.env.CURSOR_API_KEY) {
console.error('CURSOR_API_KEY missing')
process.exit(1)
}
if (runId) {
try {
await cancelCursorRun(agentId, runId)
console.log('cancelled', runId)
} catch (error) {
console.warn('cancel failed (continuing):', error.message)
}
}
await archiveCursorAgent(agentId)
console.log('archived', agentId)
NODE