ai-lls-lib 1.5.0rc2__tar.gz → 1.5.0rc3__tar.gz
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.
Potentially problematic release.
This version of ai-lls-lib might be problematic. Click here for more details.
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/PKG-INFO +1 -1
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/pyproject.toml +1 -1
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/__init__.py +1 -1
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/commands/stripe.py +8 -4
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/env_loader.py +10 -4
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/README.md +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/auth/__init__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/auth/context_parser.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/__init__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/__main__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/aws_client.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/commands/__init__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/commands/admin.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/commands/cache.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/commands/test_stack.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/cli/commands/verify.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/core/__init__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/core/cache.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/core/models.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/core/processor.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/core/verifier.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/payment/__init__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/payment/credit_manager.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/payment/models.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/payment/stripe_manager.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/payment/webhook_processor.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/providers/__init__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/providers/base.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/providers/external.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/providers/stub.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/testing/__init__.py +0 -0
- {ai_lls_lib-1.5.0rc2 → ai_lls_lib-1.5.0rc3}/src/ai_lls_lib/testing/fixtures.py +0 -0
|
@@ -17,7 +17,7 @@ from ai_lls_lib.core.verifier import PhoneVerifier
|
|
|
17
17
|
from ai_lls_lib.core.processor import BulkProcessor
|
|
18
18
|
from ai_lls_lib.core.cache import DynamoDBCache
|
|
19
19
|
|
|
20
|
-
__version__ = "1.5.0-rc.
|
|
20
|
+
__version__ = "1.5.0-rc.3"
|
|
21
21
|
__all__ = [
|
|
22
22
|
"PhoneVerification",
|
|
23
23
|
"BulkJob",
|
|
@@ -28,8 +28,9 @@ def seed_products(environment: str, api_key: Optional[str], dry_run: bool):
|
|
|
28
28
|
if not api_key:
|
|
29
29
|
api_key = get_stripe_key(environment)
|
|
30
30
|
if not api_key:
|
|
31
|
+
env_prefix = 'STAGING' if environment == 'staging' else 'PROD'
|
|
31
32
|
click.echo(f"Error: No Stripe API key found for {environment} environment", err=True)
|
|
32
|
-
click.echo(f"Set {
|
|
33
|
+
click.echo(f"Set {env_prefix}_STRIPE_SECRET_KEY or STRIPE_SECRET_KEY", err=True)
|
|
33
34
|
return
|
|
34
35
|
click.echo(f"Using Stripe key for {environment} environment", err=True)
|
|
35
36
|
|
|
@@ -283,8 +284,9 @@ def list_products(environment: str, api_key: Optional[str], output_json: bool):
|
|
|
283
284
|
if not api_key:
|
|
284
285
|
api_key = get_stripe_key(environment)
|
|
285
286
|
if not api_key:
|
|
287
|
+
env_prefix = 'STAGING' if environment == 'staging' else 'PROD'
|
|
286
288
|
click.echo(f"Error: No Stripe API key found for {environment} environment", err=True)
|
|
287
|
-
click.echo(f"Set {
|
|
289
|
+
click.echo(f"Set {env_prefix}_STRIPE_SECRET_KEY or STRIPE_SECRET_KEY", err=True)
|
|
288
290
|
return
|
|
289
291
|
|
|
290
292
|
try:
|
|
@@ -327,11 +329,13 @@ def setup_webhook(endpoint_url: Optional[str], environment: str, api_key: Option
|
|
|
327
329
|
if not api_key:
|
|
328
330
|
api_key = get_stripe_key(environment)
|
|
329
331
|
if not api_key:
|
|
332
|
+
env_prefix = 'STAGING' if environment == 'staging' else 'PROD'
|
|
330
333
|
click.echo(f"Error: No Stripe API key found for {environment} environment", err=True)
|
|
331
|
-
click.echo(f"Set {
|
|
334
|
+
click.echo(f"Set {env_prefix}_STRIPE_SECRET_KEY or STRIPE_SECRET_KEY", err=True)
|
|
332
335
|
return
|
|
333
336
|
|
|
334
337
|
stripe.api_key = api_key
|
|
338
|
+
env_prefix = 'STAGING' if environment == 'staging' else 'PROD'
|
|
335
339
|
|
|
336
340
|
if print_secret:
|
|
337
341
|
# List existing webhooks
|
|
@@ -371,7 +375,7 @@ def setup_webhook(endpoint_url: Optional[str], environment: str, api_key: Option
|
|
|
371
375
|
click.echo(f" ID: {webhook.id}")
|
|
372
376
|
click.echo(f" Secret: {webhook.secret}")
|
|
373
377
|
click.echo(f"\nAdd this to your environment:")
|
|
374
|
-
click.echo(f" {
|
|
378
|
+
click.echo(f" {env_prefix}_STRIPE_WEBHOOK_SECRET={webhook.secret}")
|
|
375
379
|
|
|
376
380
|
except stripe.error.StripeError as e:
|
|
377
381
|
click.echo(f"Error creating webhook: {e}", err=True)
|
|
@@ -74,10 +74,13 @@ def get_stripe_key(environment: str, env_vars: Optional[Dict[str, str]] = None)
|
|
|
74
74
|
env_vars = load_environment_config()
|
|
75
75
|
|
|
76
76
|
# Map environment names to prefixes
|
|
77
|
-
|
|
77
|
+
env_prefix_map = {
|
|
78
78
|
'staging': 'STAGING',
|
|
79
79
|
'production': 'PROD'
|
|
80
|
-
}
|
|
80
|
+
}
|
|
81
|
+
if environment not in env_prefix_map:
|
|
82
|
+
raise ValueError(f"Invalid environment '{environment}'. Must be 'staging' or 'production'")
|
|
83
|
+
env_prefix = env_prefix_map[environment]
|
|
81
84
|
|
|
82
85
|
# Try environment-specific key first
|
|
83
86
|
env_key = f"{env_prefix}_STRIPE_SECRET_KEY"
|
|
@@ -108,10 +111,13 @@ def get_env_variable(key: str, environment: Optional[str] = None,
|
|
|
108
111
|
env_vars = load_environment_config()
|
|
109
112
|
|
|
110
113
|
if environment:
|
|
111
|
-
|
|
114
|
+
env_prefix_map = {
|
|
112
115
|
'staging': 'STAGING',
|
|
113
116
|
'production': 'PROD'
|
|
114
|
-
}
|
|
117
|
+
}
|
|
118
|
+
if environment not in env_prefix_map:
|
|
119
|
+
raise ValueError(f"Invalid environment '{environment}'. Must be 'staging' or 'production'")
|
|
120
|
+
env_prefix = env_prefix_map[environment]
|
|
115
121
|
|
|
116
122
|
# Try environment-specific key first
|
|
117
123
|
env_key = f"{env_prefix}_{key}"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|