@metalabel/dfos-protocol 0.19.0 → 0.20.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.
@@ -2,8 +2,8 @@
2
2
  "description": "Content chain: creator signs genesis, delegate signs update with write credential",
3
3
  "type": "content-delegated",
4
4
  "chain": [
5
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWFjZXVvcW1jc3ZjdXZmN3M3YnlscWtvaG01aDdtdXhxbWVxbXYzbjdpc3F0ZHl0dzZuZ3kifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWRyd2V4NWRjYjJ1c3NqNmJ0eGJjMzQyM3U1d2VzNnJyd29tbXhhemt1bHRzcG9oN2EzdGkiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MTA6MDAuMDAwWiJ9.5S4nTGLjqy6WD1ojt8h858AsTh_js8kV_YJsRY-LeERRIPnPBG2wMbYgVhWcTUX2iYln_l-PgRlGlcs3XT98DA",
6
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczo5NGFoNzk2M24yMjNrOGM5ODg0aGgyN2VraDQybmVhI2tleV9hOHIyNzQzNGFhcjc2YWU3MmM4NzdmYTQ3a2FyOHJuIiwiY2lkIjoiYmFmeXJlaWVrNXozNXRiN256aTdoY3praGJseG56d2xjcjNtY25pbXlmcWh4NzRqbWhmM2FyYzd3YmkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoidXBkYXRlIiwiZGlkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWFjZXVvcW1jc3ZjdXZmN3M3YnlscWtvaG01aDdtdXhxbWVxbXYzbjdpc3F0ZHl0dzZuZ3kiLCJkb2N1bWVudENJRCI6ImJhZnlyZWllanNzaWhrZGZsamphYmRhbWhrdXlpYm1jNzQzaG4zaTM2YTdmbnV6c2plb2FydHBlNXdhIiwiYmFzZURvY3VtZW50Q0lEIjoiYmFmeXJlaWRyd2V4NWRjYjJ1c3NqNmJ0eGJjMzQyM3U1d2VzNnJyd29tbXhhemt1bHRzcG9oN2EzdGkiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjExOjAwLjAwMFoiLCJhdXRob3JpemF0aW9uIjoiZXlKaGJHY2lPaUpGWkVSVFFTSXNJblI1Y0NJNkltUnBaRHBrWm05ek9tTnlaV1JsYm5ScFlXd2lMQ0pyYVdRaU9pSmthV1E2WkdadmN6cGpibTV1Wm5RNVpqaGhNbkp1T1RNNFpEWnVhM296T0hJNE5EZDJNbXR5STJ0bGVWOXlPV1YyTXpSbWRtTXlNM281T1RsMlpXRmhablE0TTI1dU1qbDZkbWhsSWl3aVkybGtJam9pWW1GbWVYSmxhV1Z5ZERKcWNHaHJlWEI0ZDIxMWFqZHRkbTExY0hoamQybzNlbkZxZUdJek1tMTFhbnBwTWpObVlua3lkekpzWW5Wa2EzVWlmUS5leUoyWlhKemFXOXVJam94TENKMGVYQmxJam9pUkVaUFUwTnlaV1JsYm5ScFlXd2lMQ0pwYzNNaU9pSmthV1E2WkdadmN6cGpibTV1Wm5RNVpqaGhNbkp1T1RNNFpEWnVhM296T0hJNE5EZDJNbXR5SWl3aVlYVmtJam9pWkdsa09tUm1iM002T1RSaGFEYzVOak51TWpJemF6aGpPVGc0Tkdob01qZGxhMmcwTW01bFlTSXNJbUYwZENJNlczc2ljbVZ6YjNWeVkyVWlPaUpqYUdGcGJqb3lNbU00Y25ab09ISjJaRGRoTjJSa2EyVnJNelEwTXpKb2VucG9OelJ5SWl3aVlXTjBhVzl1SWpvaWQzSnBkR1VpZlYwc0luQnlaaUk2VzEwc0ltVjRjQ0k2TVRjNU9EYzJNVFl3TUN3aWFXRjBJam94TnpjeU9EUXhOakF3ZlEuZXJYMkRSUnRSWnctdFFueGd0RWE2SGNyaHZGM0pONHNESHppbGxFOXY1ZkhMYldLMEtJVTQ5SWtNRTdBTmJ5bDBETWo0WDRQTlZFZk1QUDlHRTFiQ0EifQ.XtEeHcTkXUaPPrkfH3a_JIxzgqL5fKe4jR7r52VpgnBx_ptjeyBmy9kjJxM0e0rpKkFSwE2Egi06yEr7a9q_DA"
5
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWVmZ3dod3N5NGxhY3dwZ2Rqc2hsNDdhM3BsdW55ZXF5bGx5MjMyMmZzNmhhZ2VrZWVwemUifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWZtcHNndnl3eTZ2eW96dXl5YXdzN3I0b3lyc3hmdGIzeTMydHJhZzI0bGxkMmFrYXZoM3kiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MTA6MDAuMDAwWiJ9.z3GWcpTQuqAX91zKscfbDyQJfoSbtzpLqwxxNt5Q7dpJgOplg3bQ414t-Wqy9WHi_wEbt5gx1FNc95-_LhwlBA",
6
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczo5NGFoNzk2M24yMjNrOGM5ODg0aGgyN2VraDQybmVhI2tleV9hOHIyNzQzNGFhcjc2YWU3MmM4NzdmYTQ3a2FyOHJuIiwiY2lkIjoiYmFmeXJlaWNmeWk0b2U2aGRrcnFrMnNkb3J3cHNvbG1sdG5qbjJ2dDVhbHFjZXRqNXp4N25hMmpsNXUifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoidXBkYXRlIiwiZGlkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWVmZ3dod3N5NGxhY3dwZ2Rqc2hsNDdhM3BsdW55ZXF5bGx5MjMyMmZzNmhhZ2VrZWVwemUiLCJkb2N1bWVudENJRCI6ImJhZnlyZWlmZG50YWU0amxqcjYydmplemJkb3FvM3hubmoyZ2dmZ2x0enhlbzI0eGM1Mzc1bWcza3Z1IiwiYmFzZURvY3VtZW50Q0lEIjoiYmFmeXJlaWZtcHNndnl3eTZ2eW96dXl5YXdzN3I0b3lyc3hmdGIzeTMydHJhZzI0bGxkMmFrYXZoM3kiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjExOjAwLjAwMFoiLCJhdXRob3JpemF0aW9uIjoiZXlKaGJHY2lPaUpGWkVSVFFTSXNJblI1Y0NJNkltUnBaRHBrWm05ek9tTnlaV1JsYm5ScFlXd2lMQ0pyYVdRaU9pSmthV1E2WkdadmN6cGpibTV1Wm5RNVpqaGhNbkp1T1RNNFpEWnVhM296T0hJNE5EZDJNbXR5STJ0bGVWOXlPV1YyTXpSbWRtTXlNM281T1RsMlpXRmhablE0TTI1dU1qbDZkbWhsSWl3aVkybGtJam9pWW1GbWVYSmxhV0owYjJkdU5YaHdabUppWjNaaGJtUndOM0Z0ZEd0ck5XOTZjbTU2ZERabmNtdDBaekppY0d0bWIzbGtkMlExYVhac1lta2lmUS5leUoyWlhKemFXOXVJam94TENKMGVYQmxJam9pUkVaUFUwTnlaV1JsYm5ScFlXd2lMQ0pwYzNNaU9pSmthV1E2WkdadmN6cGpibTV1Wm5RNVpqaGhNbkp1T1RNNFpEWnVhM296T0hJNE5EZDJNbXR5SWl3aVlYVmtJam9pWkdsa09tUm1iM002T1RSaGFEYzVOak51TWpJemF6aGpPVGc0Tkdob01qZGxhMmcwTW01bFlTSXNJbUYwZENJNlczc2ljbVZ6YjNWeVkyVWlPaUpqYUdGcGJqcG1OblptY2pSbVpXWTNNekkyY25SMmRHRTRPV0V6Wkc0ME9HTTJlbTR5SWl3aVlXTjBhVzl1SWpvaWQzSnBkR1VpZlYwc0luQnlaaUk2VzEwc0ltVjRjQ0k2TVRjNU9EYzJNVFl3TUN3aWFXRjBJam94TnpjeU9EUXhOakF3ZlEuWDRiQU1tNWV1SG5odEFSa1BHNjZCSWRSZjdWLWt3SVFSMnNzUWEzYVFJbUJfNkF3QklHcU43ZnpOQTJ5T19IRWtBR3o1WkFJY0F4cVhqX2swR2p3Q3cifQ.2lQ5TLbwUGgEszjy1_nqYxw-haZ_P0ESb7akS7ZawzE1EAtaC-Ovp_lrfGsz-ibLK9XDud6KJ2UGGBqu9nAICg"
7
7
  ],
