@metalabel/dfos-protocol 0.20.0 → 0.22.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: create + delete",
3
3
  "type": "content",
4
4
  "chain": [
5
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.hwRdbbOdyl4noERFW28YfurNF-5tlpuWBj_gm_9u0iKI17r98s0mO_7DSdD7b4B0rwcfnOHyVYPUCHttmUYdCg",
6
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWFiMzY2NmFianBrcmJud3h1NjVpY29vZnZsNHpxbnp4enRwdXBsYWRpY283cGp2NWsyZHkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiZGVsZXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ.M2PbijnX9_eRP3N92vS5BySzsWVonju1a2SvvkJdNIgHrqtIsgdpGGvrOwYSSqCQWrUp0j3nDIt37ESJN1fKDQ"
5
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWJzM3ZsdmFpbmZqZnVldDZ4NHVkczNwaXZibWJvaHk3ZjY0aWVnYnV3M2dwc3VxdG1hNmkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWU2eGZrcnR3YXgyZHE1Z2R3M3Jwc3VyejJnbHNkdXh5Y2ZoazdqamxsZXdpd2l2a2thZnUiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.BpUjMx3_zq5q-bxOQN0pl4tfgf_uZIt97r7fM_dukJr--zB0g7sxG9IcBsy0RR3P_DtIK4GB17ikwDUDDHnuAw",
6
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWduM3R6aHJjNmF0cmhlNWVicGx2aWF3eHVveTJyeDdmdmhybWpibWRybXZzYjZiZWx6dW0ifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiZGVsZXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWJzM3ZsdmFpbmZqZnVldDZ4NHVkczNwaXZibWJvaHk3ZjY0aWVnYnV3M2dwc3VxdG1hNmkiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ.8PRYCKWhT-s-5rfmLY_TZtJpHIoSBt86i7HgSzmdBn3Se0cggCdb3pGWV-l6_tCVY7vZXy3clUWrD6NT14PZBQ"
7
7
  ],
8
8
  "signerPublicKey": "z6MkfUd65JrAhfdgFuMCccU9ThQvjB2fJAMUHkuuajF992gK",
