@jinn-network/client 0.1.3-canary.8e61ba74 → 0.1.3-canary.941614bc

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.
Files changed (183) hide show
  1. package/README.md +2 -8
  2. package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +38 -0
  3. package/dist/agent/agent-ws.d.ts +2 -1
  4. package/dist/agent/agent-ws.js +2 -1
  5. package/dist/agent/agent-ws.js.map +1 -1
  6. package/dist/api/agent-binding-endpoint.d.ts +26 -0
  7. package/dist/api/agent-binding-endpoint.js +28 -0
  8. package/dist/api/agent-binding-endpoint.js.map +1 -0
  9. package/dist/api/bootstrap-endpoint.d.ts +8 -0
  10. package/dist/api/bootstrap-endpoint.js +27 -2
  11. package/dist/api/bootstrap-endpoint.js.map +1 -1
  12. package/dist/api/gather-status.d.ts +4 -0
  13. package/dist/api/gather-status.js +99 -0
  14. package/dist/api/gather-status.js.map +1 -1
  15. package/dist/api/prediction-v1-build.d.ts +47 -0
  16. package/dist/api/prediction-v1-build.js +73 -0
  17. package/dist/api/prediction-v1-build.js.map +1 -0
  18. package/dist/api/server.d.ts +16 -7
  19. package/dist/api/server.js +59 -12
  20. package/dist/api/server.js.map +1 -1
  21. package/dist/api/setup-endpoints.d.ts +8 -0
  22. package/dist/api/setup-endpoints.js +193 -3
  23. package/dist/api/setup-endpoints.js.map +1 -1
  24. package/dist/api/solvernets-catalog-build.d.ts +37 -0
  25. package/dist/api/solvernets-catalog-build.js +19 -0
  26. package/dist/api/solvernets-catalog-build.js.map +1 -0
  27. package/dist/api/solvernets-endpoint.d.ts +15 -0
  28. package/dist/api/solvernets-endpoint.js +5 -0
  29. package/dist/api/solvernets-endpoint.js.map +1 -0
  30. package/dist/api/status-build.d.ts +5 -0
  31. package/dist/api/status-build.js +1 -0
  32. package/dist/api/status-build.js.map +1 -1
  33. package/dist/build-info.json +4 -4
  34. package/dist/build-meta.json +1 -1
  35. package/dist/cli/commands/doctor.d.ts +15 -0
  36. package/dist/cli/commands/doctor.js +21 -0
  37. package/dist/cli/commands/doctor.js.map +1 -1
  38. package/dist/cli/commands/prediction-scoreboard.d.ts +10 -0
  39. package/dist/cli/commands/prediction-scoreboard.js +136 -0
  40. package/dist/cli/commands/prediction-scoreboard.js.map +1 -0
  41. package/dist/cli/commands/run.js +10 -0
  42. package/dist/cli/commands/run.js.map +1 -1
  43. package/dist/cli/commands/solver-nets.js +27 -5
  44. package/dist/cli/commands/solver-nets.js.map +1 -1
  45. package/dist/cli/commands/status.d.ts +3 -0
  46. package/dist/cli/commands/status.js +11 -3
  47. package/dist/cli/commands/status.js.map +1 -1
  48. package/dist/cli/commands/update.d.ts +8 -1
  49. package/dist/cli/commands/update.js +232 -7
  50. package/dist/cli/commands/update.js.map +1 -1
  51. package/dist/cli/index.js +2 -0
  52. package/dist/cli/index.js.map +1 -1
  53. package/dist/cli/task-native-readiness.d.ts +27 -0
  54. package/dist/cli/task-native-readiness.js +170 -0
  55. package/dist/cli/task-native-readiness.js.map +1 -0
  56. package/dist/config.d.ts +92 -48
  57. package/dist/config.js +91 -124
  58. package/dist/config.js.map +1 -1
  59. package/dist/corpus/envelope-projection.d.ts +12 -0
  60. package/dist/corpus/envelope-projection.js +110 -0
  61. package/dist/corpus/envelope-projection.js.map +1 -0
  62. package/dist/corpus/index.d.ts +3 -0
  63. package/dist/corpus/index.js +3 -0
  64. package/dist/corpus/index.js.map +1 -1
  65. package/dist/corpus/prediction-brier-scoreboard-report.d.ts +17 -0
  66. package/dist/corpus/prediction-brier-scoreboard-report.js +148 -0
  67. package/dist/corpus/prediction-brier-scoreboard-report.js.map +1 -0
  68. package/dist/corpus/prediction-brier-scoreboard.d.ts +56 -0
  69. package/dist/corpus/prediction-brier-scoreboard.js +269 -0
  70. package/dist/corpus/prediction-brier-scoreboard.js.map +1 -0
  71. package/dist/corpus/prediction-scoreable-verdicts.d.ts +4 -0
  72. package/dist/corpus/prediction-scoreable-verdicts.js +23 -0
  73. package/dist/corpus/prediction-scoreable-verdicts.js.map +1 -0
  74. package/dist/corpus/types.d.ts +43 -1
  75. package/dist/corpus/types.js.map +1 -1
  76. package/dist/daemon/daemon.js +1 -1
  77. package/dist/daemon/daemon.js.map +1 -1
  78. package/dist/dashboard/assets/index-5ArwpmyK.js +76 -0
  79. package/dist/dashboard/assets/{index-DQ3u_vP5.css → index-Bx5KH3YV.css} +1 -1
  80. package/dist/dashboard/index.html +2 -2
  81. package/dist/earning/bootstrap.d.ts +24 -0
  82. package/dist/earning/bootstrap.js +84 -23
  83. package/dist/earning/bootstrap.js.map +1 -1
  84. package/dist/earning/contracts.d.ts +1 -0
  85. package/dist/earning/contracts.js +16 -0
  86. package/dist/earning/contracts.js.map +1 -1
  87. package/dist/earning/faucet.d.ts +31 -0
  88. package/dist/earning/faucet.js +37 -0
  89. package/dist/earning/faucet.js.map +1 -1
  90. package/dist/earning/safe-adapter.js +45 -3
  91. package/dist/earning/safe-adapter.js.map +1 -1
  92. package/dist/earning/store.d.ts +8 -0
  93. package/dist/earning/store.js +41 -0
  94. package/dist/earning/store.js.map +1 -1
  95. package/dist/earning/types.d.ts +4 -0
  96. package/dist/events/types.d.ts +2 -2
  97. package/dist/harnesses/engine/engine.d.ts +5 -3
  98. package/dist/harnesses/engine/engine.js +33 -11
  99. package/dist/harnesses/engine/engine.js.map +1 -1
  100. package/dist/harnesses/engine/registry.d.ts +2 -0
  101. package/dist/harnesses/engine/registry.js +3 -0
  102. package/dist/harnesses/engine/registry.js.map +1 -1
  103. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.d.ts +19 -0
  104. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js +37 -2
  105. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js.map +1 -1
  106. package/dist/harnesses/impls/claude-code-learner/harness.js +2 -0
  107. package/dist/harnesses/impls/claude-code-learner/harness.js.map +1 -1
  108. package/dist/harnesses/impls/claude-code-learner/harvest.js +132 -2
  109. package/dist/harnesses/impls/claude-code-learner/harvest.js.map +1 -1
  110. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.d.ts +20 -0
  111. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js +65 -0
  112. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js.map +1 -1
  113. package/dist/harnesses/impls/claude-code-learner/types.d.ts +5 -0
  114. package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js +4 -3
  115. package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js.map +1 -1
  116. package/dist/harnesses/impls/claude-mcp-prediction/index.js +6 -5
  117. package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -1
  118. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +6 -5
  119. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -1
  120. package/dist/harnesses/impls/index.d.ts +2 -2
  121. package/dist/harnesses/impls/index.js +8 -9
  122. package/dist/harnesses/impls/index.js.map +1 -1
  123. package/dist/harnesses/impls/legacy-claude/index.d.ts +2 -2
  124. package/dist/harnesses/impls/prediction-v1-evaluator/index.js +33 -12
  125. package/dist/harnesses/impls/prediction-v1-evaluator/index.js.map +1 -1
  126. package/dist/harnesses/types.d.ts +6 -1
  127. package/dist/harnesses/types.js.map +1 -1
  128. package/dist/main.d.ts +13 -1
  129. package/dist/main.js +178 -18
  130. package/dist/main.js.map +1 -1
  131. package/dist/mcp/search-records.d.ts +92 -0
  132. package/dist/mcp/search-records.js +393 -0
  133. package/dist/mcp/search-records.js.map +1 -0
  134. package/dist/mcp/server.js +56 -15
  135. package/dist/mcp/server.js.map +1 -1
  136. package/dist/operator-errors.d.ts +14 -0
  137. package/dist/operator-errors.js +35 -5
  138. package/dist/operator-errors.js.map +1 -1
  139. package/dist/plugins/resolvers.js +45 -7
  140. package/dist/plugins/resolvers.js.map +1 -1
  141. package/dist/plugins/validator.js +8 -0
  142. package/dist/plugins/validator.js.map +1 -1
  143. package/dist/runner/runner.d.ts +6 -6
  144. package/dist/solver-nets/prediction-operator-ux.d.ts +105 -0
  145. package/dist/solver-nets/prediction-operator-ux.js +438 -0
  146. package/dist/solver-nets/prediction-operator-ux.js.map +1 -0
  147. package/dist/solver-nets/registry.d.ts +13 -6
  148. package/dist/solver-nets/registry.js +50 -16
  149. package/dist/solver-nets/registry.js.map +1 -1
  150. package/dist/solver-types/index.d.ts +11 -0
  151. package/dist/solver-types/index.js +8 -1
  152. package/dist/solver-types/index.js.map +1 -1
  153. package/dist/solver-types/prediction-v0.d.ts +1 -1
  154. package/dist/solver-types/prediction-v0.js +1 -1
  155. package/dist/solver-types/prediction-v0.js.map +1 -1
  156. package/dist/solver-types/prediction-v1-auto.d.ts +2 -0
  157. package/dist/solver-types/prediction-v1-auto.js +56 -7
  158. package/dist/solver-types/prediction-v1-auto.js.map +1 -1
  159. package/dist/solver-types/prediction-v1.js +25 -1
  160. package/dist/solver-types/prediction-v1.js.map +1 -1
  161. package/dist/solver-types/solver-type.d.ts +18 -5
  162. package/dist/store/store.d.ts +44 -2
  163. package/dist/store/store.js +387 -8
  164. package/dist/store/store.js.map +1 -1
  165. package/dist/tx-retry.js +11 -0
  166. package/dist/tx-retry.js.map +1 -1
  167. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +1 -1
  168. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
  169. package/package.json +1 -1
  170. package/plugins/jinn-prediction-plugin/.claude-plugin/plugin.json +4 -1
  171. package/plugins/jinn-prediction-plugin/GEMINI.md +5 -1
  172. package/plugins/jinn-prediction-plugin/jinn.plugin.json +5 -2
  173. package/plugins/jinn-prediction-plugin/mcp/polymarket-server.mjs +321 -1
  174. package/plugins/jinn-prediction-plugin/skills/common-biases/SKILL.md +3 -0
  175. package/plugins/jinn-prediction-plugin/skills/polymarket-task-handling/SKILL.md +5 -0
  176. package/plugins/jinn-prediction-plugin/skills/prediction-corpus-retrieval/SKILL.md +35 -0
  177. package/plugins/network-tools/.claude-plugin/plugin.json +12 -0
  178. package/plugins/network-tools/jinn.plugin.json +29 -0
  179. package/plugins/network-tools/mcp/jinn-client-server.mjs +110 -0
  180. package/dist/dashboard/assets/index-CaUOdCs6.js +0 -68
  181. package/dist/mcp/search-artifacts.d.ts +0 -31
  182. package/dist/mcp/search-artifacts.js +0 -40
  183. package/dist/mcp/search-artifacts.js.map +0 -1