8
8
  "creatorPublicKey": "z6MkrzLMNwoJSV4P3YccWcbtk8vd9LtgMKnLeaDLUqLuASjb",
9
9
  "delegatePublicKey": "z6MkvsvmSh2dGnu2qw1Tnw7M5fz98ycfuYGxqnpfgmPkLv7o",
@@ -14,10 +14,20 @@
14
14
  "format": "short-post",
15
15
  "title": "Original Post",
16
16
  "body": "Content created by the chain owner.",
17
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr"
17
+ "credits": [
18
+ {
19
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
20
+ "label": "author"
21
+ }
22
+ ]
18
23
  },
19
24
  "baseDocumentCID": null,
20
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
25
+ "credits": [
26
+ {
27
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
28
+ "label": "author"
29
+ }
30
+ ],
21
31
  "createdAt": "2026-03-07T00:10:00.000Z"
22
32
  },
23
33
  {
@@ -26,19 +36,29 @@
26
36
  "format": "short-post",
27
37
  "title": "Delegated Edit",
28
38
  "body": "Content updated by an authorized delegate.",
29
- "createdByDID": "did:dfos:94ah7963n223k8c9884hh27ekh42nea"
39
+ "credits": [
40
+ {
41
+ "did": "did:dfos:94ah7963n223k8c9884hh27ekh42nea",
42
+ "label": "author"
43
+ }
44
+ ]
30
45
  },
