@jinn-network/client 0.1.3-canary.2d6b2676 → 0.1.3-canary.8e61ba74

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 (289) hide show
  1. package/dist/adapters/adapter.d.ts +15 -4
  2. package/dist/adapters/local/adapter.d.ts +9 -8
  3. package/dist/adapters/local/adapter.js +47 -74
  4. package/dist/adapters/local/adapter.js.map +1 -1
  5. package/dist/adapters/mech/adapter.d.ts +29 -13
  6. package/dist/adapters/mech/adapter.js +316 -311
  7. package/dist/adapters/mech/adapter.js.map +1 -1
  8. package/dist/adapters/mech/contracts.d.ts +62 -16
  9. package/dist/adapters/mech/contracts.js +226 -92
  10. package/dist/adapters/mech/contracts.js.map +1 -1
  11. package/dist/adapters/mech/safe-revert.js +0 -6
  12. package/dist/adapters/mech/safe-revert.js.map +1 -1
  13. package/dist/adapters/mech/types.d.ts +237 -84
  14. package/dist/adapters/mech/types.js +125 -50
  15. package/dist/adapters/mech/types.js.map +1 -1
  16. package/dist/agent/agent-ws.d.ts +1 -0
  17. package/dist/agent/agent-ws.js +13 -1
  18. package/dist/agent/agent-ws.js.map +1 -1
  19. package/dist/agent/operator-claude.js +4 -0
  20. package/dist/agent/operator-claude.js.map +1 -1
  21. package/dist/api/gather-status.d.ts +0 -1
  22. package/dist/api/gather-status.js +0 -1
  23. package/dist/api/gather-status.js.map +1 -1
  24. package/dist/api/setup-endpoints.d.ts +20 -0
  25. package/dist/api/setup-endpoints.js +110 -3
  26. package/dist/api/setup-endpoints.js.map +1 -1
  27. package/dist/build-info.json +4 -4
  28. package/dist/build-meta.json +1 -1
  29. package/dist/cli/commands/auth.js +6 -3
  30. package/dist/cli/commands/auth.js.map +1 -1
  31. package/dist/cli/commands/bootstrap.js +0 -1
  32. package/dist/cli/commands/bootstrap.js.map +1 -1
  33. package/dist/cli/commands/create.js +3 -3
  34. package/dist/cli/commands/doctor.js +4 -12
  35. package/dist/cli/commands/doctor.js.map +1 -1
  36. package/dist/cli/commands/fleet-scale.js +0 -1
  37. package/dist/cli/commands/fleet-scale.js.map +1 -1
  38. package/dist/cli/commands/fund-requirements.js +0 -1
  39. package/dist/cli/commands/fund-requirements.js.map +1 -1
  40. package/dist/cli/commands/migrate-agent-id.js +0 -1
  41. package/dist/cli/commands/migrate-agent-id.js.map +1 -1
  42. package/dist/cli/commands/solver-nets.js +1 -1
  43. package/dist/cli/commands/solver-plugins.js +3 -1
  44. package/dist/cli/commands/solver-plugins.js.map +1 -1
  45. package/dist/cli/commands/tasks.js +20 -11
  46. package/dist/cli/commands/tasks.js.map +1 -1
  47. package/dist/cli/commands/version.js +0 -1
  48. package/dist/cli/commands/version.js.map +1 -1
  49. package/dist/cli/deployment-digest.js +0 -5
  50. package/dist/cli/deployment-digest.js.map +1 -1
  51. package/dist/cli/execution-context.js +0 -1
  52. package/dist/cli/execution-context.js.map +1 -1
  53. package/dist/cli/introspection-context.js +0 -1
  54. package/dist/cli/introspection-context.js.map +1 -1
  55. package/dist/config.d.ts +410 -22
  56. package/dist/config.js +41 -30
  57. package/dist/config.js.map +1 -1
  58. package/dist/daemon/creator.d.ts +3 -3
  59. package/dist/daemon/creator.js +3 -3
  60. package/dist/daemon/creator.js.map +1 -1
  61. package/dist/daemon/daemon.d.ts +3 -6
  62. package/dist/daemon/daemon.js +30 -9
  63. package/dist/daemon/daemon.js.map +1 -1
  64. package/dist/daemon/jinn-claim-loop-canonical.d.ts +11 -11
  65. package/dist/daemon/jinn-claim-loop-canonical.js +17 -17
  66. package/dist/daemon/jinn-claim-loop-canonical.js.map +1 -1
  67. package/dist/daemon/jinn-claim-loop-mock.d.ts +4 -4
  68. package/dist/daemon/jinn-claim-loop-mock.js +7 -7
  69. package/dist/daemon/jinn-claim-loop-mock.js.map +1 -1
  70. package/dist/daemon/jinn-claim-loop.d.ts +4 -4
  71. package/dist/daemon/jinn-claim-loop.js +3 -3
  72. package/dist/dashboard/assets/{index-Bxlk5qpa.js → index-CaUOdCs6.js} +6 -6
  73. package/dist/dashboard/index.html +1 -1
  74. package/dist/earning/bootstrap.d.ts +0 -1
  75. package/dist/earning/bootstrap.js +0 -1
  76. package/dist/earning/bootstrap.js.map +1 -1
  77. package/dist/earning/contracts.d.ts +18 -20
  78. package/dist/earning/contracts.js +18 -29
  79. package/dist/earning/contracts.js.map +1 -1
  80. package/dist/earning/funding-plan.d.ts +0 -1
  81. package/dist/earning/funding-plan.js +0 -1
  82. package/dist/earning/funding-plan.js.map +1 -1
  83. package/dist/earning/migrate-agent-id.d.ts +0 -1
  84. package/dist/earning/migrate-agent-id.js +0 -1
  85. package/dist/earning/migrate-agent-id.js.map +1 -1
  86. package/dist/erc8004/reputation.d.ts +2 -2
  87. package/dist/erc8004/reputation.js +2 -2
  88. package/dist/events/types.d.ts +2 -2
  89. package/dist/harnesses/engine/delivery.d.ts +10 -6
  90. package/dist/harnesses/engine/delivery.js +10 -6
  91. package/dist/harnesses/engine/delivery.js.map +1 -1
  92. package/dist/harnesses/engine/engine.d.ts +16 -29
  93. package/dist/harnesses/engine/engine.js +67 -106
  94. package/dist/harnesses/engine/engine.js.map +1 -1
  95. package/dist/harnesses/engine/persistence.d.ts +5 -1
  96. package/dist/harnesses/engine/persistence.js +10 -2
  97. package/dist/harnesses/engine/persistence.js.map +1 -1
  98. package/dist/harnesses/external-impls/loader.d.ts +1 -1
  99. package/dist/harnesses/impls/claude-code-learner/types.d.ts +1 -1
  100. package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +1 -1
  101. package/dist/harnesses/impls/claude-mcp-prediction/index.js +6 -6
  102. package/dist/harnesses/impls/claude-mcp-prediction/types.d.ts +1 -1
  103. package/dist/harnesses/impls/claude-mcp-prediction/types.js +1 -1
  104. package/dist/harnesses/impls/index.js +5 -5
  105. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +1 -1
  106. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -1
  107. package/dist/harnesses/impls/prediction-v0-baseline/index.d.ts +4 -4
  108. package/dist/harnesses/impls/prediction-v0-baseline/index.js +10 -10
  109. package/dist/harnesses/impls/prediction-v0-evaluator/canonical-metrics.d.ts +3 -3
  110. package/dist/harnesses/impls/prediction-v0-evaluator/checks/availability.d.ts +1 -1
  111. package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +4 -4
  112. package/dist/harnesses/impls/prediction-v0-evaluator/index.js +11 -11
  113. package/dist/harnesses/impls/prediction-v1-baseline/index.d.ts +31 -0
  114. package/dist/harnesses/impls/prediction-v1-baseline/index.js +79 -0
  115. package/dist/harnesses/impls/prediction-v1-baseline/index.js.map +1 -0
  116. package/dist/harnesses/impls/prediction-v1-evaluator/index.d.ts +32 -0
  117. package/dist/harnesses/impls/prediction-v1-evaluator/index.js +198 -0
  118. package/dist/harnesses/impls/prediction-v1-evaluator/index.js.map +1 -0
  119. package/dist/harnesses/manifest/types.d.ts +1 -1
  120. package/dist/harnesses/manifest/types.js +1 -1
  121. package/dist/harnesses/types.d.ts +2 -1
  122. package/dist/harnesses/types.js.map +1 -1
  123. package/dist/main.js +2 -26
  124. package/dist/main.js.map +1 -1
  125. package/dist/mcp/operator-server.js +1 -1
  126. package/dist/mcp/operator-server.js.map +1 -1
  127. package/dist/mcp/server.js +2 -2
  128. package/dist/plugins/manifest.d.ts +1 -1
  129. package/dist/plugins/manifest.js +1 -1
  130. package/dist/plugins/manifest.js.map +1 -1
  131. package/dist/plugins/registry.js +1 -1
  132. package/dist/plugins/registry.js.map +1 -1
  133. package/dist/plugins/resolvers.js +2 -1
  134. package/dist/plugins/resolvers.js.map +1 -1
  135. package/dist/plugins/types.d.ts +4 -8
  136. package/dist/plugins/validator.js +5 -7
  137. package/dist/plugins/validator.js.map +1 -1
  138. package/dist/preflight/claude-auth.d.ts +3 -1
  139. package/dist/preflight/claude-auth.js +5 -5
  140. package/dist/preflight/claude-auth.js.map +1 -1
  141. package/dist/setup/claude-code-install.d.ts +19 -0
  142. package/dist/setup/claude-code-install.js +51 -0
  143. package/dist/setup/claude-code-install.js.map +1 -0
  144. package/dist/solver-nets/contracts.d.ts +2 -0
  145. package/dist/solver-nets/contracts.js +2 -0
  146. package/dist/solver-nets/contracts.js.map +1 -0
  147. package/dist/solver-nets/registry.d.ts +2 -0
  148. package/dist/solver-nets/registry.js +13 -5
  149. package/dist/solver-nets/registry.js.map +1 -1
  150. package/dist/solver-types/constants.d.ts +1 -1
  151. package/dist/solver-types/constants.js +1 -1
  152. package/dist/solver-types/index.d.ts +5 -5
  153. package/dist/solver-types/index.js +5 -5
  154. package/dist/solver-types/prediction-apy-v0-auto.js +12 -0
  155. package/dist/solver-types/prediction-apy-v0-auto.js.map +1 -1
  156. package/dist/solver-types/prediction-v0-auto.d.ts +4 -4
  157. package/dist/solver-types/prediction-v0-auto.js +22 -10
  158. package/dist/solver-types/prediction-v0-auto.js.map +1 -1
  159. package/dist/solver-types/prediction-v0-template.d.ts +10 -10
  160. package/dist/solver-types/prediction-v0-template.js +16 -16
  161. package/dist/solver-types/prediction-v0-template.js.map +1 -1
  162. package/dist/solver-types/prediction-v0.d.ts +2 -2
  163. package/dist/solver-types/prediction-v0.js +11 -11
  164. package/dist/solver-types/prediction-v1-auto.d.ts +22 -0
  165. package/dist/solver-types/prediction-v1-auto.js +211 -0
  166. package/dist/solver-types/prediction-v1-auto.js.map +1 -0
  167. package/dist/solver-types/prediction-v1.d.ts +3 -0
  168. package/dist/solver-types/prediction-v1.js +29 -0
  169. package/dist/solver-types/prediction-v1.js.map +1 -0
  170. package/dist/solver-types/solver-type.d.ts +5 -4
  171. package/dist/store/store.d.ts +4 -0
  172. package/dist/store/store.js +28 -4
  173. package/dist/store/store.js.map +1 -1
  174. package/dist/tasks/posting-service.d.ts +5 -2
  175. package/dist/tasks/posting-service.js +12 -6
  176. package/dist/tasks/posting-service.js.map +1 -1
  177. package/dist/tasks/sources.d.ts +2 -2
  178. package/dist/tasks/sources.js +10 -7
  179. package/dist/tasks/sources.js.map +1 -1
  180. package/dist/templates/harnesses/alternative-harness/package.json.tmpl +1 -1
  181. package/dist/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +1 -1
  182. package/dist/templates/harnesses/alternative-harness/src/index.ts.tmpl +1 -1
  183. package/dist/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +1 -1
  184. package/dist/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +1 -1
  185. package/dist/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +1 -1
  186. package/dist/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +1 -1
  187. package/dist/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +1 -1
  188. package/dist/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +1 -1
  189. package/dist/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +1 -1
  190. package/dist/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +1 -1
  191. package/dist/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +1 -1
  192. package/dist/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +1 -1
  193. package/dist/templates/harnesses/evaluator/package.json.tmpl +1 -1
  194. package/dist/templates/harnesses/evaluator/src/index.ts.tmpl +1 -1
  195. package/dist/templates/harnesses/evaluator/test/unit.test.ts.tmpl +1 -1
  196. package/dist/templates/harnesses/forecaster/package.json.tmpl +1 -1
  197. package/dist/templates/harnesses/forecaster/src/index.ts.tmpl +1 -1
  198. package/dist/templates/harnesses/forecaster/test/unit.test.ts.tmpl +1 -1
  199. package/dist/trajectory/schema.d.ts +10 -10
  200. package/dist/types/index.d.ts +2 -2
  201. package/dist/types/index.js +1 -1
  202. package/dist/types/index.js.map +1 -1
  203. package/dist/types/payloads/index.d.ts +1 -0
  204. package/dist/types/payloads/index.js +6 -0
  205. package/dist/types/payloads/index.js.map +1 -1
  206. package/dist/types/payloads/prediction-v1.d.ts +2 -0
  207. package/dist/types/payloads/prediction-v1.js +2 -0
  208. package/dist/types/payloads/prediction-v1.js.map +1 -0
  209. package/dist/types/prediction-v1.d.ts +2 -0
  210. package/dist/types/prediction-v1.js +2 -0
  211. package/dist/types/prediction-v1.js.map +1 -0
  212. package/dist/types/prediction.d.ts +559 -19
  213. package/dist/types/prediction.js +12 -9
  214. package/dist/types/prediction.js.map +1 -1
  215. package/dist/types/task-document.d.ts +389 -0
  216. package/dist/types/task-document.js +11 -0
  217. package/dist/types/task-document.js.map +1 -1
  218. package/dist/types/task.d.ts +285 -1
  219. package/dist/types/task.js +6 -1
  220. package/dist/types/task.js.map +1 -1
  221. package/dist/vendor/@jinn-network/sdk/README.md +61 -0
  222. package/dist/vendor/@jinn-network/sdk/dist/capabilities.d.ts +52 -0
  223. package/dist/vendor/@jinn-network/sdk/dist/capabilities.js +1 -0
  224. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +105 -0
  225. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +147 -0
  226. package/dist/vendor/@jinn-network/sdk/dist/harness.d.ts +69 -0
  227. package/dist/vendor/@jinn-network/sdk/dist/harness.js +1 -0
  228. package/dist/vendor/@jinn-network/sdk/dist/index.d.ts +2 -0
  229. package/dist/vendor/@jinn-network/sdk/dist/index.js +5 -0
  230. package/dist/vendor/@jinn-network/sdk/dist/manifest.d.ts +69 -0
  231. package/dist/vendor/@jinn-network/sdk/dist/manifest.js +3 -0
  232. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +223 -0
  233. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +64 -0
  234. package/dist/vendor/@jinn-network/sdk/dist/plugins.d.ts +36 -0
  235. package/dist/vendor/@jinn-network/sdk/dist/plugins.js +54 -0
  236. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +870 -0
  237. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +80 -0
  238. package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.d.ts +2 -0
  239. package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.js +1 -0
  240. package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.d.ts +6 -0
  241. package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.js +3 -0
  242. package/dist/vendor/@jinn-network/sdk/dist/types.d.ts +116 -0
  243. package/dist/vendor/@jinn-network/sdk/dist/types.js +21 -0
  244. package/dist/vendor/@jinn-network/sdk/package.json +34 -0
  245. package/dist/venues/polymarket/client.d.ts +77 -0
  246. package/dist/venues/polymarket/client.js +309 -0
  247. package/dist/venues/polymarket/client.js.map +1 -0
  248. package/dist/withdraw/run-withdraw-plan.js +0 -2
  249. package/dist/withdraw/run-withdraw-plan.js.map +1 -1
  250. package/package.json +8 -6
  251. package/plugins/jinn-prediction-plugin/.claude-plugin/plugin.json +13 -86
  252. package/plugins/jinn-prediction-plugin/.mcp.json +8 -0
  253. package/plugins/jinn-prediction-plugin/GEMINI.md +3 -0
  254. package/plugins/jinn-prediction-plugin/gemini-extension.json +13 -0
  255. package/plugins/jinn-prediction-plugin/jinn.plugin.json +23 -0
  256. package/plugins/jinn-prediction-plugin/schemas/prediction-v1-solution.schema.json +34 -0
  257. package/plugins/jinn-prediction-plugin/schemas/prediction-v1-task.schema.json +118 -0
  258. package/plugins/jinn-prediction-plugin/schemas/prediction-v1-verdict.schema.json +84 -0
  259. package/templates/harnesses/alternative-harness/package.json.tmpl +1 -1
  260. package/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +1 -1
  261. package/templates/harnesses/alternative-harness/src/index.ts.tmpl +1 -1
  262. package/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +1 -1
  263. package/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +1 -1
  264. package/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +1 -1
  265. package/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +1 -1
  266. package/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +1 -1
  267. package/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +1 -1
  268. package/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +1 -1
  269. package/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +1 -1
  270. package/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +1 -1
  271. package/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +1 -1
  272. package/templates/harnesses/evaluator/package.json.tmpl +1 -1
  273. package/templates/harnesses/evaluator/src/index.ts.tmpl +1 -1
  274. package/templates/harnesses/evaluator/test/unit.test.ts.tmpl +1 -1
  275. package/templates/harnesses/forecaster/package.json.tmpl +1 -1
  276. package/templates/harnesses/forecaster/src/index.ts.tmpl +1 -1
  277. package/templates/harnesses/forecaster/test/unit.test.ts.tmpl +1 -1
  278. package/dist/adapters/claim-registry/abi.d.ts +0 -127
  279. package/dist/adapters/claim-registry/abi.js +0 -93
  280. package/dist/adapters/claim-registry/abi.js.map +0 -1
  281. package/dist/adapters/claim-registry/client.d.ts +0 -98
  282. package/dist/adapters/claim-registry/client.js +0 -225
  283. package/dist/adapters/claim-registry/client.js.map +0 -1
  284. package/dist/adapters/mech/claim-policy.d.ts +0 -40
  285. package/dist/adapters/mech/claim-policy.js +0 -104
  286. package/dist/adapters/mech/claim-policy.js.map +0 -1
  287. package/dist/harnesses/engine/claim.d.ts +0 -69
  288. package/dist/harnesses/engine/claim.js +0 -111
  289. package/dist/harnesses/engine/claim.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { WindowSchema, type Window } from './window.js';