@@ -0,0 +1,170 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { DEFAULT_TESTNET_ARTIFACTS, getChainConfig } from '../earning/contracts.js';
4
+ import { parseFleetStateJson, STATE_FILE } from '../earning/store.js';
5
+ import { isOperationalServiceStep } from '../earning/types.js';
6
+ function isNonZeroAddress(value) {
7
+ return typeof value === 'string' &&
8
+ /^0x[0-9a-fA-F]{40}$/.test(value) &&
9
+ value.toLowerCase() !== '0x0000000000000000000000000000000000000000';
10
+ }
11
+ function bundledTaskNativeDeploymentPath() {
12
+ return process.env['JINN_TESTNET_TASK_COORDINATOR_ROUTER_V3_DEPLOYMENT'] ??
13
+ DEFAULT_TESTNET_ARTIFACTS.taskCoordinatorRouterV3;
14
+ }
15
+ function taskNativeStatePath(config) {
16
+ return join(config.earningDir, STATE_FILE);
17
+ }
18
+ function isTaskNativeService(service) {
19
+ return isOperationalServiceStep(service.step) &&
20
+ service.service_id !== null &&
21
+ isNonZeroAddress(service.safe_address) &&
22
+ isNonZeroAddress(service.mech_address);
23
+ }
24
+ function loadFleetState(config) {
25
+ const path = taskNativeStatePath(config);
26
+ if (!existsSync(path)) {
27
+ return { path, state: null, error: 'earning state file is missing' };
28
+ }
29
+ try {
30
+ const state = parseFleetStateJson(readFileSync(path, 'utf8'));
31
+ return state
32
+ ? { path, state }
33
+ : { path, state: null, error: 'earning state file is not a current fleet-state schema' };
34
+ }
35
+ catch (err) {
36
+ return {
37
+ path,
38
+ state: null,
39
+ error: `earning state file could not be read: ${err instanceof Error ? err.message : String(err)}`,
40
+ };
41
+ }
42
+ }
43
+ export function resolveTaskNativeReadiness(config) {
44
+ const chain = config.network === 'testnet' ? 'base-sepolia' : 'base';
45
+ const source = config.network === 'testnet' ? bundledTaskNativeDeploymentPath() : null;
46
+ if (!source || !existsSync(source)) {
47
+ return {
48
+ ok: false,
49
+ solverReady: false,
50
+ evaluatorReady: false,
51
+ detail: source
52
+ ? `Task-native deployment artifact is not bundled at ${source}`
53
+ : `Task-native deployment artifact is not bundled for ${chain}`,
54
+ remedy: 'Bundle deployment-task-coordinator-router-v3-baseSepolia-fast.json or configure a network release with TaskCoordinator/JinnRouterV3/TaskActivityCheckerV3.',
55
+ source,
56
+ contracts: {},
57
+ };
58
+ }
59
+ let chainCfg;
60
+ try {
61
+ chainCfg = getChainConfig(chain, {
62
+ testnetL2DeploymentPath: config.testnetL2DeploymentPath,
63
+ testnetL2TokenDeploymentPath: config.testnetL2TokenDeploymentPath,
64
+ testnetMechDeploymentPath: config.testnetMechDeploymentPath,
65
+ testnetStolasDeploymentPath: config.testnetStolasDeploymentPath,
66
+ });
67
+ }
68
+ catch (err) {
69
+ return {
70
+ ok: false,
71
+ solverReady: false,
72
+ evaluatorReady: false,
73
+ detail: `Task-native deployment config could not be resolved: ${err instanceof Error ? err.message : String(err)}`,
74
+ remedy: 'Verify bundled deployment artifacts and deployment path overrides.',
75
+ source,
76
+ contracts: {},
77
+ };
78
+ }
79
+ let artifact;
80
+ try {
81
+ artifact = JSON.parse(readFileSync(source, 'utf8'));
82
+ }
83
+ catch (err) {
84
+ return {
85
+ ok: false,
86
+ solverReady: false,
87
+ evaluatorReady: false,
88
+ detail: `Task-native deployment artifact could not be parsed at ${source}: ${err instanceof Error ? err.message : String(err)}`,
89
+ remedy: 'Refresh the bundled TaskCoordinator/JinnRouterV3 deployment artifact.',
90
+ source,
91
+ contracts: {},
92
+ routerClaimDeliveryVersion: chainCfg.routerClaimDeliveryVersion,
93
+ };
94
+ }
95
+ const contracts = artifact.contracts ?? {};
96
+ const taskCoordinator = contracts['taskCoordinator'];
97
+ const jinnRouterV3 = contracts['jinnRouterV3'];
98
+ const taskActivityCheckerV3 = contracts['activityChecker'];
99
+ const resolvedContracts = {
100
+ ...(isNonZeroAddress(taskCoordinator) ? { taskCoordinator } : {}),
101
+ ...(isNonZeroAddress(jinnRouterV3) ? { jinnRouterV3 } : {}),
102
+ ...(isNonZeroAddress(taskActivityCheckerV3) ? { taskActivityCheckerV3 } : {}),
103
+ };
104
+ const missingContracts = [
105
+ isNonZeroAddress(taskCoordinator) ? null : 'TaskCoordinator',
106
+ isNonZeroAddress(jinnRouterV3) ? null : 'JinnRouterV3',
107
+ isNonZeroAddress(taskActivityCheckerV3) ? null : 'TaskActivityCheckerV3',
108
+ ].filter((part) => part !== null);
109
+ const routerMatchesConfig = isNonZeroAddress(jinnRouterV3) &&
110
+ isNonZeroAddress(chainCfg.jinnRouter) &&
111
+ chainCfg.jinnRouter.toLowerCase() === jinnRouterV3.toLowerCase();
112
+ const claimVariantReady = chainCfg.routerClaimDeliveryVersion === 'v3';
113
+ const deploymentReady = missingContracts.length === 0 && routerMatchesConfig && claimVariantReady;
114
+ const stateLoad = loadFleetState(config);
115
+ const expectedFleetChain = chain;
116
+ const state = stateLoad.state;
117
+ const taskNativeServices = state?.services.filter(isTaskNativeService) ?? [];
118
+ const active = taskNativeServices[0];
119
+ const evaluator = active
120
+ ? taskNativeServices.find((svc) => svc.safe_address.toLowerCase() !== active.safe_address.toLowerCase())
121
+ : undefined;
122
+ const stateChainReady = state?.chain === expectedFleetChain;
123
+ const operatorState = {
124
+ statePath: stateLoad.path,
125
+ ...(state?.chain ? { chain: state.chain } : {}),
126
+ services: state?.services.length ?? 0,
127
+ taskNativeServices: taskNativeServices.length,
128
+ ...(active?.safe_address ? { activeSafe: active.safe_address } : {}),
129
+ ...(active?.mech_address ? { activeMech: active.mech_address } : {}),
130
+ ...(evaluator?.safe_address ? { evaluatorSafe: evaluator.safe_address } : {}),
131
+ ...(evaluator?.mech_address ? { evaluatorMech: evaluator.mech_address } : {}),
132
+ selfEvaluationAllowed: false,
133
+ };
134
+ const stateIssues = [
135
+ stateLoad.error ?? null,
136
+ state && !stateChainReady ? `earning state chain is ${state.chain}, expected ${expectedFleetChain}` : null,
137
+ state && taskNativeServices.length === 0
138
+ ? 'no operational service has service_id, Safe, and Mech addresses'
139
+ : null,
140
+ ].filter((part) => part !== null);
141
+ const deploymentIssues = [
142
+ missingContracts.length > 0 ? `missing ${missingContracts.join(', ')}` : null,
143
+ routerMatchesConfig ? null : 'resolved chain config does not point at bundled JinnRouterV3',
144
+ claimVariantReady ? null : `router claim variant is ${chainCfg.routerClaimDeliveryVersion}, expected v3`,
145
+ ].filter((part) => part !== null);
146
+ const solverReady = deploymentReady && stateChainReady && Boolean(active);
147
+ const evaluatorReady = solverReady && Boolean(evaluator);
148
+ const evaluatorDetail = evaluatorReady
149
+ ? `evaluator-ready=true evaluatorSafe=${evaluator.safe_address} evaluatorMech=${evaluator.mech_address}`
150
+ : 'evaluator-ready=false (self-evaluation is disabled and no distinct evaluator Safe/Mech is configured)';
151
+ const detail = solverReady
152
+ ? `Task-native solver-ready=true ${evaluatorDetail} on ${chain}: TaskCoordinator=${taskCoordinator}, JinnRouterV3=${jinnRouterV3}, TaskActivityCheckerV3=${taskActivityCheckerV3}; activeSafe=${active.safe_address} activeMech=${active.mech_address}`
153
+ : `Task-native not ready on ${chain}: ${[...deploymentIssues, ...stateIssues].join('; ')}`;
154
+ return {
155
+ ok: solverReady,
156
+ solverReady,
157
+ evaluatorReady,
158
+ detail,
159
+ ...(solverReady
160
+ ? {}
161
+ : {
162
+ remedy: 'Use bundled TaskCoordinator/JinnRouterV3/TaskActivityCheckerV3 artifacts and an existing operational service with Safe and Mech addresses before Task-native participation.',
163
+ }),
164
+ source,
165
+ contracts: resolvedContracts,
166
+ routerClaimDeliveryVersion: chainCfg.routerClaimDeliveryVersion,
167
+ operatorState,
168
+ };
169
+ }
170
+ //# sourceMappingURL=task-native-readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-native-readiness.js","sourceRoot":"","sources":["../../src/cli/task-native-readiness.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -15,6 +15,22 @@
15
15
  */
