flextools-mcp 2.3.2__tar.gz → 2.3.3__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.
- {flextools_mcp-2.3.2/src/flextools_mcp.egg-info → flextools_mcp-2.3.3}/PKG-INFO +1 -1
- flextools_mcp-2.3.3/VERSION +1 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3/src/flextools_mcp.egg-info}/PKG-INFO +1 -1
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/SOURCES.txt +5 -1
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_casting_index.py +3 -1
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_navigation_graph.py +5 -4
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_reverse_mapping.py +6 -5
- flextools_mcp-2.3.3/src/flextoolsmcp/index/common_patterns_flexicon-v4.1.1.json +2866 -0
- flextools_mcp-2.3.3/src/flextoolsmcp/index/common_patterns_flexicon-v4.1.2.json +2866 -0
- flextools_mcp-2.3.2/src/flextoolsmcp/index/flexlibs/flexicon_api_v4.1.0.json → flextools_mcp-2.3.3/src/flextoolsmcp/index/flexlibs/flexicon_api_v4.1.2.json +105 -14
- flextools_mcp-2.3.3/src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.1.json +83642 -0
- flextools_mcp-2.3.3/src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.2.json +83642 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/flexlibs/flexlibs_api_v1.2.8.json +1 -1
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/liblcm/liblcm_api_v11.0.0.json +12 -7
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/reverse_mapping_liblcm-v11.0.0.json +16 -1
- flextools_mcp-2.3.2/VERSION +0 -1
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/LICENSE +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/MANIFEST.in +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/README.md +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/pyproject.toml +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/setup.cfg +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/dependency_links.txt +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/entry_points.txt +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/requires.txt +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/top_level.txt +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/__init__.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/__main__.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/archive_old_versions.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_embeddings.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/casting_helpers.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/config.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/constants.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/extract_patterns.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/file_utils.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/flexicon_analyzer.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/casting_index_liblcm-v11.0.0.json +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/common_patterns_flexicon-v4.1.0.json +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/embeddings/embeddings.npy +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/embeddings/faiss.index +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/embeddings/metadata.json +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.0.json +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/flexlibs/flexlibs_lcm_bridge_v1.2.8.json +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/navigation_graph_liblcm-v11.0.0.json +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/json_utils.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/liblcm_extractor.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/refresh.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/response_utils.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/__init__.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/constants.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/dispatch.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/__init__.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/_import_helper.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/admin.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/api.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/catalog.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/discovery.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/equivalence.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/execution.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/utils.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/headless_report.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/kernel.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/models.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/project_discovery.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/response_keys.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/session.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/skeleton_storage.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/subprocess_helpers.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/tool_definitions.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/undo_subprocess.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/utils.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/validators.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/versioning.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/worked_examples.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_async_locking.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_canonical_intents.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_cross_session_logging.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_flexicon_operations.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_flexicon_static_analysis.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_info_message_cap.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_mcp_tools.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_project_discovery.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_rejection_payloads.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_retry_loop_detection.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_script_certification.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_skeleton_storage.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_undo_wiring.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_v1_3_0_upgrade.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_validator_casting_chains.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_validator_cluster_fixes.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_validators.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_version_detection.py +0 -0
- {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_worked_examples.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flextools-mcp
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3
|
|
4
4
|
Summary: MCP server that gives AI assistants searchable LibLCM / FlexLibs / Flexicon API docs for writing FLExTools scripts.
|
|
5
5
|
Author-email: Matthew Lee <matthew_lee@sil.org>
|
|
6
6
|
License: MIT License
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.3.3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flextools-mcp
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3
|
|
4
4
|
Summary: MCP server that gives AI assistants searchable LibLCM / FlexLibs / Flexicon API docs for writing FLExTools scripts.
|
|
5
5
|
Author-email: Matthew Lee <matthew_lee@sil.org>
|
|
6
6
|
License: MIT License
|
|
@@ -29,13 +29,17 @@ src/flextoolsmcp/response_utils.py
|
|
|
29
29
|
src/flextoolsmcp/server.py
|
|
30
30
|
src/flextoolsmcp/index/casting_index_liblcm-v11.0.0.json
|
|
31
31
|
src/flextoolsmcp/index/common_patterns_flexicon-v4.1.0.json
|
|
32
|
+
src/flextoolsmcp/index/common_patterns_flexicon-v4.1.1.json
|
|
33
|
+
src/flextoolsmcp/index/common_patterns_flexicon-v4.1.2.json
|
|
32
34
|
src/flextoolsmcp/index/navigation_graph_liblcm-v11.0.0.json
|
|
33
35
|
src/flextoolsmcp/index/reverse_mapping_liblcm-v11.0.0.json
|
|
34
36
|
src/flextoolsmcp/index/embeddings/embeddings.npy
|
|
35
37
|
src/flextoolsmcp/index/embeddings/faiss.index
|
|
36
38
|
src/flextoolsmcp/index/embeddings/metadata.json
|
|
37
|
-
src/flextoolsmcp/index/flexlibs/flexicon_api_v4.1.
|
|
39
|
+
src/flextoolsmcp/index/flexlibs/flexicon_api_v4.1.2.json
|
|
38
40
|
src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.0.json
|
|
41
|
+
src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.1.json
|
|
42
|
+
src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.2.json
|
|
39
43
|
src/flextoolsmcp/index/flexlibs/flexlibs_api_v1.2.8.json
|
|
40
44
|
src/flextoolsmcp/index/flexlibs/flexlibs_lcm_bridge_v1.2.8.json
|
|
41
45
|
src/flextoolsmcp/index/liblcm/liblcm_api_v11.0.0.json
|
|
@@ -20,8 +20,10 @@ from datetime import datetime, timezone
|
|
|
20
20
|
|
|
21
21
|
if __package__:
|
|
22
22
|
from .json_utils import sort_json_arrays
|
|
23
|
+
from .file_utils import get_index_dir
|
|
23
24
|
else:
|
|
24
25
|
from json_utils import sort_json_arrays
|
|
26
|
+
from file_utils import get_index_dir
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
# ============================================================
|
|
@@ -244,7 +246,7 @@ def find_latest_liblcm(liblcm_dir: Path) -> Optional[Tuple[Path, str]]:
|
|
|
244
246
|
|
|
245
247
|
def main():
|
|
246
248
|
"""Build and save the casting index."""
|
|
247
|
-
index_dir =
|
|
249
|
+
index_dir = get_index_dir()
|
|
248
250
|
liblcm_dir = index_dir / "liblcm"
|
|
249
251
|
|
|
250
252
|
# Find latest LibLCM version
|
|
@@ -21,10 +21,10 @@ from typing import Dict, List, Any, Set, Tuple, Optional
|
|
|
21
21
|
|
|
22
22
|
if __package__:
|
|
23
23
|
from .json_utils import sort_json_arrays
|
|
24
|
-
from .file_utils import get_project_root, load_json, save_json
|
|
24
|
+
from .file_utils import get_project_root, get_index_dir, load_json, save_json
|
|
25
25
|
else:
|
|
26
26
|
from json_utils import sort_json_arrays
|
|
27
|
-
from file_utils import get_project_root, load_json, save_json
|
|
27
|
+
from file_utils import get_project_root, get_index_dir, load_json, save_json
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
# ============================================================
|
|
@@ -389,7 +389,8 @@ def main():
|
|
|
389
389
|
args = parser.parse_args()
|
|
390
390
|
|
|
391
391
|
root = get_project_root()
|
|
392
|
-
|
|
392
|
+
index_dir = get_index_dir()
|
|
393
|
+
liblcm_dir = index_dir / "liblcm"
|
|
393
394
|
|
|
394
395
|
# Find latest LibLCM version
|
|
395
396
|
liblcm_path, liblcm_version = find_latest_liblcm(liblcm_dir)
|
|
@@ -403,7 +404,7 @@ def main():
|
|
|
403
404
|
output_path = root / args.output
|
|
404
405
|
else:
|
|
405
406
|
output_filename = f"navigation_graph_liblcm-v{liblcm_version}.json"
|
|
406
|
-
output_path =
|
|
407
|
+
output_path = index_dir / output_filename
|
|
407
408
|
|
|
408
409
|
# Build navigation graph
|
|
409
410
|
result = build_navigation_graph(liblcm_path)
|
|
@@ -25,11 +25,11 @@ from typing import Dict, List, Any, Set, Tuple, Optional
|
|
|
25
25
|
if __package__:
|
|
26
26
|
from .json_utils import sort_json_arrays
|
|
27
27
|
from .server.versioning import find_latest_versioned_api_file
|
|
28
|
-
from .file_utils import get_project_root, load_json, save_json
|
|
28
|
+
from .file_utils import get_project_root, get_index_dir, load_json, save_json
|
|
29
29
|
else:
|
|
30
30
|
from json_utils import sort_json_arrays
|
|
31
31
|
from server.versioning import find_latest_versioned_api_file
|
|
32
|
-
from file_utils import get_project_root, load_json, save_json
|
|
32
|
+
from file_utils import get_project_root, get_index_dir, load_json, save_json
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
# ============================================================
|
|
@@ -392,8 +392,9 @@ def main():
|
|
|
392
392
|
args = parser.parse_args()
|
|
393
393
|
|
|
394
394
|
root = get_project_root()
|
|
395
|
-
|
|
396
|
-
|
|
395
|
+
index_dir = get_index_dir()
|
|
396
|
+
flexlibs_dir = index_dir / "flexlibs"
|
|
397
|
+
liblcm_dir = index_dir / "liblcm"
|
|
397
398
|
|
|
398
399
|
# Find latest versioned API files
|
|
399
400
|
flexicon_path = find_latest_versioned_api_file(flexlibs_dir, "flexicon_api")
|
|
@@ -416,7 +417,7 @@ def main():
|
|
|
416
417
|
if version_match:
|
|
417
418
|
liblcm_version = version_match.group(1)
|
|
418
419
|
output_filename = f"reverse_mapping_liblcm-v{liblcm_version}.json"
|
|
419
|
-
output_path =
|
|
420
|
+
output_path = index_dir / output_filename
|
|
420
421
|
else:
|
|
421
422
|
output_path = root / args.output
|
|
422
423
|
|