Files
Hanzo DevandGitHub b2a6d092cf feat(orchestrator): migrate off Temporal to @hanzoai/tasks (embedded engine, gated ZAP) (#2)
Replace @temporalio/* + nestjs-temporal-core with @hanzoai/tasks. Durable
workflow execution now runs on the ONE Hanzo Tasks engine embedded in cloud,
reached over its identity-gated ZAP listener (cloud.hanzo.svc:9999) and
authenticated with a Hanzo IAM client_credentials bearer (owner-scoped). No
upstream Temporal anywhere.

- libraries/.../temporal/tasks.ts: @hanzoai/tasks-backed NestJS integration —
  @Activity/@ActivityMethod decorators, TemporalService facade
  (client.getRawClient()/getWorkflowHandle(), terminateWorkflow()), IAM
  client_credentials token source, getTemporalModule(). Connects a Client +
  one Worker per task queue (main + per social integration), RegisterNamespace
  on init.
- temporal.module.ts re-exports getTemporalModule; temporal.register.ts is a
  no-op (search attrs need no pre-registration on Hanzo Tasks);
  infinite.workflow.register.ts + health.controller.ts use @hanzoai/tasks;
  backend main.ts drops the Temporal worker Runtime.install.
- temporal/workflow.ts: workflow-side barrel re-exporting @hanzoai/tasks with a
  drop-in proxyActivities (unconstrained generic + cancellationType superset)
  so proxyActivities<ActivityClass>() type-checks as it did under @temporalio.
- All 11 workflows + 4 activity classes + 2 signals ported; uses proxyActivities,
  sleep, condition, defineSignal/setHandler (signal-to-running-wf), continueAsNew
  (digest/sendEmail), startChild (post repeat), typed search attributes,
  workflowIdConflictPolicy.
- @hanzoai/tasks vendored as a tarball (file: dep); TEMPORAL_ADDRESS scrubbed,
  new TASKS_ADDRESS default cloud.hanzo.svc:9999 / TASKS_NAMESPACE default.

Orchestrator + backend build green (nest build, full typecheck).
2026-07-04 22:12:42 -07:00
..