l5x-toolkit 1.2.1__py3-none-any.whl

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 (215) hide show
  1. l5x_agent_toolkit/__init__.py +99 -0
  2. l5x_agent_toolkit/accessors.py +908 -0
  3. l5x_agent_toolkit/aoi.py +2350 -0
  4. l5x_agent_toolkit/component_export.py +1439 -0
  5. l5x_agent_toolkit/component_import.py +2040 -0
  6. l5x_agent_toolkit/core/__init__.py +40 -0
  7. l5x_agent_toolkit/core/cdata.py +219 -0
  8. l5x_agent_toolkit/core/config.py +109 -0
  9. l5x_agent_toolkit/core/constants.py +119 -0
  10. l5x_agent_toolkit/core/fbd_content.py +913 -0
  11. l5x_agent_toolkit/core/library.py +55 -0
  12. l5x_agent_toolkit/core/motion.py +134 -0
  13. l5x_agent_toolkit/core/portability.py +37 -0
  14. l5x_agent_toolkit/core/refs.py +304 -0
  15. l5x_agent_toolkit/core/sfc_content.py +812 -0
  16. l5x_agent_toolkit/core/st_content.py +199 -0
  17. l5x_agent_toolkit/core/tree.py +251 -0
  18. l5x_agent_toolkit/data_format.py +1416 -0
  19. l5x_agent_toolkit/io/__init__.py +1 -0
  20. l5x_agent_toolkit/io/transplant.py +241 -0
  21. l5x_agent_toolkit/mcp_server.py +2015 -0
  22. l5x_agent_toolkit/model/__init__.py +39 -0
  23. l5x_agent_toolkit/model/resolve.py +64 -0
  24. l5x_agent_toolkit/models.py +279 -0
  25. l5x_agent_toolkit/modules.py +401 -0
  26. l5x_agent_toolkit/ops/__init__.py +5 -0
  27. l5x_agent_toolkit/ops/axes.py +188 -0
  28. l5x_agent_toolkit/ops/fbd_layout.py +230 -0
  29. l5x_agent_toolkit/ops/graph_utils.py +215 -0
  30. l5x_agent_toolkit/ops/modules.py +218 -0
  31. l5x_agent_toolkit/ops/sfc_layout.py +306 -0
  32. l5x_agent_toolkit/ops/trends.py +197 -0
  33. l5x_agent_toolkit/plugin.py +463 -0
  34. l5x_agent_toolkit/plugins/__init__.py +9 -0
  35. l5x_agent_toolkit/programs.py +916 -0
  36. l5x_agent_toolkit/project.py +1089 -0
  37. l5x_agent_toolkit/query/__init__.py +14 -0
  38. l5x_agent_toolkit/query/constants.py +34 -0
  39. l5x_agent_toolkit/query/errors.py +2 -0
  40. l5x_agent_toolkit/query/inspect.py +187 -0
  41. l5x_agent_toolkit/query/inventory.py +265 -0
  42. l5x_agent_toolkit/query/references.py +244 -0
  43. l5x_agent_toolkit/query/resolver.py +367 -0
  44. l5x_agent_toolkit/refactor/__init__.py +10 -0
  45. l5x_agent_toolkit/refactor/alarm_ops.py +778 -0
  46. l5x_agent_toolkit/refactor/aoi_ops.py +1367 -0
  47. l5x_agent_toolkit/refactor/data_blocks.py +95 -0
  48. l5x_agent_toolkit/refactor/planner.py +309 -0
  49. l5x_agent_toolkit/refactor/rung_rewriter.py +128 -0
  50. l5x_agent_toolkit/refactor/typed_refs.py +351 -0
  51. l5x_agent_toolkit/refactor/types.py +208 -0
  52. l5x_agent_toolkit/refactor/udt_ops.py +585 -0
  53. l5x_agent_toolkit/reference/__init__.py +42 -0
  54. l5x_agent_toolkit/reference/catalog.py +436 -0
  55. l5x_agent_toolkit/reference/data/DataTypes/Atomic.json +23 -0
  56. l5x_agent_toolkit/reference/data/DataTypes/General/ALARM_SET_CONTROL.json +16 -0
  57. l5x_agent_toolkit/reference/data/DataTypes/General/EXT_ROUTINE_CONTROL.json +40 -0
  58. l5x_agent_toolkit/reference/data/DataTypes/General/EXT_ROUTINE_PARAMETERS.json +9 -0
  59. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_BIT_FIELD_DISTRIBUTE.json +25 -0
  60. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_BOOLEAN_AND.json +31 -0
  61. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_BOOLEAN_NOT.json +17 -0
  62. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_BOOLEAN_OR.json +31 -0
  63. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_BOOLEAN_XOR.json +19 -0
  64. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_COMPARE.json +19 -0
  65. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_CONVERT.json +17 -0
  66. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_COUNTER.json +33 -0
  67. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_LIMIT.json +21 -0
  68. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_LOGICAL.json +19 -0
  69. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_MASKED_MOVE.json +21 -0
  70. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_MASK_EQUAL.json +21 -0
  71. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_MATH.json +19 -0
  72. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_MATH_ADVANCED.json +18 -0
  73. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_ONESHOT.json +17 -0
  74. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_TIMER.json +33 -0
  75. l5x_agent_toolkit/reference/data/DataTypes/General/FBD_TRUNCATE.json +17 -0
  76. l5x_agent_toolkit/reference/data/DataTypes/General/SERIAL_PORT_CONTROL.json +30 -0
  77. l5x_agent_toolkit/reference/data/DataTypes/General/SFC_ACTION.json +21 -0
  78. l5x_agent_toolkit/reference/data/DataTypes/General/SFC_STEP.json +43 -0
  79. l5x_agent_toolkit/reference/data/DataTypes/General/SFC_STOP.json +17 -0
  80. l5x_agent_toolkit/reference/data/DataTypes/Motion/AXIS_CIP_DRIVE.json +385 -0
  81. l5x_agent_toolkit/reference/data/DataTypes/Motion/AXIS_VIRTUAL.json +103 -0
  82. l5x_agent_toolkit/reference/data/DataTypes/Motion/CAM.json +15 -0
  83. l5x_agent_toolkit/reference/data/DataTypes/Motion/CAM_PROFILE.json +11 -0
  84. l5x_agent_toolkit/reference/data/DataTypes/Motion/COORDINATE_SYSTEM.json +44 -0
  85. l5x_agent_toolkit/reference/data/DataTypes/Motion/MOTION_GROUP.json +17 -0
  86. l5x_agent_toolkit/reference/data/DataTypes/Motion/MOTION_INSTRUCTION.json +27 -0
  87. l5x_agent_toolkit/reference/data/DataTypes/Motion/OUTPUT_CAM.json +25 -0
  88. l5x_agent_toolkit/reference/data/DataTypes/Motion/OUTPUT_COMPENSATION.json +21 -0
  89. l5x_agent_toolkit/reference/data/DataTypes/Predefined/ALARM_ANALOG.json +35 -0
  90. l5x_agent_toolkit/reference/data/DataTypes/Predefined/ALARM_DIGITAL.json +105 -0
  91. l5x_agent_toolkit/reference/data/DataTypes/Predefined/CONNECTION_STATUS.json +13 -0
  92. l5x_agent_toolkit/reference/data/DataTypes/Predefined/CONTROL.json +29 -0
  93. l5x_agent_toolkit/reference/data/DataTypes/Predefined/COUNTER.json +23 -0
  94. l5x_agent_toolkit/reference/data/DataTypes/Predefined/MESSAGE.json +33 -0
  95. l5x_agent_toolkit/reference/data/DataTypes/Predefined/PID.json +107 -0
  96. l5x_agent_toolkit/reference/data/DataTypes/Predefined/STRING.json +13 -0
  97. l5x_agent_toolkit/reference/data/DataTypes/Predefined/TIMER.json +19 -0
  98. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/ALARM.json +57 -0
  99. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/CC.json +331 -0
  100. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/DEADTIME.json +54 -0
  101. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/DERIVATIVE.json +45 -0
  102. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/DISCRETE_2STATE.json +91 -0
  103. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/DISCRETE_3STATE.json +155 -0
  104. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/DOMINANT_RESET.json +21 -0
  105. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/DOMINANT_SET.json +21 -0
  106. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/FILTER_HIGH_PASS.json +51 -0
  107. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/FILTER_LOW_PASS.json +51 -0
  108. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/FILTER_NOTCH.json +55 -0
  109. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/FLIP_FLOP_D.json +23 -0
  110. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/FLIP_FLOP_JK.json +21 -0
  111. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/FUNCTION_GENERATOR.json +33 -0
  112. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/HL_LIMIT.json +35 -0
  113. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/HMIBC.json +20 -0
  114. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/IMC.json +166 -0
  115. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/INTEGRATOR.json +63 -0
  116. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/LEAD_LAG.json +55 -0
  117. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/LEAD_LAG_SEC_ORDER.json +65 -0
  118. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/MAXIMUM_CAPTURE.json +21 -0
  119. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/MINIMUM_CAPTURE.json +21 -0
  120. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/MMC.json +447 -0
  121. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/MOVING_AVERAGE.json +35 -0
  122. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/MOVING_STD_DEV.json +35 -0
  123. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/MULTIPLEXER.json +39 -0
  124. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/PIDE_AUTOTUNE.json +9 -0
  125. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/PID_ENHANCED.json +175 -0
  126. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/POSITION_PROP.json +71 -0
  127. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/PROP_INT.json +95 -0
  128. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/PULSE_MULTIPLIER.json +39 -0
  129. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/RAMP_SOAK.json +109 -0
  130. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/RATE_LIMITER.json +51 -0
  131. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/SCALE.json +37 -0
  132. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/SEC_ORDER_CONTROLLER.json +75 -0
  133. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/SELECT.json +21 -0
  134. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/SELECTABLE_NEGATE.json +19 -0
  135. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/SELECTED_SUMMER.json +65 -0
  136. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/SELECT_ENHANCED.json +79 -0
  137. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/SPLIT_RANGE.json +59 -0
  138. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/S_CURVE.json +67 -0
  139. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/TOTALIZER.json +99 -0
  140. l5x_agent_toolkit/reference/data/DataTypes/Process_Drives/UP_DOWN_ACCUM.json +25 -0
  141. l5x_agent_toolkit/reference/data/DataTypes/_index.md +49 -0
  142. l5x_agent_toolkit/reference/data/Instructions/General/01_Bit.json +276 -0
  143. l5x_agent_toolkit/reference/data/Instructions/General/02_Timer_Counter.json +372 -0
  144. l5x_agent_toolkit/reference/data/Instructions/General/03_Compare.json +464 -0
  145. l5x_agent_toolkit/reference/data/Instructions/General/04_Compute_Math.json +454 -0
  146. l5x_agent_toolkit/reference/data/Instructions/General/05_Move_Logical.json +595 -0
  147. l5x_agent_toolkit/reference/data/Instructions/General/06_Array_File_Misc.json +563 -0
  148. l5x_agent_toolkit/reference/data/Instructions/General/07_Array_File_Shift.json +378 -0
  149. l5x_agent_toolkit/reference/data/Instructions/General/08_Sequencer.json +225 -0
  150. l5x_agent_toolkit/reference/data/Instructions/General/09_Program_Control.json +440 -0
  151. l5x_agent_toolkit/reference/data/Instructions/General/10_For_Break.json +94 -0
  152. l5x_agent_toolkit/reference/data/Instructions/General/11_Special.json +356 -0
  153. l5x_agent_toolkit/reference/data/Instructions/General/12_Trigonometric.json +331 -0
  154. l5x_agent_toolkit/reference/data/Instructions/General/13_Advanced_Math.json +151 -0
  155. l5x_agent_toolkit/reference/data/Instructions/General/14_Math_Conversion.json +222 -0
  156. l5x_agent_toolkit/reference/data/Instructions/General/15_ASCII_Serial_Port.json +403 -0
  157. l5x_agent_toolkit/reference/data/Instructions/General/16_ASCII_String.json +309 -0
  158. l5x_agent_toolkit/reference/data/Instructions/General/17_ASCII_Conversion.json +248 -0
  159. l5x_agent_toolkit/reference/data/Instructions/General/18_Input_Output.json +222 -0
  160. l5x_agent_toolkit/reference/data/Instructions/General/19_Alarm.json +246 -0
  161. l5x_agent_toolkit/reference/data/Instructions/General/20_Debug_License.json +108 -0
  162. l5x_agent_toolkit/reference/data/Instructions/Motion/01_State.json +376 -0
  163. l5x_agent_toolkit/reference/data/Instructions/Motion/02_Move.json +1520 -0
  164. l5x_agent_toolkit/reference/data/Instructions/Motion/03_Group.json +184 -0
  165. l5x_agent_toolkit/reference/data/Instructions/Motion/04_Event.json +483 -0
  166. l5x_agent_toolkit/reference/data/Instructions/Motion/05_Configuration.json +200 -0
  167. l5x_agent_toolkit/reference/data/Instructions/Motion/06_Coordinated.json +1484 -0
  168. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/01_Process.json +546 -0
  169. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/02_Drives.json +213 -0
  170. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/03_Filter.json +151 -0
  171. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/04_Select_Limit.json +199 -0
  172. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/05_Statistical.json +152 -0
  173. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/06_Logical_Move.json +122 -0
  174. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/07_Equipment_Phase.json +337 -0
  175. l5x_agent_toolkit/reference/data/Instructions/Process_Drives/08_Equipment_Sequence.json +272 -0
  176. l5x_agent_toolkit/reference/data/Instructions/Safety/01_Safety.json +1564 -0
  177. l5x_agent_toolkit/reference/data/Instructions/Safety/02_Metal_Form.json +1563 -0
  178. l5x_agent_toolkit/reference/data/Instructions/Safety/03_Drive_Safety.json +978 -0
  179. l5x_agent_toolkit/reference/data/Instructions/Safety/04_Safety_Legacy.json +581 -0
  180. l5x_agent_toolkit/reference/data/Instructions/_by_language/FBD.json +100 -0
  181. l5x_agent_toolkit/reference/data/Instructions/_by_language/LD.json +235 -0
  182. l5x_agent_toolkit/reference/data/Instructions/_by_language/ST.json +193 -0
  183. l5x_agent_toolkit/reference/data/Instructions/_fbd_structures.json +97 -0
  184. l5x_agent_toolkit/reference/data/Instructions/_index.json +1988 -0
  185. l5x_agent_toolkit/reference/data/Instructions/_mnemonic_aliases.json +86 -0
  186. l5x_agent_toolkit/reference/data/PROVENANCE.md +80 -0
  187. l5x_agent_toolkit/reference/data/validate.py.reference +125 -0
  188. l5x_agent_toolkit/rll_content.py +421 -0
  189. l5x_agent_toolkit/rungs.py +1284 -0
  190. l5x_agent_toolkit/schema.py +1682 -0
  191. l5x_agent_toolkit/server/__init__.py +1 -0
  192. l5x_agent_toolkit/server/envelope.py +88 -0
  193. l5x_agent_toolkit/server/reads.py +141 -0
  194. l5x_agent_toolkit/server/tools_lifecycle.py +300 -0
  195. l5x_agent_toolkit/server/tools_structural.py +1135 -0
  196. l5x_agent_toolkit/server/tools_write.py +2528 -0
  197. l5x_agent_toolkit/tags.py +3316 -0
  198. l5x_agent_toolkit/type_resolver.py +201 -0
  199. l5x_agent_toolkit/udt.py +1356 -0
  200. l5x_agent_toolkit/utils.py +304 -0
  201. l5x_agent_toolkit/validate/__init__.py +163 -0
  202. l5x_agent_toolkit/validate/fbd.py +532 -0
  203. l5x_agent_toolkit/validate/instructions.py +217 -0
  204. l5x_agent_toolkit/validate/modules.py +40 -0
  205. l5x_agent_toolkit/validate/report.py +40 -0
  206. l5x_agent_toolkit/validate/sfc.py +632 -0
  207. l5x_agent_toolkit/validate/xsd.py +96 -0
  208. l5x_agent_toolkit/validator.py +2113 -0
  209. l5x_agent_toolkit/version.py +423 -0
  210. l5x_toolkit-1.2.1.dist-info/METADATA +160 -0
  211. l5x_toolkit-1.2.1.dist-info/RECORD +215 -0
  212. l5x_toolkit-1.2.1.dist-info/WHEEL +5 -0
  213. l5x_toolkit-1.2.1.dist-info/entry_points.txt +2 -0
  214. l5x_toolkit-1.2.1.dist-info/licenses/LICENSE +21 -0
  215. l5x_toolkit-1.2.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,99 @@
