@openvtc/trust-tasks 0.20.1 → 0.20.3

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 (110) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/dist/_shared/components.d.ts +175 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/git-ns/_shared/0.1/git-ns.d.ts +16 -0
  5. package/dist/git-ns/_shared/0.1/git-ns.d.ts.map +1 -0
  6. package/dist/git-ns/_shared/0.1/git-ns.js +6 -0
  7. package/dist/git-ns/_shared/0.1/git-ns.js.map +1 -0
  8. package/dist/git-ns/account/link/0.1/payload.d.ts +355 -0
  9. package/dist/git-ns/account/link/0.1/payload.d.ts.map +1 -0
  10. package/dist/git-ns/account/link/0.1/payload.js +192 -0
  11. package/dist/git-ns/account/link/0.1/payload.js.map +1 -0
  12. package/dist/git-ns/account/link-status/0.1/payload.d.ts +403 -0
  13. package/dist/git-ns/account/link-status/0.1/payload.d.ts.map +1 -0
  14. package/dist/git-ns/account/link-status/0.1/payload.js +234 -0
  15. package/dist/git-ns/account/link-status/0.1/payload.js.map +1 -0
  16. package/dist/git-ns/bridge/event/0.1/payload.d.ts +1348 -0
  17. package/dist/git-ns/bridge/event/0.1/payload.d.ts.map +1 -0
  18. package/dist/git-ns/bridge/event/0.1/payload.js +785 -0
  19. package/dist/git-ns/bridge/event/0.1/payload.js.map +1 -0
  20. package/dist/git-ns/bridge/job/0.1/payload.d.ts +1044 -0
  21. package/dist/git-ns/bridge/job/0.1/payload.d.ts.map +1 -0
  22. package/dist/git-ns/bridge/job/0.1/payload.js +564 -0
  23. package/dist/git-ns/bridge/job/0.1/payload.js.map +1 -0
  24. package/dist/git-ns/bridge/result/0.1/payload.d.ts +462 -0
  25. package/dist/git-ns/bridge/result/0.1/payload.d.ts.map +1 -0
  26. package/dist/git-ns/bridge/result/0.1/payload.js +248 -0
  27. package/dist/git-ns/bridge/result/0.1/payload.js.map +1 -0
  28. package/dist/git-ns/namespace/bind/0.1/payload.d.ts +547 -0
  29. package/dist/git-ns/namespace/bind/0.1/payload.d.ts.map +1 -0
  30. package/dist/git-ns/namespace/bind/0.1/payload.js +322 -0
  31. package/dist/git-ns/namespace/bind/0.1/payload.js.map +1 -0
  32. package/dist/git-ns/namespace/unbind/0.1/payload.d.ts +300 -0
  33. package/dist/git-ns/namespace/unbind/0.1/payload.d.ts.map +1 -0
  34. package/dist/git-ns/namespace/unbind/0.1/payload.js +168 -0
  35. package/dist/git-ns/namespace/unbind/0.1/payload.js.map +1 -0
  36. package/dist/git-ns/repo/adopt/0.1/payload.d.ts +962 -0
  37. package/dist/git-ns/repo/adopt/0.1/payload.d.ts.map +1 -0
  38. package/dist/git-ns/repo/adopt/0.1/payload.js +583 -0
  39. package/dist/git-ns/repo/adopt/0.1/payload.js.map +1 -0
  40. package/dist/git-ns/repo/archive/0.1/payload.d.ts +959 -0
  41. package/dist/git-ns/repo/archive/0.1/payload.d.ts.map +1 -0
  42. package/dist/git-ns/repo/archive/0.1/payload.js +584 -0
  43. package/dist/git-ns/repo/archive/0.1/payload.js.map +1 -0
  44. package/dist/git-ns/repo/create/0.1/payload.d.ts +1074 -0
  45. package/dist/git-ns/repo/create/0.1/payload.d.ts.map +1 -0
  46. package/dist/git-ns/repo/create/0.1/payload.js +636 -0
  47. package/dist/git-ns/repo/create/0.1/payload.js.map +1 -0
  48. package/dist/git-ns/repo/transfer/0.1/payload.d.ts +947 -0
  49. package/dist/git-ns/repo/transfer/0.1/payload.d.ts.map +1 -0
  50. package/dist/git-ns/repo/transfer/0.1/payload.js +577 -0
  51. package/dist/git-ns/repo/transfer/0.1/payload.js.map +1 -0
  52. package/dist/git-ns/right/grant/0.1/payload.d.ts +506 -0
  53. package/dist/git-ns/right/grant/0.1/payload.d.ts.map +1 -0
  54. package/dist/git-ns/right/grant/0.1/payload.js +289 -0
  55. package/dist/git-ns/right/grant/0.1/payload.js.map +1 -0
  56. package/dist/git-ns/right/revoke/0.1/payload.d.ts +492 -0
  57. package/dist/git-ns/right/revoke/0.1/payload.d.ts.map +1 -0
  58. package/dist/git-ns/right/revoke/0.1/payload.js +284 -0
  59. package/dist/git-ns/right/revoke/0.1/payload.js.map +1 -0
  60. package/dist/git-ns/view/0.1/payload.d.ts +1407 -0
  61. package/dist/git-ns/view/0.1/payload.d.ts.map +1 -0
  62. package/dist/git-ns/view/0.1/payload.js +860 -0
  63. package/dist/git-ns/view/0.1/payload.js.map +1 -0
  64. package/dist/index.d.ts +20 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +20 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/vetting/attestation/0.1/payload.d.ts +690 -0
  69. package/dist/vetting/attestation/0.1/payload.d.ts.map +1 -0
  70. package/dist/vetting/attestation/0.1/payload.js +374 -0
  71. package/dist/vetting/attestation/0.1/payload.js.map +1 -0
  72. package/dist/vtc/vetting/pcs-challenge/0.1/payload.d.ts +261 -0
  73. package/dist/vtc/vetting/pcs-challenge/0.1/payload.d.ts.map +1 -0
  74. package/dist/vtc/vetting/pcs-challenge/0.1/payload.js +145 -0
  75. package/dist/vtc/vetting/pcs-challenge/0.1/payload.js.map +1 -0
  76. package/dist/vtc/vetting/vetters/event-mode/0.1/payload.d.ts +546 -0
  77. package/dist/vtc/vetting/vetters/event-mode/0.1/payload.d.ts.map +1 -0
  78. package/dist/vtc/vetting/vetters/event-mode/0.1/payload.js +290 -0
  79. package/dist/vtc/vetting/vetters/event-mode/0.1/payload.js.map +1 -0
  80. package/dist/vtc/vetting/vetters/pcs-root/0.1/payload.d.ts +336 -0
  81. package/dist/vtc/vetting/vetters/pcs-root/0.1/payload.d.ts.map +1 -0
  82. package/dist/vtc/vetting/vetters/pcs-root/0.1/payload.js +178 -0
  83. package/dist/vtc/vetting/vetters/pcs-root/0.1/payload.js.map +1 -0
  84. package/dist/vtc/vetting/vetters/pcs-tokens/0.1/payload.d.ts +402 -0
  85. package/dist/vtc/vetting/vetters/pcs-tokens/0.1/payload.d.ts.map +1 -0
  86. package/dist/vtc/vetting/vetters/pcs-tokens/0.1/payload.js +205 -0
  87. package/dist/vtc/vetting/vetters/pcs-tokens/0.1/payload.js.map +1 -0
  88. package/package.json +1 -1
  89. package/src/_shared/components.ts +181 -0
  90. package/src/git-ns/_shared/0.1/git-ns.ts +17 -0
  91. package/src/git-ns/account/link/0.1/payload.ts +242 -0
  92. package/src/git-ns/account/link-status/0.1/payload.ts +276 -0
  93. package/src/git-ns/bridge/event/0.1/payload.ts +902 -0
  94. package/src/git-ns/bridge/job/0.1/payload.ts +676 -0
  95. package/src/git-ns/bridge/result/0.1/payload.ts +321 -0
  96. package/src/git-ns/namespace/bind/0.1/payload.ts +374 -0
  97. package/src/git-ns/namespace/unbind/0.1/payload.ts +211 -0
  98. package/src/git-ns/repo/adopt/0.1/payload.ts +628 -0
  99. package/src/git-ns/repo/archive/0.1/payload.ts +626 -0
  100. package/src/git-ns/repo/create/0.1/payload.ts +689 -0
  101. package/src/git-ns/repo/transfer/0.1/payload.ts +619 -0
  102. package/src/git-ns/right/grant/0.1/payload.ts +340 -0
  103. package/src/git-ns/right/revoke/0.1/payload.ts +331 -0
  104. package/src/git-ns/view/0.1/payload.ts +906 -0
  105. package/src/index.ts +20 -0
  106. package/src/vetting/attestation/0.1/payload.ts +493 -0
  107. package/src/vtc/vetting/pcs-challenge/0.1/payload.ts +187 -0
  108. package/src/vtc/vetting/vetters/event-mode/0.1/payload.ts +375 -0
  109. package/src/vtc/vetting/vetters/pcs-root/0.1/payload.ts +241 -0
  110. package/src/vtc/vetting/vetters/pcs-tokens/0.1/payload.ts +286 -0
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/vetting/vetters/pcs-tokens/0.1/payload.schema.json
4
+ */
5
+ /** Trust Task type URI. */
6
+ export const TYPE_URI = "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-tokens/0.1";
7
+ /** Trust Task response type URI (request type URI + "#response"). */
8
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-tokens/0.1#response";
9
+ /**
10
+ * This specification's payload schema, as a value.
11
+ *
12
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
13
+ * rather than only as a `.json` file because TypeScript types are erased
14
+ * at runtime: without a schema a consumer has nothing to validate, and
15
+ * every REQUIRED payload member is optional in practice. Cross-file
16
+ * `$ref`s are already inlined, so it needs no resolver.
17
+ */
18
+ export const PAYLOAD_SCHEMA = {
19
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
20
+ "$id": "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-tokens/0.1",
21
+ "title": "VTC — Vetting PCS Tokens — payload",
22
+ "description": "A vetter draws its tick of attestation tokens. The draw is unconditional and on a schedule — a vetter asks whether or not it has vetted anyone — because a fetch that tracked activity would report activity.",
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "required": [
26
+ "label",
27
+ "tick",
28
+ "requests"
29
+ ],
30
+ "properties": {
31
+ "label": {
32
+ "type": "string",
33
+ "minLength": 1,
34
+ "maxLength": 128,
35
+ "description": "The token label to draw under: the community's current monthly label, or an event label it has approved for this vetter."
36
+ },
37
+ "tick": {
38
+ "type": "integer",
39
+ "minimum": 0,
40
+ "description": "The vetter's own schedule counter for this label. It makes `once per tick` a rule the community can enforce without learning whether the vetter has been busy."
41
+ },
42
+ "requests": {
43
+ "type": "array",
44
+ "minItems": 1,
45
+ "maxItems": 64,
46
+ "description": "One blinded serial per token asked for. More than the community's published `dripPerTick` is refused outright — the cap is the community's, not the asker's restraint.",
47
+ "items": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "required": [
51
+ "commitment",
52
+ "openingProof"
53
+ ],
54
+ "properties": {
55
+ "commitment": {
56
+ "type": "string",
57
+ "pattern": "^z[1-9A-HJ-NP-Za-km-z]+$",
58
+ "description": "A commitment to a serial only the vetter knows."
59
+ },
60
+ "openingProof": {
61
+ "type": "string",
62
+ "pattern": "^z[1-9A-HJ-NP-Za-km-z]+$",
63
+ "description": "Proof that the commitment opens to a serial the vetter holds, bound to this label, member and tick."
64
+ }
65
+ }
66
+ }
67
+ },
68
+ "ext": {
69
+ "$ref": "#/$defs/Ext"
70
+ }
71
+ },
72
+ "$defs": {
73
+ "Response": {
74
+ "$anchor": "response",
75
+ "title": "VTC Vetting PCS Tokens — response payload",
76
+ "type": "object",
77
+ "additionalProperties": false,
78
+ "required": [
79
+ "label",
80
+ "tick",
81
+ "preCredentials"
82
+ ],
83
+ "description": "One blind signature per request, in the order asked.",
84
+ "properties": {
85
+ "label": {
86
+ "type": "string",
87
+ "minLength": 1,
88
+ "maxLength": 128,
89
+ "description": "The label served."
90
+ },
91
+ "tick": {
92
+ "type": "integer",
93
+ "minimum": 0,
94
+ "description": "The tick served."
95
+ },
96
+ "preCredentials": {
97
+ "type": "array",
98
+ "minItems": 1,
99
+ "maxItems": 64,
100
+ "description": "The blind signatures, positionally matching `requests`.",
101
+ "items": {
102
+ "type": "string",
103
+ "pattern": "^z[1-9A-HJ-NP-Za-km-z]+$"
104
+ }
105
+ },
106
+ "ext": {
107
+ "$ref": "#/$defs/Ext"
108
+ }
109
+ }
110
+ },
111
+ "Ext": {
112
+ "title": "Ext",
113
+ "description": "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.",
114
+ "type": "object",
115
+ "minProperties": 1,
116
+ "additionalProperties": true,
117
+ "propertyNames": {
118
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
119
+ }
120
+ }
121
+ }
122
+ };
123
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
124
+ export const RESPONSE_PAYLOAD_SCHEMA = {
125
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
126
+ "$ref": "#/$defs/Response",
127
+ "$defs": {
128
+ "Response": {
129
+ "$anchor": "response",
130
+ "title": "VTC Vetting PCS Tokens — response payload",
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "required": [
134
+ "label",
135
+ "tick",
136
+ "preCredentials"
137
+ ],
138
+ "description": "One blind signature per request, in the order asked.",
139
+ "properties": {
140
+ "label": {
141
+ "type": "string",
142
+ "minLength": 1,
143
+ "maxLength": 128,
144
+ "description": "The label served."
145
+ },
146
+ "tick": {
147
+ "type": "integer",
148
+ "minimum": 0,
149
+ "description": "The tick served."
150
+ },
151
+ "preCredentials": {
152
+ "type": "array",
153
+ "minItems": 1,
154
+ "maxItems": 64,
155
+ "description": "The blind signatures, positionally matching `requests`.",
156
+ "items": {
157
+ "type": "string",
158
+ "pattern": "^z[1-9A-HJ-NP-Za-km-z]+$"
159
+ }
160
+ },
161
+ "ext": {
162
+ "$ref": "#/$defs/Ext"
163
+ }
164
+ }
165
+ },
166
+ "Ext": {
167
+ "title": "Ext",
168
+ "description": "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.",
169
+ "type": "object",
170
+ "minProperties": 1,
171
+ "additionalProperties": true,
172
+ "propertyNames": {
173
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
174
+ }
175
+ }
176
+ }
177
+ };
178
+ /**
179
+ * SPEC.md §7.2 policy for the request variant, from this specification's
180
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
181
+ * per-specification and cannot be derived from the document alone, and
182
+ * item 2 needs the schema this carries.
183
+ */
184
+ export const SPEC = {
185
+ typeUri: TYPE_URI,
186
+ isBearer: false,
187
+ isProofRequired: true,
188
+ isRecipientRequired: true,
189
+ isIssuedAtRequired: true,
190
+ payloadSchema: PAYLOAD_SCHEMA,
191
+ };
192
+ /**
193
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
194
+ * tracks the *issuer* party's requirement because a response swaps the
195
+ * parties (§7.3 item 5).
196
+ */
197
+ export const RESPONSE_SPEC = {
198
+ typeUri: RESPONSE_TYPE_URI,
199
+ isBearer: false,
200
+ isProofRequired: true,
201
+ isRecipientRequired: true,
202
+ isIssuedAtRequired: true,
203
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
204
+ };
205
+ //# sourceMappingURL=payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../../src/vtc/vetting/vetters/pcs-tokens/0.1/payload.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openvtc/trust-tasks",
3
- "version": "0.20.1",
3
+ "version": "0.20.3",
4
4
  "description": "Generated TypeScript bindings for the Trust Tasks framework registry.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -179,6 +179,10 @@ export type DeviceAttestation_DeviceV0_2 =
