@tool-bridge/server 0.23.0 → 0.24.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.
Files changed (110) hide show
  1. package/dist/admin.js +2 -2
  2. package/dist/{airtable-VMQVXLHK.js → airtable-Z6KEL3MA.js} +6 -6
  3. package/dist/{alt_text_generator_ai-FTWY4RU4.js → alt_text_generator_ai-RM2GHSNM.js} +5 -5
  4. package/dist/{amap-OK5VBHYC.js → amap-YEJLGIKY.js} +5 -5
  5. package/dist/{anthropic-S67AZFZ3.js → anthropic-62M4MUVQ.js} +6 -6
  6. package/dist/{apify-ZE6MYQI3.js → apify-AHRNDBCB.js} +6 -6
  7. package/dist/{brave_search-TG2M2KOD.js → brave_search-JAHWOMQC.js} +6 -6
  8. package/dist/{chunk-5ICRY3VU.js → chunk-7MUNQNXG.js} +481 -448
  9. package/dist/{chunk-TDAWLMDE.js → chunk-FZV7CF7L.js} +3 -3
  10. package/dist/{chunk-2JNAI4OC.js → chunk-GQ4O7NK5.js} +1 -1
  11. package/dist/{chunk-4XJPN3DY.js → chunk-LD7KQRQ3.js} +121 -104
  12. package/dist/{chunk-VWRUGUSU.js → chunk-NG4C7YB3.js} +3 -3
  13. package/dist/{chunk-WJHG6OK7.js → chunk-SU6Q4RAY.js} +2 -2
  14. package/dist/{chunk-BADVCN6K.js → chunk-TH3H5YAG.js} +1 -1
  15. package/dist/{chunk-7CTWGTDU.js → chunk-U2UGFSOX.js} +2 -2
  16. package/dist/{circleci-3L3WJVSK.js → circleci-UJUYBIAO.js} +6 -6
  17. package/dist/{clerk-EZPF2V7T.js → clerk-FCFM3WJK.js} +6 -6
  18. package/dist/{cohere-U27DPO64.js → cohere-OTSYSMPC.js} +6 -6
  19. package/dist/{confluence-G2KL6ERH.js → confluence-LPANSCGT.js} +6 -6
  20. package/dist/{convertapi-L4CLJ2M3.js → convertapi-AJZOVUHT.js} +4 -4
  21. package/dist/{currencyapi-YPYXG7YY.js → currencyapi-HGK5FSGO.js} +6 -6
  22. package/dist/{deepseek-6HT6WF3M.js → deepseek-7HMTFJRV.js} +6 -6
  23. package/dist/{docker_hub-LPE3PCVB.js → docker_hub-FCNVKJZW.js} +5 -5
  24. package/dist/{dropbox-V56ABHTA.js → dropbox-2XVKCQZE.js} +6 -6
  25. package/dist/{dub-6OKQ7MHT.js → dub-CTUKPX2A.js} +6 -6
  26. package/dist/{e2b-JS2U2QFU.js → e2b-ULEWTRKI.js} +6 -6
  27. package/dist/{exa-DPWVYXSP.js → exa-QENFV3AU.js} +6 -6
  28. package/dist/{fal_ai-DK6Y27ZF.js → fal_ai-TQYUBBAF.js} +6 -6
  29. package/dist/{feishu-K7EGSRF3.js → feishu-OYCWDSHD.js} +3 -3
  30. package/dist/{feishu_custom_bot-2JUGFYNG.js → feishu_custom_bot-VYQ7A3PU.js} +4 -4
  31. package/dist/{figma-FT5I7ITD.js → figma-5DLOKAQQ.js} +6 -6
  32. package/dist/{firehydrant-EIKLKHX2.js → firehydrant-X4MGP2OI.js} +6 -6
  33. package/dist/{fixer-U5QXIAKD.js → fixer-LMIWM3ZX.js} +5 -5
  34. package/dist/{fly-T3JYFZ2M.js → fly-J5HN5L2I.js} +6 -6
  35. package/dist/{front-D72MGVOR.js → front-E3SMBQW3.js} +6 -6
  36. package/dist/{geocodio-BOTD5TI5.js → geocodio-AOINRPLA.js} +5 -5
  37. package/dist/{ghost-KYP7SZGB.js → ghost-E4CBGZWJ.js} +5 -5
  38. package/dist/{github-AGMZT3VY.js → github-PGR6U3FC.js} +6 -6
  39. package/dist/{gmail-BLJNJOBG.js → gmail-XNQHMQ6F.js} +6 -6
  40. package/dist/{googlecalendar-GTHWNCF6.js → googlecalendar-RE6DGG7L.js} +6 -6
  41. package/dist/{googledocs-6EEDMEBQ.js → googledocs-CX2BZDQH.js} +4 -4
  42. package/dist/{grafana-GMW6EKSQ.js → grafana-GX75ZA5X.js} +6 -6
  43. package/dist/{graphhopper-6OLGBDGB.js → graphhopper-XMUYLWHS.js} +5 -5
  44. package/dist/index.js +5 -5
  45. package/dist/{ip2proxy-4QN42E6T.js → ip2proxy-ZGIRBAG5.js} +5 -5
  46. package/dist/{ipgeolocation_io-SK4XKDA2.js → ipgeolocation_io-MAP27QMO.js} +5 -5
  47. package/dist/{ipqualityscore-6ANBPXKT.js → ipqualityscore-6IIUUAQ2.js} +5 -5
  48. package/dist/{jina_ai-IHPSVRM5.js → jina_ai-GGH77RQH.js} +6 -6
  49. package/dist/{jira-46KKM4LC.js → jira-7GPZW6HZ.js} +6 -6
  50. package/dist/{langsmith-JZA345I5.js → langsmith-CJXYE7WM.js} +6 -6
  51. package/dist/{lemlist-43IV7DK6.js → lemlist-OYPOX6GN.js} +6 -6
  52. package/dist/{linear-5LFH7XNL.js → linear-TPQ6X4XZ.js} +4 -4
  53. package/dist/{logsnag-5RMYAHIL.js → logsnag-HT2PRLIV.js} +6 -6
  54. package/dist/main.js +5 -5
  55. package/dist/{mattermost-XFL6SHGG.js → mattermost-6IYTWTM5.js} +6 -6
  56. package/dist/{mem0-NYO4DTP6.js → mem0-7AVGBGOX.js} +6 -6
  57. package/dist/{memos-37MPQOLV.js → memos-CTOXWZ6X.js} +6 -6
  58. package/dist/{metabase-KYBKZFMG.js → metabase-AFJXQ5SQ.js} +6 -6
  59. package/dist/{mistral_ai-6PL3K4PM.js → mistral_ai-QDKM4N3R.js} +6 -6
  60. package/dist/{mother_duck-2NH7W5M5.js → mother_duck-XSKR4GVL.js} +6 -6
  61. package/dist/{ngrok-UO6CDYCA.js → ngrok-NQMLM24P.js} +6 -6
  62. package/dist/{notes-I3P32WP4.js → notes-ZWMVZQWJ.js} +2 -2
  63. package/dist/{notion-BEAJFUOE.js → notion-6544KSMM.js} +6 -6
  64. package/dist/{open_exchange_rates-CMF62JB4.js → open_exchange_rates-4CLN7O2N.js} +5 -5
  65. package/dist/{openai-IHOMKVND.js → openai-HLFGPVI5.js} +6 -6
  66. package/dist/{opengraph_io-ZQ2FGLHX.js → opengraph_io-57JDHT3M.js} +5 -5
  67. package/dist/{openrouter-HXLW3NR5.js → openrouter-WDAVB2OP.js} +6 -6
  68. package/dist/{outline-ELCP4NEU.js → outline-A6MDLZVH.js} +6 -6
  69. package/dist/{paddle-O77LALVN.js → paddle-WX5ULOPP.js} +6 -6
  70. package/dist/{perplexity-JCU654QV.js → perplexity-LYTWWWCZ.js} +6 -6
  71. package/dist/{pinecone-W5W4LRKL.js → pinecone-7KAF3S7U.js} +6 -6
  72. package/dist/{pipedrive-ITMJLLPZ.js → pipedrive-YQY243G7.js} +6 -6
  73. package/dist/{polar-R33XU4L3.js → polar-A5HKXSQY.js} +6 -6
  74. package/dist/{posthog-JVNTOLTV.js → posthog-CF2LHLS4.js} +6 -6
  75. package/dist/{postmark-6SBG7HWV.js → postmark-W756TMJM.js} +6 -6
  76. package/dist/{prerender-GPNKTNFC.js → prerender-ZYM4UQ5R.js} +5 -5
  77. package/dist/{pubmed-UP6ZEEIH.js → pubmed-QXTUQCTQ.js} +4 -4
  78. package/dist/{railway-KWEWXHTY.js → railway-F4MOZ3LQ.js} +4 -4
  79. package/dist/{readwise-BLATSMC3.js → readwise-S7MF5SR5.js} +6 -6
  80. package/dist/{render-QYRVIXII.js → render-D7EIVDUA.js} +6 -6
  81. package/dist/{replicate-JYTWH4NF.js → replicate-ABNKPZR7.js} +6 -6
  82. package/dist/{resend-L5N75SZM.js → resend-7VJEY4KC.js} +6 -6
  83. package/dist/{rootly-MHCPEQ26.js → rootly-UMFJOKXC.js} +6 -6
  84. package/dist/{scrapfly-PTPGYSJM.js → scrapfly-UDT4KNFL.js} +5 -5
  85. package/dist/{scrapingbee-JN6UH5PY.js → scrapingbee-XTFD54NB.js} +5 -5
  86. package/dist/{screenshot_fyi-4QRVSV55.js → screenshot_fyi-5GTW3SFY.js} +5 -5
  87. package/dist/{semantic_scholar-LRSWA2GE.js → semantic_scholar-Y6WK2MST.js} +6 -6
  88. package/dist/{sentry-2G6PF5W6.js → sentry-ZFPGDA6C.js} +6 -6
  89. package/dist/{shodan-WKKPP5C6.js → shodan-3SCDBOQ3.js} +5 -5
  90. package/dist/{shopify-64YDK5T2.js → shopify-LMTBS2I2.js} +6 -6
  91. package/dist/{stripe-QAIGGOTF.js → stripe-4JQJ2CUG.js} +4 -4
  92. package/dist/{supabase-WHTGR6ND.js → supabase-7HA3BEFK.js} +6 -6
  93. package/dist/{tavily-QIXCDDWO.js → tavily-H34ZBPGC.js} +6 -6
  94. package/dist/{telegram-E6G7CWI6.js → telegram-CRX4YWQ3.js} +5 -5
  95. package/dist/{telnyx-ZDVVS7PK.js → telnyx-TIKGEU34.js} +6 -6
  96. package/dist/{todoist-DMYF3G7J.js → todoist-LU563DGZ.js} +6 -6
  97. package/dist/{trello-HY2RYIRP.js → trello-NTRGEROX.js} +5 -5
  98. package/dist/{turso-HAQWMGRP.js → turso-EY3CNVPZ.js} +6 -6
  99. package/dist/{twilio-MLXYPHJE.js → twilio-ICX3WRQH.js} +4 -4
  100. package/dist/{umami-DZHBLPVG.js → umami-NPMRVI3M.js} +6 -6
  101. package/dist/{unsplash-GS2OPXKE.js → unsplash-TIHBZFIM.js} +6 -6
  102. package/dist/{upstash_redis-XMXWTNAJ.js → upstash_redis-2DO6EHCN.js} +6 -6
  103. package/dist/{uptimerobot-TF5WRZ4G.js → uptimerobot-BGYOCKGI.js} +4 -4
  104. package/dist/{v2ex-2BVXAPDF.js → v2ex-GOWDPGGA.js} +6 -6
  105. package/dist/{vercel-YMJGQYJE.js → vercel-G33RXVBI.js} +6 -6
  106. package/dist/{wolfram_alpha_api-I56SXWFZ.js → wolfram_alpha_api-IRZSMD3P.js} +5 -5
  107. package/dist/{wordpress-R7TDFZ2P.js → wordpress-ATWGGUC3.js} +6 -6
  108. package/dist/{workos-HDNHWVMS.js → workos-LHJDETBX.js} +6 -6
  109. package/dist/{zhihu-LX6AGGDS.js → zhihu-IAH53YPP.js} +6 -6
  110. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createProviderHttpClient
