@openvtc/trust-tasks 0.20.7 → 0.20.8

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 (52) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/dist/auth/step-up/approve-request/0.3/payload.d.ts +613 -0
  3. package/dist/auth/step-up/approve-request/0.3/payload.d.ts.map +1 -0
  4. package/dist/auth/step-up/approve-request/0.3/payload.js +345 -0
  5. package/dist/auth/step-up/approve-request/0.3/payload.js.map +1 -0
  6. package/dist/auth/step-up/approve-response/0.4/payload.d.ts +887 -0
  7. package/dist/auth/step-up/approve-response/0.4/payload.d.ts.map +1 -0
  8. package/dist/auth/step-up/approve-response/0.4/payload.js +504 -0
  9. package/dist/auth/step-up/approve-response/0.4/payload.js.map +1 -0
  10. package/dist/backup/abort/0.1/payload.d.ts +262 -0
  11. package/dist/backup/abort/0.1/payload.d.ts.map +1 -0
  12. package/dist/backup/abort/0.1/payload.js +146 -0
  13. package/dist/backup/abort/0.1/payload.js.map +1 -0
  14. package/dist/backup/complete-export/0.1/payload.d.ts +262 -0
  15. package/dist/backup/complete-export/0.1/payload.d.ts.map +1 -0
  16. package/dist/backup/complete-export/0.1/payload.js +146 -0
  17. package/dist/backup/complete-export/0.1/payload.js.map +1 -0
  18. package/dist/backup/finalize-import/0.1/payload.d.ts +395 -0
  19. package/dist/backup/finalize-import/0.1/payload.d.ts.map +1 -0
  20. package/dist/backup/finalize-import/0.1/payload.js +209 -0
  21. package/dist/backup/finalize-import/0.1/payload.js.map +1 -0
  22. package/dist/backup/get-chunk/0.1/payload.d.ts +461 -0
  23. package/dist/backup/get-chunk/0.1/payload.d.ts.map +1 -0
  24. package/dist/backup/get-chunk/0.1/payload.js +250 -0
  25. package/dist/backup/get-chunk/0.1/payload.js.map +1 -0
  26. package/dist/backup/initiate-export/0.1/payload.d.ts +896 -0
  27. package/dist/backup/initiate-export/0.1/payload.d.ts.map +1 -0
  28. package/dist/backup/initiate-export/0.1/payload.js +507 -0
  29. package/dist/backup/initiate-export/0.1/payload.js.map +1 -0
  30. package/dist/backup/initiate-import/0.1/payload.d.ts +888 -0
  31. package/dist/backup/initiate-import/0.1/payload.d.ts.map +1 -0
  32. package/dist/backup/initiate-import/0.1/payload.js +504 -0
  33. package/dist/backup/initiate-import/0.1/payload.js.map +1 -0
  34. package/dist/backup/put-chunk/0.1/payload.d.ts +495 -0
  35. package/dist/backup/put-chunk/0.1/payload.d.ts.map +1 -0
  36. package/dist/backup/put-chunk/0.1/payload.js +265 -0
  37. package/dist/backup/put-chunk/0.1/payload.js.map +1 -0
  38. package/dist/index.d.ts +9 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +9 -0
  41. package/dist/index.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/auth/step-up/approve-request/0.3/payload.ts +421 -0
  44. package/src/auth/step-up/approve-response/0.4/payload.ts +593 -0
  45. package/src/backup/abort/0.1/payload.ts +191 -0
  46. package/src/backup/complete-export/0.1/payload.ts +191 -0
  47. package/src/backup/finalize-import/0.1/payload.ts +279 -0
  48. package/src/backup/get-chunk/0.1/payload.ts +308 -0
  49. package/src/backup/initiate-export/0.1/payload.ts +564 -0
  50. package/src/backup/initiate-import/0.1/payload.ts +561 -0
  51. package/src/backup/put-chunk/0.1/payload.ts +331 -0
  52. package/src/index.ts +9 -0
package/CHANGELOG.md CHANGED
@@ -11,6 +11,93 @@ The package versions over **its own API** — what a consumer compiles against
11
11
  not over `SPEC.md`. Below 1.0 a breaking change bumps the leading non-zero
12
12
  component.
13
13
 
