@cascade-fyi/sati-sdk 0.7.0 → 0.9.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.
package/dist/index.mjs CHANGED
@@ -2844,13 +2844,24 @@ const MAX_CONTENT_SIZE = 512;
2844
2844
  */
2845
2845
  const MAX_DUAL_SIGNATURE_CONTENT_SIZE = 70;
2846
2846
  /**
2847
- * Maximum content size for SingleSignature mode attestations.
2847
+ * Maximum content size for CounterpartySigned mode attestations.
2848
2848
  *
2849
- * SingleSignature mode has more headroom because:
2850
- * 1. Content appears only once (no SIWS message duplication)
2849
+ * CounterpartySigned has a SIWS message containing the content, so content
2850
+ * appears TWICE in the transaction (data blob + SIWS Details field).
2851
+ * This is similar to DualSignature but with one fewer signature (no agent sig),
2852
+ * giving slightly more headroom.
2853
+ *
2854
+ * Use ContentType.IPFS or ContentType.Arweave for larger content.
2855
+ */
2856
+ const MAX_COUNTERPARTY_SIGNED_CONTENT_SIZE = 100;
2857
+ /**
2858
+ * Maximum content size for AgentOwnerSigned mode attestations.
2859
+ *
2860
+ * AgentOwnerSigned has more headroom because:
2861
+ * 1. Content appears only once (no SIWS message - agent signs interaction_hash)
2851
2862
  * 2. No counterparty signature verification overhead
2852
2863
  */
