rom-manager 3.3.2__tar.gz → 3.3.4__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.
- {rom_manager-3.3.2/rom_manager.egg-info → rom_manager-3.3.4}/PKG-INFO +4 -4
- {rom_manager-3.3.2 → rom_manager-3.3.4}/README.md +1 -1
- {rom_manager-3.3.2 → rom_manager-3.3.4}/pyproject.toml +7 -3
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/connectors/tool_schema_fingerprints.json +1 -1
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/kg_ingest.py +1 -1
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/kg_media.py +1 -1
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/mcp_server.py +1 -1
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/ontology/certification.json +3 -3
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/version.py +1 -1
- {rom_manager-3.3.2 → rom_manager-3.3.4/rom_manager.egg-info}/PKG-INFO +4 -4
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager.egg-info/SOURCES.txt +2 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager.egg-info/entry_points.txt +3 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager.egg-info/requires.txt +2 -2
- rom_manager-3.3.4/tests/test_default_content_surfaces.py +43 -0
- rom_manager-3.3.4/tests/test_fleet_name.py +53 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/LICENSE +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/MANIFEST.in +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/requirements.txt +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/__main__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/adapters/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/adapters/api_client.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/api_client.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/archives.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/auth.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/connectors/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/connectors/mcp_source_presets.json +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/conversion.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/core/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/core/archives.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/core/conversion.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/core/naming.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/game_codes.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/mcp/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/mcp/mcp_conversion.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/mcp/mcp_game_codes.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/mcp/mcp_ingest.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/mcp/mcp_romm.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/mcp_config.json +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/models/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/models/schemas.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/naming.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/ontology/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/ontology/fixtures/records.json +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/ontology/mappings/source.yaml +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/ontology/migrations/manifest.json +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/ontology/rom.ttl +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/ontology/shapes/connector.shacl.ttl +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/prompts/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/prompts/convert_rom.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/prompts/librarian_specialist.json +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/rom_manager.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_base.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_collections.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_config.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_devices.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_feeds.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_firmware.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_platforms.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_roms.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_saves.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_screenshots.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_search.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_states.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_system.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_tasks.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/api/api_client_users.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/auth.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/cli.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/romm/openapi.json +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/__init__.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-conversion/SKILL.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-conversion/WORKFLOW.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-game-codes/SKILL.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-game-codes/WORKFLOW.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-library-sync/SKILL.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-library-sync/WORKFLOW.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-operations/SKILL.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-operations/agents/openai.yaml +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-operations/references/catalog.md +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager.egg-info/dependency_links.txt +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager.egg-info/top_level.txt +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/setup.cfg +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_archives.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_bridge_concepts.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_conversion.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_game_codes.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_init_dynamics.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_kg_ingest.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_kg_media.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_mcp_registration.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_naming.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_romm_cli.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_romm_client.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_romm_coverage.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_romm_mcp_registration.py +0 -0
- {rom_manager-3.3.2 → rom_manager-3.3.4}/tests/test_startup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rom-manager
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.4
|
|
4
4
|
Summary: ROM Converter/Organizer (CHD/RVZ) + MCP Server
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -12,12 +12,12 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Requires-Python: <3.15,>=3.12
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.
|
|
15
|
+
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.18
|
|
16
16
|
Requires-Dist: python-dotenv>=1.2.4
|
|
17
17
|
Requires-Dist: tqdm>=4.70.1
|
|
18
18
|
Requires-Dist: requests>=2.34.2
|
|
19
19
|
Provides-Extra: mcp
|
|
20
|
-
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.
|
|
20
|
+
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.18; extra == "mcp"
|
|
21
21
|
Provides-Extra: native
|
|
22
22
|
Requires-Dist: patool>=4.1.0; extra == "native"
|
|
23
23
|
Provides-Extra: convert
|
|
@@ -50,7 +50,7 @@ Dynamic: license-file
|
|
|
50
50
|

|
|
51
51
|