16
16
  import { z } from 'zod';
17
17
  import type { Task } from './types/task.js';
18
+ export interface DefaultSolverNetConfig extends Record<string, unknown> {
19
+ enabled?: boolean;
20
+ solverType: string;
21
+ role?: 'solving' | 'evaluating';
22
+ harness?: string;
23
+ model?: string;
24
+ plugins?: Array<string | {
25
+ name?: string;
26
+ source: string;
27
+ version?: string;
28
+ }>;
29
+ taskGenerator?: {
30
+ enabled?: boolean;
31
+ };
32
+ }
33
+ export declare const DEFAULT_SOLVER_NETS: Record<string, DefaultSolverNetConfig>;
18
34
  export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
19
35
  /**
20
36
  * Network to connect to.
@@ -889,6 +905,39 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
889
905
  * Env: JINN_PREDICTION_V1_RESOLVE_GAP_MS
890
906
  */
891
907
  predictionV1ResolveGapMs: z.ZodOptional<z.ZodNumber>;
908
+ /**
909
+ * Enables launcher-owned Polymarket prediction.v1 Task generation.
910
+ * Default false: ordinary operator daemons do not create Polymarket rounds.
911
+ * Env: JINN_PREDICTION_V1_LAUNCHER_ENABLED
912
+ */
913
+ predictionV1LauncherEnabled: z.ZodDefault<z.ZodBoolean>;
914
+ /**
915
+ * prediction.v1 Polymarket generator cadence (ms). Default 21600000 (6h).
916
+ * Set to 0 only for launcher/test loops that intentionally poll every tick.
917
+ * Env: JINN_PREDICTION_V1_CADENCE_MS
918
+ */
919
+ predictionV1CadenceMs: z.ZodOptional<z.ZodNumber>;
920
+ /**
921
+ * prediction.v1 Polymarket generator safety caps.
922
+ * Defaults live in the generator: per-poll 25, per-day 100, open 250.
923
+ * Env:
924
+ * JINN_PREDICTION_V1_MAX_NEW_ROUNDS_PER_POLL
925
+ * JINN_PREDICTION_V1_MAX_NEW_ROUNDS_PER_DAY
926
+ * JINN_PREDICTION_V1_MAX_OPEN_ROUNDS
927
+ */
928
+ predictionV1MaxNewRoundsPerPoll: z.ZodOptional<z.ZodNumber>;
929
+ predictionV1MaxNewRoundsPerDay: z.ZodOptional<z.ZodNumber>;
930
+ predictionV1MaxOpenRounds: z.ZodOptional<z.ZodNumber>;
931
+ /**
932
+ * Manual prediction.v1 Polymarket conditionId controls.
933
+ * Allowlist prioritizes consideration but never bypasses eligibility checks;
934
+ * blocklist always wins.
935
+ * Env:
936
+ * JINN_PREDICTION_V1_ALLOWLIST_CONDITION_IDS
937
+ * JINN_PREDICTION_V1_BLOCKLIST_CONDITION_IDS
938
+ */
939
+ predictionV1AllowlistConditionIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
940
+ predictionV1BlocklistConditionIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
892
941
  /**
893
942
  * Operator-controlled Harness inventory.
894
943
  */
