openhound-github 0.12.0__tar.gz → 0.13.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 (438) hide show
  1. {openhound_github-0.12.0 → openhound_github-0.13.1}/PKG-INFO +2 -1
  2. {openhound_github-0.12.0 → openhound_github-0.13.1}/README.md +1 -0
  3. openhound_github-0.13.1/descriptions/edges/GH_AddedDeployKey.md +20 -0
  4. openhound_github-0.13.1/descriptions/edges/GH_CanAccess.md +29 -0
  5. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_Contains.md +12 -9
  6. openhound_github-0.13.1/descriptions/nodes/GH_DeployKey.md +43 -0
  7. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Repository.md +92 -87
  8. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_User.md +16 -14
  9. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/schema.json +14 -1
  10. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/graphql.py +3 -0
  11. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/kinds/edges.py +1 -0
  12. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/kinds/nodes.py +1 -0
  13. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/lookup.py +33 -3
  14. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/main.py +1 -0
  15. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/__init__.py +2 -0
  16. openhound_github-0.13.1/src/openhound_github/models/deploy_key.py +186 -0
  17. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/org_role.py +4 -3
  18. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/repository.py +10 -1
  19. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/resources/organization.py +31 -0
  20. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/transforms.py +28 -1
  21. openhound_github-0.13.1/tests/test_deploy_key_models.py +81 -0
  22. openhound_github-0.13.1/tests/test_deploy_key_resources.py +66 -0
  23. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_lookup.py +51 -0
  24. openhound_github-0.13.1/tests/test_org_role_model.py +68 -0
  25. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_repository_rulesets.py +13 -7
  26. openhound_github-0.12.0/descriptions/edges/GH_CanAccess.md +0 -26
  27. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/CODE_OF_CONDUCT.md +0 -0
  28. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/CONTRIBUTING.md +0 -0
  29. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/GOVERNANCE.md +0 -0
  30. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/GitHub-COC-Header.png +0 -0
  31. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/GitHub-CONTRIB-Header.png +0 -0
  32. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/GitHub-GOV-Header.png +0 -0
  33. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/GitHub-Header.png +0 -0
  34. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/GitHub-LIC-Header.png +0 -0
  35. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/GitHub-SEC-Header.png +0 -0
  36. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/SECURITY.md +0 -0
  37. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/SO-Dark.svg +0 -0
  38. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/SO-FOSS-Dark.svg +0 -0
  39. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/SO-FOSS-Light.svg +0 -0
  40. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/SO-Light.svg +0 -0
  41. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/workflows/publish.yml +0 -0
  42. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/workflows/release-on-merge.yml +0 -0
  43. {openhound_github-0.12.0 → openhound_github-0.13.1}/.github/workflows/validate-branch.yml +0 -0
  44. {openhound_github-0.12.0 → openhound_github-0.13.1}/.gitignore +0 -0
  45. {openhound_github-0.12.0 → openhound_github-0.13.1}/.gitmodules +0 -0
  46. {openhound_github-0.12.0 → openhound_github-0.13.1}/.pre-commit-config.yaml +0 -0
  47. {openhound_github-0.12.0 → openhound_github-0.13.1}/LICENSE.md +0 -0
  48. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_AddAssignee.md +0 -0
  49. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_AddCollaborator.md +0 -0
  50. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_AddLabel.md +0 -0
  51. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_AddMember.md +0 -0
  52. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_AdminTo.md +0 -0
  53. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ApprovesDeploymentTo.md +0 -0
  54. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_AssignedTo.md +0 -0
  55. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_BypassBranchProtection.md +0 -0
  56. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_BypassPullRequestAllowances.md +0 -0
  57. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CallsWorkflow.md +0 -0
  58. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanAccessSecret.md +0 -0
  59. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanAssumeIdentity.md +0 -0
  60. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanCreateBranch.md +0 -0
  61. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanCreateEnvironment.md +0 -0
  62. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanCreateInternalRepositories.md +0 -0
  63. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanCreatePrivateRepositories.md +0 -0
  64. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanCreatePublicRepositories.md +0 -0
  65. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanCreateRepositories.md +0 -0
  66. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanCreateRepositoryWithRunnerAccess.md +0 -0
  67. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanDeployToEnvironment.md +0 -0
  68. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanEditEnvironment.md +0 -0
  69. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanEditProtection.md +0 -0
  70. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanInterceptJob.md +0 -0
  71. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanPwnRequest.md +0 -0
  72. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanReadSecret.md +0 -0
  73. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanReadSecretScanningAlert.md +0 -0
  74. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanRequestOIDCTokenFor.md +0 -0
  75. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanUseRunner.md +0 -0
  76. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CanWriteBranch.md +0 -0
  77. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CloseDiscussion.md +0 -0
  78. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CloseIssue.md +0 -0
  79. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ClosePullRequest.md +0 -0
  80. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ConvertIssuesToDiscussions.md +0 -0
  81. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CreateDiscussionCategory.md +0 -0
  82. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CreateEnterpriseOrganizations.md +0 -0
  83. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CreateRepository.md +0 -0
  84. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CreateSoloMergeQueueEntry.md +0 -0
  85. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CreateTag.md +0 -0
  86. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_CreateTeam.md +0 -0
  87. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_DeleteAlertsCodeScanning.md +0 -0
  88. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_DeleteDiscussion.md +0 -0
  89. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_DeleteDiscussionComment.md +0 -0
  90. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_DeleteIssue.md +0 -0
  91. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_DeleteTag.md +0 -0
  92. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_DependsOn.md +0 -0
  93. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_DeploysTo.md +0 -0
  94. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditCategoryOnDiscussion.md +0 -0
  95. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditDiscussionCategory.md +0 -0
  96. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditDiscussionComment.md +0 -0
  97. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditEnterpriseCustomPropertiesForOrganizations.md +0 -0
  98. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditRepoAnnouncementBanners.md +0 -0
  99. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditRepoCustomPropertiesValues.md +0 -0
  100. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditRepoMetadata.md +0 -0
  101. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_EditRepoProtections.md +0 -0
  102. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasBaseRole.md +0 -0
  103. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasExternalIdentity.md +0 -0
  104. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasMember.md +0 -0
  105. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasPersonalAccessToken.md +0 -0
  106. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasPersonalAccessTokenRequest.md +0 -0
  107. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasRole.md +0 -0
  108. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasRunner.md +0 -0
  109. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasSamlIdentityProvider.md +0 -0
  110. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasSecret.md +0 -0
  111. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_HasVariable.md +0 -0
  112. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_InheritedFrom.md +0 -0
  113. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_InstalledAs.md +0 -0
  114. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_InviteMember.md +0 -0
  115. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_IsEligibleFor.md +0 -0
  116. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_JumpMergeQueue.md +0 -0
  117. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageDeployKeys.md +0 -0
  118. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageDiscussionBadges.md +0 -0
  119. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageEnterpriseAdmins.md +0 -0
  120. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageEnterpriseIdentityProvider.md +0 -0
  121. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageEnterpriseMembers.md +0 -0
  122. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageEnterpriseOrganizationAdmins.md +0 -0
  123. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageEnterpriseOrganizations.md +0 -0
  124. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageEnterpriseReferrals.md +0 -0
  125. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageEnterpriseTeams.md +0 -0
  126. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageOrganizationWebhooks.md +0 -0
  127. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageRepoSecurityProducts.md +0 -0
  128. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageSecurityProducts.md +0 -0
  129. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageSettingsMergeTypes.md +0 -0
  130. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageSettingsPages.md +0 -0
  131. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageSettingsProjects.md +0 -0
  132. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageSettingsWiki.md +0 -0
  133. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageTopics.md +0 -0
  134. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ManageWebhooks.md +0 -0
  135. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_MapsToUser.md +0 -0
  136. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_MarkAsDuplicate.md +0 -0
  137. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_MatchesEnvironmentPolicy.md +0 -0
  138. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_MemberOf.md +0 -0
  139. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_OrgBypassCodeScanningDismissalRequests.md +0 -0
  140. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_OrgBypassSecretScanningClosureRequests.md +0 -0
  141. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_OrgReviewAndManageSecretScanningBypassRequests.md +0 -0
  142. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_OrgReviewAndManageSecretScanningClosureRequests.md +0 -0
  143. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_Owns.md +0 -0
  144. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ProtectedBy.md +0 -0
  145. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_PushProtectedBranch.md +0 -0
  146. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadCodeScanning.md +0 -0
  147. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadEnterpriseAuditLog.md +0 -0
  148. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadEnterpriseDomainVerification.md +0 -0
  149. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadEnterpriseMembers.md +0 -0
  150. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadEnterpriseOrgProjects.md +0 -0
  151. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadEnterpriseOrganizationAdmin.md +0 -0
  152. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadOrganizationActionsUsageMetrics.md +0 -0
  153. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadOrganizationCustomOrgRole.md +0 -0
  154. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadOrganizationCustomRepoRole.md +0 -0
  155. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReadRepoContents.md +0 -0
  156. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_RemoveAssignee.md +0 -0
  157. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_RemoveLabel.md +0 -0
  158. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReopenDiscussion.md +0 -0
  159. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReopenIssue.md +0 -0
  160. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ReopenPullRequest.md +0 -0
  161. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_RequestPrReview.md +0 -0
  162. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ResolveDependabotAlerts.md +0 -0
  163. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ResolveSecretScanningAlerts.md +0 -0
  164. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_RestrictionsCanPush.md +0 -0
  165. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_RunOrgMigration.md +0 -0
  166. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_RunsOn.md +0 -0
  167. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_SetEnterpriseInteractionLimits.md +0 -0
  168. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_SetInteractionLimits.md +0 -0
  169. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_SetIssueType.md +0 -0
  170. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_SetMilestone.md +0 -0
  171. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_SetSocialPreview.md +0 -0
  172. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_SyncedTo.md +0 -0
  173. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ToggleDiscussionAnswer.md +0 -0
  174. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ToggleDiscussionCommentMinimize.md +0 -0
  175. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_TransferRepository.md +0 -0
  176. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_UsesSecret.md +0 -0
  177. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_UsesVariable.md +0 -0
  178. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ValidToken.md +0 -0
  179. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ViewDependabotAlerts.md +0 -0
  180. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ViewEnterpriseActionsUsageMetrics.md +0 -0
  181. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ViewEnterpriseBilling.md +0 -0
  182. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ViewEnterpriseSecretScanningAlerts.md +0 -0
  183. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_ViewSecretScanningAlerts.md +0 -0
  184. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteCodeScanning.md +0 -0
  185. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteEnterpriseActionsPolicies.md +0 -0
  186. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteEnterpriseBilling.md +0 -0
  187. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteEnterprisePersonalAccessTokenPolicies.md +0 -0
  188. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteEnterpriseSso.md +0 -0
  189. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteEnterpriseTeamMembers.md +0 -0
  190. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteOrganizationActionsSecrets.md +0 -0
  191. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteOrganizationActionsSettings.md +0 -0
  192. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteOrganizationActionsVariables.md +0 -0
  193. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteOrganizationCustomOrgRole.md +0 -0
  194. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteOrganizationCustomRepoRole.md +0 -0
  195. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteOrganizationNetworkConfigurations.md +0 -0
  196. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteRepoContents.md +0 -0
  197. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/edges/GH_WriteRepoPullRequests.md +0 -0
  198. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_App.md +0 -0
  199. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_AppInstallation.md +0 -0
  200. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Branch.md +0 -0
  201. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_BranchProtectionRule.md +0 -0
  202. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Enterprise.md +0 -0
  203. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnterpriseManagedUser.md +0 -0
  204. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnterpriseRole.md +0 -0
  205. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnterpriseRunner.md +0 -0
  206. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnterpriseRunnerGroup.md +0 -0
  207. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnterpriseTeam.md +0 -0
  208. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Environment.md +0 -0
  209. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnvironmentBranchPolicy.md +0 -0
  210. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnvironmentSecret.md +0 -0
  211. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_EnvironmentVariable.md +0 -0
  212. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_ExternalIdentity.md +0 -0
  213. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_OrgRole.md +0 -0
  214. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_OrgRunner.md +0 -0
  215. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_OrgRunnerGroup.md +0 -0
  216. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_OrgSecret.md +0 -0
  217. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_OrgVariable.md +0 -0
  218. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Organization.md +0 -0
  219. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_PersonalAccessToken.md +0 -0
  220. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_PersonalAccessTokenRequest.md +0 -0
  221. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_RepoRole.md +0 -0
  222. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_RepoRunner.md +0 -0
  223. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_RepoSecret.md +0 -0
  224. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_RepoVariable.md +0 -0
  225. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Runner.md +0 -0
  226. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_RunnerGroup.md +0 -0
  227. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_SamlIdentityProvider.md +0 -0
  228. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Secret.md +0 -0
  229. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_SecretScanningAlert.md +0 -0
  230. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Team.md +0 -0
  231. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_TeamRole.md +0 -0
  232. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Variable.md +0 -0
  233. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_Workflow.md +0 -0
  234. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_WorkflowJob.md +0 -0
  235. {openhound_github-0.12.0 → openhound_github-0.13.1}/descriptions/nodes/GH_WorkflowStep.md +0 -0
  236. {openhound_github-0.12.0 → openhound_github-0.13.1}/docs/og-docs.json +0 -0
  237. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-all-repo-admin-role.json +0 -0
  238. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-app-installations-all-repos.json +0 -0
  239. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-apps-all-repos.json +0 -0
  240. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-enterprise-owners-role.json +0 -0
  241. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-external-identities-owners.json +0 -0
  242. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-organizations.json +0 -0
  243. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-owner-users.json +0 -0
  244. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-owners-role.json +0 -0
  245. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-pats-all-repos.json +0 -0
  246. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-privilege-escalation-roles.json +0 -0
  247. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-privilege-escalation-users.json +0 -0
  248. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/privilege_zone_rules/t0-saml-identity-providers.json +0 -0
  249. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/README.md +0 -0
  250. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/actions-sha-pinning-not-required.json +0 -0
  251. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/active-leaked-secrets.json +0 -0
  252. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/advanced-security-disabled-new-repos.json +0 -0
  253. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/all-actions-allowed.json +0 -0
  254. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/app-installations-all-repos.json +0 -0
  255. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-admins-not-enforced.json +0 -0
  256. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-deletions-allowed.json +0 -0
  257. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-force-pushes.json +0 -0
  258. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-no-code-owner-reviews.json +0 -0
  259. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-no-pr-reviews.json +0 -0
  260. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-no-status-checks.json +0 -0
  261. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-self-approval.json +0 -0
  262. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/branch-protection-stale-reviews.json +0 -0
  263. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/bypass-pr-requirements.json +0 -0
  264. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/dangerous-branch-perms.json +0 -0
  265. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/default-repository-permissions.json +0 -0
  266. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/demo-sso-to-cloud-round-trip.json +0 -0
  267. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/dependabot-alerts-disabled-new-repos.json +0 -0
  268. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/dependabot-updates-disabled-new-repos.json +0 -0
  269. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/dependency-graph-disabled-new-repos.json +0 -0
  270. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/environments-admin-bypass.json +0 -0
  271. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/expired-pats.json +0 -0
  272. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/external-identities-without-scim.json +0 -0
  273. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/github-to-azure-identity.json +0 -0
  274. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/global-repo-perms.json +0 -0
  275. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/hybrid-identities.json +0 -0
  276. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/members-can-change-repo-visibility.json +0 -0
  277. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/members-can-create-pages.json +0 -0
  278. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/members-can-create-public-repos.json +0 -0
  279. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/members-can-delete-repos.json +0 -0
  280. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/members-can-fork-private-repos.json +0 -0
  281. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/members-can-invite-outside-collaborators.json +0 -0
  282. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/org-owners.json +0 -0
  283. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/orgs-without-2fa.json +0 -0
  284. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/pats-all-repo-access.json +0 -0
  285. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/pending-pat-requests.json +0 -0
  286. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/private-repos-forking-allowed.json +0 -0
  287. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/privileged-custom-org-roles.json +0 -0
  288. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/privileged-hybrid-identities.json +0 -0
  289. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/public-repos.json +0 -0
  290. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/push-protection-disabled-new-repos.json +0 -0
  291. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/push-to-protected-branches.json +0 -0
  292. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/repos-secret-scanning-disabled.json +0 -0
  293. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/repos-vulnerable-to-workflow-secret-exfil.json +0 -0
  294. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/repository-workflows.json +0 -0
  295. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/saml-configuration.json +0 -0
  296. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/secret-scanning-alerts.json +0 -0
  297. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/secret-scanning-disabled-new-repos.json +0 -0
  298. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/secrets-reachable-by-user.json +0 -0
  299. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/self-hosted-runners-can-intercept-broad-token-jobs.json +0 -0
  300. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/shared-self-hosted-runners-can-intercept-secret-bearing-jobs.json +0 -0
  301. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/team-membership-admin.json +0 -0
  302. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/team-structure.json +0 -0
  303. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/unprotected-branches.json +0 -0
  304. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/unprotected-default-branch-with-workflow.json +0 -0
  305. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/unprotected-default-branches.json +0 -0
  306. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/web-commit-signoff-not-required.json +0 -0
  307. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/workflow-jobs-interceptable-by-self-hosted-runners.json +0 -0
  308. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/workflow-jobs-with-broad-token-write-permissions.json +0 -0
  309. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/workflow-jobs-with-id-token-write-on-self-hosted-runners.json +0 -0
  310. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/workflow-jobs-with-id-token-write.json +0 -0
  311. {openhound_github-0.12.0 → openhound_github-0.13.1}/extension/saved_searches/workflow-jobs-with-observed-oidc-auth-steps.json +0 -0
  312. {openhound_github-0.12.0 → openhound_github-0.13.1}/justfile +0 -0
  313. {openhound_github-0.12.0 → openhound_github-0.13.1}/pyproject.toml +0 -0
  314. {openhound_github-0.12.0 → openhound_github-0.13.1}/scripts/generate_gh_description_docs.py +0 -0
  315. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/main.py +0 -0
  316. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/__init__.py +0 -0
  317. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/auth.py +0 -0
  318. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/extension.yaml +0 -0
  319. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/github_rest_client.py +0 -0
  320. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/github_retry.py +0 -0
  321. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/graph.py +0 -0
  322. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/helpers.py +0 -0
  323. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/actions_permission.py +0 -0
  324. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/app_installation.py +0 -0
  325. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/branch.py +0 -0
  326. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/branch_pr_bypass_allowance.py +0 -0
  327. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/branch_protection_rule.py +0 -0
  328. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/branch_push_allowance.py +0 -0
  329. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise.py +0 -0
  330. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_admin.py +0 -0
  331. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_helpers.py +0 -0
  332. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_managed_user.py +0 -0
  333. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_member.py +0 -0
  334. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_organization.py +0 -0
  335. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_role.py +0 -0
  336. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_role_team.py +0 -0
  337. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_role_user.py +0 -0
  338. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_team.py +0 -0
  339. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_team_member.py +0 -0
  340. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_team_organization.py +0 -0
  341. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_team_role.py +0 -0
  342. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/enterprise_user.py +0 -0
  343. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/env_secret.py +0 -0
  344. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/env_variable.py +0 -0
  345. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/environment.py +0 -0
  346. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/environment_branch_policy.py +0 -0
  347. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/external_identity.py +0 -0
  348. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/org.py +0 -0
  349. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/org_role_member.py +0 -0
  350. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/org_role_team.py +0 -0
  351. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/org_secret.py +0 -0
  352. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/org_variable.py +0 -0
  353. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/permissions.py +0 -0
  354. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/personal_access_token.py +0 -0
  355. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/personal_access_token_access.py +0 -0
  356. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/personal_access_token_request.py +0 -0
  357. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/projected_enterprise_team.py +0 -0
  358. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/repo_role_assignment.py +0 -0
  359. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/repository_role.py +0 -0
  360. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/repository_secret.py +0 -0
  361. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/repository_variable.py +0 -0
  362. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/runner.py +0 -0
  363. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/saml_assertion_consumer_service.py +0 -0
  364. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/saml_helpers.py +0 -0
  365. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/saml_issuer.py +0 -0
  366. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/saml_provider.py +0 -0
  367. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/saml_service_provider.py +0 -0
  368. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/scim_user.py +0 -0
  369. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/secret_scanning_alert.py +0 -0
  370. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/team.py +0 -0
  371. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/team_member.py +0 -0
  372. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/team_role.py +0 -0
  373. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/user.py +0 -0
  374. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/workflow.py +0 -0
  375. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/workflow_job.py +0 -0
  376. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/workflow_reference.py +0 -0
  377. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/models/workflow_step.py +0 -0
  378. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/resources/__init__.py +0 -0
  379. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/resources/enterprise.py +0 -0
  380. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/runner_ids.py +0 -0
  381. {openhound_github-0.12.0 → openhound_github-0.13.1}/src/openhound_github/source.py +0 -0
  382. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_app_auth.py +0 -0
  383. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_branch_collection_gate.py +0 -0
  384. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_branch_protection_traversability.py +0 -0
  385. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_credential_permission_models.py +0 -0
  386. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/actions-permissions.json +0 -0
  387. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/actionsecrets.json +0 -0
  388. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/app.json +0 -0
  389. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/appinstalls.json +0 -0
  390. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/branch-policies.json +0 -0
  391. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/branch-prot-rules.json +0 -0
  392. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/branches.json +0 -0
  393. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/custom-roles.json +0 -0
  394. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/environments.json +0 -0
  395. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/org-pat-request.json +0 -0
  396. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/org-pat.json +0 -0
  397. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/org-role-teams.json +0 -0
  398. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/org-role-users.json +0 -0
  399. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/org-roles.json +0 -0
  400. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/org.json +0 -0
  401. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/pat-repositories.json +0 -0
  402. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/repo-collaborators.json +0 -0
  403. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/repo-teams.json +0 -0
  404. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/repositories.json +0 -0
  405. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/scimusers.json +0 -0
  406. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/secrets.json +0 -0
  407. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/secretscanningalert.json +0 -0
  408. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/selected-org-secrets.json +0 -0
  409. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/variables.json +0 -0
  410. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_data/api/workflows.json +0 -0
  411. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_description_docs.py +0 -0
  412. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_enterprise_capabilities.py +0 -0
  413. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_enterprise_organization.py +0 -0
  414. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_enterprise_resources.py +0 -0
  415. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_environment_model.py +0 -0
  416. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_environment_resources.py +0 -0
  417. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_environment_reviewer_lookup.py +0 -0
  418. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_error_resilience.py +0 -0
  419. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_github_app_retry.py +0 -0
  420. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_github_rest_client.py +0 -0
  421. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_github_retry.py +0 -0
  422. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_helpers.py +0 -0
  423. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_org_scim_resources.py +0 -0
  424. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_org_secret_models.py +0 -0
  425. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_runner_ids.py +0 -0
  426. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_runner_models.py +0 -0
  427. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_runner_resources.py +0 -0
  428. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_saml_helpers.py +0 -0
  429. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_saml_models.py +0 -0
  430. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_scim_models.py +0 -0
  431. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_source_endpoints.py +0 -0
  432. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_source_org_canonicalization.py +0 -0
  433. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_team_external_groups.py +0 -0
  434. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_variable_models.py +0 -0
  435. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_workflow_interception_path.py +0 -0
  436. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_workflow_model.py +0 -0
  437. {openhound_github-0.12.0 → openhound_github-0.13.1}/tests/test_workflow_resources.py +0 -0
  438. {openhound_github-0.12.0 → openhound_github-0.13.1}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: openhound-github
3
- Version: 0.12.0
3
+ Version: 0.13.1
4
4
  Summary: Github collector for OpenHound
5
5
  Author-email: "jdreijer@specterops.io" <jdreijer@specterops.io>, Jared Atkinson <jatkinson@specterops.io>
6
6
  License-File: LICENSE.md
@@ -80,6 +80,7 @@ The collector runs successfully with the documented read-only permission set. So
80
80
 
81
81
  - Organization `Members: write` enables external group mapping collection for IdP-synced teams, which allows the converter to emit `SCIM_Provisioned` edges from `SCIM_Group` to `GH_Team`. This is useful when the organization uses team synchronization with an external identity provider; if no GitHub teams are linked to external groups, this permission does not add graph data.
82
82
  - Classic PAT scope `manage_runners:enterprise` enables enterprise self-hosted runner group and runner collection. This is useful when the enterprise has enterprise-scoped runner groups or runners, especially runner groups shared into organizations; if all runners are organization- or repository-scoped, this scope does not add graph data.
83
+ - Repository `Administration: read` enables deploy key collection. GitHub exposes repository deploy keys through an administration-scoped read endpoint, and the collector emits `GH_DeployKey` nodes only when that endpoint is accessible.
83
84
 
84
85
  If these optional permissions are not granted, OpenHound skips the affected resources and continues collecting the rest of the GitHub environment.