31
- "baseDocumentCID": "bafyreidrwex5dcb2ussj6btxbc3423u5wes6rrwommxazkultspoh7a3ti",
32
- "createdByDID": "did:dfos:94ah7963n223k8c9884hh27ekh42nea",
46
+ "baseDocumentCID": "bafyreifmpsgvywy6vyozuyyaws7r4oyrsxftb3y32trag24lld2akavh3y",
47
+ "credits": [
48
+ {
49
+ "did": "did:dfos:94ah7963n223k8c9884hh27ekh42nea",
50
+ "label": "author"
51
+ }
52
+ ],
33
53
  "createdAt": "2026-03-07T00:11:00.000Z"
34
54
  }
35
55
  ],
36
- "authorization": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNyZWRlbnRpYWwiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWVydDJqcGhreXB4d211ajdtdm11cHhjd2o3enFqeGIzMm11anppMjNmYnkydzJsYnVka3UifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiREZPU0NyZWRlbnRpYWwiLCJpc3MiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyIiwiYXVkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsImF0dCI6W3sicmVzb3VyY2UiOiJjaGFpbjoyMmM4cnZoOHJ2ZDdhN2Rka2VrMzQ0MzJoenpoNzRyIiwiYWN0aW9uIjoid3JpdGUifV0sInByZiI6W10sImV4cCI6MTc5ODc2MTYwMCwiaWF0IjoxNzcyODQxNjAwfQ.erX2DRRtRZw-tQnxgtEa6HcrhvF3JN4sDHzillE9v5fHLbWK0KIU49IkME7ANbyl0DMj4X4PNVEfMPP9GE1bCA",
56
+ "authorization": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNyZWRlbnRpYWwiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWJ0b2duNXhwZmJiZ3ZhbmRwN3FtdGtrNW96cm56dDZncmt0ZzJicGtmb3lkd2Q1aXZsYmkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiREZPU0NyZWRlbnRpYWwiLCJpc3MiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyIiwiYXVkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsImF0dCI6W3sicmVzb3VyY2UiOiJjaGFpbjpmNnZmcjRmZWY3MzI2cnR2dGE4OWEzZG40OGM2em4yIiwiYWN0aW9uIjoid3JpdGUifV0sInByZiI6W10sImV4cCI6MTc5ODc2MTYwMCwiaWF0IjoxNzcyODQxNjAwfQ.X4bAMm5euHnhtARkPG66BIdRf7V-kwIQR2ssQa3aQImB_6AwBIGqN7fzNA2yO_HEkAGz5ZAIcAxqXj_k0GjwCw",
37
57
  "expected": {
38
- "contentId": "22c8rvh8rvd7a7ddkek34432hzzh74r",
58
+ "contentId": "f6vfr4fef7326rtvta89a3dn48c6zn2",
39
59
  "creatorDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
40
60
  "isDeleted": false,
41
- "currentDocumentCID": "bafyreiejssihkdfljjabdamhkuyibmc743hn3i36a7fnuzsjeoartpe5wa",
61
+ "currentDocumentCID": "bafyreifdntae4jljr62vjezbdoqo3xnnj2ggfgltzxeo24xc5375mg3kvu",
42
62
  "length": 2
43
63
  }
44
64
  }
@@ -2,8 +2,8 @@
2
2
  "description": "Content chain: create + delete",
3
3
  "type": "content",
4
4
  "chain": [
5
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWQyNmJhZ241Y2ZlZTN4cHRhZmptYmx4d3VkdzQzNXA2cms1ZzNwNGdqdGtudXlscnhzc3kifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWV2Y3FybXZ0ejJwaXM1dGRpenQ3c2pvdG9xcW9nbDZ2cnJxZ2E2NHcydG53a3Eycm51ZHkiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.mTRCvPga89hVeu-gNowrL8TApoGJlxVQBw3CzrvEA-LxAQaSp03Uyn0JwdhPWh22UtwZTe2d27IIuJ7P-5PtAA",
6
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWhkcTZ0ZGw0c2R1N3V6b3l3c3p1NnNrMnJveGd1b3hqenp2ZjRkeTZtcDRmaGdkemczYm0ifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiZGVsZXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWQyNmJhZ241Y2ZlZTN4cHRhZmptYmx4d3VkdzQzNXA2cms1ZzNwNGdqdGtudXlscnhzc3kiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ.AgSmh-c1vXQYDan91HHkt8js1AH3upLxodv45RcfU-4TTNRaJq6fLdwe8tlto3N1_RSdaxhEEee9GgTLpYmXAQ"
5
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.hwRdbbOdyl4noERFW28YfurNF-5tlpuWBj_gm_9u0iKI17r98s0mO_7DSdD7b4B0rwcfnOHyVYPUCHttmUYdCg",
6
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWFiMzY2NmFianBrcmJud3h1NjVpY29vZnZsNHpxbnp4enRwdXBsYWRpY283cGp2NWsyZHkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiZGVsZXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ.M2PbijnX9_eRP3N92vS5BySzsWVonju1a2SvvkJdNIgHrqtIsgdpGGvrOwYSSqCQWrUp0j3nDIt37ESJN1fKDQ"
7
7
  ],
8
8
  "signerPublicKey": "z6MkfUd65JrAhfdgFuMCccU9ThQvjB2fJAMUHkuuajF992gK",
9
9
  "documents": [
@@ -13,15 +13,25 @@
13
13
  "format": "short-post",
14
14
  "title": "Hello World",
15
15
  "body": "First post on the protocol.",
16
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr"
16
+ "credits": [
17
+ {
18
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
19
+ "label": "author"
20
+ }
21
+ ]
17
22
  },
18
23
  "baseDocumentCID": null,
19
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
24
+ "credits": [
25
+ {
26
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
27
+ "label": "author"
28
+ }
29
+ ],
20
30
  "createdAt": "2026-03-07T00:02:00.000Z"
21
31
  }
22
32
  ],
