teqo-backup/scripts/agent-prioritize.mjs
Francisco Solla f20305759a OPS50: port CI e scripts de agentes do GitHub para o Forgejo
Workflows nativos em .forgejo/workflows/ (ci, ci-pr, agent-pool,
automerge, issue-transition, plan-issue, vercel-promote, archive),
removendo .github/workflows e .github/actions. Runner Forgejo v13 com
services Postgres por porta + DB_HOST via gateway do bridge. Libs de
agente sobre o novo cliente forgejo-api.mjs (zero dependências,
GITHUB_SERVER_URL/FORGEJO_API_URL), helpers de workflow plain-Node.
pnpm issue corrigido (await em função sync) e validado ao vivo. Testes:
forgejoApi.unit.spec.ts novo, pin do matrix do ci.yml atualizado.

Closes #1 (parte 1 — docs/issues/pool seguem na parte 2)
2026-08-16 23:32:20 -03:00

23 lines
857 B
JavaScript

/**
* `pnpm agent:prioritize` — re-prioritize a trackable issue.
*
* pnpm agent:prioritize -- <issue-number> P1
*/
import { dieAgent, labelNames, parseArgs, setLabels } from './lib/agent-forgejo.mjs'
import { forgejoApi as api } from './lib/forgejo-api.mjs'
const die = dieAgent('prioritize')
const { positional } = parseArgs(process.argv.slice(2), new Set())
const [number, priority] = positional
if (!number || !/^P[0-3]$/.test(priority ?? '')) {
die('Usage: pnpm agent:prioritize -- <issue-number> <P0|P1|P2|P3>')
}
const issue = await api.getIssue(number)
const current = labelNames(issue).filter((label) => /^prio:P[0-3]$/.test(label))
await setLabels(number, { add: [`prio:${priority}`], remove: current })
console.log(
`[agent:prioritize] #${issue.number} — ${issue.title}: ${current.join(',') || '(none)'} → prio:${priority}`,
)