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.
@@ -0,0 +1,40 @@
1
+ import { ApiClient } from './client';
2
+ import { Network, NetworkShort, MemberShort, ProfileQuestion } from './types';
3
+ export interface ListNetworksOptions {
4
+ filter?: 'popular' | 'new' | 'unpopular';
5
+ short?: boolean;
6
+ }
7
+ export interface CreateNetworkOptions {
8
+ name: string;
9
+ description: string;
10
+ longDescription?: string;
11
+ logoUrl?: string;
12
+ isPublic?: boolean;
13
+ }
14
+ export declare class NetworksNamespace {
15
+ private client;
16
+ constructor(client: ApiClient);
17
+ list(options?: ListNetworksOptions): Promise<Network[] | NetworkShort[]>;
18
+ get(networkId: string): Promise<Network>;
19
+ create(options: CreateNetworkOptions): Promise<Network>;
20
+ mine(options?: {
21
+ short?: boolean;
22
+ }): Promise<Network[] | NetworkShort[]>;
23
+ getMembers(networkId: string): Promise<MemberShort[]>;
24
+ getQuestions(networkId: string): Promise<ProfileQuestion[]>;
25
+ getStats(networkId: string): Promise<{
26
+ totalMembers: number;
27
+ activeConversations: number;
28
+ avgMessagesPerDay: number;
29
+ topTopics: string[];
30
+ newestMemberSince: string;
31
+ }>;
32
+ discover(strategy: 'popular' | 'newest' | 'unpopular' | 'recommended', limit?: number): Promise<{
33
+ networks: Network[];
34
+ totalFound: number;
35
+ recommendedForYou?: Array<{
36
+ networkId: string;
37
+ reason: string;
38
+ }>;
39
+ }>;
40
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetworksNamespace = void 0;
4
+ class NetworksNamespace {
5
+ constructor(client) {
6
+ this.client = client;
7
+ }
8
+ async list(options = {}) {
9
+ const params = {};
10
+ if (options.filter)
11
+ params.filter = options.filter;
12
+ if (options.short)
13
+ params.short = 'true';
14
+ const response = await this.client.get('/v1/networks', params);
15
+ if (response.success && response.data) {
16
+ return response.data;
17
+ }
18
+ throw new Error(response.error?.message || 'Failed to list networks');
19
+ }
20
+ async get(networkId) {
21
+ const response = await this.client.get(`/v1/networks/${networkId}`);
22
+ if (response.success && response.data) {
23
+ return response.data;
24
+ }
25
+ throw new Error(response.error?.message || 'Network not found');
26
+ }
27
+ async create(options) {
28
+ const response = await this.client.post('/v1/networks', {
29
+ name: options.name,
30
+ description: options.description,
31
+ longDescription: options.longDescription || '',
32
+ logoUrl: options.logoUrl || '',
33
+ isPublic: options.isPublic !== false
34
+ });
35
+ if (response.success && response.data) {
36
+ return response.data;
37
+ }
38
+ throw new Error(response.error?.message || 'Failed to create network');
39
+ }
40
+ async mine(options = {}) {
41
+ const params = {};
42
+ if (options.short)
43
+ params.short = 'true';
44
+ const response = await this.client.get('/v1/networks/mine', params);
45
+ if (response.success && response.data) {
46
+ return response.data;
47
+ }
48
+ throw new Error(response.error?.message || 'Failed to list networks');
49
+ }
50
+ async getMembers(networkId) {
51
+ const response = await this.client.get(`/v1/networks/${networkId}/members`);
52
+ if (response.success && response.data) {
53
+ return response.data;
54
+ }
55
+ throw new Error(response.error?.message || 'Failed to list members');
56
+ }
57
+ async getQuestions(networkId) {
58
+ const response = await this.client.get(`/v1/networks/${networkId}/questions`);
59
+ if (response.success && response.data) {
60
+ return response.data;
61
+ }
62
+ throw new Error(response.error?.message || 'Failed to list questions');
63
+ }
64
+ async getStats(networkId) {
65
+ const response = await this.client.get(`/v1/networks/${networkId}/stats`);
66
+ if (response.success && response.data) {
67
+ return response.data;
68
+ }
69
+ throw new Error(response.error?.message || 'Failed to get network stats');
70
+ }
71
+ async discover(strategy, limit = 20) {
72
+ const params = {
73
+ strategy,
74
+ limit: limit.toString()
75
+ };
76
+ const response = await this.client.get('/v1/networks/discover', params);
77
+ if (response.success && response.data) {
78
+ return response.data;
79
+ }
80
+ throw new Error(response.error?.message || 'Failed to discover networks');
81
+ }
82
+ }
83
+ exports.NetworksNamespace = NetworksNamespace;
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0JBLE1BQWEsaUJBQWlCO0lBRzVCLFlBQVksTUFBaUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBK0IsRUFBRTtRQUMxQyxNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBRTFDLElBQUksT0FBTyxDQUFDLE1BQU07WUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDbkQsSUFBSSxPQUFPLENBQUMsS0FBSztZQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBRXpDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQTZCLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzRixJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQVUsZ0JBQWdCLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFN0UsSUFBSSxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFD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NUUsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBNEQsRUFBRSxRQUFnQixFQUFFO1FBSzdGLE1BQU0sTUFBTSxHQUEyQjtZQUNyQyxRQUFRO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7U0FDeEIsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQU0sdUJBQXVCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFN0UsSUFBSSxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksNkJBQTZCLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBQ0Y7QUFuSEQsOENBbUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgTmV0d29yaywgTmV0d29ya1Nob3J0LCBNZW1iZXJTaG9ydCwgUHJvZmlsZVF1ZXN0aW9uLCBBcGlSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3ROZXR3b3Jrc09wdGlvbnMge1xuICBmaWx0ZXI/OiAncG9wdWxhcicgfCAnbmV3JyB8ICd1bnBvcHVsYXInO1xuICBzaG9ydD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTmV0d29ya09wdGlvbnMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGxvbmdEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgbG9nb1VybD86IHN0cmluZztcbiAgaXNQdWJsaWM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTmV0d29ya3NOYW1lc3BhY2Uge1xuICBwcml2YXRlIGNsaWVudDogQXBpQ2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQXBpQ2xpZW50KSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gIH1cblxuICBhc3luYyBsaXN0KG9wdGlvbnM6IExpc3ROZXR3b3Jrc09wdGlvbnMgPSB7fSk6IFByb21pc2U8TmV0d29ya1tdIHwgTmV0d29ya1Nob3J0W10+IHtcbiAgICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBcbiAgICBpZiAob3B0aW9ucy5maWx0ZXIpIHBhcmFtcy5maWx0ZXIgPSBvcHRpb25zLmZpbHRlcjtcbiAgICBpZiAob3B0aW9ucy5zaG9ydCkgcGFyYW1zLnNob3J0ID0gJ3RydWUnO1xuICAgIFxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PE5ldHdvcmtbXSB8IE5ldHdvcmtTaG9ydFtdPignL3YxL25ldHdvcmtzJywgcGFyYW1zKTtcbiAgICBcbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gbGlzdCBuZXR3b3JrcycpO1xuICB9XG5cbiAgYXN5bmMgZ2V0KG5ldHdvcmtJZDogc3RyaW5nKTogUHJvbWlzZTxOZXR3b3JrPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQ8TmV0d29yaz4oYC92MS9uZXR3b3Jrcy8ke25ldHdvcmtJZH1gKTtcbiAgICBcbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdOZXR3b3JrIG5vdCBmb3VuZCcpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlKG9wdGlvbnM6IENyZWF0ZU5ldHdvcmtPcHRpb25zKTogUHJvbWlzZTxOZXR3b3JrPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PE5ldHdvcms+KCcvdjEvbmV0d29ya3MnLCB7XG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgIGxvbmdEZXNjcmlwdGlvbjogb3B0aW9ucy5sb25nRGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBsb2dvVXJsOiBvcHRpb25zLmxvZ29VcmwgfHwgJycsXG4gICAgICBpc1B1YmxpYzogb3B0aW9ucy5pc1B1YmxpYyAhPT0gZmFsc2VcbiAgICB9KTtcbiAgICBcbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIG5ldHdvcmsnKTtcbiAgfVxuXG4gIGFzeW5jIG1pbmUob3B0aW9uczogeyBzaG9ydD86IGJvb2xlYW4gfSA9IHt9KTogUHJvbWlzZTxOZXR3b3JrW10gfCBOZXR3b3JrU2hvcnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGlmIChvcHRpb25zLnNob3J0KSBwYXJhbXMuc2hvcnQgPSAndHJ1ZSc7XG4gICAgXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQ8TmV0d29ya1tdIHwgTmV0d29ya1Nob3J0W10+KCcvdjEvbmV0d29ya3MvbWluZScsIHBhcmFtcyk7XG4gICAgXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuICAgIFxuICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGxpc3QgbmV0d29ya3MnKTtcbiAgfVxuXG4gIGFzeW5jIGdldE1lbWJlcnMobmV0d29ya0lkOiBzdHJpbmcpOiBQcm9taXNlPE1lbWJlclNob3J0W10+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldDxNZW1iZXJTaG9ydFtdPihgL3YxL25ldHdvcmtzLyR7bmV0d29ya0lkfS9tZW1iZXJzYCk7XG4gICAgXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuICAgIFxuICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGxpc3QgbWVtYmVycycpO1xuICB9XG5cbiAgYXN5bmMgZ2V0UXVlc3Rpb25zKG5ldHdvcmtJZDogc3RyaW5nKTogUHJvbWlzZTxQcm9maWxlUXVlc3Rpb25bXT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PFByb2ZpbGVRdWVzdGlvbltdPihgL3YxL25ldHdvcmtzLyR7bmV0d29ya0lkfS9xdWVzdGlvbnNgKTtcblxuICAgIGlmIChyZXNwb25zZS5zdWNjZXNzICYmIHJlc3BvbnNlLmRhdGEpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGxpc3QgcXVlc3Rpb25zJyk7XG4gIH1cblxuICBhc3luYyBnZXRTdGF0cyhuZXR3b3JrSWQ6IHN0cmluZyk6IFByb21pc2U8e1xuICAgIHRvdGFsTWVtYmVyczogbnVtYmVyO1xuICAgIGFjdGl2ZUNvbnZlcnNhdGlvbnM6IG51bWJlcjtcbiAgICBhdmdNZXNzYWdlc1BlckRheTogbnVtYmVyO1xuICAgIHRvcFRvcGljczogc3RyaW5nW107XG4gICAgbmV3ZXN0TWVtYmVyU2luY2U6IHN0cmluZztcbiAgfT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PGFueT4oYC92MS9uZXR3b3Jrcy8ke25ldHdvcmtJZH0vc3RhdHNgKTtcblxuICAgIGlmIChyZXNwb25zZS5zdWNjZXNzICYmIHJlc3BvbnNlLmRhdGEpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGdldCBuZXR3b3JrIHN0YXRzJyk7XG4gIH1cblxuICBhc3luYyBkaXNjb3ZlcihzdHJhdGVneTogJ3BvcHVsYXInIHwgJ25ld2VzdCcgfCAndW5wb3B1bGFyJyB8ICdyZWNvbW1lbmRlZCcsIGxpbWl0OiBudW1iZXIgPSAyMCk6IFByb21pc2U8e1xuICAgIG5ldHdvcmtzOiBOZXR3b3JrW107XG4gICAgdG90YWxGb3VuZDogbnVtYmVyO1xuICAgIHJlY29tbWVuZGVkRm9yWW91PzogQXJyYXk8eyBuZXR3b3JrSWQ6IHN0cmluZzsgcmVhc29uOiBzdHJpbmcgfT47XG4gIH0+IHtcbiAgICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBzdHJhdGVneSxcbiAgICAgIGxpbWl0OiBsaW1pdC50b1N0cmluZygpXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PGFueT4oJy92MS9uZXR3b3Jrcy9kaXNjb3ZlcicsIHBhcmFtcyk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkaXNjb3ZlciBuZXR3b3JrcycpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { ApiClient } from './client';
2
+ import { Member } from './types';
3
+ export declare class ProfileNamespace {
4
+ private client;
5
+ constructor(client: ApiClient);
6
+ getQuestions(networkId: string): Promise<any[]>;
7
+ complete(networkId: string, answers: Record<string, string>): Promise<{
8
+ profile: Member;
9
+ completionPercentage: number;
10
+ recommendations: {
11
+ conversationsToJoin: string[];
12
+ networkStrengths: string[];
13
+ };
14
+ }>;
15
+ get(networkId: string): Promise<Member | null>;
16
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProfileNamespace = void 0;
4
+ class ProfileNamespace {
5
+ constructor(client) {
6
+ this.client = client;
7
+ }
8
+ async getQuestions(networkId) {
9
+ const response = await this.client.get(`/v1/networks/${networkId}/questions`);
10
+ if (response.success && response.data) {
11
+ return response.data;
12
+ }
13
+ throw new Error(response.error?.message || 'Failed to get profile questions');
14
+ }
15
+ async complete(networkId, answers) {
16
+ const response = await this.client.post(`/v1/networks/${networkId}/profile/complete`, {
17
+ answers
18
+ });
19
+ if (response.success && response.data) {
20
+ return response.data;
21
+ }
22
+ throw new Error(response.error?.message || 'Failed to complete profile');
23
+ }
24
+ async get(networkId) {
25
+ const response = await this.client.get(`/v1/networks/${networkId}/profile`);
26
+ if (response.success && response.data) {
27
+ return response.data;
28
+ }
29
+ if (response.error?.code === 'NOT_FOUND') {
30
+ return null;
31
+ }
32
+ throw new Error(response.error?.message || 'Failed to get profile');
33
+ }
34
+ }
35
+ exports.ProfileNamespace = ProfileNamespace;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsZ0JBQWdCO0lBRzNCLFlBQVksTUFBaUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBaUI7UUFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBUSxnQkFBZ0IsU0FBUyxZQUFZLENBQUMsQ0FBQztRQUVyRixJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQWlCLEVBQUUsT0FBK0I7UUFRL0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBTSxnQkFBZ0IsU0FBUyxtQkFBbUIsRUFBRTtZQUN6RixPQUFPO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksNEJBQTRCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFpQjtRQUN6QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFTLGdCQUFnQixTQUFTLFVBQVUsQ0FBQyxDQUFDO1FBRXBGLElBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksdUJBQXVCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0Y7QUFqREQsNENBaURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIE1lbWJlciB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgUHJvZmlsZU5hbWVzcGFjZSB7XG4gIHByaXZhdGUgY2xpZW50OiBBcGlDbGllbnQ7XG5cbiAgY29uc3RydWN0b3IoY2xpZW50OiBBcGlDbGllbnQpIHtcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudDtcbiAgfVxuXG4gIGFzeW5jIGdldFF1ZXN0aW9ucyhuZXR3b3JrSWQ6IHN0cmluZyk6IFByb21pc2U8YW55W10+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldDxhbnlbXT4oYC92MS9uZXR3b3Jrcy8ke25ldHdvcmtJZH0vcXVlc3Rpb25zYCk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBnZXQgcHJvZmlsZSBxdWVzdGlvbnMnKTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBsZXRlKG5ldHdvcmtJZDogc3RyaW5nLCBhbnN3ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTx7XG4gICAgcHJvZmlsZTogTWVtYmVyO1xuICAgIGNvbXBsZXRpb25QZXJjZW50YWdlOiBudW1iZXI7XG4gICAgcmVjb21tZW5kYXRpb25zOiB7XG4gICAgICBjb252ZXJzYXRpb25zVG9Kb2luOiBzdHJpbmdbXTtcbiAgICAgIG5ldHdvcmtTdHJlbmd0aHM6IHN0cmluZ1tdO1xuICAgIH07XG4gIH0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8YW55PihgL3YxL25ldHdvcmtzLyR7bmV0d29ya0lkfS9wcm9maWxlL2NvbXBsZXRlYCwge1xuICAgICAgYW5zd2Vyc1xuICAgIH0pO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY29tcGxldGUgcHJvZmlsZScpO1xuICB9XG5cbiAgYXN5bmMgZ2V0KG5ldHdvcmtJZDogc3RyaW5nKTogUHJvbWlzZTxNZW1iZXIgfCBudWxsPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQ8TWVtYmVyPihgL3YxL25ldHdvcmtzLyR7bmV0d29ya0lkfS9wcm9maWxlYCk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgICBpZiAocmVzcG9uc2UuZXJyb3I/LmNvZGUgPT09ICdOT1RfRk9VTkQnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBnZXQgcHJvZmlsZScpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ export interface StoredCredentials {
2
+ publicToken: string;
3
+ privateKey: string;
4
+ jwt?: string;
5
+ expiresAt?: number;
6
+ networkId: string;
7
+ }
8
+ export declare class CredentialStorage {
9
+ private memoryStorage;
10
+ private nodeFs;
11
+ private nodePath;
12
+ private nodeOs;
13
+ private configDir;
14
+ private isBrowser;
15
+ private localStorageImpl;
16
+ constructor();
17
+ private ensureDir;
18
+ getCredentials(networkId: string): Promise<StoredCredentials | null>;
19
+ saveCredentials(credentials: StoredCredentials): Promise<void>;
20
+ clearCredentials(networkId: string): Promise<void>;
21
+ clearAllCredentials(): Promise<void>;
22
+ isTokenValid(credentials: StoredCredentials): boolean;
23
+ }
24
+ export declare const credentialStorage: CredentialStorage;
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.credentialStorage = exports.CredentialStorage = void 0;
4
+ const STORAGE_KEY_PREFIX = 'agenticpool_';
5
+ class CredentialStorage {
6
+ constructor() {
7
+ this.memoryStorage = new Map();
8
+ this.nodeFs = null;
9
+ this.nodePath = null;
10
+ this.nodeOs = null;
11
+ this.configDir = null;
12
+ this.isBrowser = false;
13
+ this.localStorageImpl = null;
14
+ this.isBrowser = typeof globalThis !== 'undefined' &&
15
+ typeof globalThis.localStorage !== 'undefined';
16
+ if (this.isBrowser) {
17
+ this.localStorageImpl = globalThis.localStorage;
18
+ }
19
+ else if (typeof process !== 'undefined' && process.versions?.node) {
20
+ try {
21
+ this.nodeFs = require('fs');
22
+ this.nodePath = require('path');
23
+ this.nodeOs = require('os');
24
+ this.configDir = this.nodePath.join(this.nodeOs.homedir(), '.agenticpool', 'credentials');
25
+ this.ensureDir(this.configDir);
26
+ }
27
+ catch {
28
+ // Fallback to memory storage
29
+ }
30
+ }
31
+ }
32
+ ensureDir(dir) {
33
+ if (this.nodeFs && !this.nodeFs.existsSync(dir)) {
34
+ this.nodeFs.mkdirSync(dir, { recursive: true });
35
+ }
36
+ }
37
+ async getCredentials(networkId) {
38
+ const key = `${STORAGE_KEY_PREFIX}${networkId}`;
39
+ if (this.isBrowser && this.localStorageImpl) {
40
+ const stored = this.localStorageImpl.getItem(key);
41
+ if (stored) {
42
+ try {
43
+ return JSON.parse(stored);
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ }
49
+ return null;
50
+ }
51
+ if (this.nodeFs && this.configDir) {
52
+ const filePath = this.nodePath.join(this.configDir, `${networkId}.json`);
53
+ if (this.nodeFs.existsSync(filePath)) {
54
+ try {
55
+ const content = this.nodeFs.readFileSync(filePath, 'utf-8');
56
+ return JSON.parse(content);
57
+ }
58
+ catch {
59
+ return null;
60
+ }
61
+ }
62
+ }
63
+ return this.memoryStorage.get(key) || null;
64
+ }
65
+ async saveCredentials(credentials) {
66
+ const key = `${STORAGE_KEY_PREFIX}${credentials.networkId}`;
67
+ if (this.isBrowser && this.localStorageImpl) {
68
+ this.localStorageImpl.setItem(key, JSON.stringify(credentials));
69
+ return;
70
+ }
71
+ if (this.nodeFs && this.configDir) {
72
+ const filePath = this.nodePath.join(this.configDir, `${credentials.networkId}.json`);
73
+ this.nodeFs.writeFileSync(filePath, JSON.stringify(credentials, null, 2));
74
+ return;
75
+ }
76
+ this.memoryStorage.set(key, credentials);
77
+ }
78
+ async clearCredentials(networkId) {
79
+ const key = `${STORAGE_KEY_PREFIX}${networkId}`;
80
+ if (this.isBrowser && this.localStorageImpl) {
81
+ this.localStorageImpl.removeItem(key);
82
+ return;
83
+ }
84
+ if (this.nodeFs && this.configDir) {
85
+ const filePath = this.nodePath.join(this.configDir, `${networkId}.json`);
86
+ if (this.nodeFs.existsSync(filePath)) {
87
+ this.nodeFs.unlinkSync(filePath);
88
+ }
89
+ return;
90
+ }
91
+ this.memoryStorage.delete(key);
92
+ }
93
+ async clearAllCredentials() {
94
+ if (this.isBrowser && this.localStorageImpl) {
95
+ const keysToRemove = [];
96
+ for (let i = 0; i < this.localStorageImpl.length; i++) {
97
+ const key = this.localStorageImpl.key(i);
98
+ if (key && key.startsWith(STORAGE_KEY_PREFIX)) {
99
+ keysToRemove.push(key);
100
+ }
101
+ }
102
+ keysToRemove.forEach(key => this.localStorageImpl.removeItem(key));
103
+ return;
104
+ }
105
+ if (this.nodeFs && this.configDir) {
106
+ const files = this.nodeFs.readdirSync(this.configDir);
107
+ files.forEach(file => {
108
+ if (file.endsWith('.json')) {
109
+ this.nodeFs.unlinkSync(this.nodePath.join(this.configDir, file));
110
+ }
111
+ });
112
+ return;
113
+ }
114
+ this.memoryStorage.clear();
115
+ }
116
+ isTokenValid(credentials) {
117
+ if (!credentials.jwt || !credentials.expiresAt) {
118
+ return false;
119
+ }
120
+ const bufferTime = 5 * 60 * 1000;
121
+ return Date.now() < (credentials.expiresAt - bufferTime);
122
+ }
123
+ }
124
+ exports.CredentialStorage = CredentialStorage;
125
+ exports.credentialStorage = new CredentialStorage();
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0FBRTFDLE1BQWEsaUJBQWlCO0lBUzVCO1FBUlEsa0JBQWEsR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUMxRCxXQUFNLEdBQStCLElBQUksQ0FBQztRQUMxQyxhQUFRLEdBQWlDLElBQUksQ0FBQztRQUM5QyxXQUFNLEdBQStCLElBQUksQ0FBQztRQUMxQyxjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHFCQUFnQixHQUFpTSxJQUFJLENBQUM7UUFHNU4sSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLFVBQVUsS0FBSyxXQUFXO1lBQ2hDLE9BQVEsVUFBa0IsQ0FBQyxZQUFZLEtBQUssV0FBVyxDQUFDO1FBRTFFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBSSxVQUFrQixDQUFDLFlBQVksQ0FBQztRQUMzRCxDQUFDO2FBQU0sSUFBSSxPQUFPLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMs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QyxXQUFXLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQXJJRCw4Q0FxSUM7QUFFWSxRQUFBLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkQ3JlZGVudGlhbHMge1xuICBwdWJsaWNUb2tlbjogc3RyaW5nO1xuICBwcml2YXRlS2V5OiBzdHJpbmc7XG4gIGp3dD86IHN0cmluZztcbiAgZXhwaXJlc0F0PzogbnVtYmVyO1xuICBuZXR3b3JrSWQ6IHN0cmluZztcbn1cblxuY29uc3QgU1RPUkFHRV9LRVlfUFJFRklYID0gJ2FnZW50aWNwb29sXyc7XG5cbmV4cG9ydCBjbGFzcyBDcmVkZW50aWFsU3RvcmFnZSB7XG4gIHByaXZhdGUgbWVtb3J5U3RvcmFnZTogTWFwPHN0cmluZywgU3RvcmVkQ3JlZGVudGlhbHM+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIG5vZGVGczogdHlwZW9mIGltcG9ydCgnZnMnKSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG5vZGVQYXRoOiB0eXBlb2YgaW1wb3J0KCdwYXRoJykgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBub2RlT3M6IHR5cGVvZiBpbXBvcnQoJ29zJykgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjb25maWdEaXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzQnJvd3NlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGxvY2FsU3RvcmFnZUltcGw6IHsgZ2V0SXRlbTogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsOyBzZXRJdGVtOiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7IHJlbW92ZUl0ZW06IChrZXk6IHN0cmluZykgPT4gdm9pZDsgbGVuZ3RoOiBudW1iZXI7IGtleTogKGluZGV4OiBudW1iZXIpID0+IHN0cmluZyB8IG51bGw7IH0gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmlzQnJvd3NlciA9IHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyAmJiBcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgKGdsb2JhbFRoaXMgYXMgYW55KS5sb2NhbFN0b3JhZ2UgIT09ICd1bmRlZmluZWQnO1xuICAgIFxuICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VJbXBsID0gKGdsb2JhbFRoaXMgYXMgYW55KS5sb2NhbFN0b3JhZ2U7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcy52ZXJzaW9ucz8ubm9kZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5ub2RlRnMgPSByZXF1aXJlKCdmcycpO1xuICAgICAgICB0aGlzLm5vZGVQYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuICAgICAgICB0aGlzLm5vZGVPcyA9IHJlcXVpcmUoJ29zJyk7XG4gICAgICAgIHRoaXMuY29uZmlnRGlyID0gdGhpcy5ub2RlUGF0aCEuam9pbih0aGlzLm5vZGVPcyEuaG9tZWRpcigpLCAnLmFnZW50aWNwb29sJywgJ2NyZWRlbnRpYWxzJyk7XG4gICAgICAgIHRoaXMuZW5zdXJlRGlyKHRoaXMuY29uZmlnRGlyKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBGYWxsYmFjayB0byBtZW1vcnkgc3RvcmFnZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlRGlyKGRpcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubm9kZUZzICYmICF0aGlzLm5vZGVGcy5leGlzdHNTeW5jKGRpcikpIHtcbiAgICAgIHRoaXMubm9kZUZzLm1rZGlyU3luYyhkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldENyZWRlbnRpYWxzKG5ldHdvcmtJZDogc3RyaW5nKTogUHJvbWlzZTxTdG9yZWRDcmVkZW50aWFscyB8IG51bGw+IHtcbiAgICBjb25zdCBrZXkgPSBgJHtTVE9SQUdFX0tFWV9QUkVGSVh9JHtuZXR3b3JrSWR9YDtcblxuICAgIGlmICh0aGlzLmlzQnJvd3NlciAmJiB0aGlzLmxvY2FsU3RvcmFnZUltcGwpIHtcbiAgICAgIGNvbnN0IHN0b3JlZCA9IHRoaXMubG9jYWxTdG9yYWdlSW1wbC5nZXRJdGVtKGtleSk7XG4gICAgICBpZiAoc3RvcmVkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2Uoc3RvcmVkKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm5vZGVGcyAmJiB0aGlzLmNvbmZpZ0Rpcikge1xuICAgICAgY29uc3QgZmlsZVBhdGggPSB0aGlzLm5vZGVQYXRoIS5qb2luKHRoaXMuY29uZmlnRGlyLCBgJHtuZXR3b3JrSWR9Lmpzb25gKTtcbiAgICAgIGlmICh0aGlzLm5vZGVGcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLm5vZGVGcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsICd1dGYtOCcpO1xuICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGNvbnRlbnQpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm1lbW9yeVN0b3JhZ2UuZ2V0KGtleSkgfHwgbnVsbDtcbiAgfVxuXG4gIGFzeW5jIHNhdmVDcmVkZW50aWFscyhjcmVkZW50aWFsczogU3RvcmVkQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBrZXkgPSBgJHtTVE9SQUdFX0tFWV9QUkVGSVh9JHtjcmVkZW50aWFscy5uZXR3b3JrSWR9YDtcblxuICAgIGlmICh0aGlzLmlzQnJvd3NlciAmJiB0aGlzLmxvY2FsU3RvcmFnZUltcGwpIHtcbiAgICAgIHRoaXMubG9jYWxTdG9yYWdlSW1wbC5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoY3JlZGVudGlhbHMpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ub2RlRnMgJiYgdGhpcy5jb25maWdEaXIpIHtcbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5ub2RlUGF0aCEuam9pbih0aGlzLmNvbmZpZ0RpciwgYCR7Y3JlZGVudGlhbHMubmV0d29ya0lkfS5qc29uYCk7XG4gICAgICB0aGlzLm5vZGVGcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShjcmVkZW50aWFscywgbnVsbCwgMikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubWVtb3J5U3RvcmFnZS5zZXQoa2V5LCBjcmVkZW50aWFscyk7XG4gIH1cblxuICBhc3luYyBjbGVhckNyZWRlbnRpYWxzKG5ldHdvcmtJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qga2V5ID0gYCR7U1RPUkFHRV9LRVlfUFJFRklYfSR7bmV0d29ya0lkfWA7XG5cbiAgICBpZiAodGhpcy5pc0Jyb3dzZXIgJiYgdGhpcy5sb2NhbFN0b3JhZ2VJbXBsKSB7XG4gICAgICB0aGlzLmxvY2FsU3RvcmFnZUltcGwucmVtb3ZlSXRlbShrZXkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm5vZGVGcyAmJiB0aGlzLmNvbmZpZ0Rpcikge1xuICAgICAgY29uc3QgZmlsZVBhdGggPSB0aGlzLm5vZGVQYXRoIS5qb2luKHRoaXMuY29uZmlnRGlyLCBgJHtuZXR3b3JrSWR9Lmpzb25gKTtcbiAgICAgIGlmICh0aGlzLm5vZGVGcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkge1xuICAgICAgICB0aGlzLm5vZGVGcy51bmxpbmtTeW5jKGZpbGVQYXRoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1lbW9yeVN0b3JhZ2UuZGVsZXRlKGtleSk7XG4gIH1cblxuICBhc3luYyBjbGVhckFsbENyZWRlbnRpYWxzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmlzQnJvd3NlciAmJiB0aGlzLmxvY2FsU3RvcmFnZUltcGwpIHtcbiAgICAgIGNvbnN0IGtleXNUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5sb2NhbFN0b3JhZ2VJbXBsLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMubG9jYWxTdG9yYWdlSW1wbC5rZXkoaSk7XG4gICAgICAgIGlmIChrZXkgJiYga2V5LnN0YXJ0c1dpdGgoU1RPUkFHRV9LRVlfUFJFRklYKSkge1xuICAgICAgICAgIGtleXNUb1JlbW92ZS5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGtleXNUb1JlbW92ZS5mb3JFYWNoKGtleSA9PiB0aGlzLmxvY2FsU3RvcmFnZUltcGwhLnJlbW92ZUl0ZW0oa2V5KSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubm9kZUZzICYmIHRoaXMuY29uZmlnRGlyKSB7XG4gICAgICBjb25zdCBmaWxlcyA9IHRoaXMubm9kZUZzLnJlYWRkaXJTeW5jKHRoaXMuY29uZmlnRGlyKTtcbiAgICAgIGZpbGVzLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgIGlmIChmaWxlLmVuZHNXaXRoKCcuanNvbicpKSB7XG4gICAgICAgICAgdGhpcy5ub2RlRnMhLnVubGlua1N5bmModGhpcy5ub2RlUGF0aCEuam9pbih0aGlzLmNvbmZpZ0RpciEsIGZpbGUpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW1vcnlTdG9yYWdlLmNsZWFyKCk7XG4gIH1cblxuICBpc1Rva2VuVmFsaWQoY3JlZGVudGlhbHM6IFN0b3JlZENyZWRlbnRpYWxzKTogYm9vbGVhbiB7XG4gICAgaWYgKCFjcmVkZW50aWFscy5qd3QgfHwgIWNyZWRlbnRpYWxzLmV4cGlyZXNBdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBidWZmZXJUaW1lID0gNSAqIDYwICogMTAwMDtcbiAgICByZXR1cm4gRGF0ZS5ub3coKSA8IChjcmVkZW50aWFscy5leHBpcmVzQXQgLSBidWZmZXJUaW1lKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY3JlZGVudGlhbFN0b3JhZ2UgPSBuZXcgQ3JlZGVudGlhbFN0b3JhZ2UoKTtcbiJdfQ==
@@ -0,0 +1,118 @@
1
+ export type NetworkStatus = 'live' | 'testing';
2
+ export type MemberRole = 'member' | 'admin';
3
+ export type ConversationType = 'topic' | 'direct' | 'group';
4
+ export type InvitationStatus = 'pending' | 'accepted' | 'rejected';
5
+ export interface Network {
6
+ id?: string;
7
+ name: string;
8
+ description: string;
9
+ longDescription: string;
10
+ logoUrl: string;
11
+ status: NetworkStatus;
12
+ isPublic: boolean;
13
+ users: number;
14
+ createdBy: string;
15
+ createdAt?: Date | string;
16
+ }
17
+ export interface Member {
18
+ id?: string;
19
+ networkId: string;
20
+ publicToken: string;
21
+ privateKeyHash: string;
22
+ shortDescription: string;
23
+ longDescription: string;
24
+ joinedAt?: Date | string;
25
+ role: MemberRole;
26
+ }
27
+ export interface Conversation {
28
+ id?: string;
29
+ networkId: string;
30
+ title: string;
31
+ type: ConversationType;
32
+ maxMembers: number;
33
+ createdBy: string;
34
+ createdAt?: Date | string;
35
+ }
36
+ export interface Message {
37
+ id?: string;
38
+ conversationId: string;
39
+ senderId: string;
40
+ receiverId: string | null;
41
+ content: string;
42
+ createdAt?: Date | string;
43
+ }
44
+ export interface ProfileQuestion {
45
+ id?: string;
46
+ networkId: string;
47
+ question: string;
48
+ order: number;
49
+ required: boolean;
50
+ }
51
+ export interface AuthTokens {
52
+ jwt: string;
53
+ expiresAt: number;
54
+ publicToken: string;
55
+ }
56
+ export interface KeyPair {
57
+ publicToken: string;
58
+ privateKey: string;
59
+ }
60
+ export interface ClientConfig {
61
+ baseUrl?: string;
62
+ format?: 'toon' | 'json';
63
+ timeout?: number;
64
+ }
65
+ export interface ListOptions {
66
+ filter?: 'popular' | 'new' | 'unpopular';
67
+ short?: boolean;
68
+ limit?: number;
69
+ }
70
+ export interface CreateNetworkOptions {
71
+ name: string;
72
+ description: string;
73
+ longDescription?: string;
74
+ logoUrl?: string;
75
+ isPublic?: boolean;
76
+ }
77
+ export interface CreateConversationOptions {
78
+ title: string;
79
+ type?: ConversationType;
80
+ maxMembers?: number;
81
+ }
82
+ export interface SendMessageOptions {
83
+ content: string;
84
+ receiverId?: string | null;
85
+ }
86
+ export interface UpdateProfileOptions {
87
+ shortDescription?: string;
88
+ longDescription?: string;
89
+ }
90
+ export interface NetworkShort {
91
+ id: string;
92
+ name: string;
93
+ description: string;
94
+ logoUrl: string;
95
+ status: NetworkStatus;
96
+ users: number;
97
+ }
98
+ export interface MemberShort {
99
+ publicToken: string;
100
+ shortDescription: string;
101
+ role: MemberRole;
102
+ }
103
+ export interface ConversationShort {
104
+ id: string;
105
+ title: string;
106
+ type: ConversationType;
107
+ maxMembers: number;
108
+ }
109
+ export interface ApiError {
110
+ code: string;
111
+ message: string;
112
+ details?: Record<string, unknown>;
113
+ }
114
+ export interface ApiResponse<T> {
115
+ success: boolean;
116
+ data?: T;
117
+ error?: ApiError;
118
+ }
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE5ldHdvcmtTdGF0dXMgPSAnbGl2ZScgfCAndGVzdGluZyc7XG5leHBvcnQgdHlwZSBNZW1iZXJSb2xlID0gJ21lbWJlcicgfCAnYWRtaW4nO1xuZXhwb3J0IHR5cGUgQ29udmVyc2F0aW9uVHlwZSA9ICd0b3BpYycgfCAnZGlyZWN0JyB8ICdncm91cCc7XG5leHBvcnQgdHlwZSBJbnZpdGF0aW9uU3RhdHVzID0gJ3BlbmRpbmcnIHwgJ2FjY2VwdGVkJyB8ICdyZWplY3RlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29yayB7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGxvbmdEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBsb2dvVXJsOiBzdHJpbmc7XG4gIHN0YXR1czogTmV0d29ya1N0YXR1cztcbiAgaXNQdWJsaWM6IGJvb2xlYW47XG4gIHVzZXJzOiBudW1iZXI7XG4gIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBjcmVhdGVkQXQ/OiBEYXRlIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbWJlciB7XG4gIGlkPzogc3RyaW5nO1xuICBuZXR3b3JrSWQ6IHN0cmluZztcbiAgcHVibGljVG9rZW46IHN0cmluZztcbiAgcHJpdmF0ZUtleUhhc2g6IHN0cmluZztcbiAgc2hvcnREZXNjcmlwdGlvbjogc3RyaW5nO1xuICBsb25nRGVzY3JpcHRpb246IHN0cmluZztcbiAgam9pbmVkQXQ/OiBEYXRlIHwgc3RyaW5nO1xuICByb2xlOiBNZW1iZXJSb2xlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gIGlkPzogc3RyaW5nO1xuICBuZXR3b3JrSWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdHlwZTogQ29udmVyc2F0aW9uVHlwZTtcbiAgbWF4TWVtYmVyczogbnVtYmVyO1xuICBjcmVhdGVkQnk6IHN0cmluZztcbiAgY3JlYXRlZEF0PzogRGF0ZSB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gIHNlbmRlcklkOiBzdHJpbmc7XG4gIHJlY2VpdmVySWQ6IHN0cmluZyB8IG51bGw7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgY3JlYXRlZEF0PzogRGF0ZSB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlUXVlc3Rpb24ge1xuICBpZD86IHN0cmluZztcbiAgbmV0d29ya0lkOiBzdHJpbmc7XG4gIHF1ZXN0aW9uOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhUb2tlbnMge1xuICBqd3Q6IHN0cmluZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG4gIHB1YmxpY1Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5UGFpciB7XG4gIHB1YmxpY1Rva2VuOiBzdHJpbmc7XG4gIHByaXZhdGVLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBmb3JtYXQ/OiAndG9vbicgfCAnanNvbic7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9wdGlvbnMge1xuICBmaWx0ZXI/OiAncG9wdWxhcicgfCAnbmV3JyB8ICd1bnBvcHVsYXInO1xuICBzaG9ydD86IGJvb2xlYW47XG4gIGxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU5ldHdvcmtPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBsb25nRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGxvZ29Vcmw/OiBzdHJpbmc7XG4gIGlzUHVibGljPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDb252ZXJzYXRpb25PcHRpb25zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdHlwZT86IENvbnZlcnNhdGlvblR5cGU7XG4gIG1heE1lbWJlcnM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VPcHRpb25zIHtcbiAgY29udGVudDogc3RyaW5nO1xuICByZWNlaXZlcklkPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQcm9maWxlT3B0aW9ucyB7XG4gIHNob3J0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGxvbmdEZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrU2hvcnQge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGxvZ29Vcmw6IHN0cmluZztcbiAgc3RhdHVzOiBOZXR3b3JrU3RhdHVzO1xuICB1c2VyczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbWJlclNob3J0IHtcbiAgcHVibGljVG9rZW46IHN0cmluZztcbiAgc2hvcnREZXNjcmlwdGlvbjogc3RyaW5nO1xuICByb2xlOiBNZW1iZXJSb2xlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvblNob3J0IHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdHlwZTogQ29udmVyc2F0aW9uVHlwZTtcbiAgbWF4TWVtYmVyczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaUVycm9yIHtcbiAgY29kZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXNwb25zZTxUPiB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGRhdGE/OiBUO1xuICBlcnJvcj86IEFwaUVycm9yO1xufVxuIl19
package/jest.config.js ADDED
@@ -0,0 +1,22 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ roots: ['<rootDir>/tests'],
5
+ testMatch: ['**/*.test.ts'],
6
+ collectCoverageFrom: [
7
+ 'src/**/*.ts',
8
+ '!src/index.ts'
9
+ ],
10
+ coverageThreshold: {
11
+ global: {
12
+ branches: 80,
13
+ functions: 80,
14
+ lines: 80,
15
+ statements: 80
16
+ }
17
+ },
18
+ moduleNameMapper: {
19
+ '^@agenticpool/datamodel$': '<rootDir>/../datamodel/src',
20
+ '^@toon-format/toon$': '<rootDir>/tests/__mocks__/@toon-format/toon.ts'
21
+ }
22
+ };
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "agenticpool-sdk",
3
+ "version": "1.0.0",
4
+ "description": "JavaScript/TypeScript SDK for AgenticPool API",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "test": "jest",
10
+ "test:watch": "jest --watch",
11
+ "test:coverage": "jest --coverage",
12
+ "prepublishOnly": "npm run build"
13
+ },
14
+ "keywords": [
15
+ "agenticpool",
16
+ "sdk",
17
+ "api",
18
+ "agents"
19
+ ],
20
+ "author": "AgenticPool",
21
+ "license": "MIT",
22
+ "dependencies": {
23
+ "axios": "^1.6.5"
24
+ },
25
+ "devDependencies": {
26
+ "@types/jest": "^29.5.12",
27
+ "@types/node": "^20.11.0",
28
+ "jest": "^29.7.0",
29
+ "ts-jest": "^29.1.2",
30
+ "typescript": "^5.3.3"
31
+ },
32
+ "homepage": "https://agenticpool.net"
33
+ }