trust_tasks

Dart bindings for the Trust Tasks framework: a generated payload type for every specification in the registry, and the hand-written SPEC.md §7.2 consumer pipeline that makes those types mean something.

The fourth of four reference implementations, alongside trust-tasks-rs, @openvtc/trust-tasks and trust-tasks-go. All four must reach the same verdict on the same document; npm run check-bindings is what holds them to it.

dart pub add trust_tasks

Requires Dart 3.3 or later. No dependencies — the cryptosuite and the JSON Schema engine are yours to choose, so this package declares interfaces for them and implements neither.

Importing

The package's own library exports the runtime only. Dart's export is flat — there is no namespaced re-export — so exporting 500 generated libraries from one barrel would collide on the first shared definition anyone calls Ext. Import the specification you need directly, with a prefix:

import 'package:trust_tasks/trust_tasks.dart';
import 'package:trust_tasks/specs/acl/grant/v0_1/payload.dart' as acl_grant;

Each generated library exports a uniform surface:

Identifier
Payload, Response the request and response payload classes
typeUri, responseTypeUri the Trust Task type URIs (responseTypeUri only where the specification defines a success response — SPEC §4.4.1)
payloadSchemaJson, responsePayloadSchemaJson the payload schema as JSON text, cross-file $refs already inlined
spec, responseSpec SpecPolicy values carrying the §7.2 policy flags and the schema above

Paths are snake_cased for Dart's file_names lint, so the slug acl/change-role becomes specs/acl/change_role/v0_1/payload.dart.

Consuming a document

consumeInbound runs SPEC §7.2 items 2 and 4–8, plus the two stateful checks — the freshness bound of item 4 and the duplicate-execution record of item 11 — and then either calls your handler or builds the correctly-routed error response per §8.1.

// One guard per consumer, not one per document: it IS the record.
final guard = InMemoryReplayGuard();

final outcome = await consumeInbound<acl_grant.Payload, acl_grant.Response>(
  transport: transport,
  spec: acl_grant.spec,
  proofPolicy: ProofPolicy.verify(myVerifier),
  payloadPolicy: PayloadPolicy.validate(mySchemaEngine),
  // acl/grant is consequential: a replayed envelope must not grant twice.
  checks: consequentialChecks(guard),
  doc: doc,
  myVid: 'did:web:maintainer.example',
  now: DateTime.now(),
  newErrorId: () => uuid.v4(),
  payloadToJson: (p) => p.toJson(),
  handler: (accepted, parties) async => respondWith(
    accepted,
    uuid.v4(),
    acl_grant.Response(entry: await applyGrant(accepted.payload.entry, parties)),
  ),
);

switch (outcome) {
  case Handled(:final response):
    emit(response);
  case Rejected(:final error):
    emit(error); // already addressed per §8.1
  case Suppressed(:final reason):
    log(reason); // §8.1 — no response may be emitted
  case Accepted():
    break; // fire-and-forget (§4.4.1): nothing to emit
  case DuplicateOutcome(:final priorResponse):
    // §7.2 item 11 — already executed. NOT an error.
    if (priorResponse != null) emit(priorResponse);
}

The outcome is a sealed hierarchy, so that switch is exhaustive and the compiler tells you if a case is missing.

payloadPolicy and checks are required. Both have an obvious "skip it" setting, and defaulting to it would silently reproduce the defects they exist to remove: a payload nobody validated, and a consequential task executed twice by an ordinary mediator retry.

Three things worth knowing

The generated types carry no schema constraints. No minLength, no pattern, no minimum, and no oneOf mutual exclusion — auth/revoke-session's "sessionId xor all" is a class with both members optional. This matches the TypeScript and Go bindings exactly, and it is why payloadSchemaJson ships with every library: SPEC §7.2 item 2 is where those rules are enforced, and you enforce them by handing that schema to a JSON Schema engine through PayloadValidator.

Closed value sets are extension types, not enums. A Dart enum throws on a value it does not know, so a peer on a newer MINOR would crash your parse — in direct conflict with SPEC §5.2's forward-compatibility requirement. An extension type const Effect(String value) is zero-cost, erases to String, keeps == and the named constants, and carries an unrecognised value through without complaint. Compare against the constants and treat anything else as unrecognised.

Absent is not empty. Optional members are nullable, so List<String>? distinguishes absent (null) from present-and-empty ([]) natively. Several specifications make that distinction load-bearing — acl's allowedKeys documents at length that "PRESENT-BUT-EMPTY means authorized on NO keys — the opposite of absent". Dart gets this right for free where Go needed a pointer-to-slice.

Unrecognized top-level members survive a round trip in TrustTaskDocument.extra, per the §7.1 / §7.2 guidance to preserve them.

Regenerating

From the repository root:

npm run build-dart-bindings

The generator runs dart format on its own output, so the Dart SDK must be on your PATH. The bindings-drift job in .github/workflows/dart.yml fails if the committed tree differs from what the generator produces.

A change under specs/ must regenerate all four libraries in the same PR — see the repository CLAUDE.md.

Licence

Apache-2.0.

Libraries

