agent-connector-sdk 0.3.1__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 (535) hide show
  1. agent_connector_sdk-0.3.1/LICENSE +21 -0
  2. agent_connector_sdk-0.3.1/PKG-INFO +186 -0
  3. agent_connector_sdk-0.3.1/README.md +132 -0
  4. agent_connector_sdk-0.3.1/agent_connector_sdk/__init__.py +10 -0
  5. agent_connector_sdk-0.3.1/agent_connector_sdk/_contract_fields.py +92 -0
  6. agent_connector_sdk-0.3.1/agent_connector_sdk/_extras.py +22 -0
  7. agent_connector_sdk-0.3.1/agent_connector_sdk/_turtle.py +116 -0
  8. agent_connector_sdk-0.3.1/agent_connector_sdk/_version.py +3 -0
  9. agent_connector_sdk-0.3.1/agent_connector_sdk/a2a/__init__.py +46 -0
  10. agent_connector_sdk-0.3.1/agent_connector_sdk/a2a/app.py +83 -0
  11. agent_connector_sdk-0.3.1/agent_connector_sdk/a2a/client.py +117 -0
  12. agent_connector_sdk-0.3.1/agent_connector_sdk/a2a/models.py +112 -0
  13. agent_connector_sdk-0.3.1/agent_connector_sdk/access_contract.py +125 -0
  14. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/__init__.py +1 -0
  15. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/document_sources.py +441 -0
  16. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/event_envelope.py +109 -0
  17. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/event_errors.py +51 -0
  18. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/event_feed.py +192 -0
  19. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/event_feed_bindings.py +27 -0
  20. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/event_feed_records.py +171 -0
  21. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/event_identity.py +46 -0
  22. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/mcp_tool.py +201 -0
  23. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/mcp_tool_extract.py +130 -0
  24. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/mcp_tool_lifecycle.py +248 -0
  25. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/mcp_tool_paging.py +173 -0
  26. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/mcp_tool_records.py +111 -0
  27. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/tool_contract.py +77 -0
  28. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/web_fetch.py +221 -0
  29. agent_connector_sdk-0.3.1/agent_connector_sdk/adapters/web_fetch_helpers.py +73 -0
  30. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/__init__.py +17 -0
  31. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/annotations.py +109 -0
  32. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/common.py +57 -0
  33. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/ontology_imports.py +132 -0
  34. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/pack.py +187 -0
  35. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/prompts.py +129 -0
  36. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/prompts_helpers.py +128 -0
  37. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/resources.py +78 -0
  38. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/skills.py +64 -0
  39. agent_connector_sdk-0.3.1/agent_connector_sdk/artifacts/tools.py +74 -0
  40. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/__init__.py +17 -0
  41. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/browser.py +570 -0
  42. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/client_credentials.py +165 -0
  43. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/delegation.py +266 -0
  44. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/oidc.py +151 -0
  45. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/static.py +85 -0
  46. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/tokens.py +91 -0
  47. agent_connector_sdk-0.3.1/agent_connector_sdk/auth/values.py +33 -0
  48. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/__init__.py +1 -0
  49. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/certification.py +102 -0
  50. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/checkout.py +145 -0
  51. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/cli.py +211 -0
  52. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/declared_coverage.py +50 -0
  53. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/fingerprints.py +106 -0
  54. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/listing.py +62 -0
  55. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/options.py +46 -0
  56. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/pin_journal.py +111 -0
  57. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/pins.py +136 -0
  58. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/transaction.py +107 -0
  59. agent_connector_sdk-0.3.1/agent_connector_sdk/certify/verdicts.py +128 -0
  60. agent_connector_sdk-0.3.1/agent_connector_sdk/compute/__init__.py +25 -0
  61. agent_connector_sdk-0.3.1/agent_connector_sdk/compute/engine.py +203 -0
  62. agent_connector_sdk-0.3.1/agent_connector_sdk/config.py +274 -0
  63. agent_connector_sdk-0.3.1/agent_connector_sdk/config_git.py +20 -0
  64. agent_connector_sdk-0.3.1/agent_connector_sdk/contracts.py +146 -0
  65. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/__init__.py +17 -0
  66. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/openbao.py +122 -0
  67. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/provider.py +68 -0
  68. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/provider_profile.py +315 -0
  69. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/references.py +93 -0
  70. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/resolution.py +86 -0
  71. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/resolver.py +55 -0
  72. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/runtime_references.py +105 -0
  73. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/sensitivity.py +111 -0
  74. agent_connector_sdk-0.3.1/agent_connector_sdk/credentials/source.py +487 -0
  75. agent_connector_sdk-0.3.1/agent_connector_sdk/current_plan.py +67 -0
  76. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/__init__.py +128 -0
  77. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/_base.py +11 -0
  78. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/_classification.py +14 -0
  79. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/certification/__init__.py +47 -0
  80. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/certification/adapters.py +128 -0
  81. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/certification/job.py +226 -0
  82. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/certification/models.py +242 -0
  83. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/kernel.py +1285 -0
  84. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/models.py +516 -0
  85. agent_connector_sdk-0.3.1/agent_connector_sdk/data_prep/profiling.py +178 -0
  86. agent_connector_sdk-0.3.1/agent_connector_sdk/decide/__init__.py +110 -0
  87. agent_connector_sdk-0.3.1/agent_connector_sdk/decide/consumers.py +115 -0
  88. agent_connector_sdk-0.3.1/agent_connector_sdk/decide/epistemic_graph.py +190 -0
  89. agent_connector_sdk-0.3.1/agent_connector_sdk/decide/options.py +78 -0
  90. agent_connector_sdk-0.3.1/agent_connector_sdk/decide/outcome.py +137 -0
  91. agent_connector_sdk-0.3.1/agent_connector_sdk/decide/points.py +121 -0
  92. agent_connector_sdk-0.3.1/agent_connector_sdk/decide/transport.py +120 -0
  93. agent_connector_sdk-0.3.1/agent_connector_sdk/discovery.py +170 -0
  94. agent_connector_sdk-0.3.1/agent_connector_sdk/earth_observations/__init__.py +8 -0
  95. agent_connector_sdk-0.3.1/agent_connector_sdk/earth_observations/records.py +113 -0
  96. agent_connector_sdk-0.3.1/agent_connector_sdk/embeddings.py +264 -0
  97. agent_connector_sdk-0.3.1/agent_connector_sdk/entitlements.py +217 -0
  98. agent_connector_sdk-0.3.1/agent_connector_sdk/exceptions.py +69 -0
  99. agent_connector_sdk-0.3.1/agent_connector_sdk/exposure.py +22 -0
  100. agent_connector_sdk-0.3.1/agent_connector_sdk/file_lock.py +263 -0
  101. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/__init__.py +7 -0
  102. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/account.py +79 -0
  103. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/alpaca_account.py +71 -0
  104. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/alpaca_stocks.py +107 -0
  105. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/banking.py +206 -0
  106. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/central_bank_calendar.py +106 -0
  107. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/crypto.py +99 -0
  108. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/csv_import.py +189 -0
  109. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/errors.py +29 -0
  110. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/etf_flows.py +89 -0
  111. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/feeds.py +244 -0
  112. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/fred_series.py +109 -0
  113. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/market_data.py +290 -0
  114. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/multi_asset.py +103 -0
  115. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/records.py +134 -0
  116. agent_connector_sdk-0.3.1/agent_connector_sdk/finance/strategy_export.py +297 -0
  117. agent_connector_sdk-0.3.1/agent_connector_sdk/http/__init__.py +20 -0
  118. agent_connector_sdk-0.3.1/agent_connector_sdk/http/bodies.py +81 -0
  119. agent_connector_sdk-0.3.1/agent_connector_sdk/http/client.py +135 -0
  120. agent_connector_sdk-0.3.1/agent_connector_sdk/http/egress.py +508 -0
  121. agent_connector_sdk-0.3.1/agent_connector_sdk/http/errors.py +136 -0
  122. agent_connector_sdk-0.3.1/agent_connector_sdk/http/flow.py +112 -0
  123. agent_connector_sdk-0.3.1/agent_connector_sdk/http/options.py +124 -0
  124. agent_connector_sdk-0.3.1/agent_connector_sdk/http/pagination.py +139 -0
  125. agent_connector_sdk-0.3.1/agent_connector_sdk/http/problems.py +126 -0
  126. agent_connector_sdk-0.3.1/agent_connector_sdk/http/redaction.py +54 -0
  127. agent_connector_sdk-0.3.1/agent_connector_sdk/http/responses.py +112 -0
  128. agent_connector_sdk-0.3.1/agent_connector_sdk/http/retry.py +145 -0
  129. agent_connector_sdk-0.3.1/agent_connector_sdk/http/safe_post.py +70 -0
  130. agent_connector_sdk-0.3.1/agent_connector_sdk/http/support.py +453 -0
  131. agent_connector_sdk-0.3.1/agent_connector_sdk/http/transport.py +136 -0
  132. agent_connector_sdk-0.3.1/agent_connector_sdk/httpsupport/__init__.py +11 -0
  133. agent_connector_sdk-0.3.1/agent_connector_sdk/httpsupport/auth.py +137 -0
  134. agent_connector_sdk-0.3.1/agent_connector_sdk/httpsupport/client_protocol.py +176 -0
  135. agent_connector_sdk-0.3.1/agent_connector_sdk/httpsupport/pagination.py +362 -0
  136. agent_connector_sdk-0.3.1/agent_connector_sdk/httpsupport/rate_limit.py +195 -0
  137. agent_connector_sdk-0.3.1/agent_connector_sdk/httpsupport/redaction.py +145 -0
  138. agent_connector_sdk-0.3.1/agent_connector_sdk/identifiers.py +55 -0
  139. agent_connector_sdk-0.3.1/agent_connector_sdk/identity.py +87 -0
  140. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/__init__.py +111 -0
  141. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/channel.py +64 -0
  142. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/engine.py +168 -0
  143. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/errors.py +17 -0
  144. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/model.py +179 -0
  145. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/records.py +48 -0
  146. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/request.py +223 -0
  147. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/service.py +196 -0
  148. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/source_sync.py +480 -0
  149. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/sources.py +144 -0
  150. agent_connector_sdk-0.3.1/agent_connector_sdk/ingest/transport.py +82 -0
  151. agent_connector_sdk-0.3.1/agent_connector_sdk/library_state.py +76 -0
  152. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/__init__.py +1 -0
  153. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/integrity.py +555 -0
  154. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/live_contract.py +229 -0
  155. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/loader.py +134 -0
  156. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/model.py +229 -0
  157. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/ontology_pack.py +199 -0
  158. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/package_validation.py +172 -0
  159. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/presets.py +269 -0
  160. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/provider_runtime.py +64 -0
  161. agent_connector_sdk-0.3.1/agent_connector_sdk/manifest/tool_schema.py +174 -0
  162. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/__init__.py +9 -0
  163. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/action_dispatch.py +235 -0
  164. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/auth/__init__.py +14 -0
  165. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/auth/factory.py +60 -0
  166. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/auth/jwt.py +140 -0
  167. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/auth/policy.py +103 -0
  168. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/auth/proxies.py +127 -0
  169. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/auth/static.py +113 -0
  170. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/auth/verifiers.py +74 -0
  171. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/body_boundary.py +99 -0
  172. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/change_events.py +78 -0
  173. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/concurrency.py +98 -0
  174. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/confirmation.py +141 -0
  175. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/content.py +184 -0
  176. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/context.py +145 -0
  177. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/env_drift.py +594 -0
  178. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/exposure.py +7 -0
  179. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/graphql.py +107 -0
  180. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/http_boundary.py +126 -0
  181. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/method_tools.py +630 -0
  182. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/middleware.py +51 -0
  183. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/network.py +225 -0
  184. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/network_inputs.py +197 -0
  185. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/network_validation.py +133 -0
  186. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/parser.py +125 -0
  187. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/registry.py +162 -0
  188. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/schema_disclosure.py +157 -0
  189. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/schema_disclosure_models.py +62 -0
  190. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/schema_disclosure_provider.py +112 -0
  191. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/served_security.py +166 -0
  192. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/server.py +185 -0
  193. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/tool_surface.py +311 -0
  194. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/versioning.py +33 -0
  195. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/visibility.py +62 -0
  196. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/visibility_filters.py +61 -0
  197. agent_connector_sdk-0.3.1/agent_connector_sdk/mcp/visibility_policy.py +148 -0
  198. agent_connector_sdk-0.3.1/agent_connector_sdk/ontology/access_contract.ttl +50 -0
  199. agent_connector_sdk-0.3.1/agent_connector_sdk/paths.py +185 -0
  200. agent_connector_sdk-0.3.1/agent_connector_sdk/payments.py +289 -0
  201. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/__init__.py +21 -0
  202. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/artifact_kind.py +27 -0
  203. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/audit_reservation.py +26 -0
  204. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/authorization_verifier.py +23 -0
  205. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/change_source.py +43 -0
  206. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/connector_registry.py +30 -0
  207. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/decide_runner.py +80 -0
  208. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/errors.py +39 -0
  209. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/repair_proposals.py +28 -0
  210. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/session.py +103 -0
  211. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/sink.py +51 -0
  212. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/source_adapter.py +44 -0
  213. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/transport.py +23 -0
  214. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/writeback.py +36 -0
  215. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/writeback_ledger.py +50 -0
  216. agent_connector_sdk-0.3.1/agent_connector_sdk/ports/writeback_transport.py +46 -0
  217. agent_connector_sdk-0.3.1/agent_connector_sdk/privacy.py +128 -0
  218. agent_connector_sdk-0.3.1/agent_connector_sdk/privacy_pii.py +82 -0
  219. agent_connector_sdk-0.3.1/agent_connector_sdk/privacy_reference.py +44 -0
  220. agent_connector_sdk-0.3.1/agent_connector_sdk/privacy_rules.py +251 -0
  221. agent_connector_sdk-0.3.1/agent_connector_sdk/progress.py +38 -0
  222. agent_connector_sdk-0.3.1/agent_connector_sdk/py.typed +0 -0
  223. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/__init__.py +54 -0
  224. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/errors.py +7 -0
  225. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/identity.py +43 -0
  226. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/indexing.py +107 -0
  227. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/local_git.py +178 -0
  228. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/manifest.py +65 -0
  229. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/models.py +163 -0
  230. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/provider.py +37 -0
  231. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/ref_walk_provider.py +42 -0
  232. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/refs.py +59 -0
  233. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/transport.py +144 -0
  234. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/tree_batch.py +117 -0
  235. agent_connector_sdk-0.3.1/agent_connector_sdk/repository/walk.py +104 -0
  236. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/__init__.py +16 -0
  237. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/backoff.py +26 -0
  238. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/cli.py +189 -0
  239. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/composition.py +212 -0
  240. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/credentialed_endpoint.py +31 -0
  241. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/descriptors.py +129 -0
  242. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/endpoints.py +99 -0
  243. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/errors.py +57 -0
  244. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/health_reporting.py +58 -0
  245. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/health_server.py +142 -0
  246. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/health_state.py +185 -0
  247. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/logs.py +53 -0
  248. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/plans.py +198 -0
  249. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/provisioning.py +85 -0
  250. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/services.py +34 -0
  251. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/sink_probe.py +25 -0
  252. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/static_registry.py +63 -0
  253. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/supervisor.py +126 -0
  254. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/syncing.py +226 -0
  255. agent_connector_sdk-0.3.1/agent_connector_sdk/runner/worker.py +205 -0
  256. agent_connector_sdk-0.3.1/agent_connector_sdk/schema_contract.py +108 -0
  257. agent_connector_sdk-0.3.1/agent_connector_sdk/schema_drift.py +202 -0
  258. agent_connector_sdk-0.3.1/agent_connector_sdk/schema_repair.py +61 -0
  259. agent_connector_sdk-0.3.1/agent_connector_sdk/signing.py +110 -0
  260. agent_connector_sdk-0.3.1/agent_connector_sdk/sinks/__init__.py +1 -0
  261. agent_connector_sdk-0.3.1/agent_connector_sdk/sinks/epistemic_graph.py +180 -0
  262. agent_connector_sdk-0.3.1/agent_connector_sdk/skills/__init__.py +9 -0
  263. agent_connector_sdk-0.3.1/agent_connector_sdk/skills/agent-connector-sdk-development/SKILL.md +203 -0
  264. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/__init__.py +71 -0
  265. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/base.py +224 -0
  266. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/checkpoint.py +73 -0
  267. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/__init__.py +21 -0
  268. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/arxiv.py +294 -0
  269. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/database.py +350 -0
  270. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/graphql_document.py +2943 -0
  271. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/mcp_package.py +326 -0
  272. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/package_manifest.py +262 -0
  273. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/rest.py +259 -0
  274. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/rss.py +252 -0
  275. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/connectors/web.py +195 -0
  276. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/http_safety.py +1114 -0
  277. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/registry.py +173 -0
  278. agent_connector_sdk-0.3.1/agent_connector_sdk/source_connectors/universal.py +977 -0
  279. agent_connector_sdk-0.3.1/agent_connector_sdk/streaming.py +271 -0
  280. agent_connector_sdk-0.3.1/agent_connector_sdk/taxonomy/__init__.py +8 -0
  281. agent_connector_sdk-0.3.1/agent_connector_sdk/taxonomy/records.py +78 -0
  282. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/__init__.py +19 -0
  283. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/artifact_kinds.py +125 -0
  284. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/certificates.py +113 -0
  285. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/duplicate_symbol_scan.py +88 -0
  286. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/fleet_migration.py +106 -0
  287. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/http_clients.py +144 -0
  288. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/http_server.py +122 -0
  289. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/readiness.py +10 -0
  290. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/repair_proposals.py +27 -0
  291. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/results.py +41 -0
  292. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/sinks.py +275 -0
  293. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/source_adapters.py +174 -0
  294. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/writeback.py +219 -0
  295. agent_connector_sdk-0.3.1/agent_connector_sdk/testing/writeback_audit.py +41 -0
  296. agent_connector_sdk-0.3.1/agent_connector_sdk/tls/__init__.py +16 -0
  297. agent_connector_sdk-0.3.1/agent_connector_sdk/tls/context.py +62 -0
  298. agent_connector_sdk-0.3.1/agent_connector_sdk/tls/errors.py +13 -0
  299. agent_connector_sdk-0.3.1/agent_connector_sdk/tls/material.py +108 -0
  300. agent_connector_sdk-0.3.1/agent_connector_sdk/tls/profile.py +116 -0
  301. agent_connector_sdk-0.3.1/agent_connector_sdk/tls/resolve.py +244 -0
  302. agent_connector_sdk-0.3.1/agent_connector_sdk/tls/selection.py +174 -0
  303. agent_connector_sdk-0.3.1/agent_connector_sdk/transports/__init__.py +1 -0
  304. agent_connector_sdk-0.3.1/agent_connector_sdk/transports/mcp.py +91 -0
  305. agent_connector_sdk-0.3.1/agent_connector_sdk/transports/mcp_changes.py +130 -0
  306. agent_connector_sdk-0.3.1/agent_connector_sdk/transports/mcp_session.py +140 -0
  307. agent_connector_sdk-0.3.1/agent_connector_sdk/utilities.py +134 -0
  308. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/__init__.py +36 -0
  309. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/_records.py +66 -0
  310. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/a2a.py +125 -0
  311. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/a2a_helpers.py +101 -0
  312. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/ansible.py +70 -0
  313. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/archer.py +118 -0
  314. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/archimate.py +103 -0
  315. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/aris.py +110 -0
  316. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/caddy.py +93 -0
  317. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/camunda.py +169 -0
  318. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/ciso_assistant.py +167 -0
  319. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/ciso_assistant_helpers.py +73 -0
  320. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/contract.py +97 -0
  321. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/egeria.py +254 -0
  322. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/egeria_helpers.py +79 -0
  323. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/emerald.py +126 -0
  324. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/erpnext.py +113 -0
  325. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/erpnext_helpers.py +196 -0
  326. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/grafana.py +152 -0
  327. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/grafana_helpers.py +50 -0
  328. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/home_assistant.py +86 -0
  329. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/infra.py +105 -0
  330. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/infra_helpers.py +95 -0
  331. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/kafka.py +98 -0
  332. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/keycloak.py +121 -0
  333. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/leanix.py +226 -0
  334. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/lgtm.py +129 -0
  335. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/mealie.py +128 -0
  336. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/microsoft.py +106 -0
  337. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/nextcloud.py +136 -0
  338. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/odoo.py +127 -0
  339. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/okta.py +161 -0
  340. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/portainer.py +136 -0
  341. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/salesforce.py +102 -0
  342. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/servicenow.py +163 -0
  343. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/servicenow_helpers.py +111 -0
  344. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/social.py +201 -0
  345. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/technitium_dns.py +111 -0
  346. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/twenty.py +122 -0
  347. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/twenty_helpers.py +88 -0
  348. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/uptime_kuma.py +74 -0
  349. agent_connector_sdk-0.3.1/agent_connector_sdk/vendor_extractors/wger.py +140 -0
  350. agent_connector_sdk-0.3.1/agent_connector_sdk/voice_supply_chain/__init__.py +14 -0
  351. agent_connector_sdk-0.3.1/agent_connector_sdk/voice_supply_chain/license_registry.py +110 -0
  352. agent_connector_sdk-0.3.1/agent_connector_sdk/voice_supply_chain/manifest.py +178 -0
  353. agent_connector_sdk-0.3.1/agent_connector_sdk/voice_supply_chain/store.py +14 -0
  354. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/__init__.py +1 -0
  355. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/authorization.py +95 -0
  356. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/connector.py +122 -0
  357. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/durable_files.py +33 -0
  358. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/durable_ledger.py +151 -0
  359. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/durable_transport.py +167 -0
  360. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/epistemic_graph.py +121 -0
  361. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/errors.py +56 -0
  362. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/memory.py +184 -0
  363. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/models.py +33 -0
  364. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/recovery.py +175 -0
  365. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/service.py +152 -0
  366. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback/validation.py +97 -0
  367. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/__init__.py +63 -0
  368. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/_env.py +66 -0
  369. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/core.py +506 -0
  370. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/governed.py +420 -0
  371. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/models.py +15 -0
  372. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/__init__.py +1 -0
  373. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/ansible.py +64 -0
  374. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/archimate.py +93 -0
  375. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/capability.py +215 -0
  376. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/ciso_assistant.py +95 -0
  377. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/egeria.py +92 -0
  378. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/emerald.py +103 -0
  379. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/erpnext.py +144 -0
  380. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/home_assistant.py +74 -0
  381. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/identity.py +158 -0
  382. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/issue_tracker.py +258 -0
  383. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/leanix.py +195 -0
  384. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/legal.py +81 -0
  385. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/mealie.py +90 -0
  386. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/nextcloud.py +108 -0
  387. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/ops.py +155 -0
  388. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/process.py +438 -0
  389. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/salesforce.py +98 -0
  390. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/servicenow.py +271 -0
  391. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/twenty.py +105 -0
  392. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/sinks/wger.py +108 -0
  393. agent_connector_sdk-0.3.1/agent_connector_sdk/writeback_sinks/spec_link.py +262 -0
  394. agent_connector_sdk-0.3.1/agent_connector_sdk.egg-info/PKG-INFO +186 -0
  395. agent_connector_sdk-0.3.1/agent_connector_sdk.egg-info/SOURCES.txt +533 -0
  396. agent_connector_sdk-0.3.1/agent_connector_sdk.egg-info/dependency_links.txt +1 -0
  397. agent_connector_sdk-0.3.1/agent_connector_sdk.egg-info/entry_points.txt +22 -0
  398. agent_connector_sdk-0.3.1/agent_connector_sdk.egg-info/requires.txt +44 -0
  399. agent_connector_sdk-0.3.1/agent_connector_sdk.egg-info/top_level.txt +1 -0
  400. agent_connector_sdk-0.3.1/pyproject.toml +485 -0
  401. agent_connector_sdk-0.3.1/setup.cfg +4 -0
  402. agent_connector_sdk-0.3.1/tests/test_a2a_protocol.py +147 -0
  403. agent_connector_sdk-0.3.1/tests/test_access_contract.py +125 -0
  404. agent_connector_sdk-0.3.1/tests/test_access_contract_helpers.py +24 -0
  405. agent_connector_sdk-0.3.1/tests/test_adapters_web_fetch.py +70 -0
  406. agent_connector_sdk-0.3.1/tests/test_adapters_web_fetch_source_adapter.py +122 -0
  407. agent_connector_sdk-0.3.1/tests/test_agent_config.py +57 -0
  408. agent_connector_sdk-0.3.1/tests/test_artifacts_discovery.py +510 -0
  409. agent_connector_sdk-0.3.1/tests/test_au_helper_parity.py +73 -0
  410. agent_connector_sdk-0.3.1/tests/test_base_install_mcp_free.py +95 -0
  411. agent_connector_sdk-0.3.1/tests/test_certify_cli.py +268 -0
  412. agent_connector_sdk-0.3.1/tests/test_certify_declared_coverage.py +31 -0
  413. agent_connector_sdk-0.3.1/tests/test_certify_pins.py +375 -0
  414. agent_connector_sdk-0.3.1/tests/test_change_subscriptions.py +183 -0
  415. agent_connector_sdk-0.3.1/tests/test_check_public_specs_gate.py +51 -0
  416. agent_connector_sdk-0.3.1/tests/test_client_credentials_literal_secret.py +75 -0
  417. agent_connector_sdk-0.3.1/tests/test_compute_adapter.py +125 -0
  418. agent_connector_sdk-0.3.1/tests/test_connector_runtime_adds.py +265 -0
  419. agent_connector_sdk-0.3.1/tests/test_connector_runtime_from_au.py +134 -0
  420. agent_connector_sdk-0.3.1/tests/test_contracts_and_sink.py +577 -0
  421. agent_connector_sdk-0.3.1/tests/test_credential_provider.py +42 -0
  422. agent_connector_sdk-0.3.1/tests/test_credential_sensitivity.py +44 -0
  423. agent_connector_sdk-0.3.1/tests/test_credentials.py +144 -0
  424. agent_connector_sdk-0.3.1/tests/test_current_plan.py +134 -0
  425. agent_connector_sdk-0.3.1/tests/test_decide_consumers.py +248 -0
  426. agent_connector_sdk-0.3.1/tests/test_decide_epistemic_graph.py +347 -0
  427. agent_connector_sdk-0.3.1/tests/test_doc_privacy_scanner.py +51 -0
  428. agent_connector_sdk-0.3.1/tests/test_document_sources.py +328 -0
  429. agent_connector_sdk-0.3.1/tests/test_duplicate_symbol_scan.py +91 -0
  430. agent_connector_sdk-0.3.1/tests/test_earth_observation_records.py +99 -0
  431. agent_connector_sdk-0.3.1/tests/test_embeddings.py +157 -0
  432. agent_connector_sdk-0.3.1/tests/test_entitlement_catalogs.py +57 -0
  433. agent_connector_sdk-0.3.1/tests/test_entitlements.py +103 -0
  434. agent_connector_sdk-0.3.1/tests/test_event_feeds.py +584 -0
  435. agent_connector_sdk-0.3.1/tests/test_extraction.py +400 -0
  436. agent_connector_sdk-0.3.1/tests/test_finance_account_read.py +76 -0
  437. agent_connector_sdk-0.3.1/tests/test_finance_alpaca_stocks.py +90 -0
  438. agent_connector_sdk-0.3.1/tests/test_finance_banking.py +75 -0
  439. agent_connector_sdk-0.3.1/tests/test_finance_central_bank_calendar.py +99 -0
  440. agent_connector_sdk-0.3.1/tests/test_finance_crypto.py +77 -0
  441. agent_connector_sdk-0.3.1/tests/test_finance_csv_import.py +96 -0
  442. agent_connector_sdk-0.3.1/tests/test_finance_etf_flows.py +78 -0
  443. agent_connector_sdk-0.3.1/tests/test_finance_feeds.py +68 -0
  444. agent_connector_sdk-0.3.1/tests/test_finance_fred_series.py +96 -0
  445. agent_connector_sdk-0.3.1/tests/test_finance_market_data.py +115 -0
  446. agent_connector_sdk-0.3.1/tests/test_finance_records.py +213 -0
  447. agent_connector_sdk-0.3.1/tests/test_finance_strategy_export.py +81 -0
  448. agent_connector_sdk-0.3.1/tests/test_fleet_migration_scan.py +106 -0
  449. agent_connector_sdk-0.3.1/tests/test_fleet_recertification.py +86 -0
  450. agent_connector_sdk-0.3.1/tests/test_foundation.py +180 -0
  451. agent_connector_sdk-0.3.1/tests/test_http_client.py +552 -0
  452. agent_connector_sdk-0.3.1/tests/test_http_dns_pinned_egress.py +223 -0
  453. agent_connector_sdk-0.3.1/tests/test_http_egress.py +62 -0
  454. agent_connector_sdk-0.3.1/tests/test_http_units.py +215 -0
  455. agent_connector_sdk-0.3.1/tests/test_identifiers.py +45 -0
  456. agent_connector_sdk-0.3.1/tests/test_ingest.py +392 -0
  457. agent_connector_sdk-0.3.1/tests/test_library_state.py +65 -0
  458. agent_connector_sdk-0.3.1/tests/test_manifest.py +214 -0
  459. agent_connector_sdk-0.3.1/tests/test_manifest_integrity.py +158 -0
  460. agent_connector_sdk-0.3.1/tests/test_mcp_client_credentials.py +276 -0
  461. agent_connector_sdk-0.3.1/tests/test_mcp_confirmation_roundtrip.py +233 -0
  462. agent_connector_sdk-0.3.1/tests/test_mcp_dispatch.py +228 -0
  463. agent_connector_sdk-0.3.1/tests/test_mcp_graphql_context.py +91 -0
  464. agent_connector_sdk-0.3.1/tests/test_mcp_native_primitives.py +104 -0
  465. agent_connector_sdk-0.3.1/tests/test_method_tools.py +92 -0
  466. agent_connector_sdk-0.3.1/tests/test_network_serving.py +221 -0
  467. agent_connector_sdk-0.3.1/tests/test_ontology_pack.py +119 -0
  468. agent_connector_sdk-0.3.1/tests/test_operation_tools.py +314 -0
  469. agent_connector_sdk-0.3.1/tests/test_outbound_auth.py +362 -0
  470. agent_connector_sdk-0.3.1/tests/test_pack_ontology_imports.py +114 -0
  471. agent_connector_sdk-0.3.1/tests/test_pagination_modes.py +225 -0
  472. agent_connector_sdk-0.3.1/tests/test_paths_mcp_config.py +25 -0
  473. agent_connector_sdk-0.3.1/tests/test_payments.py +117 -0
  474. agent_connector_sdk-0.3.1/tests/test_platform_config_dir.py +124 -0
  475. agent_connector_sdk-0.3.1/tests/test_privacy.py +94 -0
  476. agent_connector_sdk-0.3.1/tests/test_progress_and_http_conformance.py +85 -0
  477. agent_connector_sdk-0.3.1/tests/test_prompt_content.py +323 -0
  478. agent_connector_sdk-0.3.1/tests/test_provider_runtime.py +48 -0
  479. agent_connector_sdk-0.3.1/tests/test_public_surface_source_ingest.py +102 -0
  480. agent_connector_sdk-0.3.1/tests/test_public_surface_writeback_sinks.py +64 -0
  481. agent_connector_sdk-0.3.1/tests/test_registry_visibility_content.py +295 -0
  482. agent_connector_sdk-0.3.1/tests/test_release_quality_r001_r005.py +481 -0
  483. agent_connector_sdk-0.3.1/tests/test_repository_models.py +163 -0
  484. agent_connector_sdk-0.3.1/tests/test_repository_refs.py +107 -0
  485. agent_connector_sdk-0.3.1/tests/test_repository_refwalk_fastpath.py +155 -0
  486. agent_connector_sdk-0.3.1/tests/test_repository_transport.py +320 -0
  487. agent_connector_sdk-0.3.1/tests/test_runner_cli.py +318 -0
  488. agent_connector_sdk-0.3.1/tests/test_runner_config.py +179 -0
  489. agent_connector_sdk-0.3.1/tests/test_runner_end_to_end.py +224 -0
  490. agent_connector_sdk-0.3.1/tests/test_runner_health.py +505 -0
  491. agent_connector_sdk-0.3.1/tests/test_runner_supervision.py +227 -0
  492. agent_connector_sdk-0.3.1/tests/test_safe_post.py +54 -0
  493. agent_connector_sdk-0.3.1/tests/test_schema_disclosure.py +113 -0
  494. agent_connector_sdk-0.3.1/tests/test_schema_disclosure_artifacts.py +66 -0
  495. agent_connector_sdk-0.3.1/tests/test_schema_disclosure_provider.py +163 -0
  496. agent_connector_sdk-0.3.1/tests/test_schema_drift.py +484 -0
  497. agent_connector_sdk-0.3.1/tests/test_schema_repair.py +169 -0
  498. agent_connector_sdk-0.3.1/tests/test_served_security_and_provider_profile.py +292 -0
  499. agent_connector_sdk-0.3.1/tests/test_server_and_auth.py +314 -0
  500. agent_connector_sdk-0.3.1/tests/test_signing.py +54 -0
  501. agent_connector_sdk-0.3.1/tests/test_source_credentials.py +173 -0
  502. agent_connector_sdk-0.3.1/tests/test_source_sync.py +272 -0
  503. agent_connector_sdk-0.3.1/tests/test_source_sync_served.py +112 -0
  504. agent_connector_sdk-0.3.1/tests/test_streaming.py +126 -0
  505. agent_connector_sdk-0.3.1/tests/test_taxonomy_records.py +67 -0
  506. agent_connector_sdk-0.3.1/tests/test_tls_profiles.py +381 -0
  507. agent_connector_sdk-0.3.1/tests/test_tool_surface.py +209 -0
  508. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_ansible.py +75 -0
  509. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_archer_infra_a2a.py +120 -0
  510. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_archimate.py +95 -0
  511. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_aris_egeria_camunda.py +124 -0
  512. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_caddy.py +81 -0
  513. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_contract.py +58 -0
  514. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_emerald.py +91 -0
  515. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_grafana_leanix_erpnext.py +154 -0
  516. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_home_assistant.py +80 -0
  517. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_kafka.py +84 -0
  518. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_keycloak.py +98 -0
  519. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_lgtm.py +98 -0
  520. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_mealie.py +104 -0
  521. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_microsoft.py +83 -0
  522. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_nextcloud.py +111 -0
  523. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_odoo.py +78 -0
  524. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_portainer.py +99 -0
  525. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_salesforce.py +79 -0
  526. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_servicenow_ciso_social.py +154 -0
  527. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_technitium_dns.py +81 -0
  528. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_uptime_kuma.py +83 -0
  529. agent_connector_sdk-0.3.1/tests/test_vendor_extractors_wger_okta_twenty.py +169 -0
  530. agent_connector_sdk-0.3.1/tests/test_writeback.py +145 -0
  531. agent_connector_sdk-0.3.1/tests/test_writeback_audit_reservation.py +47 -0
  532. agent_connector_sdk-0.3.1/tests/test_writeback_durable.py +293 -0
  533. agent_connector_sdk-0.3.1/tests/test_writeback_process_restart.py +148 -0
  534. agent_connector_sdk-0.3.1/tests/test_writeback_sink_process.py +196 -0
  535. agent_connector_sdk-0.3.1/tests/test_writeback_sinks.py +517 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Knuckles Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,186 @@