85
86
 
@@ -69,6 +69,7 @@ The collector runs successfully with the documented read-only permission set. So
69
69
 
70
70
  - Organization `Members: write` enables external group mapping collection for IdP-synced teams, which allows the converter to emit `SCIM_Provisioned` edges from `SCIM_Group` to `GH_Team`. This is useful when the organization uses team synchronization with an external identity provider; if no GitHub teams are linked to external groups, this permission does not add graph data.
71
71
  - Classic PAT scope `manage_runners:enterprise` enables enterprise self-hosted runner group and runner collection. This is useful when the enterprise has enterprise-scoped runner groups or runners, especially runner groups shared into organizations; if all runners are organization- or repository-scoped, this scope does not add graph data.
72
+ - Repository `Administration: read` enables deploy key collection. GitHub exposes repository deploy keys through an administration-scoped read endpoint, and the collector emits `GH_DeployKey` nodes only when that endpoint is accessible.
72
73
 
73
74
  If these optional permissions are not granted, OpenHound skips the affected resources and continues collecting the rest of the GitHub environment.
74
75
 
@@ -0,0 +1,20 @@
1
+ # GH_AddedDeployKey
2
+
3
+ ## General Information
4
+
5
+ User added this repository deploy key.
6
+
7
+ ## Edge Schema
8
+
9
+ | Source | Destination | Traversable |
10
+ | --- | --- | --- |
11
+ | `GH_User` | `GH_DeployKey` | `false` |
12
+
13
+ ## Diagram
14
+
15
+ ```mermaid
16
+ graph LR
17
+ n0["GH_User"]
18
+ n1["GH_DeployKey"]
19
+ n0 -.->|GH_AddedDeployKey| n1
20
+ ```
@@ -0,0 +1,29 @@
1
+ # GH_CanAccess
2
+
3
+ ## General Information
4
+
5
+ The non-traversable GH_CanAccess edge indicates that a personal access token, app installation, or deploy key has been granted access to a repository or organization. This edge represents the scope of access granted to a non-human credential rather than a direct attack path, providing visibility into which repositories are reachable through that credential. It is non-traversable because credential access does not transitively extend to other principals.
6
+
7
+ ## Edge Schema
8
+
9
+ | Source | Destination | Traversable |
10
+ | --- | --- | --- |
11
+ | `GH_AppInstallation` | `GH_Repository` | `false` |
12
+ | `GH_DeployKey` | `GH_Repository` | `false` |
13
+ | `GH_PersonalAccessToken` | `GH_Organization` | `false` |
14
+ | `GH_PersonalAccessToken` | `GH_Repository` | `false` |
15
+
16
+ ## Diagram
17
+
18
+ ```mermaid
19
+ graph LR
20
+ n0["GH_AppInstallation"]
21
+ n1["GH_Repository"]
22
+ n2["GH_DeployKey"]
23
+ n3["GH_PersonalAccessToken"]
24
+ n4["GH_Organization"]
25
+ n0 -.->|GH_CanAccess| n1
26
+ n2 -.->|GH_CanAccess| n1
27
+ n3 -.->|GH_CanAccess| n4
28
+ n3 -.->|GH_CanAccess| n1
29
+ ```
@@ -27,6 +27,7 @@ The non-traversable GH_Contains edge represents structural containment within th
27
27
  | `GH_Organization` | `GH_SecretScanningAlert` | `false` |
