@openvtc/trust-tasks 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/auth/step-up/approve-request/0.1/payload.d.ts +28 -0
  2. package/dist/auth/step-up/approve-request/0.1/payload.d.ts.map +1 -1
  3. package/dist/auth/step-up/approve-request/0.1/payload.js.map +1 -1
  4. package/dist/auth/step-up/approve-response/0.1/payload.d.ts +31 -0
  5. package/dist/auth/step-up/approve-response/0.1/payload.d.ts.map +1 -1
  6. package/dist/auth/step-up/approve-response/0.1/payload.js.map +1 -1
  7. package/package.json +2 -2
  8. package/src/_framework/0.2/framework.ts +11 -0
  9. package/src/acl/grant/0.1/payload.ts +13 -0
  10. package/src/auth/passkey/login/finish/0.2/payload.ts +44 -0
  11. package/src/auth/passkey/login/start/0.2/payload.ts +31 -0
  12. package/src/auth/step-up/approve-request/0.1/payload.ts +28 -0
  13. package/src/auth/step-up/approve-request/0.2/payload.ts +75 -0
  14. package/src/auth/step-up/approve-response/0.1/payload.ts +32 -0
  15. package/src/auth/step-up/approve-response/0.2/payload.ts +79 -0
  16. package/src/auth/step-up/policy/0.1/payload.ts +45 -0
  17. package/src/auth/step-up/policy/0.2/payload.ts +45 -0
  18. package/src/device/_shared/0.2/device-binding.ts +11 -0
  19. package/src/device/heartbeat/0.2/payload.ts +31 -0
  20. package/src/device/list/0.2/payload.ts +48 -0
  21. package/src/device/register/0.1/payload.ts +18 -0
  22. package/src/device/register/0.2/payload.ts +106 -0
  23. package/src/device/set-wake/0.1/payload.ts +45 -0
  24. package/src/device/set-wake/0.2/payload.ts +45 -0
  25. package/src/device/wipe/0.2/payload.ts +39 -0
  26. package/src/did-management/did/check-name/0.1/payload.ts +5 -2
  27. package/src/index.ts +41 -0
  28. package/src/policy/_shared/0.2/policy.ts +11 -0
  29. package/src/policy/evaluate/0.2/payload.ts +102 -0
  30. package/src/policy/list/0.2/payload.ts +24 -0
  31. package/src/policy/upsert/0.2/payload.ts +31 -0
  32. package/src/provision/integration/0.2/payload.ts +181 -0
  33. package/src/push/provision/0.1/payload.ts +37 -0
  34. package/src/push/provision/0.2/payload.ts +37 -0
  35. package/src/push/register/0.1/payload.ts +75 -0
  36. package/src/push/register/0.2/payload.ts +75 -0
  37. package/src/push/wake/0.1/payload.ts +43 -0
  38. package/src/push/wake/0.2/payload.ts +43 -0
  39. package/src/sync/_shared/0.2/sync-event.ts +11 -0
  40. package/src/sync/event/0.2/payload.ts +219 -0
  41. package/src/trust-task-error/0.2/payload.ts +55 -0
  42. package/src/vault/_shared/0.2/consumer-context.ts +11 -0
  43. package/src/vault/_shared/0.2/sealed-envelope.ts +15 -0
  44. package/src/vault/_shared/0.2/session-blob.ts +13 -0
  45. package/src/vault/_shared/0.2/vault-entry.ts +13 -0
  46. package/src/vault/_shared/0.2/vault-secret.ts +15 -0
  47. package/src/vault/get/0.2/payload.ts +27 -0
  48. package/src/vault/list/0.2/payload.ts +85 -0
  49. package/src/vault/proxy-login/0.2/payload.ts +112 -0
  50. package/src/vault/release/0.2/payload.ts +105 -0
  51. package/src/vault/sign-trust-task/0.2/payload.ts +101 -0
  52. package/src/vault/sync/0.2/payload.ts +35 -0
  53. package/src/vault/upsert/0.2/payload.ts +161 -0
  54. package/src/vault/usage/0.2/payload.ts +40 -0
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/provision/integration/0.2/payload.schema.json
4
+ */
5
+
6
+ /**
7
+ * What the holder is asking the maintainer to do. Tagged on `type`; see `TemplateBootstrapAsk` and `AdminRotationAsk`.
8
+ */
9
+ export type BootstrapAsk = TemplateBootstrapAsk | AdminRotationAsk;
10
+
11
+ /**
12
+ * Relayer presents a VP-signed bootstrap request from an integration holder; the maintainer mints the integration's DIDs and admin credential from a registered DID template and ships the material back HPKE-sealed to the holder's ephemeral did:key. Two ask variants are supported: TemplateBootstrap (mint integration DID + optional admin DID) and AdminRotation (mint only the long-term admin DID).
13
+ */
14
+ export interface ProvisionIntegrationPayload {
15
+ request: BootstrapRequest;
16
+ /**
17
+ * The maintainer's context identifier the integration is to be provisioned into. When present, authoritative — overrides any `contextHint` carried inside `request.ask`. When ABSENT, the maintainer infers the target context using these rules in order: (1) if the relayer's grant scopes to exactly one context, use that context; (2) if the relayer is a super-admin (Admin role with unrestricted scope) and the maintainer has exactly one context registered, use that context; (3) otherwise reject the request with `provision/integration:context_required`. Wallet-class consumers (browser plugins, mobile companions) that don't know the maintainer's context layout SHOULD omit this field; integration-class consumers (mediator, did-hosting) targeting a specific operational context SHOULD send it explicitly.
18
+ */
19
+ context?: string;
20
+ /**
21
+ * Producer-assertion mode the maintainer should apply to the returned sealed bundle. `didSigned` (default) — Ed25519 signature over the bundle's domain-bound digest, verified by the holder against the maintainer's published key. `pinnedOnly` — holder pins the bundle's SHA-256 digest as the sole integrity anchor; for dev/test only. Maintainers MAY support additional modes (e.g. `attested` for TEE deployments) and respond with `provision/integration:assertion_unsupported` to unsupported requests.
22
+ */
23
+ assertion?: "didSigned" | "pinnedOnly";
24
+ /**
25
+ * Caller-preferred validity window for the issued VtaAuthorizationCredential, in seconds. The maintainer's policy applies a floor and ceiling; values outside that range MAY be silently clamped. Defaults to the maintainer's policy default (typically 3600s).
26
+ */
27
+ vcValiditySeconds?: number;
28
+ /**
29
+ * When `true`, the maintainer provisions the target context inline if it does not already exist. Requires super-admin role on the maintainer; context-admin callers MUST receive `provision/integration:forbidden` against a missing context. Idempotent when the context already exists.
30
+ */
31
+ createContext?: boolean;
32
+ ext?: Ext;
33
+ }
34
+ /**
35
+ * VP-framed bootstrap request signed by the holder's ephemeral did:key. The proof here is independent of, and additional to, the outer Trust Task envelope's proof — it authenticates the holder (the party the sealed bundle is encrypted for), whereas the envelope's proof authenticates the relayer (the party making the call). The two MAY be the same DID in the common case.
36
+ */
37
+ export interface BootstrapRequest {
38
+ /**
39
+ * JSON-LD contexts. MUST contain both `https://www.w3.org/ns/credentials/v2` and `https://openvtc.org/contexts/bootstrap-v1`. Maintainers verifying the proof MAY refuse other shapes.
40
+ *
41
+ * @minItems 2
42
+ */
43
+ "@context": [string, string, ...string[]];
44
+ /**
45
+ * VP types. MUST contain both `VerifiablePresentation` and `BootstrapRequest`. Additional task-specific types MAY be present.
46
+ *
47
+ * @minItems 2
48
+ */
49
+ type: [string, string, ...string[]];
50
+ /**
51
+ * URN-shaped identifier for this presentation. `urn:uuid:<v4>` is RECOMMENDED.
52
+ */
53
+ id: string;
54
+ /**
55
+ * The integration's ephemeral did:key (Ed25519). Identifies the party the returned bundle is HPKE-sealed for; the VP proof verifies under this DID's verification method.
56
+ */
57
+ holder: string;
58
+ /**
59
+ * 16 random bytes encoded as base64url-no-pad (22 characters). The maintainer treats this as the sealed bundle's `bundleId` (decoded to hex, exposed in `summary.bundleIdHex`) and SHOULD enforce one-shot semantics — a second provisioning with the same nonce MUST be refused as a replay.
60
+ */
61
+ nonce: string;
62
+ /**
63
+ * Freshness bound for the VP. RFC 3339 UTC. Maintainers SHOULD allow ±5 minutes of clock skew.
64
+ */
65
+ validUntil: string;
66
+ /**
67
+ * Optional human-readable label carried into the maintainer's audit log.
68
+ */
69
+ label?: string;
70
+ ask: BootstrapAsk;
71
+ proof: DataIntegrityProof;
72
+ }
73
+ /**
74
+ * Mint an integration DID from `template`, and (when `adminTemplate` is present) atomically roll over the holder to a fresh long-term admin DID minted from `adminTemplate`.
75
+ */
76
+ export interface TemplateBootstrapAsk {
77
+ type: "templateBootstrap";
78
+ /**
79
+ * Hint for the integration's target context. The wire `payload.context` is authoritative; this hint exists for documentation / cross-check only.
80
+ */
81
+ contextHint?: string;
82
+ template: DidTemplateRef;
83
+ adminTemplate?: DidTemplateRef1;
84
+ /**
85
+ * Free-form operator note carried into the maintainer's audit log.
86
+ */
87
+ note?: string;
88
+ }
89
+ /**
90
+ * Integration template. MUST be registered at the maintainer; MUST declare a `kind` other than `"admin"`.
91
+ */
92
+ export interface DidTemplateRef {
93
+ /**
94
+ * Template name as registered at the maintainer (built-in or operator-uploaded). Examples of built-ins shipped with VTA deployments: `didcomm-mediator`, `vta-admin`, `did-hosting-control`, `did-hosting-daemon`, `did-hosting-server`.
95
+ */
96
+ name: string;
97
+ /**
98
+ * Variable bindings the maintainer feeds to the template renderer. MUST satisfy the template's `requiredVars`; values for `optionalVars` MAY be supplied. Unknown vars are rejected with `provision/integration:template_vars_invalid`.
99
+ */
100
+ vars?: {
101
+ [k: string]: unknown | undefined;
102
+ };
103
+ }
104
+ /**
105
+ * Optional admin-DID template. When present, the maintainer mints a fresh long-term admin DID + keys, binds the authorization VC + ACL row to it, and rolls the holder over from the ephemeral did:key in the same transaction. When absent, the authorization VC's subject and ACL row are bound to the ephemeral `holder`, which the operator is expected to swap via `acl/swap-key/0.1` before steady-state operation. MUST declare `kind == "admin"` when present.
106
+ */
107
+ export interface DidTemplateRef1 {
108
+ /**
109
+ * Template name as registered at the maintainer (built-in or operator-uploaded). Examples of built-ins shipped with VTA deployments: `didcomm-mediator`, `vta-admin`, `did-hosting-control`, `did-hosting-daemon`, `did-hosting-server`.
110
+ */
111
+ name: string;
112
+ /**
113
+ * Variable bindings the maintainer feeds to the template renderer. MUST satisfy the template's `requiredVars`; values for `optionalVars` MAY be supplied. Unknown vars are rejected with `provision/integration:template_vars_invalid`.
114
+ */
115
+ vars?: {
116
+ [k: string]: unknown | undefined;
117
+ };
118
+ }
119
+ /**
120
+ * Admin-only mint. No integration DID is produced. Used by holders that bring (or will mint elsewhere) their own integration-side identity and only need an admin credential at this maintainer.
121
+ */
122
+ export interface AdminRotationAsk {
123
+ type: "adminRotation";
124
+ /**
125
+ * Hint for the admin grant's target context. The wire `payload.context` is authoritative.
126
+ */
127
+ contextHint?: string;
128
+ adminTemplate: DidTemplateRef2;
129
+ /**
130
+ * Free-form operator note carried into the maintainer's audit log.
131
+ */
132
+ note?: string;
133
+ }
134
+ /**
135
+ * Admin-DID template. MUST be registered at the maintainer and MUST declare `kind == "admin"`.
136
+ */
137
+ export interface DidTemplateRef2 {
138
+ /**
139
+ * Template name as registered at the maintainer (built-in or operator-uploaded). Examples of built-ins shipped with VTA deployments: `didcomm-mediator`, `vta-admin`, `did-hosting-control`, `did-hosting-daemon`, `did-hosting-server`.
140
+ */
141
+ name: string;
142
+ /**
143
+ * Variable bindings the maintainer feeds to the template renderer. MUST satisfy the template's `requiredVars`; values for `optionalVars` MAY be supplied. Unknown vars are rejected with `provision/integration:template_vars_invalid`.
144
+ */
145
+ vars?: {
146
+ [k: string]: unknown | undefined;
147
+ };
148
+ }
149
+ /**
150
+ * Data Integrity proof signed by the holder's Ed25519 key. Cryptosuite MUST equal `eddsa-jcs-2022`. `proofPurpose` MUST equal `authentication`. `verificationMethod` MUST resolve under `holder`. Signs the JCS canonicalisation of the VP with `proof` removed.
151
+ */
152
+ export interface DataIntegrityProof {
153
+ type: "DataIntegrityProof";
154
+ /**
155
+ * This version pins `eddsa-jcs-2022`. Maintainers MUST reject other values until a future minor extends the allowlist.
156
+ */
157
+ cryptosuite: string;
158
+ /**
159
+ * DID URL with fragment. The DID portion (left of `#`) MUST equal `holder`.
160
+ */
161
+ verificationMethod: string;
162
+ created?: string;
163
+ proofPurpose: "authentication";
164
+ /**
165
+ * Multibase-encoded Ed25519 signature.
166
+ */
167
+ proofValue: string;
168
+ [k: string]: unknown | undefined;
169
+ }
170
+ /**
171
+ * Ecosystem-defined extension members per SPEC.md §4.5.1.
172
+ */
173
+ export interface Ext {
174
+ [k: string]: unknown | undefined;
175
+ }
176
+
177
+ /** Trust Task type URI. */
178
+ export const TYPE_URI = "https://trusttasks.org/spec/provision/integration/0.2" as const;
179
+
180
+ /** Trust Task response type URI (request type URI + "#response"). */
181
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/provision/integration/0.2#response" as const;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/push/provision/0.1/payload.schema.json
4
+ */
5
+
6
+ /**
7
+ * The controller VTA sets a wake handle's trigger allowlist on the push gateway — the DIDs permitted to wake the device. The gateway accepts it only from the handle's recorded controller VTA and enforces it on every push/wake. See the push wake-up binding (https://trusttasks.org/binding/push/0.1).
8
+ */
9
+ export interface PushProvisionPayload {
10
+ /**
11
+ * The opaque gateway-issued handle (from push/register) whose allowlist is being set.
12
+ */
13
+ handle: string;
14
+ policy: WakeTriggerPolicy;
15
+ ext?: Ext;
16
+ }
17
+ /**
18
+ * The trigger allowlist the VTA computed by its own policy — the DIDs permitted to wake this handle (typically the device's mediator and/or the VTA itself). Empty disables waking.
19
+ */
20
+ export interface WakeTriggerPolicy {
21
+ /**
22
+ * DIDs authorized to trigger a wake for this handle. An empty array means no party may wake the device (push effectively disabled while the handle exists). The gateway authenticates the trigger's DID before checking membership.
23
+ */
24
+ allowedTriggers: string[];
25
+ }
26
+ /**
27
+ * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
28
+ */
29
+ export interface Ext {
30
+ [k: string]: unknown | undefined;
31
+ }
32
+
33
+ /** Trust Task type URI. */
34
+ export const TYPE_URI = "https://trusttasks.org/spec/push/provision/0.1" as const;
35
+
36
+ /** Trust Task response type URI (request type URI + "#response"). */
37
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/push/provision/0.1#response" as const;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/push/provision/0.2/payload.schema.json
4
+ */
5
+
6
+ /**
7
+ * The controller VTA sets a wake handle's trigger allowlist on the push gateway — the DIDs permitted to wake the device. The gateway accepts it only from the handle's recorded controller VTA and enforces it on every push/wake. See the push wake-up binding (https://trusttasks.org/binding/push/0.1).
8
+ */
9
+ export interface PushProvisionPayload {
10
+ /**
11
+ * The opaque gateway-issued handle (from push/register) whose allowlist is being set.
12
+ */
13
+ handle: string;
14
+ policy: WakeTriggerPolicy;
15
+ ext?: Ext;
16
+ }
17
+ /**
18
+ * The trigger allowlist the VTA computed by its own policy — the DIDs permitted to wake this handle (typically the device's mediator and/or the VTA itself). Empty disables waking.
19
+ */
20
+ export interface WakeTriggerPolicy {
21
+ /**
22
+ * DIDs authorized to trigger a wake for this handle. An empty array means no party may wake the device (push effectively disabled while the handle exists). The gateway authenticates the trigger's DID before checking membership.
23
+ */
24
+ allowedTriggers: string[];
25
+ }
26
+ /**
27
+ * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
28
+ */
29
+ export interface Ext {
30
+ [k: string]: unknown | undefined;
31
+ }
32
+
33
+ /** Trust Task type URI. */
34
+ export const TYPE_URI = "https://trusttasks.org/spec/push/provision/0.2" as const;
35
+
36
+ /** Trust Task response type URI (request type URI + "#response"). */
37
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/push/provision/0.2#response" as const;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/push/register/0.1/payload.schema.json
4
+ */
5
+
6
+ /**
7
+ * The platform push channel (token). Held by the gateway only — never disclosed to any other party.
8
+ */
9
+ export type PushRegistration = Apns | Fcm | WebPush;
10
+
11
+ /**
12
+ * A device registers its platform push token (APNs / FCM / Web Push) with a push gateway and names the controller VTA permitted to provision its trigger allowlist. The gateway returns an opaque WakeHandle; the raw token is held by the gateway only. See the push wake-up binding (https://trusttasks.org/binding/push/0.1).
13
+ */
14
+ export interface PushRegisterPayload {
15
+ registration: PushRegistration;
16
+ /**
17
+ * The DID of the VTA permitted to provision this handle's trigger allowlist (push/provision). The device conveys the resulting handle to this VTA via device/set-wake.
18
+ */
19
+ controllerVtaDid: string;
20
+ ext?: Ext;
21
+ }
22
+ export interface Apns {
23
+ platform: "apns";
24
+ /**
25
+ * APNs device token (hex string issued by Apple Push Notification service).
26
+ */
27
+ token: string;
28
+ /**
29
+ * APNs topic — typically the app bundle identifier the gateway pushes to.
30
+ */
31
+ topic: string;
32
+ /**
33
+ * Which APNs environment issued the token. Maintainers route to the matching APNs endpoint.
34
+ */
35
+ environment?: "sandbox" | "production";
36
+ }
37
+ export interface Fcm {
38
+ platform: "fcm";
39
+ /**
40
+ * Firebase Cloud Messaging registration token. The gateway sends a data message (not a notification message) so the app controls wake and display.
41
+ */
42
+ token: string;
43
+ }
44
+ export interface WebPush {
45
+ platform: "webpush";
46
+ /**
47
+ * RFC 8030 Web Push subscription endpoint.
48
+ */
49
+ endpoint: string;
50
+ /**
51
+ * Web Push (RFC 8291) encryption keys. Note: per the push binding the payload remains contentless regardless of this encryption.
52
+ */
53
+ keys: {
54
+ /**
55
+ * base64url-encoded P-256 ECDH public key.
56
+ */
57
+ p256dh: string;
58
+ /**
59
+ * base64url-encoded auth secret.
60
+ */
61
+ auth: string;
62
+ };
63
+ }
64
+ /**
65
+ * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
66
+ */
67
+ export interface Ext {
68
+ [k: string]: unknown | undefined;
69
+ }
70
+
71
+ /** Trust Task type URI. */
72
+ export const TYPE_URI = "https://trusttasks.org/spec/push/register/0.1" as const;
73
+
74
+ /** Trust Task response type URI (request type URI + "#response"). */
75
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/push/register/0.1#response" as const;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/push/register/0.2/payload.schema.json
4
+ */
5
+
6
+ /**
7
+ * The platform push channel (token). Held by the gateway only — never disclosed to any other party.
8
+ */
9
+ export type PushRegistration = Apns | Fcm | WebPush;
10
+
11
+ /**
12
+ * A device registers its platform push token (APNs / FCM / Web Push) with a push gateway and names the controller VTA permitted to provision its trigger allowlist. The gateway returns an opaque WakeHandle; the raw token is held by the gateway only. See the push wake-up binding (https://trusttasks.org/binding/push/0.1).
13
+ */
14
+ export interface PushRegisterPayload {
15
+ registration: PushRegistration;
16
+ /**
17
+ * The DID of the VTA permitted to provision this handle's trigger allowlist (push/provision). The device conveys the resulting handle to this VTA via device/set-wake.
18
+ */
19
+ controllerVtaDid: string;
20
+ ext?: Ext;
21
+ }
22
+ export interface Apns {
23
+ platform: "apns";
24
+ /**
25
+ * APNs device token (hex string issued by Apple Push Notification service).
26
+ */
27
+ token: string;
28
+ /**
29
+ * APNs topic — typically the app bundle identifier the gateway pushes to.
30
+ */
31
+ topic: string;
32
+ /**
33
+ * Which APNs environment issued the token. Maintainers route to the matching APNs endpoint.
34
+ */
35
+ environment?: "sandbox" | "production";
36
+ }
37
+ export interface Fcm {
38
+ platform: "fcm";
39
+ /**
40
+ * Firebase Cloud Messaging registration token. The gateway sends a data message (not a notification message) so the app controls wake and display.
41
+ */
42
+ token: string;
43
+ }
44
+ export interface WebPush {
45
+ platform: "webpush";
46
+ /**
47
+ * RFC 8030 Web Push subscription endpoint.
48
+ */
49
+ endpoint: string;
50
+ /**
51
+ * Web Push (RFC 8291) encryption keys. Note: per the push binding the payload remains contentless regardless of this encryption.
52
+ */
53
+ keys: {
54
+ /**
55
+ * base64url-encoded P-256 ECDH public key.
56
+ */
57
+ p256dh: string;
58
+ /**
59
+ * base64url-encoded auth secret.
60
+ */
61
+ auth: string;
62
+ };
63
+ }
64
+ /**
65
+ * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
66
+ */
67
+ export interface Ext {
68
+ [k: string]: unknown | undefined;
69
+ }
70
+
71
+ /** Trust Task type URI. */
72
+ export const TYPE_URI = "https://trusttasks.org/spec/push/register/0.2" as const;
73
+
74
+ /** Trust Task response type URI (request type URI + "#response"). */
75
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/push/register/0.2#response" as const;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/push/wake/0.1/payload.schema.json
4
+ */
5
+
6
+ /**
7
+ * A trigger (the device's mediator or its VTA) asks the push gateway to deliver a contentless wake to a handle. Carries ONLY the push binding's contentless hint fields — never Trust Task content. The gateway authorizes against the handle's allowlist, then fires the doorbell. See the push wake-up binding (https://trusttasks.org/binding/push/0.1).
8
+ */
9
+ export interface PushWakePayload {
10
+ /**
11
+ * The opaque gateway-issued handle to wake.
12
+ */
13
+ handle: string;
14
+ /**
15
+ * Push binding wire version.
16
+ */
17
+ v: 1;
18
+ /**
19
+ * OPTIONAL. The mediator holding the queued messages, so a multi-mediator consumer knows which to drain. A hint — echoed into the contentless push.
20
+ */
21
+ mediator?: string;
22
+ /**
23
+ * OPTIONAL. Approximate count of queued messages. Advisory only.
24
+ */
25
+ count?: number;
26
+ /**
27
+ * OPTIONAL. A hint the consumer MAY map to platform priority/alert behavior.
28
+ */
29
+ urgency?: "interactive" | "background";
30
+ ext?: Ext;
31
+ }
32
+ /**
33
+ * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
34
+ */
35
+ export interface Ext {
36
+ [k: string]: unknown | undefined;
37
+ }
38
+
39
+ /** Trust Task type URI. */
40
+ export const TYPE_URI = "https://trusttasks.org/spec/push/wake/0.1" as const;
41
+
42
+ /** Trust Task response type URI (request type URI + "#response"). */
43
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/push/wake/0.1#response" as const;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/push/wake/0.2/payload.schema.json
4
+ */
5
+
6
+ /**
7
+ * A trigger (the device's mediator or its VTA) asks the push gateway to deliver a contentless wake to a handle. Carries ONLY the push binding's contentless hint fields — never Trust Task content. The gateway authorizes against the handle's allowlist, then fires the doorbell. See the push wake-up binding (https://trusttasks.org/binding/push/0.1).
8
+ */
9
+ export interface PushWakePayload {
10
+ /**
11
+ * The opaque gateway-issued handle to wake.
12
+ */
13
+ handle: string;
14
+ /**
15
+ * Push binding wire version.
16
+ */
17
+ v: 1;
18
+ /**
19
+ * OPTIONAL. The mediator holding the queued messages, so a multi-mediator consumer knows which to drain. A hint — echoed into the contentless push.
20
+ */
21
+ mediator?: string;
22
+ /**
23
+ * OPTIONAL. Approximate count of queued messages. Advisory only.
24
+ */
25
+ count?: number;
26
+ /**
27
+ * OPTIONAL. A hint the consumer MAY map to platform priority/alert behavior.
28
+ */
29
+ urgency?: "interactive" | "background";
30
+ ext?: Ext;
31
+ }
32
+ /**
33
+ * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
34
+ */
35
+ export interface Ext {
36
+ [k: string]: unknown | undefined;
37
+ }
38
+
39
+ /** Trust Task type URI. */
40
+ export const TYPE_URI = "https://trusttasks.org/spec/push/wake/0.2" as const;
41
+
42
+ /** Trust Task response type URI (request type URI + "#response"). */
43
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/push/wake/0.2#response" as const;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/sync/_shared/0.2/sync-event.schema.json
4
+ */
5
+
6
+ /**
7
+ * Canonical event union referenced by sync/event/0.1 (the push-notification task) and by vault/sync/0.1 (the request-response catch-up task). Both deliver the same event shapes; the difference is only the transport (push vs pull).
8
+ */
9
+ export interface SyncEventSharedDefinitionForServerPushedSyncNotifications {
10
+ [k: string]: unknown | undefined;
11
+ }