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.
- Dependency
Edge - A dependency between two work items.
- Dependency
Endpoint - One endpoint of a dependency edge.
- Document
- One piece of information that lives in a project and is not work.
- Document
Query - A filter over a source’s documents.
- Health
- Whether a source is answering right now.
- Item
Write - One create-or-update of a work item at a destination.
- Label
- A tag a source attaches to work.
- Label
Filter - Label membership, by name rather than by id.
- Native
Id - A source’s own opaque identifier for one item.
- Page
- One page of results, and where to pick up.
- Page
Request - One step of a walk through a result set.
- Project
- A grouping of tasks, shaped like a
Taskwithout a parent of its own. - Project
Query - A filter over a source’s projects.
- Repository
- A repository identified by its normalized origin, without a URL scheme or
.gitsuffix. - Source
Name - 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.
- Task
Query - A filter over a source’s tasks.
- Text
Query - A free-text search and the fields it searches.
Enums§
- Dependency
Kind - What a
DependencyEdgemeans. - Dependency
Support - How far a source can walk its own dependency edges.
- Direction
- Which way a dependency query walks the graph.
- Item
Kind - The kind of work item named by a dependency endpoint.
- Location
- Where an entity is, in the one form a consumer can act on without knowing the backend.
- Project
Filter - Which project a task must belong to.
- Source
Error - Why a source could not answer.
- Status
Category - The normalised status vocabulary shared across every source.
- Support
- Whether a source applies one predicate itself.
- Text
Fields - Which fields a
TextQuerysearches. - Write
Support - Whether a source can be written through at all.
Constants§
- SOURCE_
NAME_ PATTERN - The pattern every
SourceNamematches.
Traits§
- Secret
Resolver - How a plugin reads the credential its configuration names.
- Source
Plugin - The factory that turns one configuration block into a live
TaskSource. - Task
Source - One configured source, as the engine drives it.
Functions§
- documentless
- The refusal a source with no documents answers a document read with.
- unwritable
- The refusal a source with no write side answers a write with.