@jinn-network/client 0.1.6-canary.bb73be6b → 0.1.6-canary.c8f821be
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 +14 -0
- package/dist/adapters/mech/adapter.js +43 -6
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +51 -0
- package/dist/api/codex-doctor-endpoint.js +64 -0
- package/dist/api/codex-doctor-endpoint.js.map +1 -0
- 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 +17 -0
- package/dist/api/server.js +46 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.js +49 -3
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/cli/commands/create.js +3 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/config.d.ts +15 -0
- package/dist/config.js +12 -0
- package/dist/config.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-BYO5K7DA.js +170 -0
- package/dist/dashboard/assets/{index-CarzUepP.css → index-DE4qUnzV.css} +1 -1
- package/dist/dashboard/index.html +2 -2
- 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/index.d.ts +5 -0
- package/dist/harnesses/impls/index.js +11 -0
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +34 -4
- package/dist/harnesses/impls/learner/harness.js +82 -2
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/types.d.ts +11 -0
- package/dist/harnesses/impls/stub.d.ts +58 -0
- package/dist/harnesses/impls/stub.js +89 -0
- package/dist/harnesses/impls/stub.js.map +1 -0
- package/dist/harnesses/readiness-registry.js +9 -1
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/main.js +6 -0
- 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/package.json +27 -11
- package/dist/dashboard/assets/index-DO0ZFsGp.js +0 -140
package/CHANGELOG.md
CHANGED
|
@@ -19,6 +19,20 @@
|
|
|
19
19
|
Claude Code as their SolverNet harness — that path is independent of the
|
|
20
20
|
embedded chat surface and its WebSocket bridge.
|
|
21
21
|
|
|
22
|
+
### Operator app
|
|
23
|
+
|
|
24
|
+
- **Plug-in builder UI surfaces hidden by default (issue #327).** The `/build`
|
|
25
|
+
route and the Build top-tab no longer appear in the operator app. Hitting
|
|
26
|
+
`/build` by direct URL redirects to `/overview`. The plug-in substrate stays
|
|
27
|
+
fully live — `jinn solver-plugins publish` / `revoke`, the Ponder indexer,
|
|
28
|
+
the Discovery API endpoints, and the `client/docs/build/` tree are
|
|
29
|
+
unchanged, so direct-CLI builders following the docs are not blocked. The
|
|
30
|
+
surfaces are gated to keep the operator-app first-run UX focused; they will
|
|
31
|
+
be re-promoted once that UX is solid and plug-in indexing is end-to-end
|
|
32
|
+
populated. Set `JINN_ENABLE_PLUGIN_BUILDER_UI=1` on the daemon to re-enable
|
|
33
|
+
the full builder surface for development and design work — the daemon injects
|
|
34
|
+
the flag into the SPA via `window.__JINN_FEATURES__`.
|
|
35
|
+
|
|
22
36
|
### SWE-rebench v2 admission
|
|
23
37
|
|
|
24
38
|
- **Admission semantics bumped from `'2'` → `'3'`.** Operators running the
|
|
@@ -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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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GET /api/codex/doctor
|
|
3
|
+
*
|
|
4
|
+
* Runs `codex --version` via spawnSync and inspects the auth configuration so
|
|
5
|
+
* the operator dashboard can show an install-required / sign-in-required panel
|
|
6
|
+
* before the operator saves a Codex harness selection.
|
|
7
|
+
*
|
|
8
|
+
* Response shape:
|
|
9
|
+
* { installed: boolean, authenticated: boolean, exitCode: number | null,
|
|
10
|
+
* stdout: string, stderr: string }
|
|
11
|
+
*
|
|
12
|
+
* `installed: false` means the binary was not found (ENOENT or equivalent).
|
|
13
|
+
* `exitCode !== 0` (with `installed: true`) means the binary exists but
|
|
14
|
+
* `codex --version` itself failed.
|
|
15
|
+
* `authenticated: false` (with `installed: true`, `exitCode === 0`) means the
|
|
16
|
+
* binary is present and runnable but no credentials are configured — Codex
|
|
17
|
+
* authenticates via the `OPENAI_API_KEY` env var or a `codex login` session
|
|
18
|
+
* persisted under `CODEX_HOME` / `~/.codex/auth.json`.
|
|
19
|
+
*
|
|
20
|
+
* The probe logic is exported as `probeCodexDoctor` so the Codex variant of
|
|
21
|
+
* the `LearnerHarness` can reuse it from `isReady()` — same source of truth
|
|
22
|
+
* 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.
|
|
28
|
+
*/
|
|
29
|
+
import type { Hono } from 'hono';
|
|
30
|
+
export interface CodexDoctorResponse {
|
|
31
|
+
installed: boolean;
|
|
32
|
+
authenticated: boolean;
|
|
33
|
+
exitCode: number | null;
|
|
34
|
+
stdout: string;
|
|
35
|
+
stderr: string;
|
|
36
|
+
}
|
|
37
|
+
export interface CodexDoctorConfig {
|
|
38
|
+
codexPath?: string;
|
|
39
|
+
codexDoctorTimeoutMs?: number;
|
|
40
|
+
/** Inject env for testing (defaults to process.env). */
|
|
41
|
+
env?: NodeJS.ProcessEnv;
|
|
42
|
+
/** Override the auth-file existence check (for testing). */
|
|
43
|
+
authFileExists?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Synchronously runs `codex --version` and classifies install + auth state.
|
|
47
|
+
* Pure (no Hono dependency) so the harness layer can call it without pulling
|
|
48
|
+
* the API server in.
|
|
49
|
+
*/
|
|
50
|
+
export declare function probeCodexDoctor(config?: CodexDoctorConfig): CodexDoctorResponse;
|
|
51
|
+
export declare function addCodexDoctorRoutes(app: Hono, config?: CodexDoctorConfig): void;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
/**
|
|
6
|
+
* Whether Codex has usable credentials. Codex authenticates either via the
|
|
7
|
+
* `OPENAI_API_KEY` env var or via a `codex login` session persisted to
|
|
8
|
+
* `auth.json` under `CODEX_HOME` (falling back to `~/.codex`).
|
|
9
|
+
*/
|
|
10
|
+
function detectCodexAuth(config) {
|
|
11
|
+
if (config.authFileExists !== undefined) {
|
|
12
|
+
return config.authFileExists || hasApiKey(config);
|
|
13
|
+
}
|
|
14
|
+
if (hasApiKey(config))
|
|
15
|
+
return true;
|
|
16
|
+
const env = config.env ?? process.env;
|
|
17
|
+
const codexHome = env['CODEX_HOME']?.trim();
|
|
18
|
+
const authPath = codexHome
|
|
19
|
+
? join(codexHome, 'auth.json')
|
|
20
|
+
: join(homedir(), '.codex', 'auth.json');
|
|
21
|
+
return existsSync(authPath);
|
|
22
|
+
}
|
|
23
|
+
function hasApiKey(config) {
|
|
24
|
+
const env = config.env ?? process.env;
|
|
25
|
+
return Boolean(env['OPENAI_API_KEY']?.trim());
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Synchronously runs `codex --version` and classifies install + auth state.
|
|
29
|
+
* Pure (no Hono dependency) so the harness layer can call it without pulling
|
|
30
|
+
* the API server in.
|
|
31
|
+
*/
|
|
32
|
+
export function probeCodexDoctor(config = {}) {
|
|
33
|
+
const codexBin = config.codexPath ?? 'codex';
|
|
34
|
+
const timeoutMs = config.codexDoctorTimeoutMs ?? 30_000;
|
|
35
|
+
const result = spawnSync(codexBin, ['--version'], {
|
|
36
|
+
timeout: timeoutMs,
|
|
37
|
+
encoding: 'utf8',
|
|
38
|
+
});
|
|
39
|
+
const errorCode = result.error?.code;
|
|
40
|
+
// installed=true means we found the binary on disk. ENOENT is the only
|
|
41
|
+
// definitive not-installed signal. Other errors (EACCES = wrong
|
|
42
|
+
// permissions; ETIMEDOUT = ran but didn't finish in time) indicate the
|
|
43
|
+
// binary exists but couldn't be exercised cleanly — surface those as
|
|
44
|
+
// config-issue, not missing.
|
|
45
|
+
const notFound = errorCode === 'ENOENT';
|
|
46
|
+
const installed = !notFound && (result.status !== null
|
|
47
|
+
|| result.signal !== null
|
|
48
|
+
|| (errorCode != null && errorCode !== 'ENOENT'));
|
|
49
|
+
// Auth is only meaningful once the binary is present and runnable.
|
|
50
|
+
const authenticated = installed && result.status === 0 && detectCodexAuth(config);
|
|
51
|
+
return {
|
|
52
|
+
installed,
|
|
53
|
+
authenticated,
|
|
54
|
+
exitCode: result.status,
|
|
55
|
+
stdout: (result.stdout ?? '').slice(0, 4000),
|
|
56
|
+
stderr: (result.stderr ?? '').slice(0, 4000),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function addCodexDoctorRoutes(app, config = {}) {
|
|
60
|
+
app.get('/api/codex/doctor', (c) => {
|
|
61
|
+
return c.json(probeCodexDoctor(config));
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=codex-doctor-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-doctor-endpoint.js","sourceRoot":"","sources":["../../src/api/codex-doctor-endpoint.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmBjC;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAyB;IAChD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACtC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,SAAS;QACxB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;QAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,MAAyB;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC;IAExD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;QAChD,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAI,MAAM,CAAC,KAA2C,EAAE,IAAI,CAAC;IAC5E,uEAAuE;IACvE,gEAAgE;IAChE,uEAAuE;IACvE,qEAAqE;IACrE,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;IACxC,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAC7B,MAAM,CAAC,MAAM,KAAK,IAAI;WACnB,MAAM,CAAC,MAAM,KAAK,IAAI;WACtB,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,QAAQ,CAAC,CACjD,CAAC;IAEF,mEAAmE;IACnE,MAAM,aAAa,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAElF,OAAO;QACL,SAAS;QACT,aAAa;QACb,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAS,EAAE,SAA4B,EAAE;IAC5E,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;QACjC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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;
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Shared `hermes <args>` spawn scaffolding for both probes: resolves the binary
|
|
4
|
+
* and timeout from config, runs `spawnSync`, and extracts the spawn-error code.
|
|
5
|
+
* Each probe applies its own classification/parsing to the returned result.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
function runHermes(args, config) {
|
|
8
8
|
const hermesBin = config.hermesPath ?? 'hermes';
|
|
9
9
|
const timeoutMs = config.hermesDoctorTimeoutMs ?? 30_000;
|
|
10
|
-
const result = spawnSync(hermesBin,
|
|
10
|
+
const result = spawnSync(hermesBin, args, {
|
|
11
11
|
timeout: timeoutMs,
|
|
12
12
|
encoding: 'utf8',
|
|
13
13
|
});
|
|
14
14
|
const errorCode = result.error?.code;
|
|
15
|
+
return { result, errorCode };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Synchronously runs `hermes doctor` and classifies the result. Pure (no
|
|
19
|
+
* Hono dependency) so the harness layer can call it without pulling the API
|
|
20
|
+
* server in.
|
|
21
|
+
*/
|
|
22
|
+
export function probeHermesDoctor(config = {}) {
|
|
23
|
+
const { result, errorCode } = runHermes(['doctor'], config);
|
|
15
24
|
// installed=true means we found the binary on disk. ENOENT is the only
|
|
16
25
|
// definitive not-installed signal. Other errors (EACCES = wrong
|
|
17
26
|
// permissions; ETIMEDOUT = ran but didn't finish in time) indicate the
|
|
@@ -28,6 +37,36 @@ export function probeHermesDoctor(config = {}) {
|
|
|
28
37
|
stderr: (result.stderr ?? '').slice(0, 4000),
|
|
29
38
|
};
|
|
30
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Synchronously runs `hermes auth status <provider>` and classifies whether
|
|
42
|
+
* the provider is authenticated.
|
|
43
|
+
*
|
|
44
|
+
* CRITICAL: `hermes auth status` ALWAYS exits 0 — it reports state via
|
|
45
|
+
* stdout, never via exit code. A not-logged-in provider prints e.g.
|
|
46
|
+
* `openrouter: logged out`. So we cannot rely on `result.status`; we parse
|
|
47
|
+
* stdout instead:
|
|
48
|
+
* - stdout matches /logged out/i → not authed
|
|
49
|
+
* - stdout is empty → not authed (binary said nothing definitive)
|
|
50
|
+
* - ENOENT / spawn error → not authed (binary not on PATH)
|
|
51
|
+
* - otherwise → authed
|
|
52
|
+
*
|
|
53
|
+
* Pure (no Hono dependency) so the harness layer can call it without
|
|
54
|
+
* pulling the API server in. This is the third readiness gate for Hermes:
|
|
55
|
+
* `hermes doctor` exits 0 even when every provider is logged out (it treats
|
|
56
|
+
* missing providers as warnings), so the harness must probe auth directly.
|
|
57
|
+
*/
|
|
58
|
+
export function probeHermesAuthStatus(provider, config = {}) {
|
|
59
|
+
const { result, errorCode } = runHermes(['auth', 'status', provider], config);
|
|
60
|
+
const raw = (result.stdout ?? '').trim().slice(0, 4000);
|
|
61
|
+
// Binary not found, or any other spawn error, or no output → not authed.
|
|
62
|
+
if (errorCode != null || raw.length === 0) {
|
|
63
|
+
return { provider, authed: false, raw };
|
|
64
|
+
}
|
|
65
|
+
// `hermes auth status` always exits 0; state is in stdout. A "logged out"
|
|
66
|
+
// line means the provider is not authenticated.
|
|
67
|
+
const loggedOut = /logged out/i.test(raw);
|
|
68
|
+
return { provider, authed: !loggedOut, raw };
|
|
69
|
+
}
|
|
31
70
|
export function addHermesDoctorRoutes(app, config = {}) {
|
|
32
71
|
app.get('/api/hermes/doctor', (c) => {
|
|
33
72
|
return c.json(probeHermesDoctor(config));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-doctor-endpoint.js","sourceRoot":"","sources":["../../src/api/hermes-doctor-endpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hermes-doctor-endpoint.js","sourceRoot":"","sources":["../../src/api/hermes-doctor-endpoint.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C;;;;GAIG;AACH,SAAS,SAAS,CAChB,IAAc,EACd,MAA0B;IAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC;IAEzD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE;QACxC,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAI,MAAM,CAAC,KAA2C,EAAE,IAAI,CAAC;IAC5E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAA6B,EAAE;IAC/D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5D,uEAAuE;IACvE,gEAAgE;IAChE,uEAAuE;IACvE,qEAAqE;IACrE,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;IACxC,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAC7B,MAAM,CAAC,MAAM,KAAK,IAAI;WACnB,MAAM,CAAC,MAAM,KAAK,IAAI;WACtB,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,QAAQ,CAAC,CACjD,CAAC;IACF,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,SAA6B,EAAE;IAE/B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAExD,yEAAyE;IACzE,IAAI,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC1C,CAAC;IACD,0EAA0E;IAC1E,gDAAgD;IAChD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAS,EAAE,SAA6B,EAAE;IAC9E,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/api/server.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import { type SetupRoutesConfig } from './setup-endpoints.js';
|
|
|
24
24
|
import { type HarnessStatusDeps } from './harness-status-endpoint.js';
|
|
25
25
|
import type { HarnessReadinessRegistry } from '../harnesses/readiness-registry.js';
|
|
26
26
|
import { type HermesDoctorConfig } from './hermes-doctor-endpoint.js';
|
|
27
|
+
import { type CodexDoctorConfig } from './codex-doctor-endpoint.js';
|
|
27
28
|
import { type LauncherRoutesDeps } from './launcher-endpoints.js';
|
|
28
29
|
import { type OperatorArtifactsRoutesConfig } from './operator-artifacts-endpoint.js';
|
|
29
30
|
import { type StopHookRoutesDeps } from './stop-hook.js';
|
|
@@ -142,6 +143,11 @@ export interface ApiServerConfig {
|
|
|
142
143
|
* Powers the dashboard's Hermes install precheck panel in the join flow.
|
|
143
144
|
*/
|
|
144
145
|
hermesDoctor?: HermesDoctorConfig;
|
|
146
|
+
/**
|
|
147
|
+
* When set, mounts `GET /api/codex/doctor` under the UI token gate.
|
|
148
|
+
* Powers the dashboard's Codex install precheck panel in the join flow.
|
|
149
|
+
*/
|
|
150
|
+
codexDoctor?: CodexDoctorConfig;
|
|
145
151
|
/** Operator-local artifact inventory + future-artifact pricing controls. */
|
|
146
152
|
operatorArtifacts?: Omit<OperatorArtifactsRoutesConfig, 'store'>;
|
|
147
153
|
/** Path D local session-end hook endpoint. */
|
|
@@ -179,4 +185,15 @@ export interface ApiServer {
|
|
|
179
185
|
* See jinn-mono-hqz0. */
|
|
180
186
|
app: Hono;
|
|
181
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Inject the feature-flag bootstrap script into the SPA `index.html`.
|
|
190
|
+
*
|
|
191
|
+
* The script sets `window.__JINN_FEATURES__` before the SPA module loads, so
|
|
192
|
+
* the first render already sees the flags. Inserted immediately before the
|
|
193
|
+
* SPA's `<script type="module">` tag; if that tag is missing the script is
|
|
194
|
+
* appended before `</head>` (or `</body>`) so the SPA still gets it.
|
|
195
|
+
*
|
|
196
|
+
* Exported for unit testing — the runtime call lives in `readSpaIndex`.
|
|
197
|
+
*/
|
|
198
|
+
export declare function injectFeatureFlags(html: string, features: Record<string, boolean>): string;
|
|
182
199
|
export declare function startApiServer(config: ApiServerConfig): Promise<ApiServer>;
|
package/dist/api/server.js
CHANGED
|
@@ -32,6 +32,7 @@ import { addSetupRoutes } from './setup-endpoints.js';
|
|
|
32
32
|
import { addHarnessStatusRoutes } from './harness-status-endpoint.js';
|
|
33
33
|
import { addHarnessReadinessRoutes } from './harness-readiness-endpoint.js';
|
|
34
34
|
import { addHermesDoctorRoutes } from './hermes-doctor-endpoint.js';
|
|
35
|
+
import { addCodexDoctorRoutes } from './codex-doctor-endpoint.js';
|
|
35
36
|
import { addLauncherRoutes } from './launcher-endpoints.js';
|
|
36
37
|
import { addOperatorArtifactsRoutes, } from './operator-artifacts-endpoint.js';
|
|
37
38
|
import { addStopHookRoutes } from './stop-hook.js';
|
|
@@ -67,9 +68,52 @@ function resolveDashboardDir() {
|
|
|
67
68
|
}
|
|
68
69
|
const dashboardDir = resolveDashboardDir() ?? join(__dirname, '..', 'dashboard');
|
|
69
70
|
const assetsDir = join(dashboardDir, 'assets');
|
|
71
|
+
/**
|
|
72
|
+
* Resolve the operator-app feature flags from the daemon environment.
|
|
73
|
+
*
|
|
74
|
+
* Each flag is derived from a `JINN_ENABLE_*` env var ("1" enables). The SPA
|
|
75
|
+
* reads the injected `window.__JINN_FEATURES__` via `lib/features.ts`; absent
|
|
76
|
+
* or partial injection is treated as all-off there, so this can stay a flat
|
|
77
|
+
* boolean record.
|
|
78
|
+
*
|
|
79
|
+
* Issue #327: `pluginBuilderUi` gates the operator-app builder surfaces
|
|
80
|
+
* (`/build` route + Build top-tab). Default-off until the first-run UX is
|
|
81
|
+
* solid; the plug-in substrate (CLI verbs, indexer, Discovery API, docs)
|
|
82
|
+
* stays live regardless.
|
|
83
|
+
*/
|
|
84
|
+
function resolveFeatureFlags() {
|
|
85
|
+
return {
|
|
86
|
+
pluginBuilderUi: process.env['JINN_ENABLE_PLUGIN_BUILDER_UI'] === '1',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Inject the feature-flag bootstrap script into the SPA `index.html`.
|
|
91
|
+
*
|
|
92
|
+
* The script sets `window.__JINN_FEATURES__` before the SPA module loads, so
|
|
93
|
+
* the first render already sees the flags. Inserted immediately before the
|
|
94
|
+
* SPA's `<script type="module">` tag; if that tag is missing the script is
|
|
95
|
+
* appended before `</head>` (or `</body>`) so the SPA still gets it.
|
|
96
|
+
*
|
|
97
|
+
* Exported for unit testing — the runtime call lives in `readSpaIndex`.
|
|
98
|
+
*/
|
|
99
|
+
export function injectFeatureFlags(html, features) {
|
|
100
|
+
const script = `<script>window.__JINN_FEATURES__=${JSON.stringify(features)};</script>`;
|
|
101
|
+
const moduleTagMatch = html.match(/<script\b[^>]*type=["']module["'][^>]*>/i);
|
|
102
|
+
if (moduleTagMatch?.index !== undefined) {
|
|
103
|
+
return html.slice(0, moduleTagMatch.index) + script + html.slice(moduleTagMatch.index);
|
|
104
|
+
}
|
|
105
|
+
if (html.includes('</head>')) {
|
|
106
|
+
return html.replace('</head>', `${script}</head>`);
|
|
107
|
+
}
|
|
108
|
+
if (html.includes('</body>')) {
|
|
109
|
+
return html.replace('</body>', `${script}</body>`);
|
|
110
|
+
}
|
|
111
|
+
return html + script;
|
|
112
|
+
}
|
|
70
113
|
function readSpaIndex() {
|
|
71
114
|
try {
|
|
72
|
-
|
|
115
|
+
const html = readFileSync(join(dashboardDir, 'index.html'), 'utf-8');
|
|
116
|
+
return injectFeatureFlags(html, resolveFeatureFlags());
|
|
73
117
|
}
|
|
74
118
|
catch {
|
|
75
119
|
return [
|
|
@@ -301,6 +345,7 @@ export async function startApiServer(config) {
|
|
|
301
345
|
}
|
|
302
346
|
if (config.ui) {
|
|
303
347
|
addHermesDoctorRoutes(app, config.hermesDoctor ?? {});
|
|
348
|
+
addCodexDoctorRoutes(app, config.codexDoctor ?? {});
|
|
304
349
|
}
|
|
305
350
|
if (config.ui) {
|
|
306
351
|
addOperatorArtifactsRoutes(app, {
|