@@ -948,24 +997,13 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
948
997
  version?: string | undefined;
949
998
  }[] | undefined;
950
999
  }>>;
951
- /** SolverNet activation, canonical SolverPlugin, and Harness selection. */
1000
+ /** SolverNet activation, Harness selection, and operator-configured runtime plugins. */
952
1001
  solverNets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
953
1002
  enabled: z.ZodDefault<z.ZodBoolean>;
954
1003
  solverType: z.ZodString;
955
- canonicalPlugin: z.ZodUnion<[z.ZodString, z.ZodObject<{
956
- name: z.ZodOptional<z.ZodString>;
957
- source: z.ZodString;
958
- version: z.ZodOptional<z.ZodString>;
959
- }, "strip", z.ZodTypeAny, {
960
- source: string;
961
- name?: string | undefined;
962
- version?: string | undefined;
963
- }, {
964
- source: string;
965
- name?: string | undefined;
966
- version?: string | undefined;
967
- }>]>;
1004
+ role: z.ZodDefault<z.ZodEnum<["solving", "evaluating"]>>;
968
1005
  harness: z.ZodDefault<z.ZodString>;
1006
+ model: z.ZodOptional<z.ZodString>;
969
1007
  plugins: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
970
1008
  name: z.ZodOptional<z.ZodString>;