179
179
  | Tpm_DeviceV0_2
180
180
  | NitroEnclave_DeviceV0_2
181
181
  | NoAttestation_DeviceV0_2;
182
+ /**
183
+ * A DID, compared by exact string equality.
184
+ */
185
+ export type Did = string;
182
186
  /**
183
187
  * A cryptographic digest as a multibase-encoded multihash — the encoding the W3C Verifiable Credentials Data Model 2.0 defines for `digestMultibase`, and the one `did:webvh` uses for its SCID and entry hashes.
184
188
  *
@@ -246,6 +250,14 @@ export type FaceReach =
246
250
  * **Superseded by `WorldColour`** — the same set, under the name the rest of the family now uses. Retained because `persona/facet/*` is retired in favour of `persona/world/*`, and a retired specification's schema is frozen, so the definition it references has to stay. New work references `WorldColour`. A colour **name**, resolved by each consumer against its own palette — never a hex value or any other literal. Two reasons, and both are about the consumer rather than the holder. A literal cannot be legible in a terminal, in a light theme and in a dark one at once, so a stored `#8B0000` is a colour that is wrong somewhere and the holder has no way to know where. And a consumer that reserves colours to mean something — an error, a warning, an irreversible act — must be able to keep a holder's decorative choice out of that channel; it cannot do that with an arbitrary value, and it can do it trivially with a closed set it maps itself. The eight members are chosen to be distinguishable from one another and deliberately carry no status connotation: none is named for success, warning or danger.
247
251
  */