23
33
  "expected": {
24
- "contentId": "a3n7r3nde8e4keeak92rr3aeztftvc2",
34
+ "contentId": "943v8rzdr9fdr4z77tf8de8hn3afed4",
25
35
  "isDeleted": true,
26
36
  "currentDocumentCID": null,
27
37
  "length": 2
@@ -2,8 +2,8 @@
2
2
  "description": "Content chain: create + update (with both documents)",
3
3
  "type": "content",
4
4
  "chain": [
5
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWQyNmJhZ241Y2ZlZTN4cHRhZmptYmx4d3VkdzQzNXA2cms1ZzNwNGdqdGtudXlscnhzc3kifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWV2Y3FybXZ0ejJwaXM1dGRpenQ3c2pvdG9xcW9nbDZ2cnJxZ2E2NHcydG53a3Eycm51ZHkiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.mTRCvPga89hVeu-gNowrL8TApoGJlxVQBw3CzrvEA-LxAQaSp03Uyn0JwdhPWh22UtwZTe2d27IIuJ7P-5PtAA",
6
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWEybGxwbHVvN2kyc2xoNzUyaXB3YnNxd2t2YXppdmpidnpkN202NmlzZm16aGJvaDNsNnkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoidXBkYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWQyNmJhZ241Y2ZlZTN4cHRhZmptYmx4d3VkdzQzNXA2cms1ZzNwNGdqdGtudXlscnhzc3kiLCJkb2N1bWVudENJRCI6ImJhZnlyZWlmZXRwdXRreTRmbnp2N3NyZzdsN3luaWg2ajR5dHplcWlicmNwNXVpZXB2b2x4cWhjYmN5IiwiYmFzZURvY3VtZW50Q0lEIjoiYmFmeXJlaWV2Y3FybXZ0ejJwaXM1dGRpenQ3c2pvdG9xcW9nbDZ2cnJxZ2E2NHcydG53a3Eycm51ZHkiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ._1k6S9qAFJeS7Ti1CmF32PhPjIxNTAiA63rSo9oF88Nf7ksKc1ENLLYgjkJcb6YOZ-C7O_3i_noJfnFsrX1xBQ"
5
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.hwRdbbOdyl4noERFW28YfurNF-5tlpuWBj_gm_9u0iKI17r98s0mO_7DSdD7b4B0rwcfnOHyVYPUCHttmUYdCg",
6
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWg0Y3k2eDJuYWh4dDd2dDY2eW5ydng3Z2dud3ozZmx2emZ5bGIzZnVkNWVzcHV2Yjc0b2EifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoidXBkYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UiLCJkb2N1bWVudENJRCI6ImJhZnlyZWlibGh3N2VldWVidWt1dDVwNXhlbmtjenVjZTZ0N3h1MnIzdXZ6cWMydm1rNzdzbjRybW51IiwiYmFzZURvY3VtZW50Q0lEIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ.-UVkJPgoW9gc1s4P967cut6-PKbMkWMWzx7lw02Z9Up2gQlFELFpJfxVPJVjVZUMjTtxjtCHZJRgmdzRRws6AQ"
7
7
  ],
8
8
  "signerPublicKey": "z6MkfUd65JrAhfdgFuMCccU9ThQvjB2fJAMUHkuuajF992gK",
9
9
  "documents": [
@@ -13,10 +13,20 @@
13
13
  "format": "short-post",
14
14
  "title": "Hello World",
15
15
  "body": "First post on the protocol.",
16
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr"
16
+ "credits": [
17
+ {
18
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
19
+ "label": "author"
20
+ }
21
+ ]
17
22
  },
18
23
  "baseDocumentCID": null,
19
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
24
+ "credits": [
25
+ {
26
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
27
+ "label": "author"
28
+ }
29
+ ],
20
30
  "createdAt": "2026-03-07T00:02:00.000Z"
21
31
  },
22
32
  {
@@ -25,17 +35,27 @@
25
35
  "format": "short-post",
26
36
  "title": "Hello World (edited)",
27
37
  "body": "Updated content.",
28
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr"
38
+ "credits": [
39
+ {
40
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
41
+ "label": "author"
42
+ }
43
+ ]
29
44
  },
30
- "baseDocumentCID": "bafyreievcqrmvtz2pis5tdizt7sjotoqqogl6vrrqga64w2tnwkq2rnudy",
31
- "createdByDID": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
45
+ "baseDocumentCID": "bafyreihq7b6wbpexepxnmm25rscds5punnw3kngdj3vm2h5wzuoiqlteri",
46
+ "credits": [
47
+ {
48
+ "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
49
+ "label": "author"
50
+ }
51
+ ],
32
52
  "createdAt": "2026-03-07T00:03:00.000Z"
