com.publicdomainrelay.temp.market.offering
Schema Diff
+9 -4
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 3 non-breaking changes.
Breaking Changes (1)
- ConstraintAdded ConstraintAdded { vertex_id: "com.publicdomainrelay.temp.market.offering:body.appliesTo:items", sort: "format", value: "nsid" }
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.offering:body.refreshedAt" }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.offering:body", tgt: "com.publicdomainrelay.temp.market.offering:body.refreshedAt", kind: "prop", name: Some("refreshedAt") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "com.publicdomainrelay.temp.market.offering:body.endpointUrl", sort: "format" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.offering:body.refreshedAt" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "com.publicdomainrelay.temp.market.offering:body.appliesTo:items", sort: "format", value: "nsid" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "com.publicdomainrelay.temp.market.offering:body.endpointUrl", sort: "format" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.offering:body", tgt: "com.publicdomainrelay.temp.market.offering:body.refreshedAt", kind: "prop", name: Some("refreshedAt") }
1
1
{
2
2
"id": "com.publicdomainrelay.temp.market.offering",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"endpointUrl",
11
11
"appliesTo",
12
12
"createdAt"
13
13
],
14
14
"properties": {
15
15
"appliesTo": {
16
16
"type": "array",
17
17
"items": {
18
-
"type": "string"
18
+
"type": "string",
19
+
"format": "nsid"
19
20
},
20
21
"minLength": 1,
21
22
"description": "List of payload NSIDs this bidder handles (e.g. com.publicdomainrelay.temp.compute.vm)."
22
23
},
23
24
"createdAt": {
24
25
"type": "string",
25
26
"format": "datetime"
26
27
},
27
28
"endpointUrl": {
28
29
"type": "string",
29
-
"format": "uri",
30
-
"description": "Base URL of the bidder service. POST /xrpc/com.publicdomainrelay.temp.market.submitRfp will be called here."
30
+
"description": "Service DID reference (did:web:HOST#temp_market) of the bidder's market service. RFP issuers call com.publicdomainrelay.temp.market.submitRfp via PDS service-proxying using this value as the atproto-proxy target."
31
+
},
32
+
"refreshedAt": {
33
+
"type": "string",
34
+
"format": "datetime",
35
+
"description": "Last time the bidder re-committed this offering to stay discoverable. Bumped on each periodic refresh; absent on never-refreshed records."
31
36
}
32
37
}
33
38
},
34
-
"description": "Declares that a bidder is willing to submit bids for RFPs whose payload NSID is in appliesTo. The bidder's submitRfp endpoint is given by endpointUrl."
39
+
"description": "Declares that a bidder is willing to submit bids for RFPs whose payload NSID is in appliesTo. The bidder's market service DID reference (for submitRfp via PDS proxying) is given by endpointUrl."
35
40
}
36
41
},
37
42
"$type": "com.atproto.lexicon.schema",
38
43
"lexicon": 1
39
44
}