openagent-oas 1.0.0__tar.gz

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.
Files changed (137) hide show
  1. openagent_oas-1.0.0/.editorconfig +12 -0
  2. openagent_oas-1.0.0/.gitignore +10 -0
  3. openagent_oas-1.0.0/.hypothesis/constants/094997e5df0dd928 +4 -0
  4. openagent_oas-1.0.0/.hypothesis/constants/0a54689002859f4d +4 -0
  5. openagent_oas-1.0.0/.hypothesis/constants/14b20b65e2f985a2 +4 -0
  6. openagent_oas-1.0.0/.hypothesis/constants/23485c6303c5f128 +4 -0
  7. openagent_oas-1.0.0/.hypothesis/constants/2aca3966189a23b8 +4 -0
  8. openagent_oas-1.0.0/.hypothesis/constants/2dc134da0ebe3f22 +4 -0
  9. openagent_oas-1.0.0/.hypothesis/constants/3c1242a72cc1b8ee +4 -0
  10. openagent_oas-1.0.0/.hypothesis/constants/3dffdae98dbbeb30 +4 -0
  11. openagent_oas-1.0.0/.hypothesis/constants/41dd003b26e8afe0 +4 -0
  12. openagent_oas-1.0.0/.hypothesis/constants/49410dca89309d1c +4 -0
  13. openagent_oas-1.0.0/.hypothesis/constants/4f7a6f939fc084fa +4 -0
  14. openagent_oas-1.0.0/.hypothesis/constants/5930653da6e3fa9b +4 -0
  15. openagent_oas-1.0.0/.hypothesis/constants/5eb8e8eeaea0819c +4 -0
  16. openagent_oas-1.0.0/.hypothesis/constants/5f681a600b31f0ec +4 -0
  17. openagent_oas-1.0.0/.hypothesis/constants/6934e938ca7b2913 +4 -0
  18. openagent_oas-1.0.0/.hypothesis/constants/695a685bd650d908 +4 -0
  19. openagent_oas-1.0.0/.hypothesis/constants/6fe6ec3c48284247 +4 -0
  20. openagent_oas-1.0.0/.hypothesis/constants/74fce42fcb4a3d42 +4 -0
  21. openagent_oas-1.0.0/.hypothesis/constants/7748671158d1d455 +4 -0
  22. openagent_oas-1.0.0/.hypothesis/constants/79355159e6898416 +4 -0
  23. openagent_oas-1.0.0/.hypothesis/constants/7a4e7aa5f8ea3030 +4 -0
  24. openagent_oas-1.0.0/.hypothesis/constants/7d8c105083c6b82a +4 -0
  25. openagent_oas-1.0.0/.hypothesis/constants/839512362241867b +4 -0
  26. openagent_oas-1.0.0/.hypothesis/constants/85c0ecb2dac7c628 +4 -0
  27. openagent_oas-1.0.0/.hypothesis/constants/8847d8fb0524e229 +4 -0
  28. openagent_oas-1.0.0/.hypothesis/constants/912616f0beaf7cbd +4 -0
  29. openagent_oas-1.0.0/.hypothesis/constants/92e6240e06720d55 +4 -0
  30. openagent_oas-1.0.0/.hypothesis/constants/968e0a2ccdee5d6c +4 -0
  31. openagent_oas-1.0.0/.hypothesis/constants/995eb3e9ccd4dbf3 +4 -0
  32. openagent_oas-1.0.0/.hypothesis/constants/9cd8904526f5e860 +4 -0
  33. openagent_oas-1.0.0/.hypothesis/constants/9fa48a53c9d5b3c0 +4 -0
  34. openagent_oas-1.0.0/.hypothesis/constants/9fa69804aed7af87 +4 -0
  35. openagent_oas-1.0.0/.hypothesis/constants/aef80d182e0530b6 +4 -0
  36. openagent_oas-1.0.0/.hypothesis/constants/afadf80bf0f52966 +4 -0
  37. openagent_oas-1.0.0/.hypothesis/constants/b2575aa4eac33921 +4 -0
  38. openagent_oas-1.0.0/.hypothesis/constants/b369624580b47529 +4 -0
  39. openagent_oas-1.0.0/.hypothesis/constants/bf6447ea610584c7 +4 -0
  40. openagent_oas-1.0.0/.hypothesis/constants/cca041d9158e00ba +4 -0
  41. openagent_oas-1.0.0/.hypothesis/constants/ce1960d5a47ad9d2 +4 -0
  42. openagent_oas-1.0.0/.hypothesis/constants/e0e698455323b1c0 +4 -0
  43. openagent_oas-1.0.0/.hypothesis/constants/e411e59d5827a79b +4 -0
  44. openagent_oas-1.0.0/.hypothesis/constants/e975cffd51ab0bcb +4 -0
  45. openagent_oas-1.0.0/.hypothesis/constants/eb3657c1a893b17d +4 -0
  46. openagent_oas-1.0.0/.hypothesis/constants/f2300f0efb02251c +4 -0
  47. openagent_oas-1.0.0/.hypothesis/constants/f37a6d6998104227 +4 -0
  48. openagent_oas-1.0.0/.hypothesis/constants/f39fa090231aef9d +4 -0
  49. openagent_oas-1.0.0/.hypothesis/constants/f78db60eaa05ce79 +4 -0
  50. openagent_oas-1.0.0/.hypothesis/constants/fa9eb545e0f03ea9 +4 -0
  51. openagent_oas-1.0.0/.hypothesis/constants/fc5b8f35886d416b +4 -0
  52. openagent_oas-1.0.0/.hypothesis/unicode_data/15.0.0/charmap.json.gz +0 -0
  53. openagent_oas-1.0.0/.hypothesis/unicode_data/15.0.0/codec-utf-8.json.gz +0 -0
  54. openagent_oas-1.0.0/CHANGELOG.md +39 -0
  55. openagent_oas-1.0.0/CLAUDE.md +577 -0
  56. openagent_oas-1.0.0/CODE_OF_CONDUCT.md +49 -0
  57. openagent_oas-1.0.0/CONTRIBUTING.md +132 -0
  58. openagent_oas-1.0.0/LICENSE +21 -0
  59. openagent_oas-1.0.0/PKG-INFO +383 -0
  60. openagent_oas-1.0.0/README.md +355 -0
  61. openagent_oas-1.0.0/SECURITY.md +77 -0
  62. openagent_oas-1.0.0/pyproject.toml +50 -0
  63. openagent_oas-1.0.0/src/openagent/__init__.py +1 -0
  64. openagent_oas-1.0.0/src/openagent/oas/__init__.py +19 -0
  65. openagent_oas-1.0.0/src/openagent/oas/attestation/README.md +241 -0
  66. openagent_oas-1.0.0/src/openagent/oas/attestation/__init__.py +36 -0
  67. openagent_oas-1.0.0/src/openagent/oas/attestation/credential.py +142 -0
  68. openagent_oas-1.0.0/src/openagent/oas/attestation/errors.py +65 -0
  69. openagent_oas-1.0.0/src/openagent/oas/attestation/sign.py +77 -0
  70. openagent_oas-1.0.0/src/openagent/oas/attestation/types.py +28 -0
  71. openagent_oas-1.0.0/src/openagent/oas/attestation/verify.py +60 -0
  72. openagent_oas-1.0.0/src/openagent/oas/crypto/README.md +327 -0
  73. openagent_oas-1.0.0/src/openagent/oas/crypto/__init__.py +61 -0
  74. openagent_oas-1.0.0/src/openagent/oas/crypto/derivation.py +97 -0
  75. openagent_oas-1.0.0/src/openagent/oas/crypto/encoding.py +200 -0
  76. openagent_oas-1.0.0/src/openagent/oas/crypto/errors.py +93 -0
  77. openagent_oas-1.0.0/src/openagent/oas/crypto/hashing.py +29 -0
  78. openagent_oas-1.0.0/src/openagent/oas/crypto/jcs.py +111 -0
  79. openagent_oas-1.0.0/src/openagent/oas/crypto/keypair.py +237 -0
  80. openagent_oas-1.0.0/src/openagent/oas/crypto/proof.py +244 -0
  81. openagent_oas-1.0.0/src/openagent/oas/did/README.md +225 -0
  82. openagent_oas-1.0.0/src/openagent/oas/did/__init__.py +45 -0
  83. openagent_oas-1.0.0/src/openagent/oas/did/did.py +158 -0
  84. openagent_oas-1.0.0/src/openagent/oas/did/errors.py +100 -0
  85. openagent_oas-1.0.0/src/openagent/oas/did/kind.py +108 -0
  86. openagent_oas-1.0.0/src/openagent/oas/did/namespace.py +56 -0
  87. openagent_oas-1.0.0/src/openagent/oas/did/validation.py +55 -0
  88. openagent_oas-1.0.0/src/openagent/oas/document/README.md +297 -0
  89. openagent_oas-1.0.0/src/openagent/oas/document/__init__.py +99 -0
  90. openagent_oas-1.0.0/src/openagent/oas/document/builder.py +265 -0
  91. openagent_oas-1.0.0/src/openagent/oas/document/calendar.py +130 -0
  92. openagent_oas-1.0.0/src/openagent/oas/document/compliance.py +90 -0
  93. openagent_oas-1.0.0/src/openagent/oas/document/conformance.py +33 -0
  94. openagent_oas-1.0.0/src/openagent/oas/document/contact.py +101 -0
  95. openagent_oas-1.0.0/src/openagent/oas/document/document.py +262 -0
  96. openagent_oas-1.0.0/src/openagent/oas/document/errors.py +67 -0
  97. openagent_oas-1.0.0/src/openagent/oas/document/governance.py +260 -0
  98. openagent_oas-1.0.0/src/openagent/oas/document/interop.py +106 -0
  99. openagent_oas-1.0.0/src/openagent/oas/document/lifecycle.py +33 -0
  100. openagent_oas-1.0.0/src/openagent/oas/document/lineage_section.py +72 -0
  101. openagent_oas-1.0.0/src/openagent/oas/document/operational.py +122 -0
  102. openagent_oas-1.0.0/src/openagent/oas/document/pricing.py +96 -0
  103. openagent_oas-1.0.0/src/openagent/oas/document/profile.py +56 -0
  104. openagent_oas-1.0.0/src/openagent/oas/document/proof_format.py +153 -0
  105. openagent_oas-1.0.0/src/openagent/oas/document/relationships.py +73 -0
  106. openagent_oas-1.0.0/src/openagent/oas/document/reputation.py +62 -0
  107. openagent_oas-1.0.0/src/openagent/oas/document/service.py +91 -0
  108. openagent_oas-1.0.0/src/openagent/oas/document/verification_method.py +71 -0
  109. openagent_oas-1.0.0/src/openagent/oas/document/visibility.py +40 -0
  110. openagent_oas-1.0.0/src/openagent/oas/lineage/README.md +290 -0
  111. openagent_oas-1.0.0/src/openagent/oas/lineage/__init__.py +49 -0
  112. openagent_oas-1.0.0/src/openagent/oas/lineage/config.py +32 -0
  113. openagent_oas-1.0.0/src/openagent/oas/lineage/derive.py +154 -0
  114. openagent_oas-1.0.0/src/openagent/oas/lineage/errors.py +109 -0
  115. openagent_oas-1.0.0/src/openagent/oas/lineage/provider.py +84 -0
  116. openagent_oas-1.0.0/src/openagent/oas/lineage/verify.py +177 -0
  117. openagent_oas-1.0.0/src/openagent/oas/py.typed +0 -0
  118. openagent_oas-1.0.0/src/openagent/oas/resolve/README.md +175 -0
  119. openagent_oas-1.0.0/src/openagent/oas/resolve/__init__.py +33 -0
  120. openagent_oas-1.0.0/src/openagent/oas/resolve/cache.py +100 -0
  121. openagent_oas-1.0.0/src/openagent/oas/resolve/errors.py +51 -0
  122. openagent_oas-1.0.0/src/openagent/oas/resolve/fallback.py +60 -0
  123. openagent_oas-1.0.0/src/openagent/oas/resolve/memory.py +79 -0
  124. openagent_oas-1.0.0/src/openagent/oas/resolve/resolver.py +38 -0
  125. openagent_oas-1.0.0/src/openagent/oas/sdk/README.md +304 -0
  126. openagent_oas-1.0.0/src/openagent/oas/sdk/__init__.py +40 -0
  127. openagent_oas-1.0.0/src/openagent/oas/sdk/errors.py +27 -0
  128. openagent_oas-1.0.0/src/openagent/oas/sdk/identity.py +204 -0
  129. openagent_oas-1.0.0/src/openagent/oas/sdk/lineage.py +106 -0
  130. openagent_oas-1.0.0/tests/__init__.py +0 -0
  131. openagent_oas-1.0.0/tests/test_attestation.py +210 -0
  132. openagent_oas-1.0.0/tests/test_crypto.py +410 -0
  133. openagent_oas-1.0.0/tests/test_did.py +306 -0
  134. openagent_oas-1.0.0/tests/test_document.py +305 -0
  135. openagent_oas-1.0.0/tests/test_lineage.py +348 -0
  136. openagent_oas-1.0.0/tests/test_resolve.py +189 -0
  137. openagent_oas-1.0.0/tests/test_sdk.py +314 -0
