dsh-cliworker-now 0.7.6 → 0.7.8
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.
- package/README.en.md +53 -11
- package/README.md +56 -11
- package/lib/account-models.mjs +49 -18
- package/lib/client.js +1221 -151
- package/lib/client.js.map +1 -1
- package/lib/grok-catalog.mjs +2 -2
- package/lib/hermes-native-entry.py +48 -13
- package/lib/hermes-nous-refresh.py +331 -0
- package/lib/index.js +9469 -6030
- package/lib/index.js.map +1 -1
- package/lib/native-launch.mjs +62 -7
- package/lib/native-spawn.mjs +32 -0
- package/lib/pi-installation.mjs +27 -3
- package/lib/pi-native-catalog.mjs +17 -7
- package/lib/pi-omp-bridge.mjs +2 -2
- package/lib/pi-omp-refresh.mjs +3 -3
- package/lib/private-launch.mjs +6 -2
- package/lib/terminal-bridge.mjs +2 -2
- package/lib/typert.host.js +265 -25
- package/lib/typert.remote-client.d.ts +8 -0
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +241 -25
- package/lib/types/client/account-query-queue.d.ts +16 -0
- package/lib/types/client/account-query-queue.js +61 -0
- package/lib/types/client/account-query-queue.js.map +1 -0
- package/lib/types/client/account-terminal.d.ts +6 -2
- package/lib/types/client/account-terminal.js +260 -31
- package/lib/types/client/account-terminal.js.map +1 -1
- package/lib/types/client/cli-executable-settings.d.ts +13 -0
- package/lib/types/client/cli-executable-settings.js +128 -0
- package/lib/types/client/cli-executable-settings.js.map +1 -0
- package/lib/types/client/management-styles.d.ts +1 -1
- package/lib/types/client/management-styles.js +4 -0
- package/lib/types/client/management-styles.js.map +1 -1
- package/lib/types/client/settings-dialog.js +196 -80
- package/lib/types/client/settings-dialog.js.map +1 -1
- package/lib/types/client/styles.d.ts +1 -1
- package/lib/types/client/styles.js +18 -16
- package/lib/types/client/styles.js.map +1 -1
- package/lib/types/client/zcode-login-link-provider.d.ts +9 -0
- package/lib/types/client/zcode-login-link-provider.js +105 -0
- package/lib/types/client/zcode-login-link-provider.js.map +1 -0
- package/lib/types/client/zcode-login-link.d.ts +16 -0
- package/lib/types/client/zcode-login-link.js +194 -0
- package/lib/types/client/zcode-login-link.js.map +1 -0
- package/lib/types/host/account-models.d.mts +10 -2
- package/lib/types/host/account-models.mjs +49 -18
- package/lib/types/host/accounts.d.ts +3 -2
- package/lib/types/host/accounts.js +168 -29
- package/lib/types/host/accounts.js.map +1 -1
- package/lib/types/host/adapters.d.ts +3 -1
- package/lib/types/host/adapters.js +138 -11
- package/lib/types/host/adapters.js.map +1 -1
- package/lib/types/host/agy-background-environment.d.ts +2 -0
- package/lib/types/host/agy-background-environment.js +7 -0
- package/lib/types/host/agy-background-environment.js.map +1 -0
- package/lib/types/host/agy-models.d.ts +2 -1
- package/lib/types/host/agy-models.js +6 -6
- package/lib/types/host/agy-models.js.map +1 -1
- package/lib/types/host/agy-windows-account.d.ts +14 -0
- package/lib/types/host/agy-windows-account.js +104 -0
- package/lib/types/host/agy-windows-account.js.map +1 -0
- package/lib/types/host/authorized-catalog.js +13 -4
- package/lib/types/host/authorized-catalog.js.map +1 -1
- package/lib/types/host/claude-native-oauth.d.ts +17 -0
- package/lib/types/host/claude-native-oauth.js +274 -0
- package/lib/types/host/claude-native-oauth.js.map +1 -0
- package/lib/types/host/claude-own-route.d.ts +45 -0
- package/lib/types/host/claude-own-route.js +375 -0
- package/lib/types/host/claude-own-route.js.map +1 -0
- package/lib/types/host/cli-account-binding.d.ts +2 -1
- package/lib/types/host/cli-account-binding.js +64 -21
- package/lib/types/host/cli-account-binding.js.map +1 -1
- package/lib/types/host/cli-executable-paths.d.ts +30 -0
- package/lib/types/host/cli-executable-paths.js +272 -0
- package/lib/types/host/cli-executable-paths.js.map +1 -0
- package/lib/types/host/codex-models.d.ts +3 -1
- package/lib/types/host/codex-models.js +41 -4
- package/lib/types/host/codex-models.js.map +1 -1
- package/lib/types/host/extended-adapters.d.ts +3 -2
- package/lib/types/host/extended-adapters.js +9 -7
- package/lib/types/host/extended-adapters.js.map +1 -1
- package/lib/types/host/first-party-models.d.ts +5 -0
- package/lib/types/host/first-party-models.js +173 -50
- package/lib/types/host/first-party-models.js.map +1 -1
- package/lib/types/host/hermes-accounts.js +68 -9
- package/lib/types/host/hermes-accounts.js.map +1 -1
- package/lib/types/host/hermes-adapter.d.ts +3 -0
- package/lib/types/host/hermes-adapter.js +13 -4
- package/lib/types/host/hermes-adapter.js.map +1 -1
- package/lib/types/host/hermes-installation.js +54 -35
- package/lib/types/host/hermes-installation.js.map +1 -1
- package/lib/types/host/hermes-models.js +21 -2
- package/lib/types/host/hermes-models.js.map +1 -1
- package/lib/types/host/hermes-native-entry.py +48 -13
- package/lib/types/host/hermes-nous-refresh.py +331 -0
- package/lib/types/host/hermes-nous.d.ts +5 -1
- package/lib/types/host/hermes-nous.js +5 -5
- package/lib/types/host/hermes-nous.js.map +1 -1
- package/lib/types/host/hermes-renewal.d.ts +27 -0
- package/lib/types/host/hermes-renewal.js +292 -0
- package/lib/types/host/hermes-renewal.js.map +1 -0
- package/lib/types/host/hermes-windows-installation.d.ts +5 -0
- package/lib/types/host/hermes-windows-installation.js +91 -0
- package/lib/types/host/hermes-windows-installation.js.map +1 -0
- package/lib/types/host/index.d.ts +12 -0
- package/lib/types/host/index.js +138 -8
- package/lib/types/host/index.js.map +1 -1
- package/lib/types/host/kimi-accounts.d.ts +2 -0
- package/lib/types/host/kimi-accounts.js +4 -2
- package/lib/types/host/kimi-accounts.js.map +1 -1
- package/lib/types/host/kimi-oauth-models.d.ts +14 -0
- package/lib/types/host/kimi-oauth-models.js +246 -0
- package/lib/types/host/kimi-oauth-models.js.map +1 -0
- package/lib/types/host/mimo-metadata-cache.d.ts +22 -0
- package/lib/types/host/mimo-metadata-cache.js +121 -0
- package/lib/types/host/mimo-metadata-cache.js.map +1 -0
- package/lib/types/host/native-capability-cache.d.ts +11 -0
- package/lib/types/host/native-capability-cache.js +94 -0
- package/lib/types/host/native-capability-cache.js.map +1 -0
- package/lib/types/host/native-launch.mjs +62 -7
- package/lib/types/host/native-process.d.ts +3 -1
- package/lib/types/host/native-process.js +30 -5
- package/lib/types/host/native-process.js.map +1 -1
- package/lib/types/host/native-spawn.mjs +32 -0
- package/lib/types/host/opencode-native.js +13 -0
- package/lib/types/host/opencode-native.js.map +1 -1
- package/lib/types/host/pi-installation.d.mts +1 -1
- package/lib/types/host/pi-installation.mjs +27 -3
- package/lib/types/host/pi-omp-adapter.js +17 -3
- package/lib/types/host/pi-omp-adapter.js.map +1 -1
- package/lib/types/host/pi-omp-native.js +5 -3
- package/lib/types/host/pi-omp-native.js.map +1 -1
- package/lib/types/host/pi-omp-refresh.mjs +3 -3
- package/lib/types/host/private-launch.mjs +23 -0
- package/lib/types/host/process.d.ts +3 -0
- package/lib/types/host/process.js +3 -1
- package/lib/types/host/process.js.map +1 -1
- package/lib/types/host/routing.js +25 -2
- package/lib/types/host/routing.js.map +1 -1
- package/lib/types/host/runtime.js +21 -5
- package/lib/types/host/runtime.js.map +1 -1
- package/lib/types/host/settings-catalog-cache.d.ts +28 -0
- package/lib/types/host/settings-catalog-cache.js +189 -0
- package/lib/types/host/settings-catalog-cache.js.map +1 -0
- package/lib/types/host/windows-account-bootstrap.ps1 +44 -0
- package/lib/types/host/windows-account-launch.mjs +47 -0
- package/lib/types/host/windows-account-owner.ps1 +137 -0
- package/lib/types/host/windows-account-stdio.mjs +19 -0
- package/lib/types/host/windows-account-terminal.d.ts +17 -0
- package/lib/types/host/windows-account-terminal.js +208 -0
- package/lib/types/host/windows-account-terminal.js.map +1 -0
- package/lib/types/host/windows-agy-account.ps1 +81 -0
- package/lib/types/host/windows-cli-installation.d.ts +35 -0
- package/lib/types/host/windows-cli-installation.js +164 -0
- package/lib/types/host/windows-cli-installation.js.map +1 -0
- package/lib/types/host/windows-codex-launch.d.ts +9 -0
- package/lib/types/host/windows-codex-launch.js +216 -0
- package/lib/types/host/windows-codex-launch.js.map +1 -0
- package/lib/types/host/windows-desktop-cli-installation.d.ts +20 -0
- package/lib/types/host/windows-desktop-cli-installation.js +420 -0
- package/lib/types/host/windows-desktop-cli-installation.js.map +1 -0
- package/lib/types/host/windows-hidden-launch.mjs +51 -0
- package/lib/types/host/windows-hidden-process.d.ts +12 -0
- package/lib/types/host/windows-hidden-process.js +116 -0
- package/lib/types/host/windows-hidden-process.js.map +1 -0
- package/lib/types/host/zcode-adapter.js +5 -1
- package/lib/types/host/zcode-adapter.js.map +1 -1
- package/lib/types/host/zcode-grok-accounts.d.ts +3 -1
- package/lib/types/host/zcode-grok-accounts.js +60 -11
- package/lib/types/host/zcode-grok-accounts.js.map +1 -1
- package/lib/types/shared/accounts.d.ts +4 -0
- package/lib/types/shared/cli-settings.d.ts +8 -0
- package/lib/windows-account-bootstrap.ps1 +44 -0
- package/lib/windows-account-launch.mjs +47 -0
- package/lib/windows-account-owner.ps1 +137 -0
- package/lib/windows-account-stdio.mjs +19 -0
- package/lib/windows-agy-account.ps1 +81 -0
- package/lib/windows-hidden-launch.mjs +51 -0
- package/lib/zcode-resume.mjs +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
"""One bounded, same-account Nous renewal inside the verified native environment.
|
|
2
|
+
|
|
3
|
+
This module is loaded only by our fixed native-entry operation. Native OAuth
|
|
4
|
+
owns token exchange and atomic persistence. No resolver, pool selection, login,
|
|
5
|
+
anonymous identity, browser, model request or credential output is permitted.
|
|
6
|
+
"""
|
|
7
|
+
import base64
|
|
8
|
+
import contextlib
|
|
9
|
+
import hashlib
|
|
10
|
+
import inspect
|
|
11
|
+
import json
|
|
12
|
+
import logging
|
|
13
|
+
import math
|
|
14
|
+
import os
|
|
15
|
+
from pathlib import Path
|
|
16
|
+
import re
|
|
17
|
+
import signal
|
|
18
|
+
import stat
|
|
19
|
+
import time
|
|
20
|
+
|
|
21
|
+
PORTAL = "https://portal.nousresearch.com"
|
|
22
|
+
INFERENCE = "https://inference-api.nousresearch.com/v1"
|
|
23
|
+
CLIENT = "hermes-cli"
|
|
24
|
+
MAX_FILE = 4 * 1024 * 1024
|
|
25
|
+
TOKEN_FIELDS = (
|
|
26
|
+
"access_token", "refresh_token", "token_type", "scope", "client_id",
|
|
27
|
+
"portal_base_url", "inference_base_url", "obtained_at", "expires_at", "expires_in",
|
|
28
|
+
"agent_key", "agent_key_id", "agent_key_expires_at", "agent_key_expires_in",
|
|
29
|
+
"agent_key_reused", "agent_key_obtained_at", "tls",
|
|
30
|
+
)
|
|
31
|
+
TERMINAL = {"invalid_grant", "invalid_token", "refresh_token_reused", "nous_auth_missing_refresh_token"}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class Refusal(Exception):
|
|
35
|
+
def __init__(self, state="changed"):
|
|
36
|
+
self.state = state
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def text(value):
|
|
40
|
+
return isinstance(value, str) and 0 < len(value) <= 32768 and not re.search(r"[\x00-\x20\x7f]", value)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def canonical(value, expected):
|
|
44
|
+
return isinstance(value, str) and value.rstrip("/") == expected
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def claims(token):
|
|
48
|
+
if not text(token) or not re.fullmatch(r"[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+", token):
|
|
49
|
+
raise Refusal()
|
|
50
|
+
raw = token.split(".")[1]
|
|
51
|
+
value = json.loads(base64.urlsafe_b64decode(raw + "=" * (-len(raw) % 4)))
|
|
52
|
+
if not isinstance(value, dict):
|
|
53
|
+
raise Refusal()
|
|
54
|
+
return value
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def scope_values(value):
|
|
58
|
+
if isinstance(value, str):
|
|
59
|
+
return re.split(r"[\s,]+", value)
|
|
60
|
+
if isinstance(value, list):
|
|
61
|
+
return [part for item in value for part in scope_values(item)]
|
|
62
|
+
return []
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def identity(state):
|
|
66
|
+
if not isinstance(state, dict) or state.get("auth_method") == "anonymous" or state.get("account_tier") == "anonymous":
|
|
67
|
+
raise Refusal()
|
|
68
|
+
token = claims(state.get("access_token"))
|
|
69
|
+
if token.get("account_tier") == "anonymous" or any(not text(token.get(key)) for key in ("sub", "org_id", "iss")):
|
|
70
|
+
raise Refusal()
|
|
71
|
+
client = token.get("client_id", "")
|
|
72
|
+
if client is None:
|
|
73
|
+
client = ""
|
|
74
|
+
if client != "" and not text(client):
|
|
75
|
+
raise Refusal()
|
|
76
|
+
expiry = token.get("exp")
|
|
77
|
+
if isinstance(expiry, bool) or not isinstance(expiry, (int, float)) or not math.isfinite(expiry):
|
|
78
|
+
raise Refusal()
|
|
79
|
+
if "inference:invoke" not in (scope_values(state.get("scope")) + scope_values(token.get("scope")) + scope_values(token.get("scp"))):
|
|
80
|
+
raise Refusal()
|
|
81
|
+
if not canonical(state.get("portal_base_url"), PORTAL) or not canonical(state.get("inference_base_url"), INFERENCE):
|
|
82
|
+
raise Refusal()
|
|
83
|
+
native_client = state.get("client_id") or CLIENT
|
|
84
|
+
if not text(native_client):
|
|
85
|
+
raise Refusal()
|
|
86
|
+
key = ["hermes-nous-v1", token["sub"], token["org_id"], token["iss"], client, PORTAL, INFERENCE]
|
|
87
|
+
digest = hashlib.sha256(json.dumps(key, ensure_ascii=False, separators=(",", ":")).encode("utf-8")).hexdigest()
|
|
88
|
+
return digest, native_client, float(expiry)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def regular_file(path, *, optional=False):
|
|
92
|
+
try:
|
|
93
|
+
info = path.lstat()
|
|
94
|
+
except FileNotFoundError:
|
|
95
|
+
if optional:
|
|
96
|
+
return False
|
|
97
|
+
raise Refusal("unavailable")
|
|
98
|
+
if not stat.S_ISREG(info.st_mode) or info.st_nlink != 1 or info.st_size > MAX_FILE:
|
|
99
|
+
raise Refusal()
|
|
100
|
+
return True
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def read_json(path):
|
|
104
|
+
value = json.loads(read_private_text(path))
|
|
105
|
+
if not isinstance(value, dict):
|
|
106
|
+
raise Refusal()
|
|
107
|
+
return value
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def read_private_text(path):
|
|
111
|
+
regular_file(path)
|
|
112
|
+
fd = os.open(path, os.O_RDONLY | getattr(os, "O_NOFOLLOW", 0) | getattr(os, "O_NONBLOCK", 0))
|
|
113
|
+
with os.fdopen(fd, "rb") as stream:
|
|
114
|
+
opened = os.fstat(stream.fileno())
|
|
115
|
+
current = path.lstat()
|
|
116
|
+
if (not stat.S_ISREG(opened.st_mode) or opened.st_nlink != 1 or opened.st_size > MAX_FILE
|
|
117
|
+
or stat.S_ISLNK(current.st_mode) or (opened.st_dev, opened.st_ino) != (current.st_dev, current.st_ino)):
|
|
118
|
+
raise Refusal()
|
|
119
|
+
data = stream.read(MAX_FILE + 1)
|
|
120
|
+
if len(data) > MAX_FILE:
|
|
121
|
+
raise Refusal()
|
|
122
|
+
return data.decode("utf-8-sig")
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def check_configuration(home):
|
|
126
|
+
# The native entry has already loaded only this home's dotenv. Do not import
|
|
127
|
+
# main/config resolution, which can consult profiles or external sources.
|
|
128
|
+
import hermes_yaml as yaml
|
|
129
|
+
config_path = home / "config.yaml"
|
|
130
|
+
config = yaml.safe_load(read_private_text(config_path))
|
|
131
|
+
if not isinstance(config, dict) or not isinstance(config.get("model"), dict):
|
|
132
|
+
raise Refusal()
|
|
133
|
+
if (config.get("auth") or {}).get("adopt_external_logins") is not False:
|
|
134
|
+
raise Refusal()
|
|
135
|
+
model = config["model"]
|
|
136
|
+
if model.get("provider") != "nous" or (config.get("providers") or {}).get("nous", {}).get("enabled") is False:
|
|
137
|
+
raise Refusal()
|
|
138
|
+
if model.get("api_key") or model.get("extra_headers") or any(os.environ.get(k) for k in ("NOUS_API_KEY", "CUSTOM_API_KEY")):
|
|
139
|
+
raise Refusal()
|
|
140
|
+
if any(re.fullmatch(r"NOUS_API_KEY_\d+", k) and v for k, v in os.environ.items()):
|
|
141
|
+
raise Refusal()
|
|
142
|
+
for value in (model.get("base_url"), os.environ.get("NOUS_INFERENCE_BASE_URL"), os.environ.get("CUSTOM_BASE_URL")):
|
|
143
|
+
if value and not canonical(value, INFERENCE):
|
|
144
|
+
raise Refusal()
|
|
145
|
+
for name in ("NOUS_PORTAL_BASE_URL", "HERMES_PORTAL_BASE_URL"):
|
|
146
|
+
if os.environ.get(name) and not canonical(os.environ[name], PORTAL):
|
|
147
|
+
raise Refusal()
|
|
148
|
+
if model.get("api_mode") not in (None, "chat_completions", "anthropic_messages"):
|
|
149
|
+
raise Refusal()
|
|
150
|
+
if (config.get("nous") or {}).get("anthropic_wire", "chat") not in ("chat", "native", "auto"):
|
|
151
|
+
raise Refusal()
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def check_available(row):
|
|
155
|
+
if row.get("disabled") is True or row.get("status") == "exhausted" or row.get("last_status") == "dead":
|
|
156
|
+
raise Refusal("unavailable")
|
|
157
|
+
if row.get("last_status") == "exhausted":
|
|
158
|
+
until = row.get("last_error_reset_at")
|
|
159
|
+
if not isinstance(until, (int, float)) or isinstance(until, bool) or not math.isfinite(until) or until <= 0 or until > time.time():
|
|
160
|
+
raise Refusal("unavailable")
|
|
161
|
+
cooldowns = row.get("model_cooldowns", {})
|
|
162
|
+
if not isinstance(cooldowns, dict) or any(
|
|
163
|
+
isinstance(until, (int, float)) and not isinstance(until, bool) and until > time.time()
|
|
164
|
+
for until in cooldowns.values()
|
|
165
|
+
):
|
|
166
|
+
raise Refusal("unavailable")
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def checked_pool(store, state, expected):
|
|
170
|
+
if store.get("active_provider") != "nous" or state.get("agent_key") != state.get("access_token"):
|
|
171
|
+
raise Refusal()
|
|
172
|
+
if state.get("last_auth_error", {}).get("relogin_required") is True and not (state.get("access_token") or state.get("refresh_token")):
|
|
173
|
+
raise Refusal("relogin")
|
|
174
|
+
check_available(state)
|
|
175
|
+
rows = store.get("credential_pool", {}).get("nous")
|
|
176
|
+
if not isinstance(rows, list) or not 1 <= len(rows) <= 8:
|
|
177
|
+
raise Refusal()
|
|
178
|
+
for row in rows:
|
|
179
|
+
if not isinstance(row, dict) or row.get("auth_type") != "oauth" or row.get("source") not in ("device_code", "manual:device_code"):
|
|
180
|
+
raise Refusal()
|
|
181
|
+
if row.get("access_token") != state.get("access_token") or row.get("agent_key") != state.get("agent_key"):
|
|
182
|
+
raise Refusal()
|
|
183
|
+
if row.get("refresh_token") not in (None, state.get("refresh_token")):
|
|
184
|
+
raise Refusal()
|
|
185
|
+
for field, endpoint in (("portal_base_url", PORTAL), ("inference_base_url", INFERENCE), ("base_url", INFERENCE)):
|
|
186
|
+
if row.get(field) and not canonical(row[field], endpoint):
|
|
187
|
+
raise Refusal()
|
|
188
|
+
if (row.get("client_id") or CLIENT) != expected[1]:
|
|
189
|
+
raise Refusal()
|
|
190
|
+
check_available(row)
|
|
191
|
+
return rows
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def checked_shared(shared, expected):
|
|
195
|
+
if shared.get("_schema") != 1 or not text(shared.get("refresh_token")):
|
|
196
|
+
raise Refusal()
|
|
197
|
+
found = identity(shared)
|
|
198
|
+
if found[:2] != expected[:2]:
|
|
199
|
+
raise Refusal()
|
|
200
|
+
return found
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def _run(home, expected_digest, cancelled):
|
|
204
|
+
if not re.fullmatch(r"[a-f0-9]{64}", expected_digest or ""):
|
|
205
|
+
raise Refusal("unsupported")
|
|
206
|
+
from hermes_cli import auth
|
|
207
|
+
from hermes_constants import get_default_hermes_root
|
|
208
|
+
required = ("_provider_state_transaction", "_auth_file_path", "_nous_shared_store_path", "_nous_shared_store_lock",
|
|
209
|
+
"_save_provider_state_to_source", "_write_shared_nous_state", "_select_nous_invoke_jwt", "refresh_nous_oauth_from_state")
|
|
210
|
+
if any(not callable(getattr(auth, key, None)) for key in required):
|
|
211
|
+
raise Refusal("unsupported")
|
|
212
|
+
if "on_state_update" not in inspect.signature(auth.refresh_nous_oauth_from_state).parameters:
|
|
213
|
+
raise Refusal("unsupported")
|
|
214
|
+
home = Path(home)
|
|
215
|
+
if home != home.resolve() or not home.is_dir() or get_default_hermes_root().resolve() != home:
|
|
216
|
+
raise Refusal()
|
|
217
|
+
auth_path = home / "auth.json"
|
|
218
|
+
shared_path = auth._nous_shared_store_path()
|
|
219
|
+
if auth._auth_file_path().resolve() != auth_path or shared_path.parent != home / "shared" or shared_path.resolve() != shared_path:
|
|
220
|
+
raise Refusal()
|
|
221
|
+
if (home / "shared").exists() and not (home / "shared").is_dir():
|
|
222
|
+
raise Refusal()
|
|
223
|
+
check_configuration(home)
|
|
224
|
+
raw_ttl = os.environ.get("HERMES_NOUS_MIN_KEY_TTL_SECONDS", "120")
|
|
225
|
+
if not re.fullmatch(r"\d+", raw_ttl) or len(raw_ttl) > 9:
|
|
226
|
+
raise Refusal()
|
|
227
|
+
ttl = max(120, int(raw_ttl))
|
|
228
|
+
# Native cross-process ordering: auth first, shared second. No profile/global
|
|
229
|
+
# fallback or shared merge is allowed without the exact selected identity.
|
|
230
|
+
# Confirm the local provider exists before the native transaction can even
|
|
231
|
+
# consult a global fallback. Re-read under its lock to bind the snapshot.
|
|
232
|
+
if not isinstance(read_json(auth_path).get("providers", {}).get("nous"), dict):
|
|
233
|
+
raise Refusal()
|
|
234
|
+
with auth._provider_state_transaction("nous", timeout_seconds=1.0) as (store, state, source):
|
|
235
|
+
snapshot = read_json(auth_path)
|
|
236
|
+
if source is None or Path(source).resolve() != auth_path or not isinstance(store.get("providers", {}).get("nous"), dict):
|
|
237
|
+
raise Refusal()
|
|
238
|
+
if snapshot.get("providers", {}).get("nous") != state or snapshot.get("credential_pool") != store.get("credential_pool"):
|
|
239
|
+
raise Refusal()
|
|
240
|
+
check_configuration(home)
|
|
241
|
+
expected = identity(state)
|
|
242
|
+
if expected[0] != expected_digest:
|
|
243
|
+
raise Refusal()
|
|
244
|
+
rows = checked_pool(store, state, expected)
|
|
245
|
+
if cancelled[0]:
|
|
246
|
+
raise Refusal("unavailable")
|
|
247
|
+
with auth._nous_shared_store_lock(timeout_seconds=1.0):
|
|
248
|
+
shared = read_json(shared_path) if regular_file(shared_path, optional=True) else None
|
|
249
|
+
if shared is not None:
|
|
250
|
+
shared_identity = checked_shared(shared, expected)
|
|
251
|
+
different_pair = (shared.get("access_token"), shared.get("refresh_token")) != (state.get("access_token"), state.get("refresh_token"))
|
|
252
|
+
if different_pair and shared_identity[2] == expected[2]:
|
|
253
|
+
raise Refusal()
|
|
254
|
+
else:
|
|
255
|
+
shared_identity, different_pair = None, False
|
|
256
|
+
|
|
257
|
+
def persist(update, _reason=None):
|
|
258
|
+
nonlocal state
|
|
259
|
+
merged = {**state, **{key: update[key] for key in TOKEN_FIELDS if key in update}}
|
|
260
|
+
if identity(merged)[:2] != expected[:2]:
|
|
261
|
+
raise Refusal()
|
|
262
|
+
# Select only this already identity-checked invoke JWT. This has
|
|
263
|
+
# no network/I/O and keeps pool aliases consistent even if the
|
|
264
|
+
# pure refresher's later validation fails after token rotation.
|
|
265
|
+
auth._select_nous_invoke_jwt(merged)
|
|
266
|
+
if merged.get("agent_key") != merged.get("access_token"):
|
|
267
|
+
raise Refusal("unsupported")
|
|
268
|
+
for row in rows:
|
|
269
|
+
for key in TOKEN_FIELDS:
|
|
270
|
+
if key in merged:
|
|
271
|
+
row[key] = merged[key]
|
|
272
|
+
auth._save_provider_state_to_source(store, "nous", merged, source)
|
|
273
|
+
state = merged
|
|
274
|
+
# Native mirror is best-effort, so verify the saved pair before
|
|
275
|
+
# reporting ready. No outside-home store is ever touched.
|
|
276
|
+
auth._write_shared_nous_state(state)
|
|
277
|
+
saved = read_json(shared_path)
|
|
278
|
+
if checked_shared(saved, expected)[:2] != expected[:2] or any(saved.get(k) != state.get(k) for k in ("access_token", "refresh_token")):
|
|
279
|
+
raise Refusal("unavailable")
|
|
280
|
+
|
|
281
|
+
# A newer peer rotation for this exact principal/client/route may
|
|
282
|
+
# be adopted. Equal-expiry differing tokens are not a proven chain.
|
|
283
|
+
if different_pair and shared_identity[2] > expected[2]:
|
|
284
|
+
persist(shared)
|
|
285
|
+
elif different_pair:
|
|
286
|
+
# The selected store is provably newer. Repair this same-home,
|
|
287
|
+
# same-principal mirror before a native resolver can adopt its
|
|
288
|
+
# older single-use refresh token back into the selected store.
|
|
289
|
+
persist(state)
|
|
290
|
+
current = identity(state)
|
|
291
|
+
if current[2] > time.time() + ttl:
|
|
292
|
+
return "ready"
|
|
293
|
+
if not text(state.get("refresh_token")):
|
|
294
|
+
raise Refusal("relogin")
|
|
295
|
+
if cancelled[0]:
|
|
296
|
+
raise Refusal("unavailable")
|
|
297
|
+
refreshed = auth.refresh_nous_oauth_from_state(
|
|
298
|
+
state, timeout_seconds=4.0, force_refresh=True, on_state_update=persist)
|
|
299
|
+
persist(refreshed)
|
|
300
|
+
if identity(state)[2] <= time.time() + 120:
|
|
301
|
+
raise Refusal("unavailable")
|
|
302
|
+
return "unavailable" if cancelled[0] else "ready"
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
def refresh_selected_nous(home, expected_digest):
|
|
306
|
+
"""Fixed safe receipt only. Exceptions and logs never cross the boundary."""
|
|
307
|
+
cancelled = [False]
|
|
308
|
+
handlers = {}
|
|
309
|
+
def on_cancel(_signal, _frame):
|
|
310
|
+
# Do not interrupt a successful single-use token exchange before its
|
|
311
|
+
# callback saves the rotation. Host must also await this bounded child
|
|
312
|
+
# on Windows, where Job termination cannot be deferred by Python.
|
|
313
|
+
cancelled[0] = True
|
|
314
|
+
for number in (signal.SIGTERM, signal.SIGINT):
|
|
315
|
+
handlers[number] = signal.signal(number, on_cancel)
|
|
316
|
+
old_disable = logging.root.manager.disable
|
|
317
|
+
try:
|
|
318
|
+
with open(os.devnull, "w") as quiet, contextlib.redirect_stdout(quiet), contextlib.redirect_stderr(quiet):
|
|
319
|
+
logging.disable(logging.CRITICAL)
|
|
320
|
+
try:
|
|
321
|
+
return _run(home, expected_digest, cancelled)
|
|
322
|
+
except Refusal as error:
|
|
323
|
+
return error.state
|
|
324
|
+
except Exception as error:
|
|
325
|
+
if getattr(error, "code", None) in TERMINAL and bool(getattr(error, "relogin_required", False)):
|
|
326
|
+
return "relogin"
|
|
327
|
+
return "unavailable"
|
|
328
|
+
finally:
|
|
329
|
+
logging.disable(old_disable)
|
|
330
|
+
for number, handler in handlers.items():
|
|
331
|
+
signal.signal(number, handler)
|
|
@@ -28,7 +28,9 @@ export interface HermesNousSource {
|
|
|
28
28
|
}
|
|
29
29
|
/** Hermes 6c80c327: flat providers.nous, native device-code pool and invoke JWT.
|
|
30
30
|
* No refresh-only, guest, fallback store or different pooled principal is promoted. */
|
|
31
|
-
export declare function projectHermesNousSource(auth: any, minTtlSeconds?: number
|
|
31
|
+
export declare function projectHermesNousSource(auth: any, minTtlSeconds?: number, options?: {
|
|
32
|
+
allowExpired?: boolean;
|
|
33
|
+
}): HermesNousSource;
|
|
32
34
|
export declare function hermesNousMinimumTtl(env: Record<string, string>): number;
|
|
33
35
|
/** Runtime uses its supported MIN_KEY_TTL override (120s), matching the native
|
|
34
36
|
* invoke-JWT skew. The native default 1800s is a proactive-refresh optimization,
|
|
@@ -37,6 +39,8 @@ export declare function selectHermesNousSource(material: {
|
|
|
37
39
|
config: any;
|
|
38
40
|
auth: any;
|
|
39
41
|
env: Record<string, string>;
|
|
42
|
+
}, options?: {
|
|
43
|
+
allowExpired?: boolean;
|
|
40
44
|
}): HermesNousSource;
|
|
41
45
|
export declare function hermesNousEfforts(home: string, source: HermesNousSource, model: string): Effort[];
|
|
42
46
|
export declare function beginHermesNousCapabilities(home: string, source: HermesNousSource): symbol;
|
|
@@ -45,13 +45,13 @@ function unavailable(row) {
|
|
|
45
45
|
}
|
|
46
46
|
/** Hermes 6c80c327: flat providers.nous, native device-code pool and invoke JWT.
|
|
47
47
|
* No refresh-only, guest, fallback store or different pooled principal is promoted. */
|
|
48
|
-
export function projectHermesNousSource(auth, minTtlSeconds = 0) {
|
|
48
|
+
export function projectHermesNousSource(auth, minTtlSeconds = 0, options = {}) {
|
|
49
49
|
const state = auth?.providers?.nous;
|
|
50
50
|
if (!object(state) ||
|
|
51
51
|
auth.active_provider !== 'nous' ||
|
|
52
52
|
state.auth_method === 'anonymous' ||
|
|
53
53
|
state.account_tier === 'anonymous' ||
|
|
54
|
-
state.last_auth_error?.relogin_required === true ||
|
|
54
|
+
(state.last_auth_error?.relogin_required === true && !state.access_token && !state.refresh_token) ||
|
|
55
55
|
unavailable(state))
|
|
56
56
|
invalid();
|
|
57
57
|
const access = state.access_token, agentKey = state.agent_key;
|
|
@@ -67,7 +67,7 @@ export function projectHermesNousSource(auth, minTtlSeconds = 0) {
|
|
|
67
67
|
!Number.isFinite(token.exp) ||
|
|
68
68
|
![...scopes(state.scope), ...scopes(token.scope), ...scopes(token.scp)].includes('inference:invoke'))
|
|
69
69
|
invalid();
|
|
70
|
-
if (token.exp * 1000 <= Date.now() + minTtlSeconds * 1000)
|
|
70
|
+
if (!options.allowExpired && token.exp * 1000 <= Date.now() + minTtlSeconds * 1000)
|
|
71
71
|
throw new HermesNousError('Nous 登录即将过期或已过期,请在 Hermes 登录设置中重新登录');
|
|
72
72
|
if (!canonical(state.portal_base_url, NOUS_PORTAL) || !canonical(state.inference_base_url, NOUS_INFERENCE))
|
|
73
73
|
throw new HermesNousError('Nous 当前路由暂不支持账号模型查询');
|
|
@@ -111,7 +111,7 @@ export function hermesNousMinimumTtl(env) {
|
|
|
111
111
|
/** Runtime uses its supported MIN_KEY_TTL override (120s), matching the native
|
|
112
112
|
* invoke-JWT skew. The native default 1800s is a proactive-refresh optimization,
|
|
113
113
|
* not invalid-account evidence. An explicit own-home setting still takes precedence. */
|
|
114
|
-
export function selectHermesNousSource(material) {
|
|
114
|
+
export function selectHermesNousSource(material, options = {}) {
|
|
115
115
|
const { config, auth, env } = material;
|
|
116
116
|
const cfg = config.model;
|
|
117
117
|
if (!object(cfg) || cfg.provider !== 'nous' || config.providers?.nous?.enabled === false)
|
|
@@ -127,7 +127,7 @@ export function selectHermesNousSource(material) {
|
|
|
127
127
|
[env.NOUS_PORTAL_BASE_URL, env.HERMES_PORTAL_BASE_URL].some((url) => url && !canonical(url, NOUS_PORTAL)) ||
|
|
128
128
|
(cfg.api_mode && !['chat_completions', 'anthropic_messages'].includes(cfg.api_mode)))
|
|
129
129
|
throw new HermesNousError('Nous 当前路由暂不支持账号模型查询');
|
|
130
|
-
const source = projectHermesNousSource(auth, hermesNousMinimumTtl(env));
|
|
130
|
+
const source = projectHermesNousSource(auth, hermesNousMinimumTtl(env), options);
|
|
131
131
|
const wire = config.nous?.anthropic_wire ?? 'chat';
|
|
132
132
|
if (!['chat', 'native', 'auto'].includes(wire))
|
|
133
133
|
throw new HermesNousError('Nous 当前路由暂不支持账号模型查询');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-nous.js","sourceRoot":"","sources":["../../../src/host/hermes-nous.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-nous.js","sourceRoot":"","sources":["../../../src/host/hermes-nous.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { HermesNousError, type HermesNousSource } from './hermes-nous.ts';
|
|
2
|
+
import { type ProcessBackend } from './process.ts';
|
|
3
|
+
type Failure = 'relogin' | 'unavailable' | 'changed' | 'unsupported' | 'busy';
|
|
4
|
+
export declare class HermesRenewalError extends HermesNousError {
|
|
5
|
+
readonly state: Failure;
|
|
6
|
+
constructor(state: Failure);
|
|
7
|
+
}
|
|
8
|
+
export interface HermesRenewalContext {
|
|
9
|
+
backend: ProcessBackend;
|
|
10
|
+
signal: AbortSignal;
|
|
11
|
+
graceMs?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface HermesRenewalInput {
|
|
14
|
+
home: string;
|
|
15
|
+
signal: AbortSignal;
|
|
16
|
+
backend?: ProcessBackend;
|
|
17
|
+
executable?: string;
|
|
18
|
+
resolveExecutable?: (signal: AbortSignal) => Promise<string>;
|
|
19
|
+
graceMs?: number;
|
|
20
|
+
}
|
|
21
|
+
/** No bearer, refresh token or email enters the command line or public result. */
|
|
22
|
+
export declare function hermesNousPrincipalDigest(source: HermesNousSource): string;
|
|
23
|
+
/** Share only an in-flight renewal, never a completed authorization decision. */
|
|
24
|
+
export declare function ensureHermesNousFresh(input: HermesRenewalInput): Promise<void>;
|
|
25
|
+
/** Hold until the account terminal's entire managed range has exited. */
|
|
26
|
+
export declare function reserveHermesAccount(home: string, signal: AbortSignal): Promise<() => void>;
|
|
27
|
+
export {};
|