3
- } from "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-NG4C7YB3.js";
4
4
  import {
5
5
  asJsonObject,
6
6
  trimmedText
@@ -8,10 +8,10 @@ import {
8
8
  import {
9
9
  requireApiKey,
10
10
  upstreamError
11
- } from "./chunk-WJHG6OK7.js";
11
+ } from "./chunk-SU6Q4RAY.js";
12
12
  import {
13
13
  TBError
14
- } from "./chunk-5ICRY3VU.js";
14
+ } from "./chunk-7MUNQNXG.js";
15
15
 
16
16
  // ../plugins/src/_runtime/authedClient.ts
17
17
  function extractErrorMessage(payload, keys) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TBError
3
- } from "./chunk-5ICRY3VU.js";
3
+ } from "./chunk-7MUNQNXG.js";
4
4
 
5
5
  // ../plugins/src/_runtime/ipPolicy.ts
6
6
  import ipaddr from "ipaddr.js";
@@ -10,10 +10,10 @@ import {
10
10
  import {
11
11
  BootstrapStateStore,
12
12
  package_default
13
- } from "./chunk-7CTWGTDU.js";
13
+ } from "./chunk-U2UGFSOX.js";
14
14
  import {
15
15
  createGuardedFetch
16
- } from "./chunk-2JNAI4OC.js";
16
+ } from "./chunk-GQ4O7NK5.js";
17
17
  import {
18
18
  AnnotationStore,
19
19
  CONTEXT_CAPABILITIES,
@@ -100,6 +100,7 @@ import {
100
100
  deploymentSettingsSchema,
101
101
  derivePresence,
102
102
  deviceDirectoryHelpModel,
103
+ deviceEnvironmentSchema,
103
104
  deviceFsHelpModel,
104
105
  deviceOperationClaimRequestSchema,
105
106
  deviceOperationClaimResponseSchema,
@@ -191,7 +192,7 @@ import {
191
192
  validatePath,
192
193
  validateStoreTokenKeyring,
193
194
  virtualizeTools
194
- } from "./chunk-5ICRY3VU.js";
195
+ } from "./chunk-7MUNQNXG.js";
195
196
 
196
197
  // src/config.ts
197
198
  function runtimeAppSettings(settings, instanceId) {
@@ -219,7 +220,7 @@ function runtimeAppSettings(settings, instanceId) {
219
220
  // ../app/package.json
220
221
  var package_default2 = {
221
222
  name: "@tool-bridge/app",
222
- version: "0.22.0",
223
+ version: "0.23.0",
223
224
  description: "Host-neutral HTBP application: assemble the tool-bridge tree on any runtime by injecting state, object, secret, device-channel and search adapters",
224
225
  type: "module",
225
226
  license: "MIT",
@@ -19305,6 +19306,10 @@ async function processDeviceHello(opts) {
19305
19306
  throw new TBError("permission_denied", `no scope grants 'register' on '${mountPath}'`);
19306
19307
  }
19307
19308
  if (hello.expose.fs !== void 0) assertFsRoots(hello.expose.fs.roots);
19309
+ const environment = hello.expose.environment === void 0 ? void 0 : deviceEnvironmentSchema.safeParse(hello.expose.environment);
19310
+ if (environment !== void 0 && !environment.success) {
19311
+ throw new TBError("invalid_argument", "device environment contains invalid or unsupported fields");
19312
+ }
19308
19313
  const inputs = nodesForHello(mountPath, hello.deviceId, hello.expose);
19309
19314
  const registry = new NodeRegistryStore(store);
19310
19315
  for (const input of inputs) {
@@ -19323,7 +19328,12 @@ async function processDeviceHello(opts) {
19323
19328
  input,
19324
19329
  authCtx.keyId,
19325
19330
  now,
19326
- input.path === mountPath ? { deviceId: hello.deviceId, online: true, lastSeenAt: now } : {}
19331
+ input.path === mountPath ? {
19332
+ deviceId: hello.deviceId,
19333
+ online: true,
19334
+ lastSeenAt: now,
19335
+ ...environment === void 0 ? {} : { deviceEnvironment: environment.data, deviceReportedAt: now }
19336
+ } : {}
19327
19337
  );
19328
19338
  } catch (error) {
19329
19339
  await searchSync?.abort(marker);
@@ -28394,6 +28404,7 @@ var RemotePathProjector = class {
28394
28404
  node: { ...help.node, path: nodePath },
28395
28405
  cmds,
28396
28406
  ...children === void 0 ? {} : { children },
28407
+ ...help.deviceContext === void 0 ? {} : { deviceContext: help.deviceContext },
28397
28408
  ...help.feedback === void 0 ? {} : { feedback: help.feedback },
28398
28409
  ...help.hint === void 0 ? {} : { hint: help.hint },
28399
28410
  ...help.note === void 0 ? {} : { note: help.note }
@@ -30649,7 +30660,13 @@ async function helpModelFor(node, registry, ctx, builtins, deps, opts) {
30649
30660
  now: opts.now
30650
30661
  });
30651
30662
  return deviceDirectoryHelpModel(
30652
- { path: node.path, description: node.description, presence },
30663
+ {
30664
+ path: node.path,
30665
+ description: node.description,
30666
+ presence,
30667
+ ...node.deviceEnvironment === void 0 ? {} : { environment: node.deviceEnvironment },
30668
+ ...node.deviceReportedAt === void 0 ? {} : { reportedAt: node.deviceReportedAt }
30669
+ },
30653
30670
  children.map((n) => ({ path: n.path, kind: n.kind, description: n.description }))
30654
30671
  );
30655
30672
  }
@@ -35172,104 +35189,104 @@ function createTbServer(config) {
35172
35189
 
35173
35190
  // ../plugins/src/registry.generated.ts
35174
35191
  var BUILTIN_PLUGIN_LOADERS = {
35175
- airtable: () => import("./airtable-VMQVXLHK.js"),
35176
- alt_text_generator_ai: () => import("./alt_text_generator_ai-FTWY4RU4.js"),
35177
- amap: () => import("./amap-OK5VBHYC.js"),
35178
- anthropic: () => import("./anthropic-S67AZFZ3.js"),
35179
- apify: () => import("./apify-ZE6MYQI3.js"),
35180
- brave_search: () => import("./brave_search-TG2M2KOD.js"),
35181
- circleci: () => import("./circleci-3L3WJVSK.js"),
35182
- clerk: () => import("./clerk-EZPF2V7T.js"),
35183
- cohere: () => import("./cohere-U27DPO64.js"),
35184
- confluence: () => import("./confluence-G2KL6ERH.js"),
35185
- convertapi: () => import("./convertapi-L4CLJ2M3.js"),
35186
- currencyapi: () => import("./currencyapi-YPYXG7YY.js"),
35187
- deepseek: () => import("./deepseek-6HT6WF3M.js"),
35188
- docker_hub: () => import("./docker_hub-LPE3PCVB.js"),
35189
- dropbox: () => import("./dropbox-V56ABHTA.js"),
35190
- dub: () => import("./dub-6OKQ7MHT.js"),
35191
- e2b: () => import("./e2b-JS2U2QFU.js"),
35192
- exa: () => import("./exa-DPWVYXSP.js"),
35193
- fal_ai: () => import("./fal_ai-DK6Y27ZF.js"),
35194
- feishu: () => import("./feishu-K7EGSRF3.js"),
35195
- feishu_custom_bot: () => import("./feishu_custom_bot-2JUGFYNG.js"),
35196
- figma: () => import("./figma-FT5I7ITD.js"),
35197
- firehydrant: () => import("./firehydrant-EIKLKHX2.js"),
35198
- fixer: () => import("./fixer-U5QXIAKD.js"),
35199
- fly: () => import("./fly-T3JYFZ2M.js"),
35200
- front: () => import("./front-D72MGVOR.js"),
35201
- geocodio: () => import("./geocodio-BOTD5TI5.js"),
35202
- ghost: () => import("./ghost-KYP7SZGB.js"),
35203
- github: () => import("./github-AGMZT3VY.js"),
35204
- gmail: () => import("./gmail-BLJNJOBG.js"),
35205
- googlecalendar: () => import("./googlecalendar-GTHWNCF6.js"),
35206
- googledocs: () => import("./googledocs-6EEDMEBQ.js"),
35207
- grafana: () => import("./grafana-GMW6EKSQ.js"),
35208
- graphhopper: () => import("./graphhopper-6OLGBDGB.js"),
35209
- ip2proxy: () => import("./ip2proxy-4QN42E6T.js"),
35210
- ipgeolocation_io: () => import("./ipgeolocation_io-SK4XKDA2.js"),
35211
- ipqualityscore: () => import("./ipqualityscore-6ANBPXKT.js"),
35212
- jina_ai: () => import("./jina_ai-IHPSVRM5.js"),
35213
- jira: () => import("./jira-46KKM4LC.js"),
35214
- langsmith: () => import("./langsmith-JZA345I5.js"),
35215
- lemlist: () => import("./lemlist-43IV7DK6.js"),
35216
- linear: () => import("./linear-5LFH7XNL.js"),
35217
- logsnag: () => import("./logsnag-5RMYAHIL.js"),
35218
- mattermost: () => import("./mattermost-XFL6SHGG.js"),
35219
- mem0: () => import("./mem0-NYO4DTP6.js"),
35220
- memos: () => import("./memos-37MPQOLV.js"),
35221
- metabase: () => import("./metabase-KYBKZFMG.js"),
35222
- mistral_ai: () => import("./mistral_ai-6PL3K4PM.js"),
35223
- mother_duck: () => import("./mother_duck-2NH7W5M5.js"),
35224
- ngrok: () => import("./ngrok-UO6CDYCA.js"),
35225
- notes: () => import("./notes-I3P32WP4.js"),
35226
- notion: () => import("./notion-BEAJFUOE.js"),
35227
- open_exchange_rates: () => import("./open_exchange_rates-CMF62JB4.js"),
35228
- openai: () => import("./openai-IHOMKVND.js"),
35229
- opengraph_io: () => import("./opengraph_io-ZQ2FGLHX.js"),
35230
- openrouter: () => import("./openrouter-HXLW3NR5.js"),
35231
- outline: () => import("./outline-ELCP4NEU.js"),
35232
- paddle: () => import("./paddle-O77LALVN.js"),
35233
- perplexity: () => import("./perplexity-JCU654QV.js"),
35234
- pinecone: () => import("./pinecone-W5W4LRKL.js"),
35235
- pipedrive: () => import("./pipedrive-ITMJLLPZ.js"),
35236
- polar: () => import("./polar-R33XU4L3.js"),
35237
- posthog: () => import("./posthog-JVNTOLTV.js"),
35238
- postmark: () => import("./postmark-6SBG7HWV.js"),
35239
- prerender: () => import("./prerender-GPNKTNFC.js"),
35240
- pubmed: () => import("./pubmed-UP6ZEEIH.js"),
35241
- railway: () => import("./railway-KWEWXHTY.js"),
35242
- readwise: () => import("./readwise-BLATSMC3.js"),
35243
- render: () => import("./render-QYRVIXII.js"),
35244
- replicate: () => import("./replicate-JYTWH4NF.js"),
35245
- resend: () => import("./resend-L5N75SZM.js"),
35246
- rootly: () => import("./rootly-MHCPEQ26.js"),
35247
- scrapfly: () => import("./scrapfly-PTPGYSJM.js"),
35248
- scrapingbee: () => import("./scrapingbee-JN6UH5PY.js"),
35249
- screenshot_fyi: () => import("./screenshot_fyi-4QRVSV55.js"),
35250
- semantic_scholar: () => import("./semantic_scholar-LRSWA2GE.js"),
35251
- sentry: () => import("./sentry-2G6PF5W6.js"),
35252
- shodan: () => import("./shodan-WKKPP5C6.js"),
35253
- shopify: () => import("./shopify-64YDK5T2.js"),
35254
- stripe: () => import("./stripe-QAIGGOTF.js"),
35255
- supabase: () => import("./supabase-WHTGR6ND.js"),
35256
- tavily: () => import("./tavily-QIXCDDWO.js"),
35257
- telegram: () => import("./telegram-E6G7CWI6.js"),
35258
- telnyx: () => import("./telnyx-ZDVVS7PK.js"),
35259
- todoist: () => import("./todoist-DMYF3G7J.js"),
35260
- trello: () => import("./trello-HY2RYIRP.js"),
35261
- turso: () => import("./turso-HAQWMGRP.js"),
35262
- twilio: () => import("./twilio-MLXYPHJE.js"),
35263
- umami: () => import("./umami-DZHBLPVG.js"),
35264
- unsplash: () => import("./unsplash-GS2OPXKE.js"),
35265
- upstash_redis: () => import("./upstash_redis-XMXWTNAJ.js"),
35266
- uptimerobot: () => import("./uptimerobot-TF5WRZ4G.js"),
35267
- v2ex: () => import("./v2ex-2BVXAPDF.js"),
35268
- vercel: () => import("./vercel-YMJGQYJE.js"),
35269
- wolfram_alpha_api: () => import("./wolfram_alpha_api-I56SXWFZ.js"),
35270
- wordpress: () => import("./wordpress-R7TDFZ2P.js"),
35271
- workos: () => import("./workos-HDNHWVMS.js"),
35272
- zhihu: () => import("./zhihu-LX6AGGDS.js")
35192
+ airtable: () => import("./airtable-Z6KEL3MA.js"),
35193
+ alt_text_generator_ai: () => import("./alt_text_generator_ai-RM2GHSNM.js"),
35194
+ amap: () => import("./amap-YEJLGIKY.js"),
35195
+ anthropic: () => import("./anthropic-62M4MUVQ.js"),
35196
+ apify: () => import("./apify-AHRNDBCB.js"),
35197
+ brave_search: () => import("./brave_search-JAHWOMQC.js"),
35198
+ circleci: () => import("./circleci-UJUYBIAO.js"),
35199
+ clerk: () => import("./clerk-FCFM3WJK.js"),
35200
+ cohere: () => import("./cohere-OTSYSMPC.js"),
35201
+ confluence: () => import("./confluence-LPANSCGT.js"),
35202
+ convertapi: () => import("./convertapi-AJZOVUHT.js"),
35203
+ currencyapi: () => import("./currencyapi-HGK5FSGO.js"),
35204
+ deepseek: () => import("./deepseek-7HMTFJRV.js"),
35205
+ docker_hub: () => import("./docker_hub-FCNVKJZW.js"),
35206
+ dropbox: () => import("./dropbox-2XVKCQZE.js"),
35207
+ dub: () => import("./dub-CTUKPX2A.js"),
35208
+ e2b: () => import("./e2b-ULEWTRKI.js"),
35209
+ exa: () => import("./exa-QENFV3AU.js"),
35210
+ fal_ai: () => import("./fal_ai-TQYUBBAF.js"),
35211
+ feishu: () => import("./feishu-OYCWDSHD.js"),
35212
+ feishu_custom_bot: () => import("./feishu_custom_bot-VYQ7A3PU.js"),
35213
+ figma: () => import("./figma-5DLOKAQQ.js"),
35214
+ firehydrant: () => import("./firehydrant-X4MGP2OI.js"),
35215
+ fixer: () => import("./fixer-LMIWM3ZX.js"),
35216
+ fly: () => import("./fly-J5HN5L2I.js"),
35217
+ front: () => import("./front-E3SMBQW3.js"),
35218
+ geocodio: () => import("./geocodio-AOINRPLA.js"),
35219
+ ghost: () => import("./ghost-E4CBGZWJ.js"),
35220
+ github: () => import("./github-PGR6U3FC.js"),
35221
+ gmail: () => import("./gmail-XNQHMQ6F.js"),
35222
+ googlecalendar: () => import("./googlecalendar-RE6DGG7L.js"),
35223
+ googledocs: () => import("./googledocs-CX2BZDQH.js"),
35224
+ grafana: () => import("./grafana-GX75ZA5X.js"),
35225
+ graphhopper: () => import("./graphhopper-XMUYLWHS.js"),
35226
+ ip2proxy: () => import("./ip2proxy-ZGIRBAG5.js"),
35227
+ ipgeolocation_io: () => import("./ipgeolocation_io-MAP27QMO.js"),
35228
+ ipqualityscore: () => import("./ipqualityscore-6IIUUAQ2.js"),
35229
+ jina_ai: () => import("./jina_ai-GGH77RQH.js"),
35230
+ jira: () => import("./jira-7GPZW6HZ.js"),
35231
+ langsmith: () => import("./langsmith-CJXYE7WM.js"),
35232
+ lemlist: () => import("./lemlist-OYPOX6GN.js"),
35233
+ linear: () => import("./linear-TPQ6X4XZ.js"),
35234
+ logsnag: () => import("./logsnag-HT2PRLIV.js"),
35235
+ mattermost: () => import("./mattermost-6IYTWTM5.js"),
35236
+ mem0: () => import("./mem0-7AVGBGOX.js"),
35237
+ memos: () => import("./memos-CTOXWZ6X.js"),
35238
+ metabase: () => import("./metabase-AFJXQ5SQ.js"),
35239
+ mistral_ai: () => import("./mistral_ai-QDKM4N3R.js"),
35240
+ mother_duck: () => import("./mother_duck-XSKR4GVL.js"),
35241
+ ngrok: () => import("./ngrok-NQMLM24P.js"),
35242
+ notes: () => import("./notes-ZWMVZQWJ.js"),
35243
+ notion: () => import("./notion-6544KSMM.js"),
35244
+ open_exchange_rates: () => import("./open_exchange_rates-4CLN7O2N.js"),
35245
+ openai: () => import("./openai-HLFGPVI5.js"),
35246
+ opengraph_io: () => import("./opengraph_io-57JDHT3M.js"),
35247
+ openrouter: () => import("./openrouter-WDAVB2OP.js"),
35248
+ outline: () => import("./outline-A6MDLZVH.js"),
35249
+ paddle: () => import("./paddle-WX5ULOPP.js"),
35250
+ perplexity: () => import("./perplexity-LYTWWWCZ.js"),
35251
+ pinecone: () => import("./pinecone-7KAF3S7U.js"),
35252
+ pipedrive: () => import("./pipedrive-YQY243G7.js"),
35253
+ polar: () => import("./polar-A5HKXSQY.js"),
35254
+ posthog: () => import("./posthog-CF2LHLS4.js"),
35255
+ postmark: () => import("./postmark-W756TMJM.js"),
35256
+ prerender: () => import("./prerender-ZYM4UQ5R.js"),
35257
+ pubmed: () => import("./pubmed-QXTUQCTQ.js"),
35258
+ railway: () => import("./railway-F4MOZ3LQ.js"),
35259
+ readwise: () => import("./readwise-S7MF5SR5.js"),
35260
+ render: () => import("./render-D7EIVDUA.js"),
35261
+ replicate: () => import("./replicate-ABNKPZR7.js"),
35262
+ resend: () => import("./resend-7VJEY4KC.js"),
35263
+ rootly: () => import("./rootly-UMFJOKXC.js"),
35264
+ scrapfly: () => import("./scrapfly-UDT4KNFL.js"),
35265
+ scrapingbee: () => import("./scrapingbee-XTFD54NB.js"),
35266
+ screenshot_fyi: () => import("./screenshot_fyi-5GTW3SFY.js"),
35267
+ semantic_scholar: () => import("./semantic_scholar-Y6WK2MST.js"),
35268
+ sentry: () => import("./sentry-ZFPGDA6C.js"),
35269
+ shodan: () => import("./shodan-3SCDBOQ3.js"),
35270
+ shopify: () => import("./shopify-LMTBS2I2.js"),
35271
+ stripe: () => import("./stripe-4JQJ2CUG.js"),
35272
+ supabase: () => import("./supabase-7HA3BEFK.js"),
35273
+ tavily: () => import("./tavily-H34ZBPGC.js"),
35274
+ telegram: () => import("./telegram-CRX4YWQ3.js"),
35275
+ telnyx: () => import("./telnyx-TIKGEU34.js"),
35276
+ todoist: () => import("./todoist-LU563DGZ.js"),
35277
+ trello: () => import("./trello-NTRGEROX.js"),
35278
+ turso: () => import("./turso-EY3CNVPZ.js"),
35279
+ twilio: () => import("./twilio-ICX3WRQH.js"),
35280
+ umami: () => import("./umami-NPMRVI3M.js"),
35281
+ unsplash: () => import("./unsplash-TIHBZFIM.js"),
35282
+ upstash_redis: () => import("./upstash_redis-2DO6EHCN.js"),
35283
+ uptimerobot: () => import("./uptimerobot-BGYOCKGI.js"),
35284
+ v2ex: () => import("./v2ex-GOWDPGGA.js"),
35285
+ vercel: () => import("./vercel-G33RXVBI.js"),
35286
+ wolfram_alpha_api: () => import("./wolfram_alpha_api-IRZSMD3P.js"),
35287
+ wordpress: () => import("./wordpress-ATWGGUC3.js"),
35288
+ workos: () => import("./workos-LHJDETBX.js"),
35289
+ zhihu: () => import("./zhihu-IAH53YPP.js")
35273
35290
  };
35274
35291
 
35275
35292
  // ../plugins/src/catalog.generated.ts
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  upstreamError
3
- } from "./chunk-WJHG6OK7.js";
3
+ } from "./chunk-SU6Q4RAY.js";
4
4
  import {
5
5
  createGuardedFetch
6
- } from "./chunk-2JNAI4OC.js";
6
+ } from "./chunk-GQ4O7NK5.js";
7
7
  import {
8
8
  TBError,
9
9
  isTBError
10
- } from "./chunk-5ICRY3VU.js";
10
+ } from "./chunk-7MUNQNXG.js";
11
11
 
12
12
  // ../plugins/src/_runtime/providerHttp.ts
13
13
  function credentialLike(name) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createPlugin
3
- } from "./chunk-BADVCN6K.js";
3
+ } from "./chunk-TH3H5YAG.js";
4
4
  import {
5
5
  TBError
6
- } from "./chunk-5ICRY3VU.js";
6
+ } from "./chunk-7MUNQNXG.js";
7
7
 
