@every-app/sdk 0.3.0-rc.1 → 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 (44) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cloudflare/index.d.ts +1 -1
  3. package/dist/cloudflare/index.d.ts.map +1 -1
  4. package/dist/cloudflare/worker.d.ts +88 -7
  5. package/dist/cloudflare/worker.d.ts.map +1 -1
  6. package/dist/cloudflare/worker.js +85 -6
  7. package/dist/internal/capabilities.d.ts +1933 -28
  8. package/dist/internal/capabilities.d.ts.map +1 -1
  9. package/dist/internal/capabilities.js +11 -0
  10. package/dist/internal/catalog/commerce.d.ts +394 -0
  11. package/dist/internal/catalog/commerce.d.ts.map +1 -0
  12. package/dist/internal/catalog/commerce.js +477 -0
  13. package/dist/internal/catalog/comms.d.ts +338 -0
  14. package/dist/internal/catalog/comms.d.ts.map +1 -0
  15. package/dist/internal/catalog/comms.js +477 -0
  16. package/dist/internal/catalog/index.d.ts +1899 -0
  17. package/dist/internal/catalog/index.d.ts.map +1 -0
  18. package/dist/internal/catalog/index.js +19 -0
  19. package/dist/internal/catalog/inference.d.ts +356 -0
  20. package/dist/internal/catalog/inference.d.ts.map +1 -0
  21. package/dist/internal/catalog/inference.js +425 -0
  22. package/dist/internal/catalog/infra.d.ts +423 -0
  23. package/dist/internal/catalog/infra.d.ts.map +1 -0
  24. package/dist/internal/catalog/infra.js +543 -0
  25. package/dist/internal/catalog/search.d.ts +400 -0
  26. package/dist/internal/catalog/search.d.ts.map +1 -0
  27. package/dist/internal/catalog/search.js +463 -0
  28. package/dist/internal/events.d.ts +1 -1
  29. package/dist/internal/events.d.ts.map +1 -1
  30. package/dist/internal/events.js +2 -0
  31. package/dist/internal/gatewaySettings.d.ts +2 -1
  32. package/dist/internal/gatewaySettings.d.ts.map +1 -1
  33. package/dist/internal/gatewaySettings.js +10 -2
  34. package/dist/internal/index.d.ts +1 -0
  35. package/dist/internal/index.d.ts.map +1 -1
  36. package/dist/internal/index.js +1 -0
  37. package/dist/internal/providerRegistry.d.ts.map +1 -1
  38. package/dist/internal/providerRegistry.js +4 -0
  39. package/dist/internal/providerSpec.d.ts.map +1 -1
  40. package/dist/internal/providerSpec.js +17 -5
  41. package/dist/internal/signInProviders.d.ts +104 -0
  42. package/dist/internal/signInProviders.d.ts.map +1 -0
  43. package/dist/internal/signInProviders.js +238 -0
  44. package/package.json +12 -12
