aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(cli): bgagent ask Phase 2 (POST /tasks/{id}/asks)
- Vorherrschende Sprache
- TypeScript
- Sterne
- 143
- Forks
- 46
- Ø Merge
- 3 T. 10 Std.
- Gemergte PRs (30 T.)
- 24
Beschreibung
**Context:** ROADMAP.md → `bgagent ask` (Phase 2)
---
## Component
Scripts / CLI
## Describe the feature
Mid-run **questions to the agent**: `POST /tasks/{id}/asks`; answers durable as `status_response` events. CLI `bgagent ask ""` with foreground block-and-poll. Enables interactive summaries without burning a separate status API.
## Use case
Operators need "why did you change X?" mid-flight without `nudge`ing implementation guidance. Answers must survive CLI disconnect.
## Proposed solution
1. REST: create ask, poll events by `correlation_id=ask_id`.
2. Agent between-turns hook injects ask as user turn; emits `status_response`.
3. CLI spinner + adaptive poll; `bgagent asks show ` for reconnect.
4. Sync `cli/src/types.ts` with `cdk/.../types.ts`.
5. Fanout Slack renderer for `status_response` (Phase 2).
## Other information
- Full spec: `docs/design/INTERACTIVE_AGENTS.md` §5.5, AD-6/AD-7.
- `status_response` already in fanout allowlist (forward-compat).
- [ ] This might be a breaking change
Beitragsleitfaden
Rechercherichtung
Lies zuerst docs/design/INTERACTIVE_AGENTS.md §5.5 und AD-6/AD-7 und untersuche anschließend die CLI- und CDK-Typdefinitionen unter cli/src/types.ts und cdk/.../types.ts. Verfolge den im Vorschlag beschriebenen REST-ask-Flow, den Between-Turn-Hook, das Event-Polling, den Reconnect-Befehl und das Slack-status_response-Fanout. Erledigt bedeutet, dass das Verhalten der Phase 2 und die synchronisierten Typen alle aufgeführten Pfade abdecken.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- api, backend, cli
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100