tasks

module
v1.36.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2026 License: MIT

README

Hanzo Tasks

Durable workflow execution engine for AI agent orchestration.

GitHub License

Introduction

Hanzo Tasks is a durable execution engine that powers AI agent orchestration in the Hanzo ecosystem. It enables developers to build scalable, fault-tolerant workflows that automatically handle intermittent failures and retry failed operations.

Tasks provides the backbone for:

  • Playground spaces -- each space maps to a Tasks namespace
  • Agent execution -- each agent runs as a Tasks worker
  • Durable cron and batch jobs -- reliable scheduled and bulk operations

MIT licensed. See LICENSE.

Getting Started

Build
make tasksd
Run
./tasksd start

Or with a config file:

./tasksd --config-file config/development-sqlite.yaml --allow-no-auth start
Build from source
go build ./cmd/tasksd/
./tasksd start

Module

github.com/hanzoai/tasks

Integration

Hanzo Tasks integrates with the broader Hanzo ecosystem:

  • Playground connects to the Tasks server via the durable-execution SDK
  • Base embeds Tasks for durable cron/batch execution
  • Each playground space = a Tasks namespace
  • Each agent = a Tasks worker

Repository

This repository contains the source code of the Hanzo Tasks server. To implement Workflows, Activities, and Workers from Go, use the in-process client at pkg/tasks; a full durable-execution SDK is compatible with the server's gRPC surface.

Architecture

See docs/architecture/README.md for server architecture details.

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT License

Directories

