pi-mcp-adapter 2.36.0 → 2.37.0

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.
@@ -1,8 +1,7 @@
1
1
  import { TypeSafeClient } from "@typesafe-ai/sdk";
2
2
  import { isServerDisabled } from "./types.js";
3
3
  import { combineAbortSignals } from "./runtime-owner.js";
4
- import { resolveJevCredential, TYPESAFE_API_ORIGIN } from "./jev-key-store.js";
5
- export { TYPESAFE_API_ORIGIN };
4
+ import { JEV_SDK_PATH, resolveJevCredential, resolveJevEndpoint } from "./jev-key-store.js";
6
5
  const DEFAULTS = {
7
6
  semanticSearch: false, scriptEvaluation: false, allowedServers: [], model: "jev-1.13.0",
8
7
  requestTimeoutMs: 5_000, maxRetries: 0, maxStateBytes: 262_144,
@@ -13,15 +12,23 @@ const DEFAULTS = {
13
12
  const DANGEROUS_KEYS = new Set(["__proto__", "constructor", "prototype"]);
14
13
  const hosts = new WeakMap();
15
14
  const credentials = new WeakMap();
16
- function resolveCredential(state) {
15
+ /**
16
+ * Cached per endpoint so a changed `SYSTEMONE_ENDPOINT` cannot reuse another provider's credential. Callers
17
+ * re-resolve the endpoint on every operation so a switched or newly invalid endpoint takes effect immediately.
18
+ */
19
+ function resolveCredential(state, endpoint) {
17
20
  const existing = credentials.get(state);
18
- if (existing)
19
- return existing;
20
- const credential = resolveJevCredential();
21
+ if (existing && existing.endpoint === endpoint.href)
22
+ return existing.credential;
23
+ const credential = resolveJevCredential(process.env, endpoint);
21
24
  if (credential.status === "present")
22
- credentials.set(state, credential);
25
+ credentials.set(state, { endpoint: endpoint.href, credential });
23
26
  return credential;
24
27
  }
28
+ function credentialForState(state) {
29
+ const resolution = resolveJevEndpoint();
30
+ return resolution.status === "unavailable" ? resolution : resolveCredential(state, resolution.endpoint);
31
+ }
25
32
  export function areJevSourcesAllowed(state, settings, sources) {
26
33
  for (const source of sources) {
27
34
  const server = state.config.mcpServers[source];
@@ -89,7 +96,7 @@ export function resolveSemanticJevSettings(state, credentialResolver) {
89
96
  const settings = validateJevSettings(configured);
90
97
  if (configured === false || configured?.semanticSearch === false)
91
98
  return settings;
92
- const semanticSearch = settings.semanticSearch || (credentialResolver ? credentialResolver() : resolveCredential(state)).status === "present";
99
+ const semanticSearch = settings.semanticSearch || (credentialResolver ? credentialResolver() : credentialForState(state)).status === "present";
93
100
  const hasExplicitAllowlist = configured !== undefined && Object.hasOwn(configured, "allowedServers");
94
101
  const allowedServers = hasExplicitAllowlist
95
102
  ? settings.allowedServers
@@ -256,44 +263,64 @@ function validateResponse(value, input) {
256
263
  throw new Error("Invalid response usage");
257
264
  return { answers: validated, model: response.model, usage: { inputTokens: safeNumber(usage.input_tokens, "input tokens", true), outputTokens: safeNumber(usage.output_tokens, "output tokens", true) } };
258
265
  }
259
- function fixedOriginFetch(input, init) {
260
- const url = new URL(input);
261
- if (url.origin !== TYPESAFE_API_ORIGIN)
262
- throw new Error("TypeSafe request origin rejected");
263
- return fetch(input, { ...init, redirect: "error" });
266
+ /**
267
+ * Pins every request to the configured endpoint: the SDK appends its own fixed path to the base URL, so this
268
+ * rewrites that path onto the configured one and then rejects anything that does not match the endpoint exactly.
269
+ * Redirects stay refused, so a provider cannot bounce a request carrying the API key somewhere else.
270
+ */
271
+ function createPinnedEndpointFetch(endpoint) {
272
+ return (input, init) => {
273
+ // A replacer function keeps `$&`, `$$`, and friends in the configured path literal.
274
+ const target = input.replace(JEV_SDK_PATH, () => endpoint.path);
275
+ const url = new URL(target);
276
+ if (url.origin !== endpoint.origin || url.pathname !== endpoint.path || url.search !== "" || url.hash !== "") {
277
+ throw new Error("Jev request endpoint rejected");
278
+ }
279
+ return fetch(target, { ...init, redirect: "error" });
280
+ };
264
281
  }
265
282
  function getHost(state, settings) {
283
+ const resolution = resolveJevEndpoint();
284
+ if (resolution.status === "unavailable")
285
+ return { ok: false, error: { code: "endpoint_unavailable", message: resolution.message } };
286
+ const { endpoint } = resolution;
266
287
  const existing = hosts.get(state);
267
- if (existing)
288
+ if (existing && existing.endpoint.href === endpoint.href)
268
289
  return existing;
269
- const credential = resolveCredential(state);
290
+ const credential = resolveCredential(state, endpoint);
270
291
  if (credential.status === "missing")
271
- return { ok: false, error: { code: "credential_missing", message: "TypeSafe API key is not configured." } };
292
+ return { ok: false, error: { code: "credential_missing", message: "Jev API key is not configured." } };
272
293
  if (credential.status === "unavailable")
273
294
  return { ok: false, error: { code: "credential_unavailable", message: credential.message } };
274
- const host = { client: new TypeSafeClient({ apiKey: credential.apiKey, baseURL: TYPESAFE_API_ORIGIN, defaultModel: settings.model, logLevel: "off", retry: { maxRetries: settings.maxRetries }, timeout: settings.requestTimeoutMs, defaultHeaders: {}, fetch: fixedOriginFetch }) };
295
+ const host = { endpoint, client: new TypeSafeClient({ apiKey: credential.apiKey, baseURL: endpoint.origin, defaultModel: settings.model, logLevel: "off", retry: { maxRetries: settings.maxRetries }, timeout: settings.requestTimeoutMs, defaultHeaders: {}, fetch: createPinnedEndpointFetch(endpoint) }) };
275
296
  hosts.set(state, host);
276
297
  return host;
277
298
  }
278
299
  function failure(error, signal, timedOut) {
279
300
  if (timedOut)
280
- return { ok: false, error: { code: "timeout", message: "TypeSafe evaluation timed out.", retryable: true } };
301
+ return { ok: false, error: { code: "timeout", message: "Jev evaluation timed out.", retryable: true } };
281
302
  if (signal?.aborted || (error instanceof Error && error.name === "APIUserAbortError"))
282
- return { ok: false, error: { code: "aborted", message: "TypeSafe evaluation was aborted." } };
303
+ return { ok: false, error: { code: "aborted", message: "Jev evaluation was aborted." } };
304
+ // Provider and gateway bodies are never echoed; only the status is used to classify the failure.
283
305
  const status = typeof error === "object" && error !== null && "status" in error ? error.status : undefined;
284
306
  if (status === 401 || status === 403)
285
- return { ok: false, error: { code: "authentication_failed", message: "TypeSafe authentication failed." } };
307
+ return { ok: false, error: { code: "authentication_failed", message: "Jev authentication failed." } };
308
+ if (status === 402)
309
+ return { ok: false, error: { code: "payment_required", message: "Jev provider requires payment for this account." } };
310
+ // A configurable endpoint makes a wrong path a configuration error, not a malformed response.
311
+ if (status === 404 || status === 405 || status === 410)
312
+ return { ok: false, error: { code: "endpoint_unavailable", message: "Jev endpoint was not found; check SYSTEMONE_ENDPOINT." } };
286
313
  if (status === 408)
287
- return { ok: false, error: { code: "timeout", message: "TypeSafe evaluation timed out.", retryable: true } };
314
+ return { ok: false, error: { code: "timeout", message: "Jev evaluation timed out.", retryable: true } };
288
315
  if (status === 429)
289
- return { ok: false, error: { code: "rate_limited", message: "TypeSafe rate limit exceeded.", retryable: true } };
316
+ return { ok: false, error: { code: "rate_limited", message: "Jev rate limit exceeded.", retryable: true } };
290
317
  if (typeof status === "number" && status >= 500)
291
- return { ok: false, error: { code: "service_unavailable", message: "TypeSafe service is unavailable.", retryable: true } };
292
- if (status === 400 || status === 422)
293
- return { ok: false, error: { code: "invalid_request", message: "TypeSafe rejected the evaluation request." } };
318
+ return { ok: false, error: { code: "service_unavailable", message: "Jev service is unavailable.", retryable: true } };
319
+ if (typeof status === "number" && status >= 400)
320
+ return { ok: false, error: { code: "invalid_request", message: `Jev rejected the evaluation request (HTTP ${status}).` } };
294
321
  if (error instanceof Error && (error.name === "APIConnectionError" || error.name === "APITimeoutError"))
295
- return { ok: false, error: { code: "service_unavailable", message: "TypeSafe service is unavailable.", retryable: true } };
296
- return { ok: false, error: { code: "invalid_response", message: "TypeSafe returned an invalid response." } };
322
+ return { ok: false, error: { code: "service_unavailable", message: "Jev service is unavailable.", retryable: true } };
323
+ return { ok: false, error: { code: "invalid_response", message: "Jev returned an invalid response." } };
297
324
  }
298
325
  export async function evaluateJev(state, value, options) {
299
326
  let settings;
@@ -303,22 +330,22 @@ export async function evaluateJev(state, value, options) {
303
330
  input = validateJevEvaluateInput(value, settings);
304
331
  }
305
332
  catch {
306
- return { ok: false, error: { code: "invalid_request", message: "Invalid TypeSafe evaluation request or settings." } };
333
+ return { ok: false, error: { code: "invalid_request", message: "Invalid Jev evaluation request or settings." } };
307
334
  }
308
335
  if ((options.purpose === "script" && !settings.scriptEvaluation) || (options.purpose === "semantic-search" && !settings.semanticSearch))
309
- return { ok: false, error: { code: "disabled", message: "TypeSafe evaluation is disabled." } };
336
+ return { ok: false, error: { code: "disabled", message: "Jev evaluation is disabled." } };
310
337
  const sources = new Set([...(input.sources ?? []), ...(options.observedSources ?? [])]);
311
338
  if (!areJevSourcesAllowed(state, settings, sources))
312
339
  return { ok: false, error: { code: "data_policy_denied", message: "Evaluation sources are not allowed by policy." } };
313
340
  const bytes = Buffer.byteLength(JSON.stringify(input));
314
341
  if (options.budget && !options.budget.consume(bytes))
315
- return { ok: false, error: { code: "budget_exhausted", message: "TypeSafe evaluation budget exhausted." } };
342
+ return { ok: false, error: { code: "budget_exhausted", message: "Jev evaluation budget exhausted." } };
316
343
  const resolved = getHost(state, settings);
317
344
  if (!("client" in resolved))
318
345
  return resolved;
319
346
  const deadline = new AbortController();
320
347
  let timedOut = false;
321
- const timer = setTimeout(() => { timedOut = true; deadline.abort(new Error("TypeSafe evaluation deadline exceeded")); }, settings.requestTimeoutMs);
348
+ const timer = setTimeout(() => { timedOut = true; deadline.abort(new Error("Jev evaluation deadline exceeded")); }, settings.requestTimeoutMs);
322
349
  const signal = combineAbortSignals(options.signal, state.owner.signal, deadline.signal);
323
350
  try {
324
351
  const request = { state: input.state, questions: input.questions, model: settings.model };
@@ -327,7 +354,7 @@ export async function evaluateJev(state, value, options) {
327
354
  return { ok: true, data: validateResponse(raw, input) };
328
355
  }
329
356
  catch {
330
- return { ok: false, error: { code: "invalid_response", message: "TypeSafe returned an invalid response." } };
357
+ return { ok: false, error: { code: "invalid_response", message: "Jev returned an invalid response." } };
331
358
  }
332
359
  }
333
360
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"jev-client.js","sourceRoot":"","sources":["../jev-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jev-client.js","sourceRoot":"","sources":["../jev-client.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export interface JevEvaluationData {
45
45
  outputTokens: number;
46
46
  };
47
47
  }
48
- export type JevErrorCode = "disabled" | "invalid_request" | "data_policy_denied" | "budget_exhausted" | "credential_missing" | "credential_unavailable" | "authentication_failed" | "timeout" | "aborted" | "rate_limited" | "service_unavailable" | "invalid_response";
48
+ export type JevErrorCode = "disabled" | "invalid_request" | "data_policy_denied" | "budget_exhausted" | "endpoint_unavailable" | "credential_missing" | "credential_unavailable" | "authentication_failed" | "payment_required" | "timeout" | "aborted" | "rate_limited" | "service_unavailable" | "invalid_response";
49
49
  export type JevEvaluationEnvelope = {
50
50
  ok: true;
51
51
  data: JevEvaluationData;
@@ -1,7 +1,29 @@
1
1
  import { type SecureKeyringStore } from "./secure-keyring.ts";
2
+ /** The Jev decisions endpoint used when `SYSTEMONE_ENDPOINT` is not set. */
3
+ export declare const JEV_DEFAULT_ENDPOINT = "https://api.typesafe.ai/v1/systemone";
4
+ /** Origin recorded in version 1 credential records. */
2
5
  export declare const TYPESAFE_API_ORIGIN = "https://api.typesafe.ai";
3
- export declare const JEV_KEYRING_SERVICE = "pi-mcp-adapter.service-key";
6
+ /** Version 1 credential account, still read for the default endpoint. */
4
7
  export declare const JEV_KEYRING_ACCOUNT = "typesafe@sha256(https://api.typesafe.ai)";
8
+ export declare const JEV_KEYRING_SERVICE = "pi-mcp-adapter.service-key";
9
+ /** The path `@typesafe-ai/sdk` appends to whatever base URL it is given. */
10
+ export declare const JEV_SDK_PATH = "/v1/systemone";
11
+ export interface ResolvedJevEndpoint {
12
+ /** Canonical absolute URL sent to the provider, for example `https://opencode.ai/zen/v1/systemone`. */
13
+ readonly href: string;
14
+ /** URL origin, used as the SDK base URL. */
15
+ readonly origin: string;
16
+ /** URL path, rewritten onto the SDK's fixed path by the pinned fetch. */
17
+ readonly path: string;
18
+ }
19
+ export type JevEndpointResolution = {
20
+ status: "resolved";
21
+ source: "environment" | "default";
22
+ endpoint: ResolvedJevEndpoint;
23
+ } | {
24
+ status: "unavailable";
25
+ message: string;
26
+ };
5
27
  export declare class JevCredentialStoreError extends Error {
6
28
  readonly operation: "read" | "write" | "remove";
7
29
  readonly code = "JEV_CREDENTIAL_STORE_UNAVAILABLE";
@@ -17,6 +39,13 @@ export type JevCredentialResolution = {
17
39
  status: "unavailable";
18
40
  message: string;
19
41
  };
20
- export declare function resolveJevCredential(env?: NodeJS.ProcessEnv, secretStore?: SecureKeyringStore): JevCredentialResolution;
21
- export declare function saveJevApiKey(apiKey: string, secretStore?: SecureKeyringStore): void;
22
- export declare function removeJevApiKey(secretStore?: SecureKeyringStore): void;
42
+ /**
43
+ * Resolves the Jev endpoint. An invalid `SYSTEMONE_ENDPOINT` resolves to `unavailable` instead of silently falling
44
+ * back to the default: sending an operator's judgment payload to a provider they did not ask for would be a data leak.
45
+ */
46
+ export declare function resolveJevEndpoint(env?: NodeJS.ProcessEnv): JevEndpointResolution;
47
+ /** Keyring account for an endpoint, so keys for different providers coexist instead of overwriting each other. */
48
+ export declare function jevKeyringAccount(endpoint: ResolvedJevEndpoint): string;
49
+ export declare function resolveJevCredential(env?: NodeJS.ProcessEnv, endpoint?: ResolvedJevEndpoint, secretStore?: SecureKeyringStore): JevCredentialResolution;
50
+ export declare function saveJevApiKey(apiKey: string, endpoint?: ResolvedJevEndpoint, secretStore?: SecureKeyringStore): void;
51
+ export declare function removeJevApiKey(endpoint?: ResolvedJevEndpoint, secretStore?: SecureKeyringStore): void;
@@ -1,82 +1,202 @@
1
1
  import { createSecureKeyringStore } from "./secure-keyring.js";
2
+ /** The Jev decisions endpoint used when `SYSTEMONE_ENDPOINT` is not set. */
3
+ export const JEV_DEFAULT_ENDPOINT = "https://api.typesafe.ai/v1/systemone";
4
+ const SYSTEMONE_ENDPOINT_ENV = "SYSTEMONE_ENDPOINT";
5
+ const SYSTEMONE_API_KEY_ENV = "SYSTEMONE_API_KEY";
6
+ /** TypeSafe-issued key: honored only for the default endpoint and never sent anywhere else. */
7
+ const LEGACY_TYPESAFE_API_KEY_ENV = "TYPESAFE_API_KEY";
8
+ /** Origin recorded in version 1 credential records. */
2
9
  export const TYPESAFE_API_ORIGIN = "https://api.typesafe.ai";
3
- export const JEV_KEYRING_SERVICE = "pi-mcp-adapter.service-key";
10
+ /** Version 1 credential account, still read for the default endpoint. */
4
11
  export const JEV_KEYRING_ACCOUNT = "typesafe@sha256(https://api.typesafe.ai)";
12
+ export const JEV_KEYRING_SERVICE = "pi-mcp-adapter.service-key";
13
+ const MAX_ENDPOINT_LENGTH = 512;
14
+ /** The path `@typesafe-ai/sdk` appends to whatever base URL it is given. */
15
+ export const JEV_SDK_PATH = "/v1/systemone";
5
16
  export class JevCredentialStoreError extends Error {
6
17
  operation;
7
18
  code = "JEV_CREDENTIAL_STORE_UNAVAILABLE";
8
19
  constructor(operation, cause) {
9
- super(`TypeSafe API key secure credential store unavailable during ${operation}. Configure or unlock the OS credential store and retry.`, { cause });
20
+ super(`Jev API key secure credential store unavailable during ${operation}. Configure or unlock the OS credential store and retry.`, { cause });
10
21
  this.operation = operation;
11
22
  this.name = "JevCredentialStoreError";
12
23
  }
13
24
  }
14
25
  function validateApiKey(value) {
15
26
  if (typeof value !== "string" || value.trim().length === 0 || /[\u0000-\u001f\u007f]/.test(value)) {
16
- throw new Error("TypeSafe API key must be a non-empty string without control characters");
27
+ throw new Error("Jev API key must be a non-empty string without control characters");
17
28
  }
18
29
  return value;
19
30
  }
31
+ /**
32
+ * Constrains the operator-supplied endpoint to an absolute HTTPS URL without credentials, query, or fragment, so
33
+ * the pinned fetch can match it exactly and a stray value cannot redirect requests or smuggle a query string.
34
+ */
35
+ function parseEndpoint(raw, label) {
36
+ if (typeof raw !== "string" || raw.trim().length === 0)
37
+ throw new Error(`${label} must be a non-empty URL`);
38
+ if (raw.length > MAX_ENDPOINT_LENGTH)
39
+ throw new Error(`${label} must be at most ${MAX_ENDPOINT_LENGTH} characters`);
40
+ if (/[\u0000-\u001f\u007f\s]/.test(raw))
41
+ throw new Error(`${label} must not contain whitespace or control characters`);
42
+ let url;
43
+ try {
44
+ url = new URL(raw);
45
+ }
46
+ catch {
47
+ throw new Error(`${label} must be an absolute URL`);
48
+ }
49
+ if (url.protocol !== "https:")
50
+ throw new Error(`${label} must use https`);
51
+ if (url.username !== "" || url.password !== "")
52
+ throw new Error(`${label} must not embed credentials`);
53
+ if (url.search !== "")
54
+ throw new Error(`${label} must not include a query string`);
55
+ if (url.hash !== "")
56
+ throw new Error(`${label} must not include a fragment`);
57
+ if (url.pathname === "" || url.pathname === "/")
58
+ throw new Error(`${label} must include a path such as ${JEV_SDK_PATH}`);
59
+ return { href: `${url.origin}${url.pathname}`, origin: url.origin, path: url.pathname };
60
+ }
61
+ /**
62
+ * Resolves the Jev endpoint. An invalid `SYSTEMONE_ENDPOINT` resolves to `unavailable` instead of silently falling
63
+ * back to the default: sending an operator's judgment payload to a provider they did not ask for would be a data leak.
64
+ */
65
+ export function resolveJevEndpoint(env = process.env) {
66
+ if (Object.hasOwn(env, SYSTEMONE_ENDPOINT_ENV)) {
67
+ try {
68
+ return { status: "resolved", source: "environment", endpoint: parseEndpoint(env[SYSTEMONE_ENDPOINT_ENV], SYSTEMONE_ENDPOINT_ENV) };
69
+ }
70
+ catch (error) {
71
+ return { status: "unavailable", message: error instanceof Error ? error.message : `${SYSTEMONE_ENDPOINT_ENV} is invalid.` };
72
+ }
73
+ }
74
+ return { status: "resolved", source: "default", endpoint: parseEndpoint(JEV_DEFAULT_ENDPOINT, "the default Jev endpoint") };
75
+ }
76
+ /** Keyring account for an endpoint, so keys for different providers coexist instead of overwriting each other. */
77
+ export function jevKeyringAccount(endpoint) {
78
+ return `systemone@sha256(${endpoint.href})`;
79
+ }
20
80
  function store() {
21
81
  return createSecureKeyringStore(JEV_KEYRING_SERVICE);
22
82
  }
23
- function readStoredKey(secretStore = store()) {
24
- let payload;
83
+ function requireEndpoint(endpoint) {
84
+ if (endpoint)
85
+ return endpoint;
86
+ const resolution = resolveJevEndpoint();
87
+ if (resolution.status === "unavailable")
88
+ throw new Error(resolution.message);
89
+ return resolution.endpoint;
90
+ }
91
+ /**
92
+ * Version 1 records were written before the endpoint was configurable, so they are accepted only for the default
93
+ * endpoint.
94
+ */
95
+ function parseStoredKey(payload, endpoint) {
96
+ let value;
25
97
  try {
26
- payload = secretStore.read(JEV_KEYRING_ACCOUNT);
98
+ value = JSON.parse(payload);
27
99
  }
28
- catch (error) {
29
- throw new JevCredentialStoreError("read", error);
100
+ catch {
101
+ throw new Error("invalid record");
30
102
  }
31
- if (payload === undefined)
32
- return undefined;
33
- try {
34
- const value = JSON.parse(payload);
35
- if (!value || typeof value !== "object" || Array.isArray(value))
36
- throw new Error("invalid record");
37
- const record = value;
38
- const keys = Object.keys(record);
103
+ if (!value || typeof value !== "object" || Array.isArray(value))
104
+ throw new Error("invalid record");
105
+ const record = value;
106
+ const keys = Object.keys(record);
107
+ if (record.version === 2) {
108
+ if (keys.length !== 3 || !["version", "endpoint", "apiKey"].every(key => Object.hasOwn(record, key)))
109
+ throw new Error("invalid record fields");
110
+ if (record.endpoint !== endpoint.href)
111
+ throw new Error("invalid or mismatched record");
112
+ return validateApiKey(record.apiKey);
113
+ }
114
+ if (record.version === 1) {
39
115
  if (keys.length !== 4 || !["version", "provider", "origin", "apiKey"].every(key => Object.hasOwn(record, key)))
40
116
  throw new Error("invalid record fields");
41
- if (record.version !== 1 || record.provider !== "typesafe" || record.origin !== TYPESAFE_API_ORIGIN)
117
+ if (record.provider !== "typesafe" || record.origin !== TYPESAFE_API_ORIGIN)
118
+ throw new Error("invalid or mismatched record");
119
+ if (endpoint.href !== JEV_DEFAULT_ENDPOINT)
42
120
  throw new Error("invalid or mismatched record");
43
121
  return validateApiKey(record.apiKey);
44
122
  }
123
+ throw new Error("invalid record version");
124
+ }
125
+ function readStoredKey(secretStore, endpoint) {
126
+ try {
127
+ let payload = secretStore.read(jevKeyringAccount(endpoint));
128
+ if (payload === undefined && endpoint.href === JEV_DEFAULT_ENDPOINT)
129
+ payload = secretStore.read(JEV_KEYRING_ACCOUNT);
130
+ return payload === undefined ? undefined : parseStoredKey(payload, endpoint);
131
+ }
45
132
  catch (error) {
46
133
  throw new JevCredentialStoreError("read", error);
47
134
  }
48
135
  }
49
- export function resolveJevCredential(env = process.env, secretStore) {
50
- if (Object.hasOwn(env, "TYPESAFE_API_KEY")) {
136
+ export function resolveJevCredential(env = process.env, endpoint, secretStore = store()) {
137
+ let target;
138
+ if (endpoint)
139
+ target = endpoint;
140
+ else {
141
+ const resolution = resolveJevEndpoint(env);
142
+ if (resolution.status === "unavailable")
143
+ return resolution;
144
+ target = resolution.endpoint;
145
+ }
146
+ if (Object.hasOwn(env, SYSTEMONE_API_KEY_ENV)) {
51
147
  try {
52
- return { status: "present", source: "environment", apiKey: validateApiKey(env.TYPESAFE_API_KEY) };
148
+ return { status: "present", source: "environment", apiKey: validateApiKey(env[SYSTEMONE_API_KEY_ENV]) };
53
149
  }
54
150
  catch {
55
- return { status: "unavailable", message: "TYPESAFE_API_KEY is present but invalid." };
151
+ return { status: "unavailable", message: `${SYSTEMONE_API_KEY_ENV} is present but invalid.` };
56
152
  }
57
153
  }
154
+ const legacySet = Object.hasOwn(env, LEGACY_TYPESAFE_API_KEY_ENV);
155
+ if (legacySet && target.href === JEV_DEFAULT_ENDPOINT) {
156
+ try {
157
+ return { status: "present", source: "environment", apiKey: validateApiKey(env[LEGACY_TYPESAFE_API_KEY_ENV]) };
158
+ }
159
+ catch {
160
+ return { status: "unavailable", message: `${LEGACY_TYPESAFE_API_KEY_ENV} is present but invalid.` };
161
+ }
162
+ }
163
+ let stored;
58
164
  try {
59
- const apiKey = readStoredKey(secretStore ?? store());
60
- return apiKey === undefined ? { status: "missing" } : { status: "present", source: "keyring", apiKey };
165
+ stored = readStoredKey(secretStore, target);
61
166
  }
62
167
  catch (error) {
63
168
  if (!(error instanceof JevCredentialStoreError))
64
169
  throw error;
65
170
  return { status: "unavailable", message: error.message };
66
171
  }
172
+ if (stored !== undefined)
173
+ return { status: "present", source: "keyring", apiKey: stored };
174
+ // A TypeSafe-issued credential is never sent to another endpoint, but it must not mask a credential stored for
175
+ // this endpoint either, so it is only reported once nothing for this endpoint resolves.
176
+ if (legacySet) {
177
+ return {
178
+ status: "unavailable",
179
+ message: `${LEGACY_TYPESAFE_API_KEY_ENV} is a TypeSafe credential and is not sent to ${target.href}; set ${SYSTEMONE_API_KEY_ENV} for that endpoint.`,
180
+ };
181
+ }
182
+ return { status: "missing" };
67
183
  }
68
- export function saveJevApiKey(apiKey, secretStore = store()) {
69
- const record = { version: 1, provider: "typesafe", origin: TYPESAFE_API_ORIGIN, apiKey: validateApiKey(apiKey) };
184
+ export function saveJevApiKey(apiKey, endpoint, secretStore = store()) {
185
+ const target = requireEndpoint(endpoint);
186
+ const record = { version: 2, endpoint: target.href, apiKey: validateApiKey(apiKey) };
70
187
  try {
71
- secretStore.write(JEV_KEYRING_ACCOUNT, JSON.stringify(record));
188
+ secretStore.write(jevKeyringAccount(target), JSON.stringify(record));
72
189
  }
73
190
  catch (error) {
74
191
  throw new JevCredentialStoreError("write", error);
75
192
  }
76
193
  }
77
- export function removeJevApiKey(secretStore = store()) {
194
+ export function removeJevApiKey(endpoint, secretStore = store()) {
195
+ const target = requireEndpoint(endpoint);
78
196
  try {
79
- secretStore.remove(JEV_KEYRING_ACCOUNT);
197
+ secretStore.remove(jevKeyringAccount(target));
198
+ if (target.href === JEV_DEFAULT_ENDPOINT)
199
+ secretStore.remove(JEV_KEYRING_ACCOUNT);
80
200
  }
81
201
  catch (error) {
82
202
  throw new JevCredentialStoreError("remove", error);
@@ -1 +1 @@
1
- {"version":3,"file":"jev-key-store.js","sourceRoot":"","sources":["../jev-key-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jev-key-store.js","sourceRoot":"","sources":["../jev-key-store.ts"],"names":[],"mappings":"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"}
@@ -993,9 +993,8 @@ export async function getValidToken(serverName, serverUrl, options = {}) {
993
993
  return null;
994
994
  }
995
995
  }
996
- // No expiration info or no refresh token, assume valid
997
996
  authority();
998
- return entry.tokens;
997
+ return null;
999
998
  }
1000
999
  /**
1001
1000
  * Check the authentication status for a server.