14
+ ## 0.20.8 — 2026-09-24
15
+
16
+
17
+ ### Added
18
+
19
+ - **backup**: A node-neutral backup and restore family (#633)
20
+
21
+ `vta/backup/*` is the agent's descriptor-based backup and restore: a slot,
22
+ digests pre-committed before any byte moves, the bundle carried either as an
23
+ HTTPS stream or chunk by chunk over the agent's own Trust Task transport, and a
24
+ finalize step that previews before it replaces. Nothing in that transfer is
25
+ specific to an agent, and a community node needs exactly the same thing for the
26
+ same reason: a backup of any real node is too large for one document, and a
27
+ node that bounds a document's size before checking its proof — as it must on a
28
+ binding that authenticates no sender — cannot accept one that way.
29
+ `vtc/backup/import/0.1`, which carries the whole envelope inline, is the case
30
+ in point.
31
+
32
+ This adds `backup/{initiate-export, get-chunk, complete-export,
33
+ initiate-import, put-chunk, finalize-import, abort}/0.1`, derived from the
34
+ latest `vta/backup/*` versions and made node-neutral:
35
+
36
+ - The parties, prose and error-code slugs name a node rather than an agent.
37
+ - What a backup contains is the node's to define. `finalize-import`'s
38
+ response replaces the agent-specific `keyCount` / `aclCount` /
39
+ `contextCount` / `auditCount` / `importedSecretCount` with one `counts` map
40
+ keyed by the node's own record kinds — an agent's `keys`, `acl`, `contexts`,
41
+ `audit`, `importedSecrets`; a community's backed-up keyspaces — still
42
+ counts, never contents.
43
+ - The transfer shapes (descriptor, chunk manifest, chunk data, bundle id) are
44
+ referenced from `vta/_shared/0.1/backup-transfer` rather than copied. A copy
45
+ with the node-neutral wording would have been a second definition that the
46
+ TypeScript generator disambiguates by renaming the published `ChunkData`,
47
+ `ChunkSize`, `ChunkManifest`, `ChunkedDescriptor` and `BundleDescriptor`
48
+ exports — a break for every TS consumer, for no difference on the wire.
49
+ - The "Changes from 1.0" history sections are dropped; a new 0.1 has no
50
+ predecessor, and the abstract says where the family came from.
51
+
52
+ `vta/backup/*` stays served while agents adopt this family, and
53
+ `vtc/backup/{export,import}` remain for a node small enough to fit one
54
+ document. Retiring the agent-specific versions is a later change.
55
+
56
+ Bindings regenerated for Rust, TypeScript, Go and Dart; the only change to
57
+ existing generated code is the new `backup` feature and index entries.
58
+
59
+
60
+
61
+ ### Specifications
62
+
63
+ - **auth/step-up**: A step-up bound to one operation needs no session (#631)
64
+
65
+ `approve-response/0.3` introduced the bound approval — one that authorizes a
66
+ single operation and elevates nothing, answered `recorded` — but
67
+ `approve-request` still required a `sessionId`, and `approve-response` echoed
68
+ one. So the only operations a step-up could be bound to were ones that arrived
69
+ over a session.
70
+
71
+ An operation that arrives as a signed Trust Task document has none: its
72
+ authority is its proof. Binding the human's gesture to one of their sessions
73
+ after the fact cannot say which, and a window opened on any of them is one a
74
+ process holding the signer's key can spend on acts the human never saw — the
75
+ same defect as a session elevation standing in for consent.
76
+
77
+ - `approve-request/0.3`: `sessionId` is omitted for a step-up bound to an
78
+ operation that arrived without a session, and a relying party MUST NOT fill
79
+ it with a session it chose after the fact. A new `boundTo` names the bound
80
+ operation — for a signed document, a digest of its type and payload salted
81
+ with the challenge, since an unsalted digest over a short, predictable
82
+ payload is a confirmation oracle. A new "Inline delivery" section lets a
83
+ relying party with no push channel carry the request in the refusal of the
84
+ operation it is for (`details.stepUpRequest`); it is authenticated by being
85
+ the relying party's own reply, so a producer must not surface one received
86
+ any other way, and it is for bound step-ups only. The four Security &
87
+ Privacy sub-headings are added.
88
+ - `approve-response/0.4`: `sessionId` is echoed exactly when the request
89
+ carried one, and a response carrying one for a session-less step-up is
90
+ refused (`subjectMismatch`), so a bound approval cannot be read as naming a
91
+ session to elevate. The subject is compared with the subject bound to the
92
+ pending step-up rather than with a session's.
93
+
94
+ Both are backward-compatible minors: a required member became optional and an
95
+ optional one was added. Motivated by the community node's signed-document
96
+ step-up (OpenVTC/verifiable-trust-infrastructure#1713) and by
97
+ trustoverip/dtgwg-vti-spec#40, which amends VTI-APV-003 to admit it.
98
+
99
+ Bindings regenerated for Rust, TypeScript, Go and Dart.
100
+
14
101
  ## 0.20.7 — 2026-09-24
15
102
 
16
103