github-agent 2.4.7__tar.gz → 2.4.9__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.
- {github_agent-2.4.7 → github_agent-2.4.9}/PKG-INFO +3 -3
- {github_agent-2.4.7 → github_agent-2.4.9}/README.md +1 -1
- github_agent-2.4.9/github_agent/__init__.py +1 -0
- github_agent-2.4.9/github_agent/connector_sources.py +224 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp_server.py +1 -1
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/ontology/certification.json +0 -3
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/ontology/github.ttl +7 -32
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent.egg-info/PKG-INFO +3 -3
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent.egg-info/SOURCES.txt +2 -3
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent.egg-info/entry_points.txt +0 -3
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent.egg-info/requires.txt +1 -1
- {github_agent-2.4.7 → github_agent-2.4.9}/pyproject.toml +2 -5
- github_agent-2.4.9/tests/test_cq_paths.py +47 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_fleet_name.py +2 -13
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_ingest_sources.py +3 -7
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_ontology_parent_link.py +1 -9
- github_agent-2.4.7/github_agent/__init__.py +0 -1
- github_agent-2.4.7/github_agent/connectors/mcp_source_presets.json +0 -17
- github_agent-2.4.7/github_agent/connectors/tool_schema_fingerprints.json +0 -8
- github_agent-2.4.7/github_agent/ontology/ingest_sources.json +0 -24
- {github_agent-2.4.7 → github_agent-2.4.9}/LICENSE +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/__main__.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/__init__.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_base.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_branches.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_comments.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_commits.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_contents.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_dependabot.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_issues.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_orgs.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_pages.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_pulls.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_releases.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_repos.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_search.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api/api_client_workflows.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/api_client.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/auth.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/connectors/__init__.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/github_gql.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/github_http.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/github_input_models.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/github_response_models.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/kg_ingest.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/__init__.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_action.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_branch.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_collaborator.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_commit.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_content.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_dependabot.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_issue.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_org.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_pull.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_release.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_repo.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp/mcp_search.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/mcp_config.json +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/ontology/__init__.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/ontology/fixtures/records.json +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/ontology/mappings/source.yaml +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/ontology/migrations/manifest.json +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/ontology/shapes/connector.shacl.ttl +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/prompts/__init__.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/__init__.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-actions-ci-review/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-actions-ci-review/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-agent-operations/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-agent-operations/agents/openai.yaml +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-agent-operations/references/catalog.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-backlog-planner/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-backlog-planner/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-backlog-planner/references/addressed-heuristics.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-backlog-planner/scripts/build_plan.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-ci-failure-sweep/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-ci-failure-sweep/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-ci-failure-sweep/references/actions-tool-cheatsheet.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-ci-failure-sweep/scripts/summarize_runs.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-dependabot-review/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-dependabot-review/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-issue-tracking/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-issue-tracking/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-org-remediation-loop/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-org-remediation-loop/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-org-remediation-loop/scripts/classify_fix_risk.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pr-review-sweep/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pr-review-sweep/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pr-review-sweep/references/pulls-tool-cheatsheet.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pr-review-sweep/scripts/summarize_prs.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-project-provisioner/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-project-provisioner/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-project-provisioner/scripts/enable_pages.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-create/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-create/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-review/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-review/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-repository-management/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-repository-management/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-tools/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-tools/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-tools/code-reviewer.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-tools/scripts/fetch_comments.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-tools/scripts/inspect_pr_checks.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-triage-resolver/SKILL.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-triage-resolver/WORKFLOW.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-triage-resolver/references/resolution-rules.md +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-triage-resolver/scripts/classify_safe.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-triage-resolver/scripts/gh_write.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent.egg-info/dependency_links.txt +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/github_agent.egg-info/top_level.txt +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/scripts/security_sanitizer.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/scripts/verify_api_integration.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/setup.cfg +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/conftest.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_action_discovery.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_api_client_endpoints.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_api_validation.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_auth_client_edge_cases.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_comment_crud.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_default_content_surfaces.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_github_agent_api_brute_force_coverage.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_github_agent_brute_force_coverage.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_github_gql.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_github_http.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_hardening.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_init_dynamics.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_kg_ingest.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_mcp_coverage.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_mcp_package_dispatch.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_model_fields.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_org_crud.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_pages.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_repo_secrets_characterization.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_backlog_build_plan.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_ci_failure_sweep_summarize_runs.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_github_tools_fetch_comments.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_github_tools_inspect_pr_checks.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_org_remediation_classify_fix_risk.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_pr_review_sweep_summarize_prs.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_triage_resolver_classify_safe.py +0 -0
- {github_agent-2.4.7 → github_agent-2.4.9}/tests/test_startup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github-agent
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.9
|
|
4
4
|
Summary: GitHub Agent for MCP
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -13,7 +13,7 @@ Requires-Python: >=3.12
|
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: requests>=2.34.2
|
|
16
|
-
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.
|
|
16
|
+
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.4.1
|
|
17
17
|
Provides-Extra: mcp
|
|
18
18
|
Provides-Extra: all
|
|
19
19
|
Provides-Extra: test
|
|
@@ -44,7 +44,7 @@ Dynamic: license-file
|
|
|
44
44
|

