@heyanon-arp/cli 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -504,7 +504,11 @@ var init_api = __esm({
504
504
  query,
505
505
  signal
506
506
  );
507
- return (0, import_shield.guardInboundFieldsBatch)(rows, ["scopeSummary", "title", "brief", "acceptanceCriteria"], { selfDid: signer.did });
507
+ return Promise.all(
508
+ rows.map(
509
+ (row) => signer.did === row.offererDid ? row : (0, import_shield.guardInboundFields)(row, ["scopeSummary", "title", "brief", "acceptanceCriteria"], { selfDid: signer.did }).then((r) => r.event)
510
+ )
511
+ );
508
512
  }
509
513
  /**
510
514
  * Signed `GET /v1/relationships/:id/work`. One row per
@@ -521,7 +525,14 @@ var init_api = __esm({
521
525
  signer,
522
526
  query
523
527
  );
524
- return (0, import_shield.guardInboundFieldsBatch)(rows, ["responseOutput", "requestParams"], { selfDid: signer.did });
528
+ return Promise.all(
529
+ rows.map((row) => {
530
+ const fields = [];
531
+ if (signer.did !== row.callerDid) fields.push("requestParams");
532
+ if (signer.did !== row.payeeDid) fields.push("responseOutput");
533
+ return fields.length === 0 ? row : (0, import_shield.guardInboundFields)(row, fields, { selfDid: signer.did }).then((r) => r.event);
534
+ })
535
+ );
525
536
  }
526
537
  /**
527
538
  * Signed `GET /v1/relationships/:id/receipts`. One row per
@@ -3489,6 +3500,11 @@ function settlementKeyFromDidDoc(didDoc, buyerDid) {
3489
3500
  return mb.startsWith("z") ? mb.slice(1) : mb;
3490
3501
  }
3491
3502
  function projectDelegationRowForHash(d) {
3503
+ if ((0, import_shield2.isShieldRedacted)(d.scopeSummary)) {
3504
+ throw new Error(
3505
+ `settlement: delegation ${d.delegationId} has shield-withheld scope (flagged by content-security). Cannot derive condition_hash over withheld content \u2014 do not settle; review and dispute.`
3506
+ );
3507
+ }
3492
3508
  const out = {
3493
3509
  delegationId: d.delegationId,
3494
3510
  scopeSummary: d.scopeSummary,
@@ -3896,10 +3912,11 @@ async function autoSignAndDeliverPayeeSig(opts, cmdName = "receipt propose") {
3896
3912
  serverTimestamp: result.serverTimestamp
3897
3913
  };
3898
3914
  }
3899
- var import_sdk10, import_utils3, import_web33, import_chalk17, NATIVE_SOL_MINT2, SETTLEMENT_MIN_EXPIRY_HEADROOM_SECS, SETTLEMENT_REFRESH_HEADROOM_SECS, LOCK_READ_NOT_VISIBLE_RETRIES, LOCK_READ_RETRY_DELAY_MS;
3915
+ var import_sdk10, import_shield2, import_utils3, import_web33, import_chalk17, NATIVE_SOL_MINT2, SETTLEMENT_MIN_EXPIRY_HEADROOM_SECS, SETTLEMENT_REFRESH_HEADROOM_SECS, LOCK_READ_NOT_VISIBLE_RETRIES, LOCK_READ_RETRY_DELAY_MS;
3900
3916
  var init_settlement = __esm({
3901
3917
  "src/commands/settlement.ts"() {
3902
3918
  import_sdk10 = require("@heyanon-arp/sdk");
3919
+ import_shield2 = require("@heyanon-arp/shield");
3903
3920
  import_utils3 = require("@noble/hashes/utils");
3904
3921
  import_web33 = require("@solana/web3.js");
3905
3922
  import_chalk17 = __toESM(require("chalk"));
@@ -4263,6 +4280,11 @@ async function computeWorkLogHashes(api, sender, relationshipId, delegationId, r
4263
4280
  `receipt propose --auto-hashes: work-log row ${requestId} is in state '${workLog.state}', not 'responded'. The payee must \`work respond\` before a receipt can be proposed.`
4264
4281
  );
4265
4282
  }
4283
+ if ((0, import_shield3.isShieldRedacted)(workLog.requestParams) || (0, import_shield3.isShieldRedacted)(workLog.responseOutput)) {
4284
+ throw new Error(
4285
+ `receipt propose --auto-hashes: work-log row ${requestId} has shield-withheld content (the counterparty's request or response was flagged by content-security). Cannot reconstruct canonical hashes over withheld content \u2014 do not settle; review and dispute. See ~/.heyshield/receipts.jsonl.`
4286
+ );
4287
+ }
4266
4288
  const requestBody = {
4267
4289
  type: "work_request",
4268
4290
  content: { delegation_id: workLog.delegationId, request_id: workLog.requestId, params: workLog.requestParams }
@@ -4965,11 +4987,12 @@ function requireDid2(cmdName, did, label) {
4965
4987
  throw new Error(`${cmdName}: ${label} must look like 'did:arp:...' (got '${did}')`);
4966
4988
  }
4967
4989
  }
4968
- var import_node_fs7, import_sdk11, import_chalk18, POST_COMMIT_ERROR_CODES2, VERDICT_VALUES, SHA256_RE;
4990
+ var import_node_fs7, import_sdk11, import_shield3, import_chalk18, POST_COMMIT_ERROR_CODES2, VERDICT_VALUES, SHA256_RE;
4969
4991
  var init_receipt = __esm({
4970
4992
  "src/commands/receipt.ts"() {
4971
4993
  import_node_fs7 = require("fs");
4972
4994
  import_sdk11 = require("@heyanon-arp/sdk");
4995
+ import_shield3 = require("@heyanon-arp/shield");
4973
4996
  import_chalk18 = __toESM(require("chalk"));
4974
4997
  init_api();
4975
4998
  init_format();
@@ -5080,14 +5103,14 @@ var init_receipt = __esm({
5080
5103
  });
5081
5104
 
5082
5105
  // src/cli.ts
5083
- var import_shield2 = require("@heyanon-arp/shield");
5106
+ var import_shield4 = require("@heyanon-arp/shield");
5084
5107
  var import_commander = require("commander");
5085
5108
  var import_simple_update_notifier = __toESM(require("simple-update-notifier"));
5086
5109
 
5087
5110
  // package.json
5088
5111
  var package_default = {
5089
5112
  name: "@heyanon-arp/cli",
5090
- version: "0.0.12",
5113
+ version: "0.0.13",
5091
5114
  description: "Command-line client for the Agent Relationship Protocol \u2014 register agents, sign envelopes, run escrowed work cycles on Solana.",
5092
5115
  license: "MIT",
5093
5116
  keywords: ["arp", "agent-relationship-protocol", "did", "solana", "escrow", "ed25519", "agents", "a2a", "cli"],
@@ -8645,7 +8668,7 @@ async function main() {
8645
8668
  registerReceiptsCommand(program);
8646
8669
  registerWalletCommands(program);
8647
8670
  registerSettlementCommands(program);
8648
- (0, import_shield2.installMiddleware)(program);
8671
+ (0, import_shield4.installMiddleware)(program);
8649
8672
  try {
8650
8673
  await program.parseAsync(process.argv);
8651
8674
  } catch (err) {