@jinn-network/client 0.1.6 → 0.1.7-canary.d4e4e183
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 +33 -0
- package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +23 -4
- package/deployments/deployment-jinn-mvi-l1-sepolia.json +23 -4
- package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +5 -4
- package/dist/adapters/mech/adapter.d.ts +38 -1
- package/dist/adapters/mech/adapter.js +241 -54
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +17 -4
- package/dist/adapters/mech/contracts.js +8 -2
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe-revert.d.ts +20 -0
- package/dist/adapters/mech/safe-revert.js +12 -4
- package/dist/adapters/mech/safe-revert.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +5 -1
- package/dist/adapters/mech/safe.js +27 -8
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/verdict-code.d.ts +1 -0
- package/dist/adapters/mech/verdict-code.js +18 -0
- package/dist/adapters/mech/verdict-code.js.map +1 -1
- package/dist/api/admin-endpoint.d.ts +15 -3
- package/dist/api/admin-endpoint.js +24 -2
- package/dist/api/admin-endpoint.js.map +1 -1
- package/dist/api/bootstrap-endpoint.js +49 -0
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +73 -0
- package/dist/api/codex-doctor-endpoint.js +177 -0
- package/dist/api/codex-doctor-endpoint.js.map +1 -0
- package/dist/api/discovery-endpoint.d.ts +1 -0
- package/dist/api/discovery-endpoint.js +26 -0
- package/dist/api/discovery-endpoint.js.map +1 -1
- package/dist/api/fleet-build.d.ts +1 -0
- package/dist/api/fleet-build.js +2 -1
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +11 -0
- package/dist/api/gather-status.js +400 -4
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +117 -0
- package/dist/api/hermes-doctor-endpoint.js +229 -23
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +21 -16
- package/dist/api/launcher-status.js +2 -1
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +10 -0
- package/dist/api/portfolio-v0-build.js +24 -5
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +10 -0
- package/dist/api/prediction-v1-build.js +7 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +31 -1
- package/dist/api/server.js +68 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +16 -0
- package/dist/api/setup-endpoints.js +78 -4
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/setup-retry-endpoint.d.ts +19 -0
- package/dist/api/setup-retry-endpoint.js +32 -0
- package/dist/api/setup-retry-endpoint.js.map +1 -0
- package/dist/api/solvernets-endpoints.d.ts +8 -0
- package/dist/api/solvernets-endpoints.js +71 -43
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +72 -0
- package/dist/api/status-build.js +73 -18
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/task-run-routing.d.ts +7 -0
- package/dist/api/task-run-routing.js +12 -0
- package/dist/api/task-run-routing.js.map +1 -0
- package/dist/api/task-runs-build.d.ts +21 -0
- package/dist/api/task-runs-build.js +14 -1
- package/dist/api/task-runs-build.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/auth.js +1 -1
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/create.js +3 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +2 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/rewards.js +11 -7
- package/dist/cli/commands/rewards.js.map +1 -1
- package/dist/cli/commands/solver-nets.js +24 -9
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/status.js +1 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tasks.js +86 -9
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/update.d.ts +10 -0
- package/dist/cli/commands/update.js +36 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/introspection-context.js +5 -0
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +3 -1
- package/dist/cli/task-native-readiness.js +28 -6
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +106 -5
- package/dist/config.js +97 -18
- package/dist/config.js.map +1 -1
- package/dist/daemon/checkpoint-loop.d.ts +48 -0
- package/dist/daemon/checkpoint-loop.js +76 -0
- package/dist/daemon/checkpoint-loop.js.map +1 -0
- package/dist/daemon/creator.d.ts +1 -1
- package/dist/daemon/creator.js +7 -3
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +19 -0
- package/dist/daemon/daemon.js +68 -1
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/eviction-loop.d.ts +40 -0
- package/dist/daemon/eviction-loop.js +67 -0
- package/dist/daemon/eviction-loop.js.map +1 -0
- package/dist/daemon/jinn-claim-loop-wiring.d.ts +33 -0
- package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
- package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.d.ts +24 -17
- package/dist/daemon/jinn-claim-loop.js +77 -23
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/skip-log-dedup.d.ts +69 -0
- package/dist/daemon/skip-log-dedup.js +106 -0
- package/dist/daemon/skip-log-dedup.js.map +1 -0
- package/dist/dashboard/assets/index-BUlE8F3Y.js +330 -0
- package/dist/dashboard/assets/index-blqc7eqq.css +32 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/factory.d.ts +17 -5
- package/dist/discovery/factory.js +46 -18
- package/dist/discovery/factory.js.map +1 -1
- package/dist/discovery/http.js +142 -3
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.d.ts +5 -0
- package/dist/discovery/onchain.js +407 -15
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +45 -1
- package/dist/discovery/types.js +8 -10
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.d.ts +7 -0
- package/dist/discovery/with-fallback.js +10 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +92 -1
- package/dist/earning/bootstrap.js +203 -63
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +14 -0
- package/dist/earning/contracts.js +17 -5
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/funding-plan.js +27 -18
- package/dist/earning/funding-plan.js.map +1 -1
- package/dist/earning/jinn-rewards.d.ts +46 -0
- package/dist/earning/jinn-rewards.js +32 -0
- package/dist/earning/jinn-rewards.js.map +1 -1
- package/dist/earning/safe-adapter.d.ts +2 -0
- package/dist/earning/safe-adapter.js +26 -12
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/store.d.ts +8 -0
- package/dist/earning/store.js.map +1 -1
- package/dist/earning/testnet-setup-migration.d.ts +12 -0
- package/dist/earning/testnet-setup-migration.js +27 -1
- package/dist/earning/testnet-setup-migration.js.map +1 -1
- package/dist/earning/types.d.ts +15 -0
- package/dist/erc8004/reputation.d.ts +8 -0
- package/dist/erc8004/reputation.js +22 -3
- package/dist/erc8004/reputation.js.map +1 -1
- package/dist/harnesses/cost-estimates.d.ts +145 -0
- package/dist/harnesses/cost-estimates.js +297 -0
- package/dist/harnesses/cost-estimates.js.map +1 -0
- package/dist/harnesses/engine/engine.d.ts +72 -0
- package/dist/harnesses/engine/engine.js +105 -8
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +51 -1
- package/dist/harnesses/engine/persistence.js +118 -5
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
- package/dist/harnesses/engine/work-dir-reaper.js +100 -0
- package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +40 -6
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
- package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/index.d.ts +7 -0
- package/dist/harnesses/impls/index.js +16 -1
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +38 -4
- package/dist/harnesses/impls/learner/harness.js +96 -2
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/plugin-path.d.ts +0 -13
- package/dist/harnesses/impls/learner/plugin-path.js +35 -15
- package/dist/harnesses/impls/learner/plugin-path.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/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +178 -93
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +15 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +54 -4
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
- package/dist/harnesses/readiness-registry.js +9 -1
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/main.js +371 -82
- package/dist/main.js.map +1 -1
- package/dist/observability/emit-event.d.ts +1 -1
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/operator-errors.d.ts +7 -0
- package/dist/operator-errors.js +13 -1
- package/dist/operator-errors.js.map +1 -1
- package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
- package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
- package/dist/plugins/learner/AGENTS.md +40 -0
- package/dist/plugins/learner/CLAUDE.md +33 -0
- package/dist/plugins/learner/README.md +59 -0
- package/dist/plugins/learner/hooks/hooks.json +16 -0
- package/dist/plugins/learner/hooks/session-start +38 -0
- package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
- package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +94 -0
- package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
- package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +113 -0
- package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
- package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
- package/dist/restart-daemon.d.ts +90 -0
- package/dist/restart-daemon.js +95 -0
- package/dist/restart-daemon.js.map +1 -0
- package/dist/setup/halt-mode.d.ts +14 -0
- package/dist/setup/halt-mode.js +17 -0
- package/dist/setup/halt-mode.js.map +1 -0
- package/dist/solver-nets/prediction-operator-ux.js +43 -3
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +1 -0
- package/dist/solver-nets/registry.js +1 -1
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +1 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +65 -0
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +243 -26
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +22 -7
- package/dist/solver-types/swe-rebench-v2-auto.js +45 -20
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +13 -2
- package/dist/solver-types/swe-rebench-v2.js +233 -94
- package/dist/solver-types/swe-rebench-v2.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/dist/solvernets/launched-record-dispatcher.js +35 -7
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/store.d.ts +5 -0
- package/dist/solvernets/store.js +1 -0
- package/dist/solvernets/store.js.map +1 -1
- package/dist/store/store.d.ts +15 -0
- package/dist/store/store.js +118 -3
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/sources.d.ts +18 -1
- package/dist/tasks/sources.js +33 -5
- package/dist/tasks/sources.js.map +1 -1
- package/dist/tx-retry.d.ts +151 -19
- package/dist/tx-retry.js +286 -32
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/payloads/prediction-apy-v0.d.ts +5 -5
- package/dist/types/payloads/prediction-v0.d.ts +5 -5
- package/dist/types/task-document.d.ts +392 -0
- package/dist/types/task-document.js +10 -0
- package/dist/types/task-document.js.map +1 -1
- package/dist/types/task.d.ts +28 -0
- package/dist/util/extract-tx-hash.d.ts +14 -0
- package/dist/util/extract-tx-hash.js +19 -0
- package/dist/util/extract-tx-hash.js.map +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
- package/package.json +29 -12
- package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
- package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
|
@@ -29,6 +29,16 @@ export const TaskClaimPolicySchema = z.object({
|
|
|
29
29
|
submissionDeadlineTs: z.number().int().optional(),
|
|
30
30
|
claimLeaseTtlSeconds: z.number().int().positive().default(30 * 60),
|
|
31
31
|
policyHook: HexStringSchema.optional(),
|
|
32
|
+
/**
|
|
33
|
+
* On-chain `evaluationPolicy.requiredVerdicts` — the number of verdict
|
|
34
|
+
* claim slots per attempt. Optional; the adapter defaults it to 1. A value
|
|
35
|
+
* > 1 lets an honest evaluator still claim and deliver a verdict slot when
|
|
36
|
+
* other (e.g. non-delivering) evaluators have already taken some slots —
|
|
37
|
+
* the per-evaluator cap (`maxVerdictsPerEvaluator: 1`) means no single
|
|
38
|
+
* evaluator can monopolise all of them. Useful on a shared/adversarial
|
|
39
|
+
* network where verdict slots may be squatted.
|
|
40
|
+
*/
|
|
41
|
+
requiredVerdicts: z.number().int().positive().optional(),
|
|
32
42
|
}).passthrough();
|
|
33
43
|
const NoLegacyKindSchema = z.record(z.unknown()).superRefine((spec, ctx) => {
|
|
34
44
|
if (Object.prototype.hasOwnProperty.call(spec, 'kind')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-document.js","sourceRoot":"","sources":["../../src/types/task-document.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAC;AAEjE,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,MAAM,EAAE,eAAe;IACvB,IAAI,EAAE,eAAe;IACrB,GAAG,EAAE,eAAe;CACrB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE,eAAe;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACjD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAClE,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"task-document.js","sourceRoot":"","sources":["../../src/types/task-document.ts"],"names":[],"mappings":"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"}
|
package/dist/types/task.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
52
52
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
53
53
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
54
54
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
55
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
55
56
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
56
57
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
57
58
|
maxClaims: z.ZodNumber;
|
|
@@ -61,6 +62,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
61
62
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
62
63
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
63
64
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
65
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
64
66
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
65
67
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
66
68
|
maxClaims: z.ZodNumber;
|
|
@@ -70,6 +72,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
70
72
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
71
73
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
72
74
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
75
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
73
76
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
74
77
|
signedTask: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
75
78
|
signature: z.ZodObject<{
|
|
@@ -117,6 +120,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
117
120
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
118
121
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
119
122
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
123
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
120
124
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
121
125
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
122
126
|
maxClaims: z.ZodNumber;
|
|
@@ -126,6 +130,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
126
130
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
127
131
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
128
132
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
133
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
129
134
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
130
135
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
131
136
|
maxClaims: z.ZodNumber;
|
|
@@ -135,6 +140,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
135
140
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
136
141
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
137
142
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
143
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
138
144
|
}, z.ZodTypeAny, "passthrough">>;
|
|
139
145
|
creator: z.ZodObject<{
|
|
140
146
|
safeAddress: z.ZodString;
|
|
@@ -193,6 +199,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
193
199
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
194
200
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
195
201
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
202
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
196
203
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
197
204
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
198
205
|
maxClaims: z.ZodNumber;
|
|
@@ -202,6 +209,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
202
209
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
203
210
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
204
211
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
212
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
205
213
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
206
214
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
207
215
|
maxClaims: z.ZodNumber;
|
|
@@ -211,6 +219,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
211
219
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
212
220
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
213
221
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
222
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
214
223
|
}, z.ZodTypeAny, "passthrough">>;
|
|
215
224
|
creator: z.ZodObject<{
|
|
216
225
|
safeAddress: z.ZodString;
|
|
@@ -269,6 +278,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
269
278
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
270
279
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
271
280
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
281
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
272
282
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
273
283
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
274
284
|
maxClaims: z.ZodNumber;
|
|
@@ -278,6 +288,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
278
288
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
279
289
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
280
290
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
291
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
281
292
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
282
293
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
283
294
|
maxClaims: z.ZodNumber;
|
|
@@ -287,6 +298,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
287
298
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
288
299
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
289
300
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
301
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
290
302
|
}, z.ZodTypeAny, "passthrough">>;
|
|
291
303
|
creator: z.ZodObject<{
|
|
292
304
|
safeAddress: z.ZodString;
|
|
@@ -345,6 +357,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
345
357
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
346
358
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
347
359
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
360
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
348
361
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
349
362
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
350
363
|
maxClaims: z.ZodNumber;
|
|
@@ -354,6 +367,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
354
367
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
355
368
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
356
369
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
370
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
357
371
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
358
372
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
359
373
|
maxClaims: z.ZodNumber;
|
|
@@ -363,6 +377,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
363
377
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
364
378
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
365
379
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
380
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
366
381
|
}, z.ZodTypeAny, "passthrough">>;
|
|
367
382
|
creator: z.ZodObject<{
|
|
368
383
|
safeAddress: z.ZodString;
|
|
@@ -421,6 +436,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
421
436
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
422
437
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
423
438
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
439
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
424
440
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
425
441
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
426
442
|
maxClaims: z.ZodNumber;
|
|
@@ -430,6 +446,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
430
446
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
431
447
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
432
448
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
449
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
433
450
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
434
451
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
435
452
|
maxClaims: z.ZodNumber;
|
|
@@ -439,6 +456,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
439
456
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
440
457
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
441
458
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
459
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
442
460
|
}, z.ZodTypeAny, "passthrough">>;
|
|
443
461
|
creator: z.ZodObject<{
|
|
444
462
|
safeAddress: z.ZodString;
|
|
@@ -481,6 +499,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
481
499
|
claimWindowEndTs?: number | undefined;
|
|
482
500
|
submissionDeadlineTs?: number | undefined;
|
|
483
501
|
policyHook?: string | undefined;
|
|
502
|
+
requiredVerdicts?: number | undefined;
|
|
484
503
|
} & {
|
|
485
504
|
[k: string]: unknown;
|
|
486
505
|
};
|
|
@@ -535,6 +554,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
535
554
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
536
555
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
537
556
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
557
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
538
558
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
539
559
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
540
560
|
maxClaims: z.ZodNumber;
|
|
@@ -544,6 +564,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
544
564
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
545
565
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
546
566
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
567
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
547
568
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
548
569
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
549
570
|
maxClaims: z.ZodNumber;
|
|
@@ -553,6 +574,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
553
574
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
554
575
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
555
576
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
577
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
556
578
|
}, z.ZodTypeAny, "passthrough">>;
|
|
557
579
|
creator: z.ZodObject<{
|
|
558
580
|
safeAddress: z.ZodString;
|
|
@@ -589,6 +611,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
589
611
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
590
612
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
591
613
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
614
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
592
615
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
593
616
|
context?: Record<string, unknown> | undefined;
|
|
594
617
|
attemptId?: string | undefined;
|
|
@@ -624,6 +647,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
624
647
|
claimWindowEndTs?: number | undefined;
|
|
625
648
|
submissionDeadlineTs?: number | undefined;
|
|
626
649
|
policyHook?: string | undefined;
|
|
650
|
+
requiredVerdicts?: number | undefined;
|
|
627
651
|
} & {
|
|
628
652
|
[k: string]: unknown;
|
|
629
653
|
};
|
|
@@ -656,6 +680,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
656
680
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
657
681
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
658
682
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
683
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
659
684
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
660
685
|
context?: Record<string, unknown> | undefined;
|
|
661
686
|
attemptId?: string | undefined;
|
|
@@ -707,6 +732,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
707
732
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
708
733
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
709
734
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
735
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
710
736
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
711
737
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
712
738
|
maxClaims: z.ZodNumber;
|
|
@@ -716,6 +742,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
716
742
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
717
743
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
718
744
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
745
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
719
746
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
720
747
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
721
748
|
maxClaims: z.ZodNumber;
|
|
@@ -725,6 +752,7 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
725
752
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
726
753
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
727
754
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
755
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
728
756
|
}, z.ZodTypeAny, "passthrough">>;
|
|
729
757
|
creator: z.ZodObject<{
|
|
730
758
|
safeAddress: z.ZodString;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utility for extracting an Ethereum transaction hash from a string.
|
|
3
|
+
*
|
|
4
|
+
* The same regex is needed by the bootstrap state machine (to surface a
|
|
5
|
+
* block-explorer link in fatal error envelopes) and by the SPA Onboarding
|
|
6
|
+
* region (to render that link). The SPA cannot import from this file directly
|
|
7
|
+
* due to bundler boundaries, so a copy lives at:
|
|
8
|
+
* client/src/dashboard/spa/src/lib/extract-tx-hash.ts
|
|
9
|
+
* Keep the two in sync when changing the regex or signature.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Returns the first Ethereum transaction hash found in `s`, or `null` if none.
|
|
13
|
+
*/
|
|
14
|
+
export declare function extractTxHashFromString(s: string): string | null;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utility for extracting an Ethereum transaction hash from a string.
|
|
3
|
+
*
|
|
4
|
+
* The same regex is needed by the bootstrap state machine (to surface a
|
|
5
|
+
* block-explorer link in fatal error envelopes) and by the SPA Onboarding
|
|
6
|
+
* region (to render that link). The SPA cannot import from this file directly
|
|
7
|
+
* due to bundler boundaries, so a copy lives at:
|
|
8
|
+
* client/src/dashboard/spa/src/lib/extract-tx-hash.ts
|
|
9
|
+
* Keep the two in sync when changing the regex or signature.
|
|
10
|
+
*/
|
|
11
|
+
const TX_HASH_RE = /(0x[a-fA-F0-9]{64})/;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the first Ethereum transaction hash found in `s`, or `null` if none.
|
|
14
|
+
*/
|
|
15
|
+
export function extractTxHashFromString(s) {
|
|
16
|
+
const m = TX_HASH_RE.exec(s);
|
|
17
|
+
return m ? m[1] ?? null : null;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=extract-tx-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-tx-hash.js","sourceRoot":"","sources":["../../src/util/extract-tx-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,CAAS;IAC/C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -82,7 +82,7 @@ export const SWE_REBENCH_V2_V1_SOLVER_NET_CONTRACT = {
|
|
|
82
82
|
},
|
|
83
83
|
claimPolicyDefaults: {
|
|
84
84
|
mode: 'parallel',
|
|
85
|
-
maxClaims:
|
|
85
|
+
maxClaims: 5,
|
|
86
86
|
maxClaimsPerOperator: 5,
|
|
87
87
|
claimLeaseTtlSeconds: 60 * 60, // 1 hour per Task — coding tasks need more time than predictions
|
|
88
88
|
},
|
|
@@ -348,6 +348,7 @@ export declare const SolverNetManifestV1Schema: z.ZodObject<{
|
|
|
348
348
|
solutionPriceWei: z.ZodString;
|
|
349
349
|
verdictPriceWei: z.ZodString;
|
|
350
350
|
openRoles: z.ZodArray<z.ZodEnum<["solver", "evaluator"]>, "many">;
|
|
351
|
+
generatorConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
351
352
|
registry: z.ZodOptional<z.ZodObject<{
|
|
352
353
|
manifestCid: z.ZodOptional<z.ZodString>;
|
|
353
354
|
registryUrl: z.ZodOptional<z.ZodString>;
|
|
@@ -447,6 +448,7 @@ export declare const SolverNetManifestV1Schema: z.ZodObject<{
|
|
|
447
448
|
manifestCid?: string | undefined;
|
|
448
449
|
registryUrl?: string | undefined;
|
|
449
450
|
} | undefined;
|
|
451
|
+
generatorConfig?: Record<string, unknown> | undefined;
|
|
450
452
|
}, {
|
|
451
453
|
description: string;
|
|
452
454
|
schemaVersion: "solvernet.manifest.v1";
|
|
@@ -521,6 +523,7 @@ export declare const SolverNetManifestV1Schema: z.ZodObject<{
|
|
|
521
523
|
manifestCid?: string | undefined;
|
|
522
524
|
registryUrl?: string | undefined;
|
|
523
525
|
} | undefined;
|
|
526
|
+
generatorConfig?: Record<string, unknown> | undefined;
|
|
524
527
|
}>;
|
|
525
528
|
/**
|
|
526
529
|
* The canonical TypeScript shape of a SolverNetManifestV1, derived from the
|
|
@@ -103,6 +103,7 @@ export const SolverNetManifestV1Schema = z.object({
|
|
|
103
103
|
solutionPriceWei: NumericStringZ,
|
|
104
104
|
verdictPriceWei: NumericStringZ,
|
|
105
105
|
openRoles: z.array(z.enum(['solver', 'evaluator'])).min(1),
|
|
106
|
+
generatorConfig: z.record(z.string(), z.unknown()).optional(),
|
|
106
107
|
registry: RegistryZ.optional(),
|
|
107
108
|
createdAt: z.string().min(1),
|
|
108
109
|
launchedAt: z.string().min(1),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jinn-network/client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7-canary.d4e4e183",
|
|
4
4
|
"description": "Jinn protocol client — headless daemon for the restoration training loop",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "yarn@4.13.0",
|
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
"main": "./dist/index.js",
|
|
25
25
|
"types": "./dist/index.d.ts",
|
|
26
26
|
"files": [
|
|
27
|
-
"dist/",
|
|
28
|
-
"deployments/",
|
|
29
|
-
"plugins/",
|
|
30
|
-
"skills/",
|
|
31
|
-
"templates/",
|
|
32
|
-
"docker-compose.yml",
|
|
33
|
-
"CONTRIBUTING.md",
|
|
34
|
-
"CHANGELOG.md",
|
|
35
|
-
"README.md",
|
|
36
|
-
"LICENSE"
|
|
27
|
+
"/dist/",
|
|
28
|
+
"/deployments/",
|
|
29
|
+
"/plugins/",
|
|
30
|
+
"/skills/",
|
|
31
|
+
"/templates/",
|
|
32
|
+
"/docker-compose.yml",
|
|
33
|
+
"/CONTRIBUTING.md",
|
|
34
|
+
"/CHANGELOG.md",
|
|
35
|
+
"/README.md",
|
|
36
|
+
"/LICENSE"
|
|
37
37
|
],
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"jinn": "tsx src/bin/jinn.ts",
|
|
46
46
|
"dev": "yarn build && node dist/bin/jinn.js",
|
|
47
47
|
"build:sdk": "yarn --cwd ../packages/sdk install --immutable && yarn --cwd ../packages/sdk build",
|
|
48
|
-
"build": "yarn build:sdk && yarn build:spa && tsc && chmod +x dist/bin/jinn.js && rm -rf dist/dashboard && mkdir -p dist/dashboard && cp -R src/dashboard/spa/dist/. dist/dashboard/ && rm -rf dist/templates && cp -R templates dist/templates && mkdir -p dist/scripts && cp scripts/fix-node-pty.mjs scripts/swe-rebench-v2-seed-pool.json scripts/swe-rebench-v2-known-bad.json dist/scripts/ && node scripts/vendor-sdk.mjs && node scripts/write-dist-build-meta.mjs",
|
|
48
|
+
"build": "yarn build:sdk && yarn build:spa && tsc && chmod +x dist/bin/jinn.js && rm -rf dist/dashboard && mkdir -p dist/dashboard && cp -R src/dashboard/spa/dist/. dist/dashboard/ && rm -rf dist/templates && cp -R templates dist/templates && rm -rf dist/plugins/learner && mkdir -p dist/plugins && cp -R plugins/learner dist/plugins/learner && mkdir -p dist/scripts && cp scripts/fix-node-pty.mjs scripts/swe-rebench-v2-seed-pool.json scripts/swe-rebench-v2-known-bad.json dist/scripts/ && node scripts/vendor-sdk.mjs && node scripts/write-dist-build-meta.mjs",
|
|
49
49
|
"typecheck": "yarn build:sdk && tsc --noEmit",
|
|
50
50
|
"test": "yarn build:sdk && vitest run",
|
|
51
51
|
"lint:no-late-mount": "node scripts/check-no-late-route-mount.mjs",
|
|
@@ -58,6 +58,17 @@
|
|
|
58
58
|
"pack:smoke": "node scripts/smoke-test-pack.mjs",
|
|
59
59
|
"release:client": "node scripts/release-client.mjs",
|
|
60
60
|
"release:operator-gate": "yarn staking && yarn e2e",
|
|
61
|
+
"release:tier-1": "tsx scripts/release/run-tier-1.ts",
|
|
62
|
+
"release:tier-1:T1.1": "vitest run --config vitest.release-tier-1.config.ts test/release/tier-1/T1.1-bootstrap-fresh-anvil.test.ts",
|
|
63
|
+
"release:tier-1:T1.2": "vitest run --config vitest.release-tier-1.config.ts test/release/tier-1/T1.2-harness-readiness-contract.test.ts",
|
|
64
|
+
"release:tier-1:T1.3": "vitest run test/release/tier-1/T1.3-indexer-round-trip.test.ts",
|
|
65
|
+
"release:tier-1:T1.4": "playwright test --config=playwright.config.ts test/dashboard/release-prep/spa-route-smoke.e2e.test.ts",
|
|
66
|
+
"release:tier-2": "tsx scripts/release/run-tier-2.ts",
|
|
67
|
+
"release:tier-2:T2.1": "vitest run test/release/tier-2/T2.1-cross-op-donation.test.ts",
|
|
68
|
+
"release:tier-2:T2.2": "vitest run test/release/tier-2/T2.2-producer-evaluator.test.ts",
|
|
69
|
+
"release:tier-2:T2.3": "playwright test --config=playwright.config.ts test/dashboard/multi-op/launcher-join-flow.e2e.test.ts",
|
|
70
|
+
"release:tier-3": "tsx scripts/release/run-tier-3.ts",
|
|
71
|
+
"release:tier-3:T3.1": "JINN_T31_REAL=1 vitest run test/release/tier-3/T3.1-producer-evaluator-real.test.ts",
|
|
61
72
|
"release:donation-consumption": "node dist/scripts/donation-consumption-acceptance.js",
|
|
62
73
|
"setup:testnet-acceptance-operator": "node scripts/setup-testnet-acceptance-operator-docker.mjs",
|
|
63
74
|
"setup:testnet-acceptance-operator:docker": "node scripts/setup-testnet-acceptance-operator-docker.mjs",
|
|
@@ -66,6 +77,7 @@
|
|
|
66
77
|
"release:testnet-acceptance:docker": "node scripts/testnet-acceptance-docker.mjs",
|
|
67
78
|
"release:testnet-acceptance:host": "node scripts/testnet-acceptance.mjs",
|
|
68
79
|
"status": "tsx scripts/status.ts",
|
|
80
|
+
"cleanup:engine-work": "tsx scripts/cleanup-engine-work.ts",
|
|
69
81
|
"e2e": "tsx test/e2e/validate.ts",
|
|
70
82
|
"e2e:task-first-local": "tsx test/e2e/task-first-local.ts",
|
|
71
83
|
"e2e:claude-code-learner": "tsx test/e2e/claude-code-learner-portfolio-v0.ts",
|
|
@@ -79,6 +91,11 @@
|
|
|
79
91
|
"e2e:capture": "tsx scripts/e2e-capture-validate.ts",
|
|
80
92
|
"staking": "tsx test/e2e/staking.ts",
|
|
81
93
|
"stolas": "tsx test/e2e/stolas.ts",
|
|
94
|
+
"substrate:adopt": "tsx scripts/release/substrate-adopt.ts",
|
|
95
|
+
"substrate:copy": "tsx scripts/release/substrate-copy.ts",
|
|
96
|
+
"substrate:reap": "tsx scripts/release/substrate-reap.ts",
|
|
97
|
+
"substrate:topup": "tsx scripts/release/substrate-topup.ts",
|
|
98
|
+
"substrate:verify": "tsx scripts/release/substrate-verify.ts",
|
|
82
99
|
"withdraw": "tsx scripts/withdraw.ts",
|
|
83
100
|
"build:spa": "yarn workspace @jinn-network/operator-spa build",
|
|
84
101
|
"dev:spa": "yarn workspace @jinn-network/operator-spa dev",
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
|
|
3
|
-
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
4
|
-
* https://github.com/chjj/term.js
|
|
5
|
-
* @license MIT
|
|
6
|
-
*
|
|
7
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
-
* in the Software without restriction, including without limitation the rights
|
|
10
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
-
* furnished to do so, subject to the following conditions:
|
|
13
|
-
*
|
|
14
|
-
* The above copyright notice and this permission notice shall be included in
|
|
15
|
-
* all copies or substantial portions of the Software.
|
|
16
|
-
*
|
|
17
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
-
* THE SOFTWARE.
|
|
24
|
-
*
|
|
25
|
-
* Originally forked from (with the author's permission):
|
|
26
|
-
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
27
|
-
* http://bellard.org/jslinux/
|
|
28
|
-
* Copyright (c) 2011 Fabrice Bellard
|
|
29
|
-
* The original design remains. The terminal itself
|
|
30
|
-
* has been extended to include xterm CSI codes, among
|
|
31
|
-
* other features.
|
|
32
|
-
*/.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-10{top:2.5rem}.col-span-12{grid-column:span 12 / span 12}.m-3{margin:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-12{margin-left:3rem}.ml-auto{margin-left:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-full{height:100%}.max-h-64{max-height:16rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[1280px\]{max-width:1280px}.max-w-\[34ch\]{max-width:34ch}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[3rem_1fr_auto\]{grid-template-columns:3rem 1fr auto}.grid-cols-\[68px_84px_1fr\]{grid-template-columns:68px 84px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.border{border-width:1px}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-5{padding-bottom:1.25rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--bg: #0c1628;--bg-elevated: #142340;--bg-sunken: #070d18;--fg: #f2f7fc;--fg-muted: #a4b0c2;--fg-dim: #7d8ba3;--border: #1f3a66;--border-strong: #7aa7dc;--border-accent: #c9a048;--accent-sky: #7aa7dc;--accent-sky-hover: #a8c8ea;--accent-gold: #dcb866;--accent-gold-hover: #ead08e;--vow-green: #6a9b8f;--wane: #b8802f;--break-red: #a85a5a;--seer-violet: #7a6db0;--surface: var(--bg-elevated);--surface-sunken: var(--bg-sunken);--radius-1: 4px;--radius-2: 6px;--radius-3: 10px;--radius-pill: 999px;--serif: "Instrument Serif", "Times New Roman", serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}html,body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-feature-settings:"ss01" on,"ss02" on,"cv01" on}#root{min-height:100vh}.j-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--fg-dim)}.j-display{font-family:var(--serif);font-weight:400;letter-spacing:0;line-height:1.05}.j-mono{font-family:var(--mono)}.j-rule{height:1px;background:var(--border)}.j-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-2)}.j-card-bare{background:transparent;border:1px solid var(--border);border-radius:var(--radius-2)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid var(--accent-sky);outline-offset:2px}.xterm,.xterm-viewport,.xterm-screen{width:100%!important}.agent-rail .xterm{min-width:0;overflow:hidden}.agent-rail .xterm-viewport{overflow-x:hidden}.agent-rail .xterm-accessibility-tree{display:none}.hfmf-intro-markdown h1{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.1;letter-spacing:0;color:var(--fg);margin:0 0 16px}.hfmf-intro-markdown h2{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.25;letter-spacing:0;color:var(--fg);margin:28px 0 8px;padding-top:20px;border-top:1px solid var(--border)}.hfmf-intro-markdown h2:first-child,.hfmf-intro-markdown h1+h2{padding-top:0;border-top:none}.hfmf-intro-markdown h3{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);margin:20px 0 8px}.hfmf-intro-markdown p{font-family:var(--mono);font-size:13px;line-height:1.7;letter-spacing:-.01em;color:var(--fg-muted);margin:0 0 12px;max-width:72ch}.hfmf-intro-markdown ul{font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--fg-muted);list-style:none;padding:0;margin:0 0 12px}.hfmf-intro-markdown ul li{position:relative;padding-left:16px;margin:4px 0}.hfmf-intro-markdown ul li:before{content:"—";position:absolute;left:0;color:var(--fg-dim)}.hfmf-intro-markdown code{font-family:var(--mono);font-size:12px;color:var(--accent-sky);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-1);padding:1px 6px}.hfmf-intro-markdown pre{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--fg);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-2);padding:14px 16px;margin:0 0 14px;overflow-x:auto}.hfmf-intro-markdown pre code{background:transparent;border:0;padding:0;color:inherit}.hfmf-intro-markdown a{color:var(--accent-sky);text-decoration:none;border-bottom:1px solid var(--border)}.hfmf-intro-markdown a:hover{color:var(--accent-sky-hover);border-bottom-color:var(--accent-sky)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 768px){.md\:grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}}@media (min-width: 1024px){.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-7{grid-column:span 7 / span 7}}
|