@jinn-network/client 0.1.5 → 0.1.6-canary.0b4ff7f9
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 +98 -0
- package/dist/adapters/mech/adapter.js +7 -7
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/ipfs-pinfile.d.ts +22 -0
- package/dist/adapters/mech/ipfs-pinfile.js +54 -0
- package/dist/adapters/mech/ipfs-pinfile.js.map +1 -0
- package/dist/adapters/mech/ipfs.d.ts +1 -0
- package/dist/adapters/mech/ipfs.js +24 -1
- package/dist/adapters/mech/ipfs.js.map +1 -1
- package/dist/api/bootstrap-endpoint.js +2 -0
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/discovery-endpoint.d.ts +18 -0
- package/dist/api/discovery-endpoint.js +65 -0
- package/dist/api/discovery-endpoint.js.map +1 -0
- package/dist/api/fleet-build.d.ts +7 -0
- package/dist/api/fleet-build.js +6 -1
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/harness-readiness-endpoint.d.ts +13 -0
- package/dist/api/harness-readiness-endpoint.js +15 -0
- package/dist/api/harness-readiness-endpoint.js.map +1 -0
- package/dist/api/hermes-doctor-endpoint.d.ts +26 -0
- package/dist/api/hermes-doctor-endpoint.js +29 -0
- package/dist/api/hermes-doctor-endpoint.js.map +1 -0
- package/dist/api/server.d.ts +21 -0
- package/dist/api/server.js +22 -0
- package/dist/api/server.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/cli/commands/create.d.ts +5 -3
- package/dist/cli/commands/create.js +101 -36
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/solver-nets.d.ts +19 -0
- package/dist/cli/commands/solver-nets.js +140 -2
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/solver-plugins-publish.d.ts +31 -0
- package/dist/cli/commands/solver-plugins-publish.js +169 -0
- package/dist/cli/commands/solver-plugins-publish.js.map +1 -0
- package/dist/cli/commands/solver-plugins-revoke.d.ts +15 -0
- package/dist/cli/commands/solver-plugins-revoke.js +91 -0
- package/dist/cli/commands/solver-plugins-revoke.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +50 -6
- package/dist/cli/commands/solver-plugins.js +205 -68
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/config.d.ts +27 -0
- package/dist/config.js +24 -0
- package/dist/config.js.map +1 -1
- package/dist/conformance/checks/hash-signature.js +6 -2
- package/dist/conformance/checks/hash-signature.js.map +1 -1
- package/dist/conformance/checks/payload.js +4 -2
- package/dist/conformance/checks/payload.js.map +1 -1
- package/dist/conformance/checks/verdict.d.ts +10 -10
- package/dist/conformance/checks/verdict.js +16 -15
- package/dist/conformance/checks/verdict.js.map +1 -1
- package/dist/conformance/harness.d.ts +1 -1
- package/dist/conformance/harness.js +16 -9
- package/dist/conformance/harness.js.map +1 -1
- package/dist/conformance/types.d.ts +10 -3
- package/dist/conformance/types.js.map +1 -1
- package/dist/corpus/acquire.d.ts +1 -3
- package/dist/corpus/acquire.js.map +1 -1
- package/dist/corpus/envelope-projection.d.ts +1 -1
- package/dist/corpus/envelope-projection.js +14 -7
- package/dist/corpus/envelope-projection.js.map +1 -1
- package/dist/corpus/index.d.ts +2 -1
- package/dist/corpus/index.js.map +1 -1
- package/dist/corpus/prediction-brier-scoreboard-report.js +1 -1
- package/dist/corpus/prediction-brier-scoreboard-report.js.map +1 -1
- package/dist/corpus/prediction-brier-scoreboard.js +3 -1
- package/dist/corpus/prediction-brier-scoreboard.js.map +1 -1
- package/dist/corpus/types.d.ts +2 -2
- package/dist/daemon/daemon.d.ts +17 -1
- package/dist/daemon/daemon.js +15 -0
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/freeze-fence.js +6 -3
- package/dist/daemon/freeze-fence.js.map +1 -1
- package/dist/daemon/readiness-gate.d.ts +30 -0
- package/dist/daemon/readiness-gate.js +31 -0
- package/dist/daemon/readiness-gate.js.map +1 -0
- package/dist/dashboard/assets/{index-D_NMfDfV.css → index-B4sTrvQD.css} +1 -1
- package/dist/dashboard/assets/index-C5j0ZJWS.js +140 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.js +121 -0
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +11 -0
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +112 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +9 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/agent-wallet-binding.d.ts +20 -1
- package/dist/earning/agent-wallet-binding.js +54 -16
- package/dist/earning/agent-wallet-binding.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +55 -0
- package/dist/earning/bootstrap.js +376 -20
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/store.js +48 -1
- package/dist/earning/store.js.map +1 -1
- package/dist/earning/types.d.ts +30 -0
- package/dist/earning/types.js +37 -0
- package/dist/earning/types.js.map +1 -1
- package/dist/erc8004/abis.d.ts +64 -0
- package/dist/erc8004/abis.js +48 -0
- package/dist/erc8004/abis.js.map +1 -1
- package/dist/erc8004/plugin-registry.d.ts +102 -0
- package/dist/erc8004/plugin-registry.js +165 -0
- package/dist/erc8004/plugin-registry.js.map +1 -0
- package/dist/harnesses/engine/engine.js +15 -3
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/envelope-assembly.d.ts +2 -2
- package/dist/harnesses/engine/envelope-assembly.js +4 -2
- package/dist/harnesses/engine/envelope-assembly.js.map +1 -1
- package/dist/harnesses/freeze.d.ts +4 -1
- package/dist/harnesses/freeze.js +12 -2
- package/dist/harnesses/freeze.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +4 -1
- package/dist/harnesses/impls/claude-mcp-prediction/index.js +7 -2
- package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.d.ts +4 -1
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +7 -2
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -1
- package/dist/harnesses/impls/evaluation-context.d.ts +15 -4
- package/dist/harnesses/impls/evaluation-context.js +24 -8
- package/dist/harnesses/impls/evaluation-context.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/adapter.d.ts +34 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js +184 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +18 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +231 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +49 -0
- package/dist/harnesses/impls/hermes-agent/config-builder.js +104 -0
- package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +30 -0
- package/dist/harnesses/impls/hermes-agent/harness.js +52 -0
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/index.d.ts +5 -0
- package/dist/harnesses/impls/hermes-agent/index.js +7 -0
- package/dist/harnesses/impls/hermes-agent/index.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/prompt.d.ts +15 -0
- package/dist/harnesses/impls/hermes-agent/prompt.js +37 -0
- package/dist/harnesses/impls/hermes-agent/prompt.js.map +1 -0
- package/dist/harnesses/impls/index.d.ts +6 -0
- package/dist/harnesses/impls/index.js +17 -4
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -0
- package/dist/harnesses/impls/{claude-code-learner → learner}/adapters/codex-code.js +13 -34
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -0
- package/dist/harnesses/impls/learner/adapters/codex-workspace.js.map +1 -0
- package/dist/harnesses/impls/{claude-code-learner → learner}/harness.d.ts +9 -3
- package/dist/harnesses/impls/{claude-code-learner → learner}/harness.js +24 -1
- package/dist/harnesses/impls/learner/harness.js.map +1 -0
- package/dist/harnesses/impls/{claude-code-learner → learner}/harvest.js +15 -3
- package/dist/harnesses/impls/learner/harvest.js.map +1 -0
- package/dist/harnesses/impls/{claude-code-learner → learner}/index.d.ts +5 -5
- package/dist/harnesses/impls/{claude-code-learner → learner}/index.js +4 -4
- package/dist/harnesses/impls/learner/index.js.map +1 -0
- package/dist/harnesses/impls/{claude-code-learner → learner}/plugin-path.d.ts +4 -4
- package/dist/harnesses/impls/{claude-code-learner → learner}/plugin-path.js +7 -7
- package/dist/harnesses/impls/learner/plugin-path.js.map +1 -0
- package/dist/harnesses/impls/{claude-code-learner → learner}/restoration-patch.js +3 -1
- package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -0
- package/dist/harnesses/impls/learner/test-utils/fake-plugin-outputs.js.map +1 -0
- package/dist/harnesses/impls/learner/test-utils/noop-adapter.js.map +1 -0
- package/dist/harnesses/impls/{claude-code-learner → learner}/types.d.ts +12 -2
- package/dist/harnesses/impls/learner/types.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +13 -12
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js +7 -7
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +3 -3
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.js +7 -6
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.js.map +1 -1
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.js +1 -1
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -1
- package/dist/harnesses/impls/prediction-v0-evaluator/index.js +11 -10
- package/dist/harnesses/impls/prediction-v0-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/prediction-v1-evaluator/index.js +11 -10
- package/dist/harnesses/impls/prediction-v1-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +1 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +10 -2
- 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 +24 -5
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +104 -4
- 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 +9 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +25 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/names.d.ts +1 -0
- package/dist/harnesses/names.js +3 -0
- package/dist/harnesses/names.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +48 -0
- package/dist/harnesses/readiness-registry.js +136 -0
- package/dist/harnesses/readiness-registry.js.map +1 -0
- package/dist/harnesses/types.d.ts +7 -0
- package/dist/main.d.ts +14 -0
- package/dist/main.js +70 -35
- package/dist/main.js.map +1 -1
- package/dist/mcp/server.js +14 -13
- package/dist/mcp/server.js.map +1 -1
- package/dist/preflight/claude-auth.d.ts +18 -0
- package/dist/preflight/claude-auth.js +38 -0
- package/dist/preflight/claude-auth.js.map +1 -1
- package/dist/scripts/donation-consumption-acceptance.js +1 -1
- package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-known-bad.json +12 -0
- package/dist/scripts/swe-rebench-v2-seed-pool.json +26 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +52 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js +76 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +38 -12
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +136 -27
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +6 -0
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +1 -0
- package/dist/solver-types/swe-rebench-v2.js +19 -6
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/store/store.js +12 -4
- package/dist/store/store.js.map +1 -1
- package/dist/templates/plugins/runtime-plugin/.mcp.json.tmpl +8 -0
- package/dist/templates/plugins/runtime-plugin/README.md.tmpl +30 -0
- package/dist/templates/plugins/runtime-plugin/gitignore.tmpl +3 -0
- package/dist/templates/plugins/runtime-plugin/jinn.plugin.json.tmpl +21 -0
- package/dist/templates/plugins/runtime-plugin/mcp/server.mjs.tmpl +33 -0
- package/dist/templates/plugins/runtime-plugin/package.json.tmpl +15 -0
- package/dist/templates/plugins/runtime-plugin/test/plugin.test.ts.tmpl +35 -0
- package/dist/templates/plugins/runtime-plugin/tsconfig.json.tmpl +11 -0
- package/dist/templates/plugins/solver-type-plugin/README.md.tmpl +35 -0
- package/dist/templates/plugins/solver-type-plugin/gitignore.tmpl +3 -0
- package/dist/templates/plugins/solver-type-plugin/jinn.plugin.json.tmpl +11 -0
- package/dist/templates/plugins/solver-type-plugin/package.json.tmpl +15 -0
- package/dist/templates/plugins/solver-type-plugin/skills/example/SKILL.md.tmpl +10 -0
- package/dist/templates/plugins/solver-type-plugin/test/plugin.test.ts.tmpl +25 -0
- package/dist/templates/plugins/solver-type-plugin/tsconfig.json.tmpl +11 -0
- package/dist/types/envelope.d.ts +28 -21
- package/dist/types/envelope.js +8 -3
- package/dist/types/envelope.js.map +1 -1
- package/dist/types/payloads/index.d.ts +2 -2
- package/dist/types/payloads/index.js +13 -12
- package/dist/types/payloads/index.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +60 -10
- package/dist/types/payloads/portfolio-v0.js +16 -6
- package/dist/types/payloads/portfolio-v0.js.map +1 -1
- package/dist/types/payloads/prediction-apy-v0.d.ts +52 -10
- package/dist/types/payloads/prediction-apy-v0.js +16 -6
- package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
- package/dist/types/payloads/prediction-v0.d.ts +49 -10
- package/dist/types/payloads/prediction-v0.js +16 -6
- package/dist/types/payloads/prediction-v0.js.map +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +45 -6
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +16 -6
- package/dist/x402/handler.js +51 -20
- package/dist/x402/handler.js.map +1 -1
- package/package.json +8 -3
- package/plugins/swe-rebench-v2-diffmin/.claude-plugin/plugin.json +5 -0
- package/plugins/swe-rebench-v2-diffmin/.mcp.json +8 -0
- package/plugins/swe-rebench-v2-diffmin/README.md +69 -0
- package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +12 -0
- package/plugins/swe-rebench-v2-diffmin/mcp/diff-stats-server.mjs +72 -0
- package/plugins/swe-rebench-v2-diffmin/mcp/diff-stats.mjs +48 -0
- package/plugins/swe-rebench-v2-diffmin/package.json +19 -0
- package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +116 -0
- package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +126 -0
- package/plugins/swe-rebench-v2-diffmin/test/diff-stats.test.ts +62 -0
- package/plugins/swe-rebench-v2-diffmin/test/manifest.test.ts +53 -0
- package/plugins/swe-rebench-v2-diffmin/tsconfig.json +12 -0
- package/plugins/swe-rebench-v2-runtime/README.md +13 -0
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +7 -3
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +6 -17
- package/templates/plugins/runtime-plugin/.mcp.json.tmpl +8 -0
- package/templates/plugins/runtime-plugin/README.md.tmpl +30 -0
- package/templates/plugins/runtime-plugin/gitignore.tmpl +3 -0
- package/templates/plugins/runtime-plugin/jinn.plugin.json.tmpl +21 -0
- package/templates/plugins/runtime-plugin/mcp/server.mjs.tmpl +33 -0
- package/templates/plugins/runtime-plugin/package.json.tmpl +15 -0
- package/templates/plugins/runtime-plugin/test/plugin.test.ts.tmpl +35 -0
- package/templates/plugins/runtime-plugin/tsconfig.json.tmpl +11 -0
- package/templates/plugins/solver-type-plugin/README.md.tmpl +35 -0
- package/templates/plugins/solver-type-plugin/gitignore.tmpl +3 -0
- package/templates/plugins/solver-type-plugin/jinn.plugin.json.tmpl +11 -0
- package/templates/plugins/solver-type-plugin/package.json.tmpl +15 -0
- package/templates/plugins/solver-type-plugin/skills/example/SKILL.md.tmpl +10 -0
- package/templates/plugins/solver-type-plugin/test/plugin.test.ts.tmpl +25 -0
- package/templates/plugins/solver-type-plugin/tsconfig.json.tmpl +11 -0
- package/dist/dashboard/assets/index-BjtltOGc.js +0 -76
- package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/adapters/codex-code.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/adapters/codex-workspace.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/harness.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/harvest.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/index.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/plugin-path.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/restoration-patch.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/test-utils/noop-adapter.js.map +0 -1
- package/dist/harnesses/impls/claude-code-learner/types.js.map +0 -1
- package/dist/preflight/claude-required.d.ts +0 -8
- package/dist/preflight/claude-required.js +0 -17
- package/dist/preflight/claude-required.js.map +0 -1
- /package/dist/harnesses/impls/{claude-code-learner → learner}/adapters/claude-code.d.ts +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/adapters/claude-code.js +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/adapters/codex-code.d.ts +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/adapters/codex-workspace.d.ts +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/adapters/codex-workspace.js +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/harvest.d.ts +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/restoration-patch.d.ts +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/test-utils/fake-plugin-outputs.d.ts +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/test-utils/fake-plugin-outputs.js +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/test-utils/noop-adapter.d.ts +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/test-utils/noop-adapter.js +0 -0
- /package/dist/harnesses/impls/{claude-code-learner → learner}/types.js +0 -0
- /package/plugins/{claude-code-learner → learner}/.claude-plugin/plugin.json +0 -0
- /package/plugins/{claude-code-learner → learner}/.codex-plugin/plugin.json +0 -0
- /package/plugins/{claude-code-learner → learner}/AGENTS.md +0 -0
- /package/plugins/{claude-code-learner → learner}/CLAUDE.md +0 -0
- /package/plugins/{claude-code-learner → learner}/README.md +0 -0
- /package/plugins/{claude-code-learner → learner}/hooks/hooks.json +0 -0
- /package/plugins/{claude-code-learner → learner}/hooks/session-start +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/SKILL.md +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/analyst-prompt.md +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/consolidator-prompt.md +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/explorer-prompt.md +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/planner-prompt.md +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/promoter-prompt.md +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/step-worker-prompt.md +0 -0
- /package/plugins/{claude-code-learner → learner}/skills/learn/strategist-prompt.md +0 -0
|
@@ -31,8 +31,8 @@ export declare const PredictionApyV0RestorationPayloadSchema: z.ZodObject<{
|
|
|
31
31
|
};
|
|
32
32
|
}>;
|
|
33
33
|
export type PredictionApyV0RestorationPayload = z.infer<typeof PredictionApyV0RestorationPayloadSchema>;
|
|
34
|
-
export declare const PredictionApyV0VerdictPayloadSchema: z.ZodObject<{
|
|
35
|
-
|
|
34
|
+
export declare const PredictionApyV0VerdictPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
35
|
+
solutionEnvelope: z.ZodObject<{
|
|
36
36
|
cid: z.ZodString;
|
|
37
37
|
sha256: z.ZodString;
|
|
38
38
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -144,22 +144,22 @@ export declare const PredictionApyV0VerdictPayloadSchema: z.ZodObject<{
|
|
|
144
144
|
detail?: string | Record<string, unknown> | undefined;
|
|
145
145
|
}>, "many">;
|
|
146
146
|
}, "strip", z.ZodTypeAny, {
|
|
147
|
+
verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
|
|
147
148
|
claimed: {
|
|
148
149
|
submittedAt: number;
|
|
149
150
|
modelId: string;
|
|
150
151
|
predictedBps: string;
|
|
151
152
|
submissionManifestCid?: string | undefined;
|
|
152
153
|
};
|
|
153
|
-
|
|
154
|
+
solutionEnvelope: {
|
|
155
|
+
cid: string;
|
|
156
|
+
sha256: string;
|
|
157
|
+
};
|
|
154
158
|
checks: {
|
|
155
159
|
name: string;
|
|
156
160
|
status: "PASS" | "FAIL" | "SKIP" | "INDETERMINATE";
|
|
157
161
|
detail?: string | Record<string, unknown> | undefined;
|
|
158
162
|
}[];
|
|
159
|
-
restorationEnvelope: {
|
|
160
|
-
cid: string;
|
|
161
|
-
sha256: string;
|
|
162
|
-
};
|
|
163
163
|
verificationOfRestoration: {
|
|
164
164
|
timestamp: number;
|
|
165
165
|
claimedTier: "self-signed" | "committed" | "attested" | "consensus" | "proved";
|
|
@@ -186,22 +186,64 @@ export declare const PredictionApyV0VerdictPayloadSchema: z.ZodObject<{
|
|
|
186
186
|
errorBps: string;
|
|
187
187
|
};
|
|
188
188
|
}, {
|
|
189
|
+
verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
|
|
189
190
|
claimed: {
|
|
190
191
|
submittedAt: number;
|
|
191
192
|
modelId: string;
|
|
192
193
|
predictedBps: string;
|
|
193
194
|
submissionManifestCid?: string | undefined;
|
|
194
195
|
};
|
|
195
|
-
|
|
196
|
+
solutionEnvelope: {
|
|
197
|
+
cid: string;
|
|
198
|
+
sha256: string;
|
|
199
|
+
};
|
|
196
200
|
checks: {
|
|
197
201
|
name: string;
|
|
198
202
|
status: "PASS" | "FAIL" | "SKIP" | "INDETERMINATE";
|
|
199
203
|
detail?: string | Record<string, unknown> | undefined;
|
|
200
204
|
}[];
|
|
201
|
-
|
|
205
|
+
verificationOfRestoration: {
|
|
206
|
+
timestamp: number;
|
|
207
|
+
claimedTier: "self-signed" | "committed" | "attested" | "consensus" | "proved";
|
|
208
|
+
sdkVersion: string;
|
|
209
|
+
checks: {
|
|
210
|
+
name: string;
|
|
211
|
+
passed: boolean;
|
|
212
|
+
detail?: string | undefined;
|
|
213
|
+
}[];
|
|
214
|
+
overall: "valid" | "invalid";
|
|
215
|
+
};
|
|
216
|
+
score: string;
|
|
217
|
+
scoreBasis: "absolute-error-linear.v1";
|
|
218
|
+
scoreVersion: string;
|
|
219
|
+
oracleReading: {
|
|
220
|
+
resolveTs: number;
|
|
221
|
+
pool: string;
|
|
222
|
+
reserve: string;
|
|
223
|
+
twaWindowSeconds: number;
|
|
224
|
+
sampleCount: number;
|
|
225
|
+
};
|
|
226
|
+
groundTruth: {
|
|
227
|
+
twApyBps: string;
|
|
228
|
+
errorBps: string;
|
|
229
|
+
};
|
|
230
|
+
}>, {
|
|
231
|
+
verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
|
|
232
|
+
claimed: {
|
|
233
|
+
submittedAt: number;
|
|
234
|
+
modelId: string;
|
|
235
|
+
predictedBps: string;
|
|
236
|
+
submissionManifestCid?: string | undefined;
|
|
237
|
+
};
|
|
238
|
+
solutionEnvelope: {
|
|
202
239
|
cid: string;
|
|
203
240
|
sha256: string;
|
|
204
241
|
};
|
|
242
|
+
checks: {
|
|
243
|
+
name: string;
|
|
244
|
+
status: "PASS" | "FAIL" | "SKIP" | "INDETERMINATE";
|
|
245
|
+
detail?: string | Record<string, unknown> | undefined;
|
|
246
|
+
}[];
|
|
205
247
|
verificationOfRestoration: {
|
|
206
248
|
timestamp: number;
|
|
207
249
|
claimedTier: "self-signed" | "committed" | "attested" | "consensus" | "proved";
|
|
@@ -227,5 +269,5 @@ export declare const PredictionApyV0VerdictPayloadSchema: z.ZodObject<{
|
|
|
227
269
|
twApyBps: string;
|
|
228
270
|
errorBps: string;
|
|
229
271
|
};
|
|
230
|
-
}>;
|
|
272
|
+
}, unknown>;
|
|
231
273
|
export type PredictionApyV0VerdictPayload = z.infer<typeof PredictionApyV0VerdictPayloadSchema>;
|
|
@@ -19,6 +19,19 @@ const CheckSchema = z.object({
|
|
|
19
19
|
status: z.enum(['PASS', 'FAIL', 'SKIP', 'INDETERMINATE']),
|
|
20
20
|
detail: z.union([z.string(), z.record(z.unknown())]).optional(),
|
|
21
21
|
});
|
|
22
|
+
const EnvelopeRefSchema = z.object({
|
|
23
|
+
cid: z.string().min(1),
|
|
24
|
+
sha256: z.string().regex(/^[0-9a-f]{64}$/),
|
|
25
|
+
});
|
|
26
|
+
function normalizeLegacySolutionEnvelopePayload(value) {
|
|
27
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
28
|
+
const payload = value;
|
|
29
|
+
if (payload['solutionEnvelope'] === undefined && payload['restorationEnvelope'] !== undefined) {
|
|
30
|
+
return { ...payload, solutionEnvelope: payload['restorationEnvelope'] };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
22
35
|
const VerificationCheckSchema = z.object({
|
|
23
36
|
name: z.string(),
|
|
24
37
|
passed: z.boolean(),
|
|
@@ -31,11 +44,8 @@ const VerificationOfRestorationSchema = z.object({
|
|
|
31
44
|
checks: z.array(VerificationCheckSchema),
|
|
32
45
|
overall: z.enum(['valid', 'invalid']),
|
|
33
46
|
});
|
|
34
|
-
export const PredictionApyV0VerdictPayloadSchema = z.object({
|
|
35
|
-
|
|
36
|
-
cid: z.string().min(1),
|
|
37
|
-
sha256: z.string().regex(/^[0-9a-f]{64}$/),
|
|
38
|
-
}),
|
|
47
|
+
export const PredictionApyV0VerdictPayloadSchema = z.preprocess(normalizeLegacySolutionEnvelopePayload, z.object({
|
|
48
|
+
solutionEnvelope: EnvelopeRefSchema,
|
|
39
49
|
verificationOfRestoration: VerificationOfRestorationSchema,
|
|
40
50
|
verdict: z.enum(['PASS', 'FAIL', 'REJECTED', 'INDETERMINATE']),
|
|
41
51
|
score: z.string(),
|
|
@@ -59,5 +69,5 @@ export const PredictionApyV0VerdictPayloadSchema = z.object({
|
|
|
59
69
|
errorBps: z.string().regex(/^\d+$/),
|
|
60
70
|
}),
|
|
61
71
|
checks: z.array(CheckSchema),
|
|
62
|
-
});
|
|
72
|
+
}));
|
|
63
73
|
//# sourceMappingURL=prediction-apy-v0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prediction-apy-v0.js","sourceRoot":"","sources":["../../../src/types/payloads/prediction-apy-v0.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAC;AACjG,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;AAErF,iFAAiF;AAEjF,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC;CACH,CAAC,CAAC;AAMH,iFAAiF;AAEjF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"prediction-apy-v0.js","sourceRoot":"","sources":["../../../src/types/payloads/prediction-apy-v0.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,8 +77,8 @@ export declare const PredictionV0RestorationPayloadSchema: z.ZodObject<{
|
|
|
77
77
|
} | undefined;
|
|
78
78
|
}>;
|
|
79
79
|
export type PredictionV0RestorationPayload = z.infer<typeof PredictionV0RestorationPayloadSchema>;
|
|
80
|
-
export declare const PredictionV0VerdictPayloadSchema: z.ZodObject<{
|
|
81
|
-
|
|
80
|
+
export declare const PredictionV0VerdictPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
81
|
+
solutionEnvelope: z.ZodObject<{
|
|
82
82
|
cid: z.ZodString;
|
|
83
83
|
sha256: z.ZodString;
|
|
84
84
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -181,22 +181,22 @@ export declare const PredictionV0VerdictPayloadSchema: z.ZodObject<{
|
|
|
181
181
|
detail?: string | Record<string, unknown> | undefined;
|
|
182
182
|
}>, "many">;
|
|
183
183
|
}, "strip", z.ZodTypeAny, {
|
|
184
|
+
verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
|
|
184
185
|
claimed: {
|
|
185
186
|
probability: string;
|
|
186
187
|
submittedAt: number;
|
|
187
188
|
modelId: string;
|
|
188
189
|
submissionManifestCid?: string | undefined;
|
|
189
190
|
};
|
|
190
|
-
|
|
191
|
+
solutionEnvelope: {
|
|
192
|
+
cid: string;
|
|
193
|
+
sha256: string;
|
|
194
|
+
};
|
|
191
195
|
checks: {
|
|
192
196
|
name: string;
|
|
193
197
|
status: "PASS" | "FAIL" | "SKIP" | "INDETERMINATE";
|
|
194
198
|
detail?: string | Record<string, unknown> | undefined;
|
|
195
199
|
}[];
|
|
196
|
-
restorationEnvelope: {
|
|
197
|
-
cid: string;
|
|
198
|
-
sha256: string;
|
|
199
|
-
};
|
|
200
200
|
verificationOfRestoration: {
|
|
201
201
|
timestamp: number;
|
|
202
202
|
claimedTier: "self-signed" | "committed" | "attested" | "consensus" | "proved";
|
|
@@ -220,22 +220,61 @@ export declare const PredictionV0VerdictPayloadSchema: z.ZodObject<{
|
|
|
220
220
|
};
|
|
221
221
|
groundTruth: "YES" | "NO";
|
|
222
222
|
}, {
|
|
223
|
+
verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
|
|
223
224
|
claimed: {
|
|
224
225
|
probability: string;
|
|
225
226
|
submittedAt: number;
|
|
226
227
|
modelId: string;
|
|
227
228
|
submissionManifestCid?: string | undefined;
|
|
228
229
|
};
|
|
229
|
-
|
|
230
|
+
solutionEnvelope: {
|
|
231
|
+
cid: string;
|
|
232
|
+
sha256: string;
|
|
233
|
+
};
|
|
230
234
|
checks: {
|
|
231
235
|
name: string;
|
|
232
236
|
status: "PASS" | "FAIL" | "SKIP" | "INDETERMINATE";
|
|
233
237
|
detail?: string | Record<string, unknown> | undefined;
|
|
234
238
|
}[];
|
|
235
|
-
|
|
239
|
+
verificationOfRestoration: {
|
|
240
|
+
timestamp: number;
|
|
241
|
+
claimedTier: "self-signed" | "committed" | "attested" | "consensus" | "proved";
|
|
242
|
+
sdkVersion: string;
|
|
243
|
+
checks: {
|
|
244
|
+
name: string;
|
|
245
|
+
passed: boolean;
|
|
246
|
+
detail?: string | undefined;
|
|
247
|
+
}[];
|
|
248
|
+
overall: "valid" | "invalid";
|
|
249
|
+
};
|
|
250
|
+
score: string;
|
|
251
|
+
scoreBasis: "brier.v1";
|
|
252
|
+
scoreVersion: string;
|
|
253
|
+
oracleReading: {
|
|
254
|
+
feed: string;
|
|
255
|
+
roundId: string;
|
|
256
|
+
answer: string;
|
|
257
|
+
updatedAt: number;
|
|
258
|
+
nextRoundUpdatedAt?: number | undefined;
|
|
259
|
+
};
|
|
260
|
+
groundTruth: "YES" | "NO";
|
|
261
|
+
}>, {
|
|
262
|
+
verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
|
|
263
|
+
claimed: {
|
|
264
|
+
probability: string;
|
|
265
|
+
submittedAt: number;
|
|
266
|
+
modelId: string;
|
|
267
|
+
submissionManifestCid?: string | undefined;
|
|
268
|
+
};
|
|
269
|
+
solutionEnvelope: {
|
|
236
270
|
cid: string;
|
|
237
271
|
sha256: string;
|
|
238
272
|
};
|
|
273
|
+
checks: {
|
|
274
|
+
name: string;
|
|
275
|
+
status: "PASS" | "FAIL" | "SKIP" | "INDETERMINATE";
|
|
276
|
+
detail?: string | Record<string, unknown> | undefined;
|
|
277
|
+
}[];
|
|
239
278
|
verificationOfRestoration: {
|
|
240
279
|
timestamp: number;
|
|
241
280
|
claimedTier: "self-signed" | "committed" | "attested" | "consensus" | "proved";
|
|
@@ -258,5 +297,5 @@ export declare const PredictionV0VerdictPayloadSchema: z.ZodObject<{
|
|
|
258
297
|
nextRoundUpdatedAt?: number | undefined;
|
|
259
298
|
};
|
|
260
299
|
groundTruth: "YES" | "NO";
|
|
261
|
-
}>;
|
|
300
|
+
}, unknown>;
|
|
262
301
|
export type PredictionV0VerdictPayload = z.infer<typeof PredictionV0VerdictPayloadSchema>;
|
|
@@ -32,6 +32,19 @@ const CheckSchema = z.object({
|
|
|
32
32
|
status: z.enum(['PASS', 'FAIL', 'SKIP', 'INDETERMINATE']),
|
|
33
33
|
detail: z.union([z.string(), z.record(z.unknown())]).optional(),
|
|
34
34
|
});
|
|
35
|
+
const EnvelopeRefSchema = z.object({
|
|
36
|
+
cid: z.string().min(1),
|
|
37
|
+
sha256: z.string().regex(/^[0-9a-f]{64}$/),
|
|
38
|
+
});
|
|
39
|
+
function normalizeLegacySolutionEnvelopePayload(value) {
|
|
40
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
41
|
+
const payload = value;
|
|
42
|
+
if (payload['solutionEnvelope'] === undefined && payload['restorationEnvelope'] !== undefined) {
|
|
43
|
+
return { ...payload, solutionEnvelope: payload['restorationEnvelope'] };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
35
48
|
const VerificationCheckSchema = z.object({
|
|
36
49
|
name: z.string(),
|
|
37
50
|
passed: z.boolean(),
|
|
@@ -44,11 +57,8 @@ const VerificationOfRestorationSchema = z.object({
|
|
|
44
57
|
checks: z.array(VerificationCheckSchema),
|
|
45
58
|
overall: z.enum(['valid', 'invalid']),
|
|
46
59
|
});
|
|
47
|
-
export const PredictionV0VerdictPayloadSchema = z.object({
|
|
48
|
-
|
|
49
|
-
cid: z.string().min(1),
|
|
50
|
-
sha256: z.string().regex(/^[0-9a-f]{64}$/),
|
|
51
|
-
}),
|
|
60
|
+
export const PredictionV0VerdictPayloadSchema = z.preprocess(normalizeLegacySolutionEnvelopePayload, z.object({
|
|
61
|
+
solutionEnvelope: EnvelopeRefSchema,
|
|
52
62
|
verificationOfRestoration: VerificationOfRestorationSchema,
|
|
53
63
|
verdict: z.enum(['PASS', 'FAIL', 'REJECTED', 'INDETERMINATE']),
|
|
54
64
|
score: z.string(),
|
|
@@ -69,5 +79,5 @@ export const PredictionV0VerdictPayloadSchema = z.object({
|
|
|
69
79
|
}),
|
|
70
80
|
groundTruth: z.enum(['YES', 'NO']),
|
|
71
81
|
checks: z.array(CheckSchema),
|
|
72
|
-
});
|
|
82
|
+
}));
|
|
73
83
|
//# sourceMappingURL=prediction-v0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prediction-v0.js","sourceRoot":"","sources":["../../../src/types/payloads/prediction-v0.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAC;AAEjG,iFAAiF;AAEjF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,EAAE,4BAA4B,CAAC;QACrF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC;IACF,cAAc,EAAE,CAAC;SACd,MAAM,CAAC;QACN,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;KAC5B,CAAC;SACD,QAAQ,EAAE;IACb,SAAS,EAAE,CAAC;SACT,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH,iFAAiF;AAEjF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"prediction-v0.js","sourceRoot":"","sources":["../../../src/types/payloads/prediction-v0.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ export declare const PredictionV1RestorationPayloadSchema: z.ZodObject<{
|
|
|
46
46
|
}[] | undefined;
|
|
47
47
|
}>;
|
|
48
48
|
export type PredictionV1RestorationPayload = z.infer<typeof PredictionV1RestorationPayloadSchema>;
|
|
49
|
-
export declare const PredictionV1VerdictPayloadSchema: z.ZodObject<{
|
|
49
|
+
export declare const PredictionV1VerdictPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
50
50
|
verdict: z.ZodEnum<["SCORED", "REJECTED", "INVALID", "INDETERMINATE"]>;
|
|
51
51
|
outcome: z.ZodOptional<z.ZodEnum<["YES", "NO", "INVALID"]>>;
|
|
52
52
|
resolvedAt: z.ZodOptional<z.ZodString>;
|
|
@@ -142,6 +142,10 @@ export declare const PredictionV1VerdictPayloadSchema: z.ZodObject<{
|
|
|
142
142
|
detail?: string | Record<string, unknown> | undefined;
|
|
143
143
|
}>, "many">;
|
|
144
144
|
}, "strip", z.ZodTypeAny, {
|
|
145
|
+
solutionEnvelope: {
|
|
146
|
+
cid: string;
|
|
147
|
+
sha256: string;
|
|
148
|
+
};
|
|
145
149
|
verdict: "INDETERMINATE" | "SCORED" | "REJECTED" | "INVALID";
|
|
146
150
|
resolutionSource: {
|
|
147
151
|
venue: "polymarket";
|
|
@@ -153,10 +157,6 @@ export declare const PredictionV1VerdictPayloadSchema: z.ZodObject<{
|
|
|
153
157
|
cid: string;
|
|
154
158
|
id: string;
|
|
155
159
|
};
|
|
156
|
-
solutionEnvelope: {
|
|
157
|
-
cid: string;
|
|
158
|
-
sha256: string;
|
|
159
|
-
};
|
|
160
160
|
benchmark: {
|
|
161
161
|
sampledAt: string;
|
|
162
162
|
probabilityYes: string;
|
|
@@ -181,6 +181,10 @@ export declare const PredictionV1VerdictPayloadSchema: z.ZodObject<{
|
|
|
181
181
|
brierSpread: string;
|
|
182
182
|
} | undefined;
|
|
183
183
|
}, {
|
|
184
|
+
solutionEnvelope: {
|
|
185
|
+
cid: string;
|
|
186
|
+
sha256: string;
|
|
187
|
+
};
|
|
184
188
|
verdict: "INDETERMINATE" | "SCORED" | "REJECTED" | "INVALID";
|
|
185
189
|
resolutionSource: {
|
|
186
190
|
venue: "polymarket";
|
|
@@ -192,10 +196,45 @@ export declare const PredictionV1VerdictPayloadSchema: z.ZodObject<{
|
|
|
192
196
|
cid: string;
|
|
193
197
|
id: string;
|
|
194
198
|
};
|
|
199
|
+
benchmark: {
|
|
200
|
+
sampledAt: string;
|
|
201
|
+
probabilityYes: string;
|
|
202
|
+
method: "best-bid-ask-midpoint";
|
|
203
|
+
};
|
|
204
|
+
checks: {
|
|
205
|
+
status: "PASS" | "FAIL" | "SKIP" | "INDETERMINATE";
|
|
206
|
+
name: string;
|
|
207
|
+
detail?: string | Record<string, unknown> | undefined;
|
|
208
|
+
}[];
|
|
209
|
+
outcome?: "YES" | "NO" | "INVALID" | undefined;
|
|
210
|
+
resolvedAt?: string | undefined;
|
|
211
|
+
claimed?: {
|
|
212
|
+
probabilityYes: string;
|
|
213
|
+
submittedAt: string;
|
|
214
|
+
modelId: string;
|
|
215
|
+
} | undefined;
|
|
216
|
+
scores?: {
|
|
217
|
+
scoreBasis: "brier-loss.v1";
|
|
218
|
+
solverBrier: string;
|
|
219
|
+
consensusBrier: string;
|
|
220
|
+
brierSpread: string;
|
|
221
|
+
} | undefined;
|
|
222
|
+
}>, {
|
|
195
223
|
solutionEnvelope: {
|
|
196
224
|
cid: string;
|
|
197
225
|
sha256: string;
|
|
198
226
|
};
|
|
227
|
+
verdict: "INDETERMINATE" | "SCORED" | "REJECTED" | "INVALID";
|
|
228
|
+
resolutionSource: {
|
|
229
|
+
venue: "polymarket";
|
|
230
|
+
url: string;
|
|
231
|
+
marketId: string;
|
|
232
|
+
conditionId: string;
|
|
233
|
+
};
|
|
234
|
+
task: {
|
|
235
|
+
cid: string;
|
|
236
|
+
id: string;
|
|
237
|
+
};
|
|
199
238
|
benchmark: {
|
|
200
239
|
sampledAt: string;
|
|
201
240
|
probabilityYes: string;
|
|
@@ -219,5 +258,5 @@ export declare const PredictionV1VerdictPayloadSchema: z.ZodObject<{
|
|
|
219
258
|
consensusBrier: string;
|
|
220
259
|
brierSpread: string;
|
|
221
260
|
} | undefined;
|
|
222
|
-
}>;
|
|
261
|
+
}, unknown>;
|
|
223
262
|
export type PredictionV1VerdictPayload = z.infer<typeof PredictionV1VerdictPayloadSchema>;
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { DecimalProbabilitySchema, IsoDateTimeSchema } from '../prediction-v1.js';
|
|
3
3
|
const Sha256Schema = z.string().regex(/^[0-9a-f]{64}$/);
|
|
4
|
+
const EnvelopeRefSchema = z.object({
|
|
5
|
+
cid: z.string(),
|
|
6
|
+
sha256: Sha256Schema,
|
|
7
|
+
});
|
|
8
|
+
function normalizeLegacySolutionEnvelopePayload(value) {
|
|
9
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
10
|
+
const payload = value;
|
|
11
|
+
if (payload['solutionEnvelope'] === undefined && payload['restorationEnvelope'] !== undefined) {
|
|
12
|
+
return { ...payload, solutionEnvelope: payload['restorationEnvelope'] };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
4
17
|
const CheckSchema = z.object({
|
|
5
18
|
name: z.string().min(1),
|
|
6
19
|
status: z.enum(['PASS', 'FAIL', 'SKIP', 'INDETERMINATE']),
|
|
@@ -22,7 +35,7 @@ export const PredictionV1RestorationPayloadSchema = z.object({
|
|
|
22
35
|
}))
|
|
23
36
|
.optional(),
|
|
24
37
|
});
|
|
25
|
-
export const PredictionV1VerdictPayloadSchema = z.object({
|
|
38
|
+
export const PredictionV1VerdictPayloadSchema = z.preprocess(normalizeLegacySolutionEnvelopePayload, z.object({
|
|
26
39
|
verdict: z.enum(['SCORED', 'REJECTED', 'INVALID', 'INDETERMINATE']),
|
|
27
40
|
outcome: z.enum(['YES', 'NO', 'INVALID']).optional(),
|
|
28
41
|
resolvedAt: IsoDateTimeSchema.optional(),
|
|
@@ -36,10 +49,7 @@ export const PredictionV1VerdictPayloadSchema = z.object({
|
|
|
36
49
|
cid: z.string(),
|
|
37
50
|
id: z.string().min(1),
|
|
38
51
|
}),
|
|
39
|
-
solutionEnvelope:
|
|
40
|
-
cid: z.string(),
|
|
41
|
-
sha256: Sha256Schema,
|
|
42
|
-
}),
|
|
52
|
+
solutionEnvelope: EnvelopeRefSchema,
|
|
43
53
|
claimed: z
|
|
44
54
|
.object({
|
|
45
55
|
probabilityYes: DecimalProbabilitySchema,
|
|
@@ -61,4 +71,4 @@ export const PredictionV1VerdictPayloadSchema = z.object({
|
|
|
61
71
|
})
|
|
62
72
|
.optional(),
|
|
63
73
|
checks: z.array(CheckSchema),
|
|
64
|
-
});
|
|
74
|
+
}));
|
package/dist/x402/handler.js
CHANGED
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
* The route is keyed by sha256, matching the artifact identifier in the signed
|
|
11
11
|
* envelope (post jinn-mono-vy37.1.2 — artifacts no longer have IPFS CIDs).
|
|
12
12
|
*/
|
|
13
|
+
import { x402ResourceServer } from '@x402/core/server';
|
|
14
|
+
import { decodePaymentSignatureHeader, encodePaymentRequiredHeader, encodePaymentResponseHeader } from '@x402/core/http';
|
|
15
|
+
import { registerExactEvmScheme as registerExactEvmServerScheme } from '@x402/evm/exact/server';
|
|
13
16
|
import { createLocalFacilitatorClient } from './facilitator.js';
|
|
14
17
|
function dollarStringFromUsdc(usdc) {
|
|
15
18
|
// X402 'exact' scheme expects a string like '$0.001' for USDC amounts.
|
|
@@ -43,7 +46,9 @@ function stringFromRecord(value, keys) {
|
|
|
43
46
|
return typeof current === 'string' && current.length > 0 ? current : null;
|
|
44
47
|
}
|
|
45
48
|
function payerFromPayload(payload) {
|
|
46
|
-
return (stringFromRecord(payload, ['
|
|
49
|
+
return (stringFromRecord(payload, ['authorization', 'from'])
|
|
50
|
+
?? stringFromRecord(payload, ['permit2Authorization', 'owner'])
|
|
51
|
+
?? stringFromRecord(payload, ['payload', 'authorization', 'from'])
|
|
47
52
|
?? stringFromRecord(payload, ['payload', 'permit2Authorization', 'owner'])
|
|
48
53
|
?? stringFromRecord(payload, ['payer']));
|
|
49
54
|
}
|
|
@@ -67,7 +72,36 @@ export function addX402Routes(app, store, config) {
|
|
|
67
72
|
network: config.network,
|
|
68
73
|
rpcUrl: config.rpcUrl,
|
|
69
74
|
});
|
|
75
|
+
const resourceServer = new x402ResourceServer(facilitator);
|
|
70
76
|
const network = (config.network ?? 'eip155:8453');
|
|
77
|
+
registerExactEvmServerScheme(resourceServer, { networks: [network] });
|
|
78
|
+
const resourceServerReady = resourceServer.initialize();
|
|
79
|
+
async function paymentRequiredFor(c, sha256, priceUsdc) {
|
|
80
|
+
await resourceServerReady;
|
|
81
|
+
const requirements = await resourceServer.buildPaymentRequirements({
|
|
82
|
+
scheme: 'exact',
|
|
83
|
+
payTo: config.recipientAddress,
|
|
84
|
+
price: dollarStringFromUsdc(priceUsdc),
|
|
85
|
+
network,
|
|
86
|
+
maxTimeoutSeconds: 300,
|
|
87
|
+
});
|
|
88
|
+
const response = await resourceServer.createPaymentRequiredResponse(requirements, {
|
|
89
|
+
url: c.req.url,
|
|
90
|
+
description: `artifact ${sha256.slice(0, 12)}`,
|
|
91
|
+
mimeType: 'application/octet-stream',
|
|
92
|
+
}, 'Payment required');
|
|
93
|
+
return { requirements, response };
|
|
94
|
+
}
|
|
95
|
+
function paymentRequiredResponse(response) {
|
|
96
|
+
return new Response(JSON.stringify(response), {
|
|
97
|
+
status: 402,
|
|
98
|
+
headers: {
|
|
99
|
+
'Content-Type': 'application/json',
|
|
100
|
+
'PAYMENT-REQUIRED': encodePaymentRequiredHeader(response),
|
|
101
|
+
'Access-Control-Expose-Headers': 'PAYMENT-REQUIRED,X-PAYMENT-RESPONSE',
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
71
105
|
app.get('/v1/artifacts/:sha256/content', async (c) => {
|
|
72
106
|
const sha256 = c.req.param('sha256');
|
|
73
107
|
if (!sha256)
|
|
@@ -99,16 +133,10 @@ export function addX402Routes(app, store, config) {
|
|
|
99
133
|
c.header('X-Artifact-Type', row.artifactType ?? '');
|
|
100
134
|
return c.body(new Uint8Array(row.content));
|
|
101
135
|
}
|
|
102
|
-
// Paid path
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
price: dollarStringFromUsdc(row.priceUsdc),
|
|
107
|
-
network,
|
|
108
|
-
description: `artifact ${sha256.slice(0, 12)}…`,
|
|
109
|
-
}];
|
|
110
|
-
const xPayment = c.req.header('X-Payment');
|
|
111
|
-
if (!xPayment) {
|
|
136
|
+
// Paid path.
|
|
137
|
+
const { requirements, response: paymentRequired } = await paymentRequiredFor(c, sha256, row.priceUsdc);
|
|
138
|
+
const paymentSignature = c.req.header('PAYMENT-SIGNATURE') ?? c.req.header('X-Payment');
|
|
139
|
+
if (!paymentSignature) {
|
|
112
140
|
safeRecordAccess(store, {
|
|
113
141
|
sha256,
|
|
114
142
|
artifactType: row.artifactType,
|
|
@@ -118,12 +146,12 @@ export function addX402Routes(app, store, config) {
|
|
|
118
146
|
createdAt: new Date().toISOString(),
|
|
119
147
|
...requestMeta(c),
|
|
120
148
|
});
|
|
121
|
-
return
|
|
149
|
+
return paymentRequiredResponse(paymentRequired);
|
|
122
150
|
}
|
|
123
151
|
let decoded;
|
|
124
152
|
try {
|
|
125
|
-
decoded =
|
|
126
|
-
const requirement =
|
|
153
|
+
decoded = decodePaymentSignatureHeader(paymentSignature);
|
|
154
|
+
const requirement = resourceServer.findMatchingRequirements(requirements, decoded);
|
|
127
155
|
if (!requirement) {
|
|
128
156
|
safeRecordAccess(store, {
|
|
129
157
|
sha256,
|
|
@@ -136,9 +164,9 @@ export function addX402Routes(app, store, config) {
|
|
|
136
164
|
createdAt: new Date().toISOString(),
|
|
137
165
|
...requestMeta(c),
|
|
138
166
|
});
|
|
139
|
-
return
|
|
167
|
+
return paymentRequiredResponse(paymentRequired);
|
|
140
168
|
}
|
|
141
|
-
const verification = await
|
|
169
|
+
const verification = await resourceServer.verifyPayment(decoded, requirement);
|
|
142
170
|
if (!verification.isValid) {
|
|
143
171
|
const reason = verification.invalidReason ?? 'Payment verification failed';
|
|
144
172
|
safeRecordAccess(store, {
|
|
@@ -152,9 +180,9 @@ export function addX402Routes(app, store, config) {
|
|
|
152
180
|
createdAt: new Date().toISOString(),
|
|
153
181
|
...requestMeta(c),
|
|
154
182
|
});
|
|
155
|
-
return
|
|
183
|
+
return paymentRequiredResponse(paymentRequired);
|
|
156
184
|
}
|
|
157
|
-
const settlement = await
|
|
185
|
+
const settlement = await resourceServer.settlePayment(decoded, requirement);
|
|
158
186
|
if (!settlement.success) {
|
|
159
187
|
const reason = settlement.errorReason ?? 'Settlement failed';
|
|
160
188
|
safeRecordAccess(store, {
|
|
@@ -169,7 +197,7 @@ export function addX402Routes(app, store, config) {
|
|
|
169
197
|
createdAt: new Date().toISOString(),
|
|
170
198
|
...requestMeta(c),
|
|
171
199
|
});
|
|
172
|
-
return
|
|
200
|
+
return paymentRequiredResponse(paymentRequired);
|
|
173
201
|
}
|
|
174
202
|
safeRecordAccess(store, {
|
|
175
203
|
sha256,
|
|
@@ -182,6 +210,9 @@ export function addX402Routes(app, store, config) {
|
|
|
182
210
|
createdAt: new Date().toISOString(),
|
|
183
211
|
...requestMeta(c),
|
|
184
212
|
});
|
|
213
|
+
const paymentResponse = encodePaymentResponseHeader(settlement);
|
|
214
|
+
c.header('PAYMENT-RESPONSE', paymentResponse);
|
|
215
|
+
c.header('X-PAYMENT-RESPONSE', paymentResponse);
|
|
185
216
|
}
|
|
186
217
|
catch (err) {
|
|
187
218
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -195,7 +226,7 @@ export function addX402Routes(app, store, config) {
|
|
|
195
226
|
createdAt: new Date().toISOString(),
|
|
196
227
|
...requestMeta(c),
|
|
197
228
|
});
|
|
198
|
-
return
|
|
229
|
+
return paymentRequiredResponse(paymentRequired);
|
|
199
230
|
}
|
|
200
231
|
c.header('Content-Type', mimeForArtifactType(row.artifactType));
|
|
201
232
|
c.header('X-Artifact-Type', row.artifactType ?? '');
|
package/dist/x402/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/x402/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAehE,SAAS,oBAAoB,CAAC,IAAY;IACxC,uEAAuE;IACvE,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAgC;IAC3D,IAAI,CAAC,YAAY;QAAE,OAAO,0BAA0B,CAAC;IACrD,MAAM,CAAC,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IACxE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACrE,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,CAAU;IAC7B,OAAO;QACL,UAAU,EACR,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;eACnD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC;eAChC,IAAI;QACT,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,IAAc;IACtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjE,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,CACL,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/x402/handler.ts"],"names":[],"mappings":"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"}
|