33
53
  }
34
54
  ],
35
55
  "expected": {
36
- "contentId": "a3n7r3nde8e4keeak92rr3aeztftvc2",
56
+ "contentId": "943v8rzdr9fdr4z77tf8de8hn3afed4",
37
57
  "isDeleted": false,
38
- "currentDocumentCID": "bafyreifetputky4fnzv7srg7l7ynih6j4ytzeqibrcp5uiepvolxqhcbcy",
58
+ "currentDocumentCID": "bafyreiblhw7eeuebukut5p5xenkczuce6t7xu2r3uvzqc2vmk77sn4rmnu",
39
59
  "length": 2
40
60
  }
41
61
  }
@@ -2,12 +2,12 @@
2
2
  "description": "DFOS credential: write access (broad + narrowed)",
3
3
  "type": "credential",
4
4
  "broadCredential": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNyZWRlbnRpYWwiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWZ5aW5ieGhicml0NTZtM2FhdjY2bXc0eGQ2YWRxamFzdmNmaG11NjZnNnRudXFncnljbG0ifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiREZPU0NyZWRlbnRpYWwiLCJpc3MiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyIiwiYXVkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsImF0dCI6W3sicmVzb3VyY2UiOiJjaGFpbjoqIiwiYWN0aW9uIjoid3JpdGUifV0sInByZiI6W10sImV4cCI6MTc5ODc2MTYwMCwiaWF0IjoxNzcyODQxNjAwfQ.A-EygURAN2bALVwI2AZKFEuy30ZnWJFBaD4jCTf1d7A90rYELStjTWJ1iI7OulihTCfaVtlvj5HtX6Dwv1VxAg",
5
- "narrowCredential": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNyZWRlbnRpYWwiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWVzemt5YW9lc256eXlzcXVxc3JweGJwM2NwMmxpNGg0MjZxZGZxaXg1bnlvcnV1b3dibmEifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiREZPU0NyZWRlbnRpYWwiLCJpc3MiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyIiwiYXVkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsImF0dCI6W3sicmVzb3VyY2UiOiJjaGFpbjphM243cjNuZGU4ZTRrZWVhazkycnIzYWV6dGZ0dmMyIiwiYWN0aW9uIjoid3JpdGUifV0sInByZiI6W10sImV4cCI6MTc5ODc2MTYwMCwiaWF0IjoxNzcyODQxNjAwfQ.jzGLUBl0NhKaigoKH2OQBcC-bOlnhdL0ro4gWQpM2F-dZtdumxnixQ3cHabp8EaqfQ-jsRVkjqQ6Sf8sib8ZAg",
5
+ "narrowCredential": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNyZWRlbnRpYWwiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWJtenZreWJiejR6YmRleWR1YnR0bWhseHUzaDdhejJncXRram56bHF1dzZ1aHB6b2xlY2kifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiREZPU0NyZWRlbnRpYWwiLCJpc3MiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyIiwiYXVkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsImF0dCI6W3sicmVzb3VyY2UiOiJjaGFpbjo5NDN2OHJ6ZHI5ZmRyNHo3N3RmOGRlOGhuM2FmZWQ0IiwiYWN0aW9uIjoid3JpdGUifV0sInByZiI6W10sImV4cCI6MTc5ODc2MTYwMCwiaWF0IjoxNzcyODQxNjAwfQ.anHUQJi-zQ8gzDNHgA4G4qiUVtHYUhW9f6cu1YPeTEpObg6q2bSL7yFrAQc81o-FLsbtiOSMRk-jv_AwAXXkCg",
6
6
  "issuerPublicKey": "z6MkrzLMNwoJSV4P3YccWcbtk8vd9LtgMKnLeaDLUqLuASjb",
7
7
  "audiencePublicKey": "z6MkvsvmSh2dGnu2qw1Tnw7M5fz98ycfuYGxqnpfgmPkLv7o",
8
8
  "expected": {
9
9
  "iss": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
10
10
  "aud": "did:dfos:94ah7963n223k8c9884hh27ekh42nea",
11
- "narrowContentId": "a3n7r3nde8e4keeak92rr3aeztftvc2"
11
+ "narrowContentId": "943v8rzdr9fdr4z77tf8de8hn3afed4"
12
12
  }