3
- import { type SignedTaskV1 } from './task-document.js';
3
+ import { type SignedTaskV1, type TaskClaimPolicy } from './task-document.js';
4
4
  export type RequestId = string;
5
5
  export { WindowSchema, type Window };
6
6
  export declare const TaskSchema: z.ZodObject<{
@@ -24,6 +24,34 @@ export declare const TaskSchema: z.ZodObject<{
24
24
  }>>;
25
25
  spec: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
26
26
  eligibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
27
+ claimPolicy: z.ZodOptional<z.ZodObject<{
28
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
29
+ maxClaims: z.ZodNumber;
30
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
31
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
32
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
33
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
34
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
35
+ policyHook: z.ZodOptional<z.ZodString>;
36
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
37
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
38
+ maxClaims: z.ZodNumber;
39
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
40
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
41
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
42
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
43
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
44
+ policyHook: z.ZodOptional<z.ZodString>;
45
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
46
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
47
+ maxClaims: z.ZodNumber;
48
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
49
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
50
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
51
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
52
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
53
+ policyHook: z.ZodOptional<z.ZodString>;
54
+ }, z.ZodTypeAny, "passthrough">>>;
27
55
  signedTask: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
28
56
  signature: z.ZodObject<{
29
57
  algo: z.ZodLiteral<"secp256k1">;
@@ -58,6 +86,34 @@ export declare const TaskSchema: z.ZodObject<{
58
86
  }>;
59
87
  spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
60
88
  eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
89
+ claimPolicy: z.ZodObject<{
90
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
91
+ maxClaims: z.ZodNumber;
92
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
93
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
94
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
95
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
96
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
97
+ policyHook: z.ZodOptional<z.ZodString>;
98
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
99
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
100
+ maxClaims: z.ZodNumber;
101
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
102
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
103
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
104
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
105
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
106
+ policyHook: z.ZodOptional<z.ZodString>;
107
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
108
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
109
+ maxClaims: z.ZodNumber;
110
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
111
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
112
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
113
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
114
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
115
+ policyHook: z.ZodOptional<z.ZodString>;
116
+ }, z.ZodTypeAny, "passthrough">>;
61
117
  creator: z.ZodObject<{
62
118
  safeAddress: z.ZodString;
63
119
  agentEoa: z.ZodString;
@@ -103,6 +159,34 @@ export declare const TaskSchema: z.ZodObject<{
103
159
  }>;
104
160
  spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
105
161
  eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
162
+ claimPolicy: z.ZodObject<{
163
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
164
+ maxClaims: z.ZodNumber;
165
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
166
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
167
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
168
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
169
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
170
+ policyHook: z.ZodOptional<z.ZodString>;
171
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
172
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
173
+ maxClaims: z.ZodNumber;
174
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
175
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
176
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
177
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
178
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
179
+ policyHook: z.ZodOptional<z.ZodString>;
180
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
181
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
182
+ maxClaims: z.ZodNumber;
183
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
184
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
185
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
186
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
187
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
188
+ policyHook: z.ZodOptional<z.ZodString>;
189
+ }, z.ZodTypeAny, "passthrough">>;
106
190
  creator: z.ZodObject<{
107
191
  safeAddress: z.ZodString;
108
192
  agentEoa: z.ZodString;
@@ -148,6 +232,34 @@ export declare const TaskSchema: z.ZodObject<{
148
232
  }>;
149
233
  spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
150
234
  eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
235
+ claimPolicy: z.ZodObject<{
236
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
237
+ maxClaims: z.ZodNumber;
238
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
239
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
240
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
241
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
242
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
243
+ policyHook: z.ZodOptional<z.ZodString>;
244
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
245
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
246
+ maxClaims: z.ZodNumber;
247
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
248
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
249
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
250
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
251
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
252
+ policyHook: z.ZodOptional<z.ZodString>;
253
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
254
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
255
+ maxClaims: z.ZodNumber;
256
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
257
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
258
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
259
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
260
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
261
+ policyHook: z.ZodOptional<z.ZodString>;
262
+ }, z.ZodTypeAny, "passthrough">>;
151
263
  creator: z.ZodObject<{
152
264
  safeAddress: z.ZodString;
153
265
  agentEoa: z.ZodString;
@@ -193,6 +305,34 @@ export declare const TaskSchema: z.ZodObject<{
193
305
  }>;
194
306
  spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
195
307
  eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
308
+ claimPolicy: z.ZodObject<{
309
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
310
+ maxClaims: z.ZodNumber;
311
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
312
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
313
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
314
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
315
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
316
+ policyHook: z.ZodOptional<z.ZodString>;
317
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
318
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
319
+ maxClaims: z.ZodNumber;
320
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
321
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
322
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
323
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
324
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
325
+ policyHook: z.ZodOptional<z.ZodString>;
326
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
327
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
328
+ maxClaims: z.ZodNumber;
329
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
330
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
331
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
332
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
333
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
334
+ policyHook: z.ZodOptional<z.ZodString>;
335
+ }, z.ZodTypeAny, "passthrough">>;
196
336
  creator: z.ZodObject<{
197
337
  safeAddress: z.ZodString;
198
338
  agentEoa: z.ZodString;
@@ -238,6 +378,34 @@ export declare const TaskSchema: z.ZodObject<{
238
378
  }>;
239
379
  spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
240
380
  eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
381
+ claimPolicy: z.ZodObject<{
382
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
383
+ maxClaims: z.ZodNumber;
384
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
385
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
386
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
387
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
388
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
389
+ policyHook: z.ZodOptional<z.ZodString>;
390
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
391
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
392
+ maxClaims: z.ZodNumber;
393
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
394
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
395
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
396
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
397
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
398
+ policyHook: z.ZodOptional<z.ZodString>;
399
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
400
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
401
+ maxClaims: z.ZodNumber;
402
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
403
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
404
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
405
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
406
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
407
+ policyHook: z.ZodOptional<z.ZodString>;
408
+ }, z.ZodTypeAny, "passthrough">>;
241
409
  creator: z.ZodObject<{
242
410
  safeAddress: z.ZodString;
243
411
  agentEoa: z.ZodString;
@@ -267,6 +435,18 @@ export declare const TaskSchema: z.ZodObject<{
267
435
  };
268
436
  spec: Record<string, unknown>;
269
437
  eligibility: Record<string, unknown>;
438
+ claimPolicy: {
439
+ mode: "exclusive" | "parallel";
440
+ maxClaims: number;
441
+ maxClaimsPerOperator: number;
442
+ claimLeaseTtlSeconds: number;
443
+ claimWindowStartTs?: number | undefined;
444
+ claimWindowEndTs?: number | undefined;
445
+ submissionDeadlineTs?: number | undefined;
446
+ policyHook?: string | undefined;
447
+ } & {
448
+ [k: string]: unknown;
449
+ };
270
450
  creator: {
271
451
  safeAddress: string;
272
452
  agentEoa: string;
@@ -306,6 +486,34 @@ export declare const TaskSchema: z.ZodObject<{
306
486
  }>;
307
487
  spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
308
488
  eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
489
+ claimPolicy: z.ZodObject<{
490
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
491
+ maxClaims: z.ZodNumber;
492
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
493
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
494
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
495
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
496
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
497
+ policyHook: z.ZodOptional<z.ZodString>;
498
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
499
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
500
+ maxClaims: z.ZodNumber;
501
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
502
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
503
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
504
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
505
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
506
+ policyHook: z.ZodOptional<z.ZodString>;
507
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
508
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
509
+ maxClaims: z.ZodNumber;
510
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
511
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
512
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
513
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
514
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
515
+ policyHook: z.ZodOptional<z.ZodString>;
516
+ }, z.ZodTypeAny, "passthrough">>;
309
517
  creator: z.ZodObject<{
310
518
  safeAddress: z.ZodString;
311
519
  agentEoa: z.ZodString;
@@ -329,6 +537,16 @@ export declare const TaskSchema: z.ZodObject<{
329
537
  } | undefined;
330
538
  spec?: Record<string, unknown> | undefined;
331
539
  eligibility?: Record<string, unknown> | undefined;
540
+ claimPolicy?: z.objectOutputType<{
541
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
542
+ maxClaims: z.ZodNumber;
543
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
544
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
545
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
546
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
547
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
548
+ policyHook: z.ZodOptional<z.ZodString>;
549
+ }, z.ZodTypeAny, "passthrough"> | undefined;
332
550
  context?: Record<string, unknown> | undefined;
333
551
  attemptId?: string | undefined;
334
552
  attemptNumber?: number | undefined;
@@ -351,6 +569,18 @@ export declare const TaskSchema: z.ZodObject<{
351
569
  };
352
570
  spec: Record<string, unknown>;
353
571
  eligibility: Record<string, unknown>;
572
+ claimPolicy: {
573
+ mode: "exclusive" | "parallel";
574
+ maxClaims: number;
575
+ maxClaimsPerOperator: number;
576
+ claimLeaseTtlSeconds: number;
577
+ claimWindowStartTs?: number | undefined;
578
+ claimWindowEndTs?: number | undefined;
579
+ submissionDeadlineTs?: number | undefined;
580
+ policyHook?: string | undefined;
581
+ } & {
582
+ [k: string]: unknown;
583
+ };
354
584
  creator: {
355
585
  safeAddress: string;
356
586
  agentEoa: string;
@@ -368,6 +598,16 @@ export declare const TaskSchema: z.ZodObject<{
368
598
  } | undefined;
369
599
  spec?: Record<string, unknown> | undefined;
370
600
  eligibility?: Record<string, unknown> | undefined;
601
+ claimPolicy?: z.objectInputType<{
602
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
603
+ maxClaims: z.ZodNumber;
604
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
605
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
606
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
607
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
608
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
609
+ policyHook: z.ZodOptional<z.ZodString>;
610
+ }, z.ZodTypeAny, "passthrough"> | undefined;
371
611
  context?: Record<string, unknown> | undefined;
372
612
  attemptId?: string | undefined;
373
613
  attemptNumber?: number | undefined;
@@ -406,6 +646,34 @@ export declare const TaskSchema: z.ZodObject<{
406
646
  }>;
407
647
  spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
408
648
  eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
649
+ claimPolicy: z.ZodObject<{
650
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
651
+ maxClaims: z.ZodNumber;
652
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
653
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
654
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
655
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
656
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
657
+ policyHook: z.ZodOptional<z.ZodString>;
658
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
659
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
660
+ maxClaims: z.ZodNumber;
661
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
662
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
663
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
664
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
665
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
666
+ policyHook: z.ZodOptional<z.ZodString>;
667
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
668
+ mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
669
+ maxClaims: z.ZodNumber;
670
+ maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
671
+ claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
672
+ claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
673
+ submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
674
+ claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
675
+ policyHook: z.ZodOptional<z.ZodString>;
676
+ }, z.ZodTypeAny, "passthrough">>;
409
677
  creator: z.ZodObject<{
410
678
  safeAddress: z.ZodString;
411
679
  agentEoa: z.ZodString;
@@ -431,11 +699,27 @@ export interface Task {
431
699
  window?: Window;
432
700
  spec?: Record<string, unknown>;
433
701
  eligibility?: Record<string, unknown>;
702
+ claimPolicy?: TaskClaimPolicy;
434
703
  signedTask?: SignedTaskV1;
435
704
  }
436
705
  export declare function parseTask(input: unknown): Task;
706
+ export interface PostedTask {
707
+ taskId: string;
708
+ taskCid: string;
709
+ txHash?: `0x${string}`;
710
+ blockNumber?: number;
711
+ }
712
+ export interface TaskAnnouncement {
713
+ taskId: string;
714
+ task: Task;
715
+ taskCid?: string;
716
+ onchainCreationTx?: `0x${string}`;
717
+ onchainCreationBlock?: number;
718
+ }
437
719
  export interface TaskRequest {
438
720
  requestId: RequestId;
721
+ taskId?: string;
722
+ attemptIndex?: number;
439
723
  task: Task;
440
724
  payment?: string;
441
725
  timeout?: number;
@@ -5,7 +5,7 @@
5
5
  import { randomUUID } from 'node:crypto';
6
6
  import { z } from 'zod';
7
7
  import { WindowSchema } from './window.js';
8
- import { SignedTaskV1Schema } from './task-document.js';
8
+ import { SignedTaskV1Schema, TaskClaimPolicySchema } from './task-document.js';
9
9
  // ── Window (re-exported for backwards compat) ─────────────────────────────────
10
10
  export { WindowSchema };
11
11
  // ── Task schema ─────────────────────────────────────────────────────
@@ -24,6 +24,9 @@ export const TaskSchema = z.object({
24
24
  spec: z.record(z.unknown()).optional(),
25
25
  // §3 — pre-claim and post-hoc qualifying rules; shape governed by solverType
26
26
  eligibility: z.record(z.unknown()).optional(),
27
+ // TaskCoordinator claim policy. Required on signed task.v1 documents, optional
28
+ // on loose runtime Tasks so tests/configured tasks can use creator defaults.
29
+ claimPolicy: TaskClaimPolicySchema.optional(),
27
30
  signedTask: SignedTaskV1Schema.optional(),
28
31
  });
29
32
  export function parseTask(input) {
@@ -40,6 +43,7 @@ export function parseTask(input) {
40
43
  }
41
44
  const solverType = parsed.solverType ?? signedTask?.solverType;
42
45
  const spec = parsedSpec ?? signedTask?.spec;
46
+ const claimPolicy = parsed.claimPolicy ?? signedTask?.claimPolicy;
43
47
  return {
44
48
  id: parsed.id ?? signedTask?.id ?? randomUUID(),
45
49
  description,
@@ -52,6 +56,7 @@ export function parseTask(input) {
52
56
  window: parsed.window ?? signedTask?.window,
53
57
  spec,
54
58
  eligibility: parsed.eligibility ?? signedTask?.eligibility,
59
+ claimPolicy,
55
60
  signedTask,
56
61
  };
57
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAA2C,MAAM,oBAAoB,CAAC;AAIxH,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAe,CAAC;AAErC,uEAAuE;AAEvE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC1C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE3C,iCAAiC;IACjC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;IAE/B,iEAAiE;IACjE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEtC,6EAA6E;IAC7E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAE7C,+EAA+E;IAC/E,6EAA6E;IAC7E,WAAW,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAE7C,UAAU,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAqBH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,aAAa,GAAG,UAKR,CAAC;IACf,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,UAAU,EAAE,WAAW,CAAC;IAClE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAA2C,CAAC;IACtE,IAAI,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE,UAAU,CAAC;IAC/D,MAAM,IAAI,GAAG,UAAU,IAAI,UAAU,EAAE,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,UAAU,EAAE,WAAW,CAAC;IAClE,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,UAAU,EAAE,EAAE,IAAI,UAAU,EAAE;QAC/C,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,aAAa,EAAE,OAAO;QACjD,UAAU;QACV,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE,IAAI;QACrC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,aAAa,EAAE,SAAS;QACvD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,aAAa,EAAE,aAAa;QACnE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,aAAa,EAAE,oBAAoB;QACxF,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,UAAU,EAAE,MAAM;QAC3C,IAAI;QACJ,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,UAAU,EAAE,WAAW;QAC1D,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,61 @@
1
+ # @jinn-network/sdk
2
+
3
+ Stable SDK surface for Jinn SolverNets, Harnesses, plugins, and typed
4
+ payloads.
5
+
6
+ Runtime internals live in `@jinn-network/client`. The SDK builds, validates,
7
+ describes, and prepares; the client runs, stores, posts, claims, signs,
8
+ submits, and watches.
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ npm install @jinn-network/sdk
14
+ ```
15
+
16
+ ## Harness authoring
17
+
18
+ ```ts
19
+ import type {
20
+ Harness,
21
+ ExternalHarnessEnv,
22
+ HarnessContext,
23
+ Solution,
24
+ } from '@jinn-network/sdk/harness';
25
+ import { buildSolutionOutput } from '@jinn-network/sdk/solvernets/prediction-v1';
26
+
27
+ export default function createHarness(env: ExternalHarnessEnv): Harness {
28
+ return {
29
+ name: env.implName,
30
+ version: env.implVersion,
31
+ supports: ({ solverType, role }) =>
32
+ solverType === 'prediction.v1' && role !== 'evaluation',
33
+ async run(ctx: HarnessContext): Promise<Solution> {
34
+ return buildSolutionOutput({
35
+ solverType: 'prediction.v1',
36
+ venueName: 'polymarket',
37
+ payload: {
38
+ probabilityYes: '0.50',
39
+ submittedAt: new Date().toISOString(),
40
+ format: 'decimal',
41
+ modelId: 'example-harness',
42
+ },
43
+ });
44
+ },
45
+ };
46
+ }
47
+ ```
48
+
49
+ ## Public subpaths
50
+
51
+ - `@jinn-network/sdk/harness` — Harness interfaces, context, capability
52
+ handles, and signed Harness manifest types.
53
+ - `@jinn-network/sdk/solvernets` — SolverNet contract registry, validation, and
54
+ generic typed output builders.
55
+ - `@jinn-network/sdk/solvernets/prediction-v1` — first-party Prediction v1
56
+ schemas, payload types, validation, and output helpers.
57
+ - `@jinn-network/sdk/plugins` — SolverPlugin manifest types and validation
58
+ helpers for normal AI tooling plugins.
59
+
60
+ The daemon still performs final runtime validation, envelope assembly, signing,
61
+ storage, and submission.
@@ -0,0 +1,52 @@
1
+ import type { Address, Hex } from './types.js';
2
+ export interface SignTypedDataArgs {
3
+ domain: {
4
+ name?: string;
5
+ version?: string;
6
+ chainId?: number;
7
+ verifyingContract?: Address;
8
+ };
9
+ types: Record<string, Array<{
10
+ name: string;
11
+ type: string;
12
+ }>>;
13
+ primaryType: string;
14
+ message: Record<string, unknown>;
15
+ }
16
+ /**
17
+ * The runtime gate on `ScopedSigner.signTypedData` is enforced
18
+ * daemon-side: the daemon constructs the signer with an allow-list
19
+ * derived from the manifest's `capabilities.signer.typedDataDomains`
20
+ * (see {@link TypedDataAllowEntry} on `manifest.ts`) and refuses any
21
+ * domain not on the list. An impl that ships no `typedDataDomains`
22
+ * entry cannot call `signTypedData` at all (default-deny). The
23
+ * `ScopedSigner` interface itself is unchanged — the gate lives in
24
+ * the construction args, not the contract surface.
25
+ */
26
+ export interface SendAllowedCallArgs {
27
+ to: Address;
28
+ data: Hex;
29
+ value?: bigint;
30
+ }
31
+ export interface ScopedSigner {
32
+ readonly address: Address;
33
+ signTypedData(args: SignTypedDataArgs): Promise<Hex>;
34
+ sendAllowedCall(call: SendAllowedCallArgs): Promise<Hex>;
35
+ }
36
+ export interface ScopedRpc {
37
+ readContract(args: {
38
+ address: Address;
39
+ abi: readonly unknown[];
40
+ functionName: string;
41
+ args?: readonly unknown[];
42
+ }): Promise<unknown>;
43
+ getBlockNumber(): Promise<bigint>;
44
+ getBalance(args: {
45
+ address: Address;
46
+ }): Promise<bigint>;
47
+ getCode(args: {
48
+ address: Address;
49
+ }): Promise<Hex | undefined>;
50
+ getChainId(): Promise<number>;
51
+ }
52
+ export type ScopedSecrets = Readonly<Record<string, string>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,105 @@
1
+ import type { z } from 'zod';
2
+ import type { OutputArtifact, RationaleEntry, Solution } from './types.js';
3
+ import { type PredictionV1Task } from './prediction-v1.js';
4
+ import { type PredictionV1RestorationPayload, type PredictionV1VerdictPayload } from './payloads/prediction-v1.js';
5
+ export type SolverNetContractRole = 'creator' | 'solver' | 'evaluator';
6
+ export type PayloadKind = 'task' | 'solution' | 'verdict';
7
+ export type SupportedSolverType = 'prediction.v1';
8
+ export interface CredentialRequirement {
9
+ id: string;
10
+ kind: 'public-api' | 'client-owned' | 'operator-credential';
11
+ required: boolean;
12
+ description: string;
13
+ }
14
+ export interface SolverNetEvaluationFunction {
15
+ id: string;
16
+ deterministic: boolean;
17
+ inputs: readonly string[];
18
+ output: string;
19
+ implementation: string;
20
+ }
21
+ export interface SolverNetAggregationFunction {
22
+ id: string;
23
+ deterministic: boolean;
24
+ inputs: readonly string[];
25
+ output: string;
26
+ windowDays?: number;
27
+ }
28
+ export interface SolverNetClaimPolicyDefaults {
29
+ mode: 'exclusive' | 'parallel';
30
+ maxClaims: number;
31
+ maxClaimsPerOperator: number;
32
+ claimLeaseTtlSeconds: number;
33
+ }
34
+ export interface SolverNetContract {
35
+ name: string;
36
+ solverType: SupportedSolverType;
37
+ schemas: {
38
+ task: z.ZodTypeAny;
39
+ solution: z.ZodTypeAny;
40
+ verdict: z.ZodTypeAny;
41
+ };
42
+ claimPolicyDefaults: SolverNetClaimPolicyDefaults;
43
+ credentialRequirements: Record<SolverNetContractRole, CredentialRequirement[]>;
44
+ evaluationFunction: SolverNetEvaluationFunction;
45
+ aggregationFunction: SolverNetAggregationFunction;
46
+ referencePlugins: string[];
47
+ }
48
+ export type SolverNetContractMap = Record<SupportedSolverType, SolverNetContract>;
49
+ export declare const PREDICTION_V1_SOLVER_NET_CONTRACT: SolverNetContract;
50
+ export declare const SOLVER_NET_CONTRACTS: SolverNetContractMap;
51
+ export declare function getSolverNetContract(solverType: string): SolverNetContract | undefined;
52
+ export interface PayloadValidationIssue {
53
+ path: string;
54
+ message: string;
55
+ }
56
+ export interface PayloadValidationFailure {
57
+ ok: false;
58
+ error: {
59
+ code: 'unsupported_solver_type' | 'invalid_payload';
60
+ message: string;
61
+ issues: PayloadValidationIssue[];
62
+ };
63
+ }
64
+ export interface PayloadValidationSuccess<T> {
65
+ ok: true;
66
+ value: T;
67
+ }
68
+ export type PayloadValidationResult<T> = PayloadValidationSuccess<T> | PayloadValidationFailure;
69
+ export declare class PayloadValidationException extends Error {
70
+ readonly code: 'unsupported_solver_type' | 'invalid_payload';
71
+ readonly issues: PayloadValidationIssue[];
72
+ constructor(code: 'unsupported_solver_type' | 'invalid_payload', message: string, issues?: PayloadValidationIssue[]);
73
+ }
74
+ export declare function validateTask(solverType: 'prediction.v1', task: unknown): PayloadValidationResult<PredictionV1Task>;
75
+ export declare function validateTask(solverType: string, task: unknown): PayloadValidationResult<unknown>;
76
+ export declare function assertTask(solverType: 'prediction.v1', task: unknown): PredictionV1Task;
77
+ export declare function assertTask(solverType: string, task: unknown): unknown;
78
+ export declare function validateSolutionPayload(solverType: 'prediction.v1', payload: unknown): PayloadValidationResult<PredictionV1RestorationPayload>;
79
+ export declare function validateSolutionPayload(solverType: string, payload: unknown): PayloadValidationResult<Record<string, unknown>>;
80
+ export declare function assertSolutionPayload(solverType: 'prediction.v1', payload: unknown): PredictionV1RestorationPayload;
81
+ export declare function assertSolutionPayload(solverType: string, payload: unknown): Record<string, unknown>;
82
+ export declare function validateVerdictPayload(solverType: 'prediction.v1', payload: unknown): PayloadValidationResult<PredictionV1VerdictPayload>;
83
+ export declare function validateVerdictPayload(solverType: string, payload: unknown): PayloadValidationResult<Record<string, unknown>>;
84
+ export declare function assertVerdictPayload(solverType: 'prediction.v1', payload: unknown): PredictionV1VerdictPayload;
85
+ export declare function assertVerdictPayload(solverType: string, payload: unknown): Record<string, unknown>;
86
+ export interface BuildSolutionOutputArgs {
87
+ solverType: string;
88
+ venueName: string;
89
+ payload: Record<string, unknown>;
90
+ gating?: Record<string, unknown>;
91
+ informational?: Record<string, unknown>;
92
+ artifacts?: OutputArtifact[];
93
+ rationale?: RationaleEntry[];
94
+ }
95
+ export declare function buildSolutionOutput(args: BuildSolutionOutputArgs): Solution;
96
+ export interface BuildVerdictOutputArgs {
97
+ solverType: string;
98
+ venueName?: string;
99
+ payload: Record<string, unknown>;
100
+ gating?: Record<string, unknown>;
101
+ informational?: Record<string, unknown>;
102
+ artifacts?: OutputArtifact[];
103
+ rationale?: RationaleEntry[];
104
+ }
105
+ export declare function buildVerdictOutput(args: BuildVerdictOutputArgs): Solution;