openhound-github 0.5.3__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openhound_github-0.5.3 → openhound_github-0.6.0}/PKG-INFO +1 -1
- openhound_github-0.6.0/descriptions/edges/GH_AssignedTo.md +5 -0
- openhound_github-0.6.0/descriptions/edges/GH_CanCreateRepositoryWithRunnerAccess.md +9 -0
- openhound_github-0.6.0/descriptions/edges/GH_CanUseRunner.md +7 -0
- openhound_github-0.6.0/descriptions/edges/GH_HasRunner.md +5 -0
- openhound_github-0.6.0/descriptions/edges/GH_InheritedFrom.md +5 -0
- openhound_github-0.6.0/descriptions/edges/GH_IsEligibleFor.md +5 -0
- openhound_github-0.6.0/descriptions/nodes/GH_EnterpriseRunner.md +5 -0
- openhound_github-0.6.0/descriptions/nodes/GH_EnterpriseRunnerGroup.md +5 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_OrgRunner.md +1 -1
- openhound_github-0.6.0/descriptions/nodes/GH_OrgRunnerGroup.md +5 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/schema.json +13 -8
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/kinds/edges.py +2 -1
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/lookup.py +51 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/repository.py +7 -1
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/runner.py +142 -125
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/resources/organization.py +1 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_runner_models.py +216 -81
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_runner_resources.py +2 -0
- openhound_github-0.5.3/descriptions/edges/GH_AssignedTo.md +0 -5
- openhound_github-0.5.3/descriptions/edges/GH_CanCreateRepositoryWithRunnerAccess.md +0 -9
- openhound_github-0.5.3/descriptions/edges/GH_CanUseRunner.md +0 -5
- openhound_github-0.5.3/descriptions/edges/GH_GrantsAccessTo.md +0 -5
- openhound_github-0.5.3/descriptions/edges/GH_InheritedFrom.md +0 -5
- openhound_github-0.5.3/descriptions/nodes/GH_EnterpriseRunner.md +0 -5
- openhound_github-0.5.3/descriptions/nodes/GH_EnterpriseRunnerGroup.md +0 -5
- openhound_github-0.5.3/descriptions/nodes/GH_OrgRunnerGroup.md +0 -5
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/CONTRIBUTING.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/GOVERNANCE.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/GitHub-COC-Header.png +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/GitHub-CONTRIB-Header.png +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/GitHub-GOV-Header.png +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/GitHub-Header.png +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/GitHub-LIC-Header.png +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/GitHub-SEC-Header.png +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/SECURITY.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/SO-Dark.svg +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/SO-FOSS-Dark.svg +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/SO-FOSS-Light.svg +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/SO-Light.svg +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/workflows/publish.yml +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/workflows/release-on-merge.yml +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.github/workflows/validate-branch.yml +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.gitignore +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.gitmodules +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/.pre-commit-config.yaml +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/LICENSE.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/README.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_AddAssignee.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_AddCollaborator.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_AddLabel.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_AddMember.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_AdminTo.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ApprovesDeploymentTo.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_BypassBranchProtection.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_BypassPullRequestAllowances.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CallsWorkflow.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanAccess.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanAssumeIdentity.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanCreateBranch.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanCreateEnvironment.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanDeployToEnvironment.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanEditEnvironment.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanEditProtection.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanPwnRequest.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanReadSecretScanningAlert.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CanWriteBranch.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CloseDiscussion.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CloseIssue.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ClosePullRequest.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_Contains.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ConvertIssuesToDiscussions.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CreateDiscussionCategory.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CreateRepository.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CreateSoloMergeQueueEntry.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CreateTag.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_CreateTeam.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_DeleteAlertsCodeScanning.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_DeleteDiscussion.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_DeleteDiscussionComment.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_DeleteIssue.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_DeleteTag.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_DependsOn.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_DeploysTo.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_EditCategoryOnDiscussion.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_EditDiscussionCategory.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_EditDiscussionComment.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_EditRepoAnnouncementBanners.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_EditRepoCustomPropertiesValues.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_EditRepoMetadata.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_EditRepoProtections.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasBaseRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasBranch.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasEnvironment.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasExternalIdentity.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasJob.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasMember.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasPersonalAccessToken.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasPersonalAccessTokenRequest.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasSamlIdentityProvider.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasSecret.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasStep.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasVariable.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_HasWorkflow.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_InstalledAs.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_InviteMember.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_JumpMergeQueue.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageDeployKeys.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageDiscussionBadges.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageOrganizationWebhooks.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageRepoSecurityProducts.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageSecurityProducts.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageSettingsMergeTypes.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageSettingsPages.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageSettingsProjects.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageSettingsWiki.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageTopics.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ManageWebhooks.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_MapsToUser.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_MarkAsDuplicate.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_MatchesEnvironmentPolicy.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_MemberOf.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_OrgBypassCodeScanningDismissalRequests.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_OrgBypassSecretScanningClosureRequests.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_OrgReviewAndManageSecretScanningBypassRequests.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_OrgReviewAndManageSecretScanningClosureRequests.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_Owns.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ProtectedBy.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_PushProtectedBranch.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReadCodeScanning.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReadOrganizationActionsUsageMetrics.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReadOrganizationCustomOrgRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReadOrganizationCustomRepoRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReadRepoContents.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_RemoveAssignee.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_RemoveLabel.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReopenDiscussion.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReopenIssue.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ReopenPullRequest.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_RequestPrReview.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ResolveDependabotAlerts.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ResolveSecretScanningAlerts.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_RestrictionsCanPush.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_RunOrgMigration.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_SetInteractionLimits.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_SetIssueType.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_SetMilestone.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_SetSocialPreview.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_SyncedTo.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ToggleDiscussionAnswer.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ToggleDiscussionCommentMinimize.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_TransferRepository.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_UsesSecret.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_UsesVariable.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ValidToken.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ViewDependabotAlerts.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_ViewSecretScanningAlerts.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteCodeScanning.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteOrganizationActionsSecrets.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteOrganizationActionsSettings.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteOrganizationActionsVariables.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteOrganizationCustomOrgRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteOrganizationCustomRepoRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteOrganizationNetworkConfigurations.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteRepoContents.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/edges/GH_WriteRepoPullRequests.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_App.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_AppInstallation.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_Branch.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_BranchProtectionRule.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_Environment.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_EnvironmentBranchPolicy.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_EnvironmentSecret.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_EnvironmentVariable.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_ExternalIdentity.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_OrgRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_OrgSecret.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_OrgVariable.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_Organization.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_PersonalAccessToken.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_PersonalAccessTokenRequest.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_RepoRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_RepoRunner.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_RepoSecret.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_RepoVariable.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_Repository.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_SamlIdentityProvider.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_SecretScanningAlert.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_Team.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_TeamRole.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_User.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_Workflow.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_WorkflowJob.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/descriptions/nodes/GH_WorkflowStep.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/docs/og-docs.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-all-repo-admin-role.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-app-installations-all-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-apps-all-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-external-identities-owners.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-organizations.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-owner-users.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-owners-role.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-pats-all-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-privilege-escalation-roles.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-privilege-escalation-users.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/privilege_zone_rules/t0-saml-identity-providers.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/README.md +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/actions-sha-pinning-not-required.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/active-leaked-secrets.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/advanced-security-disabled-new-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/all-actions-allowed.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/app-installations-all-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-admins-not-enforced.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-deletions-allowed.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-force-pushes.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-no-code-owner-reviews.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-no-pr-reviews.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-no-status-checks.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-self-approval.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/branch-protection-stale-reviews.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/bypass-pr-requirements.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/dangerous-branch-perms.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/default-repository-permissions.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/demo-sso-to-cloud-round-trip.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/dependabot-alerts-disabled-new-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/dependabot-updates-disabled-new-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/dependency-graph-disabled-new-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/environments-admin-bypass.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/expired-pats.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/external-identities-without-scim.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/github-to-azure-identity.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/global-repo-perms.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/hybrid-identities.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/members-can-change-repo-visibility.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/members-can-create-pages.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/members-can-create-public-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/members-can-delete-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/members-can-fork-private-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/members-can-invite-outside-collaborators.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/org-owners.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/orgs-without-2fa.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/pats-all-repo-access.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/pending-pat-requests.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/private-repos-forking-allowed.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/privileged-custom-org-roles.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/privileged-hybrid-identities.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/public-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/push-protection-disabled-new-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/push-to-protected-branches.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/repos-secret-scanning-disabled.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/repos-vulnerable-to-workflow-secret-exfil.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/repository-workflows.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/saml-configuration.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/secret-scanning-alerts.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/secret-scanning-disabled-new-repos.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/secrets-reachable-by-user.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/team-membership-admin.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/team-structure.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/unprotected-branches.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/unprotected-default-branch-with-workflow.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/unprotected-default-branches.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/extension/saved_searches/web-commit-signoff-not-required.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/justfile +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/pyproject.toml +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/main.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/__init__.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/auth.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/extension.yaml +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/graph.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/graphql.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/helpers.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/kinds/nodes.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/main.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/__init__.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/actions_permission.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/app_installation.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/branch.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/branch_pr_bypass_allowance.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/branch_protection_rule.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/branch_push_allowance.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_admin.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_helpers.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_managed_user.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_member.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_organization.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_role.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_role_team.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_role_user.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_team.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_team_member.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_team_organization.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_team_role.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/enterprise_user.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/env_secret.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/env_variable.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/environment.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/environment_branch_policy.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/external_identity.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/org.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/org_role.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/org_role_member.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/org_role_team.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/org_secret.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/org_variable.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/personal_access_token.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/personal_access_token_access.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/personal_access_token_request.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/projected_enterprise_team.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/repo_role_assignment.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/repository_role.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/repository_secret.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/repository_variable.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/saml_assertion_consumer_service.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/saml_helpers.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/saml_issuer.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/saml_provider.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/saml_service_provider.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/scim_user.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/secret_scanning_alert.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/team.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/team_member.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/team_role.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/user.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/workflow.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/workflow_job.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/models/workflow_step.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/resources/__init__.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/resources/enterprise.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/runner_ids.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/source.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/src/openhound_github/transforms.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_app_auth.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_branch_collection_gate.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_branch_protection_traversability.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/actions-permissions.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/actionsecrets.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/app.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/appinstalls.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/branch-policies.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/branch-prot-rules.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/branches.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/custom-roles.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/environments.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/org-pat-request.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/org-pat.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/org-role-teams.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/org-role-users.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/org-roles.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/org.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/pat-repositories.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/repo-collaborators.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/repo-teams.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/repositories.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/scimusers.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/secrets.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/secretscanningalert.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/selected-org-secrets.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/variables.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_data/api/workflows.json +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_enterprise_capabilities.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_enterprise_organization.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_enterprise_resources.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_environment_model.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_environment_resources.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_environment_reviewer_lookup.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_error_resilience.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_external_identity_tenant_matching.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_github_rest_client.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_github_retry.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_org_secret_models.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_repository_rulesets.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_runner_ids.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_saml_helpers.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_saml_models.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_scim_models.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_variable_models.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/tests/test_workflow_model.py +0 -0
- {openhound_github-0.5.3 → openhound_github-0.6.0}/uv.lock +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## General Information
|
|
2
|
+
|
|
3
|
+
The traversable GH_CanCreateRepositoryWithRunnerAccess edge is a computed edge indicating that a GH_OrgRole can create a repository that will immediately be able to dispatch workflows to a GH_OrgRunnerGroup.
|
|
4
|
+
|
|
5
|
+
This edge is emitted only for runner groups with `visibility=all` or `visibility=private`. Groups with `visibility=selected` require explicit repository assignment, so creating a repository does not automatically grant access to the group. For `visibility=all`, public repository creation is included only when `allows_public_repositories=true`; otherwise the composition is limited to private and internal repository creation.
|
|
6
|
+
|
|
7
|
+
The collector emits this edge only when new repositories in the organization have GitHub Actions enabled by default (`actions_enabled_repositories=all`), the organization-facing runner group has `restricted_to_workflows=false`, and inherited enterprise-backed access also has `restricted_to_workflows=false` on the source GH_EnterpriseRunnerGroup.
|
|
8
|
+
|
|
9
|
+
The computation follows repository-creation capability edges from the org role to the organization and then GH_Contains to the runner group. Each edge includes a `query_composition` Cypher query showing the repository-creation path and the Actions and runner-group policy predicates that make the path immediately usable.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## General Information
|
|
2
|
+
|
|
3
|
+
For runner-group-backed access, the traversable GH_CanUseRunner edge is a computed edge representing that a repository or branch can dispatch workflows to a self-hosted runner execution surface under the modeled runner-group controls.
|
|
4
|
+
|
|
5
|
+
The collector derives this edge from GH_IsEligibleFor rather than directly from repository visibility. It emits GH_CanUseRunner only when the repository is within the runner group's repository-access scope, GitHub Actions is enabled for the repository, and `restricted_to_workflows=false` on the organization-facing runner group. Inherited enterprise-backed access also requires `restricted_to_workflows=false` on the source GH_EnterpriseRunnerGroup. Every collected branch in a repository that satisfies those conditions receives the same edge so branch write paths can reach the execution surface.
|
|
6
|
+
|
|
7
|
+
Organization and inherited enterprise-backed access terminate at the organization-facing GH_OrgRunnerGroup, then continue through GH_HasRunner for native organization runners or through GH_InheritedFrom and GH_HasRunner for inherited enterprise runners. Repository-scoped runners currently receive GH_CanUseRunner directly from their containing repository and are not part of this runner-group traversability change.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
## General Information
|
|
2
|
+
|
|
3
|
+
The traversable GH_HasRunner edge represents that a runner group exposes a directly assigned self-hosted runner to repositories or workflows that satisfy the runner group's access policy.
|
|
4
|
+
|
|
5
|
+
This edge is distinct from GH_Contains. GH_Contains records structural membership only, while GH_HasRunner represents the runner-group-to-runner capability hop used for attack-path composition. This edge is emitted only for direct organization and enterprise runner group memberships; inherited organization runner group access to enterprise runners is modeled as GH_Repository or GH_Branch -[:GH_CanUseRunner]-> GH_OrgRunnerGroup -[:GH_InheritedFrom]-> GH_EnterpriseRunnerGroup -[:GH_HasRunner]-> GH_EnterpriseRunner.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
## General Information
|
|
2
|
+
|
|
3
|
+
The traversable GH_InheritedFrom edge links an inherited GH_OrgRunnerGroup to the GH_EnterpriseRunnerGroup that owns the underlying runner set. This preserves the organization-local view of a runner group while still identifying the enterprise source that provides the runners.
|
|
4
|
+
|
|
5
|
+
This edge is traversable because an inherited organization runner group is the organization-facing policy boundary for the enterprise runner group. Repository access flows through the organization runner group, then through GH_InheritedFrom to the enterprise group, and finally through GH_HasRunner to directly assigned enterprise runners.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
## General Information
|
|
2
|
+
|
|
3
|
+
The non-traversable GH_IsEligibleFor edge represents that a repository is within the repository-access scope of an organization runner group.
|
|
4
|
+
|
|
5
|
+
For runner groups, this edge evaluates the group's `visibility`, selected repository assignments, and `allows_public_repositories` setting. It does not prove that workflows in the repository can dispatch to the group's runners, because GitHub Actions may be disabled for the repository or the runner group may be restricted to selected workflows.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
Represents a self-hosted runner owned at the GitHub Enterprise level. Enterprise runners are contained by GH_EnterpriseRunnerGroup nodes and exposed through GH_HasRunner. Repositories become eligible for the organization-facing runner group through GH_IsEligibleFor. Repositories and branches that can dispatch workflows then reach the runner through GH_CanUseRunner to an inherited GH_OrgRunnerGroup, GH_InheritedFrom to the enterprise group, and finally GH_HasRunner to the runner.
|
|
4
|
+
|
|
5
|
+
The node captures runner metadata such as operating system, status, busy state, labels, and whether the runner is ephemeral when GitHub returns that property.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
Represents a self-hosted runner group owned by a GitHub Enterprise account. Enterprise runner groups control which organizations may use a shared set of enterprise runners. That organization-level visibility is reflected by which inherited GH_OrgRunnerGroup nodes point back to the enterprise group through GH_InheritedFrom.
|
|
4
|
+
|
|
5
|
+
Enterprise runner groups contain GH_EnterpriseRunner nodes and emit GH_HasRunner for directly assigned runners to represent the traversable capability hop from the group to the runner. They may be projected into organizations as inherited GH_OrgRunnerGroup nodes. The GH_InheritedFrom edge links the organization view back to the enterprise-owned group.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
## Description
|
|
2
2
|
|
|
3
|
-
Represents a self-hosted runner owned by a GitHub organization. Organization runners are contained by native GH_OrgRunnerGroup nodes and become
|
|
3
|
+
Represents a self-hosted runner owned by a GitHub organization. Organization runners are contained by native GH_OrgRunnerGroup nodes and exposed through GH_HasRunner. Repositories become eligible for those groups through GH_IsEligibleFor, while repositories and branches that can dispatch workflows to them are linked through GH_CanUseRunner.
|
|
4
4
|
|
|
5
5
|
The node captures runner metadata such as operating system, status, busy state, labels, and whether the runner is ephemeral when GitHub returns that property.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
Represents a self-hosted runner group visible within a GitHub organization. Organization runner groups may either be native to the organization or inherited from an enterprise runner group.
|
|
4
|
+
|
|
5
|
+
Native organization runner groups contain GH_OrgRunner nodes directly. Direct memberships also emit GH_HasRunner to represent the traversable capability hop from the group to its runners. Inherited organization runner groups do not directly contain organization runners; instead, they link to the source GH_EnterpriseRunnerGroup through GH_InheritedFrom and gain access to the enterprise runners contained there. GH_IsEligibleFor edges from repositories describe repository access policy scope, while GH_CanUseRunner edges identify repositories and branches that can dispatch workflows to the group under the collected Actions and workflow-restriction settings.
|
|
@@ -442,18 +442,18 @@
|
|
|
442
442
|
},
|
|
443
443
|
{
|
|
444
444
|
"name": "GH_AssignedTo",
|
|
445
|
-
"description": "Enterprise-scoped team
|
|
445
|
+
"description": "Enterprise-scoped team is assigned to an organization",
|
|
446
446
|
"is_traversable": false
|
|
447
447
|
},
|
|
448
448
|
{
|
|
449
449
|
"name": "GH_InheritedFrom",
|
|
450
450
|
"description": "Organization runner group is inherited from an enterprise runner group",
|
|
451
|
-
"is_traversable":
|
|
451
|
+
"is_traversable": true
|
|
452
452
|
},
|
|
453
453
|
{
|
|
454
|
-
"name": "
|
|
455
|
-
"description": "
|
|
456
|
-
"is_traversable":
|
|
454
|
+
"name": "GH_HasRunner",
|
|
455
|
+
"description": "Runner group exposes a directly assigned self-hosted runner to authorized repositories or workflows",
|
|
456
|
+
"is_traversable": true
|
|
457
457
|
},
|
|
458
458
|
{
|
|
459
459
|
"name": "GH_Owns",
|
|
@@ -967,13 +967,18 @@
|
|
|
967
967
|
},
|
|
968
968
|
{
|
|
969
969
|
"name": "GH_CanUseRunner",
|
|
970
|
-
"description": "Repository can dispatch
|
|
970
|
+
"description": "Repository or branch can dispatch workflows to this self-hosted runner execution surface",
|
|
971
|
+
"is_traversable": true
|
|
972
|
+
},
|
|
973
|
+
{
|
|
974
|
+
"name": "GH_IsEligibleFor",
|
|
975
|
+
"description": "Repository is within the repository-access scope of this runner group",
|
|
971
976
|
"is_traversable": false
|
|
972
977
|
},
|
|
973
978
|
{
|
|
974
979
|
"name": "GH_CanCreateRepositoryWithRunnerAccess",
|
|
975
|
-
"description": "Org role can create a repository that
|
|
976
|
-
"is_traversable":
|
|
980
|
+
"description": "Org role can create a repository that can dispatch workflows to this runner group",
|
|
981
|
+
"is_traversable": true
|
|
977
982
|
},
|
|
978
983
|
{
|
|
979
984
|
"name": "GH_CanWriteBranch",
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
CONTAINS = "GH_Contains"
|
|
3
3
|
ASSIGNED_TO = "GH_AssignedTo"
|
|
4
4
|
INHERITED_FROM = "GH_InheritedFrom"
|
|
5
|
-
GRANTS_ACCESS_TO = "GH_GrantsAccessTo"
|
|
6
5
|
|
|
7
6
|
# Administrative edges
|
|
8
7
|
ADMIN_TO = "GH_AdminTo"
|
|
@@ -12,12 +11,14 @@ OWNS = "GH_Owns"
|
|
|
12
11
|
HAS_MEMBER = "GH_HasMember"
|
|
13
12
|
HAS_ROLE = "GH_HasRole"
|
|
14
13
|
HAS_BASE_ROLE = "GH_HasBaseRole"
|
|
14
|
+
HAS_RUNNER = "GH_HasRunner"
|
|
15
15
|
ADD_MEMBER = "GH_AddMember"
|
|
16
16
|
MEMBER_OF = "GH_MemberOf"
|
|
17
17
|
|
|
18
18
|
# Access and capability edges
|
|
19
19
|
CAN_ACCESS = "GH_CanAccess"
|
|
20
20
|
CAN_USE_RUNNER = "GH_CanUseRunner"
|
|
21
|
+
IS_ELIGIBLE_FOR = "GH_IsEligibleFor"
|
|
21
22
|
CAN_CREATE_REPOSITORY_WITH_RUNNER_ACCESS = "GH_CanCreateRepositoryWithRunnerAccess"
|
|
22
23
|
CAN_CREATE_BRANCH = "GH_CanCreateBranch"
|
|
23
24
|
CAN_CREATE_ENVIRONMENT = "GH_CanCreateEnvironment"
|
|
@@ -110,6 +110,30 @@ class GithubLookup(LookupManager):
|
|
|
110
110
|
enterprise_node_id, runner_group_id = identity
|
|
111
111
|
return runner_group_node_id(enterprise_node_id, runner_group_id)
|
|
112
112
|
|
|
113
|
+
@lru_cache
|
|
114
|
+
def enterprise_runner_group_restricted_to_workflows_for_inherited_org_group(
|
|
115
|
+
self, org_node_id: str, group_name: str
|
|
116
|
+
) -> bool | None:
|
|
117
|
+
identity = self._enterprise_runner_group_identity_for_inherited_org_group(
|
|
118
|
+
org_node_id, group_name
|
|
119
|
+
)
|
|
120
|
+
if not identity:
|
|
121
|
+
return None
|
|
122
|
+
|
|
123
|
+
enterprise_node_id, runner_group_id = identity
|
|
124
|
+
row = self._find_single_row(
|
|
125
|
+
f"""
|
|
126
|
+
SELECT restricted_to_workflows
|
|
127
|
+
FROM {self.schema}.enterprise_runner_groups
|
|
128
|
+
WHERE enterprise_node_id = ?
|
|
129
|
+
AND id = ?
|
|
130
|
+
""",
|
|
131
|
+
[enterprise_node_id, runner_group_id],
|
|
132
|
+
)
|
|
133
|
+
if row is None or row[0] is None:
|
|
134
|
+
return None
|
|
135
|
+
return bool(row[0])
|
|
136
|
+
|
|
113
137
|
@lru_cache
|
|
114
138
|
def enterprise_runner_node_ids_for_inherited_org_group(
|
|
115
139
|
self, org_node_id: str, group_name: str
|
|
@@ -196,6 +220,33 @@ class GithubLookup(LookupManager):
|
|
|
196
220
|
[org_login],
|
|
197
221
|
)
|
|
198
222
|
|
|
223
|
+
@lru_cache
|
|
224
|
+
def actions_enabled_repository_node_ids_for_org(self, org_login: str):
|
|
225
|
+
return self._find_all_objects(
|
|
226
|
+
f"""SELECT node_id FROM {self.schema}.repositories WHERE org_login = ? AND actions_enabled = true""",
|
|
227
|
+
[org_login],
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
@lru_cache
|
|
231
|
+
def actions_enabled_repositories_for_org(self, org_login: str) -> str | None:
|
|
232
|
+
return self._find_single_object(
|
|
233
|
+
f"""SELECT actions_enabled_repositories FROM {self.schema}.organizations WHERE login = ?""",
|
|
234
|
+
[org_login],
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
@lru_cache
|
|
238
|
+
def branch_node_ids_for_org(self, org_login: str):
|
|
239
|
+
return self._find_all_objects(
|
|
240
|
+
f"""
|
|
241
|
+
SELECT b.repository_node_id, b.id
|
|
242
|
+
FROM {self.schema}.branches b
|
|
243
|
+
JOIN {self.schema}.repositories r
|
|
244
|
+
ON r.node_id = b.repository_node_id
|
|
245
|
+
WHERE r.org_login = ?
|
|
246
|
+
""",
|
|
247
|
+
[org_login],
|
|
248
|
+
)
|
|
249
|
+
|
|
199
250
|
@lru_cache
|
|
200
251
|
def repository_branch_ruleset_count(self, repository_node_id: str) -> int | None:
|
|
201
252
|
row = self._find_single_row(
|
|
@@ -265,7 +265,13 @@ class Repository(BaseAsset):
|
|
|
265
265
|
query_roles=f"MATCH p=(:GH_RepoRole)-[*1..]->(:GH_Repository {{node_id: '{rid}'}}) RETURN p",
|
|
266
266
|
query_teams=f"MATCH p=(:GH_Team)-[:GH_MemberOf|GH_HasRole*1..]->(:GH_RepoRole)-[]->(:GH_Repository {{node_id: '{rid}'}}) RETURN p",
|
|
267
267
|
query_workflows=f"MATCH p=(:GH_Repository {{node_id:'{rid}'}})-[:GH_Contains]->(:GH_Workflow)-[:GH_Contains]->(:GH_WorkflowJob)-[:GH_Contains]->(step:GH_WorkflowStep) OPTIONAL MATCH p1=(step)-[:GH_UsesSecret]->(:GH_Secret) OPTIONAL MATCH p2=(step)-[:GH_UsesVariable]->(:GH_Variable) RETURN p,p1,p2",
|
|
268
|
-
query_runners=
|
|
268
|
+
query_runners=(
|
|
269
|
+
f"MATCH p=(:GH_Repository {{node_id:'{rid}'}})-[:GH_CanUseRunner]->(:GH_RepoRunner) RETURN p "
|
|
270
|
+
"UNION "
|
|
271
|
+
f"MATCH p=(:GH_Repository {{node_id:'{rid}'}})-[:GH_CanUseRunner]->(:GH_OrgRunnerGroup)-[:GH_HasRunner]->(:GH_OrgRunner) RETURN p "
|
|
272
|
+
"UNION "
|
|
273
|
+
f"MATCH p=(:GH_Repository {{node_id:'{rid}'}})-[:GH_CanUseRunner]->(:GH_OrgRunnerGroup)-[:GH_InheritedFrom]->(:GH_EnterpriseRunnerGroup)-[:GH_HasRunner]->(:GH_EnterpriseRunner) RETURN p"
|
|
274
|
+
),
|
|
269
275
|
query_environments=f"MATCH p=(:GH_Repository {{node_id: '{rid}'}})-[:GH_Contains]->(:GH_Environment) RETURN p",
|
|
270
276
|
query_secrets=f"MATCH p=(:GH_Repository {{node_id:'{rid}'}})-[:GH_HasSecret]->(:GH_Secret) RETURN p",
|
|
271
277
|
query_variables=f"MATCH p=(:GH_Repository {{node_id:'{rid}'}})-[:GH_HasVariable]->(:GH_Variable) RETURN p",
|