sourcecode 1.56.0__py3-none-any.whl → 1.57.0__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.56.0"
3
+ __version__ = "1.57.0"
sourcecode/license.py CHANGED
@@ -177,6 +177,17 @@ _FEATURE_INFO: dict[str, dict[str, str]] = {
177
177
  _license_data: Optional[dict] = None
178
178
  is_pro: bool = False
179
179
 
180
+ # ---------------------------------------------------------------------------
181
+ # TEMPORARY PRO UNLOCK (early-adoption phase)
182
+ # ---------------------------------------------------------------------------
183
+ # Floors `is_pro` to True at init so every gate passes — anyone who installs
184
+ # gets Pro from the start (remove onboarding friction, maximize adoption).
185
+ # The gate LOGIC below (require_feature / require_repo_or_pro / require_pro) is
186
+ # left fully intact; this only raises the entitlement floor. To resume the
187
+ # paywall: set _PRO_UNLOCK_ALL = False (or SOURCECODE_PRO_UNLOCK=0), no other
188
+ # change needed. Tests of the gated paths set SOURCECODE_PRO_UNLOCK=0.
189
+ _PRO_UNLOCK_ALL = os.environ.get("SOURCECODE_PRO_UNLOCK", "1") != "0"
190
+
180
191
 
181
192
  def _secure_dir() -> None:
182
193
  """Create ~/.sourcecode owner-only (0700). Holds the license secret.
@@ -323,7 +334,7 @@ def _maybe_revalidate() -> None:
323
334
 
324
335
  if not result.get("valid"):
325
336
  _license_data = None
326
- is_pro = False
337
+ is_pro = _PRO_UNLOCK_ALL # TEMPORARY: keep Pro floor during unlock
327
338
  try:
328
339
  if _LICENSE_FILE.exists():
329
340
  _LICENSE_FILE.unlink()
@@ -334,7 +345,7 @@ def _maybe_revalidate() -> None:
334
345
  _license_data["plan"] = result.get("plan", "pro")
335
346
  _license_data["features"] = result.get("features", [])
336
347
  _license_data["validated_at"] = datetime.now(timezone.utc).isoformat()
337
- is_pro = _license_data.get("plan") == "pro"
348
+ is_pro = _PRO_UNLOCK_ALL or _license_data.get("plan") == "pro"
338
349
  try:
339
350
  _write_license_file(_license_data)
340
351
  except Exception:
@@ -349,6 +360,8 @@ def _init() -> None:
349
360
  and _license_data.get("plan") == "pro"
350
361
  and _license_data.get("status", "active") != "inactive"
351
362
  )
363
+ if _PRO_UNLOCK_ALL:
364
+ is_pro = True # TEMPORARY: early-adoption Pro unlock (see _PRO_UNLOCK_ALL)
352
365
 
353
366
 
354
367
  _init()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 1.56.0
3
+ Version: 1.57.0
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
@@ -40,7 +40,7 @@ Description-Content-Type: text/markdown
40
40
 
41
41
  **Persistent structural context and ultra-fast repeated analysis for AI coding agents.**
42
42
 
43
- ![Version](https://img.shields.io/badge/version-1.56.0-blue)
43
+ ![Version](https://img.shields.io/badge/version-1.57.0-blue)
44
44
  ![Python](https://img.shields.io/badge/python-3.9%2B-green)
45
45
 
46
46
  ---
@@ -295,6 +295,10 @@ Specifically:
295
295
 
296
296
  ## Pricing
297
297
 
298
+ > **🎉 Early-adoption: Pro is currently unlocked for everyone.** During this phase
299
+ > every install runs with full Pro entitlements — no size gate, no key required. The
300
+ > tiers below describe the model the paywall will return to later.
301
+
298
302
  Two tiers. **Gating is by repo size and automation — never by command.** Every
299
303
  command runs at full power on Free for small and mid-size repos. You upgrade
300
304
  when the work gets bigger or automated.
@@ -1,4 +1,4 @@
1
- sourcecode/__init__.py,sha256=Pkp631Fn1N1LTXdXhECw7jwtP1qHPqYOjr7-FG3sUJc,103
1
+ sourcecode/__init__.py,sha256=TrDqUl3QPap22po5ZZVSMV_lWRZibeQ0Vv3MgrCN2Wk,103
2
2
  sourcecode/adaptive_scanner.py,sha256=XffluXKzJUXrMtjEiAOnSNPZnztdIcts17T9ouHeID0,10521
3
3
  sourcecode/architecture_analyzer.py,sha256=liCwQmLgb5vplohy8arjYxs_HOIv5C9MjLh_gY6bc5Q,44115
4
4
  sourcecode/architecture_summary.py,sha256=z34_6v7cSwy98cof2UVciGho7SCrZ93tiqMmq5WNzRQ,20405
@@ -29,7 +29,7 @@ sourcecode/fqn_utils.py,sha256=XLU7zDkNBXz_RZkIUNfpPmp1nekWtqP-fxV92tDV1vg,2158
29
29
  sourcecode/git_analyzer.py,sha256=JStxTQXNjBWi_wLdwhsZs9mT-v50cSJIz4Agzn6Kh9I,13362
30
30
  sourcecode/graph_analyzer.py,sha256=DHR8fY69oU_Pi4SYaWboX6EoEFrctQKB9dsjpqwGMzw,62403
31
31
  sourcecode/integration_detector.py,sha256=ZJqrGwvZ4ee2JTGhlazKk67aZi173HxkhNpl8Yntpd8,6503
32
- sourcecode/license.py,sha256=JD-1pnH_2XR9lKr9p9KQZn9U31I9e5o6GYsN1XCVccw,22577
32
+ sourcecode/license.py,sha256=vN7XQb0IY2rxkdsn7LC-Uz2m5f9tNPiJ9JlSVdhpwus,23488
33
33
  sourcecode/mcp_nudge.py,sha256=5ELU_ixzh6uA83NXLOZT8h00OhL53okfQdji3jyKOjg,2917
34
34
  sourcecode/metrics_analyzer.py,sha256=m0ENgtqKeBL17kUIK3fmGkgo7UfXBNHxCMj0H_Y5K7c,22750
35
35
  sourcecode/migrate_check.py,sha256=H8iy7Vk8cGL0dnR3ZkFPS20CtfF5LJWuzQVQE4awQ9s,56192
@@ -102,8 +102,8 @@ sourcecode/telemetry/consent.py,sha256=wLMvGNJeSSyZoNkQXpoUioY6mMv4Qdvuw7S9jAEWn
102
102
  sourcecode/telemetry/events.py,sha256=LtzYfaX9Ilckj5PTvAcTpDa9mLqDsYPDUiDkRa58piY,2580
103
103
  sourcecode/telemetry/filters.py,sha256=NHa5T-6DaZduQPFuC34jOqHWQgSizM-Ygq8aZ4j19ng,5834
104
104
  sourcecode/telemetry/transport.py,sha256=4gGHsq0WeY9VywEZXA3vUxykfiYnw9uuqfjAAec7F8o,1681
105
- sourcecode-1.56.0.dist-info/METADATA,sha256=3XaX5Y56V_x6f4WkArJ-hXRYyds-FnNpQqBXNrTNdLk,38464
106
- sourcecode-1.56.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
107
- sourcecode-1.56.0.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
108
- sourcecode-1.56.0.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
109
- sourcecode-1.56.0.dist-info/RECORD,,
105
+ sourcecode-1.57.0.dist-info/METADATA,sha256=MllfgzFIxub5-5P1bTKKkF0ifSPQVoCD3XNMqS5V4-U,38704
106
+ sourcecode-1.57.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
107
+ sourcecode-1.57.0.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
108
+ sourcecode-1.57.0.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
109
+ sourcecode-1.57.0.dist-info/RECORD,,