9
9
  "documents": [
@@ -11,6 +11,7 @@
11
11
  "content": {
12
12
  "$schema": "https://schemas.dfos.com/post/v1",
13
13
  "format": "short-post",
14
+ "publishedAt": "2026-03-07T00:02:00.000Z",
14
15
  "title": "Hello World",
15
16
  "body": "First post on the protocol.",
16
17
  "credits": [
@@ -31,7 +32,7 @@
31
32
  }
32
33
  ],
33
34
  "expected": {
34
- "contentId": "943v8rzdr9fdr4z77tf8de8hn3afed4",
35
+ "contentId": "8n8fnzhrrefkrde6h72kfvff43r8c63",
35
36
  "isDeleted": true,
36
37
  "currentDocumentCID": null,
37
38
  "length": 2
@@ -2,8 +2,8 @@
2
2
  "description": "Content chain: create + update (with both documents)",
3
3
  "type": "content",
4
4
  "chain": [
5
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.hwRdbbOdyl4noERFW28YfurNF-5tlpuWBj_gm_9u0iKI17r98s0mO_7DSdD7b4B0rwcfnOHyVYPUCHttmUYdCg",
6
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWg0Y3k2eDJuYWh4dDd2dDY2eW5ydng3Z2dud3ozZmx2emZ5bGIzZnVkNWVzcHV2Yjc0b2EifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoidXBkYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWZ3ZW1ybnR1cG92M3dsZXVib3plMzIyYnAzYnRwYmZzZDJ5d2pwZnJka3VkandyNGpxb2UiLCJkb2N1bWVudENJRCI6ImJhZnlyZWlibGh3N2VldWVidWt1dDVwNXhlbmtjenVjZTZ0N3h1MnIzdXZ6cWMydm1rNzdzbjRybW51IiwiYmFzZURvY3VtZW50Q0lEIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ.-UVkJPgoW9gc1s4P967cut6-PKbMkWMWzx7lw02Z9Up2gQlFELFpJfxVPJVjVZUMjTtxjtCHZJRgmdzRRws6AQ"
5
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWJzM3ZsdmFpbmZqZnVldDZ4NHVkczNwaXZibWJvaHk3ZjY0aWVnYnV3M2dwc3VxdG1hNmkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsImRvY3VtZW50Q0lEIjoiYmFmeXJlaWU2eGZrcnR3YXgyZHE1Z2R3M3Jwc3VyejJnbHNkdXh5Y2ZoazdqamxsZXdpd2l2a2thZnUiLCJiYXNlRG9jdW1lbnRDSUQiOm51bGwsImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDI6MDAuMDAwWiJ9.BpUjMx3_zq5q-bxOQN0pl4tfgf_uZIt97r7fM_dukJr--zB0g7sxG9IcBsy0RR3P_DtIK4GB17ikwDUDDHnuAw",
6
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNvbnRlbnQtb3AiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9lejlhODc0dGNrcjNkdjkzM2QzY2tkbjd6NnpyY3Q4IiwiY2lkIjoiYmFmeXJlaWVkNWNqZ2pqdDJwZHo1Mms2cGdpcGNqZzNpNHhsN3R4YnJiZGVkc2NlanZxaHRnbHR4ZGkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoidXBkYXRlIiwiZGlkIjoiZGlkOmRmb3M6Y25ubmZ0OWY4YTJybjkzOGQ2bmt6MzhyODQ3djJrciIsInByZXZpb3VzT3BlcmF0aW9uQ0lEIjoiYmFmeXJlaWJzM3ZsdmFpbmZqZnVldDZ4NHVkczNwaXZibWJvaHk3ZjY0aWVnYnV3M2dwc3VxdG1hNmkiLCJkb2N1bWVudENJRCI6ImJhZnlyZWlhb2luem8yYWk0aHg1NmI3MjQ0emFobmZxbWd1cmNkM3JwcHFiYXdodjMyeHpsdmN0NW00IiwiYmFzZURvY3VtZW50Q0lEIjoiYmFmeXJlaWU2eGZrcnR3YXgyZHE1Z2R3M3Jwc3VyejJnbHNkdXh5Y2ZoazdqamxsZXdpd2l2a2thZnUiLCJjcmVhdGVkQXQiOiIyMDI2LTAzLTA3VDAwOjAzOjAwLjAwMFoifQ.G-FIPUBtGPOUVhdT25i-PLzbsOjS3mQ74gTEGluf74dj9P4Pwi7mwZT3D_PpT7gtPgUWK7RT0szqNsxju7tAAQ"
7
7
  ],
8
8
  "signerPublicKey": "z6MkfUd65JrAhfdgFuMCccU9ThQvjB2fJAMUHkuuajF992gK",
9
9
  "documents": [
@@ -11,6 +11,7 @@
11
11
  "content": {
12
12
  "$schema": "https://schemas.dfos.com/post/v1",
13
13
  "format": "short-post",
14
+ "publishedAt": "2026-03-07T00:02:00.000Z",
14
15
  "title": "Hello World",
15
16
  "body": "First post on the protocol.",
16
17
  "credits": [
@@ -33,6 +34,7 @@
33
34
  "content": {
34
35
  "$schema": "https://schemas.dfos.com/post/v1",
35
36
  "format": "short-post",
37
+ "publishedAt": "2026-03-07T00:02:00.000Z",
36
38
  "title": "Hello World (edited)",
37
39
  "body": "Updated content.",
38
40
  "credits": [
@@ -42,7 +44,7 @@
42
44
  }
43
45
  ]
44
46
  },
45
- "baseDocumentCID": "bafyreihq7b6wbpexepxnmm25rscds5punnw3kngdj3vm2h5wzuoiqlteri",
47
+ "baseDocumentCID": "bafyreie6xfkrtwax2dq5gdw3rpsurz2glsduxycfhk7jjllewiwivkkafu",
46
48
  "credits": [
47
49
  {
48
50
  "did": "did:dfos:cnnnft9f8a2rn938d6nkz38r847v2kr",
@@ -53,9 +55,9 @@
53
55
  }
54
56
  ],
55
57
  "expected": {
56
- "contentId": "943v8rzdr9fdr4z77tf8de8hn3afed4",
58
+ "contentId": "8n8fnzhrrefkrde6h72kfvff43r8c63",
57
59
  "isDeleted": false,
58
- "currentDocumentCID": "bafyreiblhw7eeuebukut5p5xenkczuce6t7xu2r3uvzqc2vmk77sn4rmnu",
60
+ "currentDocumentCID": "bafyreiaoinzo2ai4hx56b7244zahnfqmgurcd3rppqbawhv32xzlvct5m4",
59
61
  "length": 2
60
62
  }
61
63
  }
@@ -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": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNyZWRlbnRpYWwiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWJtenZreWJiejR6YmRleWR1YnR0bWhseHUzaDdhejJncXRram56bHF1dzZ1aHB6b2xlY2kifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiREZPU0NyZWRlbnRpYWwiLCJpc3MiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyIiwiYXVkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsImF0dCI6W3sicmVzb3VyY2UiOiJjaGFpbjo5NDN2OHJ6ZHI5ZmRyNHo3N3RmOGRlOGhuM2FmZWQ0IiwiYWN0aW9uIjoid3JpdGUifV0sInByZiI6W10sImV4cCI6MTc5ODc2MTYwMCwiaWF0IjoxNzcyODQxNjAwfQ.anHUQJi-zQ8gzDNHgA4G4qiUVtHYUhW9f6cu1YPeTEpObg6q2bSL7yFrAQc81o-FLsbtiOSMRk-jv_AwAXXkCg",
5
+ "narrowCredential": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmNyZWRlbnRpYWwiLCJraWQiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyI2tleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwiY2lkIjoiYmFmeXJlaWRpbTI1bmd2cWJ6Zm9nem83bnEybXN6N3FzeWp6YjZocWhjeXF3NTRxamk3ZWRzZmNoZHkifQ.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiREZPU0NyZWRlbnRpYWwiLCJpc3MiOiJkaWQ6ZGZvczpjbm5uZnQ5ZjhhMnJuOTM4ZDZua3ozOHI4NDd2MmtyIiwiYXVkIjoiZGlkOmRmb3M6OTRhaDc5NjNuMjIzazhjOTg4NGhoMjdla2g0Mm5lYSIsImF0dCI6W3sicmVzb3VyY2UiOiJjaGFpbjo4bjhmbnpocnJlZmtyZGU2aDcya2Z2ZmY0M3I4YzYzIiwiYWN0aW9uIjoid3JpdGUifV0sInByZiI6W10sImV4cCI6MTc5ODc2MTYwMCwiaWF0IjoxNzcyODQxNjAwfQ.6ODYr-9wVcx2t21o2Lffbhx849pn6iraJSdX0Fond9XBbtV_741xzwiNaZBDklLaid44PvP7TPFsTCFaczqoDQ",
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": "943v8rzdr9fdr4z77tf8de8hn3afed4"
11
+ "narrowContentId": "8n8fnzhrrefkrde6h72kfvff43r8c63"
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
- "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmlkZW50aXR5LW9wIiwia2lkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJjaWQiOiJiYWZ5cmVpYnZxZDdmM2hqMzI3ZG9kbXBseDUzeGh2NHdnZXZiNjNmYWl1ZXF0eW9qNmlyb2x1N25qaSJ9.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiYXV0aEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImFzc2VydEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImNvbnRyb2xsZXJLZXlzIjpbeyJpZCI6ImtleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwidHlwZSI6Ik11bHRpa2V5IiwicHVibGljS2V5TXVsdGliYXNlIjoiejZNa3J6TE1Od29KU1Y0UDNZY2NXY2J0azh2ZDlMdGdNS25MZWFETFVxTHVBU2piIn1dLCJzZXJ2aWNlcyI6W3siaWQiOiJyZWxheSIsInR5cGUiOiJEZm9zUmVsYXkiLCJlbmRwb2ludCI6Imh0dHBzOi8vcmVsYXkuZGZvcy5jb20ifSx7ImlkIjoicHJvZmlsZSIsInR5cGUiOiJDb250ZW50QW5jaG9yIiwibGFiZWwiOiJwcm9maWxlIiwiYW5jaG9yIjoiOTQzdjhyemRyOWZkcjR6Nzd0ZjhkZThobjNhZmVkNCJ9LHsiaWQiOiJhdmF0YXIiLCJ0eXBlIjoiQ29udGVudEFuY2hvciIsImxhYmVsIjoiYXZhdGFyIiwiYW5jaG9yIjoiYmFmeXJlaWhxN2I2d2JwZXhlcHhubW0yNXJzY2RzNXB1bm53M2tuZ2RqM3ZtMmg1d3p1b2lxbHRlcmkifV0sImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDU6MDAuMDAwWiJ9.ORU6Gad1tOiPihC-UN94PlBzccpFz8HbTPLrMmjz87El0MqD4J_61s3BVc-NjY9ARh7gpLZL2hwzwzO-GOl3AQ"
5
+ "eyJhbGciOiJFZERTQSIsInR5cCI6ImRpZDpkZm9zOmlkZW50aXR5LW9wIiwia2lkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJjaWQiOiJiYWZ5cmVpYXNqZzN2cXM0YjN2ZXB3eTVxYzRveTRmNHZwa2NhaG13aTY0anR1ZWk1Y2Y3enFwZHhqeSJ9.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiY3JlYXRlIiwiYXV0aEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImFzc2VydEtleXMiOlt7ImlkIjoia2V5X3I5ZXYzNGZ2YzIzejk5OXZlYWFmdDgzbm4yOXp2aGUiLCJ0eXBlIjoiTXVsdGlrZXkiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rcnpMTU53b0pTVjRQM1ljY1djYnRrOHZkOUx0Z01LbkxlYURMVXFMdUFTamIifV0sImNvbnRyb2xsZXJLZXlzIjpbeyJpZCI6ImtleV9yOWV2MzRmdmMyM3o5OTl2ZWFhZnQ4M25uMjl6dmhlIiwidHlwZSI6Ik11bHRpa2V5IiwicHVibGljS2V5TXVsdGliYXNlIjoiejZNa3J6TE1Od29KU1Y0UDNZY2NXY2J0azh2ZDlMdGdNS25MZWFETFVxTHVBU2piIn1dLCJzZXJ2aWNlcyI6W3siaWQiOiJyZWxheSIsInR5cGUiOiJEZm9zUmVsYXkiLCJlbmRwb2ludCI6Imh0dHBzOi8vcmVsYXkuZGZvcy5jb20ifSx7ImlkIjoicHJvZmlsZSIsInR5cGUiOiJDb250ZW50QW5jaG9yIiwibGFiZWwiOiJwcm9maWxlIiwiYW5jaG9yIjoiOG44Zm56aHJyZWZrcmRlNmg3MmtmdmZmNDNyOGM2MyJ9LHsiaWQiOiJhdmF0YXIiLCJ0eXBlIjoiQ29udGVudEFuY2hvciIsImxhYmVsIjoiYXZhdGFyIiwiYW5jaG9yIjoiYmFmeXJlaWU2eGZrcnR3YXgyZHE1Z2R3M3Jwc3VyejJnbHNkdXh5Y2ZoazdqamxsZXdpd2l2a2thZnUifV0sImNyZWF0ZWRBdCI6IjIwMjYtMDMtMDdUMDA6MDU6MDAuMDAwWiJ9.TPPGB4Yig_AUoxKKXwBAPXLqMDg6XMnbspZcZh0OijfnxXYgOs8EdXq6EiVjLbWeiczrg-uAZAHYpw3shRb5Cw"
6
6
  ],
7
7
  "controllerPublicKey": "z6MkrzLMNwoJSV4P3YccWcbtk8vd9LtgMKnLeaDLUqLuASjb",
8
8
  "expected": {
9
- "did": "did:dfos:4ve48tvhnvzd9zt9n3tctr93afzczvz",
9
+ "did": "did:dfos:krhcznk98f7r2r4a6ktafcv77f7k6e2",
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": "943v8rzdr9fdr4z77tf8de8hn3afed4"
28
+ "anchor": "8n8fnzhrrefkrde6h72kfvff43r8c63"
29
29
  },
30
30
  {
31
31
  "id": "avatar",
32
32
  "type": "ContentAnchor",
33
33
  "label": "avatar",
34
- "anchor": "bafyreihq7b6wbpexepxnmm25rscds5punnw3kngdj3vm2h5wzuoiqlteri"
34
+ "anchor": "bafyreie6xfkrtwax2dq5gdw3rpsurz2glsduxycfhk7jjllewiwivkkafu"
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.20.0",
3
+ "version": "0.22.0",
4
4
  "type": "module",
5
5
  "description": "DFOS Protocol — Ed25519 signed chain primitives, services, credentials, and verification",
6
6
  "license": "MIT",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schemas.dfos.com/post/v1",
4
4
  "title": "Post",
5
- "description": "A post the primary content type in DFOS. Covers short posts, long-form posts, comments, and replies via the format discriminator.",
5
+ "description": "A post \u2014 the primary content type in DFOS. Covers short posts and long-form posts via the format discriminator.",
6
6
  "type": "object",
7
7
  "required": ["$schema", "format"],
8
8
  "properties": {
@@ -11,8 +11,13 @@
11
11
  },
12
12
  "format": {
13
13
  "type": "string",
14
- "enum": ["short-post", "long-post", "comment", "reply"],
15
- "description": "Immutable content format set at creation, never changes. Determines rendering and interaction semantics."
14
+ "enum": ["short-post", "long-post"],
15
+ "description": "Immutable content format \u2014 set at creation, never changes. Determines rendering and interaction semantics. Comments and replies are deliberately NOT post/v1 surface \u2014 threaded content arrives as its own schema (with signed target linkage), not as additional format values."
16
+ },
17
+ "publishedAt": {
18
+ "type": "string",
19
+ "format": "date-time",
20
+ "description": "Asserted original publication time of the content (ISO 8601). Distinct from the operation's createdAt, which records when the operation was signed: a chain anchored after the fact carries the original publication time here while its genesis operation truthfully records the later anchoring time. Assertion-tier like credits \u2014 the operation signer asserts it; the protocol verifies the signer, not the claim. Author-revisable: a later revision may change it (deliberate back-dating or correction) \u2014 the operation log preserves every previously committed value, so re-dating is always auditable."
16
21
  },
17
22
  "title": {
18
23
  "type": "string",
@@ -20,7 +25,7 @@
20
25
  },
21
26
  "body": {
22
27
  "type": "string",
23
- "description": "Post body content. May embed attachment://<id> refs inline; each should have a corresponding attachments entry carrying the verifiable reference."
28
+ "description": "Post body content \u2014 markdown (CommonMark) text. May embed attachment://<id> refs inline; each should have a corresponding attachments entry carrying the verifiable reference."
24
29
  },
25
30
  "cover": {
26
31
  "$ref": "#/$defs/media",
@@ -28,18 +33,17 @@
28
33
  },
29
34
  "attachments": {
30
35
  "type": "array",
31
- "items": { "$ref": "#/$defs/media" },
36
+ "items": {
37
+ "$ref": "#/$defs/media"
38
+ },
32
39
  "description": "Attached media objects."
33
40
  },
34
- "topics": {
35
- "type": "array",
36
- "items": { "type": "string" },
37
- "description": "Topic names this post belongs to. Stored as names for portability."
38
- },
39
41
  "credits": {
40
42
  "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
+ "items": {
44
+ "$ref": "#/$defs/credit"
45
+ },
46
+ "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 \u2014 the operation signer asserts them; a credited DID may upgrade its credit to proof via a claim operation."
43
47
  }
44
48
  },
45
49
  "additionalProperties": false,
@@ -51,17 +55,17 @@
51
55
  "uri": {
52
56
  "type": "string",
53
57
  "format": "uri",
54
- "description": "Canonical reference to the media an attachment://<id> ref (opaque, host-scoped) or any other URI. Always present."
58
+ "description": "Canonical reference to the media \u2014 an attachment://<id> ref (opaque, host-scoped) or any other URI. Always present."
55
59
  },
56
60
  "cid": {
57
61
  "type": "string",
58
62
  "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."
63
+ "description": "Optional content commitment \u2014 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."
60
64
  },
61
65
  "href": {
62
66
  "type": "string",
63
67
  "format": "uri",
64
- "description": "Optional resolution hint a plain URL where the bytes may currently be fetched. Implementation-dependent and non-normative; carries no integrity promise."
68
+ "description": "Optional resolution hint \u2014 a plain URL where the bytes may currently be fetched. Implementation-dependent and non-normative; carries no integrity promise."
65
69
  }
66
70
  },
67
71
  "additionalProperties": false
@@ -77,7 +81,7 @@
77
81
  },
78
82
  "label": {
79
83
  "type": "string",
80
- "description": "Free-text role label display vocabulary, not an enum (e.g. \"author\", \"editor\", \"photography\")."
84
+ "description": "Free-text role label \u2014 display vocabulary, not an enum (e.g. \"author\", \"editor\", \"photography\")."
81
85
  }
82
86
  },
83
87
  "additionalProperties": false