2853
- const MAX_SINGLE_SIGNATURE_CONTENT_SIZE = 240;
2864
+ const MAX_AGENT_OWNER_SIGNED_CONTENT_SIZE = 240;
2854
2865
  /**
2855
2866
  * Minimum universal base layout size.
2856
2867
  * All schemas share: layout_version(1) + task_ref(32) + agent_mint(32) + counterparty(32) +
@@ -2909,17 +2920,17 @@ let DataType = /* @__PURE__ */ function(DataType$1) {
2909
2920
  /**
2910
2921
  * Feedback outcome values (ERC-8004 compatible)
2911
2922
  *
2912
- * For ERC-8004 score mapping:
2913
- * - Negative(0) 0
2914
- * - Neutral(1) 50
2915
- * - Positive(2) 100
2923
+ * Maps to ERC-8004 outcome semantics:
2924
+ * - Negative(0) - unfavorable interaction
2925
+ * - Neutral(1) - default / no strong signal
2926
+ * - Positive(2) - favorable interaction
2916
2927
  */
2917
2928
  let Outcome = /* @__PURE__ */ function(Outcome$1) {
2918
- /** Negative feedback (score 0) */
2929
+ /** Negative feedback */
2919
2930
  Outcome$1[Outcome$1["Negative"] = 0] = "Negative";
2920
- /** Neutral feedback (score 50) */
2931
+ /** Neutral feedback (default) */
2921
2932
  Outcome$1[Outcome$1["Neutral"] = 1] = "Neutral";
2922
- /** Positive feedback (score 100) */
2933
+ /** Positive feedback */
2923
2934
  Outcome$1[Outcome$1["Positive"] = 2] = "Positive";
2924
2935
  return Outcome$1;
2925
2936
  }({});
@@ -3288,7 +3299,11 @@ function validateBaseLayout(data) {
3288
3299
  * ```
3289
3300
  */
3290
3301
  function getMaxContentSize(signatureMode) {
3291
- return signatureMode === SignatureMode.DualSignature ? MAX_DUAL_SIGNATURE_CONTENT_SIZE : MAX_SINGLE_SIGNATURE_CONTENT_SIZE;
3302
+ switch (signatureMode) {
3303
+ case SignatureMode.DualSignature: return MAX_DUAL_SIGNATURE_CONTENT_SIZE;
3304
+ case SignatureMode.CounterpartySigned: return MAX_COUNTERPARTY_SIGNED_CONTENT_SIZE;
3305
+ case SignatureMode.AgentOwnerSigned: return MAX_AGENT_OWNER_SIGNED_CONTENT_SIZE;
3306
+ }
3292
3307
  }
3293
3308
  /**
3294
3309
  * Validate content size for a given signature mode.
@@ -3322,7 +3337,11 @@ function validateContentSize(content, signatureMode, options = {}) {
3322
3337
  actualSize
3323
3338
  };
3324
3339
  if (!valid) {
3325
- result.error = `Content too large for ${signatureMode === SignatureMode.DualSignature ? "DualSignature" : "SingleSignature"} mode: ${actualSize} bytes exceeds maximum ${maxSize} bytes. Use ContentType.IPFS or ContentType.Arweave for larger content.`;
3340
+ result.error = `Content too large for ${{
3341
+ [SignatureMode.DualSignature]: "DualSignature",
3342
+ [SignatureMode.CounterpartySigned]: "CounterpartySigned",
3343
+ [SignatureMode.AgentOwnerSigned]: "AgentOwnerSigned"
3344
+ }[signatureMode] ?? "Unknown"} mode: ${actualSize} bytes exceeds maximum ${maxSize} bytes. Use ContentType.IPFS or ContentType.Arweave for larger content.`;
3326
3345
  if (throwOnError) throw new Error(result.error);
3327
3346
  }
3328
3347
  return result;
@@ -4295,7 +4314,7 @@ function bytesToHex(bytes) {
4295
4314
  * outcome: Outcome.Positive,
4296
4315
  * dataHash: dataHash,
4297
4316
  * contentType: ContentType.JSON,
4298
- * content: new TextEncoder().encode('{"score": 95, "tags": ["fast"]}'),
4317
+ * content: new TextEncoder().encode('{"value": 95, "valueDecimals": 0, "tag1": "quality"}'),
4299
4318
  * });
4300
4319
  *
4301
4320
  * // Build counterparty message
@@ -4814,11 +4833,11 @@ const RegistrationFileSchema = z.object({
4814
4833
  image: z.url(),
4815
4834
  properties: PropertiesSchema,
4816
4835
  external_url: z.url().optional(),
4817
- endpoints: z.array(EndpointSchema).optional(),
4836
+ services: z.array(EndpointSchema).optional(),
4818
4837
  registrations: z.array(RegistrationEntrySchema).optional(),
4819
4838
  supportedTrust: z.array(TrustMechanismSchema).optional(),
4820
4839
  active: z.boolean().optional().default(true),
4821
- x402support: z.boolean().optional()
4840
+ x402Support: z.boolean().optional()
4822
4841
  });
4823
4842
  const MIME_TYPES = {
4824
4843
  png: "image/png",
@@ -4861,11 +4880,11 @@ function buildRegistrationFile(params) {
4861
4880
  category: "image"
4862
4881
  },
4863
4882
  ...params.externalUrl && { external_url: params.externalUrl },
4864
- ...params.endpoints?.length && { endpoints: params.endpoints },
4883
+ ...params.services?.length && { services: params.services },
4865
4884
  ...params.registrations?.length && { registrations: params.registrations },
4866
4885
  ...params.supportedTrust?.length && { supportedTrust: params.supportedTrust },
4867
4886
  active: params.active ?? true,
4868
- ...params.x402support !== void 0 && { x402support: params.x402support }
4887
+ ...params.x402Support !== void 0 && { x402Support: params.x402Support }
4869
4888
  };
4870
4889
  return RegistrationFileSchema.parse(file);
4871
4890
  }
@@ -5001,7 +5020,7 @@ var SatiAgentBuilder = class {
5001
5020
  name,
5002
5021
  description,
5003
5022
  image,
5004
- endpoints: [],
5023
+ services: [],
5005
5024
  active: true
5006
5025
  };
5007
5026
  }
@@ -5015,9 +5034,9 @@ var SatiAgentBuilder = class {
5015
5034
  }
5016
5035
  /** Set a generic endpoint. */
5017
5036
  setEndpoint(endpoint) {
5018
- if (!this._params.endpoints) this._params.endpoints = [];
5019
- this._params.endpoints = this._params.endpoints.filter((ep) => ep.name !== endpoint.name);
5020
- this._params.endpoints.push(endpoint);
5037
+ if (!this._params.services) this._params.services = [];
5038
+ this._params.services = this._params.services.filter((ep) => ep.name !== endpoint.name);
5039
+ this._params.services.push(endpoint);
5021
5040
  return this;
5022
5041
  }
5023
5042
  /**
@@ -5054,7 +5073,7 @@ var SatiAgentBuilder = class {
5054
5073
  }
5055
5074
  /** Remove an endpoint by name. */
5056
5075
  removeEndpoint(name) {
5057
- if (this._params.endpoints) this._params.endpoints = this._params.endpoints.filter((ep) => ep.name !== name);
5076
+ if (this._params.services) this._params.services = this._params.services.filter((ep) => ep.name !== name);
5058
5077
  return this;
5059
5078
  }
5060
5079
  /** Set agent active status. */
@@ -5064,7 +5083,7 @@ var SatiAgentBuilder = class {
5064
5083
  }
5065
5084
  /** Set x402 payment support. */
5066
5085
  setX402Support(x402) {
5067
- this._params.x402support = x402;
5086
+ this._params.x402Support = x402;
5068
5087
  return this;
5069
5088
  }
5070
5089
  /** Set supported trust mechanisms. */
@@ -5475,14 +5494,21 @@ var Sati = class {
5475
5494
  return { signature: getSignatureFromTransaction(signedTx).toString() };
5476
5495
  }
5477
5496
  /**
5478
- * Get current owner of an agent
5497
+ * Get current owner of an agent.
5498
+ *
5499
+ * Uses `getTokenLargestAccounts` which relies on an SPL token index.
5500
+ * This index can lag behind transaction confirmation on RPC node pools,
5501
+ * so we retry with backoff for recently created or transferred tokens.
5479
5502
  */
5480
5503
  async getAgentOwner(mint) {
5481
- const response = await this.rpc.getTokenLargestAccounts(mint, { commitment: "confirmed" }).send();
5482
- if (!response.value || response.value.length === 0) throw new Error(`No token accounts found for mint ${mint}`);
5483
- const holderAccount = response.value.find((acc) => BigInt(acc.amount) > 0n);
5484
- if (!holderAccount) throw new Error(`No holder found for agent ${mint}`);
5485
- return (await fetchToken(this.rpc, address$1(holderAccount.address))).data.owner;
5504
+ const maxRetries = 3;
5505
+ const baseDelay = 500;
5506
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
5507
+ const holderAccount = (await this.rpc.getTokenLargestAccounts(mint, { commitment: "confirmed" }).send()).value?.find((acc) => BigInt(acc.amount) > 0n);
5508
+ if (holderAccount) return (await fetchToken(this.rpc, address$1(holderAccount.address))).data.owner;
5509
+ if (attempt < maxRetries) await new Promise((resolve) => setTimeout(resolve, baseDelay * 2 ** attempt));
5510
+ }
5511
+ throw new Error(`No token accounts found for mint ${mint}`);
5486
5512
  }
5487
5513
  /**
5488
5514
  * Get registry statistics
@@ -6419,8 +6445,9 @@ var Sati = class {
6419
6445
  * const result = await sati.giveFeedback({
6420
6446
  * payer: myKeypair,
6421
6447
  * agentMint: address("Agent..."),
6422
- * score: 85,
6423
- * tags: ["quality", "speed"],
6448
+ * value: 87,
6449
+ * valueDecimals: 0,
6450
+ * tag1: "starred",
6424
6451
  * message: "Great response time",
6425
6452
  * });
6426
6453
  * ```
@@ -6428,10 +6455,13 @@ var Sati = class {
6428
6455
  async giveFeedback(params) {
6429
6456
  const schema = this._requireFeedbackPublicSchema();
6430
6457
  const payer = params.payer;
6431
- if (params.score !== void 0 && (!Number.isFinite(params.score) || params.score < 0 || params.score > 100)) throw new Error(`Feedback score must be a finite number between 0 and 100, got: ${params.score}`);
6458
+ if (params.value !== void 0 && !Number.isFinite(params.value)) throw new Error(`Feedback value must be a finite number, got: ${params.value}`);
6459
+ if (params.valueDecimals !== void 0 && (params.valueDecimals < 0 || params.valueDecimals > 18)) throw new Error(`valueDecimals must be 0-18, got: ${params.valueDecimals}`);
6432
6460
  const contentObj = {};
6433
- if (params.score !== void 0) contentObj.score = params.score;
6434
- if (params.tags?.length) contentObj.tags = params.tags;
6461
+ if (params.value !== void 0) contentObj.value = params.value;
6462
+ if (params.valueDecimals !== void 0) contentObj.valueDecimals = params.valueDecimals;
6463
+ if (params.tag1) contentObj.tag1 = params.tag1;
6464
+ if (params.tag2) contentObj.tag2 = params.tag2;
6435
6465
  if (params.endpoint) contentObj.endpoint = params.endpoint;
6436
6466
  if (params.message) contentObj.m = params.message;
6437
6467
  const content = Object.keys(contentObj).length > 0 ? new TextEncoder().encode(JSON.stringify(contentObj)) : new Uint8Array(0);
@@ -6482,10 +6512,13 @@ var Sati = class {
6482
6512
  */
6483
6513
  async prepareFeedback(params) {
6484
6514
  const schema = this._requireFeedbackPublicSchema();
6485
- if (params.score !== void 0 && (!Number.isFinite(params.score) || params.score < 0 || params.score > 100)) throw new Error(`Feedback score must be a finite number between 0 and 100, got: ${params.score}`);
6515
+ if (params.value !== void 0 && !Number.isFinite(params.value)) throw new Error(`Feedback value must be a finite number, got: ${params.value}`);
6516
+ if (params.valueDecimals !== void 0 && (params.valueDecimals < 0 || params.valueDecimals > 18)) throw new Error(`valueDecimals must be 0-18, got: ${params.valueDecimals}`);
6486
6517
  const contentObj = {};
6487
- if (params.score !== void 0) contentObj.score = params.score;
6488
- if (params.tags?.length) contentObj.tags = params.tags;
6518
+ if (params.value !== void 0) contentObj.value = params.value;
6519
+ if (params.valueDecimals !== void 0) contentObj.valueDecimals = params.valueDecimals;
6520
+ if (params.tag1) contentObj.tag1 = params.tag1;
6521
+ if (params.tag2) contentObj.tag2 = params.tag2;
6489
6522
  if (params.endpoint) contentObj.endpoint = params.endpoint;
6490
6523
  if (params.message) contentObj.m = params.message;
6491
6524
  const content = Object.keys(contentObj).length > 0 ? new TextEncoder().encode(JSON.stringify(contentObj)) : new Uint8Array(0);
@@ -6516,8 +6549,10 @@ var Sati = class {
6516
6549
  sasSchema: schema,
6517
6550
  lookupTable: this._deployedConfig?.lookupTable,
6518
6551
  meta: {
6519
- score: params.score,
6520
- tags: params.tags ? [...params.tags] : void 0,
6552
+ value: params.value,
6553
+ valueDecimals: params.valueDecimals,
6554
+ tag1: params.tag1,
6555
+ tag2: params.tag2,
6521
6556
  message: params.message,
6522
6557
  endpoint: params.endpoint
6523
6558
  }
@@ -6583,8 +6618,8 @@ var Sati = class {
6583
6618
  * ```typescript
6584
6619
  * const feedbacks = await sati.searchFeedback({
6585
6620
  * agentMint: address("Agent..."),
6586
- * tags: ["quality"],
6587
- * minScore: 70,
6621
+ * tag1: "starred",
6622
+ * minValue: 70,
6588
6623
  * });
6589
6624
  * ```
6590
6625
  */
@@ -6603,15 +6638,16 @@ var Sati = class {
6603
6638
  const feedbacks = [];
6604
6639
  for (const item of result.items) {
6605
6640
  const rawContent = this._parseContentJson(item.data.content, item.data.contentType);
6606
- const score = rawContent?.score;
6607
- const tags = rawContent?.tags ?? [];
6641
+ const value = rawContent?.value;
6642
+ const valueDecimals = rawContent?.valueDecimals;
6643
+ const tag1 = rawContent?.tag1;
6644
+ const tag2 = rawContent?.tag2;
6608
6645
  const message = rawContent?.m;
6609
6646
  const endpoint = rawContent?.endpoint;
6610
- if (options?.tags?.length) {
6611
- if (!options.tags.every((t) => tags.includes(t))) continue;
6612
- }
6613
- if (options?.minScore !== void 0 && (score === void 0 || score < options.minScore)) continue;
6614
- if (options?.maxScore !== void 0 && (score === void 0 || score > options.maxScore)) continue;
6647
+ if (options?.tag1 !== void 0 && tag1 !== options.tag1) continue;
6648
+ if (options?.tag2 !== void 0 && tag2 !== options.tag2) continue;
6649
+ if (options?.minValue !== void 0 && (value === void 0 || value < options.minValue)) continue;
6650
+ if (options?.maxValue !== void 0 && (value === void 0 || value > options.maxValue)) continue;
6615
6651
  const slotDiff = Number(BigInt(currentSlot) - item.raw.slotCreated);
6616
6652
  const createdAt = nowSec - Math.floor(slotDiff * .4);
6617
6653
  const [compressedAddress] = getAddressDecoder().read(item.address, 0);
@@ -6620,8 +6656,10 @@ var Sati = class {
6620
6656
  agentMint: item.data.agentMint,
6621
6657
  counterparty: item.data.counterparty,
6622
6658
  outcome: item.data.outcome,
6623
- score,
6624
- tags,
6659
+ value,
6660
+ valueDecimals,
6661
+ tag1,
6662
+ tag2,
6625
6663
  message,
6626
6664
  endpoint,
6627
6665
  createdAt
@@ -6647,15 +6685,15 @@ var Sati = class {
6647
6685
  /**
6648
6686
  * Get reputation summary for an agent.
6649
6687
  *
6650
- * Aggregates feedback scores, optionally filtered by tags.
6688
+ * Aggregates feedback values, optionally filtered by tag1 and/or tag2.
6651
6689
  *
6652
6690
  * @example
6653
6691
  * ```typescript
6654
6692
  * const summary = await sati.getReputationSummary(address("Agent..."));
6655
- * console.log(`${summary.count} reviews, avg ${summary.averageScore}`);
6693
+ * console.log(`${summary.count} reviews, avg ${summary.averageValue}`);
6656
6694
  * ```
6657
6695
  */
6658
- async getReputationSummary(agentMint, tags) {
6696
+ async getReputationSummary(agentMint, tag1, tag2) {
6659
6697
  const schema = this._deployedConfig?.schemas.feedbackPublic ?? this._deployedConfig?.schemas.feedback;
6660
6698
  if (!schema) throw new Error(`No feedback schema deployed for network "${this.network}"`);
6661
6699
  const cacheKey = FeedbackCache.cacheKey(schema, agentMint);
@@ -6667,23 +6705,25 @@ var Sati = class {
6667
6705
  if (!cached) this._feedbackCache.set(cacheKey, result);
6668
6706
  if (result.items.length === 0) return {
6669
6707
  count: 0,
6670
- averageScore: 0
6708
+ averageValue: 0
6671
6709
  };
6672
6710
  let sum = 0;
6673
6711
  let count = 0;
6674
6712
  for (const item of result.items) {
6675
6713
  const rawContent = this._parseContentJson(item.data.content, item.data.contentType);
6676
- const score = rawContent?.score;
6677
- const itemTags = rawContent?.tags ?? [];
6678
- if (tags?.length && !tags.every((t) => itemTags.includes(t))) continue;
6679
- if (score !== void 0) {
6680
- sum += score;
6714
+ const value = rawContent?.value;
6715
+ const itemTag1 = rawContent?.tag1;
6716
+ const itemTag2 = rawContent?.tag2;
6717
+ if (tag1 !== void 0 && itemTag1 !== tag1) continue;
6718
+ if (tag2 !== void 0 && itemTag2 !== tag2) continue;
6719
+ if (value !== void 0) {
6720
+ sum += value;
6681
6721
  count++;
6682
6722
  }
6683
6723
  }
6684
6724
  return {
6685
6725
  count,
6686
- averageScore: count > 0 ? sum / count : 0
6726
+ averageValue: count > 0 ? sum / count : 0
6687
6727
  };
6688
6728
  }
6689
6729
  /**
@@ -6749,10 +6789,10 @@ var Sati = class {
6749
6789
  for (let i = 0; i < agents.length; i++) {
6750
6790
  const identity = agents[i];
6751
6791
  const regFile = regFiles[i];
6752
- const endpoints = regFile?.endpoints ?? [];
6792
+ const services = regFile?.services ?? [];
6753
6793
  if (options?.active !== void 0 && (regFile?.active ?? true) !== options.active) continue;
6754
6794
  if (options?.endpointTypes?.length) {
6755
- if (!options.endpointTypes.every((type) => endpoints.some((e) => e.name.toUpperCase() === type.toUpperCase()))) continue;
6795
+ if (!options.endpointTypes.every((type) => services.some((e) => e.name.toUpperCase() === type.toUpperCase()))) continue;
6756
6796
  }
6757
6797
  filtered.push({
6758
6798
  identity,
@@ -6980,5 +7020,5 @@ function handleTransactionError(error) {
6980
7020
  }
6981
7021
 
6982
7022
  //#endregion
6983
- export { AGENT_INDEX_DISCRIMINATOR, ASSOCIATED_TOKEN_PROGRAM_ADDRESS, ATTESTATION_SEED, AgentNotFoundError, BASE_OFFSETS, CLOSE_COMPRESSED_ATTESTATION_DISCRIMINATOR, CLOSE_REGULAR_ATTESTATION_DISCRIMINATOR, COMPRESSED_OFFSETS, CREATE_COMPRESSED_ATTESTATION_DISCRIMINATOR, CREATE_REGULAR_ATTESTATION_DISCRIMINATOR, CREDENTIAL_SEED, ContentType, DOMAINS, DataType, DuplicateAttestationError, ED25519_PROGRAM_ADDRESS, ENCRYPTION_VERSION, FEEDBACK_OFFSETS, FeedbackCache, INITIALIZE_DISCRIMINATOR, LIGHT_ERROR_CODES, LINK_EVM_ADDRESS_DISCRIMINATOR, MAX_CONTENT_SIZE, MAX_DUAL_SIGNATURE_CONTENT_SIZE, MAX_PLAINTEXT_SIZE, MAX_SINGLE_SIGNATURE_CONTENT_SIZE, MIN_BASE_LAYOUT_SIZE, MIN_ENCRYPTED_SIZE, NONCE_SIZE, OFFSETS, Outcome, PRIVKEY_SIZE, PUBKEY_SIZE, REGISTER_AGENT_DISCRIMINATOR, REGISTER_SCHEMA_CONFIG_DISCRIMINATOR, REGISTRY_CONFIG_DISCRIMINATOR, REPUTATION_SCHEMA_NAME, REPUTATION_SCHEMA_VERSION, REPUTATION_SCORE_OFFSETS, SAS_DATA_LEN_OFFSET, SAS_HEADER_SIZE, SAS_PROGRAM_ADDRESS, SATILightClientImpl, SATI_ATTESTATION_SEED, SATI_CHAIN_ID, SATI_ERROR__AGENT_ATA_EMPTY, SATI_ERROR__AGENT_ATA_MINT_MISMATCH, SATI_ERROR__AGENT_ATA_REQUIRED, SATI_ERROR__AGENT_MINT_ACCOUNT_MISMATCH, SATI_ERROR__AGENT_MINT_MISMATCH, SATI_ERROR__AGENT_SIGNATURE_NOT_FOUND, SATI_ERROR__ATTESTATION_DATA_TOO_LARGE, SATI_ERROR__ATTESTATION_DATA_TOO_SMALL, SATI_ERROR__ATTESTATION_NOT_CLOSEABLE, SATI_ERROR__CONTENT_TOO_LARGE, SATI_ERROR__COUNTERPARTY_SIGNATURE_NOT_FOUND, SATI_ERROR__DELEGATE_MISMATCH, SATI_ERROR__DELEGATION_ATTESTATION_REQUIRED, SATI_ERROR__DELEGATION_EXPIRED, SATI_ERROR__DELEGATION_OWNER_MISMATCH, SATI_ERROR__DUPLICATE_SIGNERS, SATI_ERROR__ED25519_INSTRUCTION_NOT_FOUND, SATI_ERROR__EVM_ADDRESS_MISMATCH, SATI_ERROR__IMMUTABLE_AUTHORITY, SATI_ERROR__INVALID_AUTHORITY, SATI_ERROR__INVALID_CONTENT_TYPE, SATI_ERROR__INVALID_DELEGATION_P_D_A, SATI_ERROR__INVALID_ED25519_INSTRUCTION, SATI_ERROR__INVALID_EVM_ADDRESS_RECOVERY, SATI_ERROR__INVALID_GROUP_MINT, SATI_ERROR__INVALID_INSTRUCTIONS_SYSVAR, SATI_ERROR__INVALID_OUTCOME, SATI_ERROR__INVALID_SECP256K1_SIGNATURE, SATI_ERROR__INVALID_SIGNATURE, SATI_ERROR__INVALID_SIGNATURE_COUNT, SATI_ERROR__LIGHT_CPI_INVOCATION_FAILED, SATI_ERROR__MESSAGE_MISMATCH, SATI_ERROR__METADATA_KEY_TOO_LONG, SATI_ERROR__METADATA_VALUE_TOO_LONG, SATI_ERROR__MINT_AUTHORITY_NOT_RENOUNCED, SATI_ERROR__MISSING_SIGNATURES, SATI_ERROR__NAME_TOO_LONG, SATI_ERROR__OVERFLOW, SATI_ERROR__OWNER_ONLY, SATI_ERROR__SCHEMA_CONFIG_NOT_FOUND, SATI_ERROR__SECP256K1_RECOVERY_FAILED, SATI_ERROR__SELF_ATTESTATION_NOT_ALLOWED, SATI_ERROR__SIGNATURE_MISMATCH, SATI_ERROR__STORAGE_TYPE_MISMATCH, SATI_ERROR__STORAGE_TYPE_NOT_SUPPORTED, SATI_ERROR__SYMBOL_TOO_LONG, SATI_ERROR__TOO_MANY_METADATA_ENTRIES, SATI_ERROR__UNAUTHORIZED_CLOSE, SATI_ERROR__UNSUPPORTED_LAYOUT_VERSION, SATI_ERROR__URI_TOO_LONG, SATI_PROGRAM_ADDRESS, SATI_PROGRAM_ID, SCHEMA_CONFIG_DISCRIMINATOR, SCHEMA_SEED, SOLANA_CHAIN_REFS, Sati, SatiAccount, SatiAgentBuilder, SatiError, SatiInstruction, SchemaNotFoundError, SignatureMode, StorageType, TAG_SIZE, TOKEN_2022_PROGRAM_ADDRESS, UPDATE_REGISTRY_AUTHORITY_DISCRIMINATOR, VALIDATION_OFFSETS, ValidationType, address, addressToBytes, buildCounterpartyMessage, buildFeedbackSigningMessage, buildRegistrationFile, buildSatiRegistrationEntry, bytesToAddress, computeAttestationNonce, computeDataHash, computeDataHashFromHashes, computeDataHashFromStrings, computeEvmLinkHash, computeInteractionHash, computeReputationNonce, createBatchEd25519Instruction, createEd25519Instruction, createJsonContent, createPinataUploader, createSATILightClient, createSatiUploader, decodeAgentIndex, decodeRegistryConfig, decodeSchemaConfig, decryptContent, deriveEncryptionKeypair, deriveEncryptionPublicKey, deriveReputationAttestationPda, deriveReputationSchemaPda, deriveSasEventAuthorityPda, deriveSatiPda, deriveSatiProgramCredentialPda, deserializeEncryptedPayload, deserializeFeedback, deserializeReputationScore, deserializeUniversalLayout, deserializeValidation, duplicateAttestationMessage, encryptContent, fetchAgentIndex, fetchAllAgentIndex, fetchAllMaybeAgentIndex, fetchAllMaybeRegistryConfig, fetchAllMaybeSchemaConfig, fetchAllRegistryConfig, fetchAllSchemaConfig, fetchMaybeAgentIndex, fetchMaybeRegistryConfig, fetchMaybeSchemaConfig, fetchRegistrationFile, fetchRegistryConfig, fetchSchemaConfig, findAgentIndexPda, findAssociatedTokenAddress, findRegistryConfigPda, findSchemaConfigPda, formatCaip10, getAgentIndexCodec, getAgentIndexDecoder, getAgentIndexDiscriminatorBytes, getAgentIndexEncoder, getAgentIndexSize, getAgentRegisteredCodec, getAgentRegisteredDecoder, getAgentRegisteredEncoder, getAttestationClosedCodec, getAttestationClosedDecoder, getAttestationClosedEncoder, getAttestationCreatedCodec, getAttestationCreatedDecoder, getAttestationCreatedEncoder, getCloseCompressedAttestationDiscriminatorBytes, getCloseCompressedAttestationInstruction, getCloseCompressedAttestationInstructionAsync, getCloseCompressedAttestationInstructionDataCodec, getCloseCompressedAttestationInstructionDataDecoder, getCloseCompressedAttestationInstructionDataEncoder, getCloseRegularAttestationDiscriminatorBytes, getCloseRegularAttestationInstruction, getCloseRegularAttestationInstructionAsync, getCloseRegularAttestationInstructionDataCodec, getCloseRegularAttestationInstructionDataDecoder, getCloseRegularAttestationInstructionDataEncoder, getCompressedAccountMetaCodec, getCompressedAccountMetaDecoder, getCompressedAccountMetaEncoder, getCompressedProofCodec, getCompressedProofDecoder, getCompressedProofEncoder, getContentTypeLabel, getCreateCompressedAttestationDiscriminatorBytes, getCreateCompressedAttestationInstruction, getCreateCompressedAttestationInstructionAsync, getCreateCompressedAttestationInstructionDataCodec, getCreateCompressedAttestationInstructionDataDecoder, getCreateCompressedAttestationInstructionDataEncoder, getCreateRegularAttestationDiscriminatorBytes, getCreateRegularAttestationInstruction, getCreateRegularAttestationInstructionAsync, getCreateRegularAttestationInstructionDataCodec, getCreateRegularAttestationInstructionDataDecoder, getCreateRegularAttestationInstructionDataEncoder, getDeployedNetworks, getEvmAddressLinkedCodec, getEvmAddressLinkedDecoder, getEvmAddressLinkedEncoder, getImageUrl, getInitializeDiscriminatorBytes, getInitializeInstruction, getInitializeInstructionAsync, getInitializeInstructionDataCodec, getInitializeInstructionDataDecoder, getInitializeInstructionDataEncoder, getLinkEvmAddressDiscriminatorBytes, getLinkEvmAddressInstruction, getLinkEvmAddressInstructionAsync, getLinkEvmAddressInstructionDataCodec, getLinkEvmAddressInstructionDataDecoder, getLinkEvmAddressInstructionDataEncoder, getMaxContentSize, getMetadataEntryCodec, getMetadataEntryDecoder, getMetadataEntryEncoder, getOutcomeLabel, getPackedAddressTreeInfoCodec, getPackedAddressTreeInfoDecoder, getPackedAddressTreeInfoEncoder, getPackedStateTreeInfoCodec, getPackedStateTreeInfoDecoder, getPackedStateTreeInfoEncoder, getRegisterAgentDiscriminatorBytes, getRegisterAgentInstruction, getRegisterAgentInstructionAsync, getRegisterAgentInstructionDataCodec, getRegisterAgentInstructionDataDecoder, getRegisterAgentInstructionDataEncoder, getRegisterSchemaConfigDiscriminatorBytes, getRegisterSchemaConfigInstruction, getRegisterSchemaConfigInstructionAsync, getRegisterSchemaConfigInstructionDataCodec, getRegisterSchemaConfigInstructionDataDecoder, getRegisterSchemaConfigInstructionDataEncoder, getRegistryAuthorityUpdatedCodec, getRegistryAuthorityUpdatedDecoder, getRegistryAuthorityUpdatedEncoder, getRegistryConfigCodec, getRegistryConfigDecoder, getRegistryConfigDiscriminatorBytes, getRegistryConfigEncoder, getRegistryConfigSize, getRegistryInitializedCodec, getRegistryInitializedDecoder, getRegistryInitializedEncoder, getSatiAgentIds, getSatiErrorMessage, getSchemaConfigCodec, getSchemaConfigDecoder, getSchemaConfigDiscriminatorBytes, getSchemaConfigEncoder, getSchemaConfigRegisteredCodec, getSchemaConfigRegisteredDecoder, getSchemaConfigRegisteredEncoder, getSignatureModeCodec, getSignatureModeDecoder, getSignatureModeEncoder, getStorageTypeCodec, getStorageTypeDecoder, getStorageTypeEncoder, getUpdateRegistryAuthorityDiscriminatorBytes, getUpdateRegistryAuthorityInstruction, getUpdateRegistryAuthorityInstructionAsync, getUpdateRegistryAuthorityInstructionDataCodec, getUpdateRegistryAuthorityInstructionDataDecoder, getUpdateRegistryAuthorityInstructionDataEncoder, getValidityProofCodec, getValidityProofDecoder, getValidityProofEncoder, handleTransactionError, hasDeployedConfig, hasSatiRegistration, identifySatiAccount, identifySatiInstruction, inferMimeType, isSatiError, loadDeployedConfig, networkErrorMessage, outcomeToScore, parseCloseCompressedAttestationInstruction, parseCloseRegularAttestationInstruction, parseCreateCompressedAttestationInstruction, parseCreateRegularAttestationInstruction, parseFeedbackContent, parseInitializeInstruction, parseLinkEvmAddressInstruction, parseRegisterAgentInstruction, parseRegisterSchemaConfigInstruction, parseReputationScoreContent, parseUpdateRegistryAuthorityInstruction, parseValidationContent, serializeEncryptedPayload, serializeFeedback, serializeReputationScore, serializeUniversalLayout, serializeValidation, stringifyRegistrationFile, transactionExpiredMessage, transactionFailedMessage, validateBaseLayout, validateContentSize, validateReputationScoreContent, walletDisconnectedMessage, walletRejectedMessage, zeroDataHash };
7023
+ export { AGENT_INDEX_DISCRIMINATOR, ASSOCIATED_TOKEN_PROGRAM_ADDRESS, ATTESTATION_SEED, AgentNotFoundError, BASE_OFFSETS, CLOSE_COMPRESSED_ATTESTATION_DISCRIMINATOR, CLOSE_REGULAR_ATTESTATION_DISCRIMINATOR, COMPRESSED_OFFSETS, CREATE_COMPRESSED_ATTESTATION_DISCRIMINATOR, CREATE_REGULAR_ATTESTATION_DISCRIMINATOR, CREDENTIAL_SEED, ContentType, DOMAINS, DataType, DuplicateAttestationError, ED25519_PROGRAM_ADDRESS, ENCRYPTION_VERSION, FEEDBACK_OFFSETS, FeedbackCache, INITIALIZE_DISCRIMINATOR, LIGHT_ERROR_CODES, LINK_EVM_ADDRESS_DISCRIMINATOR, MAX_AGENT_OWNER_SIGNED_CONTENT_SIZE, MAX_CONTENT_SIZE, MAX_COUNTERPARTY_SIGNED_CONTENT_SIZE, MAX_DUAL_SIGNATURE_CONTENT_SIZE, MAX_PLAINTEXT_SIZE, MIN_BASE_LAYOUT_SIZE, MIN_ENCRYPTED_SIZE, NONCE_SIZE, OFFSETS, Outcome, PRIVKEY_SIZE, PUBKEY_SIZE, REGISTER_AGENT_DISCRIMINATOR, REGISTER_SCHEMA_CONFIG_DISCRIMINATOR, REGISTRY_CONFIG_DISCRIMINATOR, REPUTATION_SCHEMA_NAME, REPUTATION_SCHEMA_VERSION, REPUTATION_SCORE_OFFSETS, SAS_DATA_LEN_OFFSET, SAS_HEADER_SIZE, SAS_PROGRAM_ADDRESS, SATILightClientImpl, SATI_ATTESTATION_SEED, SATI_CHAIN_ID, SATI_ERROR__AGENT_ATA_EMPTY, SATI_ERROR__AGENT_ATA_MINT_MISMATCH, SATI_ERROR__AGENT_ATA_REQUIRED, SATI_ERROR__AGENT_MINT_ACCOUNT_MISMATCH, SATI_ERROR__AGENT_MINT_MISMATCH, SATI_ERROR__AGENT_SIGNATURE_NOT_FOUND, SATI_ERROR__ATTESTATION_DATA_TOO_LARGE, SATI_ERROR__ATTESTATION_DATA_TOO_SMALL, SATI_ERROR__ATTESTATION_NOT_CLOSEABLE, SATI_ERROR__CONTENT_TOO_LARGE, SATI_ERROR__COUNTERPARTY_SIGNATURE_NOT_FOUND, SATI_ERROR__DELEGATE_MISMATCH, SATI_ERROR__DELEGATION_ATTESTATION_REQUIRED, SATI_ERROR__DELEGATION_EXPIRED, SATI_ERROR__DELEGATION_OWNER_MISMATCH, SATI_ERROR__DUPLICATE_SIGNERS, SATI_ERROR__ED25519_INSTRUCTION_NOT_FOUND, SATI_ERROR__EVM_ADDRESS_MISMATCH, SATI_ERROR__IMMUTABLE_AUTHORITY, SATI_ERROR__INVALID_AUTHORITY, SATI_ERROR__INVALID_CONTENT_TYPE, SATI_ERROR__INVALID_DELEGATION_P_D_A, SATI_ERROR__INVALID_ED25519_INSTRUCTION, SATI_ERROR__INVALID_EVM_ADDRESS_RECOVERY, SATI_ERROR__INVALID_GROUP_MINT, SATI_ERROR__INVALID_INSTRUCTIONS_SYSVAR, SATI_ERROR__INVALID_OUTCOME, SATI_ERROR__INVALID_SECP256K1_SIGNATURE, SATI_ERROR__INVALID_SIGNATURE, SATI_ERROR__INVALID_SIGNATURE_COUNT, SATI_ERROR__LIGHT_CPI_INVOCATION_FAILED, SATI_ERROR__MESSAGE_MISMATCH, SATI_ERROR__METADATA_KEY_TOO_LONG, SATI_ERROR__METADATA_VALUE_TOO_LONG, SATI_ERROR__MINT_AUTHORITY_NOT_RENOUNCED, SATI_ERROR__MISSING_SIGNATURES, SATI_ERROR__NAME_TOO_LONG, SATI_ERROR__OVERFLOW, SATI_ERROR__OWNER_ONLY, SATI_ERROR__SCHEMA_CONFIG_NOT_FOUND, SATI_ERROR__SECP256K1_RECOVERY_FAILED, SATI_ERROR__SELF_ATTESTATION_NOT_ALLOWED, SATI_ERROR__SIGNATURE_MISMATCH, SATI_ERROR__STORAGE_TYPE_MISMATCH, SATI_ERROR__STORAGE_TYPE_NOT_SUPPORTED, SATI_ERROR__SYMBOL_TOO_LONG, SATI_ERROR__TOO_MANY_METADATA_ENTRIES, SATI_ERROR__UNAUTHORIZED_CLOSE, SATI_ERROR__UNSUPPORTED_LAYOUT_VERSION, SATI_ERROR__URI_TOO_LONG, SATI_PROGRAM_ADDRESS, SATI_PROGRAM_ID, SCHEMA_CONFIG_DISCRIMINATOR, SCHEMA_SEED, SOLANA_CHAIN_REFS, Sati, SatiAccount, SatiAgentBuilder, SatiError, SatiInstruction, SchemaNotFoundError, SignatureMode, StorageType, TAG_SIZE, TOKEN_2022_PROGRAM_ADDRESS, UPDATE_REGISTRY_AUTHORITY_DISCRIMINATOR, VALIDATION_OFFSETS, ValidationType, address, addressToBytes, buildCounterpartyMessage, buildFeedbackSigningMessage, buildRegistrationFile, buildSatiRegistrationEntry, bytesToAddress, computeAttestationNonce, computeDataHash, computeDataHashFromHashes, computeDataHashFromStrings, computeEvmLinkHash, computeInteractionHash, computeReputationNonce, createBatchEd25519Instruction, createEd25519Instruction, createJsonContent, createPinataUploader, createSATILightClient, createSatiUploader, decodeAgentIndex, decodeRegistryConfig, decodeSchemaConfig, decryptContent, deriveEncryptionKeypair, deriveEncryptionPublicKey, deriveReputationAttestationPda, deriveReputationSchemaPda, deriveSasEventAuthorityPda, deriveSatiPda, deriveSatiProgramCredentialPda, deserializeEncryptedPayload, deserializeFeedback, deserializeReputationScore, deserializeUniversalLayout, deserializeValidation, duplicateAttestationMessage, encryptContent, fetchAgentIndex, fetchAllAgentIndex, fetchAllMaybeAgentIndex, fetchAllMaybeRegistryConfig, fetchAllMaybeSchemaConfig, fetchAllRegistryConfig, fetchAllSchemaConfig, fetchMaybeAgentIndex, fetchMaybeRegistryConfig, fetchMaybeSchemaConfig, fetchRegistrationFile, fetchRegistryConfig, fetchSchemaConfig, findAgentIndexPda, findAssociatedTokenAddress, findRegistryConfigPda, findSchemaConfigPda, formatCaip10, getAgentIndexCodec, getAgentIndexDecoder, getAgentIndexDiscriminatorBytes, getAgentIndexEncoder, getAgentIndexSize, getAgentRegisteredCodec, getAgentRegisteredDecoder, getAgentRegisteredEncoder, getAttestationClosedCodec, getAttestationClosedDecoder, getAttestationClosedEncoder, getAttestationCreatedCodec, getAttestationCreatedDecoder, getAttestationCreatedEncoder, getCloseCompressedAttestationDiscriminatorBytes, getCloseCompressedAttestationInstruction, getCloseCompressedAttestationInstructionAsync, getCloseCompressedAttestationInstructionDataCodec, getCloseCompressedAttestationInstructionDataDecoder, getCloseCompressedAttestationInstructionDataEncoder, getCloseRegularAttestationDiscriminatorBytes, getCloseRegularAttestationInstruction, getCloseRegularAttestationInstructionAsync, getCloseRegularAttestationInstructionDataCodec, getCloseRegularAttestationInstructionDataDecoder, getCloseRegularAttestationInstructionDataEncoder, getCompressedAccountMetaCodec, getCompressedAccountMetaDecoder, getCompressedAccountMetaEncoder, getCompressedProofCodec, getCompressedProofDecoder, getCompressedProofEncoder, getContentTypeLabel, getCreateCompressedAttestationDiscriminatorBytes, getCreateCompressedAttestationInstruction, getCreateCompressedAttestationInstructionAsync, getCreateCompressedAttestationInstructionDataCodec, getCreateCompressedAttestationInstructionDataDecoder, getCreateCompressedAttestationInstructionDataEncoder, getCreateRegularAttestationDiscriminatorBytes, getCreateRegularAttestationInstruction, getCreateRegularAttestationInstructionAsync, getCreateRegularAttestationInstructionDataCodec, getCreateRegularAttestationInstructionDataDecoder, getCreateRegularAttestationInstructionDataEncoder, getDeployedNetworks, getEvmAddressLinkedCodec, getEvmAddressLinkedDecoder, getEvmAddressLinkedEncoder, getImageUrl, getInitializeDiscriminatorBytes, getInitializeInstruction, getInitializeInstructionAsync, getInitializeInstructionDataCodec, getInitializeInstructionDataDecoder, getInitializeInstructionDataEncoder, getLinkEvmAddressDiscriminatorBytes, getLinkEvmAddressInstruction, getLinkEvmAddressInstructionAsync, getLinkEvmAddressInstructionDataCodec, getLinkEvmAddressInstructionDataDecoder, getLinkEvmAddressInstructionDataEncoder, getMaxContentSize, getMetadataEntryCodec, getMetadataEntryDecoder, getMetadataEntryEncoder, getOutcomeLabel, getPackedAddressTreeInfoCodec, getPackedAddressTreeInfoDecoder, getPackedAddressTreeInfoEncoder, getPackedStateTreeInfoCodec, getPackedStateTreeInfoDecoder, getPackedStateTreeInfoEncoder, getRegisterAgentDiscriminatorBytes, getRegisterAgentInstruction, getRegisterAgentInstructionAsync, getRegisterAgentInstructionDataCodec, getRegisterAgentInstructionDataDecoder, getRegisterAgentInstructionDataEncoder, getRegisterSchemaConfigDiscriminatorBytes, getRegisterSchemaConfigInstruction, getRegisterSchemaConfigInstructionAsync, getRegisterSchemaConfigInstructionDataCodec, getRegisterSchemaConfigInstructionDataDecoder, getRegisterSchemaConfigInstructionDataEncoder, getRegistryAuthorityUpdatedCodec, getRegistryAuthorityUpdatedDecoder, getRegistryAuthorityUpdatedEncoder, getRegistryConfigCodec, getRegistryConfigDecoder, getRegistryConfigDiscriminatorBytes, getRegistryConfigEncoder, getRegistryConfigSize, getRegistryInitializedCodec, getRegistryInitializedDecoder, getRegistryInitializedEncoder, getSatiAgentIds, getSatiErrorMessage, getSchemaConfigCodec, getSchemaConfigDecoder, getSchemaConfigDiscriminatorBytes, getSchemaConfigEncoder, getSchemaConfigRegisteredCodec, getSchemaConfigRegisteredDecoder, getSchemaConfigRegisteredEncoder, getSignatureModeCodec, getSignatureModeDecoder, getSignatureModeEncoder, getStorageTypeCodec, getStorageTypeDecoder, getStorageTypeEncoder, getUpdateRegistryAuthorityDiscriminatorBytes, getUpdateRegistryAuthorityInstruction, getUpdateRegistryAuthorityInstructionAsync, getUpdateRegistryAuthorityInstructionDataCodec, getUpdateRegistryAuthorityInstructionDataDecoder, getUpdateRegistryAuthorityInstructionDataEncoder, getValidityProofCodec, getValidityProofDecoder, getValidityProofEncoder, handleTransactionError, hasDeployedConfig, hasSatiRegistration, identifySatiAccount, identifySatiInstruction, inferMimeType, isSatiError, loadDeployedConfig, networkErrorMessage, outcomeToScore, parseCloseCompressedAttestationInstruction, parseCloseRegularAttestationInstruction, parseCreateCompressedAttestationInstruction, parseCreateRegularAttestationInstruction, parseFeedbackContent, parseInitializeInstruction, parseLinkEvmAddressInstruction, parseRegisterAgentInstruction, parseRegisterSchemaConfigInstruction, parseReputationScoreContent, parseUpdateRegistryAuthorityInstruction, parseValidationContent, serializeEncryptedPayload, serializeFeedback, serializeReputationScore, serializeUniversalLayout, serializeValidation, stringifyRegistrationFile, transactionExpiredMessage, transactionFailedMessage, validateBaseLayout, validateContentSize, validateReputationScoreContent, walletDisconnectedMessage, walletRejectedMessage, zeroDataHash };
6984
7024
  //# sourceMappingURL=index.mjs.map