sourcecode 1.30.15__py3-none-any.whl → 1.30.16__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.
sourcecode/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """sourcecode — Deterministic codebase context maps for AI coding agents."""
2
2
 
3
- __version__ = "1.30.15"
3
+ __version__ = "1.30.16"
sourcecode/cli.py CHANGED
@@ -161,7 +161,7 @@ Compressed AI-ready context for Java/Spring enterprise codebases.
161
161
  # Known subcommand names — tokens matching these are routed as subcommands,
162
162
  # not consumed as a repository path.
163
163
  _SUBCOMMANDS: frozenset[str] = frozenset(
164
- {"telemetry", "prepare-context", "version", "config", "analyze"}
164
+ {"telemetry", "prepare-context", "version", "config", "analyze", "repo-ir"}
165
165
  )
166
166
 
167
167
  # Mutable container holding the path extracted by _preprocess_argv().
@@ -1513,10 +1513,31 @@ def main(
1513
1513
  data = redact_dict(data)
1514
1514
  content = json.dumps(data, indent=2, ensure_ascii=False)
1515
1515
  elif compact:
1516
+ if changed_only and _allowed_changed_files:
1517
+ sm = _replace(sm,
1518
+ file_paths=[p for p in sm.file_paths if p in _allowed_changed_files],
1519
+ entry_points=[ep for ep in sm.entry_points if ep.path in _allowed_changed_files],
1520
+ code_notes=[n for n in sm.code_notes if n.path in _allowed_changed_files],
1521
+ )
1516
1522
  data = compact_view(sm, no_tree=no_tree, full=full)
1517
1523
  if not no_redact:
1518
1524
  data = redact_dict(data)
1519
- content = json.dumps(data, indent=2, ensure_ascii=False)
1525
+ if format == "yaml":
1526
+ from io import StringIO
1527
+ from ruamel.yaml import YAML as _YAML
1528
+ _yaml = _YAML()
1529
+ _yaml.default_flow_style = False
1530
+ _yaml.representer.add_representer(
1531
+ type(None),
1532
+ lambda dumper, data_val: dumper.represent_scalar(
1533
+ "tag:yaml.org,2002:null", "null"
1534
+ ),
1535
+ )
1536
+ _stream = StringIO()
1537
+ _yaml.dump(data, _stream)
1538
+ content = _stream.getvalue()
1539
+ else:
1540
+ content = json.dumps(data, indent=2, ensure_ascii=False)
1520
1541
  else:
1521
1542
  raw_dict = standard_view(sm, include_tree=tree and not no_tree)
1522
1543
  if not no_redact:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 1.30.15
3
+ Version: 1.30.16
4
4
  Summary: Deterministic codebase context for AI coding agents
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -221,7 +221,7 @@ Description-Content-Type: text/markdown
221
221
 
222
222
  **Deterministic, behavior-aware codebase context for AI agents and PR review.**
223
223
 
224
- ![Version](https://img.shields.io/badge/version-1.30.15-blue)
224
+ ![Version](https://img.shields.io/badge/version-1.30.16-blue)
225
225
  ![Python](https://img.shields.io/badge/python-3.10%2B-green)
226
226
 
227
227
  ---
@@ -257,7 +257,7 @@ pipx install sourcecode
257
257
 
258
258
  ```bash
259
259
  sourcecode version
260
- # sourcecode 1.30.15
260
+ # sourcecode 1.30.16
261
261
  ```
262
262
 
263
263
  ---
@@ -1,10 +1,10 @@
1
- sourcecode/__init__.py,sha256=KYWNRSkxZmGHoH3tR6KjNwxcWag6VLEnGLf3A9Tt4E0,104
1
+ sourcecode/__init__.py,sha256=oPVEr2t1nGeRp9mdSXT_sS6JJ-3h2Q78aLDRzcMzVaY,104
2
2
  sourcecode/adaptive_scanner.py,sha256=RTNExwWPXzjgLaRueT7UuxkPj5ZEToWjGbx1j0LSZ9E,10250
3
3
  sourcecode/architecture_analyzer.py,sha256=MyBa0Hf5HmkudZQDLKrjcWDKETXETXl0mQX1swtTwAA,39091
4
4
  sourcecode/architecture_summary.py,sha256=z34_6v7cSwy98cof2UVciGho7SCrZ93tiqMmq5WNzRQ,20405
5
5
  sourcecode/ast_extractor.py,sha256=XgrZg2DcWcUm9r87cRG3KGO7IK2TIL_N-CvhSbUmmh4,49901
6
6
  sourcecode/classifier.py,sha256=pYve2J1LqtYssU3lYLMDz18PT-CjN5c18QYE7R_IG1Q,7507
7
- sourcecode/cli.py,sha256=Qrx5dsnGT_oAk3L2_yTvJDtHPWos7legr8HuWRlN4h4,84881
7
+ sourcecode/cli.py,sha256=SQfchQoeVZB7ATLOTL_fimtgqmUORZE6rUG-vSiySJc,85829
8
8
  sourcecode/code_notes_analyzer.py,sha256=y1MJBnPZHYp4i6cQCXUb9ATIyifS_qMQWjw_8lPkpsU,9215
9
9
  sourcecode/confidence_analyzer.py,sha256=xw_Jv8pAd0wd8t2vvQlorw8Ih0rSF3YCoFS8K-_4aXg,15762
10
10
  sourcecode/context_scorer.py,sha256=QpChSpsmaAYz91rXA4Ue5xzQmNz_ZboZN09YOHScq1U,14679
@@ -64,8 +64,8 @@ sourcecode/telemetry/consent.py,sha256=wLMvGNJeSSyZoNkQXpoUioY6mMv4Qdvuw7S9jAEWn
64
64
  sourcecode/telemetry/events.py,sha256=oEvvulfsv5GIDWG2174gSS6tNB95w38AIYiYeifGKlE,2294
65
65
  sourcecode/telemetry/filters.py,sha256=Asa71oRl7q3Wt_FMwuufIZJFzSYdgRNKS8LHCIyFeYE,4805
66
66
  sourcecode/telemetry/transport.py,sha256=KJeIPCPWMdmbCP3ySGs2iUlia34U6vWne2dZsUezesw,1560
67
- sourcecode-1.30.15.dist-info/METADATA,sha256=rPy2IhCkSCpdxG18m9r2jJKVGL-dLXGBHbYDFrxV4aE,28956
68
- sourcecode-1.30.15.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
69
- sourcecode-1.30.15.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
70
- sourcecode-1.30.15.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
71
- sourcecode-1.30.15.dist-info/RECORD,,
67
+ sourcecode-1.30.16.dist-info/METADATA,sha256=PbY-VNukP8UNwllcv7cy9Zvq7Pxv0TGJgIqZRs3A1fU,28956
68
+ sourcecode-1.30.16.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
69
+ sourcecode-1.30.16.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
70
+ sourcecode-1.30.16.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
71
+ sourcecode-1.30.16.dist-info/RECORD,,