SDK Installation
Install and configure the Actions SDK for building custom agents.
Requirements
Before installing the SDK, ensure you have:
- Node.js 18+ - Required for ES2022 features
- TypeScript 5.0+ - For decorator support
- GCP Project - Firestore, Pub/Sub, Cloud Run access
- LLM API Key - OpenAI, Google AI, or Anthropic
Installation
Install the Actions SDK package:
bash
1
2
3
4
5
6
7
8
# Install the Actions SDK$ pnpm add @hyperfold/actions-sdk # Or with npm$ npm install @hyperfold/actions-sdk # Or with yarn$ yarn add @hyperfold/actions-sdkPeer Dependencies
Install required peer dependencies for GCP services:
bash
1
2
3
4
5
6
7
# Required peer dependencies$ pnpm add @google-cloud/firestore @google-cloud/pubsub @google-cloud/vertexai # Optional: For specific integrations$ pnpm add stripe # Stripe payments$ pnpm add @shopify/shopify-api # Shopify integration$ pnpm add openai # OpenAI modelsProject Setup
Create a new agent project using the CLI template:
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Create a new agent project from template$ hyperfold agents init my-agent --template=negotiator # Project structure:my-agent/├── src/│ ├── agent.ts # Main agent class│ ├── handlers/│ │ ├── search.ts # Search handler│ │ ├── quote.ts # Quote handler│ │ └── checkout.ts # Checkout handler│ └── tools/│ └── pricing.ts # Custom pricing logic├── config/│ ├── agent.yaml # Agent configuration│ └── pricing-policy.yaml # Pricing rules├── prompts/│ └── system.txt # System prompt├── tests/│ └── agent.test.ts # Unit tests├── package.json├── tsconfig.json└── .env.exampleTypeScript Configuration
Ensure your tsconfig.json enables decorators:
json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{ "compilerOptions": { "target": "ES2022", "module": "NodeNext", "moduleResolution": "NodeNext", "lib": ["ES2022"], "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, "declaration": true }, "include": ["src/**/*"], "exclude": ["node_modules", "dist"]}The
experimentalDecorators and emitDecoratorMetadata options are required for SDK decorators to work correctly.Configuration
Configure environment variables for your agent:
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# .env# Required: GCP project for Firestore, Pub/Sub, etc.GOOGLE_CLOUD_PROJECT=my-project-idGOOGLE_APPLICATION_CREDENTIALS=./service-account.json # Required: LLM provider (choose one)OPENAI_API_KEY=sk-...# GOOGLE_AI_API_KEY=...# ANTHROPIC_API_KEY=... # Required: Payment provider (if processing payments)STRIPE_SECRET_KEY=sk_live_...STRIPE_WEBHOOK_SECRET=whsec_... # Optional: IntegrationsSHOPIFY_API_KEY=shpat_...SALESFORCE_CLIENT_ID=...GCP Service Account
Create a service account with the following roles:
roles/datastore.user- Firestore accessroles/pubsub.publisher- Pub/Sub publishingroles/pubsub.subscriber- Pub/Sub subscriptionsroles/aiplatform.user- Vertex AI embeddings
bash
1
2
3
4
5
6
7
8
9
10
11
12
# Create service account$ gcloud iam service-accounts create hyperfold-agent \ --display-name="Hyperfold Agent" # Grant required roles$ gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:hyperfold-agent@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/datastore.user" # Download key file$ gcloud iam service-accounts keys create ./service-account.json \ --iam-account=hyperfold-agent@$PROJECT_ID.iam.gserviceaccount.comVerification
Verify your installation is working:
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Verify SDK installation$ pnpm exec hyperfold-sdk --version@hyperfold/actions-sdk v1.2.0 # Check TypeScript decorators work$ pnpm tsc --noEmit # Run local development server$ pnpm dev > Agent running at http://localhost:3000> ACP manifest: http://localhost:3000/.well-known/acp/manifest.json # Test health endpoint$ curl http://localhost:3000/health{"status":"healthy","version":"1.0.0"}Your SDK is installed and ready. Start building with @HyperfoldAgent.