specs/acl/change_role/v0_1/payload
specs/acl/grant/v0_1/payload
specs/acl/list/v0_1/payload
specs/acl/revoke/v0_1/payload
specs/acl/shared/v0_1/acl_entry
specs/acl/show/v0_1/payload
specs/acl/swap_key/v0_1/payload
specs/acl/update/v0_1/payload
specs/audit/list/v0_1/payload
specs/audit/shared/v0_1/audit
specs/audit/verify/v0_1/payload
specs/auth/authenticate/v0_1/payload
specs/auth/authenticate/v0_2/payload
specs/auth/authenticate/v0_3/payload
specs/auth/challenge/v0_1/payload
specs/auth/passkey/admin_list/v0_1/payload
specs/auth/passkey/enroll/finish/v0_1/payload
specs/auth/passkey/enroll/finish/v0_2/payload
specs/auth/passkey/enroll/invite/list/v0_1/payload
specs/auth/passkey/enroll/invite/revoke/v0_1/payload
specs/auth/passkey/enroll/invite/update/v0_1/payload
specs/auth/passkey/enroll/invite/v0_1/payload
specs/auth/passkey/enroll/invite/v0_2/payload
specs/auth/passkey/enroll/redeem/finish/v0_1/payload
specs/auth/passkey/enroll/redeem/start/v0_1/payload
specs/auth/passkey/enroll/start/v0_1/payload
specs/auth/passkey/enroll/start/v0_2/payload
specs/auth/passkey/list/v0_1/payload
specs/auth/passkey/login/finish/v0_1/payload
specs/auth/passkey/login/finish/v0_2/payload
specs/auth/passkey/login/start/v0_1/payload
specs/auth/passkey/login/start/v0_2/payload
specs/auth/passkey/revoke/finish/v0_1/payload
specs/auth/passkey/revoke/finish/v0_2/payload
specs/auth/passkey/revoke/start/v0_1/payload
specs/auth/passkey/revoke/start/v0_2/payload
specs/auth/refresh/v0_1/payload
specs/auth/refresh/v0_2/payload
specs/auth/revoke_session/v0_1/payload
specs/auth/revoke_session/v0_2/payload
specs/auth/sessions/list/v0_1/payload
specs/auth/shared/v0_1/passkey_invite
specs/auth/shared/v0_1/session
specs/auth/shared/v0_1/signing_key
specs/auth/shared/v0_1/tokens
specs/auth/shared/v0_1/webauthn
specs/auth/shared/v0_2/session
specs/auth/shared/v0_3/session
specs/auth/signing_key/enroll/v0_1/payload
specs/auth/signing_key/list/v0_1/payload
specs/auth/signing_key/revoke/v0_1/payload
specs/auth/step_up/approve_request/v0_1/payload
specs/auth/step_up/approve_request/v0_2/payload
specs/auth/step_up/approve_request/v0_3/payload
specs/auth/step_up/approve_response/v0_1/payload
specs/auth/step_up/approve_response/v0_2/payload
specs/auth/step_up/approve_response/v0_3/payload
specs/auth/step_up/approve_response/v0_4/payload
specs/auth/step_up/approve_response/v0_5/payload
specs/auth/step_up/policy/v0_1/payload
specs/auth/step_up/policy/v0_2/payload
specs/auth/step_up/start/v0_1/payload
specs/auth/whoami/v0_1/payload
specs/backup/abort/v0_1/payload
specs/backup/complete_export/v0_1/payload
specs/backup/finalize_import/v0_1/payload
specs/backup/get_chunk/v0_1/payload
specs/backup/initiate_export/v0_1/payload
specs/backup/initiate_import/v0_1/payload
specs/backup/put_chunk/v0_1/payload
specs/chat/message/v0_1/payload
specs/config/patch/v0_1/payload
specs/config/reload/v0_1/payload
specs/config/restart/v0_1/payload
specs/config/shared/v0_1/config
specs/config/show/v0_1/payload
specs/confirm/request/v0_1/payload
specs/confirm/response/v0_1/payload
specs/consent/approve_request/v0_1/payload
specs/consent/approver_list/v1_0/payload
specs/consent/approver_set/v1_0/payload
specs/consent/decision/v1_0/payload
specs/consent/list/v1_0/payload
specs/consent/request/v1_0/payload
specs/consent/revoke/v1_0/payload
specs/credential_exchange/issue/v0_1/payload
specs/credential_exchange/offer/v0_1/payload
specs/credential_exchange/pending/approve/v0_1/payload
specs/credential_exchange/pending/deny/v0_1/payload
specs/credential_exchange/pending/list/v0_1/payload
specs/credential_exchange/present/v0_1/payload
specs/credential_exchange/query/v0_1/payload
specs/credential_exchange/request/v0_1/payload
specs/credential_exchange/shared/v0_1/deferred_presentation
specs/credentials/shared/v0_1/credentials
specs/credentials/shared/v0_2/credentials
specs/device/disable/v0_1/payload
specs/device/heartbeat/v0_1/payload
specs/device/heartbeat/v0_2/payload
specs/device/list/v0_1/payload
specs/device/list/v0_2/payload
specs/device/register/v0_1/payload
specs/device/register/v0_2/payload
specs/device/set_wake/v0_1/payload
specs/device/set_wake/v0_2/payload
specs/device/shared/v0_1/device_binding
specs/device/shared/v0_2/device_binding
specs/device/wipe/v0_1/payload
specs/device/wipe/v0_2/payload
specs/did_management/agent_name/check/v0_1/payload
specs/did_management/agent_name/disable/v0_1/payload
specs/did_management/agent_name/enable/v0_1/payload
specs/did_management/agent_name/list/v0_1/payload
specs/did_management/agent_name/remove/v0_1/payload
specs/did_management/agent_name/resolve/v0_1/payload
specs/did_management/agent_name/set/v0_1/payload
specs/did_management/agent_name/update/v0_1/payload
specs/did_management/did/change_owner/v0_1/payload
specs/did_management/did/check_name/v0_1/payload
specs/did_management/did/delete/v0_1/payload
specs/did_management/did/disable/v0_1/payload
specs/did_management/did/enable/v0_1/payload
specs/did_management/did/info/v0_1/payload
specs/did_management/did/list/v0_1/payload
specs/did_management/did/log/v0_1/payload
specs/did_management/did/problem_report/v0_1/payload
specs/did_management/did/publish/v0_1/payload
specs/did_management/did/register/v0_1/payload
specs/did_management/did/rollback/v0_1/payload
specs/did_management/did/set_state/v0_1/payload
specs/did_management/domain/assign/v0_1/payload
specs/did_management/domain/create/v0_1/payload
specs/did_management/domain/disable/v0_1/payload
specs/did_management/domain/enable/v0_1/payload
specs/did_management/domain/list/v0_1/payload
specs/did_management/domain/purge/v0_1/payload
specs/did_management/domain/set_default/v0_1/payload
specs/did_management/domain/set_state/v0_1/payload
specs/did_management/domain/unassign/v0_1/payload
specs/did_management/domain/update/v0_1/payload
specs/did_management/identity/list/v0_1/payload
specs/did_management/identity/retire/v0_1/payload
specs/did_management/me/domains/v0_1/payload
specs/did_management/registry/admin_register/v0_1/payload
specs/did_management/registry/check/v0_1/payload
specs/did_management/registry/deregister/v0_1/payload
specs/did_management/registry/get/v0_1/payload
specs/did_management/registry/list/v0_1/payload
specs/did_management/registry/purge_domain/v0_1/payload
specs/did_management/replica/domain/assign/v0_1/payload
specs/did_management/replica/domain/purge/v0_1/payload
specs/did_management/replica/domain/unassign/v0_1/payload
specs/did_management/replica/domain/upsert/v0_1/payload
specs/did_management/server/config/v0_1/payload
specs/did_management/server/health/v0_1/payload
specs/did_management/server/info/v0_1/payload
specs/did_management/server/metrics/v0_1/payload
specs/did_management/server/register/v0_1/payload
specs/did_management/server/stats_sync/v0_1/payload
specs/did_management/shared/did_method_extensions/v0_1/webvh
specs/did_management/shared/v0_1/did_record
specs/did_management/shared/v0_1/domain_entry
specs/did_management/shared/v0_1/service_instance
specs/did_management/shared/v0_2/metrics_snapshot
specs/did_management/shared/v0_2/service_instance
specs/did_management/stats/get/v0_1/payload
specs/did_management/stats/timeseries/v0_1/payload
specs/framework/v0_1/framework
specs/framework/v0_2/framework
specs/framework/v0_3/framework
specs/framework/v0_4/framework
specs/git_ns/account/link/v0_1/payload
specs/git_ns/account/link_status/v0_1/payload
specs/git_ns/account/list/v0_1/payload
specs/git_ns/account/unlink/v0_1/payload
specs/git_ns/activity/list/v0_1/payload
specs/git_ns/bridge/event/v0_1/payload
specs/git_ns/bridge/event/v0_2/payload
specs/git_ns/bridge/event/v0_3/payload
specs/git_ns/bridge/job/list/v0_1/payload
specs/git_ns/bridge/job/v0_1/payload
specs/git_ns/bridge/job/v0_2/payload
specs/git_ns/bridge/job/v0_3/payload
specs/git_ns/bridge/job/v0_4/payload
specs/git_ns/bridge/result/v0_1/payload
specs/git_ns/drift/resolve/v0_1/payload
specs/git_ns/drift/resolve/v0_2/payload
specs/git_ns/drift/resolve/v0_3/payload
specs/git_ns/namespace/bind/v0_1/payload
specs/git_ns/namespace/list/v0_1/payload
specs/git_ns/namespace/reseat/v0_1/payload
specs/git_ns/namespace/reseat/v0_2/payload
specs/git_ns/namespace/reseat/v0_3/payload
specs/git_ns/namespace/unbind/v0_1/payload
specs/git_ns/projection/show/v0_1/payload
specs/git_ns/repo/adopt/v0_1/payload
specs/git_ns/repo/adopt/v0_2/payload
specs/git_ns/repo/archive/v0_1/payload
specs/git_ns/repo/archive/v0_2/payload
specs/git_ns/repo/create/v0_1/payload
specs/git_ns/repo/create/v0_2/payload
specs/git_ns/repo/create/v0_3/payload
specs/git_ns/repo/list/v0_1/payload
specs/git_ns/repo/transfer/v0_1/payload
specs/git_ns/repo/transfer/v0_2/payload
specs/git_ns/right/break_glass/v0_1/payload
specs/git_ns/right/break_glass_notice/v0_1/payload
specs/git_ns/right/grant/v0_1/payload
specs/git_ns/right/grant/v0_2/payload
specs/git_ns/right/grant/v0_3/payload
specs/git_ns/right/issued_by_departed/v0_1/payload
specs/git_ns/right/list/v0_1/payload
specs/git_ns/right/ratify/v0_1/payload
specs/git_ns/right/revoke/v0_1/payload
specs/git_ns/right/revoke/v0_2/payload
specs/git_ns/right/revoke/v0_3/payload
specs/git_ns/roles/reproject/v0_1/payload
specs/git_ns/shared/v0_1/git_ns
specs/git_ns/shared/v0_2/git_ns
specs/git_ns/shared/v0_3/git_ns
specs/git_ns/shared/v0_4/git_ns
specs/git_ns/shared/v0_5/git_ns
specs/git_ns/view/v0_1/payload
specs/git_ns/view/v0_2/payload
specs/git_ns/view/v0_3/payload
specs/git_ns/view/v0_4/payload
specs/git_ns/view/v0_5/payload
specs/git_trust/grant/v0_1/payload
specs/git_trust/revoke/v0_1/payload
specs/governance/capability/disable/v0_1/payload
specs/governance/capability/enable/v0_1/payload
specs/governance/capability/list/v0_1/payload
specs/governance/shared/v0_1/governance
specs/keys/create/v0_1/payload
specs/keys/derive_and_sign/v0_1/payload
specs/keys/derive_and_sign_document/v0_1/payload
specs/keys/export_secret/v0_1/payload
specs/keys/import/v0_1/payload
specs/keys/import_wrapping_key/v0_1/payload
specs/keys/list/v0_1/payload
specs/keys/rename/v0_1/payload
specs/keys/revoke/v0_1/payload
specs/keys/set_exportability/v0_1/payload
specs/keys/shared/v0_1/key_record
specs/keys/shared/v0_1/sign_algorithm
specs/keys/show/v0_1/payload
specs/keys/sign/v0_1/payload
specs/messaging/access_list/add/v0_1/payload
specs/messaging/access_list/clear/v0_1/payload
specs/messaging/access_list/get/v0_1/payload
specs/messaging/access_list/list/v0_1/payload
specs/messaging/access_list/remove/v0_1/payload
specs/messaging/access_list/update/v0_1/payload
specs/messaging/account/add/v0_1/payload
specs/messaging/account/change_queue_limits/v0_1/payload
specs/messaging/account/change_type/v0_1/payload
specs/messaging/account/get/v0_1/payload
specs/messaging/account/list/v0_1/payload
specs/messaging/account/remove/v0_1/payload
specs/messaging/account/update/v0_1/payload
specs/messaging/acl/get/v0_1/payload
specs/messaging/acl/set/v0_1/payload
specs/messaging/admin/add/v0_1/payload
specs/messaging/admin/audit_log/v0_1/payload
specs/messaging/admin/config/v0_1/payload
specs/messaging/admin/list/v0_1/payload
specs/messaging/admin/strip/v0_1/payload
specs/messaging/message/delete/v0_1/payload
specs/messaging/message/get/v0_1/payload
specs/messaging/message/list/v0_1/payload
specs/messaging/message/status/v0_1/payload
specs/messaging/monitor/event/v0_1/payload
specs/messaging/monitor/subscribe/v0_1/payload
specs/messaging/monitor/unsubscribe/v0_1/payload
specs/messaging/ping/v0_1/payload
specs/messaging/queue/list/v0_1/payload
specs/messaging/queue/purge/v0_1/payload
specs/messaging/queue/status/v0_1/payload
specs/messaging/shared/v0_1/mediator_ops
specs/messaging/shared/v0_1/messaging
specs/messaging/stats/show/v0_1/payload
specs/persona/attribute/delete/v1_0/payload
specs/persona/attribute/get/v1_0/payload
specs/persona/attribute/list/v1_0/payload
specs/persona/attribute/promote/v1_0/payload
specs/persona/attribute/purge_version/v1_0/payload
specs/persona/attribute/put/v1_0/payload
specs/persona/binding/get/v1_0/payload
specs/persona/binding/list/v1_0/payload
specs/persona/binding/set/v1_0/payload
specs/persona/claim_types/list/v1_0/payload
specs/persona/contact/delete/v1_0/payload
specs/persona/contact/get/v1_0/payload
specs/persona/contact/list/v1_0/payload
specs/persona/contact/put/v1_0/payload
specs/persona/correlation/analyze/v1_0/payload
specs/persona/correlation/analyze/v1_1/payload
specs/persona/disclosure/history/v1_0/payload
specs/persona/disclosure/present/v1_0/payload
specs/persona/disclosure/preview/v1_0/payload
specs/persona/facet/delete/v1_0/payload
specs/persona/facet/list/v1_0/payload
specs/persona/facet/put/v1_0/payload
specs/persona/local/binding/set/v1_0/payload
specs/persona/local/profile/delete/v1_0/payload
specs/persona/local/profile/get/v1_0/payload
specs/persona/local/profile/list/v1_0/payload
specs/persona/local/profile/put/v1_0/payload
specs/persona/profile/compose/v1_0/payload
specs/persona/profile/delete/v1_0/payload
specs/persona/profile/get/v1_0/payload
specs/persona/profile/list/v1_0/payload
specs/persona/profile/put/v1_0/payload
specs/persona/profile/reinstate/v1_0/payload
specs/persona/profile/retire/v1_0/payload
specs/persona/profile/timeline/v1_0/payload
specs/persona/profile/usage/v1_0/payload
specs/persona/renderers/list/v1_0/payload
specs/persona/shared/v0_1/persona_record
specs/persona/world/delete/v1_0/payload
specs/persona/world/list/v1_0/payload
specs/persona/world/put/v1_0/payload
specs/policy/activate/v0_1/payload
specs/policy/active/v0_1/payload
specs/policy/delete/v0_1/payload
specs/policy/evaluate/v0_1/payload
specs/policy/evaluate/v0_2/payload
specs/policy/evaluate/v0_3/payload
specs/policy/get/v0_1/payload
specs/policy/list/v0_1/payload
specs/policy/list/v0_2/payload
specs/policy/shared/v0_1/policy
specs/policy/shared/v0_2/policy
specs/policy/shared/v0_3/policy
specs/policy/upsert/v0_1/payload
specs/policy/upsert/v0_2/payload
specs/process_attestation/v0_1/payload
specs/provision/integration/v0_1/payload
specs/provision/integration/v0_2/payload
specs/provision/integration/v0_3/payload
specs/push/provision/v0_1/payload
specs/push/provision/v0_2/payload
specs/push/register/v0_1/payload
specs/push/register/v0_2/payload
specs/push/wake/v0_1/payload
specs/push/wake/v0_2/payload
specs/registry/authorization/v0_1/payload
specs/registry/did/rotate/v0_1/payload
specs/registry/recognition/v0_1/payload
specs/registry/record/create/v0_1/payload
specs/registry/record/delete/v0_1/payload
specs/registry/record/list/v0_1/payload
specs/registry/record/put/v0_1/payload
specs/registry/record/query/v0_1/payload
specs/registry/record/read/v0_1/payload
specs/registry/record/update/v0_1/payload
specs/registry/shared/v0_1/registry
specs/rooms/create/v0_1/payload
specs/rooms/epoch/chain/v0_1/payload
specs/rooms/epoch/commits/v0_1/payload
specs/rooms/epoch/mint/v0_1/payload
specs/rooms/epoch/prune/v0_1/payload
specs/rooms/keys/backfill/v0_1/payload
specs/rooms/keys/browse/v0_1/payload
specs/rooms/keys/chain/v0_1/payload
specs/rooms/keys/commit/v0_1/payload
specs/rooms/keys/key_package/v0_1/payload
specs/rooms/keys/list/v0_1/payload
specs/rooms/keys/open/v0_1/payload
specs/rooms/keys/present/v0_1/payload
specs/rooms/keys/present/v0_2/payload
specs/rooms/keys/read/v0_1/payload
specs/rooms/keys/seal/v0_1/payload
specs/rooms/keys/welcome/v0_1/payload
specs/rooms/owner/anchor/v0_1/payload
specs/rooms/owner/claim/v0_1/payload
specs/rooms/owner/invite/v0_1/payload
specs/rooms/owner/issue_authority/v0_1/payload
specs/rooms/owner/issue_authority/v0_2/payload
specs/rooms/owner/issue_membership/v0_1/payload
specs/rooms/owner/register/v0_1/payload
specs/rooms/owner/transfer/v0_1/payload
specs/rooms/records/curate/v0_1/payload
specs/rooms/records/get/v0_1/payload
specs/rooms/records/list/v0_1/payload
specs/rooms/records/put/v0_1/payload
specs/rooms/shared/v0_1/room
specs/sync/event/v0_1/payload
specs/sync/event/v0_2/payload
specs/sync/shared/v0_1/sync_event
specs/sync/shared/v0_2/sync_event
specs/task_consent/decision/v0_1/payload
specs/task_consent/granted/v0_1/payload
specs/task_consent/request/v0_1/payload
specs/trust_ceremony_receipt/v0_1/payload
specs/trust_task_control/v0_1/payload
specs/trust_task_discovery/v0_1/payload
specs/trust_task_discovery/v0_2/payload
specs/trust_task_discovery/v0_3/payload
specs/trust_task_error/v0_1/payload
specs/trust_task_error/v0_2/payload
specs/trust_task_error/v0_3/payload
specs/trust_task_error/v0_4/payload
specs/trust_task_error/v0_5/payload
specs/trust_task_next_step/v0_1/payload
specs/trust_task_ok/v0_1/payload
specs/vault/credentials/archive/v0_1/payload
specs/vault/credentials/delete/v0_1/payload
specs/vault/credentials/get/v0_1/payload
specs/vault/credentials/purge/v0_1/payload
specs/vault/credentials/query/v0_1/payload
specs/vault/credentials/receive/v0_1/payload
specs/vault/credentials/restore/v0_1/payload
specs/vault/credentials/unarchive/v0_1/payload
specs/vault/delete/v0_1/payload
specs/vault/get/v0_1/payload
specs/vault/get/v0_2/payload
specs/vault/get/v0_3/payload
specs/vault/list/v0_1/payload
specs/vault/list/v0_2/payload
specs/vault/list/v0_3/payload
specs/vault/proxy_login/v0_1/payload
specs/vault/proxy_login/v0_2/payload
specs/vault/release/v0_1/payload
specs/vault/release/v0_2/payload
specs/vault/shared/v0_1/consumer_context
specs/vault/shared/v0_1/sealed_envelope
specs/vault/shared/v0_1/session_blob
specs/vault/shared/v0_1/vault_entry
specs/vault/shared/v0_1/vault_secret
specs/vault/shared/v0_2/consumer_context
specs/vault/shared/v0_2/sealed_envelope
specs/vault/shared/v0_2/session_blob
specs/vault/shared/v0_2/vault_entry
specs/vault/shared/v0_2/vault_secret
specs/vault/shared/v0_3/consumer_context
specs/vault/shared/v0_3/sealed_envelope
specs/vault/shared/v0_3/session_blob
specs/vault/shared/v0_3/vault_entry
specs/vault/shared/v0_3/vault_secret
specs/vault/sign_trust_task/v0_1/payload
specs/vault/sign_trust_task/v0_2/payload
specs/vault/sync/v0_1/payload
specs/vault/sync/v0_2/payload
specs/vault/upsert/v0_1/payload
specs/vault/upsert/v0_2/payload
specs/vault/upsert/v0_3/payload
specs/vault/usage/v0_1/payload
specs/vault/usage/v0_2/payload
specs/vetting/attestation/v0_1/payload
specs/vetting/decline/v0_1/payload
specs/vetting/request/v0_1/payload
specs/vetting/session/v0_1/payload
specs/vetting/shared/v0_1/identity_vetting
specs/vetting/shared/v0_1/vetting
specs/vetting/shared/v0_1/vetting_card
specs/vrc/relationships/issue/v0_1/payload
specs/vrc/relationships/propose/v0_1/payload
specs/vta/app_state/delete/v1_0/payload
specs/vta/app_state/get/v1_0/payload
specs/vta/app_state/get_many/v1_0/payload
specs/vta/app_state/list/v1_0/payload
specs/vta/app_state/put/v1_0/payload
specs/vta/app_state/put_many/v1_0/payload
specs/vta/attestation/config_report/v0_1/payload
specs/vta/attestation/mnemonic_export/v1_0/payload
specs/vta/attestation/mnemonic_status/v0_1/payload
specs/vta/attestation/report/v0_1/payload
specs/vta/attestation/status/v0_1/payload
specs/vta/backup/abort/v1_0/payload
specs/vta/backup/complete_export/v1_0/payload
specs/vta/backup/finalize_import/v1_0/payload
specs/vta/backup/finalize_import/v1_1/payload
specs/vta/backup/get_chunk/v1_0/payload
specs/vta/backup/initiate_export/v1_0/payload
specs/vta/backup/initiate_export/v1_1/payload
specs/vta/backup/initiate_import/v1_0/payload
specs/vta/backup/initiate_import/v1_1/payload
specs/vta/backup/put_chunk/v1_0/payload
specs/vta/contexts/create/v1_0/payload
specs/vta/contexts/delete/v1_0/payload
specs/vta/contexts/did_templates/create/v1_0/payload
specs/vta/contexts/did_templates/delete/v1_0/payload
specs/vta/contexts/did_templates/get/v1_0/payload
specs/vta/contexts/did_templates/list/v1_0/payload
specs/vta/contexts/did_templates/render/v1_0/payload
specs/vta/contexts/did_templates/update/v1_0/payload
specs/vta/contexts/get/v1_0/payload
specs/vta/contexts/list/v1_0/payload
specs/vta/contexts/preview_delete/v1_0/payload
specs/vta/contexts/secrets/v1_0/payload
specs/vta/contexts/update/v1_0/payload
specs/vta/contexts/update_did/v1_0/payload
specs/vta/contexts/update_did/v1_1/payload
specs/vta/credentials/issue/v0_1/payload
specs/vta/credentials/issue/v0_2/payload
specs/vta/credentials/list/v0_1/payload
specs/vta/credentials/revoke/v0_1/payload
specs/vta/did_templates/create/v1_0/payload
specs/vta/did_templates/create/v2_0/payload
specs/vta/did_templates/create/v3_0/payload
specs/vta/did_templates/delete/v1_0/payload
specs/vta/did_templates/delete/v2_0/payload
specs/vta/did_templates/get/v1_0/payload
specs/vta/did_templates/get/v2_0/payload
specs/vta/did_templates/get/v3_0/payload
specs/vta/did_templates/list/v1_0/payload
specs/vta/did_templates/list/v2_0/payload
specs/vta/did_templates/list/v3_0/payload
specs/vta/did_templates/render/v1_0/payload
specs/vta/did_templates/render/v2_0/payload
specs/vta/did_templates/update/v1_0/payload
specs/vta/did_templates/update/v2_0/payload
specs/vta/did_templates/update/v3_0/payload
specs/vta/health/details/v0_1/payload
specs/vta/management/reload_services/v1_0/payload
specs/vta/memory/delete/v0_1/payload
specs/vta/memory/list/v0_1/payload
specs/vta/memory/put/v0_1/payload
specs/vta/metrics/show/v0_1/payload
specs/vta/passkey_vms/enroll_challenge/v0_1/payload
specs/vta/passkey_vms/enroll_submit/v0_1/payload
specs/vta/passkey_vms/list/v0_1/payload
specs/vta/passkey_vms/revoke/v0_1/payload
specs/vta/restore/status/v0_1/payload
specs/vta/services/disable/v1_0/payload
specs/vta/services/drain/cancel/v1_0/payload
specs/vta/services/drain/list/v1_0/payload
specs/vta/services/enable/v1_0/payload
specs/vta/services/get/v1_0/payload
specs/vta/services/list/v1_0/payload
specs/vta/services/report/v0_1/payload
specs/vta/services/rollback/v1_0/payload
specs/vta/services/rollback/v1_1/payload
specs/vta/services/update/v1_0/payload
specs/vta/services/update/v1_1/payload
specs/vta/shared/v0_1/app_state_record
specs/vta/shared/v0_1/backup_transfer
specs/vta/shared/v0_1/context
specs/vta/shared/v0_1/did_template
specs/vta/shared/v0_1/passkey_vm
specs/vta/shared/v0_1/service
specs/vta/shared/v0_1/webvh_records
specs/vta/shared/v0_2/did_template
specs/vta/shared/v0_3/did_key_roles
specs/vta/webvh/agent_name/check/v1_0/payload
specs/vta/webvh/agent_name/disable/v1_0/payload
specs/vta/webvh/agent_name/enable/v1_0/payload
specs/vta/webvh/agent_name/list/v1_0/payload
specs/vta/webvh/agent_name/remove/v1_0/payload
specs/vta/webvh/agent_name/set/v1_0/payload
specs/vta/webvh/dids/create/v1_0/payload
specs/vta/webvh/dids/delete/v1_0/payload
specs/vta/webvh/dids/get/v1_0/payload
specs/vta/webvh/dids/keys/add/v1_0/payload
specs/vta/webvh/dids/keys/list/v1_0/payload
specs/vta/webvh/dids/keys/retire/v1_0/payload
specs/vta/webvh/dids/keys/revoke/v1_0/payload
specs/vta/webvh/dids/list/v1_0/payload
specs/vta/webvh/dids/realign_keys/v1_0/payload
specs/vta/webvh/dids/register_with_server/v1_0/payload
specs/vta/webvh/dids/rotate_keys/v1_0/payload
specs/vta/webvh/dids/rotate_keys/v2_0/payload
specs/vta/webvh/dids/update/v1_0/payload
specs/vta/webvh/dids/update/v2_0/payload
specs/vta/webvh/servers/domains/v0_1/payload
specs/vta/webvh/servers/list/v1_0/payload
specs/vta/webvh/servers/reconcile/v0_1/payload
specs/vta/webvh/servers/register/v1_0/payload
specs/vta/webvh/servers/remove/v1_0/payload
specs/vta/webvh/servers/retire_orphan/v0_1/payload
specs/vtc/admin/bootstrap/v0_1/payload
specs/vtc/admin/invites/create/v0_1/payload
specs/vtc/admin/invites/list/v0_1/payload
specs/vtc/admin/invites/revoke/v0_1/payload
specs/vtc/auth/admin_session/v0_1/payload
specs/vtc/auth/recognise/challenge/v0_1/payload
specs/vtc/auth/recognise/v0_1/payload
specs/vtc/auth/recognise/v0_2/payload
specs/vtc/backup/export/v0_1/payload
specs/vtc/backup/import/v0_1/payload
specs/vtc/ceremonies/list/v0_1/payload
specs/vtc/community/branding/show/v0_1/payload
specs/vtc/community/branding/update/v0_1/payload
specs/vtc/community/join_discovery/show/v0_1/payload
specs/vtc/community/join_discovery/update/v0_1/payload
specs/vtc/community/profile/show/v0_1/payload
specs/vtc/community/profile/update/v0_1/payload
specs/vtc/community/requested_attributes/show/v0_1/payload
specs/vtc/community/requested_attributes/update/v0_1/payload
specs/vtc/config/export/v0_1/payload
specs/vtc/config/import/v0_1/payload
specs/vtc/credentials/reissue/v0_1/payload
specs/vtc/directory/query/v0_1/payload
specs/vtc/endorsement_types/delete/v0_1/payload
specs/vtc/endorsement_types/list/v0_1/payload
specs/vtc/endorsement_types/register/v0_1/payload
specs/vtc/endorsements/issue/v0_1/payload
specs/vtc/endorsements/list/v0_1/payload
specs/vtc/endorsements/revoke/v0_1/payload
specs/vtc/endorsements/show/v0_1/payload
specs/vtc/install/claim/finish/v0_1/payload
specs/vtc/install/claim/finish/v0_2/payload
specs/vtc/install/claim/start/v0_1/payload
specs/vtc/install/claim/start/v0_2/payload
specs/vtc/invitations/deliver/v0_1/payload
specs/vtc/invitations/issue/v0_1/payload
specs/vtc/invitations/list/v0_1/payload
specs/vtc/invitations/revoke/v0_1/payload
specs/vtc/join_requests/accept/v0_1/payload
specs/vtc/join_requests/approve/v0_1/payload
specs/vtc/join_requests/decide/v0_1/payload
specs/vtc/join_requests/list/v0_1/payload
specs/vtc/join_requests/manifest/v0_1/payload
specs/vtc/join_requests/manifest/v0_2/payload
specs/vtc/join_requests/query/v0_1/payload
specs/vtc/join_requests/reject/v0_1/payload
specs/vtc/join_requests/show/v0_1/payload
specs/vtc/join_requests/status/v0_1/payload
specs/vtc/join_requests/submit/v0_1/payload
specs/vtc/join_requests/submit/v0_2/payload
specs/vtc/join_requests/submit_receipt/v0_1/payload
specs/vtc/join_requests/supplement/v0_1/payload
specs/vtc/join_requests/vetting/show/v0_1/payload
specs/vtc/join_requests/withdraw/v0_1/payload
specs/vtc/members/admin_remove/v0_1/payload
specs/vtc/members/credentials/v0_1/payload
specs/vtc/members/list/v0_1/payload
specs/vtc/members/personhood/assert/v0_1/payload
specs/vtc/members/personhood/challenge/v0_1/payload
specs/vtc/members/personhood/revoke/v0_1/payload
specs/vtc/members/purge/v0_1/payload
specs/vtc/members/removal_notice/v0_1/payload
specs/vtc/members/removed/v0_1/payload
specs/vtc/members/renew/v0_1/payload
specs/vtc/members/request_vmc/v0_1/payload
specs/vtc/members/rotate/v0_1/payload
specs/vtc/members/rotate_challenge/v0_1/payload
specs/vtc/members/self_remove/v0_1/payload
specs/vtc/members/self_remove_receipt/v0_1/payload
specs/vtc/members/show/v0_1/payload
specs/vtc/members/solicit_vmc/v0_1/payload
specs/vtc/members/update/v0_1/payload
specs/vtc/members/vmc/v0_1/payload
specs/vtc/policies/test/v0_1/payload
specs/vtc/recognition/check/v0_1/payload
specs/vtc/registry/diagnostics/v0_1/payload
specs/vtc/registry/records/list/v0_1/payload
specs/vtc/registry/sync_jobs/discard/v0_1/payload
specs/vtc/registry/sync_jobs/list/v0_1/payload
specs/vtc/registry/sync_jobs/retry/v0_1/payload
specs/vtc/relationships/graph/v0_1/payload
specs/vtc/relationships/graph/v0_2/payload
specs/vtc/relationships/list/v0_1/payload
specs/vtc/relationships/list/v0_2/payload
specs/vtc/relationships/publish/v0_1/payload
specs/vtc/relationships/publish/v0_2/payload
specs/vtc/relationships/request/v0_1/payload
specs/vtc/relationships/request/v0_2/payload
specs/vtc/relationships/restore/v0_1/payload
specs/vtc/relationships/revoke/v0_1/payload
specs/vtc/relationships/revoke/v0_2/payload
specs/vtc/relationships/suspend/v0_1/payload
specs/vtc/rooms/list/v0_1/payload
specs/vtc/schemas/accepts/delete/v0_1/payload
specs/vtc/schemas/accepts/list/v0_1/payload
specs/vtc/schemas/accepts/register/v0_1/payload
specs/vtc/schemas/accepts/show/v0_1/payload
specs/vtc/schemas/delete/v0_1/payload
specs/vtc/schemas/list/v0_1/payload
specs/vtc/schemas/register/v0_1/payload
specs/vtc/schemas/show/v0_1/payload
specs/vtc/shared/v0_1/backup
specs/vtc/shared/v0_1/ceremony
specs/vtc/shared/v0_1/community
specs/vtc/shared/v0_1/community_presentation
specs/vtc/shared/v0_1/config_portability
specs/vtc/shared/v0_1/endorsement
specs/vtc/shared/v0_1/endorsement_type
specs/vtc/shared/v0_1/invitation
specs/vtc/shared/v0_1/invite
specs/vtc/shared/v0_1/join_request
specs/vtc/shared/v0_1/member
specs/vtc/shared/v0_1/relationship_lifecycle
specs/vtc/shared/v0_1/schema_registry
specs/vtc/shared/v0_1/vetter_profile
specs/vtc/shared/v0_1/vetting_auto_grant
specs/vtc/shared/v0_1/website_transfer
specs/vtc/vetting/auto_grant/show/v0_1/payload
specs/vtc/vetting/auto_grant/update/v0_1/payload
specs/vtc/vetting/hidden/publish/v0_1/payload
specs/vtc/vetting/pcs_challenge/v0_1/payload
specs/vtc/vetting/revocations/list/v0_1/payload
specs/vtc/vetting/revoke_statement/v0_1/payload
specs/vtc/vetting/vetters/event_mode/v0_1/payload
specs/vtc/vetting/vetters/grant/v0_1/payload
specs/vtc/vetting/vetters/grants/list/v0_1/payload
specs/vtc/vetting/vetters/list/v0_1/payload
specs/vtc/vetting/vetters/pcs_root/v0_1/payload
specs/vtc/vetting/vetters/pcs_tokens/v0_1/payload
specs/vtc/vetting/vetters/profile/v0_1/payload
specs/vtc/vetting/vetters/resend/v0_1/payload
specs/vtc/vetting/vetters/resend/v0_2/payload
specs/vtc/vetting/vetters/show/v0_1/payload
specs/vtc/website/deploy/v0_1/payload
specs/vtc/website/files/delete/v0_1/payload
specs/vtc/website/files/list/v0_1/payload
specs/vtc/website/files/show/v0_1/payload
specs/vtc/website/generations/list/v0_1/payload
specs/vtc/website/rollback/v0_1/payload
specs/vtc/website/upload/abort/v0_1/payload
specs/vtc/website/upload/begin/v0_1/payload
specs/vtc/website/upload/chunk/v0_1/payload
specs/vtc/website/upload/commit/v0_1/payload
specs/webvh/shared/v0_1/sync_update
specs/webvh/shared/v0_1/witness_key
specs/webvh/sync/batch/v0_1/payload
specs/webvh/sync/delete/v0_1/payload
specs/webvh/sync/delete/v0_2/payload
specs/webvh/sync/update/v0_1/payload
specs/webvh/sync/update/v0_2/payload
specs/webvh/witness/key/create/v0_1/payload
specs/webvh/witness/key/delete/v0_1/payload
specs/webvh/witness/key/list/v0_1/payload
specs/webvh/witness/publish/v0_1/payload
specs/webvh/witness/sign/v0_1/payload
specs/witness/session/submit/v0_1/payload
specs/witness/session/v0_1/payload
trust_tasks
The Trust Tasks framework runtime for Dart — the SPEC.md §7.2 consumer pipeline, the document envelope, and the transport seam.