1.0.11 • Published 4 months ago

aztp-client v1.0.11

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

AZTP Client TypeScript

A TypeScript client library for the AZTP Identity Service, providing secure identity management and verification capabilities.

Installation

npm install aztp-client

Trusted Domains

The AZTP client maintains a whitelist of trusted domains for use with the trustDomain parameter. When you specify a domain that isn't in this whitelist, the client will display a warning and suggest valid alternatives from the approved list. If no trust domain is specified, the system defaults to aztp.network.

import aztp, {whiteListTrustDomains} from 'aztp-client';

# Check available trusted domains
console.log("Available trusted domains:", whiteListTrustDomains);

# Create a secure connection with a trusted domain

const securedAgentWithTrustDomain = await aztpClient.secureConnect(childAgent, "my-agent", {
  trustDomain: whiteListTrustDomains["gptarticles.xyz"],
  isGlobalIdentity: false
});
console.log("Child AZTP ID with trust domain and parent identity:", securedAgentWithTrustDomain);

Current Trusted Domains

  • gptarticles.xyz
  • gptapps.ai
  • vcagents.ai

Quick Start

import aztp, {whiteListTrustDomains} from 'aztp-client';

async function main() {
  // Initialize the client with API key from environment
  const API_KEY = process.env.AZTP_API_KEY;
  if (!API_KEY) {
    throw new Error("AZTP_API_KEY is not set");
  }

  const client = aztp.initialize({
    apiKey: API_KEY
  });

  // Create base agents
  const crewAgent = {};
  const childAgentA = {};
  const childAgentB = {};
  const agentName = 'MyAgent-001';
  const childAgentNameA = 'MyAgent-001-child-A';
  const childAgentNameB = 'MyAgent-001-child-B';
  
  try {
    // Example 1: Issue identity with global identity
    const securedAgent = await client.secureConnect(crewAgent, agentName, {
      isGlobalIdentity: true
    });
    console.log('AZTP ID:', securedAgent);

    const parentIdentity = securedAgent.identity.aztpId;

    // Example 2: Issue identity with parent identity
    const childSecuredAgent = await client.secureConnect(childAgentA, childAgentNameA, {
      parentIdentity: parentIdentity,
      isGlobalIdentity: false
    });
    console.log('Child AZTP ID:', childSecuredAgent);

    // Example 3: Issue identity with trust domain and parent identity
    const childSecuredAgentWithTrustDomain = await client.secureConnect(childAgentB, childAgentNameB, {
      trustDomain: whiteListTrustDomains["gptarticles.xyz"],
      parentIdentity: parentIdentity,
      isGlobalIdentity: false
    });
    console.log('Child AZTP ID with trust domain:', childSecuredAgentWithTrustDomain);

        // Verify identity
    console.log("\nVerify identity with self validating for", "AgentName:", agentName);
    const isValid = await aztpClient.verifyIdentity(securedAgent);
    console.log("Identity Valid:", isValid);

    // Verify identity
    console.log("\nVerify identity with non self validating for", "AgentName:", agentName);
    const isValidSelfValidating = await aztpClient.verifyIdentity(securedAgent, false, childSecuredAgentWithTrustDomain.identity.aztpId);
    console.log("Identity Valid:", isValidSelfValidating);

    // Get full identity details
    const identity = await client.getIdentity(securedAgent);
    console.log('Agent Name:', agentName, 'Identity Details:', identity);
  } catch (error) {
    console.error('Error:', error);
  }
}

Client Options

The client can be initialized with several options:

const client = aztp.initialize({
  apiKey: 'your_api_key_here',
  // Additional options will be added in future versions
});

API Reference

Initialize Client

const client = aztp.initialize({
  apiKey: string
});

Secure Connect

const securedAgent = await client.secureConnect(baseAgent, {
  name: string
});

Verify Identity

const isValid = await client.verifyIdentity(securedAgent);

Verify Identity Using Agent Name

const isValid = await client.verifyIdentityUsingAgentName(agentName);

Verify Identity Using Full AZTP ID

const isValid = await client.verifyIdentityUsingAgentName(fullAztpId);

Verify Identity Using Explicit Parameters

const isValid = await client.verifyIdentityUsingAgentName(
  agentName,
  trustDomain,
  workload,
  environment,
  method
);

Get Identity

const identity = await client.getIdentity(securedAgent);

Requirements

  • Node.js >= 14.0.0
  • TypeScript >= 4.9.0

License

MIT

Support

For support, please contact dev@astha.ai

1.0.11

4 months ago

1.0.9

4 months ago

1.0.8

4 months ago

1.0.10

4 months ago

1.0.7

5 months ago

1.0.6

5 months ago

1.0.5

5 months ago

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

6 months ago

0.1.0

6 months ago