tenzro-sdk 0.2.0 → 0.4.0

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 (141) hide show
  1. package/README.md +11 -1
  2. package/dist/adaptive-burn.js +4 -4
  3. package/dist/adaptive-burn.js.map +1 -1
  4. package/dist/agent.d.ts +119 -11
  5. package/dist/agent.d.ts.map +1 -1
  6. package/dist/agent.js +162 -13
  7. package/dist/agent.js.map +1 -1
  8. package/dist/api-key.d.ts +128 -0
  9. package/dist/api-key.d.ts.map +1 -0
  10. package/dist/api-key.js +94 -0
  11. package/dist/api-key.js.map +1 -0
  12. package/dist/app.js +1 -1
  13. package/dist/app.js.map +1 -1
  14. package/dist/auth.d.ts +37 -0
  15. package/dist/auth.d.ts.map +1 -1
  16. package/dist/auth.js +11 -0
  17. package/dist/auth.js.map +1 -1
  18. package/dist/axelar.d.ts +54 -0
  19. package/dist/axelar.d.ts.map +1 -0
  20. package/dist/axelar.js +30 -0
  21. package/dist/axelar.js.map +1 -0
  22. package/dist/babylon.d.ts +46 -0
  23. package/dist/babylon.d.ts.map +1 -0
  24. package/dist/babylon.js +37 -0
  25. package/dist/babylon.js.map +1 -0
  26. package/dist/caip.d.ts +43 -0
  27. package/dist/caip.d.ts.map +1 -0
  28. package/dist/caip.js +29 -0
  29. package/dist/caip.js.map +1 -0
  30. package/dist/canton.d.ts +16 -18
  31. package/dist/canton.d.ts.map +1 -1
  32. package/dist/canton.js +16 -18
  33. package/dist/canton.js.map +1 -1
  34. package/dist/capital.d.ts +167 -0
  35. package/dist/capital.d.ts.map +1 -0
  36. package/dist/capital.js +117 -0
  37. package/dist/capital.js.map +1 -0
  38. package/dist/client.d.ts +108 -1
  39. package/dist/client.d.ts.map +1 -1
  40. package/dist/client.js +136 -0
  41. package/dist/client.js.map +1 -1
  42. package/dist/eip7702.d.ts +110 -0
  43. package/dist/eip7702.d.ts.map +1 -0
  44. package/dist/eip7702.js +73 -0
  45. package/dist/eip7702.js.map +1 -0
  46. package/dist/erc7683.d.ts +79 -0
  47. package/dist/erc7683.d.ts.map +1 -0
  48. package/dist/erc7683.js +82 -0
  49. package/dist/erc7683.js.map +1 -0
  50. package/dist/events.d.ts +45 -15
  51. package/dist/events.d.ts.map +1 -1
  52. package/dist/events.js +38 -8
  53. package/dist/events.js.map +1 -1
  54. package/dist/hyperlane.d.ts +47 -0
  55. package/dist/hyperlane.d.ts.map +1 -0
  56. package/dist/hyperlane.js +27 -0
  57. package/dist/hyperlane.js.map +1 -0
  58. package/dist/identity.d.ts +1 -1
  59. package/dist/identity.js +1 -1
  60. package/dist/index.d.ts +44 -4
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +55 -2
  63. package/dist/index.js.map +1 -1
  64. package/dist/iroh.d.ts +104 -0
  65. package/dist/iroh.d.ts.map +1 -0
  66. package/dist/iroh.js +102 -0
  67. package/dist/iroh.js.map +1 -0
  68. package/dist/marketplace.d.ts +2 -2
  69. package/dist/marketplace.js +2 -2
  70. package/dist/memory.d.ts +78 -0
  71. package/dist/memory.d.ts.map +1 -0
  72. package/dist/memory.js +60 -0
  73. package/dist/memory.js.map +1 -0
  74. package/dist/multimodal.d.ts +294 -0
  75. package/dist/multimodal.d.ts.map +1 -0
  76. package/dist/multimodal.js +160 -0
  77. package/dist/multimodal.js.map +1 -0
  78. package/dist/passkey.d.ts +193 -0
  79. package/dist/passkey.d.ts.map +1 -0
  80. package/dist/passkey.js +481 -0
  81. package/dist/passkey.js.map +1 -0
  82. package/dist/permit2.d.ts +49 -0
  83. package/dist/permit2.d.ts.map +1 -0
  84. package/dist/permit2.js +30 -0
  85. package/dist/permit2.js.map +1 -0
  86. package/dist/provider.d.ts +5 -4
  87. package/dist/provider.d.ts.map +1 -1
  88. package/dist/provider.js +8 -5
  89. package/dist/provider.js.map +1 -1
  90. package/dist/rpc.d.ts.map +1 -1
  91. package/dist/rpc.js +16 -0
  92. package/dist/rpc.js.map +1 -1
  93. package/dist/secure-mint.d.ts +39 -0
  94. package/dist/secure-mint.d.ts.map +1 -0
  95. package/dist/secure-mint.js +44 -0
  96. package/dist/secure-mint.js.map +1 -0
  97. package/dist/seed-agent.js +7 -7
  98. package/dist/seed-agent.js.map +1 -1
  99. package/dist/settlement.d.ts +23 -6
  100. package/dist/settlement.d.ts.map +1 -1
  101. package/dist/settlement.js +30 -7
  102. package/dist/settlement.js.map +1 -1
  103. package/dist/signer.d.ts +181 -0
  104. package/dist/signer.d.ts.map +1 -0
  105. package/dist/signer.js +69 -0
  106. package/dist/signer.js.map +1 -0
  107. package/dist/sla.d.ts +95 -0
  108. package/dist/sla.d.ts.map +1 -0
  109. package/dist/sla.js +70 -0
  110. package/dist/sla.js.map +1 -0
  111. package/dist/snapshot.d.ts +122 -0
  112. package/dist/snapshot.d.ts.map +1 -0
  113. package/dist/snapshot.js +80 -0
  114. package/dist/snapshot.js.map +1 -0
  115. package/dist/staking.d.ts +5 -5
  116. package/dist/staking.d.ts.map +1 -1
  117. package/dist/staking.js +8 -6
  118. package/dist/staking.js.map +1 -1
  119. package/dist/task.d.ts +56 -22
  120. package/dist/task.d.ts.map +1 -1
  121. package/dist/task.js +65 -31
  122. package/dist/task.js.map +1 -1
  123. package/dist/token.d.ts +41 -11
  124. package/dist/token.d.ts.map +1 -1
  125. package/dist/token.js.map +1 -1
  126. package/dist/training.d.ts +108 -0
  127. package/dist/training.d.ts.map +1 -0
  128. package/dist/training.js +53 -0
  129. package/dist/training.js.map +1 -0
  130. package/dist/types.d.ts +165 -38
  131. package/dist/types.d.ts.map +1 -1
  132. package/dist/types.js.map +1 -1
  133. package/dist/validator.d.ts +76 -0
  134. package/dist/validator.d.ts.map +1 -0
  135. package/dist/validator.js +47 -0
  136. package/dist/validator.js.map +1 -0
  137. package/dist/workflow.d.ts +98 -0
  138. package/dist/workflow.d.ts.map +1 -0
  139. package/dist/workflow.js +131 -0
  140. package/dist/workflow.js.map +1 -0
  141. package/package.json +2 -1
package/dist/task.js CHANGED
@@ -1,6 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskClient = void 0;
4
+ /**
5
+ * Task-marketplace client.
6
+ *
7
+ * Full settlement cycle on the live testnet:
8
+ *
9
+ * await client.task.postTask({ title, poster, max_price, task_type, input })
10
+ * await client.task.quoteTask(taskId, providerAddress, price, { model_id, ... })
11
+ * await client.task.assignTask(taskId, providerAddress, quotedPrice)
12
+ * await client.task.completeTask(taskId, output) // <- triggers TNZO transfer
13
+ *
14
+ * `completeTask` performs the on-chain settlement: `tenzro-token`
15
+ * transfers `final_price` (the quoted price, or `max_price` if unquoted)
16
+ * from poster to assignee through the unified token registry.
17
+ */
4
18
  class TaskClient {
5
19
  rpc;
6
20
  constructor(rpc) {
@@ -18,53 +32,73 @@ class TaskClient {
18
32
  async cancelTask(taskId) {
19
33
  return this.rpc.call('tenzro_cancelTask', [{ task_id: taskId }]);
20
34
  }
21
- async submitQuote(taskId, price, modelId, estimatedDurationSecs) {
22
- return this.rpc.call('tenzro_submitQuote', [{
23
- task_id: taskId,
24
- price,
25
- model_id: modelId,
26
- estimated_duration_secs: estimatedDurationSecs,
27
- }]);
28
- }
29
35
  /**
30
- * Submit a quote for a task with price and estimated completion time.
31
- * @param taskId - The task to quote
32
- * @param price - Quoted price (in TNZO wei)
33
- * @param estimatedTime - Estimated completion time (e.g., "120s", "5m", "1h")
34
- * @returns Quote result
36
+ * Submit a quote for a task.
37
+ *
38
+ * @param taskId - The task to quote.
39
+ * @param provider - Provider address (hex). Required the live RPC
40
+ * rejects quotes that lack a provider address.
41
+ * @param price - Quoted price in TNZO wei (u128 as decimal string).
42
+ * @param opts.modelId - Optional model identifier (default: `"any"`).
43
+ * @param opts.confidence - Quote confidence 0–100 (default: 80).
44
+ * @param opts.estimatedDurationSecs - Estimated runtime in seconds (default: 60).
45
+ * @param opts.notes - Optional free-form notes.
35
46
  */
36
- async quoteTask(taskId, price, estimatedTime) {
47
+ async quoteTask(taskId, provider, price, opts) {
37
48
  return this.rpc.call('tenzro_quoteTask', [
38
- { task_id: taskId, price, estimated_time: estimatedTime },
49
+ {
50
+ task_id: taskId,
51
+ provider,
52
+ price,
53
+ model_id: opts?.modelId,
54
+ confidence: opts?.confidence,
55
+ estimated_duration_secs: opts?.estimatedDurationSecs,
56
+ notes: opts?.notes,
57
+ },
39
58
  ]);
40
59
  }
41
60
  /**
42
- * Assign a task to a specific agent.
43
- * @param taskId - The task to assign
44
- * @param agentId - The agent to assign it to
45
- * @returns Assignment result with status
61
+ * Assign a task to a specific provider address.
62
+ *
63
+ * The live RPC handler keys assignment on the provider's wallet
64
+ * address, not an agent_id — the task's `assignee` field is set to
65
+ * `provider`, and `quoted_price` is stored on the task so that
66
+ * `completeTask` can settle to it.
67
+ *
68
+ * @param taskId - The task to assign.
69
+ * @param provider - Provider wallet address (hex).
70
+ * @param quotedPrice - Optional locked-in price in TNZO wei
71
+ * (u128 as decimal string). If omitted, the task's `max_price`
72
+ * is used at settlement time.
46
73
  */
47
- async assignTask(taskId, agentId) {
74
+ async assignTask(taskId, provider, quotedPrice) {
48
75
  return this.rpc.call('tenzro_assignTask', [
49
- { task_id: taskId, agent_id: agentId },
76
+ {
77
+ task_id: taskId,
78
+ provider,
79
+ quoted_price: quotedPrice,
80
+ },
50
81
  ]);
51
82
  }
52
83
  /**
53
- * Mark a task as completed with the final result.
54
- * @param taskId - The task to complete
55
- * @param result - The output / result of the task
56
- * @returns Completion result with status and optional settlement tx hash
84
+ * Mark a task as completed and trigger on-chain TNZO settlement.
85
+ *
86
+ * The live RPC handler:
87
+ * 1. transfers `final_price` from poster to assignee via the token registry,
88
+ * 2. sets `task.status = Completed`,
89
+ * 3. stores `output` on the task,
90
+ * 4. returns the new poster/assignee balances under `settlement`.
91
+ *
92
+ * @param taskId - The task to complete.
93
+ * @param output - The result / output text to attach to the task.
57
94
  */
58
- async completeTask(taskId, result) {
95
+ async completeTask(taskId, output) {
59
96
  return this.rpc.call('tenzro_completeTask', [
60
- { task_id: taskId, result },
97
+ { task_id: taskId, output },
61
98
  ]);
62
99
  }
63
100
  /**
64
- * Update an existing task.
65
- * @param taskId - The task to update
66
- * @param options - Fields to update (partial)
67
- * @returns Updated task information
101
+ * Update an existing task (creator only).
68
102
  */
69
103
  async updateTask(taskId, options) {
70
104
  return this.rpc.call('tenzro_updateTask', [
package/dist/task.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":";;;AAGA,MAAa,UAAU;IACQ;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAmB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,kBAAkB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,mBAAmB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,KAAa,EACb,OAAe,EACf,qBAA6B;QAE7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,oBAAoB,EAAE,CAAC;gBACrD,OAAO,EAAE,MAAM;gBACf,KAAK;gBACL,QAAQ,EAAE,OAAO;gBACjB,uBAAuB,EAAE,qBAAqB;aAC/C,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,MAAc,EACd,KAAa,EACb,aAAqB;QAErB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACvC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE;SAC1D,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,OAAe;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,mBAAmB,EAAE;YAC1D,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,qBAAqB,EAAE;YAC9D,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,OAKC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACxC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AA7FD,gCA6FC"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":";;;AAUA;;;;;;;;;;;;;GAaG;AACH,MAAa,UAAU;IACQ;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAmB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,kBAAkB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,mBAAmB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,SAAS,CACb,MAAc,EACd,QAAgB,EAChB,KAAa,EACb,IAKC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,kBAAkB,EAAE;YAClD;gBACE,OAAO,EAAE,MAAM;gBACf,QAAQ;gBACR,KAAK;gBACL,QAAQ,EAAE,IAAI,EAAE,OAAO;gBACvB,UAAU,EAAE,IAAI,EAAE,UAAU;gBAC5B,uBAAuB,EAAE,IAAI,EAAE,qBAAqB;gBACpD,KAAK,EAAE,IAAI,EAAE,KAAK;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,QAAgB,EAChB,WAAoB;QAEpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,mBAAmB,EAAE;YAC1D;gBACE,OAAO,EAAE,MAAM;gBACf,QAAQ;gBACR,YAAY,EAAE,WAAW;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,qBAAqB,EAAE;YAC9D,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,OAKC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,mBAAmB,EAAE;YAClD,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AArHD,gCAqHC"}
package/dist/token.d.ts CHANGED
@@ -37,14 +37,14 @@ export interface ListTokensParams {
37
37
  /** Parameters for a cross-VM token transfer. */
38
38
  export interface CrossVmTransferParams {
39
39
  /** Sender address */
40
- from: string;
40
+ from_address: string;
41
41
  /** Recipient address */
42
- to: string;
42
+ to_address: string;
43
43
  /** Amount as a decimal string */
44
44
  amount: string;
45
- /** Source VM: "evm", "svm", or "daml" */
45
+ /** Source VM: "evm", "svm", "daml", or "native" */
46
46
  from_vm: string;
47
- /** Destination VM: "evm", "svm", or "daml" */
47
+ /** Destination VM: "evm", "svm", "daml", or "native" */
48
48
  to_vm: string;
49
49
  /** Token symbol (default: "TNZO") */
50
50
  token?: string;
@@ -77,16 +77,46 @@ export interface TokenListResult {
77
77
  /** Total number of tokens matching the filter */
78
78
  total: number;
79
79
  }
80
- /** Token balance across VMs. */
80
+ /** Native TNZO view (18 decimals). */
81
+ export interface NativeBalance {
82
+ /** Balance in wei (decimal string) */
83
+ balance_wei: string;
84
+ /** Number of decimals (always 18) */
85
+ decimals: number;
86
+ }
87
+ /** EVM wTNZO ERC-20 view — same wei as native, 18 decimals. */
88
+ export interface EvmBalance {
89
+ /** Balance in wei (decimal string) */
90
+ balance_wei: string;
91
+ /** Number of decimals (always 18) */
92
+ decimals: number;
93
+ }
94
+ /** SVM wTNZO SPL view — 9-decimal truncation of native balance. */
95
+ export interface SvmBalance {
96
+ /** Balance in SPL base units (decimal string, 9 decimals) */
97
+ balance_base_units: string;
98
+ /** Number of decimals (always 9) */
99
+ decimals: number;
100
+ }
101
+ /** DAML CIP-56 holding view — same wei as native, 18 decimals. */
102
+ export interface DamlBalance {
103
+ /** Holding amount in wei (decimal string) */
104
+ amount_wei: string;
105
+ /** Number of decimals (always 18) */
106
+ decimals: number;
107
+ }
108
+ /** Token balance across all four VM views (pointer model). */
81
109
  export interface TokenBalance {
82
110
  /** Address queried */
83
111
  address: string;
84
- /** Token symbol */
85
- token: string;
86
- /** Total balance as a decimal string */
87
- balance: string;
88
- /** Per-VM breakdown */
89
- balances?: Record<string, string>;
112
+ /** Native TNZO balance (18-decimal wei) */
113
+ native: NativeBalance;
114
+ /** EVM wTNZO ERC-20 view tracks native 1:1 */
115
+ evm_wtnzo: EvmBalance;
116
+ /** SVM wTNZO SPL view — 9-decimal truncation */
117
+ svm_wtnzo: SvmBalance;
118
+ /** DAML CIP-56 holding view — tracks native 1:1 */
119
+ daml_holding: DamlBalance;
90
120
  }
91
121
  /** Result of wrapping native TNZO into a VM representation. */
92
122
  export interface WrapResult {
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
package/dist/token.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,4CAA4C,CAAC;AA0H9E,eAAe;AAEf;;;;GAIG;AACH,MAAa,WAAW;IACO;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,MAAyB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,MAA0B;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,mBAAmB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAc;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,wBAAwB,EAAE;YAC3D,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,MAAc,EAAE,IAAY;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,iBAAiB,EAAE;YAClD,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,MAA6B;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAjED,kCAiEC"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,4CAA4C,CAAC;AA4J9E,eAAe;AAEf;;;;GAIG;AACH,MAAa,WAAW;IACO;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,MAAyB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,MAA0B;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,mBAAmB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAc;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,wBAAwB,EAAE;YAC3D,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,MAAc,EAAE,IAAY;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,iBAAiB,EAAE;YAClD,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,MAA6B;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAjED,kCAiEC"}
@@ -0,0 +1,108 @@
1
+ import { RpcClient } from "./rpc";
2
+ /**
3
+ * Lifecycle status of a `TrainingRun`. Mirrors the Rust
4
+ * `tenzro_types::training::TrainingRunStatus` enum.
5
+ */
6
+ export type TrainingRunStatus = "Pending" | "Active" | "Completed" | "Failed" | "Cancelled";
7
+ /**
8
+ * Read-side view of a `TrainingRun` — the protocol-side run header
9
+ * the syncer maintains for an in-flight training task. Field shape
10
+ * matches `tenzro_types::training::TrainingRun` verbatim; opaque
11
+ * sub-payloads (current `SyncRound`, aggregator config, attestations)
12
+ * are passed through as `unknown` so this SDK doesn't lock callers to
13
+ * a specific decode shape.
14
+ */
15
+ export interface TrainingRun {
16
+ task_id: string;
17
+ task_spec: unknown;
18
+ status: TrainingRunStatus;
19
+ current_round: number;
20
+ state_root: string;
21
+ enrolled_trainers: string[];
22
+ created_at_ms: number;
23
+ updated_at_ms: number;
24
+ /** Present once `status` reaches `Completed` / `Failed` / `Cancelled`. */
25
+ receipt?: unknown;
26
+ /** Aggregator parameters, decay schedule, witness committee config. */
27
+ metadata?: Record<string, unknown>;
28
+ }
29
+ /**
30
+ * Sealed training receipt — produced when a run reaches its terminal
31
+ * state. The receipt commits to the final state root, the aggregated
32
+ * outer-gradient sequence, the witness committee that finalized each
33
+ * round, and (for Confidential-tier runs) the sealed-shard manifest
34
+ * hash. Persisted under `CF_TRAINING_RECEIPTS`.
35
+ */
36
+ export interface TrainingReceipt {
37
+ task_id: string;
38
+ final_state_root: string;
39
+ rounds_completed: number;
40
+ witness_committees: unknown[];
41
+ manifest_hash?: string;
42
+ sealed_at_ms: number;
43
+ [k: string]: unknown;
44
+ }
45
+ /**
46
+ * Confidential-tier sealed-shard manifest. Each envelope wraps one
47
+ * trainer's encrypted shard along with the HPKE-wrapped data key and
48
+ * the enclave attestation the sponsor sealed to.
49
+ */
50
+ export interface SealedDatasetManifest {
51
+ task_id: string;
52
+ manifest_hash: string;
53
+ envelopes: SealedShardEnvelope[];
54
+ created_at_ms: number;
55
+ [k: string]: unknown;
56
+ }
57
+ export interface SealedShardEnvelope {
58
+ trainer_did: string;
59
+ shard_index: number;
60
+ shard_ciphertext_hash: string;
61
+ shard_ciphertext_bytes: number;
62
+ wrapped_data_key: string;
63
+ /** Always `"hpke-x25519-hkdf-sha256-aes-256-gcm"`. */
64
+ wrap_alg: string;
65
+ enclave_pubkey: string;
66
+ enclave_measurements_hex: string;
67
+ created_at_ms: number;
68
+ }
69
+ export interface ListTrainingRunsResult {
70
+ runs: TrainingRun[];
71
+ }
72
+ /**
73
+ * Read-only client for the Tenzro Train protocol-side run state —
74
+ * the surface operators / dashboards / analytics use to inspect
75
+ * in-flight runs, fetch sealed receipts, and audit Confidential-tier
76
+ * sealed-shard manifests.
77
+ *
78
+ * Backed by the `tenzro_training_listRuns` / `tenzro_training_getRun` /
79
+ * `tenzro_training_getReceipt` / `tenzro_training_getSealedManifest`
80
+ * RPCs. Write-side endpoints (`postTask`, `enrollTrainer`,
81
+ * `submitOuterGradient`, `finalizeRound`, `installSealedManifest`)
82
+ * live in a future write-side client — this read client is safe to
83
+ * expose to monitoring agents that should never mutate state.
84
+ */
85
+ export declare class TrainingInspectionClient {
86
+ private rpc;
87
+ constructor(rpc: RpcClient);
88
+ /** List every active training run this node is syncing. */
89
+ listRuns(): Promise<ListTrainingRunsResult>;
90
+ /**
91
+ * Look up a single training run by `task_id`. Throws JSON-RPC
92
+ * `-32602` if the run is unknown — callers that want a nullable
93
+ * result should catch and translate.
94
+ */
95
+ getRun(taskId: string): Promise<TrainingRun>;
96
+ /**
97
+ * Fetch the sealed receipt for a finalized run. Returns `null`
98
+ * when the run is still active (no receipt has been written yet).
99
+ */
100
+ getReceipt(taskId: string): Promise<TrainingReceipt | null>;
101
+ /**
102
+ * Fetch the installed sealed-shard manifest for a Confidential-tier
103
+ * task. Returns `null` when no manifest has been installed (Open
104
+ * and Verified tiers never have a manifest).
105
+ */
106
+ getSealedManifest(taskId: string): Promise<SealedDatasetManifest | null>;
107
+ }
108
+ //# sourceMappingURL=training.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training.d.ts","sourceRoot":"","sources":["../src/training.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,wBAAwB;IACvB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAElC,2DAA2D;IACrD,QAAQ,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAIjD;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD;;;OAGG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAIjE;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;CAK/E"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrainingInspectionClient = void 0;
4
+ /**
5
+ * Read-only client for the Tenzro Train protocol-side run state —
6
+ * the surface operators / dashboards / analytics use to inspect
7
+ * in-flight runs, fetch sealed receipts, and audit Confidential-tier
8
+ * sealed-shard manifests.
9
+ *
10
+ * Backed by the `tenzro_training_listRuns` / `tenzro_training_getRun` /
11
+ * `tenzro_training_getReceipt` / `tenzro_training_getSealedManifest`
12
+ * RPCs. Write-side endpoints (`postTask`, `enrollTrainer`,
13
+ * `submitOuterGradient`, `finalizeRound`, `installSealedManifest`)
14
+ * live in a future write-side client — this read client is safe to
15
+ * expose to monitoring agents that should never mutate state.
16
+ */
17
+ class TrainingInspectionClient {
18
+ rpc;
19
+ constructor(rpc) {
20
+ this.rpc = rpc;
21
+ }
22
+ /** List every active training run this node is syncing. */
23
+ async listRuns() {
24
+ return this.rpc.call("tenzro_training_listRuns", []);
25
+ }
26
+ /**
27
+ * Look up a single training run by `task_id`. Throws JSON-RPC
28
+ * `-32602` if the run is unknown — callers that want a nullable
29
+ * result should catch and translate.
30
+ */
31
+ async getRun(taskId) {
32
+ return this.rpc.call("tenzro_training_getRun", [{ task_id: taskId }]);
33
+ }
34
+ /**
35
+ * Fetch the sealed receipt for a finalized run. Returns `null`
36
+ * when the run is still active (no receipt has been written yet).
37
+ */
38
+ async getReceipt(taskId) {
39
+ return this.rpc.call("tenzro_training_getReceipt", [{ task_id: taskId }]);
40
+ }
41
+ /**
42
+ * Fetch the installed sealed-shard manifest for a Confidential-tier
43
+ * task. Returns `null` when no manifest has been installed (Open
44
+ * and Verified tiers never have a manifest).
45
+ */
46
+ async getSealedManifest(taskId) {
47
+ return this.rpc.call("tenzro_training_getSealedManifest", [
48
+ { task_id: taskId },
49
+ ]);
50
+ }
51
+ }
52
+ exports.TrainingInspectionClient = TrainingInspectionClient;
53
+ //# sourceMappingURL=training.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training.js","sourceRoot":"","sources":["../src/training.ts"],"names":[],"mappings":";;;AAmFA;;;;;;;;;;;;GAYG;AACH,MAAa,wBAAwB;IACf;IAApB,YAAoB,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAEtC,2DAA2D;IAC3D,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE;YACxD,EAAE,OAAO,EAAE,MAAM,EAAE;SACpB,CAAC,CAAC;IACL,CAAC;CACF;AAnCD,4DAmCC"}