8
8
  // ../plugins/src/_runtime/plugin.ts
9
9
  function requireApiKey(ctx, service) {
@@ -10,7 +10,7 @@ import {
10
10
  isTBError,
11
11
  parseCredentialValues,
12
12
  toToolResult
13
- } from "./chunk-5ICRY3VU.js";
13
+ } from "./chunk-7MUNQNXG.js";
14
14
 
15
15
  // ../plugin-sdk/src/index.ts
16
16
  var CONTEXT_HANDLER_VERBS = ["list", "get", "write", "update", "delete", "search"];
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TBError,
3
3
  createEncryptionKeyring
4
- } from "./chunk-5ICRY3VU.js";
4
+ } from "./chunk-7MUNQNXG.js";
5
5
 
6
6
  // src/bootstrapState.ts
7
7
  import {
@@ -216,7 +216,7 @@ var BootstrapStateStore = class {
216
216
  // package.json
217
217
  var package_default = {
218
218
  name: "@tool-bridge/server",
219
- version: "0.23.0",
219
+ version: "0.24.0",
220
220
  description: "Self-hosted Tool Bridge Node server with PostgreSQL, S3 object storage and WebSocket device channels",
221
221
  type: "module",
222
222
  license: "MIT",
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  createAuthedClient
3
- } from "./chunk-TDAWLMDE.js";
4
- import "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-FZV7CF7L.js";
4
+ import "./chunk-NG4C7YB3.js";
5
5
  import {
6
6
  asJsonObject,
7
7
  trimmedText
8
8
  } from "./chunk-JXHMDBAY.js";
9
9
  import {
10
10
  createProviderPlugin
11
- } from "./chunk-WJHG6OK7.js";
12
- import "./chunk-2JNAI4OC.js";
13
- import "./chunk-BADVCN6K.js";
11
+ } from "./chunk-SU6Q4RAY.js";
12
+ import "./chunk-GQ4O7NK5.js";
13
+ import "./chunk-TH3H5YAG.js";
14
14
  import {
15
15
  TBError
16
- } from "./chunk-5ICRY3VU.js";
16
+ } from "./chunk-7MUNQNXG.js";
17
17
  import "./chunk-U67V476Y.js";