1
+ """
2
+ L5X Agent Toolkit - AI-driven manipulation of Rockwell Automation L5X files.
3
+
4
+ This toolkit provides validated, atomic operations for reading and modifying
5
+ Studio 5000 Logix Designer L5X project files. It is designed to be invoked
6
+ by an AI agent (via MCP or direct function calls) to ensure hyper-accurate
7
+ L5X file manipulation.
8
+
9
+ Core Design Principle:
10
+ The AI agent never touches raw XML. Instead, it invokes validated tool
11
+ functions that produce structurally correct XML every time.
12
+
13
+ Usage:
14
+ from l5x_agent_toolkit import L5XProject
15
+
16
+ # Load a project
17
+ project = L5XProject('path/to/project.L5X')
18
+
19
+ # Query operations
20
+ programs = project.list_programs()
21
+ tags = project.list_controller_tags()
22
+ summary = project.get_project_summary()
23
+
24
+ # Tag operations
25
+ from l5x_agent_toolkit import tags
26
+ tags.create_tag(project, 'MyTag', 'DINT', description='A counter')
27
+ tags.set_tag_value(project, 'MyTag', 42)
28
+
29
+ # Program/routine operations
30
+ from l5x_agent_toolkit import programs
31
+ programs.create_program(project, 'ConveyorControl', description='Conveyor logic')
32
+ programs.add_rung(project, 'ConveyorControl', 'MainRoutine',
33
+ 'XIC(StartPB)OTE(MotorRun);', comment='Start motor')
34
+
35
+ # Rung operations
36
+ from l5x_agent_toolkit import rungs
37
+ errors = rungs.validate_rung_syntax('XIC(tag1)OTE(tag2);')
38
+ new_text = rungs.substitute_tags('XIC(OldTag)OTE(OldOut);',
39
+ {'OldTag': 'NewTag', 'OldOut': 'NewOut'})
40
+
41
+ # Import operations
42
+ from l5x_agent_toolkit import aoi, udt, modules
43
+ aoi.import_from_file(project, 'path/to/MyAOI.L5X')
44
+ udt.import_from_file(project, 'path/to/MyUDT.L5X')
45
+ modules.import_module(project, 'path/to/module_template.L5X',
46
+ name='VFD01', address='192.168.1.100')
47
+
48
+ # Validation
49
+ from l5x_agent_toolkit import validator
50
+ result = validator.validate_project(project)
51
+ if not result.is_valid:
52
+ print(result)
53
+
54
+ # Write the modified project
55
+ project.write('path/to/output.L5X')
56
+ """
57
+
58
+ __version__ = "1.2.1"
59
+
60
+
61
+ def __getattr__(name):
62
+ """Lazy import to avoid circular/missing module errors during development."""
63
+ if name == "L5XProject":
64
+ from .project import L5XProject
65
+
66
+ return L5XProject
67
+ if name in ("L5XPlugin", "PluginContext"):
68
+ from .plugin import L5XPlugin, PluginContext
69
+
70
+ return L5XPlugin if name == "L5XPlugin" else PluginContext
71
+ if name in ("core", "model", "query", "ops", "validate"):
72
+ import importlib
73
+
74
+ return importlib.import_module(f"{__name__}.{name}")
75
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
76
+
77
+
78
+ from l5x_agent_toolkit.refactor import aoi_ops, udt_ops # noqa: E402
79
+ from l5x_agent_toolkit.refactor.types import ( # noqa: E402
80
+ BindingRequirement,
81
+ RefactorAction,
82
+ RefactorPlan,
83
+ )
84
+
85
+ __all__ = [
86
+ "L5XProject",
87
+ "L5XPlugin",
88
+ "PluginContext",
89
+ "aoi_ops",
90
+ "udt_ops",
91
+ "RefactorAction",
92
+ "RefactorPlan",
93
+ "BindingRequirement",
94
+ "core",
95
+ "model",
96
+ "query",
97
+ "ops",
98
+ "validate",
99
+ ]