248
252
  export type FacetColour = "slate" | "indigo" | "teal" | "moss" | "sand" | "clay" | "rose" | "plum";
253
+ /**
254
+ * The lowercased DNS host of a forge: `github.com`, a GitHub Enterprise Server host, `codeberg.org`, or a self-hosted Forgejo instance such as `git.example.org`. No scheme, no port, no path. The host is a segment of every resource, so a right never crosses forges.
255
+ */
256
+ export type ForgeHost = string;
257
+ /**
258
+ * An identifier the forge itself assigns — a repository id, a user or organisation id — carried as a string so a forge whose ids are not numbers needs no new version. GitHub and Forgejo ids are decimal integers written as strings (`"812736451"`). Unlike a name, it survives renames and transfers, which is why rights and bindings are keyed by it.
259
+ */
260
+ export type ForgeId = string;
249
261
  /**
250
262
  * The highest version among the records `DataCommitment` covers. `0` for a room that holds none.
251
263
  *
@@ -294,6 +306,10 @@ export type LanguageTag = string;
294
306
  * Scopes one application's records within a context, so several tools can share a context without colliding — `openvtc`, `cnm`, an agent runtime. The maintainer MUST NOT interpret the value; it is an opaque partition name. Namespaces are first-come and unreserved, so an application SHOULD pick a stable, specific one: a future per-namespace ACL would grant on this exact string, which makes renaming a namespace a migration rather than an edit.
295
307
  */