28
28
  | `GH_Repository` | `GH_Branch` | `false` |
29
29
  | `GH_Repository` | `GH_BranchProtectionRule` | `false` |
30
+ | `GH_Repository` | `GH_DeployKey` | `false` |
30
31
  | `GH_Repository` | `GH_Environment` | `false` |
31
32
  | `GH_Repository` | `GH_RepoRunner` | `false` |
32
33
  | `GH_Repository` | `GH_RepoSecret` | `false` |
@@ -62,12 +63,13 @@ graph LR
62
63
  n19["GH_Repository"]
63
64
  n20["GH_Branch"]
64
65
  n21["GH_BranchProtectionRule"]
65
- n22["GH_RepoRunner"]
66
- n23["GH_RepoSecret"]
67
- n24["GH_RepoVariable"]
68
- n25["GH_Workflow"]
69
- n26["GH_WorkflowJob"]
70
- n27["GH_WorkflowStep"]
66
+ n22["GH_DeployKey"]
67
+ n23["GH_RepoRunner"]
68
+ n24["GH_RepoSecret"]
69
+ n25["GH_RepoVariable"]
70
+ n26["GH_Workflow"]
71
+ n27["GH_WorkflowJob"]
72
+ n28["GH_WorkflowStep"]
71
73
  n0 -.->|GH_Contains| n1