13
13
  }
@@ -2,11 +2,11 @@
2
2
  "description": "Identity chain: genesis publishing a services set (relay locator + content/artifact anchors)",
3
3
  "type": "identity",
4
4
  "chain": [
5
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmlkZW50aXR5LW9wIiwia2lkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJjaWQiOiJiYWZ5cmVpZ2h1dnppdGZhN29meXlyd3l2eXVha21xZmVmem11cGhpN2ZhZmF3b3gzYWh4ZGgzdHNhNCJ9.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiYXV0aEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImFzc2VydEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImNvbnRyb2xsZXJLZXlzIjpbeyJpZCI6ImtleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwidHlwZSI6Ik11bHRpa2V5IiwicHVibGljS2V5TXVsdGliYXNlIjoiejZNa3J6TE1Od29KU1Y0UDNZY2NXY2J0azh2ZDlMdGdNS25MZWFETFVxTHVBU2piIn1dLCJzZXJ2aWNlcyI6W3siaWQiOiJyZWxheSIsInR5cGUiOiJEZm9zUmVsYXkiLCJlbmRwb2ludCI6Imh0dHBzOi8vcmVsYXkuZGZvcy5jb20ifSx7ImlkIjoicHJvZmlsZSIsInR5cGUiOiJDb250ZW50QW5jaG9yIiwibGFiZWwiOiJwcm9maWxlIiwiYW5jaG9yIjoiYTNuN3IzbmRlOGU0a2VlYWs5MnJyM2FlenRmdHZjMiJ9LHsiaWQiOiJhdmF0YXIiLCJ0eXBlIjoiQ29udGVudEFuY2hvciIsImxhYmVsIjoiYXZhdGFyIiwiYW5jaG9yIjoiYmFmeXJlaWV2Y3FybXZ0ejJwaXM1dGRpenQ3c2pvdG9xcW9nbDZ2cnJxZ2E2NHcydG53a3Eycm51ZHkifV0sImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDU6MDAuMDAwWiJ9.uN27ljlSuUwY2EO9bfX-G2yXliJQjEsWBsHYt1-0Vds5IASc2BO8FmjhcNv5JSQjDWJ54anTR2yRPkVxkeLKBw"
5
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmlkZW50aXR5LW9wIiwia2lkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJjaWQiOiJiYWZ5cmVpYnZxZDdmM2hqMzI3ZG9kbXBseDUzeGh2NHdnZXZiNjNmYWl1ZXF0eW9qNmlyb2x1N25qaSJ9.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiYXV0aEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImFzc2VydEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImNvbnRyb2xsZXJLZXlzIjpbeyJpZCI6ImtleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwidHlwZSI6Ik11bHRpa2V5IiwicHVibGljS2V5TXVsdGliYXNlIjoiejZNa3J6TE1Od29KU1Y0UDNZY2NXY2J0azh2ZDlMdGdNS25MZWFETFVxTHVBU2piIn1dLCJzZXJ2aWNlcyI6W3siaWQiOiJyZWxheSIsInR5cGUiOiJEZm9zUmVsYXkiLCJlbmRwb2ludCI6Imh0dHBzOi8vcmVsYXkuZGZvcy5jb20ifSx7ImlkIjoicHJvZmlsZSIsInR5cGUiOiJDb250ZW50QW5jaG9yIiwibGFiZWwiOiJwcm9maWxlIiwiYW5jaG9yIjoiOTQzdjhyemRyOWZkcjR6Nzd0ZjhkZThobjNhZmVkNCJ9LHsiaWQiOiJhdmF0YXIiLCJ0eXBlIjoiQ29udGVudEFuY2hvciIsImxhYmVsIjoiYXZhdGFyIiwiYW5jaG9yIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkifV0sImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDU6MDAuMDAwWiJ9.ORU6Gad1tOiPihC-UN94PlBzccpFz8HbTPLrMmjz87El0MqD4J_61s3BVc-NjY9ARh7gpLZL2hwzwzO-GOl3AQ"
6
6
  ],
7
7
  "controllerPublicKey": "z6MkrzLMNwoJSV4P3YccWcbtk8vd9LtgMKnLeaDLUqLuASjb",