@@ -0,0 +1,463 @@
1
+ export const SEARCH = {
2
+ firecrawl: {
3
+ mode: "api_key",
4
+ label: "Firecrawl",
5
+ description: "Scrapes, crawls, maps and searches the web, returning clean markdown or structured data.",
6
+ auth: {
7
+ kind: "bearer",
8
+ secret: "FIRECRAWL_API_KEY",
9
+ },
10
+ docs: "https://www.firecrawl.dev/app/api-keys",
11
+ api: "https://docs.firecrawl.dev/api-reference/introduction",
12
+ hosts: ["api.firecrawl.dev"],
13
+ data: "per-call",
14
+ access: ["read", "write"],
15
+ readMethods: ["GET", "POST"],
16
+ writeMethods: ["DELETE"],
17
+ accountWidePaths: [
18
+ ["team"],
19
+ ["crawl", "active"],
20
+ ["monitor"],
21
+ ["agent"],
22
+ ["interact"],
23
+ ["support", "ask"],
24
+ ],
25
+ hint: "An API key from Firecrawl's API keys page; the Gateway sends it as a bearer token. Scrape, crawl, map, search and extract are POSTs and job status is a GET; cancelling a crawl or batch (DELETE) needs write.",
26
+ secrets: [
27
+ {
28
+ name: "FIRECRAWL_API_KEY",
29
+ hint: "An API key from Firecrawl's API keys page; it starts with fc-.",
30
+ },
31
+ ],
32
+ smoke: {
33
+ method: "GET",
34
+ path: "/v2/team/credit-usage",
35
+ expect: [200],
36
+ free: true,
37
+ note: "Remaining credits; account-wide, so the Gateway refuses it for apps: run it from the person's terminal.",
38
+ },
39
+ cost: {
40
+ unit: "result",
41
+ note: "Credits: 1 per page scraped or crawled, 1 per map call, 2 per 10 search results; JSON extraction and other options add more.",
42
+ },
43
+ rate: {
44
+ note: "Per team per minute, by plan: /scrape 10 on Free, 100 Hobby, 500 Standard, 5,000 Growth; /crawl 2, 20, 100, 1,000.",
45
+ },
46
+ example: "scrape https://example.com/pricing into markdown",
47
+ verified: {
48
+ on: "2026-10-25",
49
+ how: "docs",
50
+ },
51
+ tags: ["scrape", "crawl", "search"],
52
+ },
53
+ exa: {
54
+ mode: "api_key",
55
+ label: "Exa",
56
+ description: "Web search built for AI: search results, page contents, similar links and cited answers.",
57
+ auth: {
58
+ kind: "header",
59
+ secret: "EXA_API_KEY",
60
+ header: "x-api-key",
61
+ },
62
+ docs: "https://dashboard.exa.ai/api-keys",
63
+ api: "https://exa.ai/docs/reference/search",
64
+ hosts: ["api.exa.ai"],
65
+ data: "per-call",
66
+ access: ["read"],
67
+ readMethods: ["POST"],
68
+ accountWidePaths: [["websets"], ["monitors"], ["agent"], ["batches"]],
69
+ hint: "An API key from the Exa dashboard (the free tier gives $10 of credit a month); the Gateway sends it in the x-api-key header. Search, contents, find-similar and answer are POSTs.",
70
+ secrets: [
71
+ {
72
+ name: "EXA_API_KEY",
73
+ hint: "An API key from the API keys page of the Exa dashboard.",
74
+ },
75
+ ],
76
+ smoke: {
77
+ method: "GET",
78
+ path: "/websets/v0/teams/me",
79
+ expect: [200],
80
+ free: true,
81
+ note: "Team info under the Websets API (the docs page leaves out the /websets prefix); account-wide, so run it from the person's terminal.",
82
+ },
83
+ cost: {
84
+ unit: "call",
85
+ usd: 0.007,
86
+ note: "Search $7 per 1k (auto and fast; lite $4), contents $1 per 1k pages, answer $5 per 1k; up to 10 results included.",
87
+ },
88
+ rate: {
89
+ perSecond: 10,
90
+ note: "Per team: /search and /answer 10 QPS, deep search 5, /contents 100.",
91
+ },
92
+ example: "find recent articles about solid-state batteries",
93
+ verified: {
94
+ on: "2026-10-25",
95
+ how: "docs",
96
+ },
97
+ tags: ["search"],
98
+ },
99
+ tavily: {
100
+ mode: "api_key",
101
+ label: "Tavily",
102
+ description: "Web search, page extraction, crawling and site maps for AI agents, plus research reports.",
103
+ auth: {
104
+ kind: "bearer",
105
+ secret: "TAVILY_API_KEY",
106
+ },
107
+ docs: "https://app.tavily.com",
108
+ api: "https://docs.tavily.com/documentation/api-reference/endpoint/search",
109
+ hosts: ["api.tavily.com"],
110
+ data: "per-call",
111
+ access: ["read"],
112
+ readMethods: ["GET", "POST"],
113
+ accountWidePaths: [["usage"], ["logs"], ["org-usage"]],
114
+ hint: "An API key from app.tavily.com (1,000 free credits a month); the Gateway sends it as a bearer token. Search, extract, crawl, map and research are POSTs; a research result is a GET.",
115
+ secrets: [
116
+ {
117
+ name: "TAVILY_API_KEY",
118
+ hint: "An API key from the Tavily dashboard; it starts with tvly-.",
119
+ },
120
+ ],
121
+ smoke: {
122
+ method: "GET",
123
+ path: "/usage",
124
+ expect: [200],
125
+ free: true,
126
+ note: "Key and account usage, not an endpoint that costs credits; account-wide, so run it from the person's terminal (10 calls per 10 minutes).",
127
+ },
128
+ cost: {
129
+ unit: "call",
130
+ usd: 0.008,
131
+ note: "Pay as you go $0.008 per credit: basic search 1 credit, advanced 2; extract 1 credit per 5 URLs; map 1 per 10 pages.",
132
+ },
133
+ rate: {
134
+ perMinute: 100,
135
+ note: "Development keys 100 per minute, production keys 1,000; crawl 100 and research 20 per minute for both.",
136
+ },
137
+ example: "search the web for this week's news on EU AI rules",
138
+ verified: {
139
+ on: "2026-10-25",
140
+ how: "docs",
141
+ },
142
+ tags: ["search", "scrape"],
143
+ },
144
+ // Unverified: Serper publishes no API reference; the request shape is read from its playground.
145
+ serper: {
146
+ mode: "api_key",
147
+ label: "Serper",
148
+ description: "Google search results as JSON: web, news, images, places, shopping, scholar and patents.",
149
+ auth: {
150
+ kind: "header",
151
+ secret: "SERPER_API_KEY",
152
+ header: "X-API-KEY",
153
+ },
154
+ docs: "https://serper.dev/api-keys",
155
+ api: "https://serper.dev/playground",
156
+ hosts: ["google.serper.dev", "scrape.serper.dev"],
157
+ data: "per-call",
158
+ access: ["read"],
159
+ readMethods: ["POST"],
160
+ accountWidePaths: [],
161
+ hint: 'An API key from serper.dev (2,500 free queries to start); the Gateway sends it in the X-API-KEY header. Every search is a POST to google.serper.dev/<type> (search, news, images, places, …) with a JSON body such as {"q": "…"}.',
162
+ secrets: [
163
+ {
164
+ name: "SERPER_API_KEY",
165
+ hint: "The API key on serper.dev's API keys page.",
166
+ },
167
+ ],
168
+ cost: {
169
+ unit: "call",
170
+ usd: 0.001,
171
+ note: "Prepaid credits, one per successful query: $1.00 per 1k on the 50k pack, down to $0.30 per 1k on the largest.",
172
+ },
173
+ rate: {
174
+ perSecond: 50,
175
+ note: "Starter credits 50 queries per second; Standard 100, Scale 200, Ultimate 300.",
176
+ },
177
+ example: "get the top Google results for best project management software",
178
+ verified: false,
179
+ tags: ["search", "serp"],
180
+ },
181
+ "brave-search": {
182
+ mode: "api_key",
183
+ label: "Brave Search",
184
+ description: "Brave's independent web index: web, news, images, videos, places, LLM context and answers.",
185
+ auth: {
186
+ kind: "header",
187
+ secret: "BRAVE_SEARCH_API_KEY",
188
+ header: "X-Subscription-Token",
189
+ },
190
+ docs: "https://api-dashboard.search.brave.com/app/keys",
191
+ api: "https://api-dashboard.search.brave.com/documentation",
192
+ hosts: ["api.search.brave.com"],
193
+ data: "per-call",
194
+ access: ["read"],
195
+ readMethods: ["GET", "POST"],
196
+ accountWidePaths: [],
197
+ hint: "Activate a plan (it includes $5 of free credit a month), then create a key under API Keys; the Gateway sends it in the X-Subscription-Token header. Searches are GETs (POST works too); answers are a POST to /res/v1/chat/completions.",
198
+ secrets: [
199
+ {
200
+ name: "BRAVE_SEARCH_API_KEY",
201
+ hint: "A key from the API Keys section of the Brave Search API dashboard, made after activating a plan.",
202
+ },
203
+ ],
204
+ cost: {
205
+ unit: "call",
206
+ usd: 0.005,
207
+ note: "Search $5 per 1k requests; Answers $4 per 1k plus $5 per million tokens; $5 free credit a month; only successful calls count.",
208
+ },
209
+ rate: {
210
+ perSecond: 50,
211
+ note: "Search plan 50 queries per second; Answers 2 per second.",
212
+ },
213
+ example: "search the web for the latest Cloudflare Workers release notes",
214
+ verified: {
215
+ on: "2026-10-25",
216
+ how: "docs",
217
+ },
218
+ tags: ["search"],
219
+ },
220
+ apify: {
221
+ mode: "api_key",
222
+ label: "Apify",
223
+ description: "Runs Apify Actors (ready-made scrapers and automations) and reads their datasets and stores.",
224
+ auth: {
225
+ kind: "bearer",
226
+ secret: "APIFY_API_TOKEN",
227
+ },
228
+ docs: "https://console.apify.com/settings/integrations",
229
+ api: "https://docs.apify.com/api/v2",
230
+ hosts: ["api.apify.com"],
231
+ data: "account",
232
+ access: ["read", "write"],
233
+ readMethods: ["GET", "HEAD"],
234
+ writeMethods: ["POST", "PUT", "DELETE"],
235
+ accountWidePaths: [
236
+ ["users"],
237
+ ["webhooks"],
238
+ ["webhook-dispatches"],
239
+ ["env-vars"],
240
+ ],
241
+ hint: "The API token from Apify Console, Settings > API & Integrations; the Gateway sends it as a bearer token. Reading Actors, runs and datasets needs read; starting a run is a POST, so it needs write.",
242
+ secrets: [
243
+ {
244
+ name: "APIFY_API_TOKEN",
245
+ hint: "The API token under Settings > API & Integrations in Apify Console.",
246
+ },
247
+ ],
248
+ smoke: {
249
+ method: "GET",
250
+ path: "/v2/users/me",
251
+ expect: [200],
252
+ free: true,
253
+ note: "The docs' verify call; account-wide, so the Gateway refuses it for apps: run it from the person's terminal.",
254
+ },
255
+ rate: {
256
+ perSecond: 60,
257
+ note: "60 requests per second per resource (one Actor, run, dataset or store); 250,000 requests per minute per user overall.",
258
+ },
259
+ example: "run the Google Maps scraper Actor for coffee shops in Austin and list the results",
260
+ verified: {
261
+ on: "2026-10-25",
262
+ how: "docs",
263
+ },
264
+ tags: ["scrape", "automation"],
265
+ },
266
+ deepgram: {
267
+ mode: "api_key",
268
+ label: "Deepgram",
269
+ description: "Speech to text, text to speech and text analysis.",
270
+ auth: {
271
+ kind: "bearer",
272
+ secret: "DEEPGRAM_API_KEY",
273
+ scheme: "Token",
274
+ },
275
+ docs: "https://console.deepgram.com/",
276
+ api: "https://developers.deepgram.com/reference/deepgram-api-overview",
277
+ hosts: [
278
+ "api.deepgram.com",
279
+ "api.eu.deepgram.com",
280
+ "api.au.deepgram.com",
281
+ "api.in.deepgram.com",
282
+ ],
283
+ data: "per-call",
284
+ access: ["read"],
285
+ readMethods: ["GET", "POST"],
286
+ accountWidePaths: [["projects"], ["auth", "grant"]],
287
+ hint: "An API key from the Deepgram Console; the Gateway sends it as Authorization: Token <key>, and the EU, Australia and India hosts take the same key. Transcription (/v1/listen), speech (/v1/speak) and text analysis (/v1/read) are POSTs.",
288
+ secrets: [
289
+ {
290
+ name: "DEEPGRAM_API_KEY",
291
+ hint: "A project API key created in the Deepgram Console.",
292
+ },
293
+ ],
294
+ smoke: {
295
+ method: "GET",
296
+ path: "/v1/models",
297
+ expect: [200],
298
+ free: true,
299
+ note: "Lists the public models; it needs the key and processes no audio.",
300
+ },
301
+ cost: {
302
+ unit: "call",
303
+ note: "Nova-3 pre-recorded $0.0043 per audio minute (pay as you go); Aura-2 speech $0.030 per 1k characters; $200 free credit.",
304
+ },
305
+ rate: {
306
+ note: "Concurrency per project on pay as you go: 50 pre-recorded transcriptions, 15 text-to-speech requests.",
307
+ },
308
+ example: "transcribe this podcast episode and label the speakers",
309
+ verified: {
310
+ on: "2026-10-25",
311
+ how: "docs",
312
+ },
313
+ tags: ["speech", "transcription"],
314
+ },
315
+ elevenlabs: {
316
+ mode: "api_key",
317
+ label: "ElevenLabs",
318
+ description: "Text to speech, speech to text, sound effects, music and voice changing.",
319
+ auth: {
320
+ kind: "header",
321
+ secret: "ELEVENLABS_API_KEY",
322
+ header: "xi-api-key",
323
+ },
324
+ docs: "https://elevenlabs.io/app/settings/api-keys",
325
+ api: "https://elevenlabs.io/docs/api-reference/introduction",
326
+ hosts: ["api.elevenlabs.io"],
327
+ data: "per-call",
328
+ access: ["read"],
329
+ readMethods: ["GET", "POST"],
330
+ accountWidePaths: [
331
+ ["v1", "user"],
332
+ ["v1", "usage"],
333
+ ["v1", "workspace"],
334
+ ["v1", "workspaces"],
335
+ ["v1", "service-accounts"],
336
+ ["v1", "history"],
337
+ ["v1", "single-use-token"],
338
+ ["v1", "convai"],
339
+ ["v1", "dubbing"],
340
+ ["v1", "studio"],
341
+ ["v1", "pronunciation-dictionaries"],
342
+ ["v1", "voices", "add"],
343
+ ["v1", "voices", "pvc"],
344
+ ["v1", "voices", "collections"],
345
+ ["edit"],
346
+ ["replicate-to-isolated-environment"],
347
+ ["v1", "text-to-voice"],
348
+ ["v1", "audio-native"],
349
+ ["v1", "productions"],
350
+ ["v1", "speech-engine"],
351
+ ["v1", "music", "finetunes"],
352
+ ["v1", "flows"],
353
+ ["v1", "assets"],
354
+ ["v1", "audio-isolation", "history"],
355
+ ],
356
+ hint: "An API key from ElevenLabs' API keys page; the Gateway sends it in the xi-api-key header. Speech, transcription and sound generation are POSTs; listing voices and models are GETs.",
357
+ secrets: [
358
+ {
359
+ name: "ELEVENLABS_API_KEY",
360
+ hint: "An API key from ElevenLabs' API keys page; it can be scoped to the endpoints the app uses and given a credit cap.",
361
+ },
362
+ ],
363
+ smoke: {
364
+ method: "GET",
365
+ path: "/v1/models",
366
+ expect: [200],
367
+ free: true,
368
+ note: "The first request in ElevenLabs' authentication docs; it generates nothing.",
369
+ },
370
+ example: "read this paragraph aloud in a calm narrator voice",
371
+ verified: {
372
+ on: "2026-10-25",
373
+ how: "docs",
374
+ },
375
+ tags: ["speech", "audio"],
376
+ },
377
+ // `account`, not per-call: GET /v2/transcript lists every transcript on the account and shares its segment with /v2/transcript/<id>.
378
+ assemblyai: {
379
+ mode: "api_key",
380
+ label: "AssemblyAI",
381
+ description: "Transcribes recorded audio and video, with speaker labels, redaction and subtitles.",
382
+ auth: {
383
+ kind: "header",
384
+ secret: "ASSEMBLYAI_API_KEY",
385
+ header: "Authorization",
386
+ },
387
+ docs: "https://www.assemblyai.com/dashboard/home",
388
+ api: "https://www.assemblyai.com/docs",
389
+ hosts: ["api.assemblyai.com", "api.eu.assemblyai.com"],
390
+ data: "account",
391
+ access: ["read", "write"],
392
+ readMethods: ["GET", "POST"],
393
+ writeMethods: ["DELETE"],
394
+ accountWidePaths: [],
395
+ hint: "The API key from your AssemblyAI dashboard; the Gateway sends it as the whole Authorization header, with no Bearer word. Audio is submitted with a POST to /v2/transcript and the app polls GET /v2/transcript/<id>; deleting a transcript needs write.",
396
+ secrets: [
397
+ {
398
+ name: "ASSEMBLYAI_API_KEY",
399
+ hint: "The API key on your AssemblyAI dashboard.",
400
+ },
401
+ ],
402
+ smoke: {
403
+ method: "GET",
404
+ path: "/v2/transcript?limit=1",
405
+ expect: [200],
406
+ free: true,
407
+ note: "Lists the account's latest transcript; it transcribes nothing.",
408
+ },
409
+ cost: {
410
+ unit: "call",
411
+ note: "Per hour of audio submitted: Universal-3.5 Pro $0.21, Universal-2 $0.15; the free tier covers up to 185 hours of pre-recorded audio.",
412
+ },
413
+ rate: {
414
+ perMinute: 4000,
415
+ note: "20,000 requests per 5 minutes per account; 5 transcriptions in parallel on free accounts, 200 or more on paid.",
416
+ },
417
+ example: "transcribe this sales call recording with speaker labels",
418
+ verified: {
419
+ on: "2026-10-25",
420
+ how: "docs",
421
+ },
422
+ tags: ["speech", "transcription"],
423
+ },
424
+ newsapi: {
425
+ mode: "api_key",
426
+ label: "NewsAPI",
427
+ description: "Searches news articles and live headlines from over 150,000 sources.",
428
+ auth: {
429
+ kind: "header",
430
+ secret: "NEWSAPI_API_KEY",
431
+ header: "X-Api-Key",
432
+ },
433
+ docs: "https://newsapi.org/register",
434
+ api: "https://newsapi.org/docs",
435
+ hosts: ["newsapi.org"],
436
+ data: "per-call",
437
+ access: ["read"],
438
+ readMethods: ["GET"],
439
+ accountWidePaths: [],
440
+ hint: "An API key from newsapi.org/register; the Gateway sends it in the X-Api-Key header. The free Developer plan allows 100 requests a day, delays articles by 24 hours and is for development only; production needs a paid plan.",
441
+ secrets: [
442
+ {
443
+ name: "NEWSAPI_API_KEY",
444
+ hint: "The API key NewsAPI shows after you register.",
445
+ },
446
+ ],
447
+ cost: {
448
+ unit: "call",
449
+ usd: 0.0018,
450
+ note: "Developer plan free (100 requests a day, development only); Business $449 a month for 250,000 requests, then $0.0018 each.",
451
+ },
452
+ rate: {
453
+ perDay: 100,
454
+ note: "Developer plan; Business includes 250,000 requests a month, Advanced 2,000,000.",
455
+ },
456
+ example: "find today's top business headlines in the US",
457
+ verified: {
458
+ on: "2026-10-25",
459
+ how: "docs",
460
+ },
461
+ tags: ["news"],
462
+ },
463
+ };
@@ -9,7 +9,7 @@
9
9
  * apps/every-app-gateway/src/server/events/catalogue.ts; this module knows