1
+ Metadata-Version: 2.4
2
+ Name: agent-connector-sdk
3
+ Version: 0.3.1
4
+ Summary: Connector SDK for the agent-packages fleet: MCP server scaffolding, connector manifests, and typed source/content extension ports
5
+ Author-email: Repository Maintainers <maintainers@knuckles.team>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/Knuckles-Team/agent-connector-sdk
8
+ Project-URL: Documentation, https://knuckles-team.github.io/agent-connector-sdk/
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Console
11
+ Classifier: Operating System :: POSIX :: Linux
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Requires-Python: >=3.12
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: epistemic-graph<3.0.0,>=2.27.3
20
+ Requires-Dist: mcp-types<3,>=2.3.0
21
+ Requires-Dist: pydantic<3,>=2.14.1
22
+ Requires-Dist: PyYAML>=6.0.3
23
+ Requires-Dist: httpx>=0.28.1
24
+ Requires-Dist: httpx2>=2.13.1
25
+ Requires-Dist: anyio>=4.15.1
26
+ Requires-Dist: cryptography>=50.0.2
27
+ Provides-Extra: integrity
28
+ Requires-Dist: rdflib>=7.1.0; extra == "integrity"
29
+ Provides-Extra: mcp
30
+ Requires-Dist: fastmcp<5,>=4.1.0; extra == "mcp"
31
+ Requires-Dist: mcp<3,>=2.3.0; extra == "mcp"
32
+ Provides-Extra: a2a
33
+ Requires-Dist: fasta2a[pydantic-ai]<1.0.0,>=0.6.1; extra == "a2a"
34
+ Requires-Dist: starlette<2,>=1.8.0; extra == "a2a"
35
+ Provides-Extra: feeds
36
+ Requires-Dist: feedparser>=6.0.12; extra == "feeds"
37
+ Provides-Extra: dataprep
38
+ Requires-Dist: pyarrow>=24.0.0; extra == "dataprep"
39
+ Provides-Extra: db
40
+ Requires-Dist: psycopg[binary]>=3.2.0; extra == "db"
41
+ Requires-Dist: PyMySQL>=1.1.1; extra == "db"
42
+ Requires-Dist: pymongo>=4.10.0; extra == "db"
43
+ Requires-Dist: oracledb>=2.5.0; extra == "db"
44
+ Provides-Extra: mssql
45
+ Requires-Dist: pyodbc>=5.2.0; extra == "mssql"
46
+ Provides-Extra: graphql
47
+ Requires-Dist: graphql-core>=3.2.5; extra == "graphql"
48
+ Provides-Extra: market
49
+ Requires-Dist: pandas>=2.2.0; extra == "market"
50
+ Requires-Dist: yfinance>=0.2.50; extra == "market"
51
+ Provides-Extra: stream
52
+ Requires-Dist: websockets>=14.0; extra == "stream"
53
+ Dynamic: license-file
54
+
55
+ # Agent Connector SDK
56
+
57
+ <p align="center">
58
+ <img src="docs/assets/brands/agent-connector-sdk-logo-v1.png" alt="Agent Connector SDK logo" width="180">
59
+ </p>
60
+
61
+ <p align="center">
62
+ <b>Build secure connectors once. Serve, synchronize, and write back through one governed contract.</b><br>
63
+ <sub>The typed source-integration boundary for MCP services and Epistemic Graph.</sub>
64
+ </p>
65
+
66
+ [![PyPI - Version](https://img.shields.io/pypi/v/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
67
+ [![Build](https://github.com/Knuckles-Team/agent-connector-sdk/actions/workflows/release.yml/badge.svg)](https://github.com/Knuckles-Team/agent-connector-sdk/actions/workflows/release.yml)
68
+ [![Documentation](https://github.com/Knuckles-Team/agent-connector-sdk/actions/workflows/pages.yml/badge.svg)](https://knuckles-team.github.io/agent-connector-sdk/)
69
+ [![GitHub Repo stars](https://img.shields.io/github/stars/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/stargazers)
70
+ [![GitHub forks](https://img.shields.io/github/forks/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/forks)
71
+ [![GitHub contributors](https://img.shields.io/github/contributors/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/graphs/contributors)
72
+ [![GitHub license](https://img.shields.io/github/license/Knuckles-Team/agent-connector-sdk)](LICENSE)
73
+ [![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/commits/main)
74
+ [![GitHub pull requests](https://img.shields.io/github/issues-pr/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/pulls)
75
+ [![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/pulls?q=is%3Apr+is%3Aclosed)
76
+ [![GitHub issues](https://img.shields.io/github/issues/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/issues)
77
+ [![GitHub top language](https://img.shields.io/github/languages/top/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
78
+ [![GitHub language count](https://img.shields.io/github/languages/count/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
79
+ [![GitHub repo size](https://img.shields.io/github/repo-size/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
80
+ [![GitHub repo file count (file type)](https://img.shields.io/github/directory-file-count/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
81
+ [![PyPI - Downloads](https://img.shields.io/pypi/dd/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
82
+ [![PyPI - License](https://img.shields.io/pypi/l/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
83
+ [![PyPI - Wheel](https://img.shields.io/pypi/wheel/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
84
+ [![PyPI - Implementation](https://img.shields.io/pypi/implementation/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
85
+
86
+ <p align="center">
87
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/">Documentation</a> ·
88
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/capabilities/">Capabilities</a> ·
89
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/extension-ports/">Interfaces</a> ·
90
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/status/">Status</a>
91
+ </p>
92
+
93
+ ---
94
+
95
+ ## Quick Start
96
+
97
+ Create a project and install the SDK:
98
+
99
+ ```bash
100
+ uv init --bare demo-connector
101
+ cd demo-connector
102
+ uv add agent-connector-sdk
103
+ uv sync
104
+ uv run connector-sync --help
105
+ ```
106
+
107
+ The command prints the supervised synchronization options without opening a
108
+ source session. Continue with the
109
+ [connector tutorial](https://knuckles-team.github.io/agent-connector-sdk/tutorial/)
110
+ to build and run a one-file MCP connector, observe its health response, add
111
+ declarative content, certify the live schema, and join source synchronization.
112
+
113
+ ## Overview
114
+
115
+ Agent Connector SDK is the ecosystem's source-integration boundary. It turns
116
+ vendor APIs and domain tools into secure MCP connectors, transports bounded
117
+ source evidence into Epistemic Graph, indexes immutable repository snapshots,
118
+ and applies authorized changes back to source systems.
119
+
120
+ Connector packages retain vendor behavior. The SDK owns transport, lifecycle,
121
+ certification, and effect execution. Generated Epistemic Graph contracts own
122
+ durable graph records, checkpoints, content identity, and receipts.
123
+
124
+ Package version: 0.3.1.
125
+
126
+ ## Key Capabilities
127
+
128
+ - Build FastMCP servers with authentication, safe exposure, health, visibility,
129
+ rate limits, change subscriptions, and consistent tool surfaces.
130
+ - Publish skills, prompts, ontologies, SHACL shapes, and connector manifests as
131
+ typed MCP content.
132
+ - Extract bounded source pages and advance checkpoints only from matching
133
+ durable Epistemic Graph receipts.
134
+ - Import deterministic ConnectorPack archives without copying graph DTOs or
135
+ digest algorithms into connector packages.
136
+ - Stream authenticated immutable repository snapshots into the generated
137
+ `IndexRepository` boundary without becoming a semantic writer.
138
+ - Govern write-back through dry-run, authorization, source-version checks,
139
+ idempotency, and uncertain-effect reconciliation.
140
+ - Certify extension identity, live MCP schemas, pagination, and safety behavior
141
+ before activation.
142
+
143
+ ## Documentation
144
+
145
+ Start with [Build the operator's first connector](https://knuckles-team.github.io/agent-connector-sdk/tutorial/),
146
+ then choose the reference that matches the work:
147
+
148
+ - [Documentation home](https://knuckles-team.github.io/agent-connector-sdk/)
149
+ - [Capabilities](https://knuckles-team.github.io/agent-connector-sdk/capabilities/)
150
+ - [Architecture](https://knuckles-team.github.io/agent-connector-sdk/architecture/)
151
+ - [Connector servers](https://knuckles-team.github.io/agent-connector-sdk/connector-servers/)
152
+ - [Schema disclosure](https://knuckles-team.github.io/agent-connector-sdk/schema-disclosure/)
153
+ - [Source synchronization](https://knuckles-team.github.io/agent-connector-sdk/connector-sync/)
154
+ - [Repository ingestion](https://knuckles-team.github.io/agent-connector-sdk/repository-ingestion/)
155
+ - [Extension interfaces](https://knuckles-team.github.io/agent-connector-sdk/extension-ports/)
156
+ - [Current status](https://knuckles-team.github.io/agent-connector-sdk/status/)
157
+
158
+ Sibling authorities: [Epistemic Graph](https://knuckles-team.github.io/epistemic-graph/)
159
+ owns durable graph state and generated contracts; [Arbora](https://knuckles-team.github.io/arbora/)
160
+ owns authenticated runtime composition.
161
+
162
+ ## Architecture
163
+
164
+ ![Runtime architecture: people and clients enter through Arbora. Source systems flow through Agent Connector SDK into Epistemic Graph.](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)
165
+
166
+ | Boundary | Owned here | Owned elsewhere |
167
+ |---|---|---|
168
+ | Connector service | MCP lifecycle, exposure policy, content capture, certification | Vendor models and business semantics stay in the connector package. |
169
+ | Source ingest | Discovery, bounded extraction, transport, receipt verification | Epistemic Graph owns mapping, checkpoints, provenance, and commit receipts. |
170
+ | Repository ingest | Authenticated snapshots, stable manifests, bounded object transport | Epistemic Graph owns indexing, graph projection, and semantic interpretation. |
171
+ | Write-back | Preview, source-version checks, apply, and reconciliation | Epistemic Graph owns change sets, authorization decisions, and durable outcomes. |
172
+ | Runtime composition | Typed ports and checked dependency requirements | Arbora supplies authenticated identity, clients, and live authority. |
173
+
174
+ The SDK depends directly on `epistemic-graph>=2.27.0`. Generated SourceIngest,
175
+ ConnectorPack, IndexRepository, and WriteBack clients and models are the graph
176
+ boundary; the SDK adds no parallel graph contract.
177
+
178
+ ## Contributing
179
+
180
+ Issues and pull requests are welcome. Follow [AGENTS.md](AGENTS.md) for ownership,
181
+ isolation, and validation rules, and run the affected tests and public-surface
182
+ gates before submitting a change.
183
+
184
+ ## License
185
+
186
+ Agent Connector SDK is released under the [MIT License](LICENSE).
@@ -0,0 +1,132 @@
1
+ # Agent Connector SDK
2
+
3
+ <p align="center">
4
+ <img src="docs/assets/brands/agent-connector-sdk-logo-v1.png" alt="Agent Connector SDK logo" width="180">
5
+ </p>
6
+
7
+ <p align="center">
8
+ <b>Build secure connectors once. Serve, synchronize, and write back through one governed contract.</b><br>
9
+ <sub>The typed source-integration boundary for MCP services and Epistemic Graph.</sub>
10
+ </p>
11
+
12
+ [![PyPI - Version](https://img.shields.io/pypi/v/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
13
+ [![Build](https://github.com/Knuckles-Team/agent-connector-sdk/actions/workflows/release.yml/badge.svg)](https://github.com/Knuckles-Team/agent-connector-sdk/actions/workflows/release.yml)
14
+ [![Documentation](https://github.com/Knuckles-Team/agent-connector-sdk/actions/workflows/pages.yml/badge.svg)](https://knuckles-team.github.io/agent-connector-sdk/)
15
+ [![GitHub Repo stars](https://img.shields.io/github/stars/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/stargazers)
16
+ [![GitHub forks](https://img.shields.io/github/forks/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/forks)
17
+ [![GitHub contributors](https://img.shields.io/github/contributors/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/graphs/contributors)
18
+ [![GitHub license](https://img.shields.io/github/license/Knuckles-Team/agent-connector-sdk)](LICENSE)
19
+ [![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/commits/main)
20
+ [![GitHub pull requests](https://img.shields.io/github/issues-pr/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/pulls)
21
+ [![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/pulls?q=is%3Apr+is%3Aclosed)
22
+ [![GitHub issues](https://img.shields.io/github/issues/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk/issues)
23
+ [![GitHub top language](https://img.shields.io/github/languages/top/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
24
+ [![GitHub language count](https://img.shields.io/github/languages/count/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
25
+ [![GitHub repo size](https://img.shields.io/github/repo-size/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
26
+ [![GitHub repo file count (file type)](https://img.shields.io/github/directory-file-count/Knuckles-Team/agent-connector-sdk)](https://github.com/Knuckles-Team/agent-connector-sdk)
27
+ [![PyPI - Downloads](https://img.shields.io/pypi/dd/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
28
+ [![PyPI - License](https://img.shields.io/pypi/l/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
29
+ [![PyPI - Wheel](https://img.shields.io/pypi/wheel/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
30
+ [![PyPI - Implementation](https://img.shields.io/pypi/implementation/agent-connector-sdk)](https://pypi.org/project/agent-connector-sdk/)
31
+
32
+ <p align="center">
33
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/">Documentation</a> ·
34
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/capabilities/">Capabilities</a> ·
35
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/extension-ports/">Interfaces</a> ·
36
+ <a href="https://knuckles-team.github.io/agent-connector-sdk/status/">Status</a>
37
+ </p>
38
+
39
+ ---
40
+
41
+ ## Quick Start
42
+
43
+ Create a project and install the SDK:
44
+
45
+ ```bash
46
+ uv init --bare demo-connector
47
+ cd demo-connector
48
+ uv add agent-connector-sdk
49
+ uv sync
50
+ uv run connector-sync --help
51
+ ```
52
+
53
+ The command prints the supervised synchronization options without opening a
54
+ source session. Continue with the
55
+ [connector tutorial](https://knuckles-team.github.io/agent-connector-sdk/tutorial/)
56
+ to build and run a one-file MCP connector, observe its health response, add
57
+ declarative content, certify the live schema, and join source synchronization.
58
+
59
+ ## Overview
60
+
61
+ Agent Connector SDK is the ecosystem's source-integration boundary. It turns
62
+ vendor APIs and domain tools into secure MCP connectors, transports bounded
63
+ source evidence into Epistemic Graph, indexes immutable repository snapshots,
64
+ and applies authorized changes back to source systems.
65
+
66
+ Connector packages retain vendor behavior. The SDK owns transport, lifecycle,
67
+ certification, and effect execution. Generated Epistemic Graph contracts own
68
+ durable graph records, checkpoints, content identity, and receipts.
69
+
70
+ Package version: 0.3.1.
71
+
72
+ ## Key Capabilities
73
+
74
+ - Build FastMCP servers with authentication, safe exposure, health, visibility,
75
+ rate limits, change subscriptions, and consistent tool surfaces.
76
+ - Publish skills, prompts, ontologies, SHACL shapes, and connector manifests as
77
+ typed MCP content.
78
+ - Extract bounded source pages and advance checkpoints only from matching
79
+ durable Epistemic Graph receipts.
80
+ - Import deterministic ConnectorPack archives without copying graph DTOs or
81
+ digest algorithms into connector packages.
82
+ - Stream authenticated immutable repository snapshots into the generated
83
+ `IndexRepository` boundary without becoming a semantic writer.
84
+ - Govern write-back through dry-run, authorization, source-version checks,
85
+ idempotency, and uncertain-effect reconciliation.
86
+ - Certify extension identity, live MCP schemas, pagination, and safety behavior
87
+ before activation.
88
+
89
+ ## Documentation
90
+
91
+ Start with [Build the operator's first connector](https://knuckles-team.github.io/agent-connector-sdk/tutorial/),
92
+ then choose the reference that matches the work:
93
+
94
+ - [Documentation home](https://knuckles-team.github.io/agent-connector-sdk/)
95
+ - [Capabilities](https://knuckles-team.github.io/agent-connector-sdk/capabilities/)
96
+ - [Architecture](https://knuckles-team.github.io/agent-connector-sdk/architecture/)
97
+ - [Connector servers](https://knuckles-team.github.io/agent-connector-sdk/connector-servers/)
98
+ - [Schema disclosure](https://knuckles-team.github.io/agent-connector-sdk/schema-disclosure/)
99
+ - [Source synchronization](https://knuckles-team.github.io/agent-connector-sdk/connector-sync/)
100
+ - [Repository ingestion](https://knuckles-team.github.io/agent-connector-sdk/repository-ingestion/)
101
+ - [Extension interfaces](https://knuckles-team.github.io/agent-connector-sdk/extension-ports/)
102
+ - [Current status](https://knuckles-team.github.io/agent-connector-sdk/status/)
103
+
104
+ Sibling authorities: [Epistemic Graph](https://knuckles-team.github.io/epistemic-graph/)
105
+ owns durable graph state and generated contracts; [Arbora](https://knuckles-team.github.io/arbora/)
106
+ owns authenticated runtime composition.
107
+
108
+ ## Architecture
109
+
110
+ ![Runtime architecture: people and clients enter through Arbora. Source systems flow through Agent Connector SDK into Epistemic Graph.](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)
111
+
112
+ | Boundary | Owned here | Owned elsewhere |
113
+ |---|---|---|
114
+ | Connector service | MCP lifecycle, exposure policy, content capture, certification | Vendor models and business semantics stay in the connector package. |
115
+ | Source ingest | Discovery, bounded extraction, transport, receipt verification | Epistemic Graph owns mapping, checkpoints, provenance, and commit receipts. |
116
+ | Repository ingest | Authenticated snapshots, stable manifests, bounded object transport | Epistemic Graph owns indexing, graph projection, and semantic interpretation. |
117
+ | Write-back | Preview, source-version checks, apply, and reconciliation | Epistemic Graph owns change sets, authorization decisions, and durable outcomes. |
118
+ | Runtime composition | Typed ports and checked dependency requirements | Arbora supplies authenticated identity, clients, and live authority. |
119
+
120
+ The SDK depends directly on `epistemic-graph>=2.27.0`. Generated SourceIngest,
121
+ ConnectorPack, IndexRepository, and WriteBack clients and models are the graph
122
+ boundary; the SDK adds no parallel graph contract.
123
+
124
+ ## Contributing
125
+
126
+ Issues and pull requests are welcome. Follow [AGENTS.md](AGENTS.md) for ownership,
127
+ isolation, and validation rules, and run the affected tests and public-surface
128
+ gates before submitting a change.
129
+
130
+ ## License
131
+
132
+ Agent Connector SDK is released under the [MIT License](LICENSE).
@@ -0,0 +1,10 @@
1
+ """agent-connector-sdk: the connector-facing SDK for the agent-packages fleet.
2
+
3
+ Public modules are imported by their own path (``agent_connector_sdk.mcp.server``,
4
+ ``agent_connector_sdk.ports`` and so on); this package root deliberately exports
5
+ only the version so that importing it never pulls in the MCP server stack.
6
+ """
7
+
8
+ from agent_connector_sdk._version import __version__
9
+
10
+ __all__ = ["__version__"]
@@ -0,0 +1,92 @@
1
+ """Typed field readers for ``ac:AccessContract`` subjects."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from ._turtle import AccessContractError, Term
6
+ from .credentials.references import SecretReferenceError, parse_secret_reference
7
+
8
+ AC = "https://knuckles-team.github.io/agent-connector-sdk/access#"
9
+ ACCESS_KINDS = frozenset({"mcp_tool", "http_endpoint", "graphql_query", "a2a_skill"})
10
+ PAGINATION_MODES = frozenset({"none", "cursor", "offset", "page"})
11
+ PUSHDOWN_OPS = frozenset({"filter", "sort", "limit", "project"})
12
+ COST_HINTS = frozenset({"low", "medium", "high"})
13
+
14
+ Props = dict[str, list[Term]]
15
+
16
+
17
+ def _one(props: Props, name: str, subject: str) -> Term | None:
18
+ values = props.get(AC + name, [])
19
+ if len(values) > 1:
20
+ raise AccessContractError(f"{subject}: ac:{name} appears more than once")
21
+ return values[0] if values else None
22
+
23
+
24
+ def text(props: Props, name: str, subject: str) -> str:
25
+ """Return a required non-empty string property."""
26
+ value = _one(props, name, subject)
27
+ if not isinstance(value, str) or not value.strip():
28
+ raise AccessContractError(f"{subject}: missing ac:{name}")
29
+ return value
30
+
31
+
32
+ def integer(props: Props, name: str, subject: str) -> int | None:
33
+ """Return an optional non-negative integer property."""
34
+ value = _one(props, name, subject)
35
+ if value is not None and (not isinstance(value, int) or value < 0):
36
+ raise AccessContractError(
37
+ f"{subject}: ac:{name} must be a non-negative integer"
38
+ )
39
+ return value
40
+
41
+
42
+ def choice(
43
+ props: Props,
44
+ name: str,
45
+ subject: str,
46
+ *,
47
+ allowed: frozenset[str],
48
+ default: str | None = None,
49
+ ) -> str:
50
+ """Return a property constrained to ``allowed``; ``default`` makes it optional."""
51
+ raw = _one(props, name, subject) if default is not None else None
52
+ value = text(props, name, subject) if default is None else str(raw or default)
53
+ if value not in allowed:
54
+ raise AccessContractError(f"{subject}: unknown ac:{name} {value!r}")
55
+ return value
56
+
57
+
58
+ def pushdown(props: Props, subject: str) -> frozenset[str]:
59
+ """Return the declared pushdown operations, refusing unknown ones."""
60
+ ops = frozenset(str(op) for op in props.get(AC + "pushdown", []))
61
+ unknown = sorted(ops - PUSHDOWN_OPS)
62
+ if unknown:
63
+ raise AccessContractError(f"{subject}: unknown ac:pushdown {unknown}")
64
+ return ops
65
+
66
+
67
+ def parameters(props: Props) -> tuple[str, ...]:
68
+ """Return the declared operation parameters in sorted order."""
69
+ return tuple(sorted(str(p) for p in props.get(AC + "parameter", [])))
70
+
71
+
72
+ def auth_ref(props: Props, subject: str) -> str | None:
73
+ """Return a rendered credential reference, refusing a literal secret."""
74
+ value = _one(props, "authRef", subject)
75
+ if value is None:
76
+ return None
77
+ try:
78
+ return parse_secret_reference(str(value)).render()
79
+ except SecretReferenceError:
80
+ raise AccessContractError(
81
+ f"{subject}: ac:authRef must be a credential reference, not a secret"
82
+ ) from None
83
+
84
+
85
+ def bindings(graph: dict[str, Props], contract: str) -> tuple[tuple[str, str], ...]:
86
+ """Return the sorted (property, field) pairs bound to ``contract``."""
87
+ pairs = []
88
+ for subject, props in graph.items():
89
+ if contract in props.get(AC + "contract", []):
90
+ prop = text(props, "property", subject)
91
+ pairs.append((prop, text(props, "field", subject)))
92
+ return tuple(sorted(pairs))
@@ -0,0 +1,22 @@
1
+ """Clear errors for features that need an optional extra of the base install."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import importlib
6
+
7
+ __all__ = ["require_mcp_extra"]
8
+
9
+
10
+ def require_mcp_extra(feature: str) -> None:
11
+ """Raise ``ImportError`` naming the ``mcp`` extra when fastmcp or mcp is absent."""
12
+ missing = []
13
+ for name in ("fastmcp", "mcp"):
14
+ try:
15
+ importlib.import_module(name)
16
+ except ImportError:
17
+ missing.append(name)
18
+ if missing:
19
+ raise ImportError(
20
+ f"{feature} needs {' and '.join(missing)}, which the base install of "
21
+ 'agent-connector-sdk leaves out; install "agent-connector-sdk[mcp]"'
22
+ )
@@ -0,0 +1,116 @@
1
+ """Flat Turtle reader used by the access-contract parser.
2
+
3
+ It tokenizes one restricted profile (see :mod:`agent_connector_sdk.access_contract`)
4
+ and raises :class:`AccessContractError` on anything outside it.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import re
10
+ from collections import defaultdict
11
+
12
+ RDF_TYPE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
13
+
14
+ _TOKEN_RE = re.compile(
15
+ r"(?P<ws>\s+|#[^\n]*)"
16
+ r"|(?P<iri><[^<>\s]*>)"
17
+ r'|(?P<str>"(?:[^"\\\n]|\\.)*")'
18
+ r"|(?P<int>-?\d+)"
19
+ r"|(?P<prefix>@prefix)"
20
+ r"|(?P<pname>[A-Za-z_]?[\w-]*:(?:[\w-](?:[\w.-]*[\w-])?)?)"
21
+ r"|(?P<a>a(?=\s))"
22
+ r"|(?P<punct>[;,.])"
23
+ )
24
+
25
+ Term = str | int
26
+ Triple = tuple[str, str, Term]
27
+
28
+
29
+ class AccessContractError(ValueError):
30
+ """A connector ontology declares an invalid access contract."""
31
+
32
+
33
+ def _tokens(text: str) -> list[tuple[str, str]]:
34
+ out: list[tuple[str, str]] = []
35
+ pos = 0
36
+ while pos < len(text):
37
+ match = _TOKEN_RE.match(text, pos)
38
+ if match is None or match.end() == pos:
39
+ raise AccessContractError(f"unsupported Turtle at offset {pos}")
40
+ kind = match.lastgroup or ""
41
+ if kind != "ws":
42
+ out.append((kind, match.group()))
43
+ pos = match.end()
44
+ return out
45
+
46
+
47
+ class _Reader:
48
+ def __init__(self, text: str) -> None:
49
+ self.toks = _tokens(text)
50
+ self.pos = 0
51
+ self.prefixes: dict[str, str] = {}
52
+ self.triples: list[Triple] = []
53
+
54
+ def next(self) -> tuple[str, str]:
55
+ if self.pos >= len(self.toks):
56
+ raise AccessContractError("unexpected end of Turtle")
57
+ self.pos += 1
58
+ return self.toks[self.pos - 1]
59
+
60
+ def expect(self, value: str) -> None:
61
+ if self.next()[1] != value:
62
+ raise AccessContractError(f"expected {value!r}")
63
+
64
+ def term(self) -> Term:
65
+ kind, value = self.next()
66
+ if kind == "iri":
67
+ return value[1:-1]
68
+ if kind == "a":
69
+ return RDF_TYPE
70
+ if kind == "pname":
71
+ prefix, _, local = value.partition(":")
72
+ if prefix not in self.prefixes:
73
+ raise AccessContractError(f"undeclared prefix {prefix!r}")
74
+ return self.prefixes[prefix] + local
75
+ if kind == "str":
76
+ return value[1:-1].replace('\\"', '"').replace("\\\\", "\\")
77
+ if kind == "int":
78
+ return int(value)
79
+ raise AccessContractError(f"unexpected token {value!r}")
80
+
81
+ def prefix(self) -> None:
82
+ kind, name = self.next()
83
+ iri = self.next()
84
+ if kind != "pname" or not name.endswith(":") or iri[0] != "iri":
85
+ raise AccessContractError("malformed @prefix")
86
+ self.prefixes[name[:-1]] = iri[1][1:-1]
87
+ self.expect(".")
88
+
89
+ def statement(self) -> None:
90
+ subject = str(self.term())
91
+ sep = ";"
92
+ while sep == ";":
93
+ predicate = str(self.term())
94
+ sep = ","
95
+ while sep == ",":
96
+ self.triples.append((subject, predicate, self.term()))
97
+ sep = self.next()[1]
98
+ if sep != ".":
99
+ raise AccessContractError("statement must end with '.'")
100
+
101
+ def read(self) -> list[Triple]:
102
+ while self.pos < len(self.toks):
103
+ if self.toks[self.pos][0] == "prefix":
104
+ self.pos += 1
105
+ self.prefix()
106
+ else:
107
+ self.statement()
108
+ return self.triples
109
+
110
+
111
+ def parse_graph(text: str) -> dict[str, dict[str, list[Term]]]:
112
+ """Read flat Turtle into a subject -> predicate -> objects index."""
113
+ graph: dict[str, dict[str, list[Term]]] = defaultdict(lambda: defaultdict(list))
114
+ for subject, predicate, obj in _Reader(text).read():
115
+ graph[subject][predicate].append(obj)
116
+ return graph
@@ -0,0 +1,3 @@
1
+ """Single source of the package version (read by setuptools and bump2version)."""
2
+
3
+ __version__ = "0.3.1"
@@ -0,0 +1,46 @@
1
+ """Agent-to-Agent (A2A) protocol pieces any connector or host can reuse.
2
+
3
+ CONCEPT:SDK-CONNECTOR-CONTROL-R014.21
4
+
5
+ The base install carries the wire models and the JSON-RPC client (pydantic and
6
+ httpx only). The server-side application factory needs the optional ``a2a``
7
+ extra (fasta2a and starlette); a host such as arbora mounts it behind its own
8
+ admission and authentication. Nothing here stores tasks or builds cards from a
9
+ graph: durable task state and graph-derived cards belong to the host.
10
+ """
11
+
12
+ from __future__ import annotations
13
+
14
+ from typing import Any
15
+
16
+ from .client import A2AClient, A2AResult
17
+ from .models import (
18
+ A2AMessage,
19
+ A2ATask,
20
+ A2ATaskStatus,
21
+ AgentCard,
22
+ AgentSkill,
23
+ TaskState,
24
+ TextPart,
25
+ )
26
+
27
+ __all__ = [
28
+ "A2AClient",
29
+ "A2AMessage",
30
+ "A2AResult",
31
+ "A2ATask",
32
+ "A2ATaskStatus",
33
+ "AgentCard",
34
+ "AgentSkill",
35
+ "TaskState",
36
+ "TextPart",
37
+ "create_a2a_app",
38
+ ]
39
+
40
+
41
+ def __getattr__(name: str) -> Any:
42
+ if name == "create_a2a_app":
43
+ from .app import create_a2a_app
44
+
45
+ return create_a2a_app
46
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")