18
18
 
19
19
  // ../plugins/src/circleci/api.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAuthedClient
3
- } from "./chunk-TDAWLMDE.js";
4
- import "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-FZV7CF7L.js";
4
+ import "./chunk-NG4C7YB3.js";
5
5
  import {
6
6
  asJsonObject,
7
7
  trimmedText
@@ -9,10 +9,10 @@ import {
9
9
  import {
10
10
  createProviderPlugin,
11
11
  upstreamError
12
- } from "./chunk-WJHG6OK7.js";
13
- import "./chunk-2JNAI4OC.js";
14
- import "./chunk-BADVCN6K.js";
15
- import "./chunk-5ICRY3VU.js";
12
+ } from "./chunk-SU6Q4RAY.js";
13
+ import "./chunk-GQ4O7NK5.js";
14
+ import "./chunk-TH3H5YAG.js";
15
+ import "./chunk-7MUNQNXG.js";
16
16
  import "./chunk-U67V476Y.js";
17
17
 
18
18
  // ../plugins/src/clerk/api.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAuthedClient
3
- } from "./chunk-TDAWLMDE.js";
4
- import "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-FZV7CF7L.js";
4
+ import "./chunk-NG4C7YB3.js";
5
5
  import {
6
6
  asJsonObject,
7
7
  trimmedText
@@ -9,10 +9,10 @@ import {
9
9
  import {
10
10
  createProviderPlugin,
11
11
  upstreamError
12
- } from "./chunk-WJHG6OK7.js";
13
- import "./chunk-2JNAI4OC.js";
14
- import "./chunk-BADVCN6K.js";
15
- import "./chunk-5ICRY3VU.js";
12
+ } from "./chunk-SU6Q4RAY.js";
13
+ import "./chunk-GQ4O7NK5.js";
14
+ import "./chunk-TH3H5YAG.js";
15
+ import "./chunk-7MUNQNXG.js";
16
16
  import "./chunk-U67V476Y.js";
17
17
 
18
18
  // ../plugins/src/cohere/api.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAuthedClient
3
- } from "./chunk-TDAWLMDE.js";
4
- import "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-FZV7CF7L.js";
4
+ import "./chunk-NG4C7YB3.js";
5
5
  import {
6
6
  asJsonObject,
7
7
  booleanValue,
@@ -13,12 +13,12 @@ import {
13
13
  createProviderPlugin,
14
14
  requireCredential,
15
15
  upstreamError
16
- } from "./chunk-WJHG6OK7.js";
17
- import "./chunk-2JNAI4OC.js";
18
- import "./chunk-BADVCN6K.js";
16
+ } from "./chunk-SU6Q4RAY.js";
17
+ import "./chunk-GQ4O7NK5.js";
18
+ import "./chunk-TH3H5YAG.js";
19
19
  import {
20
20
  TBError
21
- } from "./chunk-5ICRY3VU.js";
21
+ } from "./chunk-7MUNQNXG.js";
22
22
  import "./chunk-U67V476Y.js";