|
|
52
52
|
|
|
53
|
-
*Version: 3.3.
|
|
53
|
+
*Version: 3.3.4*
|
|
54
54
|
|
|
55
55
|
> **Documentation** — Installation, deployment, and usage across the API, CLI, and
|
|
56
56
|
> [official documentation](https://knuckles-team.github.io/rom-manager/).
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|

|
|
18
18
|

|
|
19
19
|
|
|
20
|
-
*Version: 3.3.
|
|
20
|
+
*Version: 3.3.4*
|
|
21
21
|
|
|
22
22
|
> **Documentation** — Installation, deployment, and usage across the API, CLI, and
|
|
23
23
|
> [official documentation](https://knuckles-team.github.io/rom-manager/).
|
|
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rom-manager"
|
|
7
|
-
version = "3.3.
|
|
7
|
+
version = "3.3.4"
|
|
8
8
|
description = "ROM Converter/Organizer (CHD/RVZ) + MCP Server"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
classifiers = [ "Development Status :: 5 - Production/Stable", "License :: Public Domain", "Environment :: Console", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3",]
|
|
11
11
|
requires-python = ">=3.12, <3.15"
|
|
12
|
-
dependencies = [ "agent-connector-sdk[mcp]>=0.3.
|
|
12
|
+
dependencies = [ "agent-connector-sdk[mcp]>=0.3.18,<1.0.0", "python-dotenv>=1.2.4", "tqdm>=4.70.1", "requests>=2.34.2",]
|
|
13
13
|
[[project.authors]]
|
|
14
14
|
name = "Project Maintainers"
|
|
15
15
|
email = "maintainers@users.noreply.github.com"
|
|
@@ -18,7 +18,7 @@ email = "maintainers@users.noreply.github.com"
|
|
|
18
18
|
text = "MIT"
|
|
19
19
|
|
|
20
20
|
[project.optional-dependencies]
|
|
21
|
-
mcp = [ "agent-connector-sdk[mcp]>=0.3.
|
|
21
|
+
mcp = [ "agent-connector-sdk[mcp]>=0.3.18,<1.0.0",]
|
|
22
22
|
native = [ "patool>=4.1.0",]
|
|
23
23
|
convert = [ "patool>=4.1.0",]
|
|
24
24
|
all = [ "rom-manager[mcp,native]>=2.0.0",]
|
|
@@ -41,6 +41,10 @@ rom-manager = "rom_manager.connectors"
|
|
|
41
41
|
[project.entry-points."agent_connector_sdk.prompt_providers"]
|
|
42
42
|
rom-manager = "rom_manager.prompts"
|
|
43
43
|
|
|
44
|
+
# The one declared connector identity: the fleet name (SDK-CONNECTOR-CONTROL-R071).
|
|
45
|
+
[project.entry-points."agent_connector_sdk.connector"]
|
|
46
|
+
rom-manager-mcp = "rom_manager"
|
|
47
|
+
|
|
44
48
|
[tool.uv.workspace]
|
|
45
49
|
members = ["."]
|
|
46
50
|
|
|
@@ -29,7 +29,7 @@ from agent_connector_sdk.ingest import (
|
|
|
29
29
|
|
|
30
30
|
logger = logging.getLogger("rom_manager.kg")
|
|
31
31
|
|
|
32
|
-
_BINDING = IngestBinding(connector="rom-manager", stream="rom")
|
|
32
|
+
_BINDING = IngestBinding(connector="rom-manager-mcp", stream="rom")
|
|
33
33
|
|
|
34
34
|
_ENTITY_RESERVED_KEYS = frozenset({"id", "node_type"})
|
|
35
35
|
_RELATIONSHIP_RESERVED_KEYS = frozenset({"source", "target", "relationship"})
|
|
@@ -30,7 +30,7 @@ from agent_connector_sdk.ingest import (
|
|
|
30
30
|
|
|
31
31
|
logger = logging.getLogger("rom_manager.kg.media")
|
|
32
32
|
|
|
33
|
-
_BINDING = IngestBinding(connector="rom-manager", stream="rom")
|
|
33
|
+
_BINDING = IngestBinding(connector="rom-manager-mcp", stream="rom")
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
async def _store(
|
|
@@ -41,7 +41,7 @@ from rom_manager.api_client import Api
|
|
|
41
41
|
from rom_manager.auth import get_client
|
|
42
42
|
from rom_manager.romm import RommApi, get_romm_client
|
|
43
43
|
|
|
44
|
-
__version__ = "3.3.
|
|
44
|
+
__version__ = "3.3.4"
|
|
45
45
|
print(f"ROM Manager MCP v{__version__}", file=sys.stderr)
|
|
46
46
|
|
|
47
47
|
logger = get_logger(name="mcp_server")
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"api_version": "arbora.io/v1",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"connector_manifest.yml": "
|
|
4
|
+
"connector_manifest.yml": "1d9b28b4d4f2a727e91d2d78f4c79ca94cb8472e62431212ef48f3505b174c01",
|
|
5
5
|
"rom_manager/connectors/mcp_source_presets.json": "67d9b7bd5d67ded36310d59c75f8e2b1659180e65dbd2b40528c198af2d0eacc",
|
|
6
|
-
"rom_manager/connectors/tool_schema_fingerprints.json": "
|
|
6
|
+
"rom_manager/connectors/tool_schema_fingerprints.json": "ac7e2338afa615151e207a701e9494d8f26d2cf84fefafc0b5412f254a83a97d",
|
|
7
7
|
"rom_manager/ontology/fixtures/records.json": "16e329cbb3875df819f48c6c3c28a9a08c721486ba82cbe16afe8cf269af411e",
|
|
8
8
|
"rom_manager/ontology/mappings/source.yaml": "73fa61fedbbbecfdb538b6f86700d4cacedb0f5082f92342bd9a2637a4462d8a",
|
|
9
9
|
"rom_manager/ontology/migrations/manifest.json": "afbc56fc66f2965bc52b701dd3f1e745d619b596d21f6cc51471fa0e85214442",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"bundle_schema": "2",
|
|
23
23
|
"epistemic_graph": ">=2.27.0,<3"
|
|
24
24
|
},
|
|
25
|
-
"connector": "rom-manager",
|
|
25
|
+
"connector": "rom-manager-mcp",
|
|
26
26
|
"kind": "ConnectorSourceAttestation",
|
|
27
27
|
"live_certified": false,
|
|
28
28
|
"mode": "offline-source",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rom-manager
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.4
|
|
4
4
|
Summary: ROM Converter/Organizer (CHD/RVZ) + MCP Server
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -12,12 +12,12 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Requires-Python: <3.15,>=3.12
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.
|
|
15
|
+
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.18
|
|
16
16
|
Requires-Dist: python-dotenv>=1.2.4
|
|
17
17
|
Requires-Dist: tqdm>=4.70.1
|
|
18
18
|
Requires-Dist: requests>=2.34.2
|
|
19
19
|
Provides-Extra: mcp
|
|
20
|
-
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.
|
|
20
|
+
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.18; extra == "mcp"
|
|
21
21
|
Provides-Extra: native
|
|
22
22
|
Requires-Dist: patool>=4.1.0; extra == "native"
|
|
23
23
|
Provides-Extra: convert
|
|
@@ -50,7 +50,7 @@ Dynamic: license-file
|
|
|
50
50
|

|
|
51
51
|

|
|
52
52
|
|
|
53
|
-
*Version: 3.3.
|
|
53
|
+
*Version: 3.3.4*
|
|
54
54
|
|
|
55
55
|
> **Documentation** — Installation, deployment, and usage across the API, CLI, and
|
|
56
56
|
> [official documentation](https://knuckles-team.github.io/rom-manager/).
|
|
@@ -83,6 +83,8 @@ rom_manager/skills/rom-manager-operations/references/catalog.md
|
|
|
83
83
|
tests/test_archives.py
|
|
84
84
|
tests/test_bridge_concepts.py
|
|
85
85
|
tests/test_conversion.py
|
|
86
|
+
tests/test_default_content_surfaces.py
|
|
87
|
+
tests/test_fleet_name.py
|
|
86
88
|
tests/test_game_codes.py
|
|
87
89
|
tests/test_init_dynamics.py
|
|
88
90
|
tests/test_kg_ingest.py
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
agent-connector-sdk[mcp]<1.0.0,>=0.3.
|
|
1
|
+
agent-connector-sdk[mcp]<1.0.0,>=0.3.18
|
|
2
2
|
python-dotenv>=1.2.4
|
|
3
3
|
tqdm>=4.70.1
|
|
4
4
|
requests>=2.34.2
|
|
@@ -10,7 +10,7 @@ rom-manager[mcp,native]>=2.0.0
|
|
|
10
10
|
patool>=4.1.0
|
|
11
11
|
|
|
12
12
|
[mcp]
|
|
13
|
-
agent-connector-sdk[mcp]<1.0.0,>=0.3.
|
|
13
|
+
agent-connector-sdk[mcp]<1.0.0,>=0.3.18
|
|
14
14
|
|
|
15
15
|
[native]
|
|
16
16
|
patool>=4.1.0
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""CONN-ROM-MANAGER-CONNECTOR-CONTENT-R001: the server lists its packaged skills, ontology and prompts by default."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import asyncio
|
|
6
|
+
import importlib
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
import pytest
|
|
10
|
+
from fastmcp import Client
|
|
11
|
+
|
|
12
|
+
PACKAGE = "rom_manager"
|
|
13
|
+
ROOT = Path(list(importlib.import_module(PACKAGE).__path__)[0])
|
|
14
|
+
|
|
15
|
+
pytestmark = pytest.mark.spec("CONN-ROM-MANAGER-CONNECTOR-CONTENT-R001")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _server():
|
|
19
|
+
namespace = {"__name__": PACKAGE + ".mcp_server"}
|
|
20
|
+
exec(
|
|
21
|
+
"from agent_connector_sdk.mcp.server import create_mcp_server\n"
|
|
22
|
+
"result = create_mcp_server('rom-manager-mcp', version='0', command_args=[])",
|
|
23
|
+
namespace,
|
|
24
|
+
)
|
|
25
|
+
return namespace["result"][1]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
async def _listings():
|
|
29
|
+
async with Client(_server()) as client:
|
|
30
|
+
resources = {str(r.uri) for r in await client.list_resources()}
|
|
31
|
+
prompts = {p.name for p in await client.list_prompts()}
|
|
32
|
+
return resources, prompts
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def test_default_content_surfaces() -> None:
|
|
36
|
+
resources, prompts = asyncio.run(_listings())
|
|
37
|
+
if list(ROOT.glob("skills/*/SKILL.md")):
|
|
38
|
+
assert any(u.startswith("skill://") for u in resources)
|
|
39
|
+
if list(ROOT.glob("ontology/*.ttl")):
|
|
40
|
+
assert any(u.startswith("ontology://rom-manager-mcp/") for u in resources)
|
|
41
|
+
for path in ROOT.glob("prompts/*.json"):
|
|
42
|
+
if not path.name.startswith("_"):
|
|
43
|
+
assert path.stem in prompts
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""CONN-ROM-MANAGER-CONNECTOR-IDENTITY-R001: the connector is filed under its fleet name, rom-manager-mcp."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import ast
|
|
6
|
+
import json
|
|
7
|
+
import re
|
|
8
|
+
import tomllib
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
|
|
11
|
+
import pytest
|
|
12
|
+
|
|
13
|
+
ROOT = Path(__file__).resolve().parents[1]
|
|
14
|
+
PACKAGE = ROOT / "rom_manager"
|
|
15
|
+
FLEET = "rom-manager-mcp"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _call_connectors(path: Path) -> list[str]:
|
|
19
|
+
names = []
|
|
20
|
+
for node in ast.walk(ast.parse(path.read_text(encoding="utf-8"))):
|
|
21
|
+
if isinstance(node, ast.Call) and getattr(
|
|
22
|
+
node.func, "id", getattr(node.func, "attr", "")
|
|
23
|
+
) in {
|
|
24
|
+
"IngestBinding",
|
|
25
|
+
"ConnectorContent",
|
|
26
|
+
}:
|
|
27
|
+
names += [
|
|
28
|
+
str(k.value.value)
|
|
29
|
+
for k in node.keywords
|
|
30
|
+
if k.arg == "connector" and isinstance(k.value, ast.Constant)
|
|
31
|
+
]
|
|
32
|
+
return names
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@pytest.mark.spec("CONN-ROM-MANAGER-CONNECTOR-IDENTITY-R001")
|
|
36
|
+
def test_connector_name_is_the_fleet_name() -> None:
|
|
37
|
+
pyproject = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
|
|
38
|
+
assert pyproject["project"]["entry-points"]["agent_connector_sdk.connector"] == {
|
|
39
|
+
FLEET: "rom_manager"
|
|
40
|
+
}
|
|
41
|
+
manifest_path = PACKAGE / "connector_manifest.yml"
|
|
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
|
+
)
|
|
52
|
+
for module in sorted(PACKAGE.glob("*.py")):
|
|
53
|
+
assert all(name == FLEET for name in _call_connectors(module)), module.name
|
|
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
|
|
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
|
{rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-conversion/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
{rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-game-codes/WORKFLOW.md
RENAMED
|
File without changes
|
{rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-library-sync/SKILL.md
RENAMED
|
File without changes
|
{rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-library-sync/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
{rom_manager-3.3.2 → rom_manager-3.3.4}/rom_manager/skills/rom-manager-operations/agents/openai.yaml
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|