971
1009
  source: z.ZodString;
@@ -988,12 +1026,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
988
1026
  }>>;
989
1027
  }, "strip", z.ZodTypeAny, {
990
1028
  solverType: string;
1029
+ role: "solving" | "evaluating";
991
1030
  enabled: boolean;
992
- canonicalPlugin: string | {
993
- source: string;
994
- name?: string | undefined;
995
- version?: string | undefined;
996
- };
997
1031
  harness: string;
998
1032
  plugins: (string | {
999
1033
  source: string;
@@ -1003,15 +1037,13 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1003
1037
  taskGenerator: {
1004
1038
  enabled: boolean;
1005
1039
  };
1040
+ model?: string | undefined;
1006
1041
  }, {
1007
1042
  solverType: string;
1008
- canonicalPlugin: string | {
1009
- source: string;
1010
- name?: string | undefined;
1011
- version?: string | undefined;
1012
- };
1043
+ role?: "solving" | "evaluating" | undefined;
1013
1044
  enabled?: boolean | undefined;
1014
1045
  harness?: string | undefined;
1046
+ model?: string | undefined;
1015
1047
  plugins?: (string | {
1016
1048
  source: string;
1017
1049
  name?: string | undefined;
@@ -1211,14 +1243,11 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1211
1243
  stakingMode: "standard" | "self-bond";
1212
1244
  targetServices: number;
1213
1245
  debug: boolean;
1246
+ predictionV1LauncherEnabled: boolean;
1214
1247
  solverNets: Record<string, {
1215
1248
  solverType: string;
1249
+ role: "solving" | "evaluating";
1216
1250
  enabled: boolean;
1217
- canonicalPlugin: string | {
1218
- source: string;
1219
- name?: string | undefined;
1220
- version?: string | undefined;
1221
- };
1222
1251
  harness: string;
1223
1252
  plugins: (string | {
1224
1253
  source: string;
@@ -1228,6 +1257,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1228
1257
  taskGenerator: {
1229
1258
  enabled: boolean;
1230
1259
  };
1260
+ model?: string | undefined;
1231
1261
  }>;
1232
1262
  runLegacyMigrations: boolean;
1233
1263
  reputationEnabled: boolean;
@@ -1254,6 +1284,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1254
1284
  minSafeEthWei?: string | undefined;
1255
1285
  predictionV1WindowMs?: number | undefined;
1256
1286
  predictionV1ResolveGapMs?: number | undefined;
1287
+ predictionV1CadenceMs?: number | undefined;
1288
+ predictionV1MaxNewRoundsPerPoll?: number | undefined;
1289
+ predictionV1MaxNewRoundsPerDay?: number | undefined;
1290
+ predictionV1MaxOpenRounds?: number | undefined;
1291
+ predictionV1AllowlistConditionIds?: string[] | undefined;
1292
+ predictionV1BlocklistConditionIds?: string[] | undefined;
1257
1293
  harnesses?: {
1258
1294
  default?: string | undefined;
1259
1295
  disabled?: string[] | undefined;
@@ -1422,6 +1458,13 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1422
1458
  minSafeEthWei?: string | undefined;
1423
1459
  predictionV1WindowMs?: number | undefined;
1424
1460
  predictionV1ResolveGapMs?: number | undefined;
1461
+ predictionV1LauncherEnabled?: boolean | undefined;
1462
+ predictionV1CadenceMs?: number | undefined;
1463
+ predictionV1MaxNewRoundsPerPoll?: number | undefined;
1464
+ predictionV1MaxNewRoundsPerDay?: number | undefined;
1465
+ predictionV1MaxOpenRounds?: number | undefined;
1466
+ predictionV1AllowlistConditionIds?: string[] | undefined;
1467
+ predictionV1BlocklistConditionIds?: string[] | undefined;
1425
1468
  harnesses?: {
1426
1469
  default?: string | undefined;
1427
1470
  disabled?: string[] | undefined;
@@ -1434,13 +1477,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1434
1477
  } | undefined;
1435
1478
  solverNets?: Record<string, {
1436
1479
  solverType: string;
1437
- canonicalPlugin: string | {
1438
- source: string;
1439
- name?: string | undefined;
1440
- version?: string | undefined;
1441
- };
1480
+ role?: "solving" | "evaluating" | undefined;
1442
1481
  enabled?: boolean | undefined;
1443
1482
  harness?: string | undefined;
1483
+ model?: string | undefined;
1444
1484
  plugins?: (string | {
1445
1485
  source: string;
1446
1486
  name?: string | undefined;
@@ -1549,14 +1589,11 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1549
1589
  stakingMode: "standard" | "self-bond";
1550
1590
  targetServices: number;
1551
1591
  debug: boolean;
1592
+ predictionV1LauncherEnabled: boolean;
1552
1593
  solverNets: Record<string, {
1553
1594
  solverType: string;
1595
+ role: "solving" | "evaluating";
1554
1596
  enabled: boolean;
1555
- canonicalPlugin: string | {
1556
- source: string;
1557
- name?: string | undefined;
1558
- version?: string | undefined;
1559
- };
1560
1597
  harness: string;
1561
1598
  plugins: (string | {
1562
1599
  source: string;
@@ -1566,6 +1603,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1566
1603
  taskGenerator: {
1567
1604
  enabled: boolean;
1568
1605
  };
1606
+ model?: string | undefined;
1569
1607
  }>;
1570
1608
  runLegacyMigrations: boolean;
1571
1609
  reputationEnabled: boolean;
@@ -1592,6 +1630,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1592
1630
  minSafeEthWei?: string | undefined;
1593
1631
  predictionV1WindowMs?: number | undefined;
1594
1632
  predictionV1ResolveGapMs?: number | undefined;
1633
+ predictionV1CadenceMs?: number | undefined;
1634
+ predictionV1MaxNewRoundsPerPoll?: number | undefined;
1635
+ predictionV1MaxNewRoundsPerDay?: number | undefined;
1636
+ predictionV1MaxOpenRounds?: number | undefined;
1637
+ predictionV1AllowlistConditionIds?: string[] | undefined;
1638
+ predictionV1BlocklistConditionIds?: string[] | undefined;
1595
1639
  harnesses?: {
1596
1640
  default?: string | undefined;
1597
1641
  disabled?: string[] | undefined;
@@ -1760,6 +1804,13 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1760
1804
  minSafeEthWei?: string | undefined;
1761
1805
  predictionV1WindowMs?: number | undefined;
1762
1806
  predictionV1ResolveGapMs?: number | undefined;
1807
+ predictionV1LauncherEnabled?: boolean | undefined;
1808
+ predictionV1CadenceMs?: number | undefined;
1809
+ predictionV1MaxNewRoundsPerPoll?: number | undefined;
1810
+ predictionV1MaxNewRoundsPerDay?: number | undefined;
1811
+ predictionV1MaxOpenRounds?: number | undefined;
1812
+ predictionV1AllowlistConditionIds?: string[] | undefined;
1813
+ predictionV1BlocklistConditionIds?: string[] | undefined;
1763
1814
  harnesses?: {
1764
1815
  default?: string | undefined;
1765
1816
  disabled?: string[] | undefined;
@@ -1772,13 +1823,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1772
1823
  } | undefined;
1773
1824
  solverNets?: Record<string, {
1774
1825
  solverType: string;
1775
- canonicalPlugin: string | {
1776
- source: string;
1777
- name?: string | undefined;
1778
- version?: string | undefined;
1779
- };
1826
+ role?: "solving" | "evaluating" | undefined;
1780
1827
  enabled?: boolean | undefined;
1781
1828
  harness?: string | undefined;
1829
+ model?: string | undefined;
1782
1830
  plugins?: (string | {
1783
1831
  source: string;
1784
1832
  name?: string | undefined;
@@ -1823,10 +1871,6 @@ export declare class ConfigLoadError extends Error {
1823
1871
  readonly details?: Record<string, unknown>;
1824
1872
  constructor(code: ConfigLoadErrorCode, message: string, details?: Record<string, unknown>);
1825
1873
  }
1826
- export declare function migrateHarnessConfigFileValues(values: Record<string, unknown>): {
1827
- values: Record<string, unknown>;
1828
- changed: boolean;
1829
- };
1830
1874
  /**
1831
1875
  * Load config with resolution: env > config file > defaults.
1832
1876
  *