Skip to main content

Crate onetaskgraph_plugin_api

Crate onetaskgraph_plugin_api 

Source
Expand description

The contract every onetaskgraph source is written against.

This crate holds exactly what a plugin author needs in order to implement a source, and nothing else: the two traits, the work types, the query and paging types, the capability declaration, and the error enum. The engine that drives sources lives in onetaskgraph-core, and no plugin crate may depend on it: deny.toml permits that crate exactly one wrapper, the binary, failing the required deny job, and scripts/check-plugin-isolation.sh reads the real cargo metadata graph inside just check.

Keeping this crate still is the point. Every change here rebuilds and re-tests every plugin, which is exactly the cost the split exists to avoid paying on an ordinary engine change. When a new type could plausibly sit on either side, it belongs in onetaskgraph-core unless a trait signature names it.

Structs§

Capabilities
One source’s declared abilities.
Cursor
A plugin-defined resume token. The engine stores and returns one; it never interprets one.
DependencyEdge
A dependency between two work items.
DependencyEndpoint
One endpoint of a dependency edge.
Health
Whether a source is answering right now.
ItemWrite
One create-or-update of a work item at a destination.
Label
A tag a source attaches to work.
LabelFilter
Label membership, by name rather than by id.
NativeId
A source’s own opaque identifier for one item.
Page
One page of results, and where to pick up.
PageRequest
One step of a walk through a result set.
Project
A grouping of tasks, shaped like a Task without a parent of its own.
ProjectQuery
A filter over a source’s projects.
Repository
A repository identified by its normalized origin, without a URL scheme or .git suffix.
SourceName
The name a configuration document gives one configured source.
Status
A source’s status, kept in both normalised and original form.
Task
One unit of work as a source reports it.
TaskQuery
A filter over a source’s tasks.
TextQuery
A free-text search and the fields it searches.

Enums§

DependencyKind
What a DependencyEdge means.
DependencySupport
How far a source can walk its own dependency edges.
Direction
Which way a dependency query walks the graph.
ItemKind
The kind of work item named by a dependency endpoint.
ProjectFilter
Which project a task must belong to.
SourceError
Why a source could not answer.
StatusCategory
The normalised status vocabulary shared across every source.
Support
Whether a source applies one predicate itself.
TextFields
Which fields a TextQuery searches.
WriteSupport
Whether a source can be written through at all.

Constants§

SOURCE_NAME_PATTERN
The pattern every SourceName matches.

Traits§

SecretResolver
How a plugin reads the credential its configuration names.
SourcePlugin
The factory that turns one configuration block into a live TaskSource.
TaskSource
One configured source, as the engine drives it.

Functions§

unwritable
The refusal a source with no write side answers a write with.