@perkos/agent-sdk 0.7.1 → 0.8.0-rc.1

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 (83) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +69 -17
  3. package/dist/builders.d.ts +5 -1
  4. package/dist/builders.d.ts.map +1 -1
  5. package/dist/builders.js +155 -11
  6. package/dist/builders.js.map +1 -1
  7. package/dist/client.d.ts +8 -1
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +168 -26
  10. package/dist/client.js.map +1 -1
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +2 -0
  13. package/dist/constants.js.map +1 -1
  14. package/dist/custody/backend.d.ts +4 -0
  15. package/dist/custody/backend.d.ts.map +1 -0
  16. package/dist/custody/backend.js +149 -0
  17. package/dist/custody/backend.js.map +1 -0
  18. package/dist/custody/cli.d.ts +3 -0
  19. package/dist/custody/cli.d.ts.map +1 -0
  20. package/dist/custody/cli.js +43 -0
  21. package/dist/custody/cli.js.map +1 -0
  22. package/dist/custody/engine.d.ts +54 -0
  23. package/dist/custody/engine.d.ts.map +1 -0
  24. package/dist/custody/engine.js +115 -0
  25. package/dist/custody/engine.js.map +1 -0
  26. package/dist/custody/ledger.d.ts +24 -0
  27. package/dist/custody/ledger.d.ts.map +1 -0
  28. package/dist/custody/ledger.js +122 -0
  29. package/dist/custody/ledger.js.map +1 -0
  30. package/dist/custody/permit.d.ts +42 -0
  31. package/dist/custody/permit.d.ts.map +1 -0
  32. package/dist/custody/permit.js +91 -0
  33. package/dist/custody/permit.js.map +1 -0
  34. package/dist/custody/socket.d.ts +11 -0
  35. package/dist/custody/socket.d.ts.map +1 -0
  36. package/dist/custody/socket.js +118 -0
  37. package/dist/custody/socket.js.map +1 -0
  38. package/dist/evaluation-commitments.d.ts +47 -0
  39. package/dist/evaluation-commitments.d.ts.map +1 -0
  40. package/dist/evaluation-commitments.js +96 -0
  41. package/dist/evaluation-commitments.js.map +1 -0
  42. package/dist/index.d.ts +6 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +3 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/mcp/cli.d.ts +3 -0
  47. package/dist/mcp/cli.d.ts.map +1 -0
  48. package/dist/mcp/cli.js +36 -0
  49. package/dist/mcp/cli.js.map +1 -0
  50. package/dist/mcp/evaluation.d.ts +33 -0
  51. package/dist/mcp/evaluation.d.ts.map +1 -0
  52. package/dist/mcp/evaluation.js +141 -0
  53. package/dist/mcp/evaluation.js.map +1 -0
  54. package/dist/mcp/server.d.ts +27 -0
  55. package/dist/mcp/server.d.ts.map +1 -0
  56. package/dist/mcp/server.js +207 -0
  57. package/dist/mcp/server.js.map +1 -0
  58. package/dist/policy.d.ts.map +1 -1
  59. package/dist/policy.js +7 -2
  60. package/dist/policy.js.map +1 -1
  61. package/dist/service-fees.d.ts +15 -0
  62. package/dist/service-fees.d.ts.map +1 -0
  63. package/dist/service-fees.js +109 -0
  64. package/dist/service-fees.js.map +1 -0
  65. package/dist/types.d.ts +66 -2
  66. package/dist/types.d.ts.map +1 -1
  67. package/docs/ARCHITECTURE.md +18 -2
  68. package/docs/EXISTING_AGENT.md +123 -0
  69. package/docs/HERMES_BUYER.md +91 -0
  70. package/docs/HERMES_CHECKPOINTS.md +88 -0
  71. package/docs/HERMES_CUSTODY.md +164 -0
  72. package/docs/HERMES_MCP.md +157 -0
  73. package/docs/HERMES_PROVIDER.md +98 -0
  74. package/docs/RELEASE_0.8.0_RC1.md +60 -0
  75. package/docs/SERVICE_FEES.md +108 -0
  76. package/docs/TESTNET_QUICKSTART.md +123 -0
  77. package/docs/VALIDATION_AND_RELEASE.md +82 -0
  78. package/docs/WALLET_SIGNER_SETUP.md +52 -0
  79. package/examples/service-fees.ts +36 -0
  80. package/examples/testnet-journal.ts +57 -0
  81. package/examples/testnet-lifecycle.ts +188 -294
  82. package/examples/testnet.env.example +12 -14
  83. package/package.json +7 -1
