tasks

package
v1.801.463 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package tasks is Hanzo Tasks: durable workflows that survive a crash, with every run visible and replayable.

Tasks is the durable workflow/activity engine (event-sourced, exactly-once, crash-recovering) previously fronted by a standalone tasksd + cluster Service; this mounts its HTTP + UI surface natively onto the unified cloud binary per HIP-0106 — the follow-up named in cloud's durable.go ("consolidating that surface into cloud").

ONE ENGINE. cloud already embeds the single in-process tasks engine in durable.go (wireDurableIngest → cloud.EmbeddedTasks), shared by ai's durable ingest. This subsystem does NOT Embed a second engine; it mounts that ONE engine's HTTP handlers on the shared zip mux, so the Tasks product (console/ studio) reads the SAME durable state as ai ingest — one engine, one binary, one way. The engine is created after MountAll, so the surface resolves it LAZILY per request (503 until it is live).

Surface (all under /v1/tasks/*, plus the embedded React UI at /tasks/*):

/v1/tasks/health                    generic liveness (cloud's per-subsystem contract)
/v1/tasks/settings                  capability flags (open bootstrap)
/v1/tasks/cluster[/health]          cluster status (open probes)
/v1/tasks/namespaces|nexus|...      engine JSON API (identity-gated)
/v1/tasks/mcp                       MCP tool surface (identity-gated)
/v1/tasks/events                    SSE realtime stream (identity-gated)
/tasks/*                            embedded React UI (console.hanzo.ai/tasks)

Identity: cloud's gateway validates the IAM JWT and mints X-Org-Id / X-User-Id (HIP-0026). gate resolves those two through apps/principal — the ONE place the cloud data plane turns a request into an org — and refuses (403, never the unscoped store) anything that decision refuses, then threads the validated org into the engine via tasks/pkg/auth.WithIdentity, so per-(org,ns) shard scoping applies.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Mount

func Mount(app cloud.Router, deps cloud.Deps) error

Mount adapts the shared engine's HTTP surface + the static UI onto app. It creates NO engine — the ONE engine lives in cloud.EmbeddedTasks (durable.go).

Types

This section is empty.

Directories

Path Synopsis
Package ui embeds the built Hanzo Tasks SPA (@hanzo/tasks, the admin-tasks app in hanzoai/admin, Vite + hanzogui) directly into the cloud binary and serves it at /tasks/* (console.hanzo.ai/tasks + tasks.hanzo.ai/tasks).
Package ui embeds the built Hanzo Tasks SPA (@hanzo/tasks, the admin-tasks app in hanzoai/admin, Vite + hanzogui) directly into the cloud binary and serves it at /tasks/* (console.hanzo.ai/tasks + tasks.hanzo.ai/tasks).

Jump to

Keyboard shortcuts

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