@jinn-network/client 0.1.6-canary.a32bdcdf → 0.1.6-canary.aea3a82d
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/CHANGELOG.md +3 -1
- package/dist/adapters/mech/adapter.js +43 -6
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/api/bootstrap-endpoint.d.ts +0 -15
- package/dist/api/bootstrap-endpoint.js +0 -15
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +35 -13
- package/dist/api/codex-doctor-endpoint.js +106 -12
- package/dist/api/codex-doctor-endpoint.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +30 -0
- package/dist/api/hermes-doctor-endpoint.js +44 -5
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/server.d.ts +10 -0
- package/dist/api/server.js +22 -0
- package/dist/api/server.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +8 -1
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/chain-read-errors.d.ts +10 -0
- package/dist/chain-read-errors.js +15 -0
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/create.js +3 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/daemon/daemon.js +25 -7
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/skip-log-dedup.d.ts +50 -4
- package/dist/daemon/skip-log-dedup.js +79 -18
- package/dist/daemon/skip-log-dedup.js.map +1 -1
- package/dist/dashboard/assets/{index-CarzUepP.css → index-DE4qUnzV.css} +1 -1
- package/dist/dashboard/assets/index-Di7xA4eB.js +170 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/onchain.js +19 -8
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +15 -1
- package/dist/discovery/types.js +8 -10
- package/dist/discovery/types.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +7 -1
- package/dist/harnesses/impls/hermes-agent/harness.js +21 -4
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +6 -2
- package/dist/harnesses/impls/learner/harness.js +17 -3
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/main.js +6 -5
- package/dist/main.js.map +1 -1
- package/dist/solver-nets/prediction-operator-ux.js +31 -12
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +10 -2
- package/dist/solvernets/daemon-init.js +22 -2
- package/dist/solvernets/daemon-init.js.map +1 -1
- package/package.json +1 -1
- package/dist/dashboard/assets/index-Di5kd6cA.js +0 -140
package/CHANGELOG.md
CHANGED
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
`JINN_ENABLE_EMBEDDED_AGENT=1` (also accepts `true`) to re-enable the
|
|
15
15
|
surface for development. Default is off. When off, the daemon does not
|
|
16
16
|
mount the `/api/agent/ws` bridge and the SPA renders no agent panel; when
|
|
17
|
-
on, the dev-time path works end-to-end as before.
|
|
17
|
+
on, the dev-time path works end-to-end as before. (Issue #367: the SPA now
|
|
18
|
+
reads this flag through the injected `window.__JINN_FEATURES__`, the same
|
|
19
|
+
channel as the plug-in builder UI flag — no behaviour change for operators.)
|
|
18
20
|
- **Claude-Code-as-a-solver-harness is unaffected.** Operators can still pick
|
|
19
21
|
Claude Code as their SolverNet harness — that path is independent of the
|
|
20
22
|
embedded chat surface and its WebSocket bridge.
|
|
@@ -8,6 +8,7 @@ import { buildResultPayload, uploadToIpfs, cidToDigestHex, fetchFromIpfs, fetchS
|
|
|
8
8
|
import { canonicalJson } from '../../harnesses/engine/canonical-json.js';
|
|
9
9
|
import { normalizeEnvelopeRole, SignedEnvelopeSchema } from '../../types/envelope.js';
|
|
10
10
|
import { submitTask, claimTask as claimTaskOnchain, claimEvaluation as claimEvaluationOnchain, claimDelivery, getMechDeliveryRate, getTimeoutBounds, decodeTaskCreatedLogs, decodeSolutionDeliveryClaimedLogs, decodeDeliverLogs, findLatestDeliveryDataHexForRequest, getMarketplaceRequestDeliveryMech, getTaskCidDigest, callDeliverToMarketplace, canClaimTask, canClaimEvaluation, } from './contracts.js';
|
|
11
|
+
import { isNonRecoverableInnerRevert } from './safe-revert.js';
|
|
11
12
|
import { verdictCodeFromValue } from './verdict-code.js';
|
|
12
13
|
import { manifestDigestForCid } from './digest.js';
|
|
13
14
|
import { withRecoverableRetry } from '../../tx-retry.js';
|
|
@@ -17,6 +18,26 @@ import { signTaskV1 } from '../../tasks/signing.js';
|
|
|
17
18
|
const ROUTER_REQUEST_CURSOR_CONFIG_KEY = 'mech_router_request_block_cursor_v1';
|
|
18
19
|
const PENDING_EVALUATION_SOLUTIONS_CONFIG_KEY = 'mech_pending_evaluation_solutions_v1';
|
|
19
20
|
const DEFAULT_MECH_DELIVER_BACKFILL_LOOKBACK_BLOCKS = 100000n;
|
|
21
|
+
/** Yield to the event loop every N evaluation opportunities so a large retry
|
|
22
|
+
* backlog can't starve the HTTP API mid-cycle. */
|
|
23
|
+
const EVALUATION_RETRY_YIELD_EVERY = 10;
|
|
24
|
+
/**
|
|
25
|
+
* Decide whether a `canClaimEvaluation` failure reason means the opportunity
|
|
26
|
+
* can NEVER become claimable (terminal, prune it) versus one that could still
|
|
27
|
+
* clear later (transient, keep retrying).
|
|
28
|
+
*
|
|
29
|
+
* A false-keep (re-checking a dead opportunity) only costs one more RPC; a
|
|
30
|
+
* false-prune (dropping a still-claimable opportunity) loses real work — so
|
|
31
|
+
* when in doubt we keep. Anything that does not resolve to a known
|
|
32
|
+
* non-recoverable revert name is treated as transient.
|
|
33
|
+
*/
|
|
34
|
+
function isTerminalEvaluationReason(reason) {
|
|
35
|
+
if (!reason)
|
|
36
|
+
return false;
|
|
37
|
+
// Strip a decoded-argument suffix, e.g. `TCAttemptAlreadyFinalized(1, 0)`.
|
|
38
|
+
const bareName = reason.replace(/\(.*$/s, '').trim();
|
|
39
|
+
return isNonRecoverableInnerRevert(bareName);
|
|
40
|
+
}
|
|
20
41
|
const DEFAULT_ROUTER_LOG_CHUNK_BLOCKS = 9999n;
|
|
21
42
|
/**
|
|
22
43
|
* Floor block for the on-chain TaskCreated backlog scan, per chain.
|
|
@@ -530,13 +551,23 @@ export class MechAdapter {
|
|
|
530
551
|
this.forgetPendingEvaluationSolution(solution.requestId);
|
|
531
552
|
return undefined;
|
|
532
553
|
}
|
|
533
|
-
|
|
554
|
+
// Cheap claimability gate FIRST — before the restoration lookup + IPFS
|
|
555
|
+
// fetch. A backlog of terminal opportunities (finalized / evaluation
|
|
556
|
+
// deadline passed / max verdicts reached) must not pay the expensive
|
|
557
|
+
// restoration-announcement cost on every poll cycle. Terminal reasons are
|
|
558
|
+
// pruned from the working set so the loop never re-scans on-chain history;
|
|
559
|
+
// transient reasons are left in place to be retried next cycle.
|
|
534
560
|
const claimable = await canClaimEvaluation(this.publicClient, this.config.safeAddress, this.config.routerAddress, solution.taskId, solution.attemptIndex, this.config.mechContractAddress);
|
|
535
561
|
if (!claimable.ok) {
|
|
536
|
-
|
|
537
|
-
|
|
562
|
+
const terminal = isTerminalEvaluationReason(claimable.reason);
|
|
563
|
+
console.log(`[mech] skipping evaluation opportunity ${solution.requestId} for task ${solution.taskId}/${solution.attemptIndex}: ${claimable.reason}` +
|
|
564
|
+
(terminal ? ' (terminal — pruned)' : ' (transient — will retry)'));
|
|
565
|
+
if (terminal) {
|
|
566
|
+
this.forgetPendingEvaluationSolution(solution.requestId);
|
|
567
|
+
}
|
|
538
568
|
return undefined;
|
|
539
569
|
}
|
|
570
|
+
const restoration = await this.restorationAnnouncementForTaskId(solution.taskId);
|
|
540
571
|
const solutionEnvelopeCid = await this.deliveryEnvelopeCidForSolution(solution);
|
|
541
572
|
const resultPayload = await fetchFromIpfs(this.config.ipfsGatewayUrl, solutionEnvelopeCid);
|
|
542
573
|
const resultData = resultPayload.data ?? JSON.stringify(resultPayload);
|
|
@@ -565,15 +596,21 @@ export class MechAdapter {
|
|
|
565
596
|
return announcement;
|
|
566
597
|
}
|
|
567
598
|
async *retryPendingEvaluationSolutions() {
|
|
599
|
+
let processed = 0;
|
|
568
600
|
for (const [requestId, solution] of Array.from(this.pendingEvaluationSolutions)) {
|
|
601
|
+
// Yield to the event loop periodically so a large backlog of pending
|
|
602
|
+
// evaluation solutions can't starve the HTTP API mid-cycle.
|
|
603
|
+
if (processed > 0 && processed % EVALUATION_RETRY_YIELD_EVERY === 0) {
|
|
604
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
605
|
+
}
|
|
606
|
+
processed++;
|
|
569
607
|
try {
|
|
570
608
|
const announcement = await this.evaluationAnnouncementForSolution(solution);
|
|
571
609
|
if (announcement) {
|
|
572
610
|
yield announcement;
|
|
573
611
|
}
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
}
|
|
612
|
+
// No announcement does NOT mean "forget" — pruning is owned by
|
|
613
|
+
// evaluationAnnouncementForSolution, which only removes terminal cases.
|
|
577
614
|
}
|
|
578
615
|
catch (err) {
|
|
579
616
|
console.error(`[mech] evaluation opportunity retry failed for ${requestId}:`, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mech/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mech/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,20 +21,5 @@ export interface BootstrapEndpointConfig {
|
|
|
21
21
|
solverNets?: Record<string, unknown>;
|
|
22
22
|
joinedSolverNets?: Record<string, unknown>;
|
|
23
23
|
};
|
|
24
|
-
/**
|
|
25
|
-
* Feature flag for the embedded Claude agent chat surface in the operator
|
|
26
|
-
* SPA. Defaults to false; set via `JINN_ENABLE_EMBEDDED_AGENT=1` for
|
|
27
|
-
* development. When false, the SPA hides the agent rail / "Ask Claude"
|
|
28
|
-
* onboarding panel and the daemon does not mount the `/api/agent/ws`
|
|
29
|
-
* bridge. The Claude-Code-as-solver-harness path is unaffected. See
|
|
30
|
-
* GitHub issue #326.
|
|
31
|
-
*/
|
|
32
|
-
embeddedAgentEnabled?: boolean;
|
|
33
24
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Resolves the JINN_ENABLE_EMBEDDED_AGENT env var. Default off. Anything
|
|
36
|
-
* other than '1' / 'true' (case-insensitive) is treated as off so a stray
|
|
37
|
-
* value can't accidentally re-enable the surface.
|
|
38
|
-
*/
|
|
39
|
-
export declare function isEmbeddedAgentEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
40
25
|
export declare function addBootstrapRoutes(app: Hono, config: BootstrapEndpointConfig): void;
|
|
@@ -2,18 +2,6 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { readBootstrapError } from '../errors/persisted-bootstrap-error.js';
|
|
4
4
|
import { MIGRATIONS_FILE } from '../earning/store.js';
|
|
5
|
-
/**
|
|
6
|
-
* Resolves the JINN_ENABLE_EMBEDDED_AGENT env var. Default off. Anything
|
|
7
|
-
* other than '1' / 'true' (case-insensitive) is treated as off so a stray
|
|
8
|
-
* value can't accidentally re-enable the surface.
|
|
9
|
-
*/
|
|
10
|
-
export function isEmbeddedAgentEnabled(env = process.env) {
|
|
11
|
-
const raw = env['JINN_ENABLE_EMBEDDED_AGENT'];
|
|
12
|
-
if (raw === undefined)
|
|
13
|
-
return false;
|
|
14
|
-
const normalized = raw.trim().toLowerCase();
|
|
15
|
-
return normalized === '1' || normalized === 'true';
|
|
16
|
-
}
|
|
17
5
|
const STEPS = [
|
|
18
6
|
'wallet',
|
|
19
7
|
'safe_predicted',
|
|
@@ -75,7 +63,6 @@ function fundingTargetWei(fundingGate) {
|
|
|
75
63
|
}
|
|
76
64
|
export function addBootstrapRoutes(app, config) {
|
|
77
65
|
app.get('/v1/bootstrap', (c) => {
|
|
78
|
-
const embeddedAgentEnabled = config.embeddedAgentEnabled ?? false;
|
|
79
66
|
const path = join(config.earningDir, 'earning_state.json');
|
|
80
67
|
if (!existsSync(path)) {
|
|
81
68
|
return c.json({
|
|
@@ -84,7 +71,6 @@ export function addBootstrapRoutes(app, config) {
|
|
|
84
71
|
steps: STEPS,
|
|
85
72
|
currentStep: STEPS[0],
|
|
86
73
|
services: [],
|
|
87
|
-
embeddedAgentEnabled,
|
|
88
74
|
});
|
|
89
75
|
}
|
|
90
76
|
let parsed;
|
|
@@ -145,7 +131,6 @@ export function addBootstrapRoutes(app, config) {
|
|
|
145
131
|
steps: STEPS,
|
|
146
132
|
currentStep,
|
|
147
133
|
services,
|
|
148
|
-
embeddedAgentEnabled,
|
|
149
134
|
master_address: parsed.master_address,
|
|
150
135
|
chain: parsed.chain,
|
|
151
136
|
...(parsed.fleet_agent_id ? { fleet_agent_id: parsed.fleet_agent_id } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-endpoint.js","sourceRoot":"","sources":["../../src/api/bootstrap-endpoint.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap-endpoint.js","sourceRoot":"","sources":["../../src/api/bootstrap-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,30 +6,46 @@
|
|
|
6
6
|
* before the operator saves a Codex harness selection.
|
|
7
7
|
*
|
|
8
8
|
* Response shape:
|
|
9
|
-
* { installed: boolean, authenticated: boolean,
|
|
10
|
-
*
|
|
9
|
+
* { installed: boolean, authenticated: boolean,
|
|
10
|
+
* authStatus: 'ok' | 'expired' | 'not_configured',
|
|
11
|
+
* exitCode: number | null, stdout: string, stderr: string }
|
|
11
12
|
*
|
|
12
13
|
* `installed: false` means the binary was not found (ENOENT or equivalent).
|
|
13
14
|
* `exitCode !== 0` (with `installed: true`) means the binary exists but
|
|
14
15
|
* `codex --version` itself failed.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
*
|
|
17
|
+
* `authStatus` (with `installed: true`, `exitCode === 0`) classifies the
|
|
18
|
+
* Codex credentials:
|
|
19
|
+
* - `'ok'` — usable credentials: an `OPENAI_API_KEY` (env or in
|
|
20
|
+
* `auth.json`), or a non-expired `codex login` OAuth
|
|
21
|
+
* session.
|
|
22
|
+
* - `'expired'` — an `auth.json` is present but its OAuth tokens have
|
|
23
|
+
* expired, or the file is malformed/unreadable. A
|
|
24
|
+
* logged-out operator with a leftover file lands here
|
|
25
|
+
* instead of false-`ok` (#366).
|
|
26
|
+
* - `'not_configured'` — no `OPENAI_API_KEY` and no `auth.json` at all.
|
|
27
|
+
* `authenticated` is kept as a convenience alias for `authStatus === 'ok'`.
|
|
28
|
+
*
|
|
29
|
+
* Codex (unlike Hermes) has no `codex doctor` subcommand, so install
|
|
30
|
+
* detection shells `codex --version`. Codex also exposes no auth-status
|
|
31
|
+
* subcommand, so liveness is derived by parsing + expiry-checking the
|
|
32
|
+
* `auth.json` it persists — existence alone is not enough: a stale OAuth
|
|
33
|
+
* session reads as logged-in to a naive existence check (#366).
|
|
19
34
|
*
|
|
20
35
|
* The probe logic is exported as `probeCodexDoctor` so the Codex variant of
|
|
21
36
|
* the `LearnerHarness` can reuse it from `isReady()` — same source of truth
|
|
22
37
|
* for the SPA precheck panel and the daemon's claim-readiness gate (#348,
|
|
23
|
-
* same-shape bug as #330).
|
|
24
|
-
*
|
|
25
|
-
* Codex (unlike Hermes) has no `codex doctor` subcommand, so install
|
|
26
|
-
* detection shells `codex --version` and auth detection is a separate
|
|
27
|
-
* filesystem / env check rather than a probe exit code.
|
|
38
|
+
* same-shape bug as #330; liveness tightening from #366).
|
|
28
39
|
*/
|
|
29
40
|
import type { Hono } from 'hono';
|
|
41
|
+
/** Classification of Codex credentials. */
|
|
42
|
+
export type CodexAuthStatus = 'ok' | 'expired' | 'not_configured';
|
|
30
43
|
export interface CodexDoctorResponse {
|
|
31
44
|
installed: boolean;
|
|
45
|
+
/** Convenience alias — true iff `authStatus === 'ok'`. */
|
|
32
46
|
authenticated: boolean;
|
|
47
|
+
/** Live/expired/absent classification of Codex credentials. */
|
|
48
|
+
authStatus: CodexAuthStatus;
|
|
33
49
|
exitCode: number | null;
|
|
34
50
|
stdout: string;
|
|
35
51
|
stderr: string;
|
|
@@ -39,8 +55,14 @@ export interface CodexDoctorConfig {
|
|
|
39
55
|
codexDoctorTimeoutMs?: number;
|
|
40
56
|
/** Inject env for testing (defaults to process.env). */
|
|
41
57
|
env?: NodeJS.ProcessEnv;
|
|
42
|
-
/**
|
|
43
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Override the auth-file read (for testing). Returns the raw `auth.json`
|
|
60
|
+
* contents, or `undefined` when no file exists. When supplied, the real
|
|
61
|
+
* filesystem is not touched.
|
|
62
|
+
*/
|
|
63
|
+
readAuthFile?: () => string | undefined;
|
|
64
|
+
/** Override the clock for deterministic expiry tests (epoch ms). */
|
|
65
|
+
now?: number;
|
|
44
66
|
}
|
|
45
67
|
/**
|
|
46
68
|
* Synchronously runs `codex --version` and classifies install + auth state.
|
|
@@ -1,24 +1,114 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
|
-
import {
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
8
|
-
*
|
|
6
|
+
* Decodes a JWT's payload and returns its `exp` claim (epoch seconds), or
|
|
7
|
+
* `undefined` when the token is absent, malformed, or carries no `exp`.
|
|
8
|
+
* Defensive: never throws.
|
|
9
|
+
*
|
|
10
|
+
* Note: the JWT signature is intentionally NOT verified — this is not a
|
|
11
|
+
* security gap. The daemon only needs the `exp` claim for a liveness hint;
|
|
12
|
+
* Codex itself verifies signatures when the token is actually used.
|
|
9
13
|
*/
|
|
10
|
-
function
|
|
11
|
-
if (
|
|
12
|
-
return
|
|
14
|
+
function jwtExpiry(token) {
|
|
15
|
+
if (typeof token !== 'string' || token.length === 0)
|
|
16
|
+
return undefined;
|
|
17
|
+
const parts = token.split('.');
|
|
18
|
+
if (parts.length !== 3)
|
|
19
|
+
return undefined;
|
|
20
|
+
try {
|
|
21
|
+
const payloadJson = Buffer.from(parts[1], 'base64url').toString('utf8');
|
|
22
|
+
const payload = JSON.parse(payloadJson);
|
|
23
|
+
return typeof payload.exp === 'number' ? payload.exp : undefined;
|
|
13
24
|
}
|
|
14
|
-
|
|
15
|
-
return
|
|
25
|
+
catch {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Classifies the credentials inside a parsed `auth.json`.
|
|
31
|
+
*
|
|
32
|
+
* - A non-empty `OPENAI_API_KEY` in the file is API-key mode — there is no
|
|
33
|
+
* expiry, so presence is acceptable (`'ok'`).
|
|
34
|
+
* - Otherwise it is OAuth (`codex login`) mode: expiry-check the JWT `exp`
|
|
35
|
+
* of `id_token` (falling back to `access_token`). An expired token, or
|
|
36
|
+
* tokens we cannot expiry-check at all (no JWT / no `exp`), is treated as
|
|
37
|
+
* `'expired'` — the safe direction for a claim gate: a logged-out operator
|
|
38
|
+
* with a leftover file must not read as live (#366).
|
|
39
|
+
*/
|
|
40
|
+
function classifyAuthFile(auth, nowMs) {
|
|
41
|
+
const fileApiKey = auth.OPENAI_API_KEY;
|
|
42
|
+
if (typeof fileApiKey === 'string' && fileApiKey.trim().length > 0) {
|
|
43
|
+
return 'ok';
|
|
44
|
+
}
|
|
45
|
+
const tokens = auth.tokens;
|
|
46
|
+
if (!tokens || typeof tokens !== 'object') {
|
|
47
|
+
// A file with neither an API key nor a tokens object carries no usable
|
|
48
|
+
// credential — treat as stale rather than live.
|
|
49
|
+
return 'expired';
|
|
50
|
+
}
|
|
51
|
+
const exp = jwtExpiry(tokens.id_token) ?? jwtExpiry(tokens.access_token);
|
|
52
|
+
if (exp === undefined) {
|
|
53
|
+
// Tokens present but not expiry-checkable — cannot prove liveness.
|
|
54
|
+
return 'expired';
|
|
55
|
+
}
|
|
56
|
+
return exp * 1000 > nowMs ? 'ok' : 'expired';
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Reads `auth.json` (from `CODEX_HOME` or `~/.codex`) and returns its raw
|
|
60
|
+
* contents, or `undefined` when the file does not exist. A read error other
|
|
61
|
+
* than "not found" (e.g. EACCES) is reported as an empty string so the caller
|
|
62
|
+
* classifies it as `expired` rather than `not_configured`.
|
|
63
|
+
*/
|
|
64
|
+
function readCodexAuthFile(config) {
|
|
65
|
+
if (config.readAuthFile)
|
|
66
|
+
return config.readAuthFile();
|
|
16
67
|
const env = config.env ?? process.env;
|
|
17
68
|
const codexHome = env['CODEX_HOME']?.trim();
|
|
18
69
|
const authPath = codexHome
|
|
19
70
|
? join(codexHome, 'auth.json')
|
|
20
71
|
: join(homedir(), '.codex', 'auth.json');
|
|
21
|
-
|
|
72
|
+
try {
|
|
73
|
+
return readFileSync(authPath, 'utf8');
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
const code = err?.code;
|
|
77
|
+
if (code === 'ENOENT')
|
|
78
|
+
return undefined;
|
|
79
|
+
// File exists but is unreadable — surface as a present-but-broken file so
|
|
80
|
+
// it classifies as `expired`, never `not_configured`.
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Classifies Codex credential state. Codex authenticates either via the
|
|
86
|
+
* `OPENAI_API_KEY` env var (no expiry) or via a `codex login` session
|
|
87
|
+
* persisted to `auth.json` under `CODEX_HOME` (falling back to `~/.codex`).
|
|
88
|
+
*
|
|
89
|
+
* Liveness, not mere existence: a malformed file or an expired OAuth session
|
|
90
|
+
* classifies as `'expired'`, distinct from `'not_configured'` (no file and no
|
|
91
|
+
* env key). Never throws — a corrupt file degrades to `'expired'`.
|
|
92
|
+
*/
|
|
93
|
+
function detectCodexAuthStatus(config) {
|
|
94
|
+
if (hasApiKey(config))
|
|
95
|
+
return 'ok';
|
|
96
|
+
const raw = readCodexAuthFile(config);
|
|
97
|
+
if (raw === undefined)
|
|
98
|
+
return 'not_configured';
|
|
99
|
+
let parsed;
|
|
100
|
+
try {
|
|
101
|
+
parsed = JSON.parse(raw);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Malformed / truncated auth.json — a logged-out operator with a corrupt
|
|
105
|
+
// leftover file. Stale-class, never a false `ok` (#366).
|
|
106
|
+
return 'expired';
|
|
107
|
+
}
|
|
108
|
+
if (!parsed || typeof parsed !== 'object')
|
|
109
|
+
return 'expired';
|
|
110
|
+
const nowMs = config.now ?? Date.now();
|
|
111
|
+
return classifyAuthFile(parsed, nowMs);
|
|
22
112
|
}
|
|
23
113
|
function hasApiKey(config) {
|
|
24
114
|
const env = config.env ?? process.env;
|
|
@@ -47,10 +137,14 @@ export function probeCodexDoctor(config = {}) {
|
|
|
47
137
|
|| result.signal !== null
|
|
48
138
|
|| (errorCode != null && errorCode !== 'ENOENT'));
|
|
49
139
|
// Auth is only meaningful once the binary is present and runnable.
|
|
50
|
-
const
|
|
140
|
+
const runnable = installed && result.status === 0;
|
|
141
|
+
const authStatus = runnable
|
|
142
|
+
? detectCodexAuthStatus(config)
|
|
143
|
+
: 'not_configured';
|
|
51
144
|
return {
|
|
52
145
|
installed,
|
|
53
|
-
authenticated,
|
|
146
|
+
authenticated: authStatus === 'ok',
|
|
147
|
+
authStatus,
|
|
54
148
|
exitCode: result.status,
|
|
55
149
|
stdout: (result.stdout ?? '').slice(0, 4000),
|
|
56
150
|
stderr: (result.stderr ?? '').slice(0, 4000),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-doctor-endpoint.js","sourceRoot":"","sources":["../../src/api/codex-doctor-endpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex-doctor-endpoint.js","sourceRoot":"","sources":["../../src/api/codex-doctor-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,4 +33,34 @@ export interface HermesDoctorConfig {
|
|
|
33
33
|
* server in.
|
|
34
34
|
*/
|
|
35
35
|
export declare function probeHermesDoctor(config?: HermesDoctorConfig): HermesDoctorResponse;
|
|
36
|
+
/**
|
|
37
|
+
* Result of probing a single Hermes model provider's auth state.
|
|
38
|
+
*/
|
|
39
|
+
export interface HermesAuthStatus {
|
|
40
|
+
/** Provider name probed, e.g. `openrouter`. */
|
|
41
|
+
provider: string;
|
|
42
|
+
/** True only when the provider is authenticated (logged in). */
|
|
43
|
+
authed: boolean;
|
|
44
|
+
/** Raw `hermes auth status <provider>` stdout (trimmed, truncated). */
|
|
45
|
+
raw: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Synchronously runs `hermes auth status <provider>` and classifies whether
|
|
49
|
+
* the provider is authenticated.
|
|
50
|
+
*
|
|
51
|
+
* CRITICAL: `hermes auth status` ALWAYS exits 0 — it reports state via
|
|
52
|
+
* stdout, never via exit code. A not-logged-in provider prints e.g.
|
|
53
|
+
* `openrouter: logged out`. So we cannot rely on `result.status`; we parse
|
|
54
|
+
* stdout instead:
|
|
55
|
+
* - stdout matches /logged out/i → not authed
|
|
56
|
+
* - stdout is empty → not authed (binary said nothing definitive)
|
|
57
|
+
* - ENOENT / spawn error → not authed (binary not on PATH)
|
|
58
|
+
* - otherwise → authed
|
|
59
|
+
*
|
|
60
|
+
* Pure (no Hono dependency) so the harness layer can call it without
|
|
61
|
+
* pulling the API server in. This is the third readiness gate for Hermes:
|
|
62
|
+
* `hermes doctor` exits 0 even when every provider is logged out (it treats
|
|
63
|
+
* missing providers as warnings), so the harness must probe auth directly.
|
|
64
|
+
*/
|
|
65
|
+
export declare function probeHermesAuthStatus(provider: string, config?: HermesDoctorConfig): HermesAuthStatus;
|
|
36
66
|
export declare function addHermesDoctorRoutes(app: Hono, config?: HermesDoctorConfig): void;
|