8
8
  "expected": {
9
- "did": "did:dfos:hd34z9a4tf6h62864nh4f7at6hr36r4",
9
+ "did": "did:dfos:4ve48tvhnvzd9zt9n3tctr93afzczvz",
10
10
  "isDeleted": false,
11
11
  "controllerKeys": [
12
12
  {
@@ -25,13 +25,13 @@
25
25
  "id": "profile",
26
26
  "type": "ContentAnchor",
27
27
  "label": "profile",
28
- "anchor": "a3n7r3nde8e4keeak92rr3aeztftvc2"
28
+ "anchor": "943v8rzdr9fdr4z77tf8de8hn3afed4"
29
29
  },
30
30
  {
31
31
  "id": "avatar",
32
32
  "type": "ContentAnchor",
33
33
  "label": "avatar",
34
- "anchor": "bafyreievcqrmvtz2pis5tdizt7sjotoqqogl6vrrqga64w2tnwkq2rnudy"
34
+ "anchor": "bafyreihq7b6wbpexepxnmm25rscds5punnw3kngdj3vm2h5wzuoiqlteri"
35
35
  }
36
36
  ]
37
37
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metalabel/dfos-protocol",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "type": "module",
5
5
  "description": "DFOS Protocol — Ed25519 signed chain primitives, services, credentials, and verification",
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "body": {
22
22
  "type": "string",
23
- "description": "Post body content."
23
+ "description": "Post body content. May embed attachment://<id> refs inline; each should have a corresponding attachments entry carrying the verifiable reference."
24
24
  },
25
25
  "cover": {
26
26
  "$ref": "#/$defs/media",
@@ -36,26 +36,48 @@
36
36
  "items": { "type": "string" },
37
37
  "description": "Topic names this post belongs to. Stored as names for portability."
38
38
  },
39
- "createdByDID": {
40
- "type": "string",
41
- "pattern": "^did:",
42
- "description": "DID of the identity that authored this content. Optional omit when the signer IS the author."
39
+ "credits": {
40
+ "type": "array",
41
+ "items": { "$ref": "#/$defs/credit" },
42
+ "description": "Ordered authorship credits. Array order is display order; the first entry is the primary author. Omit entirely for unattributed content. Credits are the assertion tier of the authorship lattice the operation signer asserts them; a credited DID may upgrade its credit to proof via a claim operation."
43
43
  }
44
44
  },
45
45
  "additionalProperties": false,
46
46
  "$defs": {
47
47
  "media": {
48
48
  "type": "object",
49
- "required": ["id"],
49
+ "required": ["uri"],
50
50
  "properties": {
51
- "id": {
51
+ "uri": {
52
+ "type": "string",
53
+ "format": "uri",
54
+ "description": "Canonical reference to the media — an attachment://<id> ref (opaque, host-scoped) or any other URI. Always present."
55
+ },
56
+ "cid": {
52
57
  "type": "string",
53
- "description": "Opaque media object identifier."
58
+ "pattern": "^bafkrei[a-z2-7]{52}$",
59
+ "description": "Optional content commitment — CIDv1, raw codec (0x55), sha2-256, base32 lowercase, computed over the media bytes exactly as stored/served. May be absent when no cid has been computed for the media."
54
60
  },
55
- "uri": {
61
+ "href": {
56
62
  "type": "string",
57
63
  "format": "uri",
58
- "description": "Optional URI for the media object."
64
+ "description": "Optional resolution hint — a plain URL where the bytes may currently be fetched. Implementation-dependent and non-normative; carries no integrity promise."
65
+ }
66
+ },
67
+ "additionalProperties": false
68
+ },
69
+ "credit": {
70
+ "type": "object",
71
+ "required": ["did"],
72
+ "properties": {
73
+ "did": {
74
+ "type": "string",
75
+ "pattern": "^did:",
76
+ "description": "DID of the credited identity."
77
+ },
78
+ "label": {
79
+ "type": "string",
80
+ "description": "Free-text role label — display vocabulary, not an enum (e.g. \"author\", \"editor\", \"photography\")."
59
81
  }
60
82
  },
61
83
  "additionalProperties": false