sibyl-memory-cli 0.3.1__tar.gz → 0.3.3__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.
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/PKG-INFO +1 -1
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/pyproject.toml +1 -1
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli/_banner.py +11 -5
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli/cli.py +15 -2
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/PKG-INFO +1 -1
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/README.md +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/setup.cfg +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli/__init__.py +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli/_aesthetic.py +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli/setup.py +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/SOURCES.txt +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/dependency_links.txt +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/entry_points.txt +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/requires.txt +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/top_level.txt +0 -0
- {sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/tests/test_setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sibyl-memory-cli
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.3
|
|
4
4
|
Summary: Command-line interface for the Sibyl Memory Plugin. `sibyl init` activates, `sibyl upgrade` runs the staker / subscription flow, `sibyl status` shows current tier and DB stats, `sibyl whoami` gives a one-line account summary, `sibyl devices` lists active devices and supports per-device revoke.
|
|
5
5
|
Author-email: "SIBYL, Sibyl Labs LLC" <sibyl@sibyllabs.org>
|
|
6
6
|
License: MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "sibyl-memory-cli"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.3"
|
|
8
8
|
description = "Command-line interface for the Sibyl Memory Plugin. `sibyl init` activates, `sibyl upgrade` runs the staker / subscription flow, `sibyl status` shows current tier and DB stats, `sibyl whoami` gives a one-line account summary, `sibyl devices` lists active devices and supports per-device revoke."
|
|
9
9
|
authors = [{ name = "SIBYL, Sibyl Labs LLC", email = "sibyl@sibyllabs.org" }]
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -45,6 +45,7 @@ _GRADIENT = (
|
|
|
45
45
|
)
|
|
46
46
|
|
|
47
47
|
_TAGLINE = "memory you can hold in your hand"
|
|
48
|
+
_ATTRIBUTION = "a Sibyl Labs LLC Product. Agentic Infrastructure and Memory Products"
|
|
48
49
|
|
|
49
50
|
|
|
50
51
|
def _supports_truecolor() -> bool:
|
|
@@ -97,8 +98,9 @@ def render_banner(*, force_color: bool | None = None) -> str:
|
|
|
97
98
|
if not use_truecolor:
|
|
98
99
|
# Plain text — still visually clean, just no color.
|
|
99
100
|
body = "\n".join(" " + line for line in _LINES)
|
|
100
|
-
tagline = f"\n {_TAGLINE}
|
|
101
|
-
|
|
101
|
+
tagline = f"\n {_TAGLINE}"
|
|
102
|
+
attribution = f"\n {_ATTRIBUTION}\n"
|
|
103
|
+
return body + tagline + attribution
|
|
102
104
|
|
|
103
105
|
# Colored — apply per-row gradient.
|
|
104
106
|
colored_lines = []
|
|
@@ -106,10 +108,14 @@ def render_banner(*, force_color: bool | None = None) -> str:
|
|
|
106
108
|
colored_lines.append(f" {_rgb(r, g, b)}{line}{_RESET}")
|
|
107
109
|
|
|
108
110
|
body = "\n".join(colored_lines)
|
|
109
|
-
# Tagline in
|
|
111
|
+
# Tagline in the deepest gold — present, but not competing with the wordmark.
|
|
110
112
|
r, g, b = _GRADIENT[-1]
|
|
111
|
-
tagline = f"\n {_rgb(r, g, b)}{_TAGLINE}{_RESET}
|
|
112
|
-
|
|
113
|
+
tagline = f"\n {_rgb(r, g, b)}{_TAGLINE}{_RESET}"
|
|
114
|
+
# Attribution dimmer still — a half-step below the tagline so the hierarchy
|
|
115
|
+
# reads SIBYL > tagline > attribution at a glance. ANSI dim (\033[2m) gives
|
|
116
|
+
# ~55% perceived opacity across the supported terminals.
|
|
117
|
+
attribution = f"\n \033[2m{_rgb(r, g, b)}{_ATTRIBUTION}{_RESET}\n"
|
|
118
|
+
return body + tagline + attribution
|
|
113
119
|
|
|
114
120
|
|
|
115
121
|
def print_banner(*, force_color: bool | None = None) -> None:
|
|
@@ -46,7 +46,11 @@ def _client_version() -> str:
|
|
|
46
46
|
# ---- Defaults ----------------------------------------------------------
|
|
47
47
|
|
|
48
48
|
API_BASE = os.environ.get("SIBYL_API_BASE", "https://api.sibyllabs.org")
|
|
49
|
-
|
|
49
|
+
# Dedicated short-URL auth subdomain (2026-05-20). Trust + phishing resistance:
|
|
50
|
+
# the URL the user sees in their terminal + browser is purpose-specific and
|
|
51
|
+
# short enough to read at a glance. Legacy URL `sibyllabs.org/plugin/activate
|
|
52
|
+
# ?session=<uuid>` still resolves so older CLI installs continue to work.
|
|
53
|
+
ACTIVATE_BASE = os.environ.get("SIBYL_ACTIVATE_BASE", "https://auth.sibyllabs.org")
|
|
50
54
|
UPGRADE_BASE = os.environ.get("SIBYL_UPGRADE_BASE", "https://sibyllabs.org/plugin/upgrade")
|
|
51
55
|
|
|
52
56
|
DEFAULT_CRED_PATH = Path("~/.sibyl-memory/credentials.json").expanduser()
|
|
@@ -236,7 +240,16 @@ def cmd_init(args: argparse.Namespace) -> int:
|
|
|
236
240
|
session_id = str(uuid.uuid4())
|
|
237
241
|
pairing_code = _gen_pairing_code()
|
|
238
242
|
code_hash = _hash_pairing_code(pairing_code, session_id)
|
|
239
|
-
|
|
243
|
+
# Path-based URL on the dedicated auth subdomain (2026-05-20).
|
|
244
|
+
# auth.sibyllabs.org/<uuid> reads cleaner in the terminal than the old
|
|
245
|
+
# query-string form and aligns the wallet popup's "X wants you to sign in"
|
|
246
|
+
# header with the browser URL bar.
|
|
247
|
+
if ACTIVATE_BASE.rstrip("/").endswith(".sibyllabs.org") or ACTIVATE_BASE.rstrip("/").endswith("/auth"):
|
|
248
|
+
activate_url = f"{ACTIVATE_BASE.rstrip('/')}/{session_id}"
|
|
249
|
+
else:
|
|
250
|
+
# Legacy fallback: anyone with SIBYL_ACTIVATE_BASE pointing at the old
|
|
251
|
+
# /plugin/activate path keeps the query-string shape.
|
|
252
|
+
activate_url = f"{ACTIVATE_BASE}?session={session_id}"
|
|
240
253
|
|
|
241
254
|
# Pre-register the session + pairing code hash with the server.
|
|
242
255
|
# The code itself never leaves the user's machine until they type it
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sibyl-memory-cli
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.3
|
|
4
4
|
Summary: Command-line interface for the Sibyl Memory Plugin. `sibyl init` activates, `sibyl upgrade` runs the staker / subscription flow, `sibyl status` shows current tier and DB stats, `sibyl whoami` gives a one-line account summary, `sibyl devices` lists active devices and supports per-device revoke.
|
|
5
5
|
Author-email: "SIBYL, Sibyl Labs LLC" <sibyl@sibyllabs.org>
|
|
6
6
|
License: MIT
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/requires.txt
RENAMED
|
File without changes
|
{sibyl_memory_cli-0.3.1 → sibyl_memory_cli-0.3.3}/src/sibyl_memory_cli.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|