|
|
45
45
|

|
|
46
46
|
|
|
47
|
-
*Version: 2.4.
|
|
47
|
+
*Version: 2.4.9*
|
|
48
48
|
|
|
49
49
|
> **Documentation** — Installation, deployment, and usage across the MCP, API, and
|
|
50
50
|
> [official documentation](https://knuckles-team.github.io/github-agent/).
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|

|
|
21
21
|

|
|
22
22
|
|
|
23
|
-
*Version: 2.4.
|
|
23
|
+
*Version: 2.4.9*
|
|
24
24
|
|
|
25
25
|
> **Documentation** — Installation, deployment, and usage across the MCP, API, and
|
|
26
26
|
> [official documentation](https://knuckles-team.github.io/github-agent/).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.4.9"
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"""Data sources of this connector, declared by tool name (generated by connector-ontology-map migrate).
|
|
2
|
+
|
|
3
|
+
Served live as ``connector://resources``. Regenerate by editing the declarations, not the tools.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
# ruff: noqa: E501
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
from agent_connector_sdk.ingest.live_declaration import source_meta
|
|
10
|
+
from agent_connector_sdk.ingest.sources import IngestSourceDeclaration, IngestSourceSpec
|
|
11
|
+
|
|
12
|
+
CONNECTOR = "github-mcp"
|
|
13
|
+
|
|
14
|
+
SOURCES = (
|
|
15
|
+
source_meta(
|
|
16
|
+
tool="github_get_repositories",
|
|
17
|
+
source_id="github-repositories",
|
|
18
|
+
record_type="repository",
|
|
19
|
+
id_field="id",
|
|
20
|
+
cursor_field="updated_at",
|
|
21
|
+
page_param="page",
|
|
22
|
+
page_size_param="per_page",
|
|
23
|
+
pagination="page",
|
|
24
|
+
preset={
|
|
25
|
+
"doc_type": "repository",
|
|
26
|
+
"page_kind": "page",
|
|
27
|
+
},
|
|
28
|
+
records_path="data",
|
|
29
|
+
server="github-mcp",
|
|
30
|
+
text_field="description",
|
|
31
|
+
title_field="full_name",
|
|
32
|
+
),
|
|
33
|
+
source_meta(
|
|
34
|
+
tool="github_search_issues",
|
|
35
|
+
source_id="issues",
|
|
36
|
+
record_type="Issue",
|
|
37
|
+
id_field="id",
|
|
38
|
+
arguments={
|
|
39
|
+
"max_pages": 1,
|
|
40
|
+
"per_page": 50,
|
|
41
|
+
"q": "is:issue is:open involves:@me",
|
|
42
|
+
},
|
|
43
|
+
cursor_field="updated_at",
|
|
44
|
+
description="Open GitHub issues involving the authenticated user (first 50).",
|
|
45
|
+
records_path="data.items",
|
|
46
|
+
text_field="body",
|
|
47
|
+
title_field="title",
|
|
48
|
+
),
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
SCHEMA_MAPPINGS = {
|
|
52
|
+
"CheckRun": {
|
|
53
|
+
"fields": {
|
|
54
|
+
"completedAt": "xsd:dateTime",
|
|
55
|
+
"conclusion": "xsd:string",
|
|
56
|
+
"defaultBranch": "xsd:string",
|
|
57
|
+
"durationSeconds": "xsd:integer",
|
|
58
|
+
"event": "xsd:string",
|
|
59
|
+
"fullName": "xsd:string",
|
|
60
|
+
"headBranch": "xsd:string",
|
|
61
|
+
"headSha": "xsd:string",
|
|
62
|
+
"htmlUrl": "xsd:string",
|
|
63
|
+
"isDraft": "xsd:boolean",
|
|
64
|
+
"isPrivate": "xsd:boolean",
|
|
65
|
+
"number": "xsd:integer",
|
|
66
|
+
"runStartedAt": "xsd:dateTime",
|
|
67
|
+
"runStatus": "xsd:string",
|
|
68
|
+
"runUpdatedAt": "xsd:dateTime",
|
|
69
|
+
"sha": "xsd:string",
|
|
70
|
+
"startedAt": "xsd:dateTime",
|
|
71
|
+
"state": "xsd:string",
|
|
72
|
+
"status": "xsd:string",
|
|
73
|
+
"tagName": "xsd:string",
|
|
74
|
+
},
|
|
75
|
+
"ontology_class": "PipelineRun",
|
|
76
|
+
},
|
|
77
|
+
"Issue": {
|
|
78
|
+
"fields": {
|
|
79
|
+
"completedAt": "xsd:dateTime",
|
|
80
|
+
"conclusion": "xsd:string",
|
|
81
|
+
"defaultBranch": "xsd:string",
|
|
82
|
+
"durationSeconds": "xsd:integer",
|
|
83
|
+
"event": "xsd:string",
|
|
84
|
+
"fullName": "xsd:string",
|
|
85
|
+
"headBranch": "xsd:string",
|
|
86
|
+
"headSha": "xsd:string",
|
|
87
|
+
"htmlUrl": "xsd:string",
|
|
88
|
+
"isDraft": "xsd:boolean",
|
|
89
|
+
"isPrivate": "xsd:boolean",
|
|
90
|
+
"number": "xsd:integer",
|
|
91
|
+
"runStartedAt": "xsd:dateTime",
|
|
92
|
+
"runStatus": "xsd:string",
|
|
93
|
+
"runUpdatedAt": "xsd:dateTime",
|
|
94
|
+
"sha": "xsd:string",
|
|
95
|
+
"startedAt": "xsd:dateTime",
|
|
96
|
+
"state": "xsd:string",
|
|
97
|
+
"status": "xsd:string",
|
|
98
|
+
"tagName": "xsd:string",
|
|
99
|
+
},
|
|
100
|
+
"ontology_class": "WorkItem",
|
|
101
|
+
},
|
|
102
|
+
"Organization": {
|
|
103
|
+
"fields": {
|
|
104
|
+
"completedAt": "xsd:dateTime",
|
|
105
|
+
"conclusion": "xsd:string",
|
|
106
|
+
"defaultBranch": "xsd:string",
|
|
107
|
+
"durationSeconds": "xsd:integer",
|
|
108
|
+
"event": "xsd:string",
|
|
109
|
+
"fullName": "xsd:string",
|
|
110
|
+
"headBranch": "xsd:string",
|
|
111
|
+
"headSha": "xsd:string",
|
|
112
|
+
"htmlUrl": "xsd:string",
|
|
113
|
+
"isDraft": "xsd:boolean",
|
|
114
|
+
"isPrivate": "xsd:boolean",
|
|
115
|
+
"number": "xsd:integer",
|
|
116
|
+
"runStartedAt": "xsd:dateTime",
|
|
117
|
+
"runStatus": "xsd:string",
|
|
118
|
+
"runUpdatedAt": "xsd:dateTime",
|
|
119
|
+
"sha": "xsd:string",
|
|
120
|
+
"startedAt": "xsd:dateTime",
|
|
121
|
+
"state": "xsd:string",
|
|
122
|
+
"status": "xsd:string",
|
|
123
|
+
"tagName": "xsd:string",
|
|
124
|
+
},
|
|
125
|
+
"ontology_class": "Organization",
|
|
126
|
+
},
|
|
127
|
+
"Workflow": {
|
|
128
|
+
"fields": {
|
|
129
|
+
"completedAt": "xsd:dateTime",
|
|
130
|
+
"conclusion": "xsd:string",
|
|
131
|
+
"defaultBranch": "xsd:string",
|
|
132
|
+
"durationSeconds": "xsd:integer",
|
|
133
|
+
"event": "xsd:string",
|
|
134
|
+
"fullName": "xsd:string",
|
|
135
|
+
"headBranch": "xsd:string",
|
|
136
|
+
"headSha": "xsd:string",
|
|
137
|
+
"htmlUrl": "xsd:string",
|
|
138
|
+
"isDraft": "xsd:boolean",
|
|
139
|
+
"isPrivate": "xsd:boolean",
|
|
140
|
+
"number": "xsd:integer",
|
|
141
|
+
"runStartedAt": "xsd:dateTime",
|
|
142
|
+
"runStatus": "xsd:string",
|
|
143
|
+
"runUpdatedAt": "xsd:dateTime",
|
|
144
|
+
"sha": "xsd:string",
|
|
145
|
+
"startedAt": "xsd:dateTime",
|
|
146
|
+
"state": "xsd:string",
|
|
147
|
+
"status": "xsd:string",
|
|
148
|
+
"tagName": "xsd:string",
|
|
149
|
+
},
|
|
150
|
+
"ontology_class": "Action",
|
|
151
|
+
},
|
|
152
|
+
"WorkflowRun": {
|
|
153
|
+
"fields": {
|
|
154
|
+
"completedAt": "xsd:dateTime",
|
|
155
|
+
"conclusion": "xsd:string",
|
|
156
|
+
"defaultBranch": "xsd:string",
|
|
157
|
+
"durationSeconds": "xsd:integer",
|
|
158
|
+
"event": "xsd:string",
|
|
159
|
+
"fullName": "xsd:string",
|
|
160
|
+
"headBranch": "xsd:string",
|
|
161
|
+
"headSha": "xsd:string",
|
|
162
|
+
"htmlUrl": "xsd:string",
|
|
163
|
+
"isDraft": "xsd:boolean",
|
|
164
|
+
"isPrivate": "xsd:boolean",
|
|
165
|
+
"number": "xsd:integer",
|
|
166
|
+
"runStartedAt": "xsd:dateTime",
|
|
167
|
+
"runStatus": "xsd:string",
|
|
168
|
+
"runUpdatedAt": "xsd:dateTime",
|
|
169
|
+
"sha": "xsd:string",
|
|
170
|
+
"startedAt": "xsd:dateTime",
|
|
171
|
+
"state": "xsd:string",
|
|
172
|
+
"status": "xsd:string",
|
|
173
|
+
"tagName": "xsd:string",
|
|
174
|
+
},
|
|
175
|
+
"ontology_class": "PipelineRun",
|
|
176
|
+
},
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
RESOURCES = (
|
|
180
|
+
{
|
|
181
|
+
"id_prefix": "checkrun",
|
|
182
|
+
"label": "Check Run",
|
|
183
|
+
"name": "CheckRun",
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"id_prefix": "issue",
|
|
187
|
+
"label": "Issue",
|
|
188
|
+
"name": "Issue",
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"id_prefix": "organization",
|
|
192
|
+
"label": "Organization",
|
|
193
|
+
"name": "Organization",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"id_prefix": "workflow",
|
|
197
|
+
"label": "Workflow",
|
|
198
|
+
"name": "Workflow",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"id_prefix": "workflowrun",
|
|
202
|
+
"label": "Workflow Run",
|
|
203
|
+
"name": "WorkflowRun",
|
|
204
|
+
},
|
|
205
|
+
)
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
def declaration() -> IngestSourceDeclaration:
|
|
209
|
+
"""The declaration the server assembles from this module."""
|
|
210
|
+
specs = []
|
|
211
|
+
for item in SOURCES:
|
|
212
|
+
for entry in item["connector_sources"]:
|
|
213
|
+
body = {k: v for k, v in entry.items() if k not in ("tool", "mapping")}
|
|
214
|
+
specs.append(
|
|
215
|
+
IngestSourceSpec.model_validate({**body, "tools": (entry["tool"],)})
|
|
216
|
+
)
|
|
217
|
+
return IngestSourceDeclaration.model_validate(
|
|
218
|
+
{
|
|
219
|
+
"connector": CONNECTOR,
|
|
220
|
+
"sources": specs,
|
|
221
|
+
"schema_mappings": SCHEMA_MAPPINGS,
|
|
222
|
+
"resources": RESOURCES,
|
|
223
|
+
}
|
|
224
|
+
)
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"api_version": "arbora.io/v1",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"connector_manifest.yml": "8c377374f2ab87e99a765d3340b269b312ae6aa971c91ebe874b3dbf8f76b358",
|
|
5
|
-
"github_agent/connectors/mcp_source_presets.json": "312ec35c48d40253afcd8dba445afee9f41b5ac910e11a435d7c02ee63b5967f",
|
|
6
|
-
"github_agent/connectors/tool_schema_fingerprints.json": "36982e09c3dba96cc187fc6cd99431deb4899b24399e3b8dc206f228cb980ce7",
|
|
7
4
|
"github_agent/ontology/fixtures/records.json": "12f5b54b0ae98770f279f99e136788d063340042a9d6ff4bac0c22a886d2dc7b",
|
|
8
5
|
"github_agent/ontology/github.ttl": "ad0ad6d295143b38725866b5b5c59a824f10bfc4219794ac2d9a2274f11bbdb5",
|
|
9
6
|
"github_agent/ontology/mappings/source.yaml": "7ff7a37550f825a61fe6d0f9529206f4efe2727431e32b8ab95a39a32bdced43",
|
|
@@ -13,52 +13,27 @@
|
|
|
13
13
|
# github_branches / github_commits / github_actions / github_orgs). The shared
|
|
14
14
|
# :Person / :Document classes (users, release notes) are REUSED, never redefined.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
rdfs:comment "A GitHub organization that owns repositories and members (github_orgs)." .
|
|
16
|
+
# Shared concepts owned by the epistemic-graph ontology and referenced here, never redeclared:
|
|
17
|
+
# Repository, PullRequest, Release, Branch, Commit, PipelineRun. Only the GitHub-specific subclasses and properties are declared in this pack.
|
|
19
18
|
|
|
20
|
-
:
|
|
21
|
-
rdfs:subClassOf :SoftwareProject ;
|
|
22
|
-
rdfs:label "Repository" ;
|
|
23
|
-
rdfs:comment "A GitHub repository / codebase (github_repos)." .
|
|
19
|
+
:Organization a owl:Class .
|
|
24
20
|
|
|
25
|
-
:PullRequest a owl:Class ;
|
|
26
|
-
rdfs:label "Pull Request" ;
|
|
27
|
-
rdfs:comment "A proposed change under review, from a head to a base branch (github_pulls)." .
|
|
28
21
|
|
|
29
22
|
:Issue a owl:Class ;
|
|
30
23
|
rdfs:subClassOf :WorkItem ;
|
|
31
24
|
rdfs:label "Issue" ;
|
|
32
25
|
rdfs:comment "A tracked work item, bug, or discussion in a repository (github_issues)." .
|
|
33
26
|
|
|
34
|
-
:
|
|
35
|
-
rdfs:label "Release" ;
|
|
36
|
-
rdfs:comment "A tagged, published repository release with release notes (github_releases)." .
|
|
27
|
+
:Workflow a owl:Class .
|
|
37
28
|
|
|
38
|
-
:Branch a owl:Class ;
|
|
39
|
-
rdfs:label "Branch" ;
|
|
40
|
-
rdfs:comment "A named git branch within a repository (github_branches)." .
|
|
41
|
-
|
|
42
|
-
:Commit a owl:Class ;
|
|
43
|
-
rdfs:label "Commit" ;
|
|
44
|
-
rdfs:comment "A git commit recorded in a repository (github_commits)." .
|
|
45
|
-
|
|
46
|
-
:Workflow a owl:Class ;
|
|
47
|
-
rdfs:label "Workflow" ;
|
|
48
|
-
rdfs:comment "A GitHub Actions CI/CD workflow definition (github_actions)." .
|
|
49
29
|
|
|
50
30
|
:WorkflowRun a owl:Class ;
|
|
51
31
|
rdfs:subClassOf :PipelineRun ;
|
|
52
32
|
rdfs:label "Workflow Run" ;
|
|
53
33
|
rdfs:comment "A single execution of a GitHub Actions workflow for a ref/commit (github_actions)." .
|
|
54
34
|
|
|
55
|
-
:PipelineRun a owl:Class ;
|
|
56
|
-
rdfs:label "Pipeline Run" ;
|
|
57
|
-
rdfs:comment """A single CI/CD execution for a ref/commit (github_actions workflow run).
|
|
58
|
-
Shares its class name with the twin gitlab-api producer so GitHub Actions and GitLab
|
|
59
|
-
CI/CD unify under one node shape in the knowledge graph.""" .
|
|
60
|
-
|
|
61
35
|
:CheckRun a owl:Class ;
|
|
36
|
+
rdfs:subClassOf :PipelineRun ;
|
|
62
37
|
rdfs:label "Check Run" ;
|
|
63
38
|
rdfs:comment """A single job/check within a PipelineRun (github_actions workflow-run job or
|
|
64
39
|
GitHub Checks-API check run). Shares its class name with the twin gitlab-api producer.""" .
|
|
@@ -140,6 +115,7 @@
|
|
|
140
115
|
:state a owl:DatatypeProperty ;
|
|
141
116
|
rdfs:label "state" ;
|
|
142
117
|
rdfs:comment "Lifecycle state (open, closed, merged)." ;
|
|
118
|
+
rdfs:domain [ a owl:Class ; owl:unionOf ( :Issue :PullRequest ) ] ;
|
|
143
119
|
rdfs:range xsd:string .
|
|
144
120
|
|
|
145
121
|
:number a owl:DatatypeProperty ;
|
|
@@ -242,5 +218,4 @@
|
|
|
242
218
|
rdfs:comment """GitHub source-control, code-review and CI/CD model — organizations,
|
|
243
219
|
repositories, pull requests, issues, releases, branches, commits, workflows and
|
|
244
220
|
workflow runs, with their review and delivery relationships — federated into the
|
|
245
|
-
agent-connector-sdk knowledge-graph hub. Reuses the shared :Person and :Document classes."""
|
|
246
|
-
owl:imports <http://knuckles.team/kg> .
|
|
221
|
+
agent-connector-sdk knowledge-graph hub. Reuses the shared :Person and :Document classes.""" .
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github-agent
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.9
|
|
4
4
|
Summary: GitHub Agent for MCP
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -13,7 +13,7 @@ Requires-Python: >=3.12
|
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: requests>=2.34.2
|
|
16
|
-
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.
|
|
16
|
+
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.4.1
|
|
17
17
|
Provides-Extra: mcp
|
|
18
18
|
Provides-Extra: all
|
|
19
19
|
Provides-Extra: test
|
|
@@ -44,7 +44,7 @@ Dynamic: license-file
|
|
|
44
44
|

|
|
45
45
|

|
|
46
46
|
|
|
47
|
-
*Version: 2.4.
|
|
47
|
+
*Version: 2.4.9*
|
|
48
48
|
|
|
49
49
|
> **Documentation** — Installation, deployment, and usage across the MCP, API, and
|
|
50
50
|
> [official documentation](https://knuckles-team.github.io/github-agent/).
|
|
@@ -5,6 +5,7 @@ github_agent/__init__.py
|
|
|
5
5
|
github_agent/__main__.py
|
|
6
6
|
github_agent/api_client.py
|
|
7
7
|
github_agent/auth.py
|
|
8
|
+
github_agent/connector_sources.py
|
|
8
9
|
github_agent/github_gql.py
|
|
9
10
|
github_agent/github_http.py
|
|
10
11
|
github_agent/github_input_models.py
|
|
@@ -34,8 +35,6 @@ github_agent/api/api_client_repos.py
|
|
|
34
35
|
github_agent/api/api_client_search.py
|
|
35
36
|
github_agent/api/api_client_workflows.py
|
|
36
37
|
github_agent/connectors/__init__.py
|
|
37
|
-
github_agent/connectors/mcp_source_presets.json
|
|
38
|
-
github_agent/connectors/tool_schema_fingerprints.json
|
|
39
38
|
github_agent/mcp/__init__.py
|
|
40
39
|
github_agent/mcp/mcp_action.py
|
|
41
40
|
github_agent/mcp/mcp_branch.py
|
|
@@ -52,7 +51,6 @@ github_agent/mcp/mcp_search.py
|
|
|
52
51
|
github_agent/ontology/__init__.py
|
|
53
52
|
github_agent/ontology/certification.json
|
|
54
53
|
github_agent/ontology/github.ttl
|
|
55
|
-
github_agent/ontology/ingest_sources.json
|
|
56
54
|
github_agent/ontology/fixtures/records.json
|
|
57
55
|
github_agent/ontology/mappings/source.yaml
|
|
58
56
|
github_agent/ontology/migrations/manifest.json
|
|
@@ -110,6 +108,7 @@ tests/test_api_client_endpoints.py
|
|
|
110
108
|
tests/test_api_validation.py
|
|
111
109
|
tests/test_auth_client_edge_cases.py
|
|
112
110
|
tests/test_comment_crud.py
|
|
111
|
+
tests/test_cq_paths.py
|
|
113
112
|
tests/test_default_content_surfaces.py
|
|
114
113
|
tests/test_fleet_name.py
|
|
115
114
|
tests/test_github_agent_api_brute_force_coverage.py
|
|
@@ -7,8 +7,5 @@ github-agent = github_agent.ontology
|
|
|
7
7
|
[agent_connector_sdk.skill_providers]
|
|
8
8
|
github-agent = github_agent.skills
|
|
9
9
|
|
|
10
|
-
[agent_connector_sdk.source_connector_providers]
|
|
11
|
-
github-agent = github_agent.connectors
|
|
12
|
-
|
|
13
10
|
[console_scripts]
|
|
14
11
|
github-mcp = github_agent.mcp_server:mcp_server
|
|
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "github-agent"
|
|
7
|
-
version = "2.4.
|
|
7
|
+
version = "2.4.9"
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
description = "GitHub Agent for MCP"
|
|
10
10
|
requires-python = ">=3.12"
|
|
11
11
|
classifiers = [ "Development Status :: 5 - Production/Stable", "License :: Public Domain", "Environment :: Console", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3",]
|
|
12
|
-
dependencies = [ "requests>=2.34.2", "agent-connector-sdk[mcp,graphql]>=0.
|
|
12
|
+
dependencies = [ "requests>=2.34.2", "agent-connector-sdk[mcp,graphql]>=0.4.1,<1.0.0",]
|
|
13
13
|
[[project.authors]]
|
|
14
14
|
name = "Project Maintainers"
|
|
15
15
|
email = "maintainers@users.noreply.github.com"
|
|
@@ -32,9 +32,6 @@ github-agent = "github_agent.skills"
|
|
|
32
32
|
[project.entry-points."agent_connector_sdk.ontology_providers"]
|
|
33
33
|
github-agent = "github_agent.ontology"
|
|
34
34
|
|
|
35
|
-
[project.entry-points."agent_connector_sdk.source_connector_providers"]
|
|
36
|
-
github-agent = "github_agent.connectors"
|
|
37
|
-
|
|
38
35
|
# The one declared connector identity: the fleet name (SDK-CONNECTOR-CONTROL-R071).
|
|
39
36
|
[project.entry-points."agent_connector_sdk.connector"]
|
|
40
37
|
github-mcp = "github_agent"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""Competency-question paths of the GitHub pack (CONN-GITHUB-AGENT-CONNECTOR-CONTENT-R004)."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from github_agent.connector_sources import declaration as declared_sources
|
|
6
|
+
import re
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
import pytest
|
|
10
|
+
|
|
11
|
+
import github_agent
|
|
12
|
+
|
|
13
|
+
pytestmark = pytest.mark.spec("CONN-GITHUB-AGENT-CONNECTOR-CONTENT-R004")
|
|
14
|
+
|
|
15
|
+
PACKAGE = Path(github_agent.__file__).parent
|
|
16
|
+
TTL = (PACKAGE / "ontology" / "github.ttl").read_text("utf-8")
|
|
17
|
+
# Concepts the epistemic-graph ontology owns: referenced, never declared here.
|
|
18
|
+
SHARED = ("Repository", "PullRequest", "Release", "Branch", "Commit", "PipelineRun")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def _block(name: str) -> str:
|
|
22
|
+
match = re.search(rf"^:{name} a [^\n]*\n(?:[^\n]+\n)*", TTL, flags=re.M)
|
|
23
|
+
assert match, name
|
|
24
|
+
return match.group(0)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@pytest.mark.parametrize("name", SHARED)
|
|
28
|
+
def test_shared_concepts_are_not_redeclared(name: str) -> None:
|
|
29
|
+
assert not re.search(rf"^:{name} a owl:Class", TTL, flags=re.M), name
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def test_state_is_declared_on_the_issue_type() -> None:
|
|
33
|
+
block = _block("state")
|
|
34
|
+
assert re.search(r"rdfs:domain \[ a owl:Class ; owl:unionOf \( :Issue ", block)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def test_check_run_extends_pipeline_run() -> None:
|
|
38
|
+
assert "rdfs:subClassOf :PipelineRun" in _block("CheckRun")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def test_no_mapping_has_a_null_ontology_class() -> None:
|
|
42
|
+
unmapped = [
|
|
43
|
+
name
|
|
44
|
+
for name, mapping in declared_sources().schema_mappings.items()
|
|
45
|
+
if not mapping.ontology_class
|
|
46
|
+
]
|
|
47
|
+
assert unmapped == []
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from agent_connector_sdk.connector_identity import connector_name
|
|
5
6
|
import ast
|
|
6
|
-
import json
|
|
7
|
-
import re
|
|
8
7
|
import tomllib
|
|
9
8
|
from pathlib import Path
|
|
10
9
|
|
|
@@ -38,16 +37,6 @@ def test_connector_name_is_the_fleet_name() -> None:
|
|
|
38
37
|
assert pyproject["project"]["entry-points"]["agent_connector_sdk.connector"] == {
|
|
39
38
|
FLEET: "github_agent"
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
if not manifest_path.is_file():
|
|
43
|
-
manifest_path = ROOT / "connector_manifest.yml"
|
|
44
|
-
manifest = manifest_path.read_text(encoding="utf-8")
|
|
45
|
-
match = re.search(r'^\s*"?connector"?\s*:\s*"?([^"\s,]+)', manifest, re.MULTILINE)
|
|
46
|
-
assert match is not None and match.group(1) == FLEET
|
|
47
|
-
fingerprints = PACKAGE / "connectors" / "tool_schema_fingerprints.json"
|
|
48
|
-
if fingerprints.is_file():
|
|
49
|
-
assert (
|
|
50
|
-
json.loads(fingerprints.read_text(encoding="utf-8"))["connector"] == FLEET
|
|
51
|
-
)
|
|
40
|
+
assert connector_name("github_agent") == FLEET
|
|
52
41
|
for module in sorted(PACKAGE.glob("*.py")):
|
|
53
42
|
assert all(name == FLEET for name in _call_connectors(module)), module.name
|
|
@@ -5,8 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
|
|
7
7
|
import pytest
|
|
8
|
-
import
|
|
9
|
-
from agent_connector_sdk.ingest.sources import load_ingest_sources
|
|
8
|
+
from github_agent.connector_sources import declaration as declared_sources
|
|
10
9
|
from agent_connector_sdk.mcp.method_tools import operation_annotations, operation_verb
|
|
11
10
|
from agent_connector_sdk.mcp.tool_surface import operation_prefix
|
|
12
11
|
|
|
@@ -17,7 +16,7 @@ from github_agent.api_client import Api
|
|
|
17
16
|
@pytest.mark.spec("CONN-GITHUB-AGENT-CONNECTOR-CONTENT-R003")
|
|
18
17
|
def test_declares_ingestible_sources() -> None:
|
|
19
18
|
package_root = Path(github_agent.__file__).parent
|
|
20
|
-
declaration =
|
|
19
|
+
declaration = declared_sources()
|
|
21
20
|
assert declaration is not None
|
|
22
21
|
assert declaration.connector == "github-mcp"
|
|
23
22
|
source = declaration.source("issues")
|
|
@@ -25,10 +24,7 @@ def test_declares_ingestible_sources() -> None:
|
|
|
25
24
|
prefix = operation_prefix("github-agent")
|
|
26
25
|
assert source.tools == (f"{prefix}_search_issues",)
|
|
27
26
|
# The engine admits a record only under the pack mapping of its type.
|
|
28
|
-
|
|
29
|
-
(package_root.parent / "connector_manifest.yml").read_text("utf-8")
|
|
30
|
-
)
|
|
31
|
-
assert source.record_type in manifest["schema_mappings"]
|
|
27
|
+
assert source.record_type in declared_sources().schema_mappings
|
|
32
28
|
method = getattr(Api, "search_issues")
|
|
33
29
|
annotations = operation_annotations("search_issues", operation_verb(method))
|
|
34
30
|
assert annotations.read_only_hint is True
|
|
@@ -32,13 +32,7 @@ PARENT_CLASSES = frozenset(
|
|
|
32
32
|
)
|
|
33
33
|
# Classes for which the parent ontology has no fitting class yet. Each is a candidate for a new
|
|
34
34
|
# parent class (see the orphan mapping report); a class leaves this set when it gains a parent.
|
|
35
|
-
PENDING_NEW_PARENT: frozenset[str] = frozenset(
|
|
36
|
-
(
|
|
37
|
-
"http://knuckles.team/kg#Branch",
|
|
38
|
-
"http://knuckles.team/kg#CheckRun",
|
|
39
|
-
"http://knuckles.team/kg#Release",
|
|
40
|
-
)
|
|
41
|
-
)
|
|
35
|
+
PENDING_NEW_PARENT: frozenset[str] = frozenset()
|
|
42
36
|
|
|
43
37
|
_STRING = re.compile(r'"""(?:.|\n)*?"""|"(?:[^"\\\n]|\\.)*"')
|
|
44
38
|
_IRI = re.compile(r"<([^<>\s]*)>")
|
|
@@ -109,6 +103,4 @@ def test_ontology_joins_the_parent_graph(path: Path) -> None:
|
|
|
109
103
|
declared = {s for s, p, o in triples if p == RDF_TYPE and o == OWL + "Class"}
|
|
110
104
|
if not declared:
|
|
111
105
|
pytest.skip("declares no classes")
|
|
112
|
-
imports = {o for s, p, o in triples if p == OWL + "imports"}
|
|
113
|
-
assert any(i == PARENT_IRI or i.startswith(PARENT_IRI + "/") for i in imports)
|
|
114
106
|
assert _orphans(triples) == PENDING_NEW_PARENT & declared
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.4.7"
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_comment": "Tier-1 mcp_tool source presets for github-agent (AU-KG.ingest.mcp-tool-connector). Syncs GitHub repositories into the KG as repository documents via the github-agent MCP server. Contributed presets win over the central MCP_TOOL_PRESETS. Extend with pull-request / issue presets as needed.",
|
|
3
|
-
"github-repositories": {
|
|
4
|
-
"server": "github-mcp",
|
|
5
|
-
"tool": "github_get_repositories",
|
|
6
|
-
"records_path": "data",
|
|
7
|
-
"id_field": "id",
|
|
8
|
-
"title_field": "full_name",
|
|
9
|
-
"text_field": "description",
|
|
10
|
-
"updated_field": "updated_at",
|
|
11
|
-
"pagination": "page",
|
|
12
|
-
"page_kind": "page",
|
|
13
|
-
"page_param": "page",
|
|
14
|
-
"page_size_param": "per_page",
|
|
15
|
-
"doc_type": "repository"
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"connector": "github-mcp",
|
|
3
|
-
"sources": [
|
|
4
|
-
{
|
|
5
|
-
"source_id": "issues",
|
|
6
|
-
"record_type": "Issue",
|
|
7
|
-
"tools": [
|
|
8
|
-
"github_search_issues"
|
|
9
|
-
],
|
|
10
|
-
"records_path": "data.items",
|
|
11
|
-
"id_field": "id",
|
|
12
|
-
"title_field": "title",
|
|
13
|
-
"text_field": "body",
|
|
14
|
-
"cursor_field": "updated_at",
|
|
15
|
-
"incremental": false,
|
|
16
|
-
"arguments": {
|
|
17
|
-
"q": "is:issue is:open involves:@me",
|
|
18
|
-
"per_page": 50,
|
|
19
|
-
"max_pages": 1
|
|
20
|
-
},
|
|
21
|
-
"description": "Open GitHub issues involving the authenticated user (first 50)."
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-actions-ci-review/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-actions-ci-review/WORKFLOW.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-agent-operations/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-backlog-planner/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-backlog-planner/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-ci-failure-sweep/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-ci-failure-sweep/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-dependabot-review/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-dependabot-review/WORKFLOW.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-issue-tracking/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-issue-tracking/WORKFLOW.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-org-remediation-loop/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pr-review-sweep/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pr-review-sweep/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-project-provisioner/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-project-provisioner/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-create/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-create/WORKFLOW.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-review/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-pull-request-review/WORKFLOW.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-repository-management/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-tools/scripts/fetch_comments.py
RENAMED
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-triage-resolver/SKILL.md
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/github_agent/skills/github-triage-resolver/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/tests/test_github_agent_api_brute_force_coverage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_ci_failure_sweep_summarize_runs.py
RENAMED
|
File without changes
|
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_github_tools_inspect_pr_checks.py
RENAMED
|
File without changes
|
{github_agent-2.4.7 → github_agent-2.4.9}/tests/test_skill_org_remediation_classify_fix_risk.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|