296
308
  export type Namespace = string;
309
+ /**
310
+ * The VTC's opaque identifier for a namespace, assigned when it is bound. Stable for the life of the binding; never reused for another binding.
311
+ */
312
+ export type NamespaceId = string;
297
313
  /**
298
314
  * A region or city name as the vetter writes it. Compared case-insensitively and otherwise exactly.
299
315
  */
@@ -470,10 +486,26 @@ export type RecordType = "authorization" | "recognition";
470
486
  * Absent means *not decided by the holder* and resolves from the claim-type registry, which defaults `payment.*` and `gov.*` to `stepUp`.
471
487
  */
472
488
  export type ReleaseRequirement = "consent" | "stepUp";
489
+ /**
490
+ * A forge-qualified resource naming exactly one repository: `<forge-host>/<owner>/<repo>`, lowercase.
491
+ */
492
+ export type RepoResource = string;
493
+ /**
494
+ * Repository visibility on the forge.
495
+ */
496
+ export type RepoVisibility = "public" | "private";
497
+ /**
498
+ * A forge-qualified resource: `<forge-host>/<owner>` for a namespace, or `<forge-host>/<owner>/<repo>` for one repository, all lowercase — `github.com/acme`, `github.com/acme/widgets`, `codeberg.org/acme`. The forge is never implied: `acme/widgets` alone is not a resource. Containment is by whole segment: `github.com/acme` contains `github.com/acme/widgets` and does not contain `github.com/acme-labs/x` or `codeberg.org/acme/widgets`.
499
+ */
500
+ export type Resource = string;
473
501
  /**
474
502
  * Whether a room keeps its history readable across a membership change, fixed at creation and immutable thereafter — like `Visibility`, and for the same reason: the rungs of an epoch key chain either exist for an epoch or they do not, and no later change of mind can seal key material that was never sealed or unseal what was already severed. `chained`: each advance produces an `EpochLink`, so every member reads the room's whole retained history however long they have been in it — what a **library** wants, at the cost of post-compromise security for record content, since a compromised current key then reaches every retained epoch. `fromJoin`: no rungs are produced, so a member reads only from the epoch their group state is at — what a **stream** wants, and what a room under a strict forward-secrecy obligation wants, at the cost that a joining member finds an empty-looking room and nobody can reread a record once their group state has moved past the epoch it was sealed under. Absent means `chained`; see the prose on why the absent case is the readable one.
475
503
  */