72
74
  n0 -.->|GH_Contains| n2
73
75
  n0 -.->|GH_Contains| n3
@@ -87,12 +89,13 @@ graph LR
87
89
  n4 -.->|GH_Contains| n18
88
90
  n19 -.->|GH_Contains| n20
89
91
  n19 -.->|GH_Contains| n21
90
- n19 -.->|GH_Contains| n6
91
92
  n19 -.->|GH_Contains| n22
93
+ n19 -.->|GH_Contains| n6
92
94
  n19 -.->|GH_Contains| n23
93
95
  n19 -.->|GH_Contains| n24
94
- n19 -.->|GH_Contains| n18
95
96
  n19 -.->|GH_Contains| n25
96
- n25 -.->|GH_Contains| n26
97
+ n19 -.->|GH_Contains| n18
98
+ n19 -.->|GH_Contains| n26
97
99
  n26 -.->|GH_Contains| n27
100
+ n27 -.->|GH_Contains| n28
98
101
  ```
@@ -0,0 +1,43 @@
1
+ # GH_DeployKey
2
+
3
+ ## General Information
4
+
5
+ A repository-scoped SSH deploy key that grants read-only or read-write access to repository contents.
6
+
7
+ ## Properties
8
+
9
+ | Property | Type | Description |
10
+ | --- | --- | --- |
11
+ | `name` | `string` | The node name used for matching and display. |
12
+ | `displayname` | `string` | The human-readable display name. |
13
+ | `environmentid` | `string` | The identifier of the GitHub environment where this node was collected. |
14
+ | `last_seen` | `datetime` | The timestamp when this node was last observed during collection. |
15
+ | `node_id` | `string` | The stable identifier used as the OpenGraph node ID; this is the native GitHub node ID where available. |
16
+ | `github_id` | `integer` | The numeric GitHub deploy key ID. |
17
+ | `title` | `string` | The user-assigned deploy key title. |
18
+ | `key` | `string` | The public SSH key material. |
19
+ | `verified` | `boolean` | Whether GitHub has verified the deploy key. |
20
+ | `enabled` | `boolean` | Whether the deploy key is currently enabled. |
21
+ | `read_only` | `boolean` | Whether the deploy key is restricted to read-only repository access. |
22
+ | `repository_permissions` | `list[string]` | Repository-scoped permissions in `scope:access` form. |
23
+ | `created_at` | `string` | When the deploy key was created. |
24
+ | `last_used` | `string` | When the deploy key was last used. |
25
+ | `added_by_login` | `string` | The login of the user who added the deploy key. |
26
+ | `added_by_id` | `string` | The node ID of the user who added the deploy key. |
27
+ | `repository_name` | `string` | The full name of the containing repository. |
28
+ | `repository_id` | `string` | The node_id of the containing repository. |
29
+ | `environment_name` | `string` | The name of the environment (GitHub organization). |
30
+ | `query_repository` | `string` | Query for the containing repository. |
31
+ | `query_added_by` | `string` | Query for the user who added the deploy key. |
32
+
33
+ ## Diagram
34
+
35
+ ```mermaid
36
+ graph LR
37
+ n0["GH_DeployKey"]
38
+ n1["GH_Repository"]
39
+ n2["GH_User"]
40
+ n0 -.->|GH_CanAccess| n1
41
+ n1 -.->|GH_Contains| n0
42
+ n2 -.->|GH_AddedDeployKey| n0
43
+ ```
@@ -48,6 +48,7 @@ The `branch_count` and `environment_count` properties preserve GitHub-reported t
48
48
  | `has_branch_rulesets` | `boolean` | Whether at least one branch-targeted ruleset applies to this repository. |
49
49
  | `branch_count` | `integer` | Number of branch refs reported by GitHub for this repository. |
50
50
  | `environment_count` | `integer` | Number of deployment environments reported by GitHub for this repository. |
51
+ | `deploy_key_count` | `integer` | Number of deploy keys reported by GitHub for this repository. |
51
52
  | `query_branches` | `string` | Query for branches. |
52
53
  | `query_protected_branches` | `string` | Query for protected branches. |
53
54
  | `query_branch_protection_rules` | `string` | Query for branch protection rules. |
@@ -58,6 +59,7 @@ The `branch_count` and `environment_count` properties preserve GitHub-reported t
58
59
  | `query_environments` | `string` | Query for environments. |
59
60
  | `query_secrets` | `string` | Query for secrets. |
60
61
  | `query_variables` | `string` | Query for variables. |
62
+ | `query_deploy_keys` | `string` | Query for deploy keys. |
61
63
  | `query_secret_scanning_alerts` | `string` | Query for secret scanning alerts. |
62
64
  | `query_explicit_readers` | `string` | Query for explicit readers. |
63
65
  | `query_unrolled_readers` | `string` | Query for unrolled readers. |
@@ -70,98 +72,101 @@ The `branch_count` and `environment_count` properties preserve GitHub-reported t
70
72
  graph LR
71
73
  n0["GH_AppInstallation"]
72
74
  n1["GH_Repository"]
73
- n2["GH_Organization"]
74
- n3["GH_PersonalAccessToken"]
75
- n4["GH_RepoRole"]
76
- n5["GH_Branch"]
77
- n6["GH_BranchProtectionRule"]
78
- n7["GH_Environment"]
79
- n8["GH_OrgRunnerGroup"]
80
- n9["GH_OrgSecret"]
81
- n10["GH_OrgVariable"]
82
- n11["GH_RepoRunner"]
83
- n12["GH_RepoSecret"]
84
- n13["GH_RepoVariable"]
85
- n14["GH_SecretScanningAlert"]
86
- n15["GH_Workflow"]
75
+ n2["GH_DeployKey"]
76
+ n3["GH_Organization"]
77
+ n4["GH_PersonalAccessToken"]
78
+ n5["GH_RepoRole"]
79
+ n6["GH_Branch"]
80
+ n7["GH_BranchProtectionRule"]
81
+ n8["GH_Environment"]
82
+ n9["GH_OrgRunnerGroup"]
83
+ n10["GH_OrgSecret"]
84
+ n11["GH_OrgVariable"]
85
+ n12["GH_RepoRunner"]
86
+ n13["GH_RepoSecret"]
87
+ n14["GH_RepoVariable"]
88
+ n15["GH_SecretScanningAlert"]
89
+ n16["GH_Workflow"]
87
90
  n0 -.->|GH_CanAccess| n1
88
- n2 -->|GH_Owns| n1
89
- n3 -.->|GH_CanAccess| n1
90
- n4 -.->|GH_AddAssignee| n1
91
- n4 -.->|GH_AddLabel| n1
92
- n4 -->|GH_AdminTo| n1
93
- n4 -.->|GH_BypassBranchProtection| n1
94
- n4 -.->|GH_CanCreateBranch| n1
95
- n4 -->|GH_CanCreateEnvironment| n1
96
- n4 -->|GH_CanPwnRequest| n1
97
- n4 -.->|GH_CloseDiscussion| n1
98
- n4 -.->|GH_CloseIssue| n1
99
- n4 -.->|GH_ClosePullRequest| n1
100
- n4 -.->|GH_ConvertIssuesToDiscussions| n1
101
- n4 -.->|GH_CreateDiscussionCategory| n1
102
- n4 -.->|GH_CreateSoloMergeQueueEntry| n1
103
- n4 -.->|GH_CreateTag| n1
104
- n4 -.->|GH_DeleteAlertsCodeScanning| n1
105
- n4 -.->|GH_DeleteDiscussion| n1
106
- n4 -.->|GH_DeleteDiscussionComment| n1
107
- n4 -.->|GH_DeleteIssue| n1
108
- n4 -.->|GH_DeleteTag| n1
109
- n4 -.->|GH_EditCategoryOnDiscussion| n1
110
- n4 -.->|GH_EditDiscussionCategory| n1
111
- n4 -.->|GH_EditDiscussionComment| n1
112
- n4 -.->|GH_EditRepoAnnouncementBanners| n1
113
- n4 -.->|GH_EditRepoCustomPropertiesValues| n1
114
- n4 -.->|GH_EditRepoMetadata| n1
115
- n4 -.->|GH_EditRepoProtections| n1
116
- n4 -.->|GH_JumpMergeQueue| n1
117
- n4 -.->|GH_ManageDeployKeys| n1
118
- n4 -.->|GH_ManageDiscussionBadges| n1
119
- n4 -.->|GH_ManageRepoSecurityProducts| n1
120
- n4 -.->|GH_ManageSecurityProducts| n1
121
- n4 -.->|GH_ManageSettingsMergeTypes| n1
122
- n4 -.->|GH_ManageSettingsPages| n1
123
- n4 -.->|GH_ManageSettingsProjects| n1
124
- n4 -.->|GH_ManageSettingsWiki| n1
125
- n4 -.->|GH_ManageTopics| n1
126
- n4 -.->|GH_ManageWebhooks| n1
127
- n4 -.->|GH_MarkAsDuplicate| n1
128
- n4 -.->|GH_PushProtectedBranch| n1
129
- n4 -.->|GH_ReadCodeScanning| n1
130
- n4 -.->|GH_ReadRepoContents| n1
131
- n4 -.->|GH_RemoveAssignee| n1
132
- n4 -.->|GH_RemoveLabel| n1
133
- n4 -.->|GH_ReopenDiscussion| n1
134
- n4 -.->|GH_ReopenIssue| n1
135
- n4 -.->|GH_ReopenPullRequest| n1
136
- n4 -.->|GH_RequestPrReview| n1
137
- n4 -.->|GH_ResolveDependabotAlerts| n1
138
- n4 -.->|GH_ResolveSecretScanningAlerts| n1
139
- n4 -.->|GH_RunOrgMigration| n1
140
- n4 -.->|GH_SetInteractionLimits| n1
141
- n4 -.->|GH_SetIssueType| n1
142
- n4 -.->|GH_SetMilestone| n1
143
- n4 -.->|GH_SetSocialPreview| n1
144
- n4 -.->|GH_ToggleDiscussionAnswer| n1
145
- n4 -.->|GH_ToggleDiscussionCommentMinimize| n1
146
- n4 -.->|GH_ViewDependabotAlerts| n1
147
- n4 -.->|GH_ViewSecretScanningAlerts| n1
148
- n4 -.->|GH_WriteCodeScanning| n1
149
- n4 -.->|GH_WriteRepoContents| n1
150
- n4 -.->|GH_WriteRepoPullRequests| n1
151
- n1 -.->|GH_Contains| n5
91
+ n2 -.->|GH_CanAccess| n1
92
+ n3 -->|GH_Owns| n1
93
+ n4 -.->|GH_CanAccess| n1
94
+ n5 -.->|GH_AddAssignee| n1
95
+ n5 -.->|GH_AddLabel| n1
96
+ n5 -->|GH_AdminTo| n1
97
+ n5 -.->|GH_BypassBranchProtection| n1
98
+ n5 -.->|GH_CanCreateBranch| n1
99
+ n5 -->|GH_CanCreateEnvironment| n1
100
+ n5 -->|GH_CanPwnRequest| n1
101
+ n5 -.->|GH_CloseDiscussion| n1
102
+ n5 -.->|GH_CloseIssue| n1
103
+ n5 -.->|GH_ClosePullRequest| n1
104
+ n5 -.->|GH_ConvertIssuesToDiscussions| n1
105
+ n5 -.->|GH_CreateDiscussionCategory| n1
106
+ n5 -.->|GH_CreateSoloMergeQueueEntry| n1
107
+ n5 -.->|GH_CreateTag| n1
108
+ n5 -.->|GH_DeleteAlertsCodeScanning| n1
109
+ n5 -.->|GH_DeleteDiscussion| n1
110
+ n5 -.->|GH_DeleteDiscussionComment| n1
111
+ n5 -.->|GH_DeleteIssue| n1
112
+ n5 -.->|GH_DeleteTag| n1
113
+ n5 -.->|GH_EditCategoryOnDiscussion| n1
114
+ n5 -.->|GH_EditDiscussionCategory| n1
115
+ n5 -.->|GH_EditDiscussionComment| n1
116
+ n5 -.->|GH_EditRepoAnnouncementBanners| n1
117
+ n5 -.->|GH_EditRepoCustomPropertiesValues| n1
118
+ n5 -.->|GH_EditRepoMetadata| n1
119
+ n5 -.->|GH_EditRepoProtections| n1
120
+ n5 -.->|GH_JumpMergeQueue| n1
121
+ n5 -.->|GH_ManageDeployKeys| n1
122
+ n5 -.->|GH_ManageDiscussionBadges| n1
123
+ n5 -.->|GH_ManageRepoSecurityProducts| n1
124
+ n5 -.->|GH_ManageSecurityProducts| n1
125
+ n5 -.->|GH_ManageSettingsMergeTypes| n1
126
+ n5 -.->|GH_ManageSettingsPages| n1
127
+ n5 -.->|GH_ManageSettingsProjects| n1
128
+ n5 -.->|GH_ManageSettingsWiki| n1
129
+ n5 -.->|GH_ManageTopics| n1
130
+ n5 -.->|GH_ManageWebhooks| n1
131
+ n5 -.->|GH_MarkAsDuplicate| n1
132
+ n5 -.->|GH_PushProtectedBranch| n1
133
+ n5 -.->|GH_ReadCodeScanning| n1
134
+ n5 -.->|GH_ReadRepoContents| n1
135
+ n5 -.->|GH_RemoveAssignee| n1
136
+ n5 -.->|GH_RemoveLabel| n1
137
+ n5 -.->|GH_ReopenDiscussion| n1
138
+ n5 -.->|GH_ReopenIssue| n1
139
+ n5 -.->|GH_ReopenPullRequest| n1
140
+ n5 -.->|GH_RequestPrReview| n1
141
+ n5 -.->|GH_ResolveDependabotAlerts| n1
142
+ n5 -.->|GH_ResolveSecretScanningAlerts| n1
143
+ n5 -.->|GH_RunOrgMigration| n1
144
+ n5 -.->|GH_SetInteractionLimits| n1
145
+ n5 -.->|GH_SetIssueType| n1
146
+ n5 -.->|GH_SetMilestone| n1
147
+ n5 -.->|GH_SetSocialPreview| n1
148
+ n5 -.->|GH_ToggleDiscussionAnswer| n1
149
+ n5 -.->|GH_ToggleDiscussionCommentMinimize| n1
150
+ n5 -.->|GH_ViewDependabotAlerts| n1
151
+ n5 -.->|GH_ViewSecretScanningAlerts| n1
152
+ n5 -.->|GH_WriteCodeScanning| n1
153
+ n5 -.->|GH_WriteRepoContents| n1
154
+ n5 -.->|GH_WriteRepoPullRequests| n1
152
155
  n1 -.->|GH_Contains| n6
153
- n1 -->|GH_CanDeployToEnvironment| n7
154
156
  n1 -.->|GH_Contains| n7
155
- n1 -->|GH_CanUseRunner| n8
156
- n1 -.->|GH_IsEligibleFor| n8
157
- n1 -->|GH_HasSecret| n9
158
- n1 -->|GH_HasVariable| n10
159
- n1 -.->|GH_CanUseRunner| n11
160
- n1 -.->|GH_Contains| n11
157
+ n1 -.->|GH_Contains| n2
158
+ n1 -->|GH_CanDeployToEnvironment| n8
159
+ n1 -.->|GH_Contains| n8
160
+ n1 -->|GH_CanUseRunner| n9
161
+ n1 -.->|GH_IsEligibleFor| n9
162
+ n1 -->|GH_HasSecret| n10
163
+ n1 -->|GH_HasVariable| n11
164
+ n1 -.->|GH_CanUseRunner| n12
161
165
  n1 -.->|GH_Contains| n12
162
- n1 -->|GH_HasSecret| n12
163
166
  n1 -.->|GH_Contains| n13
164
- n1 -->|GH_HasVariable| n13
167
+ n1 -->|GH_HasSecret| n13
165
168
  n1 -.->|GH_Contains| n14
169
+ n1 -->|GH_HasVariable| n14
166
170
  n1 -.->|GH_Contains| n15
171
+ n1 -.->|GH_Contains| n16
167
172
  ```
