trinity-cli 0.2.4__tar.gz → 0.2.5__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.
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/PKG-INFO +1 -1
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/pyproject.toml +1 -1
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/auth.py +9 -16
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli.egg-info/PKG-INFO +1 -1
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli.egg-info/SOURCES.txt +0 -1
- trinity_cli-0.2.4/trinity_cli/_notify.py +0 -54
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/README.md +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/setup.cfg +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/__init__.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/client.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/__init__.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/agents.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/chat.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/deploy.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/health.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/profiles.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/schedules.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/skills.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/commands/tags.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/config.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/main.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli/output.py +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli.egg-info/dependency_links.txt +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli.egg-info/entry_points.txt +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli.egg-info/requires.txt +0 -0
- {trinity_cli-0.2.4 → trinity_cli-0.2.5}/trinity_cli.egg-info/top_level.txt +0 -0
|
@@ -238,8 +238,8 @@ def init(ctx, profile_opt, admin):
|
|
|
238
238
|
One command to go from zero to authenticated. Creates a named profile
|
|
239
239
|
for the instance (defaults to hostname).
|
|
240
240
|
|
|
241
|
-
If you don't have an instance URL, leave it blank
|
|
242
|
-
Use --admin to authenticate with admin password instead of email.
|
|
241
|
+
If you don't have an instance URL, leave it blank for access-request
|
|
242
|
+
instructions. Use --admin to authenticate with admin password instead of email.
|
|
243
243
|
"""
|
|
244
244
|
url = click.prompt(
|
|
245
245
|
"Trinity instance URL (leave blank to request access)", default="", show_default=False
|
|
@@ -248,20 +248,13 @@ def init(ctx, profile_opt, admin):
|
|
|
248
248
|
|
|
249
249
|
# No URL — user needs to request instance access
|
|
250
250
|
if not url:
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
"After that, run 'trinity init' again with the URL to complete setup."
|
|
259
|
-
)
|
|
260
|
-
else:
|
|
261
|
-
click.echo(
|
|
262
|
-
"Failed to send access request. Please email access@ability.ai directly.",
|
|
263
|
-
err=True,
|
|
264
|
-
)
|
|
251
|
+
click.echo(
|
|
252
|
+
"\nNo instance URL set.\n\n"
|
|
253
|
+
"To request access, email access@ability.ai with the subject "
|
|
254
|
+
"'Trinity access request'.\n"
|
|
255
|
+
"Once you receive your instance URL, run 'trinity init' again with "
|
|
256
|
+
"the URL to complete setup."
|
|
257
|
+
)
|
|
265
258
|
return
|
|
266
259
|
|
|
267
260
|
# Verify instance is reachable (with retry)
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"""Access request notification via email."""
|
|
2
|
-
|
|
3
|
-
import base64
|
|
4
|
-
|
|
5
|
-
import httpx
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# Obfuscated API credential — XOR split across two base85-encoded halves.
|
|
9
|
-
_M = '0g>kenBuVjL4!SP130qQ*=KYIggxnFiM4SMY<kpZ;xz3G'
|
|
10
|
-
_X = 'bM&}o{<_;(3FJ^SHeH9T>{SCrvQ4lu+J+oL4l%n7gIR)6'
|
|
11
|
-
_F = 'noreply@abilityai.dev'
|
|
12
|
-
_T = 'eugene@ability.ai'
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def _k() -> str:
|
|
16
|
-
m = base64.b85decode(_M)
|
|
17
|
-
x = base64.b85decode(_X)
|
|
18
|
-
return bytes(a ^ b for a, b in zip(m, x)).decode()
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def send_access_request(email: str) -> bool:
|
|
22
|
-
"""Send an instance access request notification.
|
|
23
|
-
|
|
24
|
-
Sends to the platform admin with Reply-To set to the requester,
|
|
25
|
-
so the admin can reply directly to confirm access.
|
|
26
|
-
|
|
27
|
-
Returns True if the email was sent successfully.
|
|
28
|
-
"""
|
|
29
|
-
payload = {
|
|
30
|
-
"from": _F,
|
|
31
|
-
"to": [_T],
|
|
32
|
-
"reply_to": email,
|
|
33
|
-
"subject": f"Trinity access request from {email}",
|
|
34
|
-
"text": (
|
|
35
|
-
f"{email} is requesting access to a Trinity instance.\n\n"
|
|
36
|
-
"To grant access:\n"
|
|
37
|
-
"1. Add their email to Settings > Email Whitelist\n"
|
|
38
|
-
"2. Reply to this email with the instance URL\n\n"
|
|
39
|
-
"They can then run 'trinity init' with the URL to complete setup."
|
|
40
|
-
),
|
|
41
|
-
}
|
|
42
|
-
try:
|
|
43
|
-
resp = httpx.post(
|
|
44
|
-
"https://api.resend.com/emails",
|
|
45
|
-
json=payload,
|
|
46
|
-
headers={
|
|
47
|
-
"Authorization": f"Bearer {_k()}",
|
|
48
|
-
"Content-Type": "application/json",
|
|
49
|
-
},
|
|
50
|
-
timeout=10,
|
|
51
|
-
)
|
|
52
|
-
return resp.status_code == 200
|
|
53
|
-
except Exception:
|
|
54
|
-
return False
|
|
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
|