476
504
  export type RetentionPolicy = "chained" | "fromJoin";
505
+ /**
506
+ * One of the five git rights. Each string is also the TRQP `action` the VTC publishes the right under in its Trust Registry, so it is carried verbatim. `git.ns.admin` and `git.repo.create` apply to a namespace resource; `git.repo.own` and `git.repo.maintain` to a repository resource; `git.commit.sign` to either.
507
+ */
508
+ export type Right = "git.ns.admin" | "git.repo.create" | "git.repo.own" | "git.repo.maintain" | "git.commit.sign";
477
509
  /**
478
510
  * How a consent prompt reaches the approver: `wake` pushes to the approver's device for a DID-signed decision; `bridge-relay` renders it through an enrolled bridge (e.g. a numbered card in the operator's messaging app) for a bridge-attested decision.
479
511
  */
@@ -540,6 +572,10 @@ export type SecretKind_VaultV0_2 =
540
572
  | "bearerToken"
541
573
  | "sshKey"
542
574
  | "custom";
575
+ /**
576
+ * One lowercased owner or repository name. Forges compare these case-insensitively, so the wire form is always lowercase and a producer lowercases before sending. A leading `.` is refused, which rules out `.` and `..`.
577
+ */
578
+ export type Segment = string;
543
579
  /**
544
580
  * How carefully a value is shown TO ITS OWN HOLDER. `high` means a consumer masks it by default, reveals it one attribute at a time on a deliberate act, and — the half that is not cosmetic — omits it from a listing that did not ask for sensitive values.
545
581
  *
@@ -1373,6 +1409,27 @@ export interface BackupEnvelope {
1373
1409
  */