@@ -36,13 +36,14 @@ graph LR
36
36
  n4["GH_SecretScanningAlert"]
37
37
  n5["GH_Branch"]
38
38
  n6["GH_BranchProtectionRule"]
39
- n7["GH_EnterpriseRole"]
40
- n8["GH_Environment"]
41
- n9["GH_OrgRole"]
42
- n10["GH_PersonalAccessToken"]
43
- n11["GH_PersonalAccessTokenRequest"]
44
- n12["GH_RepoRole"]
45
- n13["GH_TeamRole"]
39
+ n7["GH_DeployKey"]
40
+ n8["GH_EnterpriseRole"]
41
+ n9["GH_Environment"]
42
+ n10["GH_OrgRole"]
43
+ n11["GH_PersonalAccessToken"]
44
+ n12["GH_PersonalAccessTokenRequest"]
45
+ n13["GH_RepoRole"]
46
+ n14["GH_TeamRole"]
46
47
  n0 -.->|GH_HasMember| n1
47
48
  n2 -.->|GH_MapsToUser| n1
48
49
  n3 -.->|GH_MapsToUser| n1
@@ -50,12 +51,13 @@ graph LR
50
51
  n1 -.->|GH_CanWriteBranch| n5
51
52
  n1 -.->|GH_BypassPullRequestAllowances| n6
