Extract
extract
ExtractTool — MCP tool wrapping :func:extract_symbols for agent use.
ExtractTool
Bases: AXMTool
Extract top-level symbols from a module into a brand-new module.
Registered as anvil_extract via the axm.tools entry point.
Delegates to :func:axm_anvil.core.extract.extract_symbols (itself a
thin adapter over the move pipeline) and adapts exceptions into
ToolResult(success=False). The result shape matches anvil_move.
Source code in packages/axm-anvil/src/axm_anvil/tools/extract.py
| Python | |
|---|---|
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | |
name
property
Return tool name for registry lookup.
execute(*, path='.', symbols='', from_file='', to_file='', dry_run=False, shared_helpers='duplicate', shared_helpers_module=None, rename=None, strict=False, insert_after=None, include_helpers=True, side_effect_decorators=None, **kwargs)
Extract symbols (CSV) from from_file into a new to_file.
Parameters
path:
Workspace root used to resolve relative from_file / to_file
and to constrain caller updates.
symbols:
Comma-separated list of top-level symbol names to extract. Empty
entries are ignored.
from_file:
Source Python file. Relative paths are resolved against path.
to_file:
Target Python file to create. Relative paths are resolved
against path; missing parent directories are created.
dry_run:
When True, compute the :class:MovePlan without writing (and
without leaving a scaffolded target on disk).
shared_helpers:
Policy for helpers used by both moved and remaining symbols:
"duplicate", "extract", or "error".
shared_helpers_module:
Target module path used when shared_helpers="extract".
rename:
Optional JSON object string mapping old symbol names to new ones
(e.g. '{"OldName": "NewName"}'). Invalid JSON yields a
success=False result.
strict:
When True, a requested symbol absent from the source module
raises (surfaced as success=False) instead of being skipped
with a warning.
insert_after:
Optional name of a top-level symbol in the target module after
which extracted blocks are spliced. None appends at the end.
include_helpers:
When True (default) transitively-referenced local helpers and
constants are copied into the target.
side_effect_decorators:
Optional comma-separated list of extra side-effect decorator
dotted-names extending the built-in whitelist.
Returns
ToolResult
success=True with a plan summary on success; otherwise
success=False with a message (missing symbol, collision,
shared helpers, validation error).
Source code in packages/axm-anvil/src/axm_anvil/tools/extract.py
| Python | |
|---|---|
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | |