recker 1.0.16 → 1.0.17-next.9570ed5
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/dist/cli/tui/search-panel.d.ts.map +1 -1
- package/dist/cli/tui/search-panel.js +1 -0
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/mcp/search/hybrid-search.d.ts.map +1 -1
- package/dist/mcp/search/hybrid-search.js +47 -16
- package/dist/presets/index.d.ts +2 -0
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +2 -0
- package/dist/presets/mailgun.d.ts +8 -0
- package/dist/presets/mailgun.d.ts.map +1 -0
- package/dist/presets/mailgun.js +20 -0
- package/dist/presets/registry.d.ts.map +1 -1
- package/dist/presets/registry.js +20 -0
- package/dist/presets/sinch.d.ts +10 -0
- package/dist/presets/sinch.d.ts.map +1 -0
- package/dist/presets/sinch.js +39 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-panel.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/search-panel.ts"],"names":[],"mappings":"AAyCA,UAAU,kBAAkB;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAeD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAgB;gBAE1B,OAAO,GAAE,kBAAuB;IAa5C,OAAO,CAAC,YAAY;IAed,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD3B,KAAK,IAAI,IAAI;IAsBb,OAAO,CAAC,gBAAgB;YAYV,cAAc;IA8C5B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,aAAa;YAKP,aAAa;IAgC3B,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"search-panel.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/search-panel.ts"],"names":[],"mappings":"AAyCA,UAAU,kBAAkB;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAeD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAgB;gBAE1B,OAAO,GAAE,kBAAuB;IAa5C,OAAO,CAAC,YAAY;IAed,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD3B,KAAK,IAAI,IAAI;IAsBb,OAAO,CAAC,gBAAgB;YAYV,cAAc;IA8C5B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,aAAa;YAKP,aAAa;IAgC3B,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,MAAM;IA2Bd,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,YAAY;CA0BrB;AAKD,wBAAsB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAMlE,KAAK,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAClD,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,SAAS,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;CAAE,GAAG,EAAE,CAAC,GACvE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,SAAS,GAAG;IAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG,EAAE,CAAC,GACjE;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,KAC5B,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;AAGjF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,kBAAkB,IAAI;KACxD,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,qBAAa,aAAc,SAAQ,KAAK;IACnB,MAAM,EAAE,MAAM;IAAS,IAAI,EAAE,GAAG;IAAS,aAAa,EAAE,SAAS;gBAAjE,MAAM,EAAE,MAAM,EAAS,IAAI,EAAE,GAAG,EAAS,aAAa,EAAE,SAAS;CAIrF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,kBAAkB,EACzD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GACV,cAAc,CAAC,CAAC,CAAC,CAqEnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-search.d.ts","sourceRoot":"","sources":["../../../src/mcp/search/hybrid-search.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAkBpB,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,MAAM,GAAE,kBAAuB;IAYrC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAmCrC,yBAAyB;IAoCjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsDjF,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"hybrid-search.d.ts","sourceRoot":"","sources":["../../../src/mcp/search/hybrid-search.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAkBpB,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,MAAM,GAAE,kBAAuB;IAYrC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAmCrC,yBAAyB;IAoCjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsDjF,OAAO,CAAC,WAAW;IA4EnB,OAAO,CAAC,cAAc;IA8GtB,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,MAAM,CAAC,UAAU,CAoCtB;IAKH,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,cAAc;IAmBtB,aAAa,IAAI,OAAO;IAOxB,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAYD,OAAO,CAAC,GAAG;CAKZ;AAKD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAE5E"}
|
|
@@ -12,7 +12,7 @@ export class HybridSearch {
|
|
|
12
12
|
config;
|
|
13
13
|
constructor(config = {}) {
|
|
14
14
|
this.config = {
|
|
15
|
-
fuzzyThreshold: config.fuzzyThreshold ?? 0.
|
|
15
|
+
fuzzyThreshold: config.fuzzyThreshold ?? 0.3,
|
|
16
16
|
fuzzyWeight: config.fuzzyWeight ?? 0.5,
|
|
17
17
|
semanticWeight: config.semanticWeight ?? 0.5,
|
|
18
18
|
debug: config.debug ?? false,
|
|
@@ -22,11 +22,11 @@ export class HybridSearch {
|
|
|
22
22
|
this.docs = docs;
|
|
23
23
|
this.fuse = new Fuse(docs, {
|
|
24
24
|
keys: [
|
|
25
|
-
{ name: 'keywords', weight:
|
|
26
|
-
{ name: 'title', weight:
|
|
27
|
-
{ name: 'section', weight:
|
|
28
|
-
{ name: 'path', weight:
|
|
29
|
-
{ name: 'content', weight: 0.
|
|
25
|
+
{ name: 'keywords', weight: 10 },
|
|
26
|
+
{ name: 'title', weight: 6 },
|
|
27
|
+
{ name: 'section', weight: 4 },
|
|
28
|
+
{ name: 'path', weight: 2 },
|
|
29
|
+
{ name: 'content', weight: 0.5 },
|
|
30
30
|
],
|
|
31
31
|
includeScore: true,
|
|
32
32
|
threshold: this.config.fuzzyThreshold,
|
|
@@ -111,13 +111,44 @@ export class HybridSearch {
|
|
|
111
111
|
if (category) {
|
|
112
112
|
results = results.filter((r) => r.item.category.toLowerCase().includes(category.toLowerCase()));
|
|
113
113
|
}
|
|
114
|
-
|
|
114
|
+
const queryTerms = this.tokenize(query);
|
|
115
|
+
const scored = results.slice(0, limit).map((r) => {
|
|
116
|
+
const fuseScore = r.score || 0;
|
|
117
|
+
const baseScore = 1 - fuseScore;
|
|
118
|
+
let boost = 0;
|
|
119
|
+
if (fuseScore < 0.3) {
|
|
120
|
+
const keywords = r.item.keywords || [];
|
|
121
|
+
const titleLower = r.item.title.toLowerCase();
|
|
122
|
+
for (const term of queryTerms) {
|
|
123
|
+
if (keywords.some(k => k.toLowerCase() === term)) {
|
|
124
|
+
boost += 0.15;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
for (const term of queryTerms) {
|
|
128
|
+
if (titleLower.includes(term)) {
|
|
129
|
+
boost += 0.10;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
boost = -0.3;
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
item: r.item,
|
|
138
|
+
baseScore,
|
|
139
|
+
boost,
|
|
140
|
+
finalScore: baseScore + boost,
|
|
141
|
+
};
|
|
142
|
+
});
|
|
143
|
+
scored.sort((a, b) => b.finalScore - a.finalScore);
|
|
144
|
+
const maxScore = scored[0]?.finalScore || 1;
|
|
145
|
+
return scored.map((r) => ({
|
|
115
146
|
id: r.item.id,
|
|
116
147
|
path: r.item.path,
|
|
117
148
|
title: r.item.title,
|
|
118
149
|
content: r.item.content,
|
|
119
150
|
snippet: this.extractSnippet(r.item.content, query),
|
|
120
|
-
score: 1
|
|
151
|
+
score: Math.max(0, Math.min(1, r.finalScore / maxScore)),
|
|
121
152
|
source: 'fuzzy',
|
|
122
153
|
}));
|
|
123
154
|
}
|
|
@@ -262,14 +293,14 @@ export class HybridSearch {
|
|
|
262
293
|
'sim', 'nao', 'ja', 'ainda', 'sempre', 'nunca', 'tambem', 'so', 'apenas',
|
|
263
294
|
'muito', 'pouco', 'mais', 'menos', 'bem', 'mal', 'assim', 'entao', 'logo',
|
|
264
295
|
'yo', 'hey', 'oi', 'ola', 'bom', 'boa', 'obrigado', 'por favor',
|
|
265
|
-
'configure', 'configuro', 'configurar', 'configurando',
|
|
266
|
-
'use', 'usar', 'using', '
|
|
267
|
-
'create', 'criar', 'creating', 'criando',
|
|
268
|
-
'setup', 'setar', 'setting', 'setando',
|
|
269
|
-
'add', 'adicionar', 'adding', 'adicionando',
|
|
270
|
-
'get', 'getting', 'pegar', 'pegando',
|
|
271
|
-
'set', 'setting', 'definir', 'definindo',
|
|
272
|
-
'make', 'making', 'fazer', 'fazendo',
|
|
296
|
+
'configure', 'configuro', 'configurar', 'configurando', 'configura',
|
|
297
|
+
'use', 'usar', 'using', 'uso', 'usa',
|
|
298
|
+
'create', 'criar', 'creating', 'criando', 'cria', 'crio',
|
|
299
|
+
'setup', 'setar', 'setting', 'setando', 'seta', 'seto',
|
|
300
|
+
'add', 'adicionar', 'adding', 'adicionando', 'adiciona', 'adiciono',
|
|
301
|
+
'get', 'getting', 'pegar', 'pegando', 'pega', 'pego',
|
|
302
|
+
'set', 'setting', 'definir', 'definindo', 'define', 'defino',
|
|
303
|
+
'make', 'making', 'fazer', 'fazendo', 'faz', 'faço', 'faco',
|
|
273
304
|
]);
|
|
274
305
|
cleanQuery(query) {
|
|
275
306
|
const words = query
|
package/dist/presets/index.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export * from './supabase.js';
|
|
|
20
20
|
export * from './digitalocean.js';
|
|
21
21
|
export * from './stripe.js';
|
|
22
22
|
export * from './twilio.js';
|
|
23
|
+
export * from './mailgun.js';
|
|
24
|
+
export * from './sinch.js';
|
|
23
25
|
export * from './linear.js';
|
|
24
26
|
export * from './notion.js';
|
|
25
27
|
export * from './slack.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC"}
|
package/dist/presets/index.js
CHANGED
|
@@ -20,6 +20,8 @@ export * from './supabase.js';
|
|
|
20
20
|
export * from './digitalocean.js';
|
|
21
21
|
export * from './stripe.js';
|
|
22
22
|
export * from './twilio.js';
|
|
23
|
+
export * from './mailgun.js';
|
|
24
|
+
export * from './sinch.js';
|
|
23
25
|
export * from './linear.js';
|
|
24
26
|
export * from './notion.js';
|
|
25
27
|
export * from './slack.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ClientOptions } from '../types/index.js';
|
|
2
|
+
export interface MailgunPresetOptions {
|
|
3
|
+
apiKey: string;
|
|
4
|
+
domain?: string;
|
|
5
|
+
region?: 'us' | 'eu';
|
|
6
|
+
}
|
|
7
|
+
export declare function mailgun(options: MailgunPresetOptions): ClientOptions;
|
|
8
|
+
//# sourceMappingURL=mailgun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mailgun.d.ts","sourceRoot":"","sources":["../../src/presets/mailgun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,oBAAoB;IAInC,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB;AAMD,wBAAgB,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAoBpE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function mailgun(options) {
|
|
2
|
+
const credentials = Buffer.from(`api:${options.apiKey}`).toString('base64');
|
|
3
|
+
const baseHost = options.region === 'eu' ? 'api.eu.mailgun.net' : 'api.mailgun.net';
|
|
4
|
+
const baseUrl = options.domain
|
|
5
|
+
? `https://${baseHost}/v3/${options.domain}`
|
|
6
|
+
: `https://${baseHost}/v3`;
|
|
7
|
+
return {
|
|
8
|
+
baseUrl,
|
|
9
|
+
headers: {
|
|
10
|
+
'Authorization': `Basic ${credentials}`,
|
|
11
|
+
},
|
|
12
|
+
timeout: 30 * 1000,
|
|
13
|
+
retry: {
|
|
14
|
+
maxAttempts: 3,
|
|
15
|
+
backoff: 'exponential',
|
|
16
|
+
delay: 1000,
|
|
17
|
+
statusCodes: [408, 429, 500, 502, 503, 504]
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/presets/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/presets/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAmClD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,aAAa,CAAC;AAK5D,MAAM,WAAW,UAAU;IAEzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,OAAO,EAAE,aAAa,CAAC;IAEvB,QAAQ,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAE/C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,eAAO,MAAM,cAAc,EAAE,UAAU,EAkRtC,CAAC;AAiBF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAShE;AAQD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE9D;AAQD,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,CAKzF;AAKD,wBAAgB,aAAa,IAAI,UAAU,EAAE,CAE5C;AAKD,wBAAgB,gBAAgB,IAAI,UAAU,EAAE,CAE/C;AAKD,wBAAgB,eAAe,IAAI,UAAU,EAAE,CAE9C;AAKD,wBAAgB,mBAAmB,IAAI,UAAU,EAAE,CAElD"}
|
package/dist/presets/registry.js
CHANGED
|
@@ -19,6 +19,8 @@ import { vercel } from './vercel.js';
|
|
|
19
19
|
import { supabase } from './supabase.js';
|
|
20
20
|
import { stripe } from './stripe.js';
|
|
21
21
|
import { twilio } from './twilio.js';
|
|
22
|
+
import { mailgun } from './mailgun.js';
|
|
23
|
+
import { sinch } from './sinch.js';
|
|
22
24
|
import { digitalocean } from './digitalocean.js';
|
|
23
25
|
import { linear } from './linear.js';
|
|
24
26
|
import { notion } from './notion.js';
|
|
@@ -232,6 +234,24 @@ export const presetRegistry = [
|
|
|
232
234
|
requiredAuth: ['accountSid', 'authToken'],
|
|
233
235
|
docsUrl: 'https://www.twilio.com/docs/usage/api',
|
|
234
236
|
},
|
|
237
|
+
{
|
|
238
|
+
name: 'mailgun',
|
|
239
|
+
displayName: 'Mailgun',
|
|
240
|
+
patterns: [/api\.mailgun\.net/, /api\.eu\.mailgun\.net/],
|
|
241
|
+
factory: mailgun,
|
|
242
|
+
category: 'saas',
|
|
243
|
+
requiredAuth: ['apiKey'],
|
|
244
|
+
docsUrl: 'https://documentation.mailgun.com/docs/mailgun/api-reference/',
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: 'sinch',
|
|
248
|
+
displayName: 'Sinch',
|
|
249
|
+
patterns: [/\.api\.sinch\.com/, /sms\.api\.sinch\.com/, /calling\.api\.sinch\.com/],
|
|
250
|
+
factory: sinch,
|
|
251
|
+
category: 'saas',
|
|
252
|
+
requiredAuth: ['projectId', 'keyId', 'keySecret'],
|
|
253
|
+
docsUrl: 'https://developers.sinch.com/docs/',
|
|
254
|
+
},
|
|
235
255
|
{
|
|
236
256
|
name: 'digitalocean',
|
|
237
257
|
displayName: 'DigitalOcean',
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ClientOptions } from '../types/index.js';
|
|
2
|
+
export interface SinchPresetOptions {
|
|
3
|
+
projectId: string;
|
|
4
|
+
keyId: string;
|
|
5
|
+
keySecret: string;
|
|
6
|
+
product?: 'sms' | 'voice' | 'conversation' | 'numbers' | 'verification';
|
|
7
|
+
region?: 'us' | 'eu' | 'au' | 'br' | 'ca';
|
|
8
|
+
}
|
|
9
|
+
export declare function sinch(options: SinchPresetOptions): ClientOptions;
|
|
10
|
+
//# sourceMappingURL=sinch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sinch.d.ts","sourceRoot":"","sources":["../../src/presets/sinch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,kBAAkB;IAIjC,SAAS,EAAE,MAAM,CAAC;IAIlB,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,EAAE,MAAM,CAAC;IAKlB,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC;IAKxE,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3C;AAqBD,wBAAgB,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa,CA0BhE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const SMS_REGIONS = {
|
|
2
|
+
us: 'https://us.sms.api.sinch.com',
|
|
3
|
+
eu: 'https://eu.sms.api.sinch.com',
|
|
4
|
+
au: 'https://au.sms.api.sinch.com',
|
|
5
|
+
br: 'https://br.sms.api.sinch.com',
|
|
6
|
+
ca: 'https://ca.sms.api.sinch.com',
|
|
7
|
+
};
|
|
8
|
+
const PRODUCT_URLS = {
|
|
9
|
+
voice: 'https://calling.api.sinch.com',
|
|
10
|
+
conversation: 'https://us.conversation.api.sinch.com',
|
|
11
|
+
numbers: 'https://numbers.api.sinch.com',
|
|
12
|
+
verification: 'https://verification.api.sinch.com',
|
|
13
|
+
};
|
|
14
|
+
export function sinch(options) {
|
|
15
|
+
const credentials = Buffer.from(`${options.keyId}:${options.keySecret}`).toString('base64');
|
|
16
|
+
const product = options.product ?? 'sms';
|
|
17
|
+
const region = options.region ?? 'us';
|
|
18
|
+
let baseUrl;
|
|
19
|
+
if (product === 'sms') {
|
|
20
|
+
baseUrl = `${SMS_REGIONS[region]}/xms/v1/${options.projectId}`;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
baseUrl = `${PRODUCT_URLS[product]}/v1/projects/${options.projectId}`;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
baseUrl,
|
|
27
|
+
headers: {
|
|
28
|
+
'Authorization': `Basic ${credentials}`,
|
|
29
|
+
'Content-Type': 'application/json',
|
|
30
|
+
},
|
|
31
|
+
timeout: 30 * 1000,
|
|
32
|
+
retry: {
|
|
33
|
+
maxAttempts: 3,
|
|
34
|
+
backoff: 'exponential',
|
|
35
|
+
delay: 1000,
|
|
36
|
+
statusCodes: [408, 429, 500, 502, 503, 504]
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|