23
23
 
24
24
  // ../plugins/src/confluence/api.ts
@@ -6,15 +6,15 @@ import {
6
6
  createProviderPlugin,
7
7
  requireApiKey,
8
8
  upstreamError
9
- } from "./chunk-WJHG6OK7.js";
9
+ } from "./chunk-SU6Q4RAY.js";
10
10
  import {
11
11
  assertPublicHttpUrl,
12
12
  guardedFetch
13
- } from "./chunk-2JNAI4OC.js";
14
- import "./chunk-BADVCN6K.js";
13
+ } from "./chunk-GQ4O7NK5.js";
14
+ import "./chunk-TH3H5YAG.js";
15
15
  import {
16
16
  TBError
17
- } from "./chunk-5ICRY3VU.js";
17
+ } from "./chunk-7MUNQNXG.js";
18
18
  import "./chunk-U67V476Y.js";
19
19
 
20
20
  // ../plugins/src/convertapi/schema.ts
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  createAuthedClient
3
- } from "./chunk-TDAWLMDE.js";
4
- import "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-FZV7CF7L.js";
4
+ import "./chunk-NG4C7YB3.js";
5
5
  import {
6
6
  asJsonObject
7
7
  } from "./chunk-JXHMDBAY.js";
8
8
  import {
9
9
  createProviderPlugin,
10
10
  upstreamError
11
- } from "./chunk-WJHG6OK7.js";
12
- import "./chunk-2JNAI4OC.js";
13
- import "./chunk-BADVCN6K.js";
14
- import "./chunk-5ICRY3VU.js";
11
+ } from "./chunk-SU6Q4RAY.js";
12
+ import "./chunk-GQ4O7NK5.js";
13
+ import "./chunk-TH3H5YAG.js";
14
+ import "./chunk-7MUNQNXG.js";
15
15
  import "./chunk-U67V476Y.js";
16
16
 
17
17
  // ../plugins/src/currencyapi/api.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAuthedClient
3
- } from "./chunk-TDAWLMDE.js";
4
- import "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-FZV7CF7L.js";
4
+ import "./chunk-NG4C7YB3.js";
5
5
  import {
6
6
  asJsonObject,
7
7
  compactDefined,
@@ -10,12 +10,12 @@ import {
10
10
  import {
11
11
  createProviderPlugin,
12
12
  upstreamError
13
- } from "./chunk-WJHG6OK7.js";
14
- import "./chunk-2JNAI4OC.js";
15
- import "./chunk-BADVCN6K.js";
13
+ } from "./chunk-SU6Q4RAY.js";
14
+ import "./chunk-GQ4O7NK5.js";
15
+ import "./chunk-TH3H5YAG.js";
16
16
  import {
17
17
  TBError
18
- } from "./chunk-5ICRY3VU.js";
18
+ } from "./chunk-7MUNQNXG.js";
19
19
  import "./chunk-U67V476Y.js";
20
20
 
21
21
  // ../plugins/src/deepseek/api.ts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createProviderHttpClient
3
- } from "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-NG4C7YB3.js";
4
4
  import {
5
5
  asJsonObject,
6
6
  compactDefined,
@@ -11,12 +11,12 @@ import {
11
11
  createProviderPlugin,
12
12
  requireApiKey,
13
13
  upstreamError
14
- } from "./chunk-WJHG6OK7.js";
15
- import "./chunk-2JNAI4OC.js";
16
- import "./chunk-BADVCN6K.js";
14
+ } from "./chunk-SU6Q4RAY.js";
15
+ import "./chunk-GQ4O7NK5.js";
16
+ import "./chunk-TH3H5YAG.js";
17
17
  import {
18
18
  TBError
19
- } from "./chunk-5ICRY3VU.js";
19
+ } from "./chunk-7MUNQNXG.js";
20
20
  import "./chunk-U67V476Y.js";
21
21
 
22
22
  // ../plugins/src/docker_hub/api.ts
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-LMLX3DJF.js";
4
4
  import {
5
5
  createAuthedClient
6
- } from "./chunk-TDAWLMDE.js";
7
- import "./chunk-VWRUGUSU.js";
6
+ } from "./chunk-FZV7CF7L.js";
7
+ import "./chunk-NG4C7YB3.js";
8
8
  import {
9
9
  asJsonObject,
10
10
  booleanValue,
@@ -16,14 +16,14 @@ import {
16
16
  createProviderPlugin,
17
17
  requireApiKey,
18
18
  upstreamError
19
- } from "./chunk-WJHG6OK7.js";
19
+ } from "./chunk-SU6Q4RAY.js";
20
20
  import {
21
21
  guardedFetch
22
- } from "./chunk-2JNAI4OC.js";
23
- import "./chunk-BADVCN6K.js";
22
+ } from "./chunk-GQ4O7NK5.js";
23
+ import "./chunk-TH3H5YAG.js";
24
24
  import {
25
25
  TBError
26
- } from "./chunk-5ICRY3VU.js";
26
+ } from "./chunk-7MUNQNXG.js";
27
27
  import "./chunk-U67V476Y.js";
28
28
 
29
29
  // ../plugins/src/dropbox/api.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAuthedClient
3
- } from "./chunk-TDAWLMDE.js";
4
- import "./chunk-VWRUGUSU.js";
3
+ } from "./chunk-FZV7CF7L.js";
4
+ import "./chunk-NG4C7YB3.js";
5
5
  import {
6
6
  asJsonObject,
7
7
  compactDefined,
@@ -11,12 +11,12 @@ import {
11
11
  import {
12
12
  createProviderPlugin,
13
13
  upstreamError
14
- } from "./chunk-WJHG6OK7.js";
15
- import "./chunk-2JNAI4OC.js";
16
- import "./chunk-BADVCN6K.js";
14
+ } from "./chunk-SU6Q4RAY.js";
15
+ import "./chunk-GQ4O7NK5.js";
16
+ import "./chunk-TH3H5YAG.js";
17
17
  import {
18
18
  TBError
19
- } from "./chunk-5ICRY3VU.js";
19
+ } from "./chunk-7MUNQNXG.js";
20
20
  import "./chunk-U67V476Y.js";
21
21
 
22
22
  // ../plugins/src/dub/api.ts