@every-app/sdk 0.2.0 → 0.3.0-rc.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.
Files changed (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +608 -2
  3. package/dist/cloudflare/index.d.ts +22 -0
  4. package/dist/cloudflare/index.d.ts.map +1 -0
  5. package/dist/cloudflare/index.js +21 -0
  6. package/dist/cloudflare/sentinel.d.ts +69 -0
  7. package/dist/cloudflare/sentinel.d.ts.map +1 -0
  8. package/dist/cloudflare/sentinel.js +50 -0
  9. package/dist/cloudflare/worker.d.ts +592 -0
  10. package/dist/cloudflare/worker.d.ts.map +1 -0
  11. package/dist/cloudflare/worker.js +817 -0
  12. package/dist/dev/index.d.ts +8 -0
  13. package/dist/dev/index.d.ts.map +1 -0
  14. package/dist/dev/index.js +7 -0
  15. package/dist/dev/keypair.d.ts +24 -0
  16. package/dist/dev/keypair.d.ts.map +1 -0
  17. package/dist/dev/keypair.js +60 -0
  18. package/dist/internal/aiProviders.d.ts +67 -0
  19. package/dist/internal/aiProviders.d.ts.map +1 -0
  20. package/dist/internal/aiProviders.js +220 -0
  21. package/dist/internal/appSettings.d.ts +237 -0
  22. package/dist/internal/appSettings.d.ts.map +1 -0
  23. package/dist/internal/appSettings.js +374 -0
  24. package/dist/internal/capabilities.d.ts +3249 -0
  25. package/dist/internal/capabilities.d.ts.map +1 -0
  26. package/dist/internal/capabilities.js +1532 -0
  27. package/dist/internal/catalog/commerce.d.ts +394 -0
  28. package/dist/internal/catalog/commerce.d.ts.map +1 -0
  29. package/dist/internal/catalog/commerce.js +477 -0
  30. package/dist/internal/catalog/comms.d.ts +338 -0
  31. package/dist/internal/catalog/comms.d.ts.map +1 -0
  32. package/dist/internal/catalog/comms.js +477 -0
  33. package/dist/internal/catalog/index.d.ts +1899 -0
  34. package/dist/internal/catalog/index.d.ts.map +1 -0
  35. package/dist/internal/catalog/index.js +19 -0
  36. package/dist/internal/catalog/inference.d.ts +356 -0
  37. package/dist/internal/catalog/inference.d.ts.map +1 -0
  38. package/dist/internal/catalog/inference.js +425 -0
  39. package/dist/internal/catalog/infra.d.ts +423 -0
  40. package/dist/internal/catalog/infra.d.ts.map +1 -0
  41. package/dist/internal/catalog/infra.js +543 -0
  42. package/dist/internal/catalog/search.d.ts +400 -0
  43. package/dist/internal/catalog/search.d.ts.map +1 -0
  44. package/dist/internal/catalog/search.js +463 -0
  45. package/dist/internal/devProviders.d.ts +49 -0
  46. package/dist/internal/devProviders.d.ts.map +1 -0
  47. package/dist/internal/devProviders.js +62 -0
  48. package/dist/internal/email.d.ts +280 -0
  49. package/dist/internal/email.d.ts.map +1 -0
  50. package/dist/internal/email.js +613 -0
  51. package/dist/internal/events.d.ts +182 -0
  52. package/dist/internal/events.d.ts.map +1 -0
  53. package/dist/internal/events.js +326 -0
  54. package/dist/internal/gatewaySettings.d.ts +83 -0
  55. package/dist/internal/gatewaySettings.d.ts.map +1 -0
  56. package/dist/internal/gatewaySettings.js +217 -0
  57. package/dist/internal/identity.d.ts +18 -3
  58. package/dist/internal/identity.d.ts.map +1 -1
  59. package/dist/internal/identity.js +53 -14
  60. package/dist/internal/index.d.ts +18 -1
  61. package/dist/internal/index.d.ts.map +1 -1
  62. package/dist/internal/index.js +18 -1
  63. package/dist/internal/members.d.ts +35 -0
  64. package/dist/internal/members.d.ts.map +1 -0
  65. package/dist/internal/members.js +7 -0
  66. package/dist/internal/oauthClient.d.ts +63 -0
  67. package/dist/internal/oauthClient.d.ts.map +1 -0
  68. package/dist/internal/oauthClient.js +194 -0
  69. package/dist/internal/oauthScopes.d.ts +117 -0
  70. package/dist/internal/oauthScopes.d.ts.map +1 -0
  71. package/dist/internal/oauthScopes.js +416 -0
  72. package/dist/internal/organizationName.d.ts +18 -0
  73. package/dist/internal/organizationName.d.ts.map +1 -0
  74. package/dist/internal/organizationName.js +24 -0
  75. package/dist/internal/protocol.d.ts +86 -2
  76. package/dist/internal/protocol.d.ts.map +1 -1
  77. package/dist/internal/protocol.js +112 -1
  78. package/dist/internal/providerApps.d.ts +75 -0
  79. package/dist/internal/providerApps.d.ts.map +1 -0
  80. package/dist/internal/providerApps.js +59 -0
  81. package/dist/internal/providerRegistry.d.ts +147 -0
  82. package/dist/internal/providerRegistry.d.ts.map +1 -0
  83. package/dist/internal/providerRegistry.js +266 -0
  84. package/dist/internal/providerSpec.d.ts +55 -0
  85. package/dist/internal/providerSpec.d.ts.map +1 -0
  86. package/dist/internal/providerSpec.js +758 -0
  87. package/dist/internal/remoteMcp.d.ts +188 -0
  88. package/dist/internal/remoteMcp.d.ts.map +1 -0
  89. package/dist/internal/remoteMcp.js +543 -0
  90. package/dist/internal/signInProviders.d.ts +104 -0
  91. package/dist/internal/signInProviders.d.ts.map +1 -0
  92. package/dist/internal/signInProviders.js +238 -0
  93. package/dist/internal/tools.d.ts +115 -0
  94. package/dist/internal/tools.d.ts.map +1 -0
  95. package/dist/internal/tools.js +80 -0
  96. package/dist/server/attribution.d.ts +39 -0
  97. package/dist/server/attribution.d.ts.map +1 -0
  98. package/dist/server/attribution.js +67 -0
  99. package/dist/server/authorizeUrl.d.ts +43 -0
  100. package/dist/server/authorizeUrl.d.ts.map +1 -0
  101. package/dist/server/authorizeUrl.js +110 -0
  102. package/dist/server/emit.d.ts +63 -0
  103. package/dist/server/emit.d.ts.map +1 -0
  104. package/dist/server/emit.js +101 -0
  105. package/dist/server/everyApp.d.ts +38 -12
  106. package/dist/server/everyApp.d.ts.map +1 -1
  107. package/dist/server/everyApp.js +92 -28
  108. package/dist/server/gatewayFetch.d.ts +24 -8
  109. package/dist/server/gatewayFetch.d.ts.map +1 -1
  110. package/dist/server/gatewayFetch.js +81 -36
  111. package/dist/server/index.d.ts +10 -1
  112. package/dist/server/index.d.ts.map +1 -1
  113. package/dist/server/index.js +8 -1
  114. package/dist/server/integrationFetch.d.ts +131 -0
  115. package/dist/server/integrationFetch.d.ts.map +1 -0
  116. package/dist/server/integrationFetch.js +526 -0
  117. package/dist/server/listMembers.d.ts +32 -0
  118. package/dist/server/listMembers.d.ts.map +1 -0
  119. package/dist/server/listMembers.js +74 -0
  120. package/dist/server/nodeServer.d.ts +48 -0
  121. package/dist/server/nodeServer.d.ts.map +1 -0
  122. package/dist/server/nodeServer.js +45 -0
  123. package/dist/server/sendEmail.d.ts +39 -0
  124. package/dist/server/sendEmail.d.ts.map +1 -0
  125. package/dist/server/sendEmail.js +114 -0
  126. package/dist/server/tools.d.ts +184 -0
  127. package/dist/server/tools.d.ts.map +1 -0
  128. package/dist/server/tools.js +347 -0
  129. package/dist/server/toolsEndpoint.d.ts +32 -0
  130. package/dist/server/toolsEndpoint.d.ts.map +1 -0
  131. package/dist/server/toolsEndpoint.js +231 -0
  132. package/package.json +19 -6
  133. package/dist/server/mcp.d.ts +0 -66
  134. package/dist/server/mcp.d.ts.map +0 -1
  135. package/dist/server/mcp.js +0 -147
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/catalog/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The first fifty catalog providers beyond the ones today's apps use
3
+ * (docs/design/2026-10-provider-registry.md, section 9), one file per
4
+ * batch, merged into `CAPABILITIES` after the hand-written entries. A
5
+ * provider here is a catalog entry like DataForSEO: every gateway has it,
6
+ * its settings are settable, a row can't take its id.
7
+ */
8
+ import { COMMERCE } from "./commerce.js";
9
+ import { COMMS } from "./comms.js";
10
+ import { INFRA } from "./infra.js";
11
+ import { INFERENCE } from "./inference.js";
12
+ import { SEARCH } from "./search.js";
13
+ export const CATALOG_ENTRIES = {
14
+ ...COMMERCE,
15
+ ...COMMS,
16
+ ...INFRA,
17
+ ...INFERENCE,
18
+ ...SEARCH,
19
+ };
@@ -0,0 +1,356 @@
1
+ export declare const INFERENCE: {
2
+ readonly anthropic: {
3
+ readonly mode: "ai";
4
+ readonly label: "Anthropic";
5
+ readonly description: "Claude models through the Messages API.";
6
+ readonly auth: {
7
+ readonly kind: "bearer";
8
+ readonly secret: "ANTHROPIC_API_KEY";
9
+ };
10
+ readonly docs: "https://platform.claude.com/settings/keys";
11
+ readonly api: "https://platform.claude.com/docs/en/api/overview";
12
+ readonly origin: "https://api.anthropic.com";
13
+ readonly inferenceRoutes: readonly ["/v1/messages", "/v1/messages/count_tokens"];
14
+ readonly hint: "An API key from the Claude Console's API keys page; the Gateway sends it as a bearer token. Apps send the anthropic-version header themselves.";
15
+ readonly secrets: readonly [{
16
+ readonly name: "ANTHROPIC_API_KEY";
17
+ readonly hint: "A key scoped to one workspace, so no call needs an anthropic-workspace-id header.";
18
+ }];
19
+ readonly smoke: {
20
+ readonly method: "GET";
21
+ readonly path: "/v1/models";
22
+ readonly expect: readonly [200];
23
+ readonly free: true;
24
+ readonly note: "Send an anthropic-version header, as every call does.";
25
+ };
26
+ readonly rate: {
27
+ readonly note: "Requests and tokens per minute by usage tier, on the Console's Rate limits page; token counting is free, with its own per-minute limit.";
28
+ };
29
+ readonly example: "summarize this support thread in three bullet points";
30
+ readonly verified: {
31
+ readonly on: "2026-10-25";
32
+ readonly how: "docs";
33
+ };
34
+ readonly tags: readonly ["ai", "llm"];
35
+ };
36
+ readonly gemini: {
37
+ readonly mode: "ai";
38
+ readonly label: "Google Gemini";
39
+ readonly description: "Google's Gemini models through their OpenAI-compatible endpoint: chat, embeddings, images.";
40
+ readonly auth: {
41
+ readonly kind: "bearer";
42
+ readonly secret: "GEMINI_API_KEY";
43
+ };
44
+ readonly docs: "https://aistudio.google.com/apikey";
45
+ readonly api: "https://ai.google.dev/gemini-api/docs/openai";
46
+ readonly origin: "https://generativelanguage.googleapis.com";
47
+ readonly inferenceRoutes: readonly ["/v1beta/openai/chat/completions", "/v1beta/openai/embeddings", "/v1beta/openai/images/generations"];
48
+ readonly hint: "An API key from Google AI Studio; the Gateway sends it as a bearer token. Apps call Gemini's OpenAI-shaped paths under /v1beta/openai.";
49
+ readonly secrets: readonly [{
50
+ readonly name: "GEMINI_API_KEY";
51
+ readonly hint: "A Google AI Studio key restricted to the Gemini API only.";
52
+ }];
53
+ readonly smoke: {
54
+ readonly method: "GET";
55
+ readonly path: "/v1beta/openai/models";
56
+ readonly expect: readonly [200];
57
+ readonly free: true;
58
+ };
59
+ readonly rate: {
60
+ readonly note: "Per project, not per key: requests and tokens per minute and requests per day, by tier (Free, then Tiers 1 to 3).";
61
+ };
62
+ readonly example: "describe what is in this product photo";
63
+ readonly verified: {
64
+ readonly on: "2026-10-25";
65
+ readonly how: "docs";
66
+ };
67
+ readonly tags: readonly ["ai", "llm", "embeddings", "images"];
68
+ };
69
+ readonly mistral: {
70
+ readonly mode: "ai";
71
+ readonly label: "Mistral AI";
72
+ readonly description: "Mistral's models: chat, code completion, embeddings, moderation, OCR, speech.";
73
+ readonly auth: {
74
+ readonly kind: "bearer";
75
+ readonly secret: "MISTRAL_API_KEY";
76
+ };
77
+ readonly docs: "https://console.mistral.ai";
78
+ readonly api: "https://docs.mistral.ai/api/";
79
+ readonly origin: "https://api.mistral.ai";
80
+ readonly inferenceRoutes: readonly ["/v1/chat/completions", "/v1/fim/completions", "/v1/embeddings", "/v1/moderations", "/v1/chat/moderations", "/v1/classifications", "/v1/chat/classifications", "/v1/ocr", "/v1/audio/transcriptions", "/v1/audio/speech"];
81
+ readonly hint: "An API key from API Keys in the Mistral Studio console; the Gateway sends it as a bearer token. Free mode needs no card; usage and rate limits apply.";
82
+ readonly secrets: readonly [{
83
+ readonly name: "MISTRAL_API_KEY";
84
+ readonly hint: "A key from API Keys in the Studio console, with an expiry date.";
85
+ }];
86
+ readonly smoke: {
87
+ readonly method: "GET";
88
+ readonly path: "/v1/models";
89
+ readonly expect: readonly [200];
90
+ readonly free: true;
91
+ };
92
+ readonly example: "extract the text from this scanned invoice";
93
+ readonly verified: {
94
+ readonly on: "2026-10-25";
95
+ readonly how: "docs";
96
+ };
97
+ readonly tags: readonly ["ai", "llm", "ocr", "embeddings"];
98
+ };
99
+ readonly groq: {
100
+ readonly mode: "ai";
101
+ readonly label: "Groq";
102
+ readonly description: "Open models on Groq through OpenAI's API shape: chat, responses, transcription, speech.";
103
+ readonly auth: {
104
+ readonly kind: "bearer";
105
+ readonly secret: "GROQ_API_KEY";
106
+ };
107
+ readonly docs: "https://console.groq.com/keys";
108
+ readonly api: "https://console.groq.com/docs/api-reference";
109
+ readonly origin: "https://api.groq.com";
110
+ readonly inferenceRoutes: readonly ["/openai/v1/chat/completions", "/openai/v1/responses", "/openai/v1/audio/transcriptions", "/openai/v1/audio/translations", "/openai/v1/audio/speech"];
111
+ readonly hint: "An API key from the Groq console; the Gateway sends it as a bearer token. Apps call the OpenAI-shaped paths under /openai/v1.";
112
+ readonly secrets: readonly [{
113
+ readonly name: "GROQ_API_KEY";
114
+ readonly hint: "A key from the API Keys page of the Groq console.";
115
+ }];
116
+ readonly smoke: {
117
+ readonly method: "GET";
118
+ readonly path: "/openai/v1/models";
119
+ readonly expect: readonly [200];
120
+ readonly free: true;
121
+ };
122
+ readonly rate: {
123
+ readonly note: "Requests and tokens per minute and per day, per model and plan, for the whole organization; the console Limits page shows them.";
124
+ };
125
+ readonly example: "transcribe this voice memo";
126
+ readonly verified: {
127
+ readonly on: "2026-10-25";
128
+ readonly how: "docs";
129
+ };
130
+ readonly tags: readonly ["ai", "llm", "speech"];
131
+ };
132
+ readonly cohere: {
133
+ readonly mode: "ai";
134
+ readonly label: "Cohere";
135
+ readonly description: "Cohere's models: chat, embeddings, reranking, classification, transcription, document parsing.";
136
+ readonly auth: {
137
+ readonly kind: "bearer";
138
+ readonly secret: "COHERE_API_KEY";
139
+ };
140
+ readonly docs: "https://dashboard.cohere.com/api-keys";
141
+ readonly api: "https://docs.cohere.com/reference/about";
142
+ readonly origin: "https://api.cohere.com";
143
+ readonly inferenceRoutes: readonly ["/v2/chat", "/v2/embed", "/v2/rerank", "/v1/classify", "/v2/audio/transcriptions", "/v2/parse", "/v1/tokenize", "/v1/detokenize"];
144
+ readonly hint: "An API key from the Cohere dashboard; the Gateway sends it as a bearer token. Trial keys are free and limited; production keys are paid.";
145
+ readonly secrets: readonly [{
146
+ readonly name: "COHERE_API_KEY";
147
+ readonly hint: "A production key; a trial key is limited to 1,000 calls a month.";
148
+ }];
149
+ readonly smoke: {
150
+ readonly method: "GET";
151
+ readonly path: "/v1/models";
152
+ readonly expect: readonly [200];
153
+ readonly free: true;
154
+ };
155
+ readonly rate: {
156
+ readonly note: "Production: 500 calls a minute for Command A chat and most endpoints, rerank 1,000. Trial: 20 chat calls a minute, 1,000 calls a month.";
157
+ };
158
+ readonly example: "rerank these search results for the query refund policy";
159
+ readonly verified: {
160
+ readonly on: "2026-10-25";
161
+ readonly how: "docs";
162
+ };
163
+ readonly tags: readonly ["ai", "llm", "embeddings", "rerank"];
164
+ };
165
+ readonly voyage: {
166
+ readonly mode: "api_key";
167
+ readonly label: "Voyage AI";
168
+ readonly description: "Embeddings and rerankers for search and retrieval: text, code, multimodal, contextualized chunks.";
169
+ readonly auth: {
170
+ readonly kind: "bearer";
171
+ readonly secret: "VOYAGE_API_KEY";
172
+ };
173
+ readonly docs: "https://dashboard.voyageai.com/organization/api-keys";
174
+ readonly api: "https://docs.voyageai.com/reference/embeddings-api";
175
+ readonly hosts: readonly ["api.voyageai.com"];
176
+ readonly data: "per-call";
177
+ readonly access: readonly ["read"];
178
+ readonly readMethods: readonly ["POST"];
179
+ readonly accountWidePaths: readonly [readonly ["v1", "files"], readonly ["v1", "batches"]];
180
+ readonly hint: "A secret key from the Voyage dashboard; the Gateway sends it as a bearer token. Apps POST to /v1/embeddings, /v1/multimodalembeddings, /v1/contextualizedembeddings and /v1/rerank.";
181
+ readonly secrets: readonly [{
182
+ readonly name: "VOYAGE_API_KEY";
183
+ readonly hint: "A secret key from API keys in the Voyage dashboard.";
184
+ }];
185
+ readonly smoke: {
186
+ readonly method: "GET";
187
+ readonly path: "/v1/batches";
188
+ readonly expect: readonly [200];
189
+ readonly free: true;
190
+ readonly note: "Lists the organization's batches, so the Gateway refuses it for apps; run it from the person's terminal.";
191
+ };
192
+ readonly cost: {
193
+ readonly unit: "token";
194
+ readonly note: "voyage-4 $0.06 per million tokens; the first 200 million tokens of the voyage-4 family are free per account.";
195
+ };
196
+ readonly rate: {
197
+ readonly perMinute: 2000;
198
+ readonly note: "2,000 requests a minute at tier 1, doubled at tier 2, tripled at tier 3; tokens per minute vary by model.";
199
+ };
200
+ readonly example: "embed these product descriptions for semantic search";
201
+ readonly verified: {
202
+ readonly on: "2026-10-25";
203
+ readonly how: "docs";
204
+ };
205
+ readonly tags: readonly ["embeddings", "rerank", "search"];
206
+ };
207
+ readonly perplexity: {
208
+ readonly mode: "api_key";
209
+ readonly label: "Perplexity";
210
+ readonly description: "Web-grounded answers from the Agent API, raw web search results, and embeddings.";
211
+ readonly auth: {
212
+ readonly kind: "bearer";
213
+ readonly secret: "PERPLEXITY_API_KEY";
214
+ };
215
+ readonly docs: "https://console.perplexity.ai/project/keys";
216
+ readonly api: "https://docs.perplexity.ai/api-reference/agent-post";
217
+ readonly hosts: readonly ["api.perplexity.ai"];
218
+ readonly data: "per-call";
219
+ readonly access: readonly ["read"];
220
+ readonly readMethods: readonly ["GET", "POST"];
221
+ readonly accountWidePaths: readonly [readonly ["v1", "batches"], readonly ["v1", "files"], readonly ["v1", "skills"], readonly ["v1", "analytics"], readonly ["v2", "analytics"], readonly ["generate_auth_token"], readonly ["revoke_auth_token"]];
222
+ readonly hint: "An API key from the Perplexity console; the Gateway sends it as a bearer token. Apps POST to /v1/agent for researched answers and /search for result lists, and GET /v1/agent/{id} to poll a background run.";
223
+ readonly secrets: readonly [{
224
+ readonly name: "PERPLEXITY_API_KEY";
225
+ readonly hint: "An API key from the project's API keys page in the Perplexity console.";
226
+ }];
227
+ readonly smoke: {
228
+ readonly method: "GET";
229
+ readonly path: "/orchestrator/v1/models";
230
+ readonly expect: readonly [200];
231
+ readonly free: true;
232
+ };
233
+ readonly cost: {
234
+ readonly unit: "token";
235
+ readonly note: "Agent API per token plus tool fees (web_search $0.0025 a call); Search API $5 per 1,000 requests.";
236
+ };
237
+ readonly example: "research the latest pricing changes from our three main competitors";
238
+ readonly verified: {
239
+ readonly on: "2026-10-25";
240
+ readonly how: "docs";
241
+ };
242
+ readonly tags: readonly ["search", "ai", "research"];
243
+ };
244
+ readonly jina: {
245
+ readonly mode: "api_key";
246
+ readonly label: "Jina AI";
247
+ readonly description: "Reads web pages as Markdown, searches the web, and embeds and reranks text and images.";
248
+ readonly auth: {
249
+ readonly kind: "bearer";
250
+ readonly secret: "JINA_API_KEY";
251
+ };
252
+ readonly docs: "https://jina.ai/api-dashboard/key-manager";
253
+ readonly api: "https://docs.jina.ai/";
254
+ readonly hosts: readonly ["api.jina.ai", "r.jina.ai", "s.jina.ai"];
255
+ readonly data: "per-call";
256
+ readonly access: readonly ["read"];
257
+ readonly readMethods: readonly ["GET", "POST"];
258
+ readonly accountWidePaths: readonly [readonly ["v1", "batches"], readonly ["echo"]];
259
+ readonly hint: "An API key from the Jina API dashboard; the Gateway sends it as a bearer token. Reader is r.jina.ai (POST {\"url\": ...}), Search is s.jina.ai, and embeddings and rerank are on api.jina.ai.";
260
+ readonly secrets: readonly [{
261
+ readonly name: "JINA_API_KEY";
262
+ readonly hint: "A key starting jina_, from Manage API Key in the Jina API dashboard.";
263
+ }];
264
+ readonly smoke: {
265
+ readonly method: "GET";
266
+ readonly host: "api.jina.ai";
267
+ readonly path: "/v1/batches";
268
+ readonly expect: readonly [200];
269
+ readonly free: true;
270
+ readonly note: "Lists the account's batch jobs, so the Gateway refuses it for apps; run it from the person's terminal.";
271
+ };
272
+ readonly cost: {
273
+ readonly unit: "token";
274
+ readonly note: "Billed in tokens against the account balance; GET /v1/models lists each model's price.";
275
+ };
276
+ readonly rate: {
277
+ readonly note: "Reader 500 requests a minute, Search 100, embeddings and rerank 500; premium keys get ten times more.";
278
+ };
279
+ readonly example: "read this article as Markdown and pull out the key claims";
280
+ readonly verified: {
281
+ readonly on: "2026-10-25";
282
+ readonly how: "docs";
283
+ };
284
+ readonly tags: readonly ["scrape", "search", "embeddings", "rerank"];
285
+ };
286
+ readonly replicate: {
287
+ readonly mode: "api_key";
288
+ readonly label: "Replicate";
289
+ readonly description: "Runs open-source and official models by API: images, video, audio and language.";
290
+ readonly auth: {
291
+ readonly kind: "bearer";
292
+ readonly secret: "REPLICATE_API_TOKEN";
293
+ };
294
+ readonly docs: "https://replicate.com/account/api-tokens";
295
+ readonly api: "https://replicate.com/docs/reference/http";
296
+ readonly hosts: readonly ["api.replicate.com"];
297
+ readonly data: "per-call";
298
+ readonly access: readonly ["read"];
299
+ readonly readMethods: readonly ["POST"];
300
+ readonly accountWidePaths: readonly [readonly ["v1", "account"], readonly ["v1", "deployments"], readonly ["v1", "files"], readonly ["v1", "webhooks"], readonly ["trainings"]];
301
+ readonly hint: "An API token from Replicate's API tokens page; the Gateway sends it as a bearer token. Apps POST to /v1/models/{owner}/{name}/predictions or /v1/predictions with Prefer: wait (up to 60 seconds), or pass a webhook URL for longer runs.";
302
+ readonly secrets: readonly [{
303
+ readonly name: "REPLICATE_API_TOKEN";
304
+ readonly hint: "An API token from the API tokens page of the Replicate account.";
305
+ }];
306
+ readonly smoke: {
307
+ readonly method: "GET";
308
+ readonly path: "/v1/account";
309
+ readonly expect: readonly [200];
310
+ readonly free: true;
311
+ readonly note: "Account-wide, so the Gateway refuses it for apps; run it from the person's terminal.";
312
+ };
313
+ readonly rate: {
314
+ readonly perMinute: 600;
315
+ readonly note: "Creating predictions 600 a minute; every other endpoint 3,000 a minute.";
316
+ };
317
+ readonly example: "generate a product photo of a ceramic mug on a wooden table";
318
+ readonly verified: {
319
+ readonly on: "2026-10-25";
320
+ readonly how: "docs";
321
+ };
322
+ readonly tags: readonly ["ai", "images", "video", "audio"];
323
+ };
324
+ readonly huggingface: {
325
+ readonly mode: "api_key";
326
+ readonly label: "Hugging Face Inference";
327
+ readonly description: "Open models from Hugging Face's inference providers through one router: chat, embeddings, images, speech.";
328
+ readonly auth: {
329
+ readonly kind: "bearer";
330
+ readonly secret: "HUGGINGFACE_API_TOKEN";
331
+ };
332
+ readonly docs: "https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained";
333
+ readonly api: "https://huggingface.co/docs/inference-providers/index";
334
+ readonly hosts: readonly ["router.huggingface.co"];
335
+ readonly data: "per-call";
336
+ readonly access: readonly ["read"];
337
+ readonly readMethods: readonly ["GET", "POST"];
338
+ readonly accountWidePaths: readonly [];
339
+ readonly hint: "A fine-grained access token from Hugging Face settings with the Inference Providers permission; the Gateway sends it as a bearer token. Apps POST OpenAI-style chat to /v1/chat/completions, or other tasks under /<provider>/, such as /hf-inference/models/<model>.";
340
+ readonly secrets: readonly [{
341
+ readonly name: "HUGGINGFACE_API_TOKEN";
342
+ readonly hint: "A fine-grained token with only the Make calls to Inference Providers permission.";
343
+ }];
344
+ readonly cost: {
345
+ readonly unit: "call";
346
+ readonly note: "Pay as you go at each provider's own rate with no markup; PRO accounts get $2 of compute credits a month.";
347
+ };
348
+ readonly example: "embed these support articles for semantic search";
349
+ readonly verified: {
350
+ readonly on: "2026-10-25";
351
+ readonly how: "docs";
352
+ };
353
+ readonly tags: readonly ["ai", "llm", "embeddings", "images"];
354
+ };
355
+ };
356
+ //# sourceMappingURL=inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../../src/internal/catalog/inference.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkbsD,CAAC"}