feat: Poimen AI orchestrator API (Stream A: #31, #32, #33, #34) #37

Merged
rock merged 3 commits from feat/poimen-orchestrator-api into main 2026-09-26 10:52:03 +00:00
Owner

Stream A — All API Gateway issues in one PR

#31 Clean up dead Temporal operations.go stubs

  • Delete operations.go (95 LOC TODO stubs)
  • Refactor handler.go: 8 methods delegate to WorkflowGRPCImpl/SearchAttributesGRPCImpl
  • Remove unused query/v1 import

#33 SSE streaming endpoint for workflow events

  • New internal/temporal/sse.go: StreamWorkflowEvents
  • Polls Temporal history every 2s, heartbeat every 15s
  • Maps event types to semantic SSE events
  • Route: GET /workflow/stream

#32 Typed Poimen REST endpoints

  • New internal/temporal/poimen.go: PoimenHandler
  • POST /v1/poimen/plan, /execute
  • GET /v1/poimen/executions, /:id, /:id/history, /:id/stream
  • POST /:id/signal, DELETE /:id

#34 Wire Poimen workflow types

  • Workflow type registry: dag, orchestrator, routing
  • ServiceAdapter spec with auth capabilities
  • Registered in cmd/gateway/main.go

Closes #31
Closes #32
Closes #33
Closes #34

## Stream A — All API Gateway issues in one PR ### #31 Clean up dead Temporal operations.go stubs - Delete operations.go (95 LOC TODO stubs) - Refactor handler.go: 8 methods delegate to WorkflowGRPCImpl/SearchAttributesGRPCImpl - Remove unused query/v1 import ### #33 SSE streaming endpoint for workflow events - New internal/temporal/sse.go: StreamWorkflowEvents - Polls Temporal history every 2s, heartbeat every 15s - Maps event types to semantic SSE events - Route: GET /workflow/stream ### #32 Typed Poimen REST endpoints - New internal/temporal/poimen.go: PoimenHandler - POST /v1/poimen/plan, /execute - GET /v1/poimen/executions, /:id, /:id/history, /:id/stream - POST /:id/signal, DELETE /:id ### #34 Wire Poimen workflow types - Workflow type registry: dag, orchestrator, routing - ServiceAdapter spec with auth capabilities - Registered in cmd/gateway/main.go Closes #31 Closes #32 Closes #33 Closes #34
rock added 2 commits 2026-09-26 10:51:04 +00:00
- Delete operations.go (TODO stubs, never called by handler.go)
- Refactor handler.go: 8 methods delegate to WorkflowGRPCImpl/SearchAttributesGRPCImpl
- Remove unused query/v1 import
- Remaining inline methods kept (reset, update, activity, namespace, cluster ops)
- No behavior change in API responses

Closes #31
- New internal/temporal/poimen.go: PoimenHandler with typed REST endpoints
  POST /v1/poimen/plan — call PlannerActivity (stub until workflows#23)
  POST /v1/poimen/execute — start DAG/Orchestrator/Routing workflows
  GET  /v1/poimen/executions — list Poimen workflow executions
  GET  /v1/poimen/executions/:id — describe execution
  GET  /v1/poimen/executions/:id/history — activity event history
  GET  /v1/poimen/executions/:id/stream — SSE events (delegates to sse.go)
  POST /v1/poimen/executions/:id/signal — pause/resume/cancel
  DELETE /v1/poimen/executions/:id — terminate workflow
- New internal/serviceadapter/poimen_adapter.go: ServiceAdapter spec + factory
- Wire PoimenHandler in cmd/gateway/main.go via ServiceAdapter registry
- Workflow type registry: dag->DAGWorkflow, orchestrator->OrchestratorWorkflow,
  routing->RoutingWorkflow (all on poimen-worker task queue)

Closes #32
Closes #34
rock force-pushed feat/poimen-orchestrator-api from d820f44d44 to 4487ac99b4 2026-09-26 10:51:04 +00:00 Compare
rock added 1 commit 2026-09-26 10:51:48 +00:00
rock merged commit eab6bc50c9 into main 2026-09-26 10:52:02 +00:00
Sign in to join this conversation.