| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  | __filename__ = "inbox.py" | 
					
						
							|  |  |  | __author__ = "Bob Mottram" | 
					
						
							|  |  |  | __license__ = "AGPL3+" | 
					
						
							| 
									
										
										
										
											2024-12-22 23:37:30 +00:00
										 |  |  | __version__ = "1.6.0" | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  | __maintainer__ = "Bob Mottram" | 
					
						
							| 
									
										
										
										
											2021-09-10 16:14:50 +00:00
										 |  |  | __email__ = "bob@libreserver.org" | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  | __status__ = "Production" | 
					
						
							| 
									
										
										
										
											2021-06-15 15:08:12 +00:00
										 |  |  | __module_group__ = "Security" | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-30 20:30:28 +00:00
										 |  |  | VALID_CONTEXTS = ( | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  |     "https://www.w3.org/ns/activitystreams", | 
					
						
							|  |  |  |     "https://w3id.org/identity/v1", | 
					
						
							|  |  |  |     "https://w3id.org/security/v1", | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  |     "*/apschema/v1.9", | 
					
						
							| 
									
										
										
										
											2022-04-03 19:53:48 +00:00
										 |  |  |     "*/apschema/v1.10", | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  |     "*/apschema/v1.21", | 
					
						
							| 
									
										
										
										
											2021-08-11 13:08:37 +00:00
										 |  |  |     "*/apschema/v1.20", | 
					
						
							| 
									
										
										
										
											2021-02-08 14:13:49 +00:00
										 |  |  |     "*/litepub-0.1.jsonld", | 
					
						
							| 
									
										
										
										
											2024-01-21 10:13:14 +00:00
										 |  |  |     "https://litepub.social/litepub/context.jsonld", | 
					
						
							| 
									
										
										
										
											2024-01-21 10:15:35 +00:00
										 |  |  |     "*/socialweb/webfinger", | 
					
						
							| 
									
										
										
										
											2024-01-21 10:37:03 +00:00
										 |  |  |     "*/socialweb/webfinger.jsonld", | 
					
						
							|  |  |  |     "https://www.w3.org/ns/did/v1", | 
					
						
							|  |  |  |     "https://w3id.org/security/multikey/v1", | 
					
						
							| 
									
										
										
										
											2024-01-21 11:06:05 +00:00
										 |  |  |     "*/vc-data-integrity/contexts/multikey/v1.jsonld", | 
					
						
							|  |  |  |     "https://w3id.org/security/data-integrity/v1", | 
					
						
							| 
									
										
										
										
											2024-06-23 11:19:13 +00:00
										 |  |  |     "*/contexts/data-integrity/v1.jsonld", | 
					
						
							| 
									
										
										
										
											2025-05-04 14:24:00 +00:00
										 |  |  |     "*/ns/privacyHeaders", | 
					
						
							|  |  |  |     "https://w3id.org/fep/*" | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-29 21:55:09 +00:00
										 |  |  | def get_individual_post_context() -> []: | 
					
						
							| 
									
										
										
										
											2021-10-11 09:42:43 +00:00
										 |  |  |     """Returns the context for an individual post
 | 
					
						
							| 
									
										
										
										
											2024-10-07 10:25:58 +00:00
										 |  |  |     https://codeberg.org/fediverse/fep/src/branch/main/fep/76ea/fep-76ea.md | 
					
						
							| 
									
										
										
										
											2021-10-11 09:42:43 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  |     return [ | 
					
						
							|  |  |  |         'https://www.w3.org/ns/activitystreams', | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             "ostatus": "http://ostatus.org#", | 
					
						
							|  |  |  |             "atomUri": "ostatus:atomUri", | 
					
						
							|  |  |  |             "inReplyToAtomUri": "ostatus:inReplyToAtomUri", | 
					
						
							|  |  |  |             "conversation": "ostatus:conversation", | 
					
						
							|  |  |  |             "sensitive": "as:sensitive", | 
					
						
							|  |  |  |             "toot": "http://joinmastodon.org/ns#", | 
					
						
							| 
									
										
										
										
											2021-10-11 17:37:06 +00:00
										 |  |  |             "votersCount": "toot:votersCount", | 
					
						
							| 
									
										
										
										
											2024-10-07 10:25:58 +00:00
										 |  |  |             "blurhash": "toot:blurhash", | 
					
						
							|  |  |  |             "thr": "https://purl.archive.org/socialweb/thread#", | 
					
						
							|  |  |  |             "thread": { | 
					
						
							|  |  |  |                 "@id": "thr:thread", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "root": { | 
					
						
							|  |  |  |                 "@id": "thr:root", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2021-10-11 09:42:43 +00:00
										 |  |  |         } | 
					
						
							|  |  |  |     ] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 16:53:08 +00:00
										 |  |  | def _has_valid_context_str(url: str) -> bool: | 
					
						
							|  |  |  |     """is the @context string of a post recognised?
 | 
					
						
							| 
									
										
										
										
											2024-05-07 12:13:25 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  |     if url not in VALID_CONTEXTS: | 
					
						
							|  |  |  |         wildcard_found = False | 
					
						
							|  |  |  |         for cont in VALID_CONTEXTS: | 
					
						
							|  |  |  |             if cont.startswith('*'): | 
					
						
							| 
									
										
										
										
											2025-05-04 14:24:00 +00:00
										 |  |  |                 cont = cont.replace('*', '', 1) | 
					
						
							| 
									
										
										
										
											2024-05-07 12:13:25 +00:00
										 |  |  |                 if url.endswith(cont): | 
					
						
							|  |  |  |                     wildcard_found = True | 
					
						
							|  |  |  |                     break | 
					
						
							| 
									
										
										
										
											2025-05-04 14:24:00 +00:00
										 |  |  |                 if cont.endswith('*'): | 
					
						
							|  |  |  |                     cont = cont.replace('*', '') | 
					
						
							|  |  |  |                     if cont in url: | 
					
						
							|  |  |  |                         wildcard_found = True | 
					
						
							|  |  |  |                         break | 
					
						
							|  |  |  |             elif cont.endswith('*'): | 
					
						
							|  |  |  |                 cont = cont.replace('*', '') | 
					
						
							|  |  |  |                 if cont in url: | 
					
						
							|  |  |  |                     wildcard_found = True | 
					
						
							|  |  |  |                     break | 
					
						
							| 
									
										
										
										
											2024-05-07 12:13:25 +00:00
										 |  |  |         if not wildcard_found: | 
					
						
							| 
									
										
										
										
											2025-05-04 16:53:08 +00:00
										 |  |  |             print('Unrecognized @context: ' + url) | 
					
						
							| 
									
										
										
										
											2024-05-07 12:13:25 +00:00
										 |  |  |             return False | 
					
						
							|  |  |  |     return True | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 16:53:08 +00:00
										 |  |  | def _has_valid_context_list(post_json_object: {}) -> bool: | 
					
						
							|  |  |  |     """Are the links within the @context of a post recognised?
 | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     context_urls = post_json_object['@context'] | 
					
						
							|  |  |  |     for url in context_urls: | 
					
						
							|  |  |  |         # only examine strings | 
					
						
							|  |  |  |         if not isinstance(url, str): | 
					
						
							|  |  |  |             continue | 
					
						
							|  |  |  |         # wildcard match | 
					
						
							|  |  |  |         if _has_valid_context_str(url): | 
					
						
							|  |  |  |             continue | 
					
						
							|  |  |  |         return False | 
					
						
							|  |  |  |     return True | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-29 21:55:09 +00:00
										 |  |  | def has_valid_context(post_json_object: {}) -> bool: | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  |     """Are the links within the @context of a post recognised?
 | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2021-12-25 22:09:19 +00:00
										 |  |  |     if not post_json_object.get('@context'): | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  |         return False | 
					
						
							| 
									
										
										
										
											2021-12-25 22:09:19 +00:00
										 |  |  |     if isinstance(post_json_object['@context'], list): | 
					
						
							| 
									
										
										
										
											2024-05-07 12:13:25 +00:00
										 |  |  |         return _has_valid_context_list(post_json_object) | 
					
						
							|  |  |  |     if isinstance(post_json_object['@context'], str): | 
					
						
							| 
									
										
										
										
											2025-05-04 16:53:08 +00:00
										 |  |  |         return _has_valid_context_str(post_json_object['@context']) | 
					
						
							| 
									
										
										
										
											2024-05-07 12:13:25 +00:00
										 |  |  |     # not a list or string | 
					
						
							|  |  |  |     return False | 
					
						
							| 
									
										
										
										
											2024-01-21 10:54:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-21 11:06:05 +00:00
										 |  |  | def get_data_integrity_v1_schema() -> {}: | 
					
						
							|  |  |  |     """ https://w3id.org/security/data-integrity/v1
 | 
					
						
							|  |  |  |     */contexts/data-integrity/v1.jsonld | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     proof_purpose_json = { | 
					
						
							|  |  |  |         "@id": "https://w3id.org/security#proofPurpose", | 
					
						
							|  |  |  |         "@type": "@vocab", | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "@protected": True, | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "assertionMethod": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#assertionMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "authentication": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#authenticationMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "capabilityInvocation": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#capabilityInvocationMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "capabilityDelegation": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#capabilityDelegationMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "keyAgreement": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#keyAgreementMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "@protected": True, | 
					
						
							|  |  |  |             "proof": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#proof", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@graph" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "DataIntegrityProof": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#DataIntegrityProof", | 
					
						
							|  |  |  |                 "@context": { | 
					
						
							|  |  |  |                     "@protected": True, | 
					
						
							|  |  |  |                     "id": "@id", | 
					
						
							|  |  |  |                     "type": "@type", | 
					
						
							|  |  |  |                     "challenge": "https://w3id.org/security#challenge", | 
					
						
							|  |  |  |                     "created": { | 
					
						
							|  |  |  |                         "@id": "http://purl.org/dc/terms/created", | 
					
						
							|  |  |  |                         "@type": "http://www.w3.org/2001/XMLSchema#dateTime" | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     "domain": "https://w3id.org/security#domain", | 
					
						
							|  |  |  |                     "expires": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#expiration", | 
					
						
							|  |  |  |                         "@type": "http://www.w3.org/2001/XMLSchema#dateTime" | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     "nonce": "https://w3id.org/security#nonce", | 
					
						
							|  |  |  |                     "proofPurpose": proof_purpose_json, | 
					
						
							|  |  |  |                     "cryptosuite": "https://w3id.org/security#cryptosuite", | 
					
						
							|  |  |  |                     "proofValue": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#proofValue", | 
					
						
							|  |  |  |                         "@type": "https://w3id.org/security#multibase" | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     "verificationMethod": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#verificationMethod", | 
					
						
							|  |  |  |                         "@type": "@id" | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-21 10:54:32 +00:00
										 |  |  | def get_multikey_v1_schema() -> {}: | 
					
						
							|  |  |  |     """ https://w3id.org/security/multikey/v1
 | 
					
						
							|  |  |  |     https://w3c.github.io/vc-data-integrity/contexts/multikey/v1.jsonld | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "@protected": True, | 
					
						
							|  |  |  |             "Multikey": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#Multikey", | 
					
						
							|  |  |  |                 "@context": { | 
					
						
							|  |  |  |                     "@protected": True, | 
					
						
							|  |  |  |                     "id": "@id", | 
					
						
							|  |  |  |                     "type": "@type", | 
					
						
							|  |  |  |                     "controller": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#controller", | 
					
						
							|  |  |  |                         "@type": "@id" | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     "revoked": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#revoked", | 
					
						
							|  |  |  |                         "@type": "http://www.w3.org/2001/XMLSchema#dateTime" | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     "expires": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#expiration", | 
					
						
							|  |  |  |                         "@type": "http://www.w3.org/2001/XMLSchema#dateTime" | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     "publicKeyMultibase": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#publicKeyMultibase", | 
					
						
							|  |  |  |                         "@type": "https://w3id.org/security#multibase" | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     "secretKeyMultibase": { | 
					
						
							|  |  |  |                         "@id": "https://w3id.org/security#secretKeyMultibase", | 
					
						
							|  |  |  |                         "@type": "https://w3id.org/security#multibase" | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-21 10:45:42 +00:00
										 |  |  | def get_did_v1_schema() -> {}: | 
					
						
							|  |  |  |     # https://www.w3.org/ns/did/v1 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "@protected": True, | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "alsoKnownAs": { | 
					
						
							|  |  |  |                 "@id": "https://www.w3.org/ns/activitystreams#alsoKnownAs", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "assertionMethod": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#assertionMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "authentication": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#authenticationMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "capabilityDelegation": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#capabilityDelegationMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "capabilityInvocation": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#capabilityInvocationMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "controller": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#controller", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "keyAgreement": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#keyAgreementMethod", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@set" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "service": { | 
					
						
							|  |  |  |                 "@id": "https://www.w3.org/ns/did#service", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@context": { | 
					
						
							|  |  |  |                     "@protected": True, | 
					
						
							|  |  |  |                     "id": "@id", | 
					
						
							|  |  |  |                     "type": "@type", | 
					
						
							|  |  |  |                     "serviceEndpoint": { | 
					
						
							|  |  |  |                         "@id": "https://www.w3.org/ns/did#serviceEndpoint", | 
					
						
							|  |  |  |                         "@type": "@id" | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "verificationMethod": { | 
					
						
							|  |  |  |                 "@id": "https://w3id.org/security#verificationMethod", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-10 14:21:54 +00:00
										 |  |  | def getApschemaV1_9() -> {}: | 
					
						
							|  |  |  |     # https://domain/apschema/v1.9 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "zot": "https://hub.disroot.org/apschema#", | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "commentPolicy": "as:commentPolicy", | 
					
						
							|  |  |  |             "meData": "zot:meData", | 
					
						
							|  |  |  |             "meDataType": "zot:meDataType", | 
					
						
							|  |  |  |             "meEncoding": "zot:meEncoding", | 
					
						
							|  |  |  |             "meAlgorithm": "zot:meAlgorithm", | 
					
						
							|  |  |  |             "meCreator": "zot:meCreator", | 
					
						
							|  |  |  |             "meSignatureValue": "zot:meSignatureValue", | 
					
						
							|  |  |  |             "locationAddress": "zot:locationAddress", | 
					
						
							|  |  |  |             "locationPrimary": "zot:locationPrimary", | 
					
						
							|  |  |  |             "locationDeleted": "zot:locationDeleted", | 
					
						
							|  |  |  |             "nomadicLocation": "zot:nomadicLocation", | 
					
						
							|  |  |  |             "nomadicHubs": "zot:nomadicHubs", | 
					
						
							|  |  |  |             "emojiReaction": "zot:emojiReaction", | 
					
						
							|  |  |  |             "expires": "zot:expires", | 
					
						
							|  |  |  |             "directMessage": "zot:directMessage", | 
					
						
							|  |  |  |             "schema": "http://schema.org#", | 
					
						
							|  |  |  |             "PropertyValue": "schema:PropertyValue", | 
					
						
							|  |  |  |             "value": "schema:value", | 
					
						
							|  |  |  |             "magicEnv": { | 
					
						
							|  |  |  |                 "@id": "zot:magicEnv", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "nomadicLocations": { | 
					
						
							|  |  |  |                 "@id": "zot:nomadicLocations", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "ostatus": "http://ostatus.org#", | 
					
						
							|  |  |  |             "conversation": "ostatus:conversation", | 
					
						
							|  |  |  |             "diaspora": "https://diasporafoundation.org/ns/", | 
					
						
							|  |  |  |             "guid": "diaspora:guid", | 
					
						
							|  |  |  |             "Hashtag": "as:Hashtag" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-11 13:08:37 +00:00
										 |  |  | def getApschemaV1_20() -> {}: | 
					
						
							|  |  |  |     # https://domain/apschema/v1.20 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             "as": "https://www.w3.org/ns/activitystreams#", | 
					
						
							|  |  |  |             "zot": "https://zap.dog/apschema#", | 
					
						
							|  |  |  |             "toot": "http://joinmastodon.org/ns#", | 
					
						
							|  |  |  |             "ostatus": "http://ostatus.org#", | 
					
						
							|  |  |  |             "schema": "http://schema.org#", | 
					
						
							|  |  |  |             "litepub": "http://litepub.social/ns#", | 
					
						
							|  |  |  |             "sm": "http://smithereen.software/ns#", | 
					
						
							|  |  |  |             "conversation": "ostatus:conversation", | 
					
						
							|  |  |  |             "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", | 
					
						
							|  |  |  |             "oauthRegistrationEndpoint": "litepub:oauthRegistrationEndpoint", | 
					
						
							|  |  |  |             "sensitive": "as:sensitive", | 
					
						
							|  |  |  |             "movedTo": "as:movedTo", | 
					
						
							|  |  |  |             "copiedTo": "as:copiedTo", | 
					
						
							|  |  |  |             "alsoKnownAs": "as:alsoKnownAs", | 
					
						
							|  |  |  |             "inheritPrivacy": "as:inheritPrivacy", | 
					
						
							|  |  |  |             "EmojiReact": "as:EmojiReact", | 
					
						
							|  |  |  |             "commentPolicy": "zot:commentPolicy", | 
					
						
							|  |  |  |             "topicalCollection": "zot:topicalCollection", | 
					
						
							|  |  |  |             "eventRepeat": "zot:eventRepeat", | 
					
						
							|  |  |  |             "emojiReaction": "zot:emojiReaction", | 
					
						
							|  |  |  |             "expires": "zot:expires", | 
					
						
							|  |  |  |             "directMessage": "zot:directMessage", | 
					
						
							|  |  |  |             "Category": "zot:Category", | 
					
						
							|  |  |  |             "replyTo": "zot:replyTo", | 
					
						
							|  |  |  |             "PropertyValue": "schema:PropertyValue", | 
					
						
							|  |  |  |             "value": "schema:value", | 
					
						
							|  |  |  |             "discoverable": "toot:discoverable", | 
					
						
							|  |  |  |             "wall": "sm:wall" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-21 10:45:42 +00:00
										 |  |  | def get_webfinger_schema() -> {}: | 
					
						
							| 
									
										
										
										
											2024-01-21 10:37:03 +00:00
										 |  |  |     # https://domain/socialweb/webfinger.jsonld | 
					
						
							|  |  |  |     # https://domain/socialweb/webfinger | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "wf": "https://purl.archive.org/socialweb/webfinger#", | 
					
						
							|  |  |  |             "xsd": "http://www.w3.org/2001/XMLSchema#", | 
					
						
							|  |  |  |             "webfinger": { | 
					
						
							|  |  |  |                 "@id": "wf:webfinger", | 
					
						
							|  |  |  |                 "@type": "xsd:string" | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-03 19:53:48 +00:00
										 |  |  | def getApschemaV1_10() -> {}: | 
					
						
							|  |  |  |     # https://domain/apschema/v1.10 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         '@context': { | 
					
						
							|  |  |  |             'Hashtag': 'as:Hashtag', | 
					
						
							|  |  |  |             'PropertyValue': 'schema:PropertyValue', | 
					
						
							|  |  |  |             'commentPolicy': 'zot:commentPolicy', | 
					
						
							|  |  |  |             'conversation': 'ostatus:conversation', | 
					
						
							|  |  |  |             'diaspora': 'https://diasporafoundation.org/ns/', | 
					
						
							|  |  |  |             'directMessage': 'zot:directMessage', | 
					
						
							|  |  |  |             'emojiReaction': 'zot:emojiReaction', | 
					
						
							|  |  |  |             'expires': 'zot:expires', | 
					
						
							|  |  |  |             'guid': 'diaspora:guid', | 
					
						
							|  |  |  |             'id': '@id', | 
					
						
							|  |  |  |             'locationAddress': 'zot:locationAddress', | 
					
						
							|  |  |  |             'locationDeleted': 'zot:locationDeleted', | 
					
						
							|  |  |  |             'locationPrimary': 'zot:locationPrimary', | 
					
						
							|  |  |  |             'magicEnv': {'@id': 'zot:magicEnv', '@type': '@id'}, | 
					
						
							|  |  |  |             'manuallyApprovesFollowers': 'as:manuallyApprovesFollowers', | 
					
						
							|  |  |  |             'meAlgorithm': 'zot:meAlgorithm', | 
					
						
							|  |  |  |             'meCreator': 'zot:meCreator', | 
					
						
							|  |  |  |             'meData': 'zot:meData', | 
					
						
							|  |  |  |             'meDataType': 'zot:meDataType', | 
					
						
							|  |  |  |             'meEncoding': 'zot:meEncoding', | 
					
						
							|  |  |  |             'meSignatureValue': 'zot:meSignatureValue', | 
					
						
							|  |  |  |             'nomadicHubs': 'zot:nomadicHubs', | 
					
						
							|  |  |  |             'nomadicLocation': 'zot:nomadicLocation', | 
					
						
							|  |  |  |             'nomadicLocations': {'@id': 'zot:nomadicLocations', | 
					
						
							|  |  |  |                                  '@type': '@id'}, | 
					
						
							|  |  |  |             'ostatus': 'http://ostatus.org#', | 
					
						
							|  |  |  |             'schema': 'http://schema.org#', | 
					
						
							|  |  |  |             'type': '@type', | 
					
						
							|  |  |  |             'value': 'schema:value', | 
					
						
							|  |  |  |             'zot': 'https://hubzilla.vikshepa.com/apschema#' | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  | def getApschemaV1_21() -> {}: | 
					
						
							| 
									
										
										
										
											2021-01-10 14:14:40 +00:00
										 |  |  |     # https://domain/apschema/v1.21 | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "zot": "https://raitisoja.com/apschema#", | 
					
						
							|  |  |  |             "as": "https://www.w3.org/ns/activitystreams#", | 
					
						
							|  |  |  |             "toot": "http://joinmastodon.org/ns#", | 
					
						
							|  |  |  |             "ostatus": "http://ostatus.org#", | 
					
						
							|  |  |  |             "schema": "http://schema.org#", | 
					
						
							|  |  |  |             "conversation": "ostatus:conversation", | 
					
						
							|  |  |  |             "sensitive": "as:sensitive", | 
					
						
							|  |  |  |             "movedTo": "as:movedTo", | 
					
						
							|  |  |  |             "copiedTo": "as:copiedTo", | 
					
						
							|  |  |  |             "alsoKnownAs": "as:alsoKnownAs", | 
					
						
							|  |  |  |             "inheritPrivacy": "as:inheritPrivacy", | 
					
						
							|  |  |  |             "EmojiReact": "as:EmojiReact", | 
					
						
							|  |  |  |             "commentPolicy": "zot:commentPolicy", | 
					
						
							|  |  |  |             "topicalCollection": "zot:topicalCollection", | 
					
						
							|  |  |  |             "eventRepeat": "zot:eventRepeat", | 
					
						
							|  |  |  |             "emojiReaction": "zot:emojiReaction", | 
					
						
							|  |  |  |             "expires": "zot:expires", | 
					
						
							|  |  |  |             "directMessage": "zot:directMessage", | 
					
						
							|  |  |  |             "Category": "zot:Category", | 
					
						
							|  |  |  |             "replyTo": "zot:replyTo", | 
					
						
							|  |  |  |             "PropertyValue": "schema:PropertyValue", | 
					
						
							|  |  |  |             "value": "schema:value", | 
					
						
							|  |  |  |             "discoverable": "toot:discoverable" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-29 21:55:09 +00:00
										 |  |  | def get_litepub_social() -> {}: | 
					
						
							| 
									
										
										
										
											2021-02-08 14:13:49 +00:00
										 |  |  |     # https://litepub.social/litepub/context.jsonld | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         '@context': [ | 
					
						
							|  |  |  |             'https://www.w3.org/ns/activitystreams', | 
					
						
							|  |  |  |             'https://w3id.org/security/v1', | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 'Emoji': 'toot:Emoji', | 
					
						
							|  |  |  |                 'Hashtag': 'as:Hashtag', | 
					
						
							|  |  |  |                 'PropertyValue': 'schema:PropertyValue', | 
					
						
							|  |  |  |                 'atomUri': 'ostatus:atomUri', | 
					
						
							|  |  |  |                 'conversation': { | 
					
						
							|  |  |  |                     '@id': 'ostatus:conversation', | 
					
						
							|  |  |  |                     '@type': '@id' | 
					
						
							|  |  |  |                 }, | 
					
						
							|  |  |  |                 'manuallyApprovesFollowers': 'as:manuallyApprovesFollowers', | 
					
						
							|  |  |  |                 'ostatus': 'http://ostatus.org#', | 
					
						
							|  |  |  |                 'schema': 'http://schema.org', | 
					
						
							|  |  |  |                 'sensitive': 'as:sensitive', | 
					
						
							|  |  |  |                 'toot': 'http://joinmastodon.org/ns#', | 
					
						
							|  |  |  |                 'totalItems': 'as:totalItems', | 
					
						
							|  |  |  |                 'value': 'schema:value' | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  | def getLitepubV0_1() -> {}: | 
					
						
							|  |  |  |     # https://domain/schemas/litepub-0.1.jsonld | 
					
						
							|  |  |  |     return { | 
					
						
							| 
									
										
										
										
											2023-07-08 17:38:51 +00:00
										 |  |  |         '@context': [ | 
					
						
							|  |  |  |             'https://www.w3.org/ns/activitystreams', | 
					
						
							|  |  |  |             'https://w3id.org/security/v1', | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  |             { | 
					
						
							| 
									
										
										
										
											2023-07-08 17:38:51 +00:00
										 |  |  |                 'ChatMessage': 'litepub:ChatMessage', | 
					
						
							|  |  |  |                 'Emoji': 'toot:Emoji', | 
					
						
							|  |  |  |                 'EmojiReact': 'litepub:EmojiReact', | 
					
						
							|  |  |  |                 'Hashtag': 'as:Hashtag', | 
					
						
							|  |  |  |                 'PropertyValue': 'schema:PropertyValue', | 
					
						
							|  |  |  |                 'alsoKnownAs': { | 
					
						
							|  |  |  |                     '@id': 'as:alsoKnownAs', | 
					
						
							|  |  |  |                     '@type': '@id' | 
					
						
							|  |  |  |                 }, | 
					
						
							|  |  |  |                 'atomUri': 'ostatus:atomUri', | 
					
						
							|  |  |  |                 'capabilities': 'litepub:capabilities', | 
					
						
							|  |  |  |                 'contentMap': { | 
					
						
							|  |  |  |                     '@container': '@language', | 
					
						
							|  |  |  |                     '@id': 'as:content' | 
					
						
							|  |  |  |                 }, | 
					
						
							|  |  |  |                 'conversation': { | 
					
						
							|  |  |  |                     '@id': 'ostatus:conversation', | 
					
						
							|  |  |  |                     '@type': '@id' | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  |                 }, | 
					
						
							| 
									
										
										
										
											2023-07-08 17:38:51 +00:00
										 |  |  |                 'directMessage': 'litepub:directMessage', | 
					
						
							|  |  |  |                 'discoverable': 'toot:discoverable', | 
					
						
							|  |  |  |                 'fedibird': 'http://fedibird.com/ns#', | 
					
						
							|  |  |  |                 'formerRepresentations': 'litepub:formerRepresentations', | 
					
						
							|  |  |  |                 'invisible': 'litepub:invisible', | 
					
						
							|  |  |  |                 'listMessage': { | 
					
						
							|  |  |  |                     '@id': 'litepub:listMessage', | 
					
						
							|  |  |  |                     '@type': '@id' | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  |                 }, | 
					
						
							| 
									
										
										
										
											2023-07-08 17:38:51 +00:00
										 |  |  |                 'litepub': 'http://litepub.social/ns#', | 
					
						
							|  |  |  |                 'manuallyApprovesFollowers': 'as:manuallyApprovesFollowers', | 
					
						
							|  |  |  |                 'misskey': 'https://misskey-hub.net/ns#', | 
					
						
							|  |  |  |                 'oauthRegistrationEndpoint': { | 
					
						
							|  |  |  |                     '@id': 'litepub:oauthRegistrationEndpoint', | 
					
						
							|  |  |  |                     '@type': '@id' | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  |                 }, | 
					
						
							| 
									
										
										
										
											2023-07-08 17:38:51 +00:00
										 |  |  |                 'ostatus': 'http://ostatus.org#', | 
					
						
							|  |  |  |                 'quoteUri': 'fedibird:quoteUri', | 
					
						
							|  |  |  |                 'quoteUrl': 'as:quoteUrl', | 
					
						
							|  |  |  |                 'schema': 'http://schema.org#', | 
					
						
							|  |  |  |                 'sensitive': 'as:sensitive', | 
					
						
							|  |  |  |                 'toot': 'http://joinmastodon.org/ns#', | 
					
						
							|  |  |  |                 'value': 'schema:value', | 
					
						
							|  |  |  |                 'vcard': 'http://www.w3.org/2006/vcard/ns#'} | 
					
						
							| 
									
										
										
										
											2021-01-10 14:49:40 +00:00
										 |  |  |         ] | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-29 21:55:09 +00:00
										 |  |  | def get_v1security_schema() -> {}: | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  |     # https://w3id.org/security/v1 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "dc": "http://purl.org/dc/terms/", | 
					
						
							|  |  |  |             "sec": "https://w3id.org/security#", | 
					
						
							|  |  |  |             "xsd": "http://www.w3.org/2001/XMLSchema#", | 
					
						
							|  |  |  |             "EcdsaKoblitzSignature2016": "sec:EcdsaKoblitzSignature2016", | 
					
						
							|  |  |  |             "Ed25519Signature2018": "sec:Ed25519Signature2018", | 
					
						
							|  |  |  |             "EncryptedMessage": "sec:EncryptedMessage", | 
					
						
							|  |  |  |             "GraphSignature2012": "sec:GraphSignature2012", | 
					
						
							|  |  |  |             "LinkedDataSignature2015": "sec:LinkedDataSignature2015", | 
					
						
							|  |  |  |             "LinkedDataSignature2016": "sec:LinkedDataSignature2016", | 
					
						
							|  |  |  |             "CryptographicKey": "sec:Key", | 
					
						
							|  |  |  |             "authenticationTag": "sec:authenticationTag", | 
					
						
							|  |  |  |             "canonicalizationAlgorithm": "sec:canonicalizationAlgorithm", | 
					
						
							|  |  |  |             "cipherAlgorithm": "sec:cipherAlgorithm", | 
					
						
							|  |  |  |             "cipherData": "sec:cipherData", | 
					
						
							|  |  |  |             "cipherKey": "sec:cipherKey", | 
					
						
							|  |  |  |             "created": {"@id": "dc:created", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "creator": {"@id": "dc:creator", "@type": "@id"}, | 
					
						
							|  |  |  |             "digestAlgorithm": "sec:digestAlgorithm", | 
					
						
							|  |  |  |             "digestValue": "sec:digestValue", | 
					
						
							|  |  |  |             "domain": "sec:domain", | 
					
						
							|  |  |  |             "encryptionKey": "sec:encryptionKey", | 
					
						
							|  |  |  |             "expiration": {"@id": "sec:expiration", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "expires": {"@id": "sec:expiration", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "initializationVector": "sec:initializationVector", | 
					
						
							|  |  |  |             "iterationCount": "sec:iterationCount", | 
					
						
							|  |  |  |             "nonce": "sec:nonce", | 
					
						
							|  |  |  |             "normalizationAlgorithm": "sec:normalizationAlgorithm", | 
					
						
							|  |  |  |             "owner": {"@id": "sec:owner", "@type": "@id"}, | 
					
						
							|  |  |  |             "password": "sec:password", | 
					
						
							|  |  |  |             "privateKey": {"@id": "sec:privateKey", "@type": "@id"}, | 
					
						
							|  |  |  |             "privateKeyPem": "sec:privateKeyPem", | 
					
						
							|  |  |  |             "publicKey": {"@id": "sec:publicKey", "@type": "@id"}, | 
					
						
							|  |  |  |             "publicKeyBase58": "sec:publicKeyBase58", | 
					
						
							|  |  |  |             "publicKeyPem": "sec:publicKeyPem", | 
					
						
							|  |  |  |             "publicKeyWif": "sec:publicKeyWif", | 
					
						
							|  |  |  |             "publicKeyService": { | 
					
						
							|  |  |  |                 "@id": "sec:publicKeyService", "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "revoked": {"@id": "sec:revoked", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "salt": "sec:salt", | 
					
						
							|  |  |  |             "signature": "sec:signature", | 
					
						
							|  |  |  |             "signatureAlgorithm": "sec:signingAlgorithm", | 
					
						
							|  |  |  |             "signatureValue": "sec:signatureValue" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-29 21:55:09 +00:00
										 |  |  | def get_v1schema() -> {}: | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  |     # https://w3id.org/identity/v1 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "cred": "https://w3id.org/credentials#", | 
					
						
							|  |  |  |             "dc": "http://purl.org/dc/terms/", | 
					
						
							|  |  |  |             "identity": "https://w3id.org/identity#", | 
					
						
							|  |  |  |             "perm": "https://w3id.org/permissions#", | 
					
						
							|  |  |  |             "ps": "https://w3id.org/payswarm#", | 
					
						
							|  |  |  |             "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", | 
					
						
							|  |  |  |             "rdfs": "http://www.w3.org/2000/01/rdf-schema#", | 
					
						
							|  |  |  |             "sec": "https://w3id.org/security#", | 
					
						
							|  |  |  |             "schema": "http://schema.org/", | 
					
						
							|  |  |  |             "xsd": "http://www.w3.org/2001/XMLSchema#", | 
					
						
							|  |  |  |             "Group": "https://www.w3.org/ns/activitystreams#Group", | 
					
						
							|  |  |  |             "claim": {"@id": "cred:claim", "@type": "@id"}, | 
					
						
							|  |  |  |             "credential": {"@id": "cred:credential", "@type": "@id"}, | 
					
						
							|  |  |  |             "issued": {"@id": "cred:issued", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "issuer": {"@id": "cred:issuer", "@type": "@id"}, | 
					
						
							|  |  |  |             "recipient": {"@id": "cred:recipient", "@type": "@id"}, | 
					
						
							|  |  |  |             "Credential": "cred:Credential", | 
					
						
							|  |  |  |             "CryptographicKeyCredential": "cred:CryptographicKeyCredential", | 
					
						
							|  |  |  |             "about": {"@id": "schema:about", "@type": "@id"}, | 
					
						
							|  |  |  |             "address": {"@id": "schema:address", "@type": "@id"}, | 
					
						
							|  |  |  |             "addressCountry": "schema:addressCountry", | 
					
						
							|  |  |  |             "addressLocality": "schema:addressLocality", | 
					
						
							|  |  |  |             "addressRegion": "schema:addressRegion", | 
					
						
							|  |  |  |             "comment": "rdfs:comment", | 
					
						
							|  |  |  |             "created": {"@id": "dc:created", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "creator": {"@id": "dc:creator", "@type": "@id"}, | 
					
						
							|  |  |  |             "description": "schema:description", | 
					
						
							|  |  |  |             "email": "schema:email", | 
					
						
							|  |  |  |             "familyName": "schema:familyName", | 
					
						
							|  |  |  |             "givenName": "schema:givenName", | 
					
						
							|  |  |  |             "image": {"@id": "schema:image", "@type": "@id"}, | 
					
						
							|  |  |  |             "label": "rdfs:label", | 
					
						
							|  |  |  |             "name": "schema:name", | 
					
						
							|  |  |  |             "postalCode": "schema:postalCode", | 
					
						
							|  |  |  |             "streetAddress": "schema:streetAddress", | 
					
						
							|  |  |  |             "title": "dc:title", | 
					
						
							|  |  |  |             "url": {"@id": "schema:url", "@type": "@id"}, | 
					
						
							|  |  |  |             "Person": "schema:Person", | 
					
						
							|  |  |  |             "PostalAddress": "schema:PostalAddress", | 
					
						
							|  |  |  |             "Organization": "schema:Organization", | 
					
						
							|  |  |  |             "identityService": { | 
					
						
							|  |  |  |                 "@id": "identity:identityService", "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "idp": {"@id": "identity:idp", "@type": "@id"}, | 
					
						
							|  |  |  |             "Identity": "identity:Identity", | 
					
						
							|  |  |  |             "paymentProcessor": "ps:processor", | 
					
						
							|  |  |  |             "preferences": {"@id": "ps:preferences", "@type": "@vocab"}, | 
					
						
							|  |  |  |             "cipherAlgorithm": "sec:cipherAlgorithm", | 
					
						
							|  |  |  |             "cipherData": "sec:cipherData", | 
					
						
							|  |  |  |             "cipherKey": "sec:cipherKey", | 
					
						
							|  |  |  |             "digestAlgorithm": "sec:digestAlgorithm", | 
					
						
							|  |  |  |             "digestValue": "sec:digestValue", | 
					
						
							|  |  |  |             "domain": "sec:domain", | 
					
						
							|  |  |  |             "expires": {"@id": "sec:expiration", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "initializationVector": "sec:initializationVector", | 
					
						
							|  |  |  |             "member": {"@id": "schema:member", "@type": "@id"}, | 
					
						
							|  |  |  |             "memberOf": {"@id": "schema:memberOf", "@type": "@id"}, | 
					
						
							|  |  |  |             "nonce": "sec:nonce", | 
					
						
							|  |  |  |             "normalizationAlgorithm": "sec:normalizationAlgorithm", | 
					
						
							|  |  |  |             "owner": {"@id": "sec:owner", "@type": "@id"}, | 
					
						
							|  |  |  |             "password": "sec:password", | 
					
						
							|  |  |  |             "privateKey": {"@id": "sec:privateKey", "@type": "@id"}, | 
					
						
							|  |  |  |             "privateKeyPem": "sec:privateKeyPem", | 
					
						
							|  |  |  |             "publicKey": {"@id": "sec:publicKey", "@type": "@id"}, | 
					
						
							|  |  |  |             "publicKeyPem": "sec:publicKeyPem", | 
					
						
							|  |  |  |             "publicKeyService": { | 
					
						
							|  |  |  |                 "@id": "sec:publicKeyService", "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "revoked": {"@id": "sec:revoked", "@type": "xsd:dateTime"}, | 
					
						
							|  |  |  |             "signature": "sec:signature", | 
					
						
							|  |  |  |             "signatureAlgorithm": "sec:signatureAlgorithm", | 
					
						
							|  |  |  |             "signatureValue": "sec:signatureValue", | 
					
						
							|  |  |  |             "CryptographicKey": "sec:Key", | 
					
						
							|  |  |  |             "EncryptedMessage": "sec:EncryptedMessage", | 
					
						
							|  |  |  |             "GraphSignature2012": "sec:GraphSignature2012", | 
					
						
							|  |  |  |             "LinkedDataSignature2015": "sec:LinkedDataSignature2015", | 
					
						
							|  |  |  |             "accessControl": {"@id": "perm:accessControl", "@type": "@id"}, | 
					
						
							|  |  |  |             "writePermission": {"@id": "perm:writePermission", "@type": "@id"} | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-29 21:55:09 +00:00
										 |  |  | def get_activitystreams_schema() -> {}: | 
					
						
							| 
									
										
										
										
											2021-01-05 20:11:16 +00:00
										 |  |  |     # https://www.w3.org/ns/activitystreams | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |         "@context": { | 
					
						
							|  |  |  |             "@vocab": "_:", | 
					
						
							|  |  |  |             "xsd": "http://www.w3.org/2001/XMLSchema#", | 
					
						
							|  |  |  |             "as": "https://www.w3.org/ns/activitystreams#", | 
					
						
							|  |  |  |             "ldp": "http://www.w3.org/ns/ldp#", | 
					
						
							|  |  |  |             "vcard": "http://www.w3.org/2006/vcard/ns#", | 
					
						
							|  |  |  |             "id": "@id", | 
					
						
							|  |  |  |             "type": "@type", | 
					
						
							|  |  |  |             "Accept": "as:Accept", | 
					
						
							|  |  |  |             "Activity": "as:Activity", | 
					
						
							|  |  |  |             "IntransitiveActivity": "as:IntransitiveActivity", | 
					
						
							|  |  |  |             "Add": "as:Add", | 
					
						
							|  |  |  |             "Announce": "as:Announce", | 
					
						
							|  |  |  |             "Application": "as:Application", | 
					
						
							|  |  |  |             "Arrive": "as:Arrive", | 
					
						
							|  |  |  |             "Article": "as:Article", | 
					
						
							|  |  |  |             "Audio": "as:Audio", | 
					
						
							|  |  |  |             "Block": "as:Block", | 
					
						
							|  |  |  |             "Collection": "as:Collection", | 
					
						
							|  |  |  |             "CollectionPage": "as:CollectionPage", | 
					
						
							|  |  |  |             "Relationship": "as:Relationship", | 
					
						
							|  |  |  |             "Create": "as:Create", | 
					
						
							|  |  |  |             "Delete": "as:Delete", | 
					
						
							|  |  |  |             "Dislike": "as:Dislike", | 
					
						
							|  |  |  |             "Document": "as:Document", | 
					
						
							|  |  |  |             "Event": "as:Event", | 
					
						
							|  |  |  |             "Follow": "as:Follow", | 
					
						
							|  |  |  |             "Flag": "as:Flag", | 
					
						
							|  |  |  |             "Group": "as:Group", | 
					
						
							|  |  |  |             "Ignore": "as:Ignore", | 
					
						
							|  |  |  |             "Image": "as:Image", | 
					
						
							|  |  |  |             "Invite": "as:Invite", | 
					
						
							|  |  |  |             "Join": "as:Join", | 
					
						
							|  |  |  |             "Leave": "as:Leave", | 
					
						
							|  |  |  |             "Like": "as:Like", | 
					
						
							|  |  |  |             "Link": "as:Link", | 
					
						
							|  |  |  |             "Mention": "as:Mention", | 
					
						
							|  |  |  |             "Note": "as:Note", | 
					
						
							|  |  |  |             "Object": "as:Object", | 
					
						
							|  |  |  |             "Offer": "as:Offer", | 
					
						
							|  |  |  |             "OrderedCollection": "as:OrderedCollection", | 
					
						
							|  |  |  |             "OrderedCollectionPage": "as:OrderedCollectionPage", | 
					
						
							|  |  |  |             "Organization": "as:Organization", | 
					
						
							|  |  |  |             "Page": "as:Page", | 
					
						
							|  |  |  |             "Person": "as:Person", | 
					
						
							|  |  |  |             "Place": "as:Place", | 
					
						
							|  |  |  |             "Profile": "as:Profile", | 
					
						
							|  |  |  |             "Question": "as:Question", | 
					
						
							|  |  |  |             "Reject": "as:Reject", | 
					
						
							|  |  |  |             "Remove": "as:Remove", | 
					
						
							|  |  |  |             "Service": "as:Service", | 
					
						
							|  |  |  |             "TentativeAccept": "as:TentativeAccept", | 
					
						
							|  |  |  |             "TentativeReject": "as:TentativeReject", | 
					
						
							|  |  |  |             "Tombstone": "as:Tombstone", | 
					
						
							|  |  |  |             "Undo": "as:Undo", | 
					
						
							|  |  |  |             "Update": "as:Update", | 
					
						
							|  |  |  |             "Video": "as:Video", | 
					
						
							|  |  |  |             "View": "as:View", | 
					
						
							|  |  |  |             "Listen": "as:Listen", | 
					
						
							|  |  |  |             "Read": "as:Read", | 
					
						
							|  |  |  |             "Move": "as:Move", | 
					
						
							|  |  |  |             "Travel": "as:Travel", | 
					
						
							|  |  |  |             "IsFollowing": "as:IsFollowing", | 
					
						
							|  |  |  |             "IsFollowedBy": "as:IsFollowedBy", | 
					
						
							|  |  |  |             "IsContact": "as:IsContact", | 
					
						
							|  |  |  |             "IsMember": "as:IsMember", | 
					
						
							|  |  |  |             "subject": { | 
					
						
							|  |  |  |                 "@id": "as:subject", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "relationship": { | 
					
						
							|  |  |  |                 "@id": "as:relationship", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "actor": { | 
					
						
							|  |  |  |                 "@id": "as:actor", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "attributedTo": { | 
					
						
							|  |  |  |                 "@id": "as:attributedTo", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "attachment": { | 
					
						
							|  |  |  |                 "@id": "as:attachment", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "bcc": { | 
					
						
							|  |  |  |                 "@id": "as:bcc", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "bto": { | 
					
						
							|  |  |  |                 "@id": "as:bto", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "cc": { | 
					
						
							|  |  |  |                 "@id": "as:cc", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "context": { | 
					
						
							|  |  |  |                 "@id": "as:context", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "current": { | 
					
						
							|  |  |  |                 "@id": "as:current", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "first": { | 
					
						
							|  |  |  |                 "@id": "as:first", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "generator": { | 
					
						
							|  |  |  |                 "@id": "as:generator", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "icon": { | 
					
						
							|  |  |  |                 "@id": "as:icon", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "image": { | 
					
						
							|  |  |  |                 "@id": "as:image", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "inReplyTo": { | 
					
						
							|  |  |  |                 "@id": "as:inReplyTo", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "items": { | 
					
						
							|  |  |  |                 "@id": "as:items", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "instrument": { | 
					
						
							|  |  |  |                 "@id": "as:instrument", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "orderedItems": { | 
					
						
							|  |  |  |                 "@id": "as:items", | 
					
						
							|  |  |  |                 "@type": "@id", | 
					
						
							|  |  |  |                 "@container": "@list" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "last": { | 
					
						
							|  |  |  |                 "@id": "as:last", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "location": { | 
					
						
							|  |  |  |                 "@id": "as:location", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "next": { | 
					
						
							|  |  |  |                 "@id": "as:next", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "object": { | 
					
						
							|  |  |  |                 "@id": "as:object", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "oneOf": { | 
					
						
							|  |  |  |                 "@id": "as:oneOf", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "anyOf": { | 
					
						
							|  |  |  |                 "@id": "as:anyOf", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "closed": { | 
					
						
							|  |  |  |                 "@id": "as:closed", | 
					
						
							|  |  |  |                 "@type": "xsd:dateTime" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "origin": { | 
					
						
							|  |  |  |                 "@id": "as:origin", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "accuracy": { | 
					
						
							|  |  |  |                 "@id": "as:accuracy", | 
					
						
							|  |  |  |                 "@type": "xsd:float" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "prev": { | 
					
						
							|  |  |  |                 "@id": "as:prev", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "preview": { | 
					
						
							|  |  |  |                 "@id": "as:preview", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "replies": { | 
					
						
							|  |  |  |                 "@id": "as:replies", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "result": { | 
					
						
							|  |  |  |                 "@id": "as:result", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "audience": { | 
					
						
							|  |  |  |                 "@id": "as:audience", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "partOf": { | 
					
						
							|  |  |  |                 "@id": "as:partOf", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "tag": { | 
					
						
							|  |  |  |                 "@id": "as:tag", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "target": { | 
					
						
							|  |  |  |                 "@id": "as:target", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "to": { | 
					
						
							|  |  |  |                 "@id": "as:to", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "url": { | 
					
						
							|  |  |  |                 "@id": "as:url", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "altitude": { | 
					
						
							|  |  |  |                 "@id": "as:altitude", | 
					
						
							|  |  |  |                 "@type": "xsd:float" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "content": "as:content", | 
					
						
							|  |  |  |             "contentMap": { | 
					
						
							|  |  |  |                 "@id": "as:content", | 
					
						
							|  |  |  |                 "@container": "@language" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "name": "as:name", | 
					
						
							|  |  |  |             "nameMap": { | 
					
						
							|  |  |  |                 "@id": "as:name", | 
					
						
							|  |  |  |                 "@container": "@language" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "duration": { | 
					
						
							|  |  |  |                 "@id": "as:duration", | 
					
						
							|  |  |  |                 "@type": "xsd:duration" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "endTime": { | 
					
						
							|  |  |  |                 "@id": "as:endTime", | 
					
						
							|  |  |  |                 "@type": "xsd:dateTime" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "height": { | 
					
						
							|  |  |  |                 "@id": "as:height", | 
					
						
							|  |  |  |                 "@type": "xsd:nonNegativeInteger" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "href": { | 
					
						
							|  |  |  |                 "@id": "as:href", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "hreflang": "as:hreflang", | 
					
						
							|  |  |  |             "latitude": { | 
					
						
							|  |  |  |                 "@id": "as:latitude", | 
					
						
							|  |  |  |                 "@type": "xsd:float" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "longitude": { | 
					
						
							|  |  |  |                 "@id": "as:longitude", | 
					
						
							|  |  |  |                 "@type": "xsd:float" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "mediaType": "as:mediaType", | 
					
						
							|  |  |  |             "published": { | 
					
						
							|  |  |  |                 "@id": "as:published", | 
					
						
							|  |  |  |                 "@type": "xsd:dateTime" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "radius": { | 
					
						
							|  |  |  |                 "@id": "as:radius", | 
					
						
							|  |  |  |                 "@type": "xsd:float" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "rel": "as:rel", | 
					
						
							|  |  |  |             "startIndex": { | 
					
						
							|  |  |  |                 "@id": "as:startIndex", | 
					
						
							|  |  |  |                 "@type": "xsd:nonNegativeInteger" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "startTime": { | 
					
						
							|  |  |  |                 "@id": "as:startTime", | 
					
						
							|  |  |  |                 "@type": "xsd:dateTime" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "summary": "as:summary", | 
					
						
							|  |  |  |             "summaryMap": { | 
					
						
							|  |  |  |                 "@id": "as:summary", | 
					
						
							|  |  |  |                 "@container": "@language" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "totalItems": { | 
					
						
							|  |  |  |                 "@id": "as:totalItems", | 
					
						
							|  |  |  |                 "@type": "xsd:nonNegativeInteger" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "units": "as:units", | 
					
						
							|  |  |  |             "updated": { | 
					
						
							|  |  |  |                 "@id": "as:updated", | 
					
						
							|  |  |  |                 "@type": "xsd:dateTime" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "width": { | 
					
						
							|  |  |  |                 "@id": "as:width", | 
					
						
							|  |  |  |                 "@type": "xsd:nonNegativeInteger" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "describes": { | 
					
						
							|  |  |  |                 "@id": "as:describes", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "formerType": { | 
					
						
							|  |  |  |                 "@id": "as:formerType", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "deleted": { | 
					
						
							|  |  |  |                 "@id": "as:deleted", | 
					
						
							|  |  |  |                 "@type": "xsd:dateTime" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "inbox": { | 
					
						
							|  |  |  |                 "@id": "ldp:inbox", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "outbox": { | 
					
						
							|  |  |  |                 "@id": "as:outbox", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "following": { | 
					
						
							|  |  |  |                 "@id": "as:following", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "followers": { | 
					
						
							|  |  |  |                 "@id": "as:followers", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "streams": { | 
					
						
							|  |  |  |                 "@id": "as:streams", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "preferredUsername": "as:preferredUsername", | 
					
						
							|  |  |  |             "endpoints": { | 
					
						
							|  |  |  |                 "@id": "as:endpoints", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "uploadMedia": { | 
					
						
							|  |  |  |                 "@id": "as:uploadMedia", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "proxyUrl": { | 
					
						
							|  |  |  |                 "@id": "as:proxyUrl", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "liked": { | 
					
						
							|  |  |  |                 "@id": "as:liked", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "oauthAuthorizationEndpoint": { | 
					
						
							|  |  |  |                 "@id": "as:oauthAuthorizationEndpoint", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "oauthTokenEndpoint": { | 
					
						
							|  |  |  |                 "@id": "as:oauthTokenEndpoint", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "provideClientKey": { | 
					
						
							|  |  |  |                 "@id": "as:provideClientKey", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "signClientKey": { | 
					
						
							|  |  |  |                 "@id": "as:signClientKey", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "sharedInbox": { | 
					
						
							|  |  |  |                 "@id": "as:sharedInbox", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "Public": { | 
					
						
							|  |  |  |                 "@id": "as:Public", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "source": "as:source", | 
					
						
							|  |  |  |             "likes": { | 
					
						
							|  |  |  |                 "@id": "as:likes", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "shares": { | 
					
						
							|  |  |  |                 "@id": "as:shares", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "alsoKnownAs": { | 
					
						
							|  |  |  |                 "@id": "as:alsoKnownAs", | 
					
						
							|  |  |  |                 "@type": "@id" | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } |