@kya-os/mcp 1.16.1 → 1.16.2
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.
- package/CHANGELOG.md +12 -0
- package/package.json +1 -1
- package/schemas/delegation-credential.json +122 -30
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ Versioning: https://semver.org/spec/v2.0.0.html
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.16.2] - 2026-09-21
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **`schemas/delegation-credential.json` accepts a Bitstring status entry.**
|
|
15
|
+
Its `CredentialStatus` definition pinned `type` to `StatusList2021Entry`
|
|
16
|
+
with `id` required, while `card-delegation-credential.json` and the
|
|
17
|
+
TypeScript type (1.16.1) already describe the Bitstring Status List v1.0
|
|
18
|
+
entry. The published schema now admits either `type` and makes `id`
|
|
19
|
+
optional, so a credential carrying a Bitstring entry validates against the
|
|
20
|
+
same schema the runtime parser accepts.
|
|
21
|
+
|
|
10
22
|
## [1.16.1] - 2026-09-21
|
|
11
23
|
|
|
12
24
|
### Changed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/mcp",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.2",
|
|
4
4
|
"description": "Reference implementation of the KYA-OS protocol for Model Context Protocol servers: identity, delegation, proofs, sessions, and verifiable audit trails",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -4,14 +4,25 @@
|
|
|
4
4
|
"title": "KYA-OS Delegation Credential",
|
|
5
5
|
"description": "W3C Verifiable Credential containing a KYA-OS delegation with CRISP constraints.",
|
|
6
6
|
"type": "object",
|
|
7
|
-
"required": [
|
|
7
|
+
"required": [
|
|
8
|
+
"@context",
|
|
9
|
+
"type",
|
|
10
|
+
"issuer",
|
|
11
|
+
"issuanceDate",
|
|
12
|
+
"credentialSubject"
|
|
13
|
+
],
|
|
8
14
|
"properties": {
|
|
9
15
|
"@context": {
|
|
10
16
|
"type": "array",
|
|
11
17
|
"items": {
|
|
12
18
|
"oneOf": [
|
|
13
|
-
{
|
|
14
|
-
|
|
19
|
+
{
|
|
20
|
+
"type": "string",
|
|
21
|
+
"format": "uri"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "object"
|
|
25
|
+
}
|
|
15
26
|
]
|
|
16
27
|
},
|
|
17
28
|
"minItems": 2,
|
|
@@ -24,19 +35,31 @@
|
|
|
24
35
|
},
|
|
25
36
|
"type": {
|
|
26
37
|
"type": "array",
|
|
27
|
-
"items": {
|
|
28
|
-
|
|
38
|
+
"items": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"contains": {
|
|
42
|
+
"const": "VerifiableCredential"
|
|
43
|
+
},
|
|
29
44
|
"minItems": 2,
|
|
30
45
|
"description": "Credential types. MUST include 'VerifiableCredential' and 'DelegationCredential'."
|
|
31
46
|
},
|
|
32
47
|
"issuer": {
|
|
33
48
|
"oneOf": [
|
|
34
|
-
{
|
|
49
|
+
{
|
|
50
|
+
"type": "string",
|
|
51
|
+
"pattern": "^did:.+$"
|
|
52
|
+
},
|
|
35
53
|
{
|
|
36
54
|
"type": "object",
|
|
37
|
-
"required": [
|
|
55
|
+
"required": [
|
|
56
|
+
"id"
|
|
57
|
+
],
|
|
38
58
|
"properties": {
|
|
39
|
-
"id": {
|
|
59
|
+
"id": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"pattern": "^did:.+$"
|
|
62
|
+
}
|
|
40
63
|
}
|
|
41
64
|
}
|
|
42
65
|
],
|
|
@@ -66,7 +89,10 @@
|
|
|
66
89
|
"$defs": {
|
|
67
90
|
"DelegationCredentialSubject": {
|
|
68
91
|
"type": "object",
|
|
69
|
-
"required": [
|
|
92
|
+
"required": [
|
|
93
|
+
"id",
|
|
94
|
+
"delegation"
|
|
95
|
+
],
|
|
70
96
|
"properties": {
|
|
71
97
|
"id": {
|
|
72
98
|
"type": "string",
|
|
@@ -75,7 +101,13 @@
|
|
|
75
101
|
},
|
|
76
102
|
"delegation": {
|
|
77
103
|
"type": "object",
|
|
78
|
-
"required": [
|
|
104
|
+
"required": [
|
|
105
|
+
"id",
|
|
106
|
+
"issuerDid",
|
|
107
|
+
"subjectDid",
|
|
108
|
+
"constraints",
|
|
109
|
+
"status"
|
|
110
|
+
],
|
|
79
111
|
"properties": {
|
|
80
112
|
"id": {
|
|
81
113
|
"type": "string",
|
|
@@ -106,7 +138,9 @@
|
|
|
106
138
|
},
|
|
107
139
|
"scopes": {
|
|
108
140
|
"type": "array",
|
|
109
|
-
"items": {
|
|
141
|
+
"items": {
|
|
142
|
+
"type": "string"
|
|
143
|
+
},
|
|
110
144
|
"description": "Authorized scope strings."
|
|
111
145
|
},
|
|
112
146
|
"controller": {
|
|
@@ -123,7 +157,11 @@
|
|
|
123
157
|
},
|
|
124
158
|
"status": {
|
|
125
159
|
"type": "string",
|
|
126
|
-
"enum": [
|
|
160
|
+
"enum": [
|
|
161
|
+
"active",
|
|
162
|
+
"revoked",
|
|
163
|
+
"expired"
|
|
164
|
+
],
|
|
127
165
|
"description": "Current delegation status."
|
|
128
166
|
},
|
|
129
167
|
"createdAt": {
|
|
@@ -153,27 +191,45 @@
|
|
|
153
191
|
},
|
|
154
192
|
"scopes": {
|
|
155
193
|
"type": "array",
|
|
156
|
-
"items": {
|
|
194
|
+
"items": {
|
|
195
|
+
"type": "string"
|
|
196
|
+
},
|
|
157
197
|
"description": "Authorized scope strings."
|
|
158
198
|
},
|
|
159
199
|
"audience": {
|
|
160
200
|
"oneOf": [
|
|
161
|
-
{
|
|
162
|
-
|
|
201
|
+
{
|
|
202
|
+
"type": "string"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"type": "array",
|
|
206
|
+
"items": {
|
|
207
|
+
"type": "string"
|
|
208
|
+
}
|
|
209
|
+
}
|
|
163
210
|
],
|
|
164
211
|
"description": "Intended audience DID(s) for the delegation."
|
|
165
212
|
},
|
|
166
213
|
"crisp": {
|
|
167
214
|
"type": "object",
|
|
168
|
-
"required": [
|
|
215
|
+
"required": [
|
|
216
|
+
"scopes"
|
|
217
|
+
],
|
|
169
218
|
"properties": {
|
|
170
219
|
"budget": {
|
|
171
220
|
"type": "object",
|
|
172
|
-
"required": [
|
|
221
|
+
"required": [
|
|
222
|
+
"unit",
|
|
223
|
+
"cap"
|
|
224
|
+
],
|
|
173
225
|
"properties": {
|
|
174
226
|
"unit": {
|
|
175
227
|
"type": "string",
|
|
176
|
-
"enum": [
|
|
228
|
+
"enum": [
|
|
229
|
+
"USD",
|
|
230
|
+
"ops",
|
|
231
|
+
"points"
|
|
232
|
+
],
|
|
177
233
|
"description": "Budget unit type."
|
|
178
234
|
},
|
|
179
235
|
"cap": {
|
|
@@ -183,11 +239,17 @@
|
|
|
183
239
|
},
|
|
184
240
|
"window": {
|
|
185
241
|
"type": "object",
|
|
186
|
-
"required": [
|
|
242
|
+
"required": [
|
|
243
|
+
"kind",
|
|
244
|
+
"durationSec"
|
|
245
|
+
],
|
|
187
246
|
"properties": {
|
|
188
247
|
"kind": {
|
|
189
248
|
"type": "string",
|
|
190
|
-
"enum": [
|
|
249
|
+
"enum": [
|
|
250
|
+
"rolling",
|
|
251
|
+
"fixed"
|
|
252
|
+
]
|
|
191
253
|
},
|
|
192
254
|
"durationSec": {
|
|
193
255
|
"type": "integer",
|
|
@@ -201,12 +263,22 @@
|
|
|
201
263
|
"type": "array",
|
|
202
264
|
"items": {
|
|
203
265
|
"type": "object",
|
|
204
|
-
"required": [
|
|
266
|
+
"required": [
|
|
267
|
+
"resource",
|
|
268
|
+
"matcher"
|
|
269
|
+
],
|
|
205
270
|
"properties": {
|
|
206
|
-
"resource": {
|
|
271
|
+
"resource": {
|
|
272
|
+
"type": "string"
|
|
273
|
+
},
|
|
207
274
|
"matcher": {
|
|
208
275
|
"type": "string",
|
|
209
|
-
"enum": [
|
|
276
|
+
"enum": [
|
|
277
|
+
"exact",
|
|
278
|
+
"prefix",
|
|
279
|
+
"path-prefix",
|
|
280
|
+
"regex"
|
|
281
|
+
]
|
|
210
282
|
},
|
|
211
283
|
"constraints": {
|
|
212
284
|
"type": "object",
|
|
@@ -223,7 +295,12 @@
|
|
|
223
295
|
},
|
|
224
296
|
"CredentialStatus": {
|
|
225
297
|
"type": "object",
|
|
226
|
-
"required": [
|
|
298
|
+
"required": [
|
|
299
|
+
"type",
|
|
300
|
+
"statusPurpose",
|
|
301
|
+
"statusListIndex",
|
|
302
|
+
"statusListCredential"
|
|
303
|
+
],
|
|
227
304
|
"properties": {
|
|
228
305
|
"id": {
|
|
229
306
|
"type": "string",
|
|
@@ -232,11 +309,17 @@
|
|
|
232
309
|
},
|
|
233
310
|
"type": {
|
|
234
311
|
"type": "string",
|
|
235
|
-
"
|
|
312
|
+
"enum": [
|
|
313
|
+
"BitstringStatusListEntry",
|
|
314
|
+
"StatusList2021Entry"
|
|
315
|
+
]
|
|
236
316
|
},
|
|
237
317
|
"statusPurpose": {
|
|
238
318
|
"type": "string",
|
|
239
|
-
"enum": [
|
|
319
|
+
"enum": [
|
|
320
|
+
"revocation",
|
|
321
|
+
"suspension"
|
|
322
|
+
]
|
|
240
323
|
},
|
|
241
324
|
"statusListIndex": {
|
|
242
325
|
"type": "string",
|
|
@@ -248,11 +331,14 @@
|
|
|
248
331
|
"format": "uri",
|
|
249
332
|
"description": "URL of the StatusList2021 credential."
|
|
250
333
|
}
|
|
251
|
-
}
|
|
334
|
+
},
|
|
335
|
+
"description": "credentialStatus entry. The W3C Bitstring Status List v1.0 entry (the StatusList2021Entry successor) is the current form; StatusList2021Entry stays accepted for credentials minted before it. `id` is optional per the Bitstring spec; `statusPurpose` is required by both."
|
|
252
336
|
},
|
|
253
337
|
"Proof": {
|
|
254
338
|
"type": "object",
|
|
255
|
-
"required": [
|
|
339
|
+
"required": [
|
|
340
|
+
"type"
|
|
341
|
+
],
|
|
256
342
|
"properties": {
|
|
257
343
|
"type": {
|
|
258
344
|
"type": "string",
|
|
@@ -289,7 +375,10 @@
|
|
|
289
375
|
"https://schema.kya-os.org/v1/protocol/delegation/context/v1.0.0"
|
|
290
376
|
],
|
|
291
377
|
"id": "urn:uuid:12345678-1234-1234-1234-123456789abc",
|
|
292
|
-
"type": [
|
|
378
|
+
"type": [
|
|
379
|
+
"VerifiableCredential",
|
|
380
|
+
"DelegationCredential"
|
|
381
|
+
],
|
|
293
382
|
"issuer": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
294
383
|
"issuanceDate": "2024-03-12T00:00:00Z",
|
|
295
384
|
"expirationDate": "2024-03-13T00:00:00Z",
|
|
@@ -299,7 +388,10 @@
|
|
|
299
388
|
"id": "del-001",
|
|
300
389
|
"issuerDid": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
301
390
|
"subjectDid": "did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH",
|
|
302
|
-
"scopes": [
|
|
391
|
+
"scopes": [
|
|
392
|
+
"read:documents",
|
|
393
|
+
"write:documents"
|
|
394
|
+
],
|
|
303
395
|
"constraints": {
|
|
304
396
|
"notBefore": 1710201600,
|
|
305
397
|
"notAfter": 1710288000
|