Plugin
A plugin hosted by Loom: what its poll answers, how an item is classified and projected onto the actions and data sources a governed turn may use, what the turn ends with, the line the host records for each handled item and the state it keeps between polls. A turn proposes a reply or declines; it sends nothing.
loom.plugin is one of loom's bounded contexts. All domains.
Types
Classification
loom.plugin.Classification is a record of three fields:
intent—loom.plugin.Intenthints—List<String>confidence—Decimal
Cursor
loom.plugin.Cursor is a record of two fields:
name—Stringvalue—String
InboundItem
loom.plugin.InboundItem is a record of four fields:
id—loom.plugin.ItemIdrevision—Stringtext—Stringdetails—Json
Intent
loom.plugin.Intent is one of Ask, Request, Task and Find.
ItemFailures
loom.plugin.ItemFailures is a record of three fields:
item—loom.plugin.InboundItemfailures—Integerlast_failure—String
ItemId
loom.plugin.ItemId wraps String and is not interchangeable with one: the whole value of naming it separately is the crossings the model then refuses.
Objective
loom.plugin.Objective is a record of two fields:
name—Stringweight—Decimal
PluginConfig
loom.plugin.PluginConfig is a record of seven fields:
connectors—loom.datasource.ConnectorsCliConfigsources—List<loom.datasource.DataSource>objectives—List<loom.plugin.Objective>classify_threshold—Optional<Decimal>, which may be absentpoll_interval_seconds—Integerworkspace_roots—List<String>checkouts—List<String>
PluginState
loom.plugin.PluginState is a record of three fields:
cursors—List<loom.plugin.Cursor>handled—List<loom.plugin.ItemId>failing—List<loom.plugin.ItemFailures>
Poll
loom.plugin.Poll is a record of two fields:
items—List<loom.plugin.InboundItem>cursors—List<loom.plugin.Cursor>
Projection
loom.plugin.Projection is a record of two fields:
actions—List<String>sources—List<loom.datasource.SourceName>
Proposal
loom.plugin.Proposal is a record of two fields:
item—loom.plugin.ItemIdtext—String
ProposedCase
loom.plugin.ProposedCase is a record of three fields:
protocol—Stringconfidence—Decimalreasons—List<String>
RecordLine
loom.plugin.RecordLine is a record of nine fields:
item—loom.plugin.ItemIdintent—Optional<loom.plugin.Intent>, which may be absentconfidence—Optional<Decimal>, which may be absent- outcome —
loom.plugin.RecordOutcome reads—List<loom.plugin.SourceRead>proposal—Optional<String>, which may be absentproposed_case—Optional<loom.plugin.ProposedCase>, which may be absentdetail—Optional<String>, which may be absentsteps—List<loom.plugin.TurnStep>
RecordOutcome
loom.plugin.RecordOutcome is one of Proposed, Declined, ProposedCase, Unclassified and Stopped.
SourceRead
loom.plugin.SourceRead is a record of two fields:
source—loom.datasource.SourceNamekind—loom.datasource.ReadKind
StepOutcome
loom.plugin.StepOutcome is one of Performed, Pending, Refused, Failed and NotInvoked.
TurnResult
loom.plugin.TurnResult is a record of six fields:
- outcome —
loom.plugin.RecordOutcome reads—List<loom.plugin.SourceRead>proposal—Optional<String>, which may be absentproposed_case—Optional<loom.plugin.ProposedCase>, which may be absentdetail—Optional<String>, which may be absentsteps—List<loom.plugin.TurnStep>
TurnStep
loom.plugin.TurnStep is a record of five fields:
- action —
Optional<String>, which may be absent - outcome —
loom.plugin.StepOutcome reason—Optional<String>, which may be absentsteps_left—Integermodel_calls_left—Integer
Seven of the types above are reached by nothing else in this system: loom.plugin.Classification, loom.plugin.PluginState, loom.plugin.Poll, loom.plugin.Projection, loom.plugin.Proposal, loom.plugin.RecordLine and loom.plugin.TurnResult. No entity, view, command, event, error or crossing names them, so it is either vocabulary something outside this specification uses or a leftover — and only a person can tell which.
Generated from loom v1 · model digest 687ce3d39bdb34d56d1fe0c221f558534fa9c3e8eda9e34862b5b742d61331e9 · contract digest slice-sha256/2:15882f38a8fb9a69d53338df07a30d76354214618d1abb436d1cd36e9678edd3. Do not edit this file; change the specification and regenerate it with task docs-generate.