@@ -0,0 +1,12 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 4
6
+ end_of_line = lf
7
+ charset = utf-8
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+
11
+ [*.md]
12
+ trim_trailing_whitespace = false
@@ -0,0 +1,10 @@
1
+ target/
2
+ node_modules/
3
+ .env
4
+ dist/
5
+ .DS_Store
6
+ .git-backups/
7
+ __pycache__/
8
+ *.pyc
9
+ .build/
10
+ .swiftpm/
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/hashing.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/conformance.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['L0', 'L1', 'L2']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/did/errors.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['DID_ERROR', 'DID_PARSE_ERROR', 'INVALID_IDENTIFIER', 'INVALID_NAMESPACE', 'UNKNOWN_ENTITY_KIND']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/sdk/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['CreatedIdentity', 'OasError', 'create_hmr', 'create_mhr', 'derive_child', 'verify_chain']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/sdk/lineage.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/attestation/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['AttestationError', 'AttestationType', 'CredentialBuildError', 'CredentialSignError', 'CredentialSubject', 'OasCredential', 'sign_credential', 'verify_credential']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/encoding.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ [b'\x00', b'=', '1', '=', 'ascii', 'base58btc', 'base64url', 'big', 'multibase', 'z']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/lineage_section.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['generation', 'humanRootDid', 'lineageProof', 'parentDid']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/resolve/cache.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ [300, 'resolve']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/did/kind.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ [':', 'agent', 'agent:instance', 'ao', 'dataset', 'hmr', 'mhr', 'model', 'service', 'skill', 'tool', 'workflow']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/proof_format.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['Ed25519Signature2020', 'assertionMethod', 'created', 'proof', 'proofPurpose', 'proofValue', 'type', 'verificationMethod']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['0.1.0']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/attestation/credential.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['@context', 'claims', 'credentialSubject', 'id', 'issuanceDate', 'issuer', 'proof', 'type']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/did/validation.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ [128, '^[a-zA-Z0-9._-]+$']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/proof.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['HKDF-SHA256-Ed25519', 'algorithm', 'childDid', 'derivationPath', 'parentDid', 'publicKeyMultibase', 'signature', 'type']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/resolve/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['CachingResolver', 'DidNotFoundError', 'FallbackResolver', 'InMemoryResolver', 'ResolveError', 'Resolver']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/lineage/config.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['AgentLineageProof', 'CryptoError', 'DerivationError', 'EncodingError', 'KeyGenerationError', 'OasKeyPair', 'ProofError', 'SignatureError', 'base58_decode', 'base58_encode', 'base64url_decode', 'base64url_encode', 'blake3_hash', 'canonicalize', 'derive_child_keypair', 'derive_key_material', 'multibase_decode', 'multibase_encode']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['ConformanceLevel', 'DocumentBuildError', 'DocumentBuilder', 'DocumentError', 'DocumentMetadata', 'DocumentProof', 'DocumentProofError', 'LifecycleStatus', 'LineageSection', 'OasDocument', 'ServiceEndpoint', 'VerificationMethod']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/builder.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['Ed25519Signature2020', 'assertionMethod', 'verificationMethod']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/attestation/errors.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['ATTESTATION_ERROR']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/.venv/bin/pytest
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['__main__']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/lineage/errors.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['CHAIN_TOO_DEEP', 'LINEAGE_ERROR', 'LINEAGE_STRUCTURAL', 'PARENT_MISMATCH', 'RESOLUTION_ERROR', 'SIGNATURE_INVALID']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/lineage/derive.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/attestation/sign.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['Ed25519Signature2020', 'assertionMethod', 'proof']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/document.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['authentication', 'conformanceLevel', 'created', 'id', 'kind', 'lifecycleStatus', 'lineage', 'metadata', 'proof', 'service', 'updated', 'verificationMethod', 'version']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/sdk/errors.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['OAS_ERROR']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/keypair.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/did/did.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ [':', 'did:oas:']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/attestation/verify.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['proof']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/resolve/fallback.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['resolve']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/errors.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['; ', 'DOCUMENT_BUILD_ERROR', 'DOCUMENT_ERROR', 'DOCUMENT_PROOF_ERROR']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/resolve/resolver.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/derivation.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ [b'oas-identity-v1', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/resolve/memory.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/attestation/types.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['capability', 'classification', 'compliance', 'identity', 'provenance', 'trust']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/service.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['id', 'serviceEndpoint', 'type']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/lineage/provider.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/verification_method.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['controller', 'id', 'publicKeyMultibase', 'type']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/lineage/verify.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/resolve/errors.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['DID_NOT_FOUND', 'RESOLVE_ERROR']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/sdk/identity.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/lineage/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['ChainTooDeepError', 'DerivedEntity', 'DocumentProvider', 'InMemoryProvider', 'LineageError', 'ParentMismatchError', 'ResolutionError', 'VerifyConfig', 'derive_child_entity', 'verify_lineage']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/jcs.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ [0.0, 1023, 55296, 56320, 65535, 65536, ',', '0', ':', 'E', 'e', 'e\\+', 'e\\+0*(\\d)', 'e\\1', 'false', 'null', 'true', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/did/__init__.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['DidError', 'DidParseError', 'EntityKind', 'OasDid', 'validate_identifier', 'validate_namespace']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/did/namespace.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/document/lifecycle.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['active', 'archived', 'dormant', 'nascent', 'suspended', 'terminated']
@@ -0,0 +1,4 @@
1
+ # file: /Volumes/L1feAI/l1feosx/forge/oas-python/src/openagent/oas/crypto/errors.py
2
+ # hypothesis_version: 6.151.9
3
+
4
+ ['CRYPTO_ERROR', 'DERIVATION_ERROR', 'ENCODING_ERROR', 'KEY_GENERATION_ERROR', 'PROOF_ERROR', 'SIGNATURE_ERROR']
@@ -0,0 +1,39 @@
1
+ # Changelog
2
+
3
+ All notable changes to the OAS Python SDK will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased] - 2026-05-11
9
+
10
+ ### Changed
11
+
12
+ - Updated CONTRIBUTING clone URLs to use the public `OpenAgentID` GitHub organization.
13
+
14
+ ## [1.1.0] - 2026-03-03
15
+
16
+ ### Added
17
+
18
+ - **openagent.oas.did**: ENR (Enterprise Root) entity kind -- a stable signing key governed by a rotating MHR. `EntityKind.ENR` added, `is_root()` now returns `True` for ENR. Total: 12 entity kinds.
19
+ - **openagent.oas.document**: `GovernanceSection`, `GovernanceTransition`, `GovernanceTransitionProof`, `GovernancePolicy` dataclasses for ENR governance (OAS Spec section 8). `GovernancePolicy.default_policy()` factory and `ENR_GOVERNANCE_PROOF_TYPE` constant. `OasDocument.governance` optional field.
20
+
21
+ ## [1.0.0] - 2026-02-18
22
+
23
+ ### Added
24
+
25
+ - **openagent.oas.crypto**: Ed25519 keypair management via `cryptography`, HKDF-SHA256 child key derivation, BLAKE3 content hashing via `blake3`, AgentLineageProof2025 generation and verification, JSON Canonicalization Scheme (RFC 8785), multibase and base64url encoding.
26
+ - **openagent.oas.did**: `did:oas` DID parsing and validation with support for all 12 entity kinds including compound `agent:instance`, namespace validation, identifier format checking.
27
+ - **openagent.oas.document**: OAS Identity Document model with DocumentBuilder, Ed25519Signature2020 proof generation and verification, conformance level checking (L0/L1/L2), lifecycle status management, verification method and service endpoint types.
28
+ - **openagent.oas.lineage**: Lineage derivation and verification with chain walking, generation depth enforcement (MAX_GENERATION=16), configurable timeouts, InMemoryProvider for testing.
29
+ - **openagent.oas.resolve**: Async `Resolver` protocol with InMemoryResolver, CachingResolver (TTL-based), FallbackResolver (priority-ordered), typed error codes matching OAS Spec section 12.5.
30
+ - **openagent.oas.attestation**: W3C Verifiable Credential integration with 6 attestation types (SecurityAudit, BehaviorAttestation, CapabilityVerification, ComplianceAttestation, ExpertEndorsement, CommunityReview), credential building, signing, and verification with temporal validity checks.
31
+ - **openagent.oas.sdk**: Unified high-level API combining identity creation (HMR/MHR), lineage derivation, chain verification, and attestation workflows.
32
+
33
+ ### Security
34
+
35
+ - Strict `mypy --strict` type checking with zero suppression comments
36
+ - `bytearray` for all secret material (mutable for explicit zeroing)
37
+ - `hmac.compare_digest` for constant-time secret comparisons
38
+ - `py.typed` marker (PEP 561) for downstream type checking
39
+ - No C extensions required (pure Python with optional native accelerators)