1374
1410
  ciphertext: string;
1375
1411
  }
1412
+ /**
1413
+ * Whether each step that turns commit trust on for a repository is in place, as last reported. A step that this forge's plan does not need reads `true`.
1414
+ */
1415
+ export interface Bootstrap {
1416
+ /**
1417
+ * The verify-trust check runs on the repository's pull requests — from a workflow committed to it, or, where the forge supports it, required on it from the namespace's own bridge-managed workflow repository at a pinned commit.
1418
+ */
1419
+ workflow: boolean;
1420
+ /**
1421
+ * The exempt platform keyring for forge-signed merge commits is committed, or the forge's plan does not need one.
1422
+ */
1423
+ keyring: boolean;
1424
+ /**
1425
+ * The repository names the Trust Registry and this VTC as its trust anchors.
1426
+ */
1427
+ variables: boolean;
1428
+ /**
1429
+ * The forge refuses to merge into the default branch unless the verify-trust check passes, with no bypass, and a pull request cannot change what that check runs: an organisation-required workflow, code-owner review of workflow files, or protected workflow paths, as the forge allows.
1430
+ */
1431
+ requiredCheck: boolean;
1432
+ }
1376
1433
  /**
1377
1434
  * The self-description of a pluggable community capability: the Trust Task families it serves, the trust-registry vocabulary it reads and writes, the roles that may operate it, the membership lifecycle hooks it consumes, and the external adapters that act on its decisions. The manifest is what governance approves, what discovery advertises, and what a management UX renders.
1378
1435
  */
@@ -2369,6 +2426,34 @@ export interface DrainEntry {
2369
2426
  drainsUntil: string;
2370
2427
  ext?: Ext;
2371
2428
  }
2429
+ /**
2430
+ * One difference between the forge's observed state and the VTC's projection of a repository.
2431
+ */
2432
+ export interface DriftItem {
2433
+ /**
2434
+ * `roleAdded` — someone holds a forge role the projection does not give them. `roleRemoved` — a projected role is missing. `roleChanged` — a projected role is present at another level. `requiredCheckMissing` — the verify-trust check is no longer required. `protectionWeakened` — branch protection or a ruleset is weaker than the projection in another way (force-push allowed, bypass actors added). `bootstrapMissing` — a bootstrap file or variable is gone.
2435
+ */
2436
+ type:
2437
+ | "roleAdded"
2438
+ | "roleRemoved"
2439
+ | "roleChanged"
2440
+ | "requiredCheckMissing"
2441
+ | "protectionWeakened"
2442
+ | "bootstrapMissing";
2443
+ resource: RepoResource;
2444
+ /**
2445
+ * Whose role differs, for the three role types.
2446
+ */
2447
+ account?: ForgeAccount;
2448
+ /**
2449
+ * What the forge shows, in the forge's own vocabulary (a role name such as `maintain`, a setting name). Absent when nothing is there.
2450
+ */
2451
+ observed?: string;
2452
+ /**
2453
+ * What the projection calls for, in the forge's own vocabulary. Absent when the projection calls for nothing.
2454
+ */
2455
+ expected?: string;
2456
+ }
2372
2457
  /**
2373
2458
  * One consequence of executing the pending task, authored by the executor that is about to run it. An effect is produced by dry-running the real handler against the executor's own prior state — never by the requester, and never by re-implementing the handler's semantics elsewhere. A consent surface renders ONLY effects it received under the executor's signature.
2374
2459
  */
@@ -2527,6 +2612,40 @@ export interface Exposure {
2527
2612
  export interface Ext {
2528
2613
  [k: string]: unknown | undefined;
2529
2614
  }
2615
+ /**
2616
+ * A person's account on one forge. `id` is authoritative; `login` is for display only, because logins can be renamed and re-registered.
2617
+ */
2618
+ export interface ForgeAccount {
2619
+ forge: ForgeHost;
2620
+ id: ForgeId;
2621
+ /**
2622
+ * The account's current login, as the forge reported it when last seen. Display only.
2623
+ */
2624
+ login: string;
2625
+ }
2626
+ /**
2627
+ * The VTC's binding to one owner on one forge.
2628
+ */
2629
+ export interface GitNamespace {
2630
+ id: NamespaceId;
2631
+ forge: ForgeHost;
2632
+ /**
2633
+ * The organisation or user on the forge, lowercased.
2634
+ */
2635
+ owner: Segment;
2636
+ /**
2637
+ * Whether the owner is an organisation or a personal account, as the forge reports it. Present once known: a bridge-mode namespace learns it when binding completes, and a manual-mode namespace MAY never learn it.
2638
+ */
2639
+ kind?: "organization" | "user";
2640
+ /**
2641
+ * `bridge` — a bridge service acts on the forge for this namespace (creates repositories, projects roles, reports drift). `manual` — no automation; people with forge access carry out the steps the VTC names, and the VTC governs the rights alone.
2642
+ */
2643
+ mode: "bridge" | "manual";
2644
+ /**
2645
+ * `pending` — binding has started and the forge-side proof has not arrived yet. `bound` — the VTC governs rights under this namespace.
2646
+ */
2647
+ state: "pending" | "bound";
2648
+ }
2530
2649
  /**
2531
2650
  * OpenPGP-style ASCII-armored HPKE bundle — the existing OpenVTC sealed-transfer wire form (X25519-HKDF-SHA256 KEM + ChaCha20-Poly1305 AEAD, framed in armor with Bundle-Id / Digest-Algo headers and a CRC24 checksum). Producer assertion (`did-signed` / `attested` / `pinned-only`) is the integrity / authenticity anchor.
2532
2651
  *
@@ -3804,6 +3923,27 @@ export interface RejectedKey {
3804
3923
  */
3805
3924
  reason: string;
3806
3925
  }
3926
+ /**
3927
+ * One repository as the VTC records it.
3928
+ */
3929
+ export interface RepoSummary {
3930
+ resource: RepoResource;
3931
+ /**
3932
+ * The forge's repository id. Absent until the forge has confirmed the repository exists (a `pendingCreate` repository, or one adopted in bridge mode before the first inspection).
3933
+ */
3934
+ forgeId?: ForgeId;
3935
+ visibility: RepoVisibility;
3936
+ /**
3937
+ * `pendingCreate` — the name is reserved and the repository is not yet confirmed on the forge. `active` — managed. `archived` — archived through git-ns/repo/archive; commit rights on it are revoked. `detached` — no longer governed: its namespace was unbound, or it moved outside the namespace. `orphaned` — its last owner left the community and ownership passed to the namespace admins, who have not yet named a new owner. `unmanaged` — it exists on the forge inside a bound namespace but was never created or adopted through the VTC.
3938
+ */
3939
+ state: "pendingCreate" | "active" | "archived" | "detached" | "orphaned" | "unmanaged";
3940
+ /**
3941
+ * The DIDs holding `git.repo.own` on this repository by an explicit grant. Empty only for an `unmanaged` repository, and for an `orphaned` one whose ownership rests with the namespace admins by implication.
3942
+ */
3943
+ owners: Did[];
3944
+ bootstrap: Bootstrap;
3945
+ sync: Sync;
3946
+ }
3807
3947
  /**
3808
3948
  * One held credential a deferred query asked for, and the claims of it that would be disclosed.
3809
3949
  */