Path Synopsis
api
adminservice/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
adminservicemock/v1
Package adminservicemock is a generated GoMock package.
Package adminservicemock is a generated GoMock package.
archiver/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
batch/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
checksum/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
cli/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
clock/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
cluster/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
common/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
deployment/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
enums/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
errordetails/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
health/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
history/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
historyservice/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
historyservicemock/v1
Package historyservicemock is a generated GoMock package.
Package historyservicemock is a generated GoMock package.
matchingservice/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
matchingservicemock/v1
Package matchingservicemock is a generated GoMock package.
Package matchingservicemock is a generated GoMock package.
metrics/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
namespace/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
persistence/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
replication/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
routing/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
schedule/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
taskqueue/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
testservice/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
testservicemock/v1
Package testservicemock is a generated GoMock package.
Package testservicemock is a generated GoMock package.
token/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
workflow/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
Package chasm is a generated GoMock package.
Package chasm is a generated GoMock package.
lib/activity/gen/activitypb/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
lib/callback/gen/callbackpb/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
lib/nexusoperation/gen/nexusoperationpb/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
lib/scheduler
Package scheduler is a generated GoMock package.
Package scheduler is a generated GoMock package.
lib/scheduler/gen/schedulerpb/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
lib/tests/gen/testspb/v1
Code generated by protoc-gen-go-helpers.
Code generated by protoc-gen-go-helpers.
Package client is a generated GoMock package.
Package client is a generated GoMock package.
history/historytest
Package historytest contains library test functions for history.NewClient that use ahistory task queue manager.
Package historytest contains library test functions for history.NewClient that use ahistory task queue manager.
cmd
tasksd command
tools/cassandra command
tools/ci-notify command
tools/fairsim command
tools/getproto command
tools/protogen command
tools/sql command
tools/tdbg command
tools/test command
Package common is a generated GoMock package.
Package common is a generated GoMock package.
api
archiver
Package archiver is a generated GoMock package.
Package archiver is a generated GoMock package.
archiver/filestore
Package filestore is a generated GoMock package.
Package filestore is a generated GoMock package.
archiver/gcloud
Package gcloud is a generated GoMock package.
Package gcloud is a generated GoMock package.
archiver/gcloud/connector
Package connector is a generated GoMock package.
Package connector is a generated GoMock package.
archiver/provider
Package provider is a generated GoMock package.
Package provider is a generated GoMock package.
archiver/s3store
Package s3store is a generated GoMock package.
Package s3store is a generated GoMock package.
archiver/s3store/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
authorization
Package authorization is a generated GoMock package.
Package authorization is a generated GoMock package.
cache
Package cache is a generated GoMock package.
Package cache is a generated GoMock package.
clock
Package clock provides extensions to the time package.
Package clock provides extensions to the time package.
cluster
Package cluster is a generated GoMock package.
Package cluster is a generated GoMock package.
dynamicconfig
Package dynamicconfig is a generated GoMock package.
Package dynamicconfig is a generated GoMock package.
goro
Package goro provides utilities for spawning and subsequently managing the liftime(s) of one or more goroutines.
Package goro provides utilities for spawning and subsequently managing the liftime(s) of one or more goroutines.
log
Package log is a generated GoMock package.
Package log is a generated GoMock package.
membership
Package membership is a generated GoMock package.
Package membership is a generated GoMock package.
membership/ringpop
Package ringpop provides a service-based membership monitor
Package ringpop provides a service-based membership monitor
metrics
Package metrics is a generated GoMock package.
Package metrics is a generated GoMock package.
namespace
Package namespace is a generated GoMock package.
Package namespace is a generated GoMock package.
namespace/nsregistry
Package nsregistry provides a cached namespace registry that reduces load on persistence by maintaining an in-memory cache of namespace information.
Package nsregistry provides a cached namespace registry that reduces load on persistence by maintaining an in-memory cache of namespace information.
namespace/nsreplication
Package nsreplication is a generated GoMock package.
Package nsreplication is a generated GoMock package.
nexus/nexusrpc
Package nexusrpc provides client and server implementations of the Nexus HTTP API [HTTP API]: https://github.com/nexus-rpc/api
Package nexusrpc provides client and server implementations of the Nexus HTTP API [HTTP API]: https://github.com/nexus-rpc/api
persistence
Package persistence is a generated GoMock package.
Package persistence is a generated GoMock package.
persistence/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
persistence/sql/sqlplugin
Package sqlplugin is a generated GoMock package.
Package sqlplugin is a generated GoMock package.
persistence/visibility
Package visibility is a generated GoMock package.
Package visibility is a generated GoMock package.
persistence/visibility/manager
Package manager is a generated GoMock package.
Package manager is a generated GoMock package.
persistence/visibility/store
Package store is a generated GoMock package.
Package store is a generated GoMock package.
persistence/visibility/store/elasticsearch
Package elasticsearch is a generated GoMock package.
Package elasticsearch is a generated GoMock package.
persistence/visibility/store/elasticsearch/client
Package client is a generated GoMock package.
Package client is a generated GoMock package.
persistence/visibility/store/query
Package query is inspired and partially copied from by github.com/cch123/elasticsql.
Package query is inspired and partially copied from by github.com/cch123/elasticsql.
quotas
Package quotas is a generated GoMock package.
Package quotas is a generated GoMock package.
resolver
Package resolver is a generated GoMock package.
Package resolver is a generated GoMock package.
routing
Package routing provides utilities to define a number of Route instances, which can be...
Package routing provides utilities to define a number of Route instances, which can be...
rpc
rpc/interceptor
Package interceptor is a generated GoMock package.
Package interceptor is a generated GoMock package.
rpc/zaptransport
Package zaptransport implements a gRPC-compatible server and client backed by luxfi/zap zero-copy binary RPC.
Package zaptransport implements a gRPC-compatible server and client backed by luxfi/zap zero-copy binary RPC.
sdk
Package sdk is a generated GoMock package.
Package sdk is a generated GoMock package.
searchattribute
Package searchattribute is a generated GoMock package.
Package searchattribute is a generated GoMock package.
softassert
softassert provides utilities for performing assertions.
softassert provides utilities for performing assertions.
tasks
Package tasks is a generated GoMock package.
Package tasks is a generated GoMock package.
testing/fakedata
Package fakedata provides utilities for generating random data for testing.
Package fakedata provides utilities for generating random data for testing.
testing/mockapi/operatorservicemock/v1
Package operatorservicemock is a generated GoMock package.
Package operatorservicemock is a generated GoMock package.
testing/mockapi/workflowservicemock/v1
Package workflowservicemock is a generated GoMock package.
Package workflowservicemock is a generated GoMock package.
testing/mocksdk
Package mocksdk is a generated GoMock package.
Package mocksdk is a generated GoMock package.
testing/nettest
Package nettest provides an in-memory socket, Pipe.
Package nettest provides an in-memory socket, Pipe.
testing/protoassert
Assert wraps testify's require package with useful helpers
Assert wraps testify's require package with useful helpers
testing/protomock
Proto-type adapters for the mock library
Proto-type adapters for the mock library
util
util contains small standalone utility functions.
util contains small standalone utility functions.
components
pkg
sdk
Package sdk is the Hanzo Tasks workflow SDK.
Package sdk is the Hanzo Tasks workflow SDK.
sdk/activity
Package activity provides the call-site helpers that activity code uses inside a Hanzo Tasks worker.
Package activity provides the call-site helpers that activity code uses inside a Hanzo Tasks worker.
sdk/client
Package client is the Hanzo Tasks workflow client.
Package client is the Hanzo Tasks workflow client.
sdk/converter
Package converter provides the EncodedValue surface returned by Client.QueryWorkflow and other RPCs that ship an opaque payload.
Package converter provides the EncodedValue surface returned by Client.QueryWorkflow and other RPCs that ship an opaque payload.
sdk/temporal
Package temporal provides native Hanzo Tasks workflow primitives (retry policy, error model, failure serialisation) with zero dependency on any go.temporal.io/* package.
Package temporal provides native Hanzo Tasks workflow primitives (retry policy, error model, failure serialisation) with zero dependency on any go.temporal.io/* package.
sdk/worker
Package worker is the Hanzo Tasks worker runtime.
Package worker is the Hanzo Tasks worker runtime.
sdk/workflow
Package workflow is the workflow-code-facing API of the Hanzo Tasks SDK.
Package workflow is the workflow-code-facing API of the Hanzo Tasks SDK.
tasks
Package tasks provides the Hanzo Tasks client for Go applications.
Package tasks provides the Hanzo Tasks client for Go applications.
frontend
Package frontend is a generated GoMock package.
Package frontend is a generated GoMock package.
history
Package history is a generated GoMock package.
Package history is a generated GoMock package.
history/api
Package api is a generated GoMock package.
Package api is a generated GoMock package.
history/api/getdlqtasks
Package getdlqtasks contains the logic to implement the historyservice.HistoryServiceServer.GetDLQTasks API.
Package getdlqtasks contains the logic to implement the historyservice.HistoryServiceServer.GetDLQTasks API.
history/archival
Package archival is a generated GoMock package.
Package archival is a generated GoMock package.
history/deletemanager
Package deletemanager is a generated GoMock package.
Package deletemanager is a generated GoMock package.
history/events
Package events is a generated GoMock package.
Package events is a generated GoMock package.
history/interfaces
Package interfaces is a generated GoMock package.
Package interfaces is a generated GoMock package.
history/ndc
Package ndc is a generated GoMock package.
Package ndc is a generated GoMock package.
history/queues
Package queues is a generated GoMock package.
Package queues is a generated GoMock package.
history/replication
Package replication is a generated GoMock package.
Package replication is a generated GoMock package.
history/replication/eventhandler
Package eventhandler is a generated GoMock package.
Package eventhandler is a generated GoMock package.
history/shard
Package shard is a generated GoMock package.
Package shard is a generated GoMock package.
history/tasks
Package tasks is a generated GoMock package.
Package tasks is a generated GoMock package.
history/workflow
Package workflow is a generated GoMock package.
Package workflow is a generated GoMock package.
history/workflow/cache
Package cache is a generated GoMock package.
Package cache is a generated GoMock package.
matching
Package matching is a generated GoMock package.
Package matching is a generated GoMock package.
worker/common
Package common is a generated GoMock package.
Package common is a generated GoMock package.
worker/dlq
Package dlq contains the workflow for deleting and re-enqueueing DLQ tasks.
Package dlq contains the workflow for deleting and re-enqueueing DLQ tasks.
worker/parentclosepolicy
Package parentclosepolicy is a generated GoMock package.
Package parentclosepolicy is a generated GoMock package.
Package temporaltest provides utilities for end to end Temporal server testing.
Package temporaltest provides utilities for end to end Temporal server testing.
embedded
Package embedded exposes a production-safe wrapper around the internal temporalite LiteServer.
Package embedded exposes a production-safe wrapper around the internal temporalite LiteServer.
internal
Package temporalite contains high level helpers for setting up a SQLite based server.
Package temporalite contains high level helpers for setting up a SQLite based server.
ndc
xdc
tools
sql
Package ui exposes the built Vite bundle as an embedded filesystem.
Package ui exposes the built Vite bundle as an embedded filesystem.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL