@tool-bridge/server 0.7.0 → 0.10.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/dist/{airtable-BNVPDLF2.js → airtable-5W6SJMSM.js} +4 -4
- package/dist/{alt_text_generator_ai-RMQPHK2Y.js → alt_text_generator_ai-YYVJM3RG.js} +4 -4
- package/dist/{amap-PRNZPQ34.js → amap-EREMQZHQ.js} +4 -4
- package/dist/{anthropic-A76VIXR7.js → anthropic-53H7WGSE.js} +4 -4
- package/dist/{apify-2Q2CTLKE.js → apify-CMRNU7VZ.js} +4 -4
- package/dist/{brave_search-5YJJVPXH.js → brave_search-AFZVZ3QK.js} +4 -4
- package/dist/{chunk-BUHY4IE6.js → chunk-2DA2UI37.js} +2 -2
- package/dist/{chunk-GMHELPK3.js → chunk-Q44CYUSI.js} +1 -1
- package/dist/{chunk-7ASYWVYP.js → chunk-Q7YHZ2SD.js} +624 -36
- package/dist/{chunk-EBO6Q4NR.js → chunk-SBJMMSPA.js} +1 -1
- package/dist/{chunk-76YX7XSX.js → chunk-TPGTA43F.js} +228 -48
- package/dist/{circleci-TDXP3CPQ.js → circleci-JG7RV2RU.js} +4 -4
- package/dist/{clerk-JRSGMXMS.js → clerk-U7OS5ALG.js} +4 -4
- package/dist/{cloudflare_dns-G4CHNLO7.js → cloudflare_dns-ADCTFMMI.js} +4 -4
- package/dist/{cohere-3KN27F2B.js → cohere-Z7ZEC2YV.js} +4 -4
- package/dist/{confluence-QV6J2PBV.js → confluence-FT22JGYQ.js} +4 -4
- package/dist/{convertapi-HETITAHL.js → convertapi-UQQCWVWP.js} +4 -4
- package/dist/{currencyapi-647DEY6G.js → currencyapi-Y63O7JTP.js} +4 -4
- package/dist/{deepseek-G63RUHM6.js → deepseek-7TSAMZJ6.js} +4 -4
- package/dist/{docker_hub-RH72CRWO.js → docker_hub-AJYTVI25.js} +4 -4
- package/dist/{dropbox-T4Y5KSZW.js → dropbox-CNGGNR5J.js} +4 -4
- package/dist/{dub-ECKQT3DC.js → dub-WTADKHA7.js} +4 -4
- package/dist/{e2b-N5SRTPLF.js → e2b-75EKXMN5.js} +4 -4
- package/dist/{exa-525ZDM7G.js → exa-OFLA5XND.js} +4 -4
- package/dist/{fal_ai-BFMVHAUW.js → fal_ai-5542HB7N.js} +4 -4
- package/dist/{feishu-NIDOD7EW.js → feishu-QQIZ7G24.js} +3 -3
- package/dist/{feishu_custom_bot-V5RGAIUH.js → feishu_custom_bot-EVDKIZCR.js} +4 -4
- package/dist/{figma-GH7TXJMP.js → figma-ZEBDUMWI.js} +4 -4
- package/dist/{firehydrant-5T3UHAQM.js → firehydrant-CTBNY6FL.js} +4 -4
- package/dist/{fixer-3RMJLMFO.js → fixer-ITDYMRBW.js} +4 -4
- package/dist/{fly-NPHJC5MH.js → fly-IBFMSAAO.js} +4 -4
- package/dist/{front-PYGXJAQK.js → front-AZQLLUJQ.js} +4 -4
- package/dist/{geocodio-T6G3FVIF.js → geocodio-XHZHEWQW.js} +4 -4
- package/dist/{ghost-L3XIF4SJ.js → ghost-RTIKXD3T.js} +4 -4
- package/dist/{github-7YDUB6N6.js → github-WRJBJ5N7.js} +4 -4
- package/dist/{gmail-RY2ZDG3B.js → gmail-527RVDXV.js} +4 -4
- package/dist/{googlecalendar-EHOFMXHE.js → googlecalendar-WZJSK2MR.js} +4 -4
- package/dist/{googledocs-BA3OAMKA.js → googledocs-LFBVIHIK.js} +4 -4
- package/dist/{grafana-PYZQ4CKI.js → grafana-3JEKO7NT.js} +4 -4
- package/dist/{graphhopper-3P4YU45N.js → graphhopper-TOJN6K2Q.js} +4 -4
- package/dist/index.d.ts +370 -26
- package/dist/index.js +14 -2
- package/dist/{ip2proxy-GQO6VF4P.js → ip2proxy-KOA2JUNV.js} +4 -4
- package/dist/{ipgeolocation_io-VOZU6E7H.js → ipgeolocation_io-KNOQD7R7.js} +4 -4
- package/dist/{ipqualityscore-XDJ3TTMM.js → ipqualityscore-GF2MQKXI.js} +4 -4
- package/dist/{jina_ai-ELXPSTUJ.js → jina_ai-GB3CQPJ4.js} +4 -4
- package/dist/{jira-INDXWO4I.js → jira-35XYV6G4.js} +4 -4
- package/dist/{langsmith-PMCQBCIK.js → langsmith-W5234OE7.js} +4 -4
- package/dist/{lemlist-VWZXIHJX.js → lemlist-QB6W2G7N.js} +4 -4
- package/dist/{linear-YXG4KZR4.js → linear-MHBD6A7X.js} +4 -4
- package/dist/{logsnag-XENBYHHK.js → logsnag-RN57XIJS.js} +4 -4
- package/dist/main.js +113 -106
- package/dist/{mattermost-BHVJP5MA.js → mattermost-QRXSZMZA.js} +4 -4
- package/dist/{mem0-7AP5UBJV.js → mem0-K63NN3LA.js} +4 -4
- package/dist/{memos-MNVRYSLG.js → memos-4IOUOFKH.js} +4 -4
- package/dist/{metabase-NSXM7EID.js → metabase-IOE44EKL.js} +4 -4
- package/dist/{mistral_ai-HXN625YX.js → mistral_ai-X7ASGV5I.js} +4 -4
- package/dist/{mother_duck-46VQ3V3D.js → mother_duck-CNN3QWQH.js} +4 -4
- package/dist/{ngrok-BWCVMS3T.js → ngrok-QNE4AHEH.js} +4 -4
- package/dist/{notes-AVHKCFLU.js → notes-Q6OLBS2L.js} +2 -2
- package/dist/{notion-BSEN3KSU.js → notion-ADDRQTCE.js} +4 -4
- package/dist/{open_exchange_rates-DWO4T5TF.js → open_exchange_rates-WR5PJQTG.js} +4 -4
- package/dist/{openai-HPZYRS3M.js → openai-UZBNNAAH.js} +4 -4
- package/dist/{opengraph_io-OLUAYD5P.js → opengraph_io-2JNEXCPJ.js} +4 -4
- package/dist/{openrouter-4DQYZIG3.js → openrouter-EF62BDIH.js} +4 -4
- package/dist/{outline-ZDNMKXZ6.js → outline-O4TIRWJT.js} +4 -4
- package/dist/{paddle-HCOOYW3F.js → paddle-SEFKNENH.js} +4 -4
- package/dist/{perplexity-2GJJPDA7.js → perplexity-FZYOIPDS.js} +4 -4
- package/dist/{pinecone-ZPOBKL5T.js → pinecone-EXDPYDY7.js} +4 -4
- package/dist/{pipedrive-3WN2RFMB.js → pipedrive-EDO4C3AM.js} +4 -4
- package/dist/{polar-DJFGBTXW.js → polar-QJXHVFIP.js} +4 -4
- package/dist/{posthog-G4OXNEXP.js → posthog-U6QEXJE2.js} +4 -4
- package/dist/{postmark-NJMGDQKO.js → postmark-PFZIWXMP.js} +4 -4
- package/dist/{prerender-2TUPKRK5.js → prerender-SK2AXNJY.js} +4 -4
- package/dist/{pubmed-CCXZZT34.js → pubmed-CB7OJNBH.js} +4 -4
- package/dist/{railway-ZUUY5YYR.js → railway-BMMNQ6XH.js} +4 -4
- package/dist/{readwise-PYSRGJ4J.js → readwise-YQY7O5QR.js} +4 -4
- package/dist/{render-SFA3EMGM.js → render-7CRNEEJ3.js} +4 -4
- package/dist/{replicate-KGZHYBPK.js → replicate-V6AX7WFC.js} +4 -4
- package/dist/{resend-HENMZC5U.js → resend-ZBH56UAQ.js} +4 -4
- package/dist/{rootly-HV2PXIDP.js → rootly-C4FIXIF7.js} +4 -4
- package/dist/{scrapfly-FOZFHUN3.js → scrapfly-UE434KD7.js} +4 -4
- package/dist/{scrapingbee-VHUMSO2J.js → scrapingbee-PQCNKALD.js} +4 -4
- package/dist/{screenshot_fyi-FFDXAKHD.js → screenshot_fyi-U6QGI6ZH.js} +4 -4
- package/dist/{semantic_scholar-GHO37BZF.js → semantic_scholar-PSMUOG2W.js} +4 -4
- package/dist/{sentry-MZVZW3YE.js → sentry-F5CNVQA2.js} +4 -4
- package/dist/{shodan-IDICOPGU.js → shodan-NOWG7NV5.js} +4 -4
- package/dist/{shopify-WQLO23JO.js → shopify-GGPLJIGC.js} +4 -4
- package/dist/{stripe-XOAKLAKU.js → stripe-72K2UMK3.js} +4 -4
- package/dist/{supabase-6DKGSLST.js → supabase-H7NRCSAO.js} +4 -4
- package/dist/{tavily-76QZGEHM.js → tavily-ISP24QUX.js} +4 -4
- package/dist/{telegram-O536CLFR.js → telegram-POII6NKE.js} +4 -4
- package/dist/{telnyx-XOPYXF3K.js → telnyx-3D7TOVNA.js} +4 -4
- package/dist/{todoist-YXHVWPP3.js → todoist-LKYPKRKB.js} +4 -4
- package/dist/{trello-WMTM3WA2.js → trello-WW74UYIQ.js} +4 -4
- package/dist/{turso-CG7PR5HM.js → turso-SUFRHBHW.js} +4 -4
- package/dist/{twilio-ZW4SD36D.js → twilio-QB7PBL2B.js} +4 -4
- package/dist/{umami-IJQ5VH77.js → umami-CAHHP3SV.js} +4 -4
- package/dist/{unsplash-JBQY7NKO.js → unsplash-ZCGEPHGQ.js} +4 -4
- package/dist/{upstash_redis-2BAO776T.js → upstash_redis-DZ4AKZWT.js} +4 -4
- package/dist/{uptimerobot-BRIHMPB3.js → uptimerobot-KVEQJGTZ.js} +4 -4
- package/dist/{v2ex-HWIHF4HX.js → v2ex-BCYYBPH7.js} +4 -4
- package/dist/{vercel-MGMRY2DJ.js → vercel-GH4G7EUS.js} +4 -4
- package/dist/{wolfram_alpha_api-JG6JD33L.js → wolfram_alpha_api-XFG2MQBL.js} +4 -4
- package/dist/{wordpress-ZSYJERWV.js → wordpress-DZ2TVNAA.js} +4 -4
- package/dist/{workos-QFEOSJAN.js → workos-EHUAGTGN.js} +4 -4
- package/dist/{zhihu-5RF7BBFV.js → zhihu-OJJW3ZIH.js} +4 -4
- package/package.json +5 -3
|
@@ -14820,7 +14820,7 @@ function checkRegisterPath(input) {
|
|
|
14820
14820
|
if (!checkScopes(sk.scopes, targetPath, "register")) {
|
|
14821
14821
|
return deny(`no scope grants 'register' on '${targetPath}'`);
|
|
14822
14822
|
}
|
|
14823
|
-
if (existing && existing.registeredBy !== sk.id && existing.registeredBy !== SYSTEM_AUTO) {
|
|
14823
|
+
if (existing && existing.registeredBy !== sk.id && existing.registeredBy !== SYSTEM_AUTO && !checkScopes(sk.scopes, targetPath, "admin")) {
|
|
14824
14824
|
return {
|
|
14825
14825
|
allow: false,
|
|
14826
14826
|
error: new TBError("conflict", `path '${targetPath}' is registered by another key`)
|
|
@@ -16362,7 +16362,7 @@ function registryCmds(nodePath) {
|
|
|
16362
16362
|
name: "delete",
|
|
16363
16363
|
method: "POST",
|
|
16364
16364
|
path,
|
|
16365
|
-
h: "unmount a node (and reclaim empty auto-created parents)",
|
|
16365
|
+
h: "unmount a node (and reclaim empty auto-created parents); a node registered by another key can only be removed by its registrar or by a key holding the 'admin' scope on that path",
|
|
16366
16366
|
inputSchema: {
|
|
16367
16367
|
type: "object",
|
|
16368
16368
|
properties: { path: { type: "string", description: "exact tree path" } },
|
|
@@ -18428,32 +18428,6 @@ function decodePluginCall(body) {
|
|
|
18428
18428
|
return parsed.data;
|
|
18429
18429
|
}
|
|
18430
18430
|
|
|
18431
|
-
// ../core/src/search/shortTermSql.ts
|
|
18432
|
-
function shortTermsSql(patterns) {
|
|
18433
|
-
return `short_terms(pattern) AS (VALUES ${patterns.map(() => "(?)").join(", ")})`;
|
|
18434
|
-
}
|
|
18435
|
-
var SHORT_MATCH_SQL = `
|
|
18436
|
-
NOT EXISTS (
|
|
18437
|
-
SELECT 1 FROM short_terms
|
|
18438
|
-
WHERE tools.name NOT LIKE pattern ESCAPE '!'
|
|
18439
|
-
AND tools.description NOT LIKE pattern ESCAPE '!'
|
|
18440
|
-
AND tools.feedback NOT LIKE pattern ESCAPE '!'
|
|
18441
|
-
)
|
|
18442
|
-
`;
|
|
18443
|
-
var SHORT_SCORE_SQL = `
|
|
18444
|
-
(
|
|
18445
|
-
SELECT COALESCE(SUM(
|
|
18446
|
-
CASE
|
|
18447
|
-
WHEN tools.name LIKE pattern ESCAPE '!' THEN 10
|
|
18448
|
-
WHEN tools.description LIKE pattern ESCAPE '!' THEN 3
|
|
18449
|
-
WHEN tools.feedback LIKE pattern ESCAPE '!' THEN 1
|
|
18450
|
-
ELSE 0
|
|
18451
|
-
END
|
|
18452
|
-
), 0)
|
|
18453
|
-
FROM short_terms
|
|
18454
|
-
)
|
|
18455
|
-
`;
|
|
18456
|
-
|
|
18457
18431
|
// ../core/src/search/types.ts
|
|
18458
18432
|
var TOOL_SEARCH_BATCH_LIMIT = 100;
|
|
18459
18433
|
var TOOL_SEARCH_WORK_LIMIT = 400;
|
|
@@ -18638,6 +18612,13 @@ function likePattern(term) {
|
|
|
18638
18612
|
const escaped = term.replaceAll("!", "!!").replaceAll("%", "!%").replaceAll("_", "!_");
|
|
18639
18613
|
return `%${escaped}%`;
|
|
18640
18614
|
}
|
|
18615
|
+
function toolSearchLikePatterns(query) {
|
|
18616
|
+
const terms = normalizeToolSearchQuery(query).split(/\s+/u);
|
|
18617
|
+
if (terms.length > TOOL_SEARCH_TERM_LIMIT) {
|
|
18618
|
+
throw new TBError("invalid_argument", `\u641C\u7D22 query \u6700\u591A ${TOOL_SEARCH_TERM_LIMIT} \u4E2A terms`);
|
|
18619
|
+
}
|
|
18620
|
+
return terms.map(likePattern);
|
|
18621
|
+
}
|
|
18641
18622
|
function prepareToolSearchQuery(query) {
|
|
18642
18623
|
const normalized = normalizeToolSearchQuery(query);
|
|
18643
18624
|
const terms = normalized.split(/\s+/u);
|
|
@@ -18722,6 +18703,32 @@ async function decodeToolSearchCursor(cursor, query, mode, revision, secret) {
|
|
|
18722
18703
|
return payload.o ?? 0;
|
|
18723
18704
|
}
|
|
18724
18705
|
|
|
18706
|
+
// ../core/src/search/shortTermSql.ts
|
|
18707
|
+
function shortTermsSql(patterns) {
|
|
18708
|
+
return `short_terms(pattern) AS (VALUES ${patterns.map(() => "(?)").join(", ")})`;
|
|
18709
|
+
}
|
|
18710
|
+
var SHORT_MATCH_SQL = `
|
|
18711
|
+
NOT EXISTS (
|
|
18712
|
+
SELECT 1 FROM short_terms
|
|
18713
|
+
WHERE tools.name NOT LIKE pattern ESCAPE '!'
|
|
18714
|
+
AND tools.description NOT LIKE pattern ESCAPE '!'
|
|
18715
|
+
AND tools.feedback NOT LIKE pattern ESCAPE '!'
|
|
18716
|
+
)
|
|
18717
|
+
`;
|
|
18718
|
+
var SHORT_SCORE_SQL = `
|
|
18719
|
+
(
|
|
18720
|
+
SELECT COALESCE(SUM(
|
|
18721
|
+
CASE
|
|
18722
|
+
WHEN tools.name LIKE pattern ESCAPE '!' THEN 10
|
|
18723
|
+
WHEN tools.description LIKE pattern ESCAPE '!' THEN 3
|
|
18724
|
+
WHEN tools.feedback LIKE pattern ESCAPE '!' THEN 1
|
|
18725
|
+
ELSE 0
|
|
18726
|
+
END
|
|
18727
|
+
), 0)
|
|
18728
|
+
FROM short_terms
|
|
18729
|
+
)
|
|
18730
|
+
`;
|
|
18731
|
+
|
|
18725
18732
|
// ../core/src/search/sqlSearchIndex.ts
|
|
18726
18733
|
var TOOL_SEARCH_SCHEMA_STATEMENTS = [
|
|
18727
18734
|
`CREATE TABLE IF NOT EXISTS tb_search_tools_v3 (
|
|
@@ -18859,12 +18866,34 @@ function toolSearchCandidateStatement(prepared, limit, offset) {
|
|
|
18859
18866
|
`
|
|
18860
18867
|
};
|
|
18861
18868
|
}
|
|
18869
|
+
var sqliteSearchDialect = {
|
|
18870
|
+
candidateStatement: (query, limit, offset) => toolSearchCandidateStatement(prepareToolSearchQuery(query), limit, offset),
|
|
18871
|
+
schemaStatements: TOOL_SEARCH_SCHEMA_STATEMENTS,
|
|
18872
|
+
statements: {
|
|
18873
|
+
bumpRevision: BUMP_REVISION_SQL,
|
|
18874
|
+
completeRebuild: COMPLETE_REBUILD_SQL,
|
|
18875
|
+
deleteAllSnapshots: DELETE_ALL_SNAPSHOTS_SQL,
|
|
18876
|
+
deleteAllTools: DELETE_ALL_TOOLS_SQL,
|
|
18877
|
+
deleteSnapshot: DELETE_SNAPSHOT_SQL,
|
|
18878
|
+
deleteSnapshotPrefix: DELETE_SNAPSHOT_PREFIX_SQL,
|
|
18879
|
+
deleteTools: DELETE_TOOLS_SQL,
|
|
18880
|
+
deleteToolsPrefix: DELETE_TOOLS_PREFIX_SQL,
|
|
18881
|
+
insertSnapshot: TOOL_SEARCH_INSERT_SNAPSHOT_SQL,
|
|
18882
|
+
meta: META_SQL,
|
|
18883
|
+
pathState: PATH_STATE_SQL,
|
|
18884
|
+
present: PRESENT_SQL,
|
|
18885
|
+
presentPrefix: PRESENT_PREFIX_SQL,
|
|
18886
|
+
snapshotDigests: SNAPSHOT_DIGESTS_SQL
|
|
18887
|
+
}
|
|
18888
|
+
};
|
|
18862
18889
|
var SqlSearchIndex = class {
|
|
18863
|
-
constructor(driver) {
|
|
18890
|
+
constructor(driver, dialect = sqliteSearchDialect) {
|
|
18864
18891
|
this.driver = driver;
|
|
18892
|
+
this.dialect = dialect;
|
|
18865
18893
|
}
|
|
18866
18894
|
driver;
|
|
18867
18895
|
capabilities = ["search"];
|
|
18896
|
+
dialect;
|
|
18868
18897
|
/** 容量 trigger 的 ABORT 在各驱动里错误形状不同,统一按标记串归一。 */
|
|
18869
18898
|
async writeOrCapacity(statements) {
|
|
18870
18899
|
try {
|
|
@@ -18877,14 +18906,14 @@ var SqlSearchIndex = class {
|
|
|
18877
18906
|
}
|
|
18878
18907
|
}
|
|
18879
18908
|
async meta() {
|
|
18880
|
-
const row = await this.driver.first({ params: [], sql:
|
|
18909
|
+
const row = await this.driver.first({ params: [], sql: this.dialect.statements.meta });
|
|
18881
18910
|
if (row === null) throw new TBError("internal", "\u5DE5\u5177\u641C\u7D22 meta \u7F3A\u5931");
|
|
18882
18911
|
return row;
|
|
18883
18912
|
}
|
|
18884
18913
|
async snapshotDigests() {
|
|
18885
18914
|
const rows = await this.driver.all({
|
|
18886
18915
|
params: [],
|
|
18887
|
-
sql:
|
|
18916
|
+
sql: this.dialect.statements.snapshotDigests
|
|
18888
18917
|
});
|
|
18889
18918
|
return new Map(rows.map((row) => [row.path, row.digest]));
|
|
18890
18919
|
}
|
|
@@ -18898,7 +18927,7 @@ var SqlSearchIndex = class {
|
|
|
18898
18927
|
await this.driver.ensureSchema();
|
|
18899
18928
|
const current = await this.driver.first({
|
|
18900
18929
|
params: [canonical, canonical],
|
|
18901
|
-
sql:
|
|
18930
|
+
sql: this.dialect.statements.pathState
|
|
18902
18931
|
});
|
|
18903
18932
|
const digest = records.length === 0 ? null : toolSearchSnapshotDigest(records);
|
|
18904
18933
|
if (current !== null && (digest !== null && current.digest === digest || digest === null && current.digest === null && current.has_tools === 0)) return;
|
|
@@ -18907,12 +18936,13 @@ var SqlSearchIndex = class {
|
|
|
18907
18936
|
}
|
|
18908
18937
|
const inserts = this.driver.insertRecords(records);
|
|
18909
18938
|
this.driver.assertInsertBudget?.(inserts.length);
|
|
18939
|
+
const statements = this.dialect.statements;
|
|
18910
18940
|
await this.writeOrCapacity([
|
|
18911
|
-
{ params: [canonical], sql:
|
|
18941
|
+
{ params: [canonical], sql: statements.deleteTools },
|
|
18912
18942
|
...inserts,
|
|
18913
|
-
{ params: [canonical], sql:
|
|
18914
|
-
...digest === null ? [] : [{ params: [canonical, digest], sql:
|
|
18915
|
-
{ params: [], sql:
|
|
18943
|
+
{ params: [canonical], sql: statements.deleteSnapshot },
|
|
18944
|
+
...digest === null ? [] : [{ params: [canonical, digest], sql: statements.insertSnapshot }],
|
|
18945
|
+
{ params: [], sql: statements.bumpRevision }
|
|
18916
18946
|
]);
|
|
18917
18947
|
}
|
|
18918
18948
|
async remove(path) {
|
|
@@ -18920,13 +18950,14 @@ var SqlSearchIndex = class {
|
|
|
18920
18950
|
await this.driver.ensureSchema();
|
|
18921
18951
|
const current = await this.driver.first({
|
|
18922
18952
|
params: [canonical],
|
|
18923
|
-
sql:
|
|
18953
|
+
sql: this.dialect.statements.present
|
|
18924
18954
|
});
|
|
18925
18955
|
if (current === null) return;
|
|
18956
|
+
const statements = this.dialect.statements;
|
|
18926
18957
|
await this.driver.write([
|
|
18927
|
-
{ params: [canonical], sql:
|
|
18928
|
-
{ params: [canonical], sql:
|
|
18929
|
-
{ params: [], sql:
|
|
18958
|
+
{ params: [canonical], sql: statements.deleteTools },
|
|
18959
|
+
{ params: [canonical], sql: statements.deleteSnapshot },
|
|
18960
|
+
{ params: [], sql: statements.bumpRevision }
|
|
18930
18961
|
]);
|
|
18931
18962
|
}
|
|
18932
18963
|
async removePrefix(path) {
|
|
@@ -18935,13 +18966,14 @@ var SqlSearchIndex = class {
|
|
|
18935
18966
|
const prefixParams = [canonical, canonical, canonical];
|
|
18936
18967
|
const current = await this.driver.first({
|
|
18937
18968
|
params: prefixParams,
|
|
18938
|
-
sql:
|
|
18969
|
+
sql: this.dialect.statements.presentPrefix
|
|
18939
18970
|
});
|
|
18940
18971
|
if (current === null) return;
|
|
18972
|
+
const statements = this.dialect.statements;
|
|
18941
18973
|
await this.driver.write([
|
|
18942
|
-
{ params: prefixParams, sql:
|
|
18943
|
-
{ params: prefixParams, sql:
|
|
18944
|
-
{ params: [], sql:
|
|
18974
|
+
{ params: prefixParams, sql: statements.deleteToolsPrefix },
|
|
18975
|
+
{ params: prefixParams, sql: statements.deleteSnapshotPrefix },
|
|
18976
|
+
{ params: [], sql: statements.bumpRevision }
|
|
18945
18977
|
]);
|
|
18946
18978
|
}
|
|
18947
18979
|
async rebuild(documents) {
|
|
@@ -18955,12 +18987,13 @@ var SqlSearchIndex = class {
|
|
|
18955
18987
|
const inserts = this.driver.insertRecords(records);
|
|
18956
18988
|
const snapshots = this.driver.insertSnapshots(desired);
|
|
18957
18989
|
this.driver.assertInsertBudget?.(inserts.length + snapshots.length);
|
|
18990
|
+
const statements = this.dialect.statements;
|
|
18958
18991
|
await this.writeOrCapacity([
|
|
18959
|
-
{ params: [], sql:
|
|
18960
|
-
{ params: [], sql:
|
|
18992
|
+
{ params: [], sql: statements.deleteAllTools },
|
|
18993
|
+
{ params: [], sql: statements.deleteAllSnapshots },
|
|
18961
18994
|
...inserts,
|
|
18962
18995
|
...snapshots,
|
|
18963
|
-
{ params: [], sql:
|
|
18996
|
+
{ params: [], sql: statements.completeRebuild }
|
|
18964
18997
|
]);
|
|
18965
18998
|
}
|
|
18966
18999
|
async search(query, opts) {
|
|
@@ -18979,7 +19012,7 @@ var SqlSearchIndex = class {
|
|
|
18979
19012
|
);
|
|
18980
19013
|
const limit = Math.min(normalizeToolSearchLimit(opts?.limit), TOOL_SEARCH_BATCH_LIMIT);
|
|
18981
19014
|
const rows = await this.driver.all(
|
|
18982
|
-
|
|
19015
|
+
this.dialect.candidateStatement(normalized, limit, offset)
|
|
18983
19016
|
);
|
|
18984
19017
|
const hasMore = rows.length > limit;
|
|
18985
19018
|
const page = hasMore ? rows.slice(0, limit) : rows;
|
|
@@ -19018,6 +19051,145 @@ var SqlSearchIndex = class {
|
|
|
19018
19051
|
}
|
|
19019
19052
|
};
|
|
19020
19053
|
|
|
19054
|
+
// ../core/src/search/pgSearchDialect.ts
|
|
19055
|
+
var PG_SEARCH_SCHEMA_STATEMENTS = [
|
|
19056
|
+
`CREATE TABLE IF NOT EXISTS tb_search_tools_v3 (
|
|
19057
|
+
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
19058
|
+
path text NOT NULL,
|
|
19059
|
+
name text NOT NULL,
|
|
19060
|
+
description text NOT NULL DEFAULT '',
|
|
19061
|
+
feedback text NOT NULL DEFAULT '',
|
|
19062
|
+
UNIQUE(path, name)
|
|
19063
|
+
)`,
|
|
19064
|
+
// 这里**故意不建 trigram GIN 索引**。实测(4000 条记录 = 500 节点上限满载):
|
|
19065
|
+
// 候选查询是"三列 ILIKE 用 OR 连接 + LIMIT",规划器一律选 Seq Scan(整表仅 1 个
|
|
19066
|
+
// buffer),GIN 索引一次都没被使用;而它让插入从 13.7ms 涨到 75.8ms(5.5×)、表总大小
|
|
19067
|
+
// 从 1072 kB 涨到 7208 kB(6.7×),检索却仍是 0.50 vs 0.53ms —— 纯负担。
|
|
19068
|
+
// 索引记录数受 TOOL_SEARCH_AUDIT_NODE_LIMIT 硬顶约束,不会增长到需要索引的规模;
|
|
19069
|
+
// 若将来放宽该上限,应连同候选查询形状(拆成 UNION 或改单列检索列)一起重新评估。
|
|
19070
|
+
`CREATE TABLE IF NOT EXISTS tb_search_meta_v3 (
|
|
19071
|
+
singleton integer PRIMARY KEY CHECK (singleton = 1),
|
|
19072
|
+
revision bigint NOT NULL DEFAULT 0,
|
|
19073
|
+
seeded integer NOT NULL DEFAULT 0,
|
|
19074
|
+
cursor_secret text NOT NULL
|
|
19075
|
+
)`,
|
|
19076
|
+
// cursor_secret 需 64 hex(32 字节)。两个内置 gen_random_uuid() 去连字符正好 64
|
|
19077
|
+
// hex,避免依赖 pgcrypto 的 gen_random_bytes(自托管 PG 未必预装 pgcrypto)。
|
|
19078
|
+
`INSERT INTO tb_search_meta_v3(singleton, revision, seeded, cursor_secret)
|
|
19079
|
+
VALUES (
|
|
19080
|
+
1, 0, 0,
|
|
19081
|
+
replace(gen_random_uuid()::text, '-', '') || replace(gen_random_uuid()::text, '-', '')
|
|
19082
|
+
)
|
|
19083
|
+
ON CONFLICT (singleton) DO NOTHING`,
|
|
19084
|
+
`CREATE TABLE IF NOT EXISTS tb_search_snapshots_v3 (
|
|
19085
|
+
path text PRIMARY KEY,
|
|
19086
|
+
digest text NOT NULL
|
|
19087
|
+
)`,
|
|
19088
|
+
`CREATE OR REPLACE FUNCTION tb_search_snapshots_v3_capacity()
|
|
19089
|
+
RETURNS trigger AS $$
|
|
19090
|
+
BEGIN
|
|
19091
|
+
IF (SELECT COUNT(*) FROM tb_search_snapshots_v3) >= ${TOOL_SEARCH_AUDIT_NODE_LIMIT} THEN
|
|
19092
|
+
RAISE EXCEPTION '${TOOL_SEARCH_CAPACITY_MARKER}';
|
|
19093
|
+
END IF;
|
|
19094
|
+
RETURN NEW;
|
|
19095
|
+
END;
|
|
19096
|
+
$$ LANGUAGE plpgsql`,
|
|
19097
|
+
`DROP TRIGGER IF EXISTS tb_search_snapshots_v3_capacity_trg ON tb_search_snapshots_v3`,
|
|
19098
|
+
`CREATE TRIGGER tb_search_snapshots_v3_capacity_trg
|
|
19099
|
+
BEFORE INSERT ON tb_search_snapshots_v3
|
|
19100
|
+
FOR EACH ROW EXECUTE FUNCTION tb_search_snapshots_v3_capacity()`
|
|
19101
|
+
];
|
|
19102
|
+
var PG_SEARCH_WRITE_LOCK_KEY = 2069799624;
|
|
19103
|
+
var PG_SEARCH_INSERT_SNAPSHOT_SQL = "INSERT INTO tb_search_snapshots_v3(path, digest) VALUES ($1, $2)";
|
|
19104
|
+
function pgBulkInsertSql(table, columns, rows) {
|
|
19105
|
+
const tuples = [];
|
|
19106
|
+
for (let r = 0; r < rows; r++) {
|
|
19107
|
+
const placeholders = columns.map((_, c) => `$${r * columns.length + c + 1}`);
|
|
19108
|
+
tuples.push(`(${placeholders.join(", ")})`);
|
|
19109
|
+
}
|
|
19110
|
+
return `INSERT INTO ${table} (${columns.join(", ")}) VALUES ${tuples.join(", ")}`;
|
|
19111
|
+
}
|
|
19112
|
+
var PG_SEARCH_TOOLS_TABLE = "tb_search_tools_v3";
|
|
19113
|
+
var PG_SEARCH_TOOLS_COLUMNS = ["path", "name", "description", "feedback"];
|
|
19114
|
+
var PG_SEARCH_SNAPSHOTS_TABLE = "tb_search_snapshots_v3";
|
|
19115
|
+
var PG_SEARCH_SNAPSHOTS_COLUMNS = ["path", "digest"];
|
|
19116
|
+
var PG_SEARCH_INSERT_ROWS_MAX = 1e3;
|
|
19117
|
+
var META_SQL2 = `
|
|
19118
|
+
SELECT revision::int AS revision, seeded::int AS seeded, cursor_secret
|
|
19119
|
+
FROM tb_search_meta_v3 WHERE singleton = 1
|
|
19120
|
+
`;
|
|
19121
|
+
var SNAPSHOT_DIGESTS_SQL2 = "SELECT path, digest FROM tb_search_snapshots_v3 ORDER BY path";
|
|
19122
|
+
var PATH_STATE_SQL2 = `
|
|
19123
|
+
SELECT snapshots.digest,
|
|
19124
|
+
EXISTS(SELECT 1 FROM tb_search_tools_v3 WHERE path = $1)::int AS has_tools,
|
|
19125
|
+
(SELECT COUNT(*) FROM tb_search_snapshots_v3)::int AS path_count
|
|
19126
|
+
FROM (SELECT 1) AS singleton
|
|
19127
|
+
LEFT JOIN tb_search_snapshots_v3 AS snapshots ON snapshots.path = $2
|
|
19128
|
+
`;
|
|
19129
|
+
var PRESENT_SQL2 = "SELECT 1 AS present FROM tb_search_tools_v3 WHERE path = $1 LIMIT 1";
|
|
19130
|
+
var PRESENT_PREFIX_SQL2 = `
|
|
19131
|
+
SELECT 1 AS present FROM tb_search_tools_v3
|
|
19132
|
+
WHERE path = $1 OR substr(path, 1, length($2) + 1) = $3 || '/'
|
|
19133
|
+
LIMIT 1
|
|
19134
|
+
`;
|
|
19135
|
+
var DELETE_TOOLS_SQL2 = "DELETE FROM tb_search_tools_v3 WHERE path = $1";
|
|
19136
|
+
var DELETE_SNAPSHOT_SQL2 = "DELETE FROM tb_search_snapshots_v3 WHERE path = $1";
|
|
19137
|
+
var DELETE_TOOLS_PREFIX_SQL2 = `
|
|
19138
|
+
DELETE FROM tb_search_tools_v3
|
|
19139
|
+
WHERE path = $1 OR substr(path, 1, length($2) + 1) = $3 || '/'
|
|
19140
|
+
`;
|
|
19141
|
+
var DELETE_SNAPSHOT_PREFIX_SQL2 = `
|
|
19142
|
+
DELETE FROM tb_search_snapshots_v3
|
|
19143
|
+
WHERE path = $1 OR substr(path, 1, length($2) + 1) = $3 || '/'
|
|
19144
|
+
`;
|
|
19145
|
+
var DELETE_ALL_TOOLS_SQL2 = "DELETE FROM tb_search_tools_v3";
|
|
19146
|
+
var DELETE_ALL_SNAPSHOTS_SQL2 = "DELETE FROM tb_search_snapshots_v3";
|
|
19147
|
+
var BUMP_REVISION_SQL2 = "UPDATE tb_search_meta_v3 SET revision = revision + 1 WHERE singleton = 1";
|
|
19148
|
+
var COMPLETE_REBUILD_SQL2 = "UPDATE tb_search_meta_v3 SET seeded = 1, revision = revision + 1 WHERE singleton = 1";
|
|
19149
|
+
function pgCandidateStatement(query, limit, offset) {
|
|
19150
|
+
const patterns = toolSearchLikePatterns(query);
|
|
19151
|
+
const matchClauses = patterns.map((_, i) => {
|
|
19152
|
+
const p = `$${i + 1}`;
|
|
19153
|
+
return `(name ILIKE ${p} ESCAPE '!' OR description ILIKE ${p} ESCAPE '!' OR feedback ILIKE ${p} ESCAPE '!')`;
|
|
19154
|
+
});
|
|
19155
|
+
const scoreTerms = patterns.map((_, i) => {
|
|
19156
|
+
const p = `$${i + 1}`;
|
|
19157
|
+
return `CASE WHEN name ILIKE ${p} ESCAPE '!' THEN 10 WHEN description ILIKE ${p} ESCAPE '!' THEN 3 WHEN feedback ILIKE ${p} ESCAPE '!' THEN 1 ELSE 0 END`;
|
|
19158
|
+
});
|
|
19159
|
+
const limitParam = `$${patterns.length + 1}`;
|
|
19160
|
+
const offsetParam = `$${patterns.length + 2}`;
|
|
19161
|
+
return {
|
|
19162
|
+
params: [...patterns, limit + 1, offset],
|
|
19163
|
+
sql: `
|
|
19164
|
+
SELECT id, path, name, (${scoreTerms.join(" + ")}) AS score
|
|
19165
|
+
FROM tb_search_tools_v3
|
|
19166
|
+
WHERE ${matchClauses.join(" AND ")}
|
|
19167
|
+
ORDER BY score DESC, path, name
|
|
19168
|
+
LIMIT ${limitParam} OFFSET ${offsetParam}
|
|
19169
|
+
`
|
|
19170
|
+
};
|
|
19171
|
+
}
|
|
19172
|
+
var pgSearchDialect = {
|
|
19173
|
+
candidateStatement: pgCandidateStatement,
|
|
19174
|
+
schemaStatements: PG_SEARCH_SCHEMA_STATEMENTS,
|
|
19175
|
+
statements: {
|
|
19176
|
+
bumpRevision: BUMP_REVISION_SQL2,
|
|
19177
|
+
completeRebuild: COMPLETE_REBUILD_SQL2,
|
|
19178
|
+
deleteAllSnapshots: DELETE_ALL_SNAPSHOTS_SQL2,
|
|
19179
|
+
deleteAllTools: DELETE_ALL_TOOLS_SQL2,
|
|
19180
|
+
deleteSnapshot: DELETE_SNAPSHOT_SQL2,
|
|
19181
|
+
deleteSnapshotPrefix: DELETE_SNAPSHOT_PREFIX_SQL2,
|
|
19182
|
+
deleteTools: DELETE_TOOLS_SQL2,
|
|
19183
|
+
deleteToolsPrefix: DELETE_TOOLS_PREFIX_SQL2,
|
|
19184
|
+
insertSnapshot: PG_SEARCH_INSERT_SNAPSHOT_SQL,
|
|
19185
|
+
meta: META_SQL2,
|
|
19186
|
+
pathState: PATH_STATE_SQL2,
|
|
19187
|
+
present: PRESENT_SQL2,
|
|
19188
|
+
presentPrefix: PRESENT_PREFIX_SQL2,
|
|
19189
|
+
snapshotDigests: SNAPSHOT_DIGESTS_SQL2
|
|
19190
|
+
}
|
|
19191
|
+
};
|
|
19192
|
+
|
|
19021
19193
|
// ../core/src/secret/secretStore.ts
|
|
19022
19194
|
var AES_GCM_IV_BYTES = 12;
|
|
19023
19195
|
var MASTER_KEY_BYTES = 32;
|
|
@@ -20185,6 +20357,14 @@ export {
|
|
|
20185
20357
|
TOOL_SEARCH_INSERT_SQL,
|
|
20186
20358
|
TOOL_SEARCH_INSERT_SNAPSHOT_SQL,
|
|
20187
20359
|
SqlSearchIndex,
|
|
20360
|
+
PG_SEARCH_WRITE_LOCK_KEY,
|
|
20361
|
+
pgBulkInsertSql,
|
|
20362
|
+
PG_SEARCH_TOOLS_TABLE,
|
|
20363
|
+
PG_SEARCH_TOOLS_COLUMNS,
|
|
20364
|
+
PG_SEARCH_SNAPSHOTS_TABLE,
|
|
20365
|
+
PG_SEARCH_SNAPSHOTS_COLUMNS,
|
|
20366
|
+
PG_SEARCH_INSERT_ROWS_MAX,
|
|
20367
|
+
pgSearchDialect,
|
|
20188
20368
|
SecretStoreImpl,
|
|
20189
20369
|
SKILLHUB_CAPABILITIES,
|
|
20190
20370
|
skillhubScopeForCmd,
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/circleci/api.ts
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
external_exports
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TPGTA43F.js";
|
|
13
13
|
import "./chunk-MLKGABMK.js";
|
|
14
14
|
|
|
15
15
|
// ../plugins/src/clerk/api.ts
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/cloudflare_dns/api.ts
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
external_exports
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TPGTA43F.js";
|
|
13
13
|
import "./chunk-MLKGABMK.js";
|
|
14
14
|
|
|
15
15
|
// ../plugins/src/cohere/api.ts
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireCredential,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/confluence/api.ts
|
|
@@ -2,16 +2,16 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
assertPublicHttpUrl,
|
|
8
8
|
guardedFetch
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-SBJMMSPA.js";
|
|
10
|
+
import "./chunk-Q44CYUSI.js";
|
|
11
11
|
import {
|
|
12
12
|
TBError,
|
|
13
13
|
external_exports
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-TPGTA43F.js";
|
|
15
15
|
import "./chunk-MLKGABMK.js";
|
|
16
16
|
|
|
17
17
|
// ../plugins/src/convertapi/schema.ts
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
external_exports
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TPGTA43F.js";
|
|
13
13
|
import "./chunk-MLKGABMK.js";
|
|
14
14
|
|
|
15
15
|
// ../plugins/src/currencyapi/api.ts
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/deepseek/api.ts
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/docker_hub/api.ts
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/dropbox/api.ts
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/dub/api.ts
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
createProviderPlugin,
|
|
3
3
|
requireApiKey,
|
|
4
4
|
upstreamError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2DA2UI37.js";
|
|
6
6
|
import {
|
|
7
7
|
guardedFetch
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SBJMMSPA.js";
|
|
9
|
+
import "./chunk-Q44CYUSI.js";
|
|
10
10
|
import {
|
|
11
11
|
TBError,
|
|
12
12
|
external_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TPGTA43F.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// ../plugins/src/e2b/api.ts
|