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
|
@@ -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
|
+
}
|
package/dist/networks.js
ADDED
|
@@ -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
|
+
}
|
package/dist/profile.js
ADDED
|
@@ -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;
|
package/dist/storage.js
ADDED
|
@@ -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==
|
package/dist/types.d.ts
ADDED
|
@@ -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
|
+
}
|