taskgraph

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: May 9, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package taskgraph provides persistent DAG task tools (task_create / task_update / task_list / task_get) backed by JSON files under a configurable directory, aligned with s07-style task systems.

Index

Constants

View Source
const (
	ToolCreate = "task_create"
	ToolUpdate = "task_update"
	ToolList   = "task_list"
	ToolGet    = "task_get"
)

Variables

View Source
var ReminderToolNames = []string{ToolCreate, ToolUpdate, ToolList, ToolGet}

ReminderToolNames lists tools that count as "planning" for agent reminders.

Functions

func IsReminderTool

func IsReminderTool(name string) bool

IsReminderTool reports whether name is a task graph tool used for plan reminders.

func New

func New(config Config) []enno.Tool

New returns four tools: task_create, task_update, task_list, task_get.

Types

type Config

type Config struct {
	Root     string
	TasksDir string
	Timeout  time.Duration
}

Config sets the workspace root and optional tasks directory; Timeout bounds each tool call. If TasksDir is empty, JSON files default to filepath.Join(Root, ".tasks") (library use). If TasksDir is a non-empty absolute path (CLI passes ~/.enno/tasks/<session_id>), that directory is the sole store.

type Task

type Task struct {
	ID          int    `json:"id"`
	Subject     string `json:"subject"`
	Description string `json:"description"`
	Status      string `json:"status"` // pending, in_progress, completed
	BlockedBy   []int  `json:"blocked_by"`
	Owner       string `json:"owner"`
}

Task is stored as JSON at TasksDir/task_<id>.json

Jump to

Keyboard shortcuts

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