@@ -3879,6 +4019,30 @@ export interface RevocationReceipt {
3879
4019
  */
3880
4020
  revokedAt: string;
3881
4021
  }
4022
+ /**
4023
+ * One recorded right. Implied rights (§4.2 of the rights model: `own` implies `maintain` implies `commit.sign` on the same resource; `ns.admin` implies `repo.create` and `own` across its namespace) are not records and never appear as RightRecords.
4024
+ */
4025
+ export interface RightRecord {
4026
+ /**
4027
+ * Who holds the right. For `git.commit.sign` this is the DID whose commit signatures the CI check accepts.
4028
+ */
4029
+ subject: Did;
4030
+ right: Right;
4031
+ resource: Resource;
4032
+ /**
4033
+ * The actor whose task caused the right: the granter, the creator of a repository (for its first `own`), the adopting admin, the transferring owner, or the binding admin (for the first `git.ns.admin`). The VTC's own DID for a right it derives from its configuration.
4034
+ */
4035
+ grantedBy: Did;
4036
+ grantedAt: string;
4037
+ /**
4038
+ * When the right lapses. Absent: no expiry.
4039
+ */
4040
+ expiresAt?: string;
4041
+ /**
4042
+ * The granter's free-text reason. Disclosed only to holders of `git.repo.own` on the resource and of `git.ns.admin` over it.
4043
+ */
4044
+ reason?: string;
4045
+ }
3882
4046
  /**
3883
4047
  * The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: "noOp"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.
3884
4048
  */
@@ -4178,6 +4342,23 @@ export interface StreamDescriptor {
4178
4342
  expectedSizeBytes: ExpectedSizeBytes;
4179
4343
  expiresAt: ExpiresAt;
4180
4344
  }
4345
+ /**
4346
+ * How the forge compares with the VTC's projection for one repository.
4347
+ */
4348
+ export interface Sync {
4349
+ /**
4350
+ * `inSync` — the last comparison found no drift. `drift` — it found some, listed in `drift`. `pending` — a change has been sent to the forge and not yet confirmed. `unchecked` — nothing compares this repository (a manual-mode namespace).
4351
+ */
4352
+ state: "inSync" | "drift" | "pending" | "unchecked";
4353
+ /**
4354
+ * When the forge was last compared. Absent if never.
4355
+ */
4356
+ checkedAt?: string;
4357
+ /**
4358
+ * Outstanding drift. Empty unless `state` is `drift`.
4359
+ */
4360
+ drift: DriftItem[];
4361
+ }
4181
4362
  /**
4182
4363
  * An access token (typically short-lived JWT) paired with an optional refresh token (typically long-lived opaque string). The shapes follow OAuth 2.0 (RFC 6749 §5.1) conventions but are not coupled to any particular OAuth profile.
4183
4364
  */
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/git-ns/_shared/0.1/git-ns.schema.json
4
+ */
5
+
6
+ /**
7
+ * Shapes used by more than one git-ns/* task: forge-qualified resources, the five git rights, namespaces, repositories, rights records, forge accounts and drift. Not itself a Trust Task specification. A VTC is the source of truth for all of these; the Trust Registry and the forge are projections of them.
8
+ */
9
+ export interface GitNamespacesSharedDefinitionsForTheGitNsSpecFamily {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { Bootstrap, Did, DriftItem, ForgeAccount, ForgeHost, ForgeId, GitNamespace, NamespaceId, RepoResource, RepoSummary, RepoVisibility, Resource, Right, RightRecord, Segment, Sync } from "../../../_shared/components.js";