10
10
  * the names, versions and one-line descriptions only.
11
11
  */
12
- export type EventGroup = "member" | "app" | "cap" | "tool" | "connection" | "token" | "access" | "mcp_app" | "provider" | "ping";
12
+ export type EventGroup = "member" | "app" | "cap" | "tool" | "connection" | "token" | "access" | "signin_provider" | "mcp_app" | "provider" | "ping";
13
13
  export interface EventTypeInfo {
14
14
  /** `member.joined`, `cap.reached`, … */
15
15
  readonly type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/internal/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/internal/events.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,8 @@ export const EVENT_TYPES = [
41
41
  entry("token", "token.created", "A personal access token was created"),
42
42
  entry("token", "token.revoked", "A personal access token was revoked"),
43
43
  entry("access", "access.changed", "Cloudflare Access was turned on or off"),
44
+ entry("signin_provider", "signin_provider.added", "A sign-in provider (Continue with Google, …) was turned on"),
45
+ entry("signin_provider", "signin_provider.removed", "A sign-in provider was turned off"),
44
46
  entry("mcp_app", "mcp_app.added", "An MCP app was added"),
45
47
  entry("mcp_app", "mcp_app.removed", "An MCP app was removed"),
46
48
  entry("mcp_app", "mcp_app.enabled", "An MCP app is being served again"),
@@ -24,7 +24,8 @@ export declare const GATEWAY_OWN_SETTINGS: readonly ["AI_PROXY_EXTRA_ROUTES", "E
24
24
  export type SettableGatewaySetting = Exclude<CapabilitySecret, (typeof INSTALL_OWNED_GATEWAY_SETTINGS)[number]> | (typeof GATEWAY_OWN_SETTINGS)[number];
25
25
  /**
26
26
  * The Gateway's optional settings `everyapp secret set` changes: every
27
- * setting a catalog provider reads, then the Gateway's own.
27
+ * setting a catalog provider reads, the Gateway's own, then the sign-in
28
+ * providers' (`<ID>_SIGNIN_<FIELD>`, ./signInProviders.ts).
28
29
  */
29
30
  export declare const SETTABLE_GATEWAY_SETTINGS: readonly SettableGatewaySetting[];
30
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gatewaySettings.d.ts","sourceRoot":"","sources":["../../src/internal/gatewaySettings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,mLASjC,CAAC;AAMX,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AAoBD,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,yrBAkCvB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAC9B,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC,GAC1E,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,sBAAsB,EAGtE,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AAEvE,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,omBAwBmB,CAAC;AAIvD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,6EAIa,CAAC;AAIvD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,iGAAiG;AACjG,eAAO,MAAM,yBAAyB,yDAI5B,CAAC;AAEX,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAmBD,iDAAiD;AACjD,eAAO,MAAM,8BAA8B,sFAC0C,CAAC;AAEtF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAQ5E"}
1
+ {"version":3,"file":"gatewaySettings.d.ts","sourceRoot":"","sources":["../../src/internal/gatewaySettings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAM3B;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,mLASjC,CAAC;AAMX,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AAoBD,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,yrBAkCvB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAC9B,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC,GAC1E,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,sBAAsB,EAItE,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AAEvE,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,omBAwBmB,CAAC;AASvD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,6EAIa,CAAC;AAIvD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,iGAAiG;AACjG,eAAO,MAAM,yBAAyB,yDAI5B,CAAC;AAEX,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAmBD,iDAAiD;AACjD,eAAO,MAAM,8BAA8B,sFAC0C,CAAC;AAEtF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAQ5E"}
@@ -11,6 +11,7 @@
11
11
  * declaring every settable one.
12
12
  */
13
13
  import { CAPABILITIES, CAPABILITY_IDS, capabilitySettings, } from "./capabilities.js";
14
+ import { PLAIN_SIGN_IN_SETTINGS, SIGN_IN_GATEWAY_SETTINGS, } from "./signInProviders.js";
14
15
  /**
15
16
  * The Gateway's own settings: the install writes them once (`everyapp
16
17
  * setup`), or an operator by hand (THIRD_PARTY_DEPLOYS), and `everyapp
@@ -84,11 +85,13 @@ export const GATEWAY_OWN_SETTINGS = [
84
85
  ];
85
86
  /**
86
87
  * The Gateway's optional settings `everyapp secret set` changes: every
87
- * setting a catalog provider reads, then the Gateway's own.
88
+ * setting a catalog provider reads, the Gateway's own, then the sign-in
89
+ * providers' (`<ID>_SIGNIN_<FIELD>`, ./signInProviders.ts).
88
90
  */
89
91
  export const SETTABLE_GATEWAY_SETTINGS = [
90
92
  ...PROVIDER_GATEWAY_SETTINGS,
91
93
  ...GATEWAY_OWN_SETTINGS,
94
+ ...SIGN_IN_GATEWAY_SETTINGS,
92
95
  ];
93
96
  const SETTABLE = new Set(SETTABLE_GATEWAY_SETTINGS);
94
97
  /**
@@ -144,7 +147,12 @@ export const PLAIN_GATEWAY_SETTINGS = [
144
147
  "THIRD_PARTY_DOMAIN",
145
148
  "EVENTS_ALLOW_PRIVATE_TARGETS",
146
149
  ];
147
- const PLAIN = new Set(PLAIN_GATEWAY_SETTINGS);
150
+ const PLAIN = new Set([
151
+ ...PLAIN_GATEWAY_SETTINGS,
152
+ // The sign-in providers' ids, issuer, label and tenant; their client
153
+ // secrets are credentials.
154
+ ...PLAIN_SIGN_IN_SETTINGS,
155
+ ]);
148
156
  /** Whether a settable Gateway setting's value is a plain value, not a credential. */
149
157
  export function isPlainGatewaySetting(name) {
150
158
  return PLAIN.has(name);
@@ -14,6 +14,7 @@ export * from "./events.js";
14
14
  export * from "./providerSpec.js";
15
15
  export * from "./providerRegistry.js";
16
16
  export * from "./remoteMcp.js";
17
+ export * from "./signInProviders.js";
17
18
  export * from "./devProviders.js";
18
19
  export { ConfigurationError, IdentityError, getIdentityFromRequest, parsePublicKeys, resolveVerifyOptions, verifyIdentityJwt, verifyPublicMarkerJwt, verifySystemJwt, type IdentityResult, type RequestIdentityOptions, type VerifyOptions, } from "./identity.js";
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC"}
@@ -14,5 +14,6 @@ export * from "./events.js";
14
14
  export * from "./providerSpec.js";
15
15
  export * from "./providerRegistry.js";
16
16
  export * from "./remoteMcp.js";
17
+ export * from "./signInProviders.js";
17
18
  export * from "./devProviders.js";
18
19
  export { ConfigurationError, IdentityError, getIdentityFromRequest, parsePublicKeys, resolveVerifyOptions, verifyIdentityJwt, verifyPublicMarkerJwt, verifySystemJwt, } from "./identity.js";
@@ -1 +1 @@
1
- {"version":3,"file":"providerRegistry.d.ts","sourceRoot":"","sources":["../../src/internal/providerRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerRegistry.d.ts","sourceRoot":"","sources":["../../src/internal/providerRegistry.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@
22
22
  */
23
23
  import { CAPABILITIES, CAPABILITY_IDS, capabilitySettings, } from "./capabilities.js";
24
24
  import { isDevOnlyGatewaySetting, isInstallOwnedGatewaySetting, isReservedAppSecretName, isSettableGatewaySetting, } from "./gatewaySettings.js";
25
+ import { isSignInSettingName } from "./signInProviders.js";
25
26
  import { describeSpecProblems, parseProviderSpec, PROVIDER_ID, } from "./providerSpec.js";
26
27
  /**
27
28
  * The part of a row a key is set for: its hosts, its host setting and its
@@ -116,6 +117,9 @@ export function rowSecretProblem(id, name, taken) {
116
117
  if (isReservedAppSecretName(name)) {
117
118
  return `${name} is a name everyapp sets itself`;
118
119
  }
120
+ if (isSignInSettingName(name)) {
121
+ return `${name} is a sign-in provider's setting name (every <ID>_SIGNIN_<FIELD> name is the Gateway's, set with \`everyapp signin add\`)`;
122
+ }
119
123
  if (isSettableGatewaySetting(name)) {
120
124
  return `${name} is a Gateway setting another provider or the Gateway reads`;
121
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"providerSpec.d.ts","sourceRoot":"","sources":["../../src/internal/providerSpec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAIL,KAAK,gBAAgB,EAMtB,MAAM,mBAAmB,CAAC;AAE3B,oEAAoE;AACpE,eAAO,MAAM,WAAW,QAA2B,CAAC;AACpD,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAC7D,0FAA0F;AAC1F,eAAO,MAAM,aAAa,QACoD,CAAC;AA0D/E,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC;AA+fnD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAqKpE;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,MAAM,CAIR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,gBAAgB,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwCzB;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAC5B,UAAU,EAAE,gBAAgB,GAC3B,SAAS,MAAM,EAAE,CAEnB"}
1
+ {"version":3,"file":"providerSpec.d.ts","sourceRoot":"","sources":["../../src/internal/providerSpec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAIL,KAAK,gBAAgB,EAMtB,MAAM,mBAAmB,CAAC;AAE3B,oEAAoE;AACpE,eAAO,MAAM,WAAW,QAA2B,CAAC;AACpD,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAC7D,0FAA0F;AAC1F,eAAO,MAAM,aAAa,QACoD,CAAC;AAgE/E,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC;AA+fnD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CA8KpE;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,MAAM,CAIR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,gBAAgB,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwCzB;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAC5B,UAAU,EAAE,gBAAgB,GAC3B,SAAS,MAAM,EAAE,CAEnB"}