52
53
  n1 -.->|GH_RestrictionsCanPush| n6
53
- n1 -->|GH_HasRole| n7
54
- n1 -.->|GH_ApprovesDeploymentTo| n8
55
- n1 -->|GH_CanDeployToEnvironment| n8
56
- n1 -->|GH_HasRole| n9
57
- n1 -.->|GH_HasPersonalAccessToken| n10
58
- n1 -.->|GH_HasPersonalAccessTokenRequest| n11
59
- n1 -->|GH_HasRole| n12
54
+ n1 -.->|GH_AddedDeployKey| n7
55
+ n1 -->|GH_HasRole| n8
56
+ n1 -.->|GH_ApprovesDeploymentTo| n9
57
+ n1 -->|GH_CanDeployToEnvironment| n9
58
+ n1 -->|GH_HasRole| n10
59
+ n1 -.->|GH_HasPersonalAccessToken| n11
60
+ n1 -.->|GH_HasPersonalAccessTokenRequest| n12
60
61
  n1 -->|GH_HasRole| n13
62
+ n1 -->|GH_HasRole| n14
61
63
  ```
@@ -190,6 +190,14 @@
190
190
  "icon": "lock-open",
191
191
  "color": "#66C7E8"
192
192
  },
193
+ {
194
+ "name": "GH_DeployKey",
195
+ "display_name": "GitHub Deploy Key",
196
+ "description": "A repository-scoped SSH deploy key that grants read-only or read-write access to repository contents",
197
+ "is_display_kind": true,
198
+ "icon": "key",
199
+ "color": "#F9C74F"
200
+ },
193
201
  {
194
202
  "name": "GH_Secret",
195
203
  "display_name": "GitHub Secret",
@@ -325,6 +333,11 @@
325
333
  "description": "Container relationship for organizational hierarchy (org contains secrets/variables, repo contains secrets/variables, environment contains secrets/variables)",
326
334
  "is_traversable": false
327
335
  },
336
+ {
337
+ "name": "GH_AddedDeployKey",
338
+ "description": "User added this repository deploy key",
339
+ "is_traversable": false
340
+ },
328
341
  {
329
342
  "name": "GH_CreateEnterpriseOrganizations",
330
343
  "description": "[Enterprise] Enterprise role can create organizations",
@@ -962,7 +975,7 @@
962
975
  },
963
976
  {
964
977
  "name": "GH_CanAccess",
965
- "description": "Personal access token or app installation can access this repository or organization",
978
+ "description": "Personal access token, app installation, or deploy key can access this repository or organization",
966
979
  "is_traversable": false
967
980
  },
968
981
  {
@@ -283,6 +283,9 @@ query RepoRefs($login: String!, $count: Int!, $after: String) {
283
283
  environments(first: 1) {
284
284
  totalCount
285
285
  }
286
+ deployKeys(first: 1) {
287
+ totalCount
288
+ }
286
289
  }
287
290
  pageInfo { endCursor hasNextPage }
288
291
  }
@@ -87,6 +87,7 @@ HAS_PERSONAL_ACCESS_TOKEN_REQUEST = "GH_HasPersonalAccessTokenRequest"
87
87
  # Secret and variable edges
88
88
  HAS_SECRET = "GH_HasSecret"
89
89
  HAS_VARIABLE = "GH_HasVariable"
90
+ ADDED_DEPLOY_KEY = "GH_AddedDeployKey"
90
91
 
91
92
  # App installation edges
92
93
  INSTALLED_AS = "GH_InstalledAs"
@@ -33,6 +33,7 @@ REPO_ROLE = "GH_RepoRole"
33
33
  REPO_SECRET = "GH_RepoSecret"
34
34
  REPO_VARIABLE = "GH_RepoVariable"
35
35
  REPO_RUNNER = "GH_RepoRunner"
36
+ DEPLOY_KEY = "GH_DeployKey"
36
37
 
37
38
  DEFAULT_ROLE = "GH_RepoRole"
38
39
 
@@ -54,6 +54,35 @@ class GithubLookup(LookupManager):
54
54
  [org_login],
55
55
  )
56
56
 
57
+ @lru_cache
58
+ def user_node_id_for_login(self, org_login: str, user_login: str) -> str | None:
59
+ return self._find_single_object(
60
+ f"""
61
+ WITH candidate_users AS (
62
+ SELECT 0 AS priority, u.id
63
+ FROM {self.schema}.users u
64
+ WHERE lower(u.org_login) = lower(?)
65
+ AND lower(u.login) = lower(?)
66
+
67
+ UNION ALL
68
+
69
+ SELECT 1 AS priority, eu.id
70
+ FROM {self.schema}.enterprise_users eu
71
+ JOIN {self.schema}.enterprise e
72
+ ON lower(e.slug) = lower(eu.enterprise_slug)
73
+ JOIN {self.schema}.enterprise_organizations eo
74
+ ON eo.enterprise_node_id = e.id
75
+ WHERE lower(eo.login) = lower(?)
76
+ AND lower(eu.login) = lower(?)
77
+ )
78
+ SELECT id
79
+ FROM candidate_users
80
+ ORDER BY priority
81
+ LIMIT 1
82
+ """,
83
+ [org_login, user_login, org_login, user_login],
84
+ )
85
+
57
86
  @lru_cache
58
87
  def org_login(self) -> str | None:
59
88
  res = self._find_single_object(
@@ -605,20 +634,21 @@ class GithubLookup(LookupManager):
605
634
  @lru_cache
606
635
  def repository_graphql_counts(
607
636
  self, repository_node_id: str
608
- ) -> tuple[int | None, int | None]:
637
+ ) -> tuple[int | None, int | None, int | None]:
609
638
  row = self._find_single_row(
610
639
  f"""
611
- SELECT branch_count, environment_count
640
+ SELECT branch_count, environment_count, deploy_key_count
612
641
  FROM {self.schema}.repositories_graphql
613
642
  WHERE id = ?
614
643
  """,
615
644
  [repository_node_id],
616
645
  )
617
646
  if row is None:
618
- return None, None
647
+ return None, None, None
619
648
  return (
620
649
  None if row[0] is None else int(row[0]),
621
650
  None if row[1] is None else int(row[1]),
651
+ None if row[2] is None else int(row[2]),
622
652
  )
623
653
 
624
654
  @lru_cache
@@ -67,6 +67,7 @@ def preproc(ctx: PreProcContext):
67
67
  "external_identities": "external_identities",
68
68
  "applications": "applications",
69
69
  "enterprise": "enterprise",
70
+ "enterprise_users": "enterprise_users",
70
71
  "enterprise_organizations": "enterprise_organizations",
71
72
  "enterprise_scim_groups": "enterprise_scim_groups",
72
73
  "enterprise_runner_groups": "enterprise_runner_groups",
@@ -22,6 +22,7 @@ from .env_secret import EnvironmentSecret
22
22
  from .env_variable import EnvironmentVariable
23
23
  from .environment import Environment
24
24
  from .environment_branch_policy import EnvironmentBranchPolicy
25
+ from .deploy_key import DeployKey
25
26
  from .external_identity import ExternalIdentity
26
27
  from .org import Organization
27
28
  from .org_role import OrgRole
@@ -132,6 +133,7 @@ __all__ = [
132
133
  "EnvironmentSecret",
133
134
  "EnvironmentVariable",
134
135
  "EnvironmentBranchPolicy",
136
+ "DeployKey",
135
137
  "Enterprise",
136
138
  "EnterpriseAdmin",
137
139
  "EnterpriseManagedUser",