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.
Files changed (93) hide show
  1. {flextools_mcp-2.3.2/src/flextools_mcp.egg-info → flextools_mcp-2.3.3}/PKG-INFO +1 -1
  2. flextools_mcp-2.3.3/VERSION +1 -0
  3. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3/src/flextools_mcp.egg-info}/PKG-INFO +1 -1
  4. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/SOURCES.txt +5 -1
  5. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_casting_index.py +3 -1
  6. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_navigation_graph.py +5 -4
  7. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_reverse_mapping.py +6 -5
  8. flextools_mcp-2.3.3/src/flextoolsmcp/index/common_patterns_flexicon-v4.1.1.json +2866 -0
  9. flextools_mcp-2.3.3/src/flextoolsmcp/index/common_patterns_flexicon-v4.1.2.json +2866 -0
  10. 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
  11. flextools_mcp-2.3.3/src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.1.json +83642 -0
  12. flextools_mcp-2.3.3/src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.2.json +83642 -0
  13. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/flexlibs/flexlibs_api_v1.2.8.json +1 -1
  14. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/liblcm/liblcm_api_v11.0.0.json +12 -7
  15. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/reverse_mapping_liblcm-v11.0.0.json +16 -1
  16. flextools_mcp-2.3.2/VERSION +0 -1
  17. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/LICENSE +0 -0
  18. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/MANIFEST.in +0 -0
  19. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/README.md +0 -0
  20. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/pyproject.toml +0 -0
  21. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/setup.cfg +0 -0
  22. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/dependency_links.txt +0 -0
  23. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/entry_points.txt +0 -0
  24. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/requires.txt +0 -0
  25. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextools_mcp.egg-info/top_level.txt +0 -0
  26. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/__init__.py +0 -0
  27. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/__main__.py +0 -0
  28. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/archive_old_versions.py +0 -0
  29. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/build_embeddings.py +0 -0
  30. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/casting_helpers.py +0 -0
  31. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/config.py +0 -0
  32. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/constants.py +0 -0
  33. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/extract_patterns.py +0 -0
  34. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/file_utils.py +0 -0
  35. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/flexicon_analyzer.py +0 -0
  36. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/casting_index_liblcm-v11.0.0.json +0 -0
  37. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/common_patterns_flexicon-v4.1.0.json +0 -0
  38. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/embeddings/embeddings.npy +0 -0
  39. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/embeddings/faiss.index +0 -0
  40. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/embeddings/metadata.json +0 -0
  41. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/flexlibs/flexicon_lcm_bridge_v4.1.0.json +0 -0
  42. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/flexlibs/flexlibs_lcm_bridge_v1.2.8.json +0 -0
  43. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/index/navigation_graph_liblcm-v11.0.0.json +0 -0
  44. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/json_utils.py +0 -0
  45. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/liblcm_extractor.py +0 -0
  46. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/refresh.py +0 -0
  47. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/response_utils.py +0 -0
  48. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/__init__.py +0 -0
  49. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/constants.py +0 -0
  50. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/dispatch.py +0 -0
  51. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/__init__.py +0 -0
  52. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/_import_helper.py +0 -0
  53. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/admin.py +0 -0
  54. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/api.py +0 -0
  55. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/catalog.py +0 -0
  56. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/discovery.py +0 -0
  57. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/equivalence.py +0 -0
  58. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/execution.py +0 -0
  59. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/handlers/utils.py +0 -0
  60. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/headless_report.py +0 -0
  61. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/kernel.py +0 -0
  62. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/models.py +0 -0
  63. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/project_discovery.py +0 -0
  64. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/response_keys.py +0 -0
  65. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/session.py +0 -0
  66. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/skeleton_storage.py +0 -0
  67. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/subprocess_helpers.py +0 -0
  68. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/tool_definitions.py +0 -0
  69. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/undo_subprocess.py +0 -0
  70. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/utils.py +0 -0
  71. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/validators.py +0 -0
  72. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/versioning.py +0 -0
  73. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server/worked_examples.py +0 -0
  74. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/src/flextoolsmcp/server.py +0 -0
  75. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_async_locking.py +0 -0
  76. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_canonical_intents.py +0 -0
  77. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_cross_session_logging.py +0 -0
  78. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_flexicon_operations.py +0 -0
  79. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_flexicon_static_analysis.py +0 -0
  80. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_info_message_cap.py +0 -0
  81. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_mcp_tools.py +0 -0
  82. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_project_discovery.py +0 -0
  83. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_rejection_payloads.py +0 -0
  84. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_retry_loop_detection.py +0 -0
  85. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_script_certification.py +0 -0
  86. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_skeleton_storage.py +0 -0
  87. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_undo_wiring.py +0 -0
  88. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_v1_3_0_upgrade.py +0 -0
  89. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_validator_casting_chains.py +0 -0
  90. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_validator_cluster_fixes.py +0 -0
  91. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_validators.py +0 -0
  92. {flextools_mcp-2.3.2 → flextools_mcp-2.3.3}/tests/test_version_detection.py +0 -0
  93. {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.2
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.2
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.0.json
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 = Path(__file__).parent.parent / "index"
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
- liblcm_dir = root / "index" / "liblcm"
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 = root / "index" / output_filename
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
- flexlibs_dir = root / "index" / "flexlibs"
396
- liblcm_dir = root / "index" / "liblcm"
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 = root / "index" / output_filename
420
+ output_path = index_dir / output_filename
420
421
  else:
421
422
  output_path = root / args.output
422
423