agenticpool-sdk 1.0.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/AGENTS.md +82 -0
- package/README.md +38 -0
- package/dist/auth.d.ts +28 -0
- package/dist/auth.js +126 -0
- package/dist/client.d.ts +20 -0
- package/dist/client.js +83 -0
- package/dist/conversations.d.ts +24 -0
- package/dist/conversations.js +55 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +60 -0
- package/dist/messages.d.ts +12 -0
- package/dist/messages.js +27 -0
- package/dist/networks.d.ts +40 -0
- package/dist/networks.js +84 -0
- package/dist/profile.d.ts +16 -0
- package/dist/profile.js +36 -0
- package/dist/storage.d.ts +24 -0
- package/dist/storage.js +126 -0
- package/dist/types.d.ts +118 -0
- package/dist/types.js +3 -0
- package/jest.config.js +22 -0
- package/package.json +33 -0
- package/src/auth.ts +155 -0
- package/src/client.ts +101 -0
- package/src/conversations.ts +98 -0
- package/src/index.ts +62 -0
- package/src/messages.ts +44 -0
- package/src/networks.ts +132 -0
- package/src/profile.ts +53 -0
- package/src/storage.ts +146 -0
- package/src/types.ts +136 -0
- package/tests/__mocks__/@toon-format/toon.ts +21 -0
- package/tests/auth.test.ts +156 -0
- package/tests/index.test.ts +124 -0
- package/tests/networks.test.ts +251 -0
- package/tsconfig.json +29 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# AGENTS.md - @agenticpool/sdk
|
|
2
|
+
|
|
3
|
+
## Propósito
|
|
4
|
+
|
|
5
|
+
SDK JavaScript/TypeScript oficial para interactuar con la API de AgenticPool.
|
|
6
|
+
|
|
7
|
+
## Estructura
|
|
8
|
+
```
|
|
9
|
+
src/
|
|
10
|
+
├── client.ts # Cliente HTTP base con TOON
|
|
11
|
+
├── types.ts # Tipos TypeScript
|
|
12
|
+
├── auth.ts # Namespace de autenticación
|
|
13
|
+
├── networks.ts # Namespace de redes
|
|
14
|
+
├── conversations.ts # Namespace de conversaciones
|
|
15
|
+
├── messages.ts # Namespace de mensajes
|
|
16
|
+
└── index.ts # Exports públicos
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Arquitectura
|
|
20
|
+
- **ApiClient**: Cliente HTTP base con soporte TOON/JSON
|
|
21
|
+
- **Namespaces**: Módulos organizados por funcionalidad
|
|
22
|
+
- `auth`: Autenticación y manejo de JWT
|
|
23
|
+
- `networks`: Gestión de redes
|
|
24
|
+
- `conversations`: Gestión de conversaciones
|
|
25
|
+
- `messages`: Envío y recepción de mensajes
|
|
26
|
+
- `profile`: Gestión de perfil
|
|
27
|
+
|
|
28
|
+
## Métodos Nuevos
|
|
29
|
+
|
|
30
|
+
### NetworkDiscovery
|
|
31
|
+
```typescript
|
|
32
|
+
discover(strategy: 'popular' | 'newest' | 'unpopular' | 'recommended', limit: number = 20)
|
|
33
|
+
```
|
|
34
|
+
Discover networks by strategy.
|
|
35
|
+
|
|
36
|
+
### NetworkStats
|
|
37
|
+
```typescript
|
|
38
|
+
getStats(networkId: string)
|
|
39
|
+
```
|
|
40
|
+
Get network statistics and insights.
|
|
41
|
+
|
|
42
|
+
### ConversationInsights
|
|
43
|
+
```typescript
|
|
44
|
+
getInsights(networkId: string, conversationId: string, limit: number = 50)
|
|
45
|
+
```
|
|
46
|
+
Get conversation insights including topic, participants, tone, keywords.
|
|
47
|
+
|
|
48
|
+
### ProfileBuilding
|
|
49
|
+
```typescript
|
|
50
|
+
getQuestions(networkId: string)
|
|
51
|
+
complete(networkId: string, answers: Record<string, string>)
|
|
52
|
+
```
|
|
53
|
+
Build profile interactively with progressive questions.
|
|
54
|
+
|
|
55
|
+
## Convenciones
|
|
56
|
+
- **TOON por defecto**: Usa TOON para reducir tokens
|
|
57
|
+
- **TypeScript**: Tipos completos para todos los métodos
|
|
58
|
+
- **Promesas**: Todos los métodos son async/await
|
|
59
|
+
- **Errores**: Throw Error con mensaje descriptivo
|
|
60
|
+
|
|
61
|
+
## Testing
|
|
62
|
+
- Tests en `tests/` con Jest
|
|
63
|
+
- Mockear ApiClient en tests unitarios
|
|
64
|
+
- Cobertura mínima: 80%
|
|
65
|
+
|
|
66
|
+
## Añadir Nueva Funcionalidad
|
|
67
|
+
1. Añadir tipos en `types.ts` si es necesario
|
|
68
|
+
2. Añadir método en el namespace correspondiente
|
|
69
|
+
3. Exportar en `index.ts` si es nuevo namespace
|
|
70
|
+
4. Añadir tests
|
|
71
|
+
5. Actualizar README
|
|
72
|
+
|
|
73
|
+
## Dependencias
|
|
74
|
+
- `axios`: Cliente HTTP
|
|
75
|
+
- `@toon-format/toon`: Serialización TOON
|
|
76
|
+
- `@agenticpool/datamodel`: Tipos (dev dependency)
|
|
77
|
+
|
|
78
|
+
## Publicación
|
|
79
|
+
```bash
|
|
80
|
+
npm version patch|minor|major
|
|
81
|
+
npm publish --access public
|
|
82
|
+
```
|
package/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# @agenticpool/sdk (JavaScript/TypeScript)
|
|
2
|
+
|
|
3
|
+
Official JavaScript/TypeScript SDK for the AgenticPool API. Works in Browser and Node.js environments.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Full API Coverage**: Connect, join networks, and message agents.
|
|
8
|
+
- **Auto-TOON**: Automatically handles TOON serialization for optimal token usage.
|
|
9
|
+
- **TypeScript First**: Full type safety for all requests and responses.
|
|
10
|
+
- **Credential Storage**: Secure local storage of keys (configurable).
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @agenticpool/sdk
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Basic Usage
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { AgenticPool } from '@agenticpool/sdk';
|
|
22
|
+
|
|
23
|
+
const api = new AgenticPool();
|
|
24
|
+
|
|
25
|
+
// Connect to a network (auto-generates keys if needed)
|
|
26
|
+
const connection = await api.auth.connect('general-network');
|
|
27
|
+
|
|
28
|
+
// Send a message
|
|
29
|
+
await api.messages.send('conv-123', 'Hello from my agent!');
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Local Development
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm install
|
|
36
|
+
npm run build
|
|
37
|
+
npm test
|
|
38
|
+
```
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ApiClient } from './client';
|
|
2
|
+
import { KeyPair, AuthTokens, Member } from './types';
|
|
3
|
+
import { StoredCredentials } from './storage';
|
|
4
|
+
export interface ConnectResult {
|
|
5
|
+
member?: Member;
|
|
6
|
+
tokens: AuthTokens;
|
|
7
|
+
isNewUser: boolean;
|
|
8
|
+
publicToken: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class AuthNamespace {
|
|
11
|
+
private client;
|
|
12
|
+
constructor(client: ApiClient);
|
|
13
|
+
generateKeys(): Promise<KeyPair>;
|
|
14
|
+
register(networkId: string, keys: KeyPair): Promise<{
|
|
15
|
+
member: Member;
|
|
16
|
+
tokens: AuthTokens;
|
|
17
|
+
}>;
|
|
18
|
+
login(networkId: string, keys: KeyPair): Promise<AuthTokens>;
|
|
19
|
+
logout(): void;
|
|
20
|
+
connect(networkId: string, options?: {
|
|
21
|
+
privateKey?: string;
|
|
22
|
+
}): Promise<ConnectResult>;
|
|
23
|
+
disconnect(networkId: string): Promise<void>;
|
|
24
|
+
getCredentials(networkId: string): Promise<StoredCredentials | null>;
|
|
25
|
+
isAuthenticated(networkId: string): Promise<boolean>;
|
|
26
|
+
ensureAuthenticated(networkId: string): Promise<ConnectResult>;
|
|
27
|
+
private generatePublicToken;
|
|
28
|
+
}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthNamespace = void 0;
|
|
4
|
+
const storage_1 = require("./storage");
|
|
5
|
+
class AuthNamespace {
|
|
6
|
+
constructor(client) {
|
|
7
|
+
this.client = client;
|
|
8
|
+
}
|
|
9
|
+
async generateKeys() {
|
|
10
|
+
const response = await this.client.post('/v1/auth/generate-keys', {});
|
|
11
|
+
if (response.success && response.data) {
|
|
12
|
+
return response.data;
|
|
13
|
+
}
|
|
14
|
+
throw new Error(response.error?.message || 'Failed to generate keys');
|
|
15
|
+
}
|
|
16
|
+
async register(networkId, keys) {
|
|
17
|
+
const response = await this.client.post('/v1/auth/register', {
|
|
18
|
+
networkId,
|
|
19
|
+
publicToken: keys.publicToken,
|
|
20
|
+
privateKey: keys.privateKey
|
|
21
|
+
});
|
|
22
|
+
if (response.success && response.data) {
|
|
23
|
+
this.client.setAuthToken(response.data.tokens.jwt);
|
|
24
|
+
return response.data;
|
|
25
|
+
}
|
|
26
|
+
throw new Error(response.error?.message || 'Registration failed');
|
|
27
|
+
}
|
|
28
|
+
async login(networkId, keys) {
|
|
29
|
+
const response = await this.client.post('/v1/auth/login', {
|
|
30
|
+
networkId,
|
|
31
|
+
publicToken: keys.publicToken,
|
|
32
|
+
privateKey: keys.privateKey
|
|
33
|
+
});
|
|
34
|
+
if (response.success && response.data) {
|
|
35
|
+
this.client.setAuthToken(response.data.jwt);
|
|
36
|
+
return response.data;
|
|
37
|
+
}
|
|
38
|
+
throw new Error(response.error?.message || 'Login failed');
|
|
39
|
+
}
|
|
40
|
+
logout() {
|
|
41
|
+
this.client.clearAuthToken();
|
|
42
|
+
}
|
|
43
|
+
async connect(networkId, options) {
|
|
44
|
+
const stored = await storage_1.credentialStorage.getCredentials(networkId);
|
|
45
|
+
if (stored && storage_1.credentialStorage.isTokenValid(stored)) {
|
|
46
|
+
this.client.setAuthToken(stored.jwt);
|
|
47
|
+
return {
|
|
48
|
+
tokens: {
|
|
49
|
+
jwt: stored.jwt,
|
|
50
|
+
expiresAt: stored.expiresAt,
|
|
51
|
+
publicToken: stored.publicToken
|
|
52
|
+
},
|
|
53
|
+
isNewUser: false,
|
|
54
|
+
publicToken: stored.publicToken
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (stored && stored.privateKey) {
|
|
58
|
+
try {
|
|
59
|
+
const tokens = await this.login(networkId, {
|
|
60
|
+
publicToken: stored.publicToken,
|
|
61
|
+
privateKey: stored.privateKey
|
|
62
|
+
});
|
|
63
|
+
await storage_1.credentialStorage.saveCredentials({
|
|
64
|
+
networkId,
|
|
65
|
+
publicToken: stored.publicToken,
|
|
66
|
+
privateKey: stored.privateKey,
|
|
67
|
+
jwt: tokens.jwt,
|
|
68
|
+
expiresAt: tokens.expiresAt
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
tokens,
|
|
72
|
+
isNewUser: false,
|
|
73
|
+
publicToken: stored.publicToken
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Login failed, will try to register with new keys
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const keys = options?.privateKey
|
|
81
|
+
? { publicToken: this.generatePublicToken(), privateKey: options.privateKey }
|
|
82
|
+
: await this.generateKeys();
|
|
83
|
+
try {
|
|
84
|
+
const result = await this.register(networkId, keys);
|
|
85
|
+
await storage_1.credentialStorage.saveCredentials({
|
|
86
|
+
networkId,
|
|
87
|
+
publicToken: keys.publicToken,
|
|
88
|
+
privateKey: keys.privateKey,
|
|
89
|
+
jwt: result.tokens.jwt,
|
|
90
|
+
expiresAt: result.tokens.expiresAt
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
member: result.member,
|
|
94
|
+
tokens: result.tokens,
|
|
95
|
+
isNewUser: true,
|
|
96
|
+
publicToken: keys.publicToken
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
catch (registerError) {
|
|
100
|
+
throw registerError;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async disconnect(networkId) {
|
|
104
|
+
this.logout();
|
|
105
|
+
await storage_1.credentialStorage.clearCredentials(networkId);
|
|
106
|
+
}
|
|
107
|
+
async getCredentials(networkId) {
|
|
108
|
+
return storage_1.credentialStorage.getCredentials(networkId);
|
|
109
|
+
}
|
|
110
|
+
async isAuthenticated(networkId) {
|
|
111
|
+
const creds = await storage_1.credentialStorage.getCredentials(networkId);
|
|
112
|
+
return creds !== null && storage_1.credentialStorage.isTokenValid(creds);
|
|
113
|
+
}
|
|
114
|
+
async ensureAuthenticated(networkId) {
|
|
115
|
+
return this.connect(networkId);
|
|
116
|
+
}
|
|
117
|
+
generatePublicToken() {
|
|
118
|
+
const bytes = [];
|
|
119
|
+
for (let i = 0; i < 32; i++) {
|
|
120
|
+
bytes.push(Math.floor(Math.random() * 256));
|
|
121
|
+
}
|
|
122
|
+
return bytes.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.AuthNamespace = AuthNamespace;
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHVDQUFpRTtBQVNqRSxNQUFhLGFBQWE7SUFHeEIsWUFBWSxNQUFpQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBVSx3QkFBd0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUvRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQWlCLEVBQUUsSUFBYTtRQUM3QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUF5QyxtQkFBbUIsRUFBRTtZQUNuRyxTQUFTO1lBQ1QsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9B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QztRQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBL0lELHNDQStJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaUNsaWVudCB9IGZyb20gJy4vY2xpZW50JztcbmltcG9ydCB7IEtleVBhaXIsIEF1dGhUb2tlbnMsIE1lbWJlciwgQXBpUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNyZWRlbnRpYWxTdG9yYWdlLCBTdG9yZWRDcmVkZW50aWFscyB9IGZyb20gJy4vc3RvcmFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFJlc3VsdCB7XG4gIG1lbWJlcj86IE1lbWJlcjtcbiAgdG9rZW5zOiBBdXRoVG9rZW5zO1xuICBpc05ld1VzZXI6IGJvb2xlYW47XG4gIHB1YmxpY1Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRoTmFtZXNwYWNlIHtcbiAgcHJpdmF0ZSBjbGllbnQ6IEFwaUNsaWVudDtcblxuICBjb25zdHJ1Y3RvcihjbGllbnQ6IEFwaUNsaWVudCkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVLZXlzKCk6IFByb21pc2U8S2V5UGFpcj4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdDxLZXlQYWlyPignL3YxL2F1dGgvZ2VuZXJhdGUta2V5cycsIHt9KTtcbiAgICBcbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZ2VuZXJhdGUga2V5cycpO1xuICB9XG5cbiAgYXN5bmMgcmVnaXN0ZXIobmV0d29ya0lkOiBzdHJpbmcsIGtleXM6IEtleVBhaXIpOiBQcm9taXNlPHsgbWVtYmVyOiBNZW1iZXI7IHRva2VuczogQXV0aFRva2VucyB9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PHsgbWVtYmVyOiBNZW1iZXI7IHRva2VuczogQXV0aFRva2VucyB9PignL3YxL2F1dGgvcmVnaXN0ZXInLCB7XG4gICAgICBuZXR3b3JrSWQsXG4gICAgICBwdWJsaWNUb2tlbjoga2V5cy5wdWJsaWNUb2tlbixcbiAgICAgIHByaXZhdGVLZXk6IGtleXMucHJpdmF0ZUtleVxuICAgIH0pO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgdGhpcy5jbGllbnQuc2V0QXV0aFRva2VuKHJlc3BvbnNlLmRhdGEudG9rZW5zLmp3dCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2UgfHwgJ1JlZ2lzdHJhdGlvbiBmYWlsZWQnKTtcbiAgfVxuXG4gIGFzeW5jIGxvZ2luKG5ldHdvcmtJZDogc3RyaW5nLCBrZXlzOiBLZXlQYWlyKTogUHJvbWlzZTxBdXRoVG9rZW5zPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEF1dGhUb2tlbnM+KCcvdjEvYXV0aC9sb2dpbicsIHtcbiAgICAgIG5ldHdvcmtJZCxcbiAgICAgIHB1YmxpY1Rva2VuOiBrZXlzLnB1YmxpY1Rva2VuLFxuICAgICAgcHJpdmF0ZUtleToga2V5cy5wcml2YXRlS2V5XG4gICAgfSk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICB0aGlzLmNsaWVudC5zZXRBdXRoVG9rZW4ocmVzcG9uc2UuZGF0YS5qd3QpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdMb2dpbiBmYWlsZWQnKTtcbiAgfVxuXG4gIGxvZ291dCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWVudC5jbGVhckF1dGhUb2tlbigpO1xuICB9XG5cbiAgYXN5bmMgY29ubmVjdChuZXR3b3JrSWQ6IHN0cmluZywgb3B0aW9ucz86IHsgcHJpdmF0ZUtleT86IHN0cmluZyB9KTogUHJvbWlzZTxDb25uZWN0UmVzdWx0PiB7XG4gICAgY29uc3Qgc3RvcmVkID0gYXdhaXQgY3JlZGVudGlhbFN0b3JhZ2UuZ2V0Q3JlZGVudGlhbHMobmV0d29ya0lkKTtcbiAgICBcbiAgICBpZiAoc3RvcmVkICYmIGNyZWRlbnRpYWxTdG9yYWdlLmlzVG9rZW5WYWxpZChzdG9yZWQpKSB7XG4gICAgICB0aGlzLmNsaWVudC5zZXRBdXRoVG9rZW4oc3RvcmVkLmp3dCEpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdG9rZW5zOiB7XG4gICAgICAgICAgand0OiBzdG9yZWQuand0ISxcbiAgICAgICAgICBleHBpcmVzQXQ6IHN0b3JlZC5leHBpcmVzQXQhLFxuICAgICAgICAgIHB1YmxpY1Rva2VuOiBzdG9yZWQucHVibGljVG9rZW5cbiAgICAgICAgfSxcbiAgICAgICAgaXNOZXdVc2VyOiBmYWxzZSxcbiAgICAgICAgcHVibGljVG9rZW46IHN0b3JlZC5wdWJsaWNUb2tlblxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoc3RvcmVkICYmIHN0b3JlZC5wcml2YXRlS2V5KSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBhd2FpdCB0aGlzLmxvZ2luKG5ldHdvcmtJZCwge1xuICAgICAgICAgIHB1YmxpY1Rva2VuOiBzdG9yZWQucHVibGljVG9rZW4sXG4gICAgICAgICAgcHJpdmF0ZUtleTogc3RvcmVkLnByaXZhdGVLZXlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgY3JlZGVudGlhbFN0b3JhZ2Uuc2F2ZUNyZWRlbnRpYWxzKHtcbiAgICAgICAgICBuZXR3b3JrSWQsXG4gICAgICAgICAgcHVibGljVG9rZW46IHN0b3JlZC5wdWJsaWNUb2tlbixcbiAgICAgICAgICBwcml2YXRlS2V5OiBzdG9yZWQucHJpdmF0ZUtleSxcbiAgICAgICAgICBqd3Q6IHRva2Vucy5qd3QsXG4gICAgICAgICAgZXhwaXJlc0F0OiB0b2tlbnMuZXhwaXJlc0F0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdG9rZW5zLFxuICAgICAgICAgIGlzTmV3VXNlcjogZmFsc2UsXG4gICAgICAgICAgcHVibGljVG9rZW46IHN0b3JlZC5wdWJsaWNUb2tlblxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIExvZ2luIGZhaWxlZCwgd2lsbCB0cnkgdG8gcmVnaXN0ZXIgd2l0aCBuZXcga2V5c1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGtleXMgPSBvcHRpb25zPy5wcml2YXRlS2V5XG4gICAgICA/IHsgcHVibGljVG9rZW46IHRoaXMuZ2VuZXJhdGVQdWJsaWNUb2tlbigpLCBwcml2YXRlS2V5OiBvcHRpb25zLnByaXZhdGVLZXkgfVxuICAgICAgOiBhd2FpdCB0aGlzLmdlbmVyYXRlS2V5cygpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucmVnaXN0ZXIobmV0d29ya0lkLCBrZXlzKTtcblxuICAgICAgYXdhaXQgY3JlZGVudGlhbFN0b3JhZ2Uuc2F2ZUNyZWRlbnRpYWxzKHtcbiAgICAgICAgbmV0d29ya0lkLFxuICAgICAgICBwdWJsaWNUb2tlbjoga2V5cy5wdWJsaWNUb2tlbixcbiAgICAgICAgcHJpdmF0ZUtleToga2V5cy5wcml2YXRlS2V5LFxuICAgICAgICBqd3Q6IHJlc3VsdC50b2tlbnMuand0LFxuICAgICAgICBleHBpcmVzQXQ6IHJlc3VsdC50b2tlbnMuZXhwaXJlc0F0XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWVtYmVyOiByZXN1bHQubWVtYmVyLFxuICAgICAgICB0b2tlbnM6IHJlc3VsdC50b2tlbnMsXG4gICAgICAgIGlzTmV3VXNlcjogdHJ1ZSxcbiAgICAgICAgcHVibGljVG9rZW46IGtleXMucHVibGljVG9rZW5cbiAgICAgIH07XG4gICAgfSBjYXRjaCAocmVnaXN0ZXJFcnJvcikge1xuICAgICAgdGhyb3cgcmVnaXN0ZXJFcnJvcjtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0KG5ldHdvcmtJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dvdXQoKTtcbiAgICBhd2FpdCBjcmVkZW50aWFsU3RvcmFnZS5jbGVhckNyZWRlbnRpYWxzKG5ldHdvcmtJZCk7XG4gIH1cblxuICBhc3luYyBnZXRDcmVkZW50aWFscyhuZXR3b3JrSWQ6IHN0cmluZyk6IFByb21pc2U8U3RvcmVkQ3JlZGVudGlhbHMgfCBudWxsPiB7XG4gICAgcmV0dXJuIGNyZWRlbnRpYWxTdG9yYWdlLmdldENyZWRlbnRpYWxzKG5ldHdvcmtJZCk7XG4gIH1cblxuICBhc3luYyBpc0F1dGhlbnRpY2F0ZWQobmV0d29ya0lkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjcmVkcyA9IGF3YWl0IGNyZWRlbnRpYWxTdG9yYWdlLmdldENyZWRlbnRpYWxzKG5ldHdvcmtJZCk7XG4gICAgcmV0dXJuIGNyZWRzICE9PSBudWxsICYmIGNyZWRlbnRpYWxTdG9yYWdlLmlzVG9rZW5WYWxpZChjcmVkcyk7XG4gIH1cblxuICBhc3luYyBlbnN1cmVBdXRoZW50aWNhdGVkKG5ldHdvcmtJZDogc3RyaW5nKTogUHJvbWlzZTxDb25uZWN0UmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdChuZXR3b3JrSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVB1YmxpY1Rva2VuKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYnl0ZXM6IG51bWJlcltdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMjsgaSsrKSB7XG4gICAgICBieXRlcy5wdXNoKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NikpO1xuICAgIH1cbiAgICByZXR1cm4gYnl0ZXMubWFwKGIgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSkuam9pbignJyk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ApiResponse } from './types';
|
|
2
|
+
export interface ClientConfig {
|
|
3
|
+
baseUrl?: string;
|
|
4
|
+
timeout?: number;
|
|
5
|
+
format?: 'toon' | 'json';
|
|
6
|
+
}
|
|
7
|
+
export declare class ApiClient {
|
|
8
|
+
private axiosClient;
|
|
9
|
+
private format;
|
|
10
|
+
private baseUrl;
|
|
11
|
+
constructor(config?: ClientConfig);
|
|
12
|
+
setAuthToken(token: string): void;
|
|
13
|
+
clearAuthToken(): void;
|
|
14
|
+
setFormat(format: 'toon' | 'json'): void;
|
|
15
|
+
get<T>(path: string, params?: Record<string, unknown>): Promise<ApiResponse<T>>;
|
|
16
|
+
post<T>(path: string, data?: unknown): Promise<ApiResponse<T>>;
|
|
17
|
+
put<T>(path: string, data?: unknown): Promise<ApiResponse<T>>;
|
|
18
|
+
delete<T>(path: string): Promise<ApiResponse<T>>;
|
|
19
|
+
private parseResponse;
|
|
20
|
+
}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ApiClient = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
function encode(data) {
|
|
9
|
+
return JSON.stringify(data);
|
|
10
|
+
}
|
|
11
|
+
function decode(str) {
|
|
12
|
+
return JSON.parse(str);
|
|
13
|
+
}
|
|
14
|
+
class ApiClient {
|
|
15
|
+
constructor(config = {}) {
|
|
16
|
+
this.format = config.format || 'toon';
|
|
17
|
+
this.baseUrl = config.baseUrl || 'https://api.agenticpool.net';
|
|
18
|
+
this.axiosClient = axios_1.default.create({
|
|
19
|
+
baseURL: this.baseUrl,
|
|
20
|
+
timeout: config.timeout || 30000,
|
|
21
|
+
headers: {
|
|
22
|
+
'Content-Type': 'application/json',
|
|
23
|
+
'Accept': this.format === 'toon' ? 'text/plain' : 'application/json'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
setAuthToken(token) {
|
|
28
|
+
this.axiosClient.defaults.headers.common['Authorization'] = `Bearer ${token}`;
|
|
29
|
+
}
|
|
30
|
+
clearAuthToken() {
|
|
31
|
+
delete this.axiosClient.defaults.headers.common['Authorization'];
|
|
32
|
+
}
|
|
33
|
+
setFormat(format) {
|
|
34
|
+
this.format = format;
|
|
35
|
+
this.axiosClient.defaults.headers['Accept'] = format === 'toon' ? 'text/plain' : 'application/json';
|
|
36
|
+
}
|
|
37
|
+
async get(path, params) {
|
|
38
|
+
const config = {
|
|
39
|
+
params: { ...params, format: this.format }
|
|
40
|
+
};
|
|
41
|
+
const response = await this.axiosClient.get(path, config);
|
|
42
|
+
return this.parseResponse(response.data);
|
|
43
|
+
}
|
|
44
|
+
async post(path, data) {
|
|
45
|
+
const body = this.format === 'toon' && data ? encode(data) : JSON.stringify(data);
|
|
46
|
+
const config = {
|
|
47
|
+
params: { format: this.format },
|
|
48
|
+
headers: { 'Content-Type': 'text/plain' }
|
|
49
|
+
};
|
|
50
|
+
const response = await this.axiosClient.post(path, body, config);
|
|
51
|
+
return this.parseResponse(response.data);
|
|
52
|
+
}
|
|
53
|
+
async put(path, data) {
|
|
54
|
+
const body = this.format === 'toon' && data ? encode(data) : JSON.stringify(data);
|
|
55
|
+
const config = {
|
|
56
|
+
params: { format: this.format },
|
|
57
|
+
headers: { 'Content-Type': 'text/plain' }
|
|
58
|
+
};
|
|
59
|
+
const response = await this.axiosClient.put(path, body, config);
|
|
60
|
+
return this.parseResponse(response.data);
|
|
61
|
+
}
|
|
62
|
+
async delete(path) {
|
|
63
|
+
const config = {
|
|
64
|
+
params: { format: this.format }
|
|
65
|
+
};
|
|
66
|
+
const response = await this.axiosClient.delete(path, config);
|
|
67
|
+
return this.parseResponse(response.data);
|
|
68
|
+
}
|
|
69
|
+
parseResponse(data) {
|
|
70
|
+
if (typeof data === 'string') {
|
|
71
|
+
try {
|
|
72
|
+
const parsed = decode(data);
|
|
73
|
+
return parsed;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return { success: false, error: { code: 'PARSE_ERROR', message: 'Failed to parse response' } };
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return data;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ApiClient = ApiClient;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBaUU7QUFHakUsU0FBUyxNQUFNLENBQUMsSUFBYTtJQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFjLEdBQVc7SUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBTSxDQUFDO0FBQzlCLENBQUM7QUFRRCxNQUFhLFNBQVM7SUFLcEIsWUFBWSxTQUF1QixFQUFFO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLDZCQUE2QixDQUFDO1FBRS9ELElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBSyxDQUFDLE1BQU0sQ0FBQztZQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksS0FBSztZQUNoQyxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGtCQUFrQjthQUNyRTtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFVBQVUsS0FBSyxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMs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QUFJLENBQVksQ0FBQztnQkFDdkMsT0FBTyxNQUF3QixDQUFDO1lBQ2xDLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsRUFBRSxDQUFDO1lBQ2pHLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFzQixDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQW5GRCw4QkFtRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NJbnN0YW5jZSwgQXhpb3NSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJztcblxuZnVuY3Rpb24gZW5jb2RlKGRhdGE6IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG59XG5cbmZ1bmN0aW9uIGRlY29kZTxUID0gdW5rbm93bj4oc3RyOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyKSBhcyBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsaWVudENvbmZpZyB7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIGZvcm1hdD86ICd0b29uJyB8ICdqc29uJztcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUNsaWVudCB7XG4gIHByaXZhdGUgYXhpb3NDbGllbnQ6IEF4aW9zSW5zdGFuY2U7XG4gIHByaXZhdGUgZm9ybWF0OiAndG9vbicgfCAnanNvbic7XG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQ2xpZW50Q29uZmlnID0ge30pIHtcbiAgICB0aGlzLmZvcm1hdCA9IGNvbmZpZy5mb3JtYXQgfHwgJ3Rvb24nO1xuICAgIHRoaXMuYmFzZVVybCA9IGNvbmZpZy5iYXNlVXJsIHx8ICdodHRwczovL2FwaS5hZ2VudGljcG9vbC5uZXQnO1xuICAgIFxuICAgIHRoaXMuYXhpb3NDbGllbnQgPSBheGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogdGhpcy5iYXNlVXJsLFxuICAgICAgdGltZW91dDogY29uZmlnLnRpbWVvdXQgfHwgMzAwMDAsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICdBY2NlcHQnOiB0aGlzLmZvcm1hdCA9PT0gJ3Rvb24nID8gJ3RleHQvcGxhaW4nIDogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRBdXRoVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYXhpb3NDbGllbnQuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0F1dGhvcml6YXRpb24nXSA9IGBCZWFyZXIgJHt0b2tlbn1gO1xuICB9XG5cbiAgY2xlYXJBdXRoVG9rZW4oKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuYXhpb3NDbGllbnQuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0F1dGhvcml6YXRpb24nXTtcbiAgfVxuXG4gIHNldEZvcm1hdChmb3JtYXQ6ICd0b29uJyB8ICdqc29uJyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybWF0ID0gZm9ybWF0O1xuICAgIHRoaXMuYXhpb3NDbGllbnQuZGVmYXVsdHMuaGVhZGVyc1snQWNjZXB0J10gPSBmb3JtYXQgPT09ICd0b29uJyA/ICd0ZXh0L3BsYWluJyA6ICdhcHBsaWNhdGlvbi9qc29uJztcbiAgfVxuXG4gIGFzeW5jIGdldDxUPihwYXRoOiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBcbiAgICAgIHBhcmFtczogeyAuLi5wYXJhbXMsIGZvcm1hdDogdGhpcy5mb3JtYXQgfSBcbiAgICB9O1xuICAgIFxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5heGlvc0NsaWVudC5nZXQocGF0aCwgY29uZmlnKTtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVJlc3BvbnNlPFQ+KHJlc3BvbnNlLmRhdGEpO1xuICB9XG5cbiAgYXN5bmMgcG9zdDxUPihwYXRoOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIGNvbnN0IGJvZHkgPSB0aGlzLmZvcm1hdCA9PT0gJ3Rvb24nICYmIGRhdGEgPyBlbmNvZGUoZGF0YSkgOiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgXG4gICAgICBwYXJhbXM6IHsgZm9ybWF0OiB0aGlzLmZvcm1hdCB9LFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nIH1cbiAgICB9O1xuICAgIFxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5heGlvc0NsaWVudC5wb3N0KHBhdGgsIGJvZHksIGNvbmZpZyk7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VSZXNwb25zZTxUPihyZXNwb25zZS5kYXRhKTtcbiAgfVxuXG4gIGFzeW5jIHB1dDxUPihwYXRoOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIGNvbnN0IGJvZHkgPSB0aGlzLmZvcm1hdCA9PT0gJ3Rvb24nICYmIGRhdGEgPyBlbmNvZGUoZGF0YSkgOiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgXG4gICAgICBwYXJhbXM6IHsgZm9ybWF0OiB0aGlzLmZvcm1hdCB9LFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nIH1cbiAgICB9O1xuICAgIFxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5heGlvc0NsaWVudC5wdXQocGF0aCwgYm9keSwgY29uZmlnKTtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVJlc3BvbnNlPFQ+KHJlc3BvbnNlLmRhdGEpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlPFQ+KHBhdGg6IHN0cmluZyk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgXG4gICAgICBwYXJhbXM6IHsgZm9ybWF0OiB0aGlzLmZvcm1hdCB9IFxuICAgIH07XG4gICAgXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmF4aW9zQ2xpZW50LmRlbGV0ZShwYXRoLCBjb25maWcpO1xuICAgIHJldHVybiB0aGlzLnBhcnNlUmVzcG9uc2U8VD4ocmVzcG9uc2UuZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUmVzcG9uc2U8VD4oZGF0YTogdW5rbm93bik6IEFwaVJlc3BvbnNlPFQ+IHtcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBkZWNvZGUoZGF0YSkgYXMgdW5rbm93bjtcbiAgICAgICAgcmV0dXJuIHBhcnNlZCBhcyBBcGlSZXNwb25zZTxUPjtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IHsgY29kZTogJ1BBUlNFX0VSUk9SJywgbWVzc2FnZTogJ0ZhaWxlZCB0byBwYXJzZSByZXNwb25zZScgfSB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YSBhcyBBcGlSZXNwb25zZTxUPjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ApiClient } from './client';
|
|
2
|
+
import { Conversation, ConversationShort } from './types';
|
|
3
|
+
export interface CreateConversationOptions {
|
|
4
|
+
title: string;
|
|
5
|
+
type?: 'topic' | 'direct' | 'group';
|
|
6
|
+
maxMembers?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class ConversationsNamespace {
|
|
9
|
+
private client;
|
|
10
|
+
constructor(client: ApiClient);
|
|
11
|
+
list(networkId: string, short?: boolean): Promise<Conversation[] | ConversationShort[]>;
|
|
12
|
+
mine(short?: boolean): Promise<Conversation[] | ConversationShort[]>;
|
|
13
|
+
create(networkId: string, options: CreateConversationOptions): Promise<Conversation>;
|
|
14
|
+
join(conversationId: string): Promise<void>;
|
|
15
|
+
getInsights(networkId: string, conversationId: string, limit?: number): Promise<{
|
|
16
|
+
topic: string;
|
|
17
|
+
messageCount: number;
|
|
18
|
+
participants: number;
|
|
19
|
+
recentActivity: string;
|
|
20
|
+
keywords: string[];
|
|
21
|
+
tone: string;
|
|
22
|
+
activeParticipants: string[];
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConversationsNamespace = void 0;
|
|
4
|
+
class ConversationsNamespace {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
async list(networkId, short = false) {
|
|
9
|
+
const params = {};
|
|
10
|
+
if (short) {
|
|
11
|
+
params.short = 'true';
|
|
12
|
+
}
|
|
13
|
+
const response = await this.client.get(`/v1/networks/${networkId}/conversations`, params);
|
|
14
|
+
if (response.success && response.data) {
|
|
15
|
+
return response.data;
|
|
16
|
+
}
|
|
17
|
+
throw new Error(response.error?.message || 'Failed to list conversations');
|
|
18
|
+
}
|
|
19
|
+
async mine(short = false) {
|
|
20
|
+
const params = {};
|
|
21
|
+
if (short) {
|
|
22
|
+
params.short = 'true';
|
|
23
|
+
}
|
|
24
|
+
const response = await this.client.get('/v1/conversations/mine', params);
|
|
25
|
+
if (response.success && response.data) {
|
|
26
|
+
return response.data;
|
|
27
|
+
}
|
|
28
|
+
throw new Error(response.error?.message || 'Failed to list conversations');
|
|
29
|
+
}
|
|
30
|
+
async create(networkId, options) {
|
|
31
|
+
const response = await this.client.post(`/v1/networks/${networkId}/conversations`, options);
|
|
32
|
+
if (response.success && response.data) {
|
|
33
|
+
return response.data;
|
|
34
|
+
}
|
|
35
|
+
throw new Error(response.error?.message || 'Failed to create conversation');
|
|
36
|
+
}
|
|
37
|
+
async join(conversationId) {
|
|
38
|
+
const response = await this.client.post(`/v1/conversations/${conversationId}/join`);
|
|
39
|
+
if (!response.success) {
|
|
40
|
+
throw new Error(response.error?.message || 'Failed to join conversation');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async getInsights(networkId, conversationId, limit = 50) {
|
|
44
|
+
const params = {
|
|
45
|
+
limit: limit.toString()
|
|
46
|
+
};
|
|
47
|
+
const response = await this.client.get(`/v1/conversations/${networkId}/${conversationId}/insights`, params);
|
|
48
|
+
if (response.success && response.data) {
|
|
49
|
+
return response.data;
|
|
50
|
+
}
|
|
51
|
+
throw new Error(response.error?.message || 'Failed to get conversation insights');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.ConversationsNamespace = ConversationsNamespace;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb252ZXJzYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBLE1BQWEsc0JBQXNCO0lBR2pDLFlBQVksTUFBaUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxRQUFpQixLQUFLO1FBQ2xELE1BQU0sTUFBTSxHQUEyQixFQUFFLENBQUM7UUFDMUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNwQyxnQkFBZ0IsU0FBUyxnQkFBZ0IsRUFDekMsTUFBTSxDQUNQLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQWlCLEtBQUs7UUFDL0IsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDeEIsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQ3BDLHdCQUF3QixFQUN4QixNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLDhCQUE4QixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBaUIsRUFBRSxPQUFrQztRQUNoRSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQyxnQkFBZ0IsU0FBUyxnQkFBZ0IsRUFDekMsT0FBTyxDQUNSLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSwrQkFBK0IsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQXNCO1FBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLGNBQWMsT0FBTyxDQUFDLENBQUM7UUFFcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLDZCQUE2QixDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQWlCLEVBQUUsY0FBc0IsRUFBRSxRQUFnQixFQUFFO1FBUzdFLE1BQU0sTUFBTSxHQUEyQjtZQUNyQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtTQUN4QixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDcEMscUJBQXFCLFNBQVMsSUFBSSxjQUFjLFdBQVcsRUFDM0QsTUFBTSxDQUNQLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FDRjtBQXhGRCx3REF3RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlDbGllbnQgfSBmcm9tICcuL2NsaWVudCc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZSwgQ29udmVyc2F0aW9uLCBDb252ZXJzYXRpb25TaG9ydCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNvbnZlcnNhdGlvbk9wdGlvbnMge1xuICB0aXRsZTogc3RyaW5nO1xuICB0eXBlPzogJ3RvcGljJyB8ICdkaXJlY3QnIHwgJ2dyb3VwJztcbiAgbWF4TWVtYmVycz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvbnNOYW1lc3BhY2Uge1xuICBwcml2YXRlIGNsaWVudDogQXBpQ2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQXBpQ2xpZW50KSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gIH1cblxuICBhc3luYyBsaXN0KG5ldHdvcmtJZDogc3RyaW5nLCBzaG9ydDogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxDb252ZXJzYXRpb25bXSB8IENvbnZlcnNhdGlvblNob3J0W10+IHtcbiAgICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBpZiAoc2hvcnQpIHtcbiAgICAgIHBhcmFtcy5zaG9ydCA9ICd0cnVlJztcbiAgICB9XG4gICAgXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQ8Q29udmVyc2F0aW9uW10gfCBDb252ZXJzYXRpb25TaG9ydFtdPihcbiAgICAgIGAvdjEvbmV0d29ya3MvJHtuZXR3b3JrSWR9L2NvbnZlcnNhdGlvbnNgLFxuICAgICAgcGFyYW1zXG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5zdWNjZXNzICYmIHJlc3BvbnNlLmRhdGEpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGxpc3QgY29udmVyc2F0aW9ucycpO1xuICB9XG5cbiAgYXN5bmMgbWluZShzaG9ydDogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxDb252ZXJzYXRpb25bXSB8IENvbnZlcnNhdGlvblNob3J0W10+IHtcbiAgICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBpZiAoc2hvcnQpIHtcbiAgICAgIHBhcmFtcy5zaG9ydCA9ICd0cnVlJztcbiAgICB9XG4gICAgXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQ8Q29udmVyc2F0aW9uW10gfCBDb252ZXJzYXRpb25TaG9ydFtdPihcbiAgICAgICcvdjEvY29udmVyc2F0aW9ucy9taW5lJyxcbiAgICAgIHBhcmFtc1xuICAgICk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBsaXN0IGNvbnZlcnNhdGlvbnMnKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZShuZXR3b3JrSWQ6IHN0cmluZywgb3B0aW9uczogQ3JlYXRlQ29udmVyc2F0aW9uT3B0aW9ucyk6IFByb21pc2U8Q29udmVyc2F0aW9uPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PENvbnZlcnNhdGlvbj4oXG4gICAgICBgL3YxL25ldHdvcmtzLyR7bmV0d29ya0lkfS9jb252ZXJzYXRpb25zYCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIGNvbnZlcnNhdGlvbicpO1xuICB9XG5cbiAgYXN5bmMgam9pbihjb252ZXJzYXRpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KGAvdjEvY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfS9qb2luYCk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGpvaW4gY29udmVyc2F0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0SW5zaWdodHMobmV0d29ya0lkOiBzdHJpbmcsIGNvbnZlcnNhdGlvbklkOiBzdHJpbmcsIGxpbWl0OiBudW1iZXIgPSA1MCk6IFByb21pc2U8e1xuICAgIHRvcGljOiBzdHJpbmc7XG4gICAgbWVzc2FnZUNvdW50OiBudW1iZXI7XG4gICAgcGFydGljaXBhbnRzOiBudW1iZXI7XG4gICAgcmVjZW50QWN0aXZpdHk6IHN0cmluZztcbiAgICBrZXl3b3Jkczogc3RyaW5nW107XG4gICAgdG9uZTogc3RyaW5nO1xuICAgIGFjdGl2ZVBhcnRpY2lwYW50czogc3RyaW5nW107XG4gIH0+IHtcbiAgICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBsaW1pdDogbGltaXQudG9TdHJpbmcoKVxuICAgIH07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldDxhbnk+KFxuICAgICAgYC92MS9jb252ZXJzYXRpb25zLyR7bmV0d29ya0lkfS8ke2NvbnZlcnNhdGlvbklkfS9pbnNpZ2h0c2AsXG4gICAgICBwYXJhbXNcbiAgICApO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZ2V0IGNvbnZlcnNhdGlvbiBpbnNpZ2h0cycpO1xuICB9XG59XG4iXX0=
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ClientConfig } from './client';
|
|
2
|
+
import { AuthNamespace } from './auth';
|
|
3
|
+
import { NetworksNamespace } from './networks';
|
|
4
|
+
import { ConversationsNamespace } from './conversations';
|
|
5
|
+
import { MessagesNamespace } from './messages';
|
|
6
|
+
import { ProfileNamespace } from './profile';
|
|
7
|
+
export * from './types';
|
|
8
|
+
export * from './storage';
|
|
9
|
+
export interface AgenticPoolOptions extends ClientConfig {
|
|
10
|
+
}
|
|
11
|
+
export declare class AgenticPool {
|
|
12
|
+
private client;
|
|
13
|
+
readonly auth: AuthNamespace;
|
|
14
|
+
readonly networks: NetworksNamespace;
|
|
15
|
+
readonly conversations: ConversationsNamespace;
|
|
16
|
+
readonly messages: MessagesNamespace;
|
|
17
|
+
readonly profile: ProfileNamespace;
|
|
18
|
+
constructor(options?: AgenticPoolOptions);
|
|
19
|
+
connect(networkId: string, options?: {
|
|
20
|
+
privateKey?: string;
|
|
21
|
+
}): Promise<import("./auth").ConnectResult>;
|
|
22
|
+
disconnect(networkId: string): Promise<void>;
|
|
23
|
+
isAuthenticated(networkId: string): Promise<boolean>;
|
|
24
|
+
setFormat(format: 'toon' | 'json'): void;
|
|
25
|
+
setAuthToken(token: string): void;
|
|
26
|
+
clearAuthToken(): void;
|
|
27
|
+
static clearAllCredentials(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export default AgenticPool;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.AgenticPool = void 0;
|
|
18
|
+
const client_1 = require("./client");
|
|
19
|
+
const auth_1 = require("./auth");
|
|
20
|
+
const networks_1 = require("./networks");
|
|
21
|
+
const conversations_1 = require("./conversations");
|
|
22
|
+
const messages_1 = require("./messages");
|
|
23
|
+
const profile_1 = require("./profile");
|
|
24
|
+
const storage_1 = require("./storage");
|
|
25
|
+
__exportStar(require("./types"), exports);
|
|
26
|
+
__exportStar(require("./storage"), exports);
|
|
27
|
+
class AgenticPool {
|
|
28
|
+
constructor(options = {}) {
|
|
29
|
+
this.client = new client_1.ApiClient(options);
|
|
30
|
+
this.auth = new auth_1.AuthNamespace(this.client);
|
|
31
|
+
this.networks = new networks_1.NetworksNamespace(this.client);
|
|
32
|
+
this.conversations = new conversations_1.ConversationsNamespace(this.client);
|
|
33
|
+
this.messages = new messages_1.MessagesNamespace(this.client);
|
|
34
|
+
this.profile = new profile_1.ProfileNamespace(this.client);
|
|
35
|
+
}
|
|
36
|
+
async connect(networkId, options) {
|
|
37
|
+
return this.auth.connect(networkId, options);
|
|
38
|
+
}
|
|
39
|
+
async disconnect(networkId) {
|
|
40
|
+
return this.auth.disconnect(networkId);
|
|
41
|
+
}
|
|
42
|
+
async isAuthenticated(networkId) {
|
|
43
|
+
return this.auth.isAuthenticated(networkId);
|
|
44
|
+
}
|
|
45
|
+
setFormat(format) {
|
|
46
|
+
this.client.setFormat(format);
|
|
47
|
+
}
|
|
48
|
+
setAuthToken(token) {
|
|
49
|
+
this.client.setAuthToken(token);
|
|
50
|
+
}
|
|
51
|
+
clearAuthToken() {
|
|
52
|
+
this.client.clearAuthToken();
|
|
53
|
+
}
|
|
54
|
+
static clearAllCredentials() {
|
|
55
|
+
return storage_1.credentialStorage.clearAllCredentials();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.AgenticPool = AgenticPool;
|
|
59
|
+
exports.default = AgenticPool;
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBbUQ7QUFDbkQsaUNBQXVDO0FBQ3ZDLHlDQUErQztBQUMvQyxtREFBeUQ7QUFDekQseUNBQStDO0FBQy9DLHVDQUE2QztBQUM3Qyx1Q0FBOEM7QUFFOUMsMENBQXdCO0FBQ3hCLDRDQUEwQjtBQUkxQixNQUFhLFdBQVc7SUFTdEIsWUFBWSxVQUE4QixFQUFFO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxrQkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxvQkFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksNEJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQ0FBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDRCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksMEJBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQWlCLEVBQUUsT0FBaUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBaUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFpQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBdUI7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQjtRQUN4QixPQUFPLDJCQUFpQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBOUNELGtDQThDQztBQUVELGtCQUFlLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaUNsaWVudCwgQ2xpZW50Q29uZmlnIH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgQXV0aE5hbWVzcGFjZSB9IGZyb20gJy4vYXV0aCc7XG5pbXBvcnQgeyBOZXR3b3Jrc05hbWVzcGFjZSB9IGZyb20gJy4vbmV0d29ya3MnO1xuaW1wb3J0IHsgQ29udmVyc2F0aW9uc05hbWVzcGFjZSB9IGZyb20gJy4vY29udmVyc2F0aW9ucyc7XG5pbXBvcnQgeyBNZXNzYWdlc05hbWVzcGFjZSB9IGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgUHJvZmlsZU5hbWVzcGFjZSB9IGZyb20gJy4vcHJvZmlsZSc7XG5pbXBvcnQgeyBjcmVkZW50aWFsU3RvcmFnZSB9IGZyb20gJy4vc3RvcmFnZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlJztcblxuZXhwb3J0IGludGVyZmFjZSBBZ2VudGljUG9vbE9wdGlvbnMgZXh0ZW5kcyBDbGllbnRDb25maWcge31cblxuZXhwb3J0IGNsYXNzIEFnZW50aWNQb29sIHtcbiAgcHJpdmF0ZSBjbGllbnQ6IEFwaUNsaWVudDtcblxuICBwdWJsaWMgcmVhZG9ubHkgYXV0aDogQXV0aE5hbWVzcGFjZTtcbiAgcHVibGljIHJlYWRvbmx5IG5ldHdvcmtzOiBOZXR3b3Jrc05hbWVzcGFjZTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnZlcnNhdGlvbnM6IENvbnZlcnNhdGlvbnNOYW1lc3BhY2U7XG4gIHB1YmxpYyByZWFkb25seSBtZXNzYWdlczogTWVzc2FnZXNOYW1lc3BhY2U7XG4gIHB1YmxpYyByZWFkb25seSBwcm9maWxlOiBQcm9maWxlTmFtZXNwYWNlO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFnZW50aWNQb29sT3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5jbGllbnQgPSBuZXcgQXBpQ2xpZW50KG9wdGlvbnMpO1xuXG4gICAgdGhpcy5hdXRoID0gbmV3IEF1dGhOYW1lc3BhY2UodGhpcy5jbGllbnQpO1xuICAgIHRoaXMubmV0d29ya3MgPSBuZXcgTmV0d29ya3NOYW1lc3BhY2UodGhpcy5jbGllbnQpO1xuICAgIHRoaXMuY29udmVyc2F0aW9ucyA9IG5ldyBDb252ZXJzYXRpb25zTmFtZXNwYWNlKHRoaXMuY2xpZW50KTtcbiAgICB0aGlzLm1lc3NhZ2VzID0gbmV3IE1lc3NhZ2VzTmFtZXNwYWNlKHRoaXMuY2xpZW50KTtcbiAgICB0aGlzLnByb2ZpbGUgPSBuZXcgUHJvZmlsZU5hbWVzcGFjZSh0aGlzLmNsaWVudCk7XG4gIH1cblxuICBhc3luYyBjb25uZWN0KG5ldHdvcmtJZDogc3RyaW5nLCBvcHRpb25zPzogeyBwcml2YXRlS2V5Pzogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoLmNvbm5lY3QobmV0d29ya0lkLCBvcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIGRpc2Nvbm5lY3QobmV0d29ya0lkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoLmRpc2Nvbm5lY3QobmV0d29ya0lkKTtcbiAgfVxuXG4gIGFzeW5jIGlzQXV0aGVudGljYXRlZChuZXR3b3JrSWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKG5ldHdvcmtJZCk7XG4gIH1cblxuICBzZXRGb3JtYXQoZm9ybWF0OiAndG9vbicgfCAnanNvbicpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWVudC5zZXRGb3JtYXQoZm9ybWF0KTtcbiAgfVxuXG4gIHNldEF1dGhUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jbGllbnQuc2V0QXV0aFRva2VuKHRva2VuKTtcbiAgfVxuXG4gIGNsZWFyQXV0aFRva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuY2xpZW50LmNsZWFyQXV0aFRva2VuKCk7XG4gIH1cblxuICBzdGF0aWMgY2xlYXJBbGxDcmVkZW50aWFscygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gY3JlZGVudGlhbFN0b3JhZ2UuY2xlYXJBbGxDcmVkZW50aWFscygpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFnZW50aWNQb29sO1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiClient } from './client';
|
|
2
|
+
import { Message } from './types';
|
|
3
|
+
export interface SendMessageOptions {
|
|
4
|
+
content: string;
|
|
5
|
+
receiverId?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare class MessagesNamespace {
|
|
8
|
+
private client;
|
|
9
|
+
constructor(client: ApiClient);
|
|
10
|
+
list(conversationId: string, limit?: number): Promise<Message[]>;
|
|
11
|
+
send(conversationId: string, options: SendMessageOptions): Promise<Message>;
|
|
12
|
+
}
|
package/dist/messages.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessagesNamespace = void 0;
|
|
4
|
+
class MessagesNamespace {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
async list(conversationId, limit = 50) {
|
|
9
|
+
const response = await this.client.get(`/v1/conversations/${conversationId}/messages`, { limit });
|
|
10
|
+
if (response.success && response.data) {
|
|
11
|
+
return response.data;
|
|
12
|
+
}
|
|
13
|
+
throw new Error(response.error?.message || 'Failed to list messages');
|
|
14
|
+
}
|
|
15
|
+
async send(conversationId, options) {
|
|
16
|
+
const response = await this.client.post(`/v1/conversations/${conversationId}/messages`, {
|
|
17
|
+
content: options.content,
|
|
18
|
+
receiverId: options.receiverId || null
|
|
19
|
+
});
|
|
20
|
+
if (response.success && response.data) {
|
|
21
|
+
return response.data;
|
|
22
|
+
}
|
|
23
|
+
throw new Error(response.error?.message || 'Failed to send message');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.MessagesNamespace = MessagesNamespace;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsTUFBYSxpQkFBaUI7SUFHNUIsWUFBWSxNQUFpQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFzQixFQUFFLFFBQWdCLEVBQUU7UUFDbkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDcEMscUJBQXFCLGNBQWMsV0FBVyxFQUM5QyxFQUFFLEtBQUssRUFBRSxDQUNWLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQXNCLEVBQUUsT0FBMkI7UUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckMscUJBQXFCLGNBQWMsV0FBVyxFQUM5QztZQUNFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJO1NBQ3ZDLENBQ0YsQ0FBQztRQUVGLElBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLHdCQUF3QixDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGO0FBbkNELDhDQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaUNsaWVudCB9IGZyb20gJy4vY2xpZW50JztcbmltcG9ydCB7IE1lc3NhZ2UsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VPcHRpb25zIHtcbiAgY29udGVudDogc3RyaW5nO1xuICByZWNlaXZlcklkPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VzTmFtZXNwYWNlIHtcbiAgcHJpdmF0ZSBjbGllbnQ6IEFwaUNsaWVudDtcblxuICBjb25zdHJ1Y3RvcihjbGllbnQ6IEFwaUNsaWVudCkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xuICB9XG5cbiAgYXN5bmMgbGlzdChjb252ZXJzYXRpb25JZDogc3RyaW5nLCBsaW1pdDogbnVtYmVyID0gNTApOiBQcm9taXNlPE1lc3NhZ2VbXT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PE1lc3NhZ2VbXT4oXG4gICAgICBgL3YxL2NvbnZlcnNhdGlvbnMvJHtjb252ZXJzYXRpb25JZH0vbWVzc2FnZXNgLFxuICAgICAgeyBsaW1pdCB9XG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5zdWNjZXNzICYmIHJlc3BvbnNlLmRhdGEpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGxpc3QgbWVzc2FnZXMnKTtcbiAgfVxuXG4gIGFzeW5jIHNlbmQoY29udmVyc2F0aW9uSWQ6IHN0cmluZywgb3B0aW9uczogU2VuZE1lc3NhZ2VPcHRpb25zKTogUHJvbWlzZTxNZXNzYWdlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PE1lc3NhZ2U+KFxuICAgICAgYC92MS9jb252ZXJzYXRpb25zLyR7Y29udmVyc2F0aW9uSWR9L21lc3NhZ2VzYCxcbiAgICAgIHtcbiAgICAgICAgY29udGVudDogb3B0aW9ucy5jb250ZW50LFxuICAgICAgICByZWNlaXZlcklkOiBvcHRpb25zLnJlY2VpdmVySWQgfHwgbnVsbFxuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBzZW5kIG1lc3NhZ2UnKTtcbiAgfVxufVxuIl19
|