@hasna/connectors 0.5.0 → 0.5.2
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/bin/index.js +147 -6
- package/bin/mcp.js +92 -1
- package/bin/serve.js +91 -0
- package/connectors/connect-ably/.env.example +11 -0
- package/connectors/connect-ably/CLAUDE.md +111 -0
- package/connectors/connect-ably/README.md +193 -0
- package/connectors/connect-ably/package.json +54 -0
- package/connectors/connect-ably/scripts/release.ts +179 -0
- package/connectors/connect-ably/src/api/channels.ts +33 -0
- package/connectors/connect-ably/src/api/client.ts +203 -0
- package/connectors/connect-ably/src/api/index.ts +59 -0
- package/connectors/connect-ably/src/api/messages.ts +48 -0
- package/connectors/connect-ably/src/api/presence.ts +39 -0
- package/connectors/connect-ably/src/api/stats.ts +29 -0
- package/connectors/connect-ably/src/cli/index.ts +397 -0
- package/connectors/connect-ably/src/index.ts +102 -0
- package/connectors/connect-ably/src/types/index.ts +294 -0
- package/connectors/connect-ably/src/utils/auth.ts +274 -0
- package/connectors/connect-ably/src/utils/bulk.ts +212 -0
- package/connectors/connect-ably/src/utils/config.ts +323 -0
- package/connectors/connect-ably/src/utils/output.ts +175 -0
- package/connectors/connect-ably/src/utils/settings.ts +114 -0
- package/connectors/connect-ably/src/utils/storage.ts +198 -0
- package/connectors/connect-ably/tsconfig.json +16 -0
- package/connectors/connect-box/.env.example +11 -0
- package/connectors/connect-box/CLAUDE.md +272 -0
- package/connectors/connect-box/README.md +193 -0
- package/connectors/connect-box/package.json +51 -0
- package/connectors/connect-box/scripts/release.ts +179 -0
- package/connectors/connect-box/src/api/client.ts +213 -0
- package/connectors/connect-box/src/api/example.ts +48 -0
- package/connectors/connect-box/src/api/index.ts +51 -0
- package/connectors/connect-box/src/cli/index.ts +254 -0
- package/connectors/connect-box/src/index.ts +103 -0
- package/connectors/connect-box/src/types/index.ts +237 -0
- package/connectors/connect-box/src/utils/auth.ts +274 -0
- package/connectors/connect-box/src/utils/bulk.ts +212 -0
- package/connectors/connect-box/src/utils/config.ts +326 -0
- package/connectors/connect-box/src/utils/output.ts +175 -0
- package/connectors/connect-box/src/utils/settings.ts +114 -0
- package/connectors/connect-box/src/utils/storage.ts +198 -0
- package/connectors/connect-box/tsconfig.json +16 -0
- package/connectors/connect-clearbit/.env.example +11 -0
- package/connectors/connect-clearbit/CLAUDE.md +272 -0
- package/connectors/connect-clearbit/README.md +193 -0
- package/connectors/connect-clearbit/package.json +51 -0
- package/connectors/connect-clearbit/scripts/release.ts +179 -0
- package/connectors/connect-clearbit/src/api/client.ts +213 -0
- package/connectors/connect-clearbit/src/api/example.ts +48 -0
- package/connectors/connect-clearbit/src/api/index.ts +51 -0
- package/connectors/connect-clearbit/src/cli/index.ts +254 -0
- package/connectors/connect-clearbit/src/index.ts +103 -0
- package/connectors/connect-clearbit/src/types/index.ts +237 -0
- package/connectors/connect-clearbit/src/utils/auth.ts +274 -0
- package/connectors/connect-clearbit/src/utils/bulk.ts +212 -0
- package/connectors/connect-clearbit/src/utils/config.ts +326 -0
- package/connectors/connect-clearbit/src/utils/output.ts +175 -0
- package/connectors/connect-clearbit/src/utils/settings.ts +114 -0
- package/connectors/connect-clearbit/src/utils/storage.ts +198 -0
- package/connectors/connect-clearbit/tsconfig.json +16 -0
- package/connectors/connect-coda/.env.example +11 -0
- package/connectors/connect-coda/CLAUDE.md +272 -0
- package/connectors/connect-coda/README.md +193 -0
- package/connectors/connect-coda/package.json +51 -0
- package/connectors/connect-coda/scripts/release.ts +179 -0
- package/connectors/connect-coda/src/api/client.ts +213 -0
- package/connectors/connect-coda/src/api/example.ts +48 -0
- package/connectors/connect-coda/src/api/index.ts +51 -0
- package/connectors/connect-coda/src/cli/index.ts +254 -0
- package/connectors/connect-coda/src/index.ts +103 -0
- package/connectors/connect-coda/src/types/index.ts +237 -0
- package/connectors/connect-coda/src/utils/auth.ts +274 -0
- package/connectors/connect-coda/src/utils/bulk.ts +212 -0
- package/connectors/connect-coda/src/utils/config.ts +326 -0
- package/connectors/connect-coda/src/utils/output.ts +175 -0
- package/connectors/connect-coda/src/utils/settings.ts +114 -0
- package/connectors/connect-coda/src/utils/storage.ts +198 -0
- package/connectors/connect-coda/tsconfig.json +16 -0
- package/connectors/connect-dropbox/.env.example +11 -0
- package/connectors/connect-dropbox/CLAUDE.md +119 -0
- package/connectors/connect-dropbox/README.md +193 -0
- package/connectors/connect-dropbox/package.json +51 -0
- package/connectors/connect-dropbox/src/api/client.ts +222 -0
- package/connectors/connect-dropbox/src/api/index.ts +395 -0
- package/connectors/connect-dropbox/src/cli/index.ts +627 -0
- package/connectors/connect-dropbox/src/index.ts +20 -0
- package/connectors/connect-dropbox/src/types/index.ts +516 -0
- package/connectors/connect-dropbox/src/utils/config.ts +197 -0
- package/connectors/connect-dropbox/tsconfig.json +16 -0
- package/connectors/connect-linode/.env.example +11 -0
- package/connectors/connect-linode/CLAUDE.md +272 -0
- package/connectors/connect-linode/README.md +193 -0
- package/connectors/connect-linode/package.json +51 -0
- package/connectors/connect-linode/scripts/release.ts +179 -0
- package/connectors/connect-linode/src/api/client.ts +213 -0
- package/connectors/connect-linode/src/api/example.ts +48 -0
- package/connectors/connect-linode/src/api/index.ts +51 -0
- package/connectors/connect-linode/src/cli/index.ts +254 -0
- package/connectors/connect-linode/src/index.ts +103 -0
- package/connectors/connect-linode/src/types/index.ts +237 -0
- package/connectors/connect-linode/src/utils/auth.ts +274 -0
- package/connectors/connect-linode/src/utils/bulk.ts +212 -0
- package/connectors/connect-linode/src/utils/config.ts +326 -0
- package/connectors/connect-linode/src/utils/output.ts +175 -0
- package/connectors/connect-linode/src/utils/settings.ts +114 -0
- package/connectors/connect-linode/src/utils/storage.ts +198 -0
- package/connectors/connect-linode/tsconfig.json +16 -0
- package/connectors/connect-mailgun/.env.example +11 -0
- package/connectors/connect-mailgun/CLAUDE.md +272 -0
- package/connectors/connect-mailgun/README.md +193 -0
- package/connectors/connect-mailgun/package.json +51 -0
- package/connectors/connect-mailgun/scripts/release.ts +179 -0
- package/connectors/connect-mailgun/src/api/client.ts +213 -0
- package/connectors/connect-mailgun/src/api/example.ts +48 -0
- package/connectors/connect-mailgun/src/api/index.ts +51 -0
- package/connectors/connect-mailgun/src/cli/index.ts +254 -0
- package/connectors/connect-mailgun/src/index.ts +103 -0
- package/connectors/connect-mailgun/src/types/index.ts +237 -0
- package/connectors/connect-mailgun/src/utils/auth.ts +274 -0
- package/connectors/connect-mailgun/src/utils/bulk.ts +212 -0
- package/connectors/connect-mailgun/src/utils/config.ts +326 -0
- package/connectors/connect-mailgun/src/utils/output.ts +175 -0
- package/connectors/connect-mailgun/src/utils/settings.ts +114 -0
- package/connectors/connect-mailgun/src/utils/storage.ts +198 -0
- package/connectors/connect-mailgun/tsconfig.json +16 -0
- package/connectors/connect-messagebird/.env.example +11 -0
- package/connectors/connect-messagebird/CLAUDE.md +272 -0
- package/connectors/connect-messagebird/README.md +193 -0
- package/connectors/connect-messagebird/package.json +51 -0
- package/connectors/connect-messagebird/scripts/release.ts +179 -0
- package/connectors/connect-messagebird/src/api/client.ts +213 -0
- package/connectors/connect-messagebird/src/api/example.ts +48 -0
- package/connectors/connect-messagebird/src/api/index.ts +51 -0
- package/connectors/connect-messagebird/src/cli/index.ts +254 -0
- package/connectors/connect-messagebird/src/index.ts +103 -0
- package/connectors/connect-messagebird/src/types/index.ts +237 -0
- package/connectors/connect-messagebird/src/utils/auth.ts +274 -0
- package/connectors/connect-messagebird/src/utils/bulk.ts +212 -0
- package/connectors/connect-messagebird/src/utils/config.ts +326 -0
- package/connectors/connect-messagebird/src/utils/output.ts +175 -0
- package/connectors/connect-messagebird/src/utils/settings.ts +114 -0
- package/connectors/connect-messagebird/src/utils/storage.ts +198 -0
- package/connectors/connect-messagebird/tsconfig.json +16 -0
- package/connectors/connect-miro/.env.example +11 -0
- package/connectors/connect-miro/CLAUDE.md +272 -0
- package/connectors/connect-miro/README.md +193 -0
- package/connectors/connect-miro/package.json +51 -0
- package/connectors/connect-miro/scripts/release.ts +179 -0
- package/connectors/connect-miro/src/api/client.ts +213 -0
- package/connectors/connect-miro/src/api/example.ts +48 -0
- package/connectors/connect-miro/src/api/index.ts +51 -0
- package/connectors/connect-miro/src/cli/index.ts +254 -0
- package/connectors/connect-miro/src/index.ts +103 -0
- package/connectors/connect-miro/src/types/index.ts +237 -0
- package/connectors/connect-miro/src/utils/auth.ts +274 -0
- package/connectors/connect-miro/src/utils/bulk.ts +212 -0
- package/connectors/connect-miro/src/utils/config.ts +326 -0
- package/connectors/connect-miro/src/utils/output.ts +175 -0
- package/connectors/connect-miro/src/utils/settings.ts +114 -0
- package/connectors/connect-miro/src/utils/storage.ts +198 -0
- package/connectors/connect-miro/tsconfig.json +16 -0
- package/connectors/connect-monday/.env.example +11 -0
- package/connectors/connect-monday/CLAUDE.md +128 -0
- package/connectors/connect-monday/README.md +193 -0
- package/connectors/connect-monday/package.json +52 -0
- package/connectors/connect-monday/src/api/client.ts +59 -0
- package/connectors/connect-monday/src/api/index.ts +539 -0
- package/connectors/connect-monday/src/cli/index.ts +479 -0
- package/connectors/connect-monday/src/index.ts +19 -0
- package/connectors/connect-monday/src/types/index.ts +274 -0
- package/connectors/connect-monday/src/utils/config.ts +197 -0
- package/connectors/connect-monday/src/utils/output.ts +119 -0
- package/connectors/connect-monday/tsconfig.json +16 -0
- package/connectors/connect-pipedrive/.env.example +11 -0
- package/connectors/connect-pipedrive/CLAUDE.md +128 -0
- package/connectors/connect-pipedrive/README.md +193 -0
- package/connectors/connect-pipedrive/package.json +52 -0
- package/connectors/connect-pipedrive/src/api/client.ts +121 -0
- package/connectors/connect-pipedrive/src/api/index.ts +306 -0
- package/connectors/connect-pipedrive/src/cli/index.ts +824 -0
- package/connectors/connect-pipedrive/src/index.ts +19 -0
- package/connectors/connect-pipedrive/src/types/index.ts +335 -0
- package/connectors/connect-pipedrive/src/utils/config.ts +171 -0
- package/connectors/connect-pipedrive/src/utils/output.ts +119 -0
- package/connectors/connect-pipedrive/tsconfig.json +16 -0
- package/connectors/connect-pusher/.env.example +11 -0
- package/connectors/connect-pusher/CLAUDE.md +272 -0
- package/connectors/connect-pusher/README.md +193 -0
- package/connectors/connect-pusher/package.json +51 -0
- package/connectors/connect-pusher/scripts/release.ts +179 -0
- package/connectors/connect-pusher/src/api/client.ts +213 -0
- package/connectors/connect-pusher/src/api/example.ts +48 -0
- package/connectors/connect-pusher/src/api/index.ts +51 -0
- package/connectors/connect-pusher/src/cli/index.ts +254 -0
- package/connectors/connect-pusher/src/index.ts +103 -0
- package/connectors/connect-pusher/src/types/index.ts +237 -0
- package/connectors/connect-pusher/src/utils/auth.ts +274 -0
- package/connectors/connect-pusher/src/utils/bulk.ts +212 -0
- package/connectors/connect-pusher/src/utils/config.ts +326 -0
- package/connectors/connect-pusher/src/utils/output.ts +175 -0
- package/connectors/connect-pusher/src/utils/settings.ts +114 -0
- package/connectors/connect-pusher/src/utils/storage.ts +198 -0
- package/connectors/connect-pusher/tsconfig.json +16 -0
- package/connectors/connect-vonage/.env.example +11 -0
- package/connectors/connect-vonage/CLAUDE.md +272 -0
- package/connectors/connect-vonage/README.md +193 -0
- package/connectors/connect-vonage/package.json +51 -0
- package/connectors/connect-vonage/scripts/release.ts +179 -0
- package/connectors/connect-vonage/src/api/client.ts +213 -0
- package/connectors/connect-vonage/src/api/example.ts +48 -0
- package/connectors/connect-vonage/src/api/index.ts +51 -0
- package/connectors/connect-vonage/src/cli/index.ts +254 -0
- package/connectors/connect-vonage/src/index.ts +103 -0
- package/connectors/connect-vonage/src/types/index.ts +237 -0
- package/connectors/connect-vonage/src/utils/auth.ts +274 -0
- package/connectors/connect-vonage/src/utils/bulk.ts +212 -0
- package/connectors/connect-vonage/src/utils/config.ts +326 -0
- package/connectors/connect-vonage/src/utils/output.ts +175 -0
- package/connectors/connect-vonage/src/utils/settings.ts +114 -0
- package/connectors/connect-vonage/src/utils/storage.ts +198 -0
- package/connectors/connect-vonage/tsconfig.json +16 -0
- package/dist/index.js +91 -0
- package/package.json +1 -1
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, unlinkSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { getConfigDir } from './config';
|
|
4
|
+
|
|
5
|
+
// ============================================
|
|
6
|
+
// Generic Data Storage Utility
|
|
7
|
+
// ============================================
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Base interface for storable entities
|
|
11
|
+
* All stored entities should have an id field
|
|
12
|
+
*/
|
|
13
|
+
export interface Storable {
|
|
14
|
+
id: string;
|
|
15
|
+
createdAt?: string;
|
|
16
|
+
updatedAt?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Get the storage directory for an entity type
|
|
21
|
+
*/
|
|
22
|
+
function getStorageDir(entityType: string): string {
|
|
23
|
+
const dir = join(getConfigDir(), 'data', entityType);
|
|
24
|
+
if (!existsSync(dir)) {
|
|
25
|
+
mkdirSync(dir, { recursive: true });
|
|
26
|
+
}
|
|
27
|
+
return dir;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Convert an ID to a safe filename
|
|
32
|
+
*/
|
|
33
|
+
function idToFilename(id: string): string {
|
|
34
|
+
return id.toLowerCase().replace(/[^a-z0-9]/g, '_') + '.json';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Get the file path for an entity
|
|
39
|
+
*/
|
|
40
|
+
function getEntityPath(entityType: string, id: string): string {
|
|
41
|
+
return join(getStorageDir(entityType), idToFilename(id));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Save an entity to storage
|
|
46
|
+
*/
|
|
47
|
+
export function saveEntity<T extends Storable>(entityType: string, entity: T): void {
|
|
48
|
+
const filepath = getEntityPath(entityType, entity.id);
|
|
49
|
+
const now = new Date().toISOString();
|
|
50
|
+
|
|
51
|
+
const existing = getEntity<T>(entityType, entity.id);
|
|
52
|
+
|
|
53
|
+
const data: T = {
|
|
54
|
+
...entity,
|
|
55
|
+
createdAt: existing?.createdAt || now,
|
|
56
|
+
updatedAt: now,
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
writeFileSync(filepath, JSON.stringify(data, null, 2));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Get an entity by ID
|
|
64
|
+
*/
|
|
65
|
+
export function getEntity<T extends Storable>(entityType: string, id: string): T | null {
|
|
66
|
+
const filepath = getEntityPath(entityType, id);
|
|
67
|
+
|
|
68
|
+
if (!existsSync(filepath)) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
try {
|
|
73
|
+
const content = readFileSync(filepath, 'utf-8');
|
|
74
|
+
return JSON.parse(content) as T;
|
|
75
|
+
} catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Check if an entity exists
|
|
82
|
+
*/
|
|
83
|
+
export function entityExists(entityType: string, id: string): boolean {
|
|
84
|
+
return existsSync(getEntityPath(entityType, id));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Get all entities of a type
|
|
89
|
+
*/
|
|
90
|
+
export function getAllEntities<T extends Storable>(entityType: string): T[] {
|
|
91
|
+
const storageDir = getStorageDir(entityType);
|
|
92
|
+
const files = readdirSync(storageDir).filter(f => f.endsWith('.json'));
|
|
93
|
+
|
|
94
|
+
const entities: T[] = [];
|
|
95
|
+
for (const file of files) {
|
|
96
|
+
try {
|
|
97
|
+
const content = readFileSync(join(storageDir, file), 'utf-8');
|
|
98
|
+
entities.push(JSON.parse(content) as T);
|
|
99
|
+
} catch {
|
|
100
|
+
// Skip invalid files
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return entities.sort((a, b) => a.id.localeCompare(b.id));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Delete an entity
|
|
109
|
+
*/
|
|
110
|
+
export function deleteEntity(entityType: string, id: string): boolean {
|
|
111
|
+
const filepath = getEntityPath(entityType, id);
|
|
112
|
+
|
|
113
|
+
if (existsSync(filepath)) {
|
|
114
|
+
unlinkSync(filepath);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Search entities by a predicate function
|
|
122
|
+
*/
|
|
123
|
+
export function searchEntities<T extends Storable>(
|
|
124
|
+
entityType: string,
|
|
125
|
+
predicate: (entity: T) => boolean
|
|
126
|
+
): T[] {
|
|
127
|
+
const all = getAllEntities<T>(entityType);
|
|
128
|
+
return all.filter(predicate);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Search entities by text match across all string fields
|
|
133
|
+
*/
|
|
134
|
+
export function searchEntitiesByText<T extends Storable>(
|
|
135
|
+
entityType: string,
|
|
136
|
+
query: string,
|
|
137
|
+
fields?: (keyof T)[]
|
|
138
|
+
): T[] {
|
|
139
|
+
const all = getAllEntities<T>(entityType);
|
|
140
|
+
const q = query.toLowerCase();
|
|
141
|
+
|
|
142
|
+
return all.filter(entity => {
|
|
143
|
+
const searchFields = fields || (Object.keys(entity) as (keyof T)[]);
|
|
144
|
+
return searchFields.some(field => {
|
|
145
|
+
const value = entity[field];
|
|
146
|
+
if (typeof value === 'string') {
|
|
147
|
+
return value.toLowerCase().includes(q);
|
|
148
|
+
}
|
|
149
|
+
return false;
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Count entities of a type
|
|
156
|
+
*/
|
|
157
|
+
export function countEntities(entityType: string): number {
|
|
158
|
+
const storageDir = getStorageDir(entityType);
|
|
159
|
+
if (!existsSync(storageDir)) {
|
|
160
|
+
return 0;
|
|
161
|
+
}
|
|
162
|
+
return readdirSync(storageDir).filter(f => f.endsWith('.json')).length;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Clear all entities of a type
|
|
167
|
+
*/
|
|
168
|
+
export function clearEntities(entityType: string): number {
|
|
169
|
+
const storageDir = getStorageDir(entityType);
|
|
170
|
+
if (!existsSync(storageDir)) {
|
|
171
|
+
return 0;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const files = readdirSync(storageDir).filter(f => f.endsWith('.json'));
|
|
175
|
+
for (const file of files) {
|
|
176
|
+
unlinkSync(join(storageDir, file));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return files.length;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Create a typed storage helper for a specific entity type
|
|
184
|
+
* This provides a cleaner API for working with a single entity type
|
|
185
|
+
*/
|
|
186
|
+
export function createStorage<T extends Storable>(entityType: string) {
|
|
187
|
+
return {
|
|
188
|
+
save: (entity: T) => saveEntity<T>(entityType, entity),
|
|
189
|
+
get: (id: string) => getEntity<T>(entityType, id),
|
|
190
|
+
exists: (id: string) => entityExists(entityType, id),
|
|
191
|
+
getAll: () => getAllEntities<T>(entityType),
|
|
192
|
+
delete: (id: string) => deleteEntity(entityType, id),
|
|
193
|
+
search: (predicate: (entity: T) => boolean) => searchEntities<T>(entityType, predicate),
|
|
194
|
+
searchByText: (query: string, fields?: (keyof T)[]) => searchEntitiesByText<T>(entityType, query, fields),
|
|
195
|
+
count: () => countEntities(entityType),
|
|
196
|
+
clear: () => clearEntities(entityType),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ESNext",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"esModuleInterop": true,
|
|
7
|
+
"strict": true,
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"outDir": "./dist",
|
|
11
|
+
"rootDir": "./src",
|
|
12
|
+
"types": ["bun-types"]
|
|
13
|
+
},
|
|
14
|
+
"include": ["src/**/*"],
|
|
15
|
+
"exclude": ["node_modules", "dist", "bin"]
|
|
16
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -809,6 +809,97 @@ var CONNECTORS = [
|
|
|
809
809
|
description: "AI video and 3D generation",
|
|
810
810
|
category: "AI & ML",
|
|
811
811
|
tags: ["ai", "video", "3d"]
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
name: "linode",
|
|
815
|
+
displayName: "Linode",
|
|
816
|
+
description: "Cloud computing and hosting",
|
|
817
|
+
category: "Developer Tools",
|
|
818
|
+
tags: ["cloud", "hosting", "vps"]
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
name: "mailgun",
|
|
822
|
+
displayName: "Mailgun",
|
|
823
|
+
description: "Email delivery API",
|
|
824
|
+
category: "Communication",
|
|
825
|
+
tags: ["email", "api", "transactional"]
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
name: "pusher",
|
|
829
|
+
displayName: "Pusher",
|
|
830
|
+
description: "Realtime messaging and channels",
|
|
831
|
+
category: "Communication",
|
|
832
|
+
tags: ["realtime", "websockets", "messaging"]
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
name: "ably",
|
|
836
|
+
displayName: "Ably",
|
|
837
|
+
description: "Realtime messaging infrastructure",
|
|
838
|
+
category: "Communication",
|
|
839
|
+
tags: ["realtime", "messaging", "pubsub"]
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
name: "vonage",
|
|
843
|
+
displayName: "Vonage",
|
|
844
|
+
description: "SMS, voice, and messaging APIs",
|
|
845
|
+
category: "Communication",
|
|
846
|
+
tags: ["sms", "voice", "messaging"]
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
name: "messagebird",
|
|
850
|
+
displayName: "MessageBird",
|
|
851
|
+
description: "Omnichannel messaging platform",
|
|
852
|
+
category: "Communication",
|
|
853
|
+
tags: ["sms", "messaging", "omnichannel"]
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
name: "pipedrive",
|
|
857
|
+
displayName: "Pipedrive",
|
|
858
|
+
description: "Sales CRM and pipeline management",
|
|
859
|
+
category: "Business Tools",
|
|
860
|
+
tags: ["crm", "sales", "pipeline"]
|
|
861
|
+
},
|
|
862
|
+
{
|
|
863
|
+
name: "clearbit",
|
|
864
|
+
displayName: "Clearbit",
|
|
865
|
+
description: "Business intelligence and data enrichment",
|
|
866
|
+
category: "Data & Analytics",
|
|
867
|
+
tags: ["enrichment", "data", "b2b"]
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
name: "coda",
|
|
871
|
+
displayName: "Coda",
|
|
872
|
+
description: "Docs, tables, and automations",
|
|
873
|
+
category: "Business Tools",
|
|
874
|
+
tags: ["docs", "tables", "automation"]
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
name: "monday",
|
|
878
|
+
displayName: "Monday.com",
|
|
879
|
+
description: "Work management and project tracking",
|
|
880
|
+
category: "Business Tools",
|
|
881
|
+
tags: ["project-management", "workflow"]
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
name: "dropbox",
|
|
885
|
+
displayName: "Dropbox",
|
|
886
|
+
description: "Cloud file storage and sharing",
|
|
887
|
+
category: "Business Tools",
|
|
888
|
+
tags: ["storage", "files", "sharing"]
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
name: "box",
|
|
892
|
+
displayName: "Box",
|
|
893
|
+
description: "Enterprise content management",
|
|
894
|
+
category: "Business Tools",
|
|
895
|
+
tags: ["storage", "enterprise", "content"]
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
name: "miro",
|
|
899
|
+
displayName: "Miro",
|
|
900
|
+
description: "Visual collaboration and whiteboarding",
|
|
901
|
+
category: "Business Tools",
|
|
902
|
+
tags: ["whiteboard", "collaboration", "design"]
|
|
812
903
|
}
|
|
813
904
|
];
|
|
814
905
|
function getConnectorsByCategory(category) {
|