package/dist/client.js CHANGED
@@ -6,11 +6,13 @@ import { PerkOSTransactionBuilder } from "./builders.js";
6
6
  import { SpendingPolicy } from "./policy.js";
7
7
  import { TransactionTracker } from "./tracker.js";
8
8
  import { normalizeTxid } from "./txid.js";
9
- import { assertPrincipal, parseContractId, resolveConfig, toUint } from "./validation.js";
9
+ import { parseJobServiceFee, parseServiceFeePolicy, quoteServiceFee, supportsServiceFees, } from "./service-fees.js";
10
+ import { assertPrincipal, parseContractId, resolveConfig, toUint, } from "./validation.js";
10
11
  const PINNED_TOKEN_SBTC_CONTRACTS = new Set([
11
12
  "sbtc-commerce-v2",
12
13
  "sbtc-commerce-v3",
13
14
  "sbtc-commerce-v4",
15
+ "sbtc-commerce-v5",
14
16
  ]);
15
17
  function decisionFromCode(value, context) {
16
18
  if (value === 1n)
@@ -46,7 +48,8 @@ export class PerkOSClient {
46
48
  this.transactions = new PerkOSTransactionBuilder(this.config);
47
49
  this.policy = new SpendingPolicy(this.config, input.spendingPolicy);
48
50
  this.signer = input.signer;
49
- this.readOnlyTransport = input.readOnlyTransport ?? defaultReadOnlyTransport;
51
+ this.readOnlyTransport =
52
+ input.readOnlyTransport ?? defaultReadOnlyTransport;
50
53
  this.tracker =
51
54
  input.transactionTracker ??
52
55
  new TransactionTracker({
@@ -81,8 +84,12 @@ export class PerkOSClient {
81
84
  contract: plan.contract,
82
85
  operation: plan.intent.operation,
83
86
  ...(plan.intent.asset ? { asset: plan.intent.asset } : {}),
84
- ...(plan.intent.amount !== undefined ? { amount: plan.intent.amount } : {}),
85
- ...(plan.intent.jobId !== undefined ? { jobId: plan.intent.jobId } : {}),
87
+ ...(plan.intent.amount !== undefined
88
+ ? { amount: plan.intent.amount }
89
+ : {}),
90
+ ...(plan.intent.jobId !== undefined
91
+ ? { jobId: plan.intent.jobId }
92
+ : {}),
86
93
  explorerUrl: `https://explorer.hiro.so/txid/${txid}?chain=${plan.network}`,
87
94
  ...(result.raw !== undefined ? { raw: result.raw } : {}),
88
95
  };
@@ -117,7 +124,9 @@ export class PerkOSClient {
117
124
  async getAgent(agentIdInput) {
118
125
  const agentId = toUint(agentIdInput, "agentId");
119
126
  try {
120
- const value = unwrapResponse(await this.read(this.config.contracts.agentRegistry, "get-agent", [Cl.uint(agentId)]), "get-agent");
127
+ const value = unwrapResponse(await this.read(this.config.contracts.agentRegistry, "get-agent", [
128
+ Cl.uint(agentId),
129
+ ]), "get-agent");
121
130
  const tuple = expectTuple(value, "get-agent");
122
131
  const endpoints = expectList(tuple.endpoints, "agent.endpoints").map((endpoint, index) => {
123
132
  const endpointTuple = expectTuple(endpoint, `agent.endpoints[${index}]`);
@@ -152,9 +161,7 @@ export class PerkOSClient {
152
161
  async getJob(asset, jobIdInput) {
153
162
  const jobId = toUint(jobIdInput, "jobId");
154
163
  try {
155
- const value = unwrapResponse(await this.read(contractForAsset(this.config.contracts, asset), "get-job", [
156
- Cl.uint(jobId),
157
- ]), "get-job");
164
+ const value = unwrapResponse(await this.read(contractForAsset(this.config.contracts, asset), "get-job", [Cl.uint(jobId)]), "get-job");
158
165
  const tuple = expectTuple(value, "get-job");
159
166
  const statusCode = expectUint(tuple.status, "job.status");
160
167
  const status = JOB_STATUS[Number(statusCode)];
@@ -175,6 +182,9 @@ export class PerkOSClient {
175
182
  ...(provider ? { provider } : {}),
176
183
  evaluator: expectPrincipal(tuple.evaluator, "job.evaluator"),
177
184
  ...(appealAuthority ? { appealAuthority } : {}),
185
+ ...(tuple.treasury
186
+ ? { treasury: expectPrincipal(tuple.treasury, "job.treasury") }
187
+ : {}),
178
188
  description: expectString(tuple.description, "job.description"),
179
189
  budget: expectUint(tuple.budget, "job.budget"),
180
190
  expiredAt: expectUint(tuple["expired-at"], "job.expired-at"),
@@ -201,20 +211,94 @@ export class PerkOSClient {
201
211
  }
202
212
  async getEscrowBalance(asset, jobIdInput) {
203
213
  const jobId = toUint(jobIdInput, "jobId");
204
- const value = unwrapResponse(await this.read(contractForAsset(this.config.contracts, asset), "get-escrow-balance", [
205
- Cl.uint(jobId),
206
- ]), "get-escrow-balance");
214
+ const value = unwrapResponse(await this.read(contractForAsset(this.config.contracts, asset), "get-escrow-balance", [Cl.uint(jobId)]), "get-escrow-balance");
207
215
  return expectUint(value, "get-escrow-balance");
208
216
  }
217
+ /** Explicit opt-in capability; deployed defaults remain the no-fee generation. */
218
+ supportsServiceFees(asset) {
219
+ return supportsServiceFees(contractForAsset(this.config.contracts, asset), asset);
220
+ }
221
+ async getServiceFeePolicy(asset) {
222
+ if (!this.supportsServiceFees(asset))
223
+ throw new PerkOSError("INPUT_INVALID", "No service-fee ABI on this configured generation.");
224
+ const policy = parseServiceFeePolicy(await this.read(contractForAsset(this.config.contracts, asset), "get-protocol-config"), this.config.network);
225
+ if (policy.configured &&
226
+ (policy.reviewWindow !== 12n ||
227
+ policy.appealWindow !==
228
+ (this.config.network === "mainnet" ? 144n : 3n) ||
229
+ policy.treasury === policy.appealAuthority)) {
230
+ throw new PerkOSError("READ_FAILED", "Unexpected protocol window or treasury separation.");
231
+ }
232
+ return policy;
233
+ }
234
+ async getJobServiceFee(asset, jobIdInput) {
235
+ const jobId = toUint(jobIdInput, "jobId");
236
+ const policy = await this.getServiceFeePolicy(asset);
237
+ if (!policy.configured)
238
+ throw new PerkOSError("READ_FAILED", "Service-fee protocol is not initialized.");
239
+ const [job, cv] = await Promise.all([
240
+ this.getJob(asset, jobId),
241
+ this.read(contractForAsset(this.config.contracts, asset), "get-job-service-fee", [Cl.uint(jobId)]),
242
+ ]);
243
+ const state = parseJobServiceFee(cv, jobId, this.config.network);
244
+ if (!job ||
245
+ job.treasury !== state.treasury ||
246
+ policy.treasury !== state.treasury ||
247
+ [job.client, job.provider, job.evaluator, job.appealAuthority].includes(state.treasury) ||
248
+ state.feeAmount !== quoteServiceFee(job.budget).fee ||
249
+ state.serviceRecorded !== [3n, 4n, 7n, 8n].includes(job.statusCode) ||
250
+ ([3n, 4n].includes(job.statusCode) && !state.settlement) ||
251
+ (state.settlement &&
252
+ (state.settlement.gross !== job.budget ||
253
+ (job.statusCode !== 3n && job.statusCode !== 4n) ||
254
+ state.settlement.recipient !==
255
+ (job.statusCode === 3n ? job.provider : job.client)))) {
256
+ throw new PerkOSError("READ_FAILED", "Job and fee accounting do not match.");
257
+ }
258
+ return state;
259
+ }
260
+ initializeServiceFeeProtocol(input) {
261
+ return this.execute(this.transactions.initializeServiceFeeProtocol(input));
262
+ }
263
+ async waiveServiceFee(input) {
264
+ const [fee, job] = await Promise.all([
265
+ this.getJobServiceFee(input.asset, input.jobId),
266
+ this.getJob(input.asset, input.jobId),
267
+ ]);
268
+ if (!fee.serviceRecorded || fee.waiver || !job?.appealAuthority)
269
+ throw new PerkOSError("INPUT_INVALID", "Waiver requires recorded service, pinned authority and no previous waiver.");
270
+ return this.execute(this.transactions.waiveServiceFee({
271
+ ...input,
272
+ authority: job.appealAuthority,
273
+ }));
274
+ }
275
+ async refundServiceFee(asset, jobIdInput) {
276
+ const jobId = toUint(jobIdInput, "jobId");
277
+ const state = await this.getJobServiceFee(asset, jobId);
278
+ const settlement = state.settlement;
279
+ if (!state.waiver ||
280
+ !settlement ||
281
+ settlement.chargedFee <= settlement.refundedFee) {
282
+ throw new PerkOSError("INPUT_INVALID", "No waived collected fee remains refundable.");
283
+ }
284
+ return this.execute(this.transactions.refundServiceFee({
285
+ asset,
286
+ jobId,
287
+ treasury: state.treasury,
288
+ recipient: settlement.recipient,
289
+ amount: settlement.chargedFee - settlement.refundedFee,
290
+ ...(asset === "sbtc"
291
+ ? { sbtcToken: await this.getJobPaymentToken(jobId) }
292
+ : {}),
293
+ }));
294
+ }
209
295
  async getConfiguredSbtcToken() {
210
296
  const value = unwrapResponse(await this.read(this.config.contracts.sbtcCommerce, "get-payment-token"), "get-payment-token");
211
297
  return expectPrincipal(value, "get-payment-token");
212
298
  }
213
299
  async getJobPaymentToken(jobIdInput) {
214
300
  const jobId = toUint(jobIdInput, "jobId");
215
- const value = unwrapResponse(await this.read(this.config.contracts.sbtcCommerce, "get-job-payment-token", [
216
- Cl.uint(jobId),
217
- ]), "get-job-payment-token");
301
+ const value = unwrapResponse(await this.read(this.config.contracts.sbtcCommerce, "get-job-payment-token", [Cl.uint(jobId)]), "get-job-payment-token");
218
302
  const token = expectPrincipal(value, "get-job-payment-token");
219
303
  parseContractId(token, "get-job-payment-token", this.config.network);
220
304
  return token;
@@ -230,9 +314,7 @@ export class PerkOSClient {
230
314
  async getDecision(asset, jobIdInput) {
231
315
  const jobId = toUint(jobIdInput, "jobId");
232
316
  try {
233
- const value = unwrapResponse(await this.read(contractForAsset(this.config.contracts, asset), "get-decision", [
234
- Cl.uint(jobId),
235
- ]), "get-decision");
317
+ const value = unwrapResponse(await this.read(contractForAsset(this.config.contracts, asset), "get-decision", [Cl.uint(jobId)]), "get-decision");
236
318
  const tuple = expectTuple(value, "get-decision");
237
319
  const finalDecisionCode = optionalUint(tuple["final-decision"], "decision.final-decision");
238
320
  const appealedBy = optionalPrincipal(tuple["appealed-by"], "decision.appealed-by");
@@ -245,7 +327,9 @@ export class PerkOSClient {
245
327
  jobId,
246
328
  originalDecision: decisionFromCode(expectUint(tuple["original-decision"], "decision.original-decision"), "decision.original-decision"),
247
329
  ...(finalDecisionCode !== undefined
248
- ? { finalDecision: decisionFromCode(finalDecisionCode, "decision.final-decision") }
330
+ ? {
331
+ finalDecision: decisionFromCode(finalDecisionCode, "decision.final-decision"),
332
+ }
249
333
  : {}),
250
334
  evidenceHash: expectBuffer(tuple["evidence-hash"], "decision.evidence-hash"),
251
335
  explanationHash: expectBuffer(tuple["explanation-hash"], "decision.explanation-hash"),
@@ -262,7 +346,8 @@ export class PerkOSClient {
262
346
  catch (error) {
263
347
  if (error instanceof PerkOSError &&
264
348
  error.code === "CONTRACT_ERROR" &&
265
- (error.details?.clarityCode === 829n || error.details?.clarityCode === 930n)) {
349
+ (error.details?.clarityCode === 829n ||
350
+ error.details?.clarityCode === 930n)) {
266
351
  return null;
267
352
  }
268
353
  throw error;
@@ -294,7 +379,10 @@ export class PerkOSClient {
294
379
  catch (error) {
295
380
  if (error instanceof PerkOSError &&
296
381
  error.code === "CONTRACT_ERROR" &&
297
- (error.details?.clarityCode === 623n || error.details?.clarityCode === 723n)) {
382
+ (error.details?.clarityCode === 623n ||
383
+ error.details?.clarityCode === 723n ||
384
+ error.details?.clarityCode === 823n ||
385
+ error.details?.clarityCode === 923n)) {
298
386
  return null;
299
387
  }
300
388
  throw error;
@@ -302,9 +390,7 @@ export class PerkOSClient {
302
390
  }
303
391
  async getReputation(agent) {
304
392
  assertPrincipal(agent, "agent", this.config.network);
305
- const value = unwrapResponse(await this.read(this.config.contracts.reputationRegistry, "get-reputation", [
306
- Cl.principal(agent),
307
- ]), "get-reputation");
393
+ const value = unwrapResponse(await this.read(this.config.contracts.reputationRegistry, "get-reputation", [Cl.principal(agent)]), "get-reputation");
308
394
  const tuple = expectTuple(value, "get-reputation");
309
395
  return {
310
396
  agent,
@@ -343,13 +429,47 @@ export class PerkOSClient {
343
429
  postConditionMode: "deny",
344
430
  intent: { operation: "fund-job", asset: input.asset, amount, jobId },
345
431
  });
432
+ if (this.supportsServiceFees(input.asset)) {
433
+ const [job, fee] = await Promise.all([
434
+ this.getJob(input.asset, jobId),
435
+ this.getJobServiceFee(input.asset, jobId),
436
+ ]);
437
+ const accepted = input.serviceFeeAcceptance;
438
+ if (!accepted ||
439
+ accepted.gross !== amount ||
440
+ accepted.basisPoints !== 200 ||
441
+ accepted.rejectionRefund !== "net-after-evaluation" ||
442
+ accepted.treasury !== fee.treasury ||
443
+ !job ||
444
+ job.budget !== amount ||
445
+ job.statusCode !== 0n ||
446
+ fee.serviceRecorded ||
447
+ fee.settlement) {
448
+ throw new PerkOSError("INPUT_INVALID", "Funding requires matching live job budget, treasury and explicit net-refund fee acceptance.");
449
+ }
450
+ }
346
451
  const sender = input.sender ?? (await this.requireSignerAddress());
347
452
  return this.execute(this.transactions.fundJob({ ...input, jobId, amount, sender }));
348
453
  }
349
454
  assignProvider(input) {
350
455
  return this.execute(this.transactions.assignProvider(input));
351
456
  }
352
- submitWork(input) {
457
+ async submitWork(input) {
458
+ if (this.supportsServiceFees(input.asset)) {
459
+ const [job, fee] = await Promise.all([
460
+ this.getJob(input.asset, input.jobId),
461
+ this.getJobServiceFee(input.asset, input.jobId),
462
+ ]);
463
+ const accepted = input.serviceFeeAcceptance;
464
+ if (!job ||
465
+ job.statusCode !== 1n ||
466
+ !accepted ||
467
+ accepted.gross !== job.budget ||
468
+ accepted.treasury !== fee.treasury ||
469
+ accepted.basisPoints !== 200 ||
470
+ accepted.rejectionRefund !== "net-after-evaluation")
471
+ throw new PerkOSError("INPUT_INVALID", "Provider must accept the live gross budget, treasury and earned fee.");
472
+ }
353
473
  return this.execute(this.transactions.submitWork(input));
354
474
  }
355
475
  async completeJob(asset, jobIdInput) {
@@ -407,8 +527,7 @@ export class PerkOSClient {
407
527
  async settlementInput(operation, asset, jobIdInput) {
408
528
  const jobId = toUint(jobIdInput, "jobId");
409
529
  const sbtcContractName = parseContractId(this.config.contracts.sbtcCommerce, "contracts.sbtcCommerce", this.config.network).name;
410
- const readsPinnedToken = asset === "sbtc" &&
411
- PINNED_TOKEN_SBTC_CONTRACTS.has(sbtcContractName);
530
+ const readsPinnedToken = asset === "sbtc" && PINNED_TOKEN_SBTC_CONTRACTS.has(sbtcContractName);
412
531
  const [job, amount] = await Promise.all([
413
532
  this.getJob(asset, jobId),
414
533
  this.getEscrowBalance(asset, jobId),
@@ -449,12 +568,35 @@ export class PerkOSClient {
449
568
  const sbtcToken = asset === "sbtc" && amount > 0n
450
569
  ? await this.getJobPaymentToken(jobId)
451
570
  : undefined;
571
+ const fee = this.supportsServiceFees(asset)
572
+ ? await this.getJobServiceFee(asset, jobId)
573
+ : undefined;
574
+ if (fee &&
575
+ (amount !== job.budget ||
576
+ amount === 0n ||
577
+ !fee.serviceRecorded ||
578
+ fee.settlement ||
579
+ (job.statusCode !== 7n && job.statusCode !== 8n))) {
580
+ throw new PerkOSError("READ_FAILED", "Fee settlement requires recorded service and exact unsettled gross escrow.");
581
+ }
452
582
  return {
453
583
  asset,
454
584
  jobId,
455
585
  amount,
456
586
  recipient,
457
587
  ...(sbtcToken ? { sbtcToken } : {}),
588
+ ...(fee
589
+ ? {
590
+ serviceFee: {
591
+ basisPoints: 200,
592
+ treasury: fee.treasury,
593
+ gross: amount,
594
+ fee: fee.waiver ? 0n : fee.feeAmount,
595
+ net: amount - (fee.waiver ? 0n : fee.feeAmount),
596
+ waived: !!fee.waiver,
597
+ },
598
+ }
599
+ : {}),
458
600
  };
459
601
  }
460
602
  async requireSignerAddress() {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKjE,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAiBhF,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;CAUb,CAAC;AAEX,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6InE,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKjE,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAiBhF,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;CAUb,CAAC;AAEX,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+InE,CAAC"}
package/dist/constants.js CHANGED
@@ -134,6 +134,7 @@ export const CLARITY_ERROR_MESSAGES = {
134
134
  803: "The job is not in the required state.",
135
135
  809: "Only the evaluator may record the decision.",
136
136
  817: "The evaluator review window has closed.",
137
+ 823: "The job has no pending reputation synchronization.",
137
138
  824: "The autonomous protocol is not configured.",
138
139
  825: "The autonomous protocol was already configured.",
139
140
  826: "The appeal window must match an approved policy.",
@@ -155,6 +156,7 @@ export const CLARITY_ERROR_MESSAGES = {
155
156
  909: "Only the evaluator may record the decision.",
156
157
  911: "The supplied token does not match the token pinned to this job.",
157
158
  917: "The evaluator review window has closed.",
159
+ 923: "The job has no pending reputation synchronization.",
158
160
  924: "The job has no pinned payment token.",
159
161
  925: "The autonomous protocol is not configured.",
160
162
  926: "The autonomous protocol was already configured.",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CustodyBackend } from "./engine.js";
2
+ /** Fixed testnet backend. Import/construct does not read a key or contact the network. */
3
+ export declare function testnetBackend(keyFile: string): CustodyBackend;
4
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/custody/backend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsBlD,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAmG9D"}
@@ -0,0 +1,149 @@
1
+ import { getAddressFromPrivateKey, makeContractCall, fetchCallReadOnlyFunction } from "@stacks/transactions";
2
+ import { PerkOSClient } from "../client.js";
3
+ import { QA_API, QA_CONTRACTS } from "../mcp/server.js";
4
+ import { prepareEvaluationJob, prepareEvaluationSubmission } from "../evaluation-commitments.js";
5
+ import { readPrivateFile } from "./ledger.js";
6
+ import { GAS_PER_ACTION, commitmentInput, guard } from "./permit.js";
7
+ const TOKEN = "SN3VMHXEN64ZZF71JQ5VESXDWTR301XTTXGF4J8F1.sbtc-token";
8
+ const contracts = { ...QA_CONTRACTS, sbtcToken: TOKEN };
9
+ async function safeFetch(input, init) {
10
+ const url = new URL(input);
11
+ guard(url.origin === QA_API && !url.username && !url.password && !url.hash);
12
+ return fetch(url, { ...init, redirect: "error", signal: AbortSignal.timeout(15000) });
13
+ }
14
+ async function get(path) {
15
+ const response = await safeFetch(QA_API + path);
16
+ guard(response.ok);
17
+ guard(Number(response.headers.get("content-length") ?? 0) <= 1048576);
18
+ const text = await response.text();
19
+ guard(Buffer.byteLength(text) <= 1048576);
20
+ return JSON.parse(text);
21
+ }
22
+ async function tip() {
23
+ const info = await get("/v2/info");
24
+ guard(info.network_id === 2147483648);
25
+ guard(Number.isSafeInteger(info.burn_block_height) && Number.isSafeInteger(info.stacks_tip_height));
26
+ return { burn: BigInt(info.burn_block_height), stacks: BigInt(info.stacks_tip_height) };
27
+ }
28
+ /** Fixed testnet backend. Import/construct does not read a key or contact the network. */
29
+ export function testnetBackend(keyFile) {
30
+ return {
31
+ async prepare(p, r, jobId) {
32
+ const { burn, stacks } = await tip();
33
+ const wallet = p.profile[p.profile.role], amount = BigInt(p.amount);
34
+ let captured;
35
+ // SDK execution is intercepted in memory to obtain its validated plan. No signer or broadcaster here.
36
+ const client = new PerkOSClient({ network: "testnet", apiUrl: QA_API, contracts,
37
+ spendingPolicy: { allowedNetworks: ["testnet"], allowedAssets: [p.asset],
38
+ maxPerTransaction: { [p.asset]: amount }, maxPerSession: { [p.asset]: amount } },
39
+ readOnlyTransport: call => {
40
+ guard(call.network === "testnet" && Object.values(contracts).some(c => c === call.contract) && /^get-/.test(call.functionName));
41
+ const [contractAddress, contractName] = call.contract.split(".");
42
+ return fetchCallReadOnlyFunction({ contractAddress: contractAddress, contractName: contractName,
43
+ functionName: call.functionName, functionArgs: [...call.functionArgs], senderAddress: call.senderAddress,
44
+ network: "testnet", client: { baseUrl: QA_API, fetch: safeFetch } });
45
+ },
46
+ signer: { getAddress: async () => wallet, signAndBroadcast: async (plan) => {
47
+ guard(!captured);
48
+ captured = plan;
49
+ return { txid: "0x" + "0".repeat(64) };
50
+ } } });
51
+ const input = commitmentInput(p), prepared = await prepareEvaluationJob(input);
52
+ const id = jobId ? BigInt(jobId) : undefined;
53
+ const acceptance = { gross: amount, basisPoints: 200, treasury: p.profile.treasury,
54
+ rejectionRefund: "net-after-evaluation" };
55
+ if (r.action === "create") {
56
+ guard(BigInt(p.expiredAt) > stacks);
57
+ const policy = await client.getServiceFeePolicy(p.asset);
58
+ guard(policy.configured && policy.basisPoints === 200 && policy.treasury === p.profile.treasury);
59
+ }
60
+ if (!["register", "create"].includes(r.action)) {
61
+ guard(id !== undefined);
62
+ const job = await client.getJob(p.asset, id);
63
+ guard(job && job.client === p.profile.client && job.evaluator === p.profile.evaluator &&
64
+ job.treasury === p.profile.treasury && job.description === prepared.description && job.expiredAt === BigInt(p.expiredAt));
65
+ guard(r.action === "set-budget" || job.budget === amount);
66
+ const escrow = await client.getEscrowBalance(p.asset, id);
67
+ if (r.action === "set-budget" || r.action === "fund")
68
+ guard(job.status === "open" && escrow === 0n);
69
+ if (r.action === "assign")
70
+ guard(job.status === "funded" && !job.provider && escrow === amount);
71
+ if (r.action === "submit")
72
+ guard(job.status === "funded" && job.provider === p.profile.provider && escrow === amount);
73
+ if (r.action === "finalize") {
74
+ const d = await client.getDecision(p.asset, id);
75
+ guard(job.status === "decision-pending" && job.provider === p.profile.provider && escrow === amount &&
76
+ d && !d.appealedBy && !d.finalDecision && burn > d.appealDeadline);
77
+ }
78
+ }
79
+ if (p.asset === "sbtc" && r.action !== "register")
80
+ guard(await client.getConfiguredSbtcToken() === TOKEN);
81
+ switch (r.action) {
82
+ case "register":
83
+ await client.registerAgent({ name: p.agentName, description: "Controlled QA participant", wallet, endpoints: [] });
84
+ break;
85
+ case "create":
86
+ await client.createJob({ asset: p.asset, evaluator: p.profile.evaluator, expiredAt: BigInt(p.expiredAt), description: prepared.description });
87
+ break;
88
+ case "set-budget":
89
+ await client.setBudget({ asset: p.asset, jobId: id, amount });
90
+ break;
91
+ case "fund":
92
+ await client.fundJob({ asset: p.asset, jobId: id, amount, serviceFeeAcceptance: acceptance });
93
+ break;
94
+ case "assign":
95
+ await client.assignProvider({ asset: p.asset, jobId: id, provider: p.profile.provider });
96
+ break;
97
+ case "submit": {
98
+ const submission = await prepareEvaluationSubmission({ ...input, provider: p.profile.provider, jobId: jobId, evidence: r.evidence });
99
+ await client.submitWork({ asset: p.asset, jobId: id, deliverable: submission.deliverable, serviceFeeAcceptance: acceptance });
100
+ break;
101
+ }
102
+ case "finalize":
103
+ await client.finalizeDecision(p.asset, id);
104
+ break;
105
+ }
106
+ guard(captured);
107
+ return captured;
108
+ },
109
+ async sign(plan, wallet, expiresAt) {
110
+ await tip();
111
+ const nonce = await get(`/extended/v1/address/${wallet}/nonces`);
112
+ guard(Number.isSafeInteger(nonce.possible_next_nonce) && Number(nonce.possible_next_nonce) >= 0);
113
+ const expected = nonce.last_executed_tx_nonce === null ? 0 : Number(nonce.last_executed_tx_nonce) + 1;
114
+ guard(nonce.last_executed_tx_nonce === null || Number.isSafeInteger(nonce.last_executed_tx_nonce));
115
+ guard(expected === nonce.possible_next_nonce && (nonce.last_mempool_tx_nonce === null ||
116
+ Number.isSafeInteger(nonce.last_mempool_tx_nonce) && Number(nonce.last_mempool_tx_nonce) < expected));
117
+ guard(Array.isArray(nonce.detected_missing_nonces) && nonce.detected_missing_nonces.length === 0);
118
+ // Only reached after durable reservation; private material is never returned to MCP or the journal.
119
+ guard(Date.now() < Date.parse(expiresAt));
120
+ const key = readPrivateFile(keyFile, 256).trim();
121
+ guard(/^[a-fA-F0-9]{64}(01)?$/.test(key) && getAddressFromPrivateKey(key, "testnet") === wallet);
122
+ const [contractAddress, contractName] = plan.contract.split(".");
123
+ const tx = await makeContractCall({ contractAddress: contractAddress, contractName: contractName,
124
+ functionName: plan.functionName, functionArgs: [...plan.functionArgs], senderKey: key,
125
+ network: "testnet", nonce: BigInt(expected), fee: GAS_PER_ACTION,
126
+ postConditionMode: "deny", postConditions: [...plan.postConditions] });
127
+ return { txid: "0x" + tx.txid().replace(/^0x/, ""), bytes: tx.serializeBytes() };
128
+ },
129
+ async broadcast(signed) {
130
+ const response = await safeFetch(QA_API + "/v2/transactions", { method: "POST",
131
+ headers: { "content-type": "application/octet-stream" }, body: Buffer.from(signed.bytes) });
132
+ guard(response.ok);
133
+ const txid = await response.json();
134
+ guard(typeof txid === "string" && "0x" + txid.replace(/^0x/, "") === signed.txid);
135
+ },
136
+ async confirmation(txid) {
137
+ guard(/^0x[a-f0-9]{64}$/.test(txid));
138
+ const tx = await get(`/extended/v1/tx/${txid}`);
139
+ const info = await tip();
140
+ const result = tx.tx_result;
141
+ // Six anchored burn confirmations before advancing the wallet workflow; reorg risk is not zero.
142
+ return { success: tx.tx_id === txid && tx.canonical === true && tx.is_unanchored === false &&
143
+ tx.tx_status === "success" && Number.isSafeInteger(tx.burn_block_height) &&
144
+ info.burn >= BigInt(tx.burn_block_height) + 6n,
145
+ result: typeof result?.repr === "string" ? result.repr : "" };
146
+ },
147
+ };
148
+ }
149
+ //# sourceMappingURL=backend.js.map