sourcecode 1.33.8__py3-none-any.whl → 1.33.9__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 +1 -1
- sourcecode/canonical_ir.py +6 -1
- sourcecode/mcp/server.py +3 -3
- sourcecode/repository_ir.py +8 -2
- {sourcecode-1.33.8.dist-info → sourcecode-1.33.9.dist-info}/METADATA +2 -2
- {sourcecode-1.33.8.dist-info → sourcecode-1.33.9.dist-info}/RECORD +9 -9
- {sourcecode-1.33.8.dist-info → sourcecode-1.33.9.dist-info}/WHEEL +0 -0
- {sourcecode-1.33.8.dist-info → sourcecode-1.33.9.dist-info}/entry_points.txt +0 -0
- {sourcecode-1.33.8.dist-info → sourcecode-1.33.9.dist-info}/licenses/LICENSE +0 -0
sourcecode/__init__.py
CHANGED
sourcecode/canonical_ir.py
CHANGED
|
@@ -445,10 +445,15 @@ def project_endpoint_surface(cir: CanonicalRepositoryIR) -> dict:
|
|
|
445
445
|
# Backward compat: top-level required_permission for custom annotation
|
|
446
446
|
if ep.security.policy == "custom_permission":
|
|
447
447
|
entry["required_permission"] = ep.security.required_permission
|
|
448
|
+
else:
|
|
449
|
+
entry["security"] = {"policy": "none_detected"}
|
|
448
450
|
|
|
449
451
|
endpoints.append(entry)
|
|
450
452
|
|
|
451
|
-
no_security_signal = sum(
|
|
453
|
+
no_security_signal = sum(
|
|
454
|
+
1 for e in endpoints
|
|
455
|
+
if e.get("security", {}).get("policy") == "none_detected"
|
|
456
|
+
)
|
|
452
457
|
return {
|
|
453
458
|
"endpoints": endpoints,
|
|
454
459
|
"total": len(endpoints),
|
sourcecode/mcp/server.py
CHANGED
|
@@ -524,10 +524,10 @@ def get_endpoints(repo_path: str = ".") -> dict:
|
|
|
524
524
|
|
|
525
525
|
Maps to: sourcecode endpoints <repo_path>
|
|
526
526
|
Returns: endpoints list with method, path, controller, handler fields;
|
|
527
|
-
security dict
|
|
528
|
-
|
|
527
|
+
security dict always present (policy: roles_allowed|permit_all|deny_all|
|
|
528
|
+
authenticated|...|none_detected); none_detected = no auth annotation found.
|
|
529
529
|
total (int), no_security_signal (int), and security_model (str) fields.
|
|
530
|
-
no_security_signal counts endpoints
|
|
530
|
+
no_security_signal counts endpoints where security.policy == "none_detected".
|
|
531
531
|
security_model values: "filter_based" (centralized Spring Security config —
|
|
532
532
|
high no_security_signal is expected and does NOT mean endpoints are unprotected),
|
|
533
533
|
"annotation_based" (per-endpoint annotations only), "mixed" (both),
|
sourcecode/repository_ir.py
CHANGED
|
@@ -3015,7 +3015,10 @@ def extract_java_endpoints(root: Path) -> "dict[str, Any]":
|
|
|
3015
3015
|
# "no_security_signal" = no recognized security annotation at method OR class level.
|
|
3016
3016
|
# Note: repos may use framework-level security (e.g. Keycloak itself) with no
|
|
3017
3017
|
# per-endpoint annotations — this count reflects annotation-based coverage only.
|
|
3018
|
-
no_security_signal = sum(
|
|
3018
|
+
no_security_signal = sum(
|
|
3019
|
+
1 for e in endpoints
|
|
3020
|
+
if e.get("security", {}).get("policy") == "none_detected"
|
|
3021
|
+
)
|
|
3019
3022
|
|
|
3020
3023
|
# Detect filter-based security: centralized Spring Security config class.
|
|
3021
3024
|
# When present, high no_security_signal is expected — security is enforced by
|
|
@@ -3034,7 +3037,10 @@ def extract_java_endpoints(root: Path) -> "dict[str, Any]":
|
|
|
3034
3037
|
for sym in _class_syms
|
|
3035
3038
|
)
|
|
3036
3039
|
)
|
|
3037
|
-
_has_annotation_security = any(
|
|
3040
|
+
_has_annotation_security = any(
|
|
3041
|
+
e.get("security", {}).get("policy") != "none_detected"
|
|
3042
|
+
for e in endpoints
|
|
3043
|
+
)
|
|
3038
3044
|
if _filter_based and _has_annotation_security:
|
|
3039
3045
|
security_model = "mixed"
|
|
3040
3046
|
elif _filter_based:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 1.33.
|
|
3
|
+
Version: 1.33.9
|
|
4
4
|
Summary: Persistent structural context and ultra-fast repeated analysis for AI coding agents
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Keywords: agents,ai,codebase,context,developer-tools,llm
|
|
@@ -39,7 +39,7 @@ Description-Content-Type: text/markdown
|
|
|
39
39
|
|
|
40
40
|
**Persistent structural context and ultra-fast repeated analysis for AI coding agents.**
|
|
41
41
|
|
|
42
|
-

|
|
43
43
|

|
|
44
44
|
|
|
45
45
|
---
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
sourcecode/__init__.py,sha256=
|
|
1
|
+
sourcecode/__init__.py,sha256=YeVDeT3Zo0JoWo2z6x5w3rWDOH33C_U0jEgkwVhF1I0,103
|
|
2
2
|
sourcecode/adaptive_scanner.py,sha256=XffluXKzJUXrMtjEiAOnSNPZnztdIcts17T9ouHeID0,10521
|
|
3
3
|
sourcecode/architecture_analyzer.py,sha256=qh749a7ykPtGmQI1MR9y6j8TtL_jBdVYFx9YRsLqOMw,44121
|
|
4
4
|
sourcecode/architecture_summary.py,sha256=z34_6v7cSwy98cof2UVciGho7SCrZ93tiqMmq5WNzRQ,20405
|
|
5
5
|
sourcecode/ast_extractor.py,sha256=_btmeOJIe3t-NicF94D5ZAesa2YIJ0_QNExGnbHxGFE,50578
|
|
6
6
|
sourcecode/cache.py,sha256=wAyPrXN5DqiGivnMpeEuun2xHDKfBer2_oBsh6kj_vc,30447
|
|
7
|
-
sourcecode/canonical_ir.py,sha256=
|
|
7
|
+
sourcecode/canonical_ir.py,sha256=GD0rMyaHFoBjgeJPa0L4ASG2EDr-BmvV8X0GO62cUQ8,23408
|
|
8
8
|
sourcecode/classifier.py,sha256=2lYoSH3vOTkXZYPU7Go2WIet1-IuNzTWVhc-ULnXtgw,8024
|
|
9
9
|
sourcecode/cli.py,sha256=RWuME0JHzo8j7ltKzFs4an8S55CI63nV-DzuMO22OwQ,184549
|
|
10
10
|
sourcecode/code_notes_analyzer.py,sha256=EJemNCNc9Dn-1RZYu-aNbK0ELzmsyC4s6FdHi3XyNEI,9392
|
|
@@ -35,7 +35,7 @@ sourcecode/ranking_engine.py,sha256=ZAucq_YX2KkWUuAZf4P0lhtQ_38vEFnUhuGtSZd1S0E,
|
|
|
35
35
|
sourcecode/redactor.py,sha256=SB4hwIvg8h-hvcqKcDWaZvA-aSyn-at-BIRwa0tUv5E,3227
|
|
36
36
|
sourcecode/relevance_scorer.py,sha256=MYF4FFkveAQps9SmTeTlh6ODiBz2F--_hWNeHMLtUHQ,8405
|
|
37
37
|
sourcecode/repo_classifier.py,sha256=FG1vaWKdWXsWdl-S8hjVMiTqcwgaRXkDyvK4rPcOGtQ,22681
|
|
38
|
-
sourcecode/repository_ir.py,sha256=
|
|
38
|
+
sourcecode/repository_ir.py,sha256=gsPOaIqXGVBaTr1bI4xSt2BBUWSQmr5TIK_YN2uwptI,156107
|
|
39
39
|
sourcecode/ris.py,sha256=vkIe_v-jjceeb0Adhn-Kw5eFXE_nIkGHflOnQYPycTk,17411
|
|
40
40
|
sourcecode/runtime_classifier.py,sha256=uTAD6BDCiBLUZEDRfqk718kM4RTT_vAbfkcOI2_Xx58,18432
|
|
41
41
|
sourcecode/scanner.py,sha256=WdOQ78mMzjR1NjmKTlbxdgwinnCTfAhxCVLBEFQiFHU,8899
|
|
@@ -70,7 +70,7 @@ sourcecode/mcp/__init__.py,sha256=XU4HfRGbdid8wdUA0x_4f7uKZD1z3mv_XUY_WU_T9Mw,17
|
|
|
70
70
|
sourcecode/mcp/orchestrator.py,sha256=BMi1D6liJHI3DXiaC8yeBLLP0wXajpCP3-vnRGqrvnw,26850
|
|
71
71
|
sourcecode/mcp/registry.py,sha256=9SdXkwfc89_dkYFNeSbIgO5KDSMoI5sFoIBRX2PLt14,33248
|
|
72
72
|
sourcecode/mcp/runner.py,sha256=Id9L2VEsiIMfIXW8uHANHUY7o4eA_t2I3TFoPWHqY8U,2437
|
|
73
|
-
sourcecode/mcp/server.py,sha256=
|
|
73
|
+
sourcecode/mcp/server.py,sha256=f2PRhZ8ElI3A_44UIB3bpuTHB0VEqgnypkhv_SYTKsM,43066
|
|
74
74
|
sourcecode/mcp/onboarding/__init__.py,sha256=sj2PWqEBmMc4zBNkomg89WtL0M6S7A9yb7_wAuSWNP4,66
|
|
75
75
|
sourcecode/mcp/onboarding/applier.py,sha256=B9CneieWTpaDSDIyW3S5nrlRlBpvfqUcgi93-mm_ApQ,2135
|
|
76
76
|
sourcecode/mcp/onboarding/backup.py,sha256=ihqGOR8QTX8HASRSEDyfFyXr5bkXrygPHamv4p9KTmk,1452
|
|
@@ -82,8 +82,8 @@ sourcecode/telemetry/consent.py,sha256=wLMvGNJeSSyZoNkQXpoUioY6mMv4Qdvuw7S9jAEWn
|
|
|
82
82
|
sourcecode/telemetry/events.py,sha256=oEvvulfsv5GIDWG2174gSS6tNB95w38AIYiYeifGKlE,2294
|
|
83
83
|
sourcecode/telemetry/filters.py,sha256=Asa71oRl7q3Wt_FMwuufIZJFzSYdgRNKS8LHCIyFeYE,4805
|
|
84
84
|
sourcecode/telemetry/transport.py,sha256=KJeIPCPWMdmbCP3ySGs2iUlia34U6vWne2dZsUezesw,1560
|
|
85
|
-
sourcecode-1.33.
|
|
86
|
-
sourcecode-1.33.
|
|
87
|
-
sourcecode-1.33.
|
|
88
|
-
sourcecode-1.33.
|
|
89
|
-
sourcecode-1.33.
|
|
85
|
+
sourcecode-1.33.9.dist-info/METADATA,sha256=y4HnD_ipqBHlJGQ3VWsfi9RXQqz88mDklYU-uDJDn8c,16440
|
|
86
|
+
sourcecode-1.33.9.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
87
|
+
sourcecode-1.33.9.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
|
|
88
|
+
sourcecode-1.33.9.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
|
|
89
|
+
sourcecode-1.33.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|