@every-app/sdk 0.3.0-rc.2 → 0.3.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloudflare/index.d.ts +2 -2
- package/dist/cloudflare/index.d.ts.map +1 -1
- package/dist/cloudflare/index.js +1 -1
- package/dist/cloudflare/sentinel.d.ts +39 -1
- package/dist/cloudflare/sentinel.d.ts.map +1 -1
- package/dist/cloudflare/sentinel.js +22 -1
- package/dist/cloudflare/worker.d.ts +119 -2
- package/dist/cloudflare/worker.d.ts.map +1 -1
- package/dist/cloudflare/worker.js +90 -6
- package/dist/internal/aiDefault.d.ts +141 -0
- package/dist/internal/aiDefault.d.ts.map +1 -0
- package/dist/internal/aiDefault.js +204 -0
- package/dist/internal/aiProviders.d.ts +4 -1
- package/dist/internal/aiProviders.d.ts.map +1 -1
- package/dist/internal/aiProviders.js +5 -1
- package/dist/internal/appSettings.d.ts +20 -2
- package/dist/internal/appSettings.d.ts.map +1 -1
- package/dist/internal/appSettings.js +53 -7
- package/dist/internal/audit.d.ts +108 -0
- package/dist/internal/audit.d.ts.map +1 -0
- package/dist/internal/audit.js +235 -0
- package/dist/internal/capabilities.d.ts +275 -6
- package/dist/internal/capabilities.d.ts.map +1 -1
- package/dist/internal/capabilities.js +111 -0
- package/dist/internal/catalog/index.d.ts +38 -1
- package/dist/internal/catalog/index.d.ts.map +1 -1
- package/dist/internal/catalog/inference.d.ts +38 -1
- package/dist/internal/catalog/inference.d.ts.map +1 -1
- package/dist/internal/catalog/inference.js +33 -1
- package/dist/internal/devProviders.d.ts +2 -2
- package/dist/internal/devProviders.d.ts.map +1 -1
- package/dist/internal/devProviders.js +19 -1
- package/dist/internal/events.d.ts +13 -2
- package/dist/internal/events.d.ts.map +1 -1
- package/dist/internal/events.js +19 -3
- package/dist/internal/index.d.ts +4 -0
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +4 -0
- package/dist/internal/oauthPresets.d.ts +29 -0
- package/dist/internal/oauthPresets.d.ts.map +1 -0
- package/dist/internal/oauthPresets.js +534 -0
- package/dist/internal/oauthScopes.d.ts +56 -1
- package/dist/internal/oauthScopes.d.ts.map +1 -1
- package/dist/internal/oauthScopes.js +98 -4
- package/dist/internal/oauthSpec.d.ts +59 -0
- package/dist/internal/oauthSpec.d.ts.map +1 -0
- package/dist/internal/oauthSpec.js +676 -0
- package/dist/internal/protocol.d.ts +11 -0
- package/dist/internal/protocol.d.ts.map +1 -1
- package/dist/internal/protocol.js +9 -0
- package/dist/internal/providerRegistry.d.ts +17 -6
- package/dist/internal/providerRegistry.d.ts.map +1 -1
- package/dist/internal/providerRegistry.js +47 -2
- package/dist/internal/providerSpec.d.ts +11 -7
- package/dist/internal/providerSpec.d.ts.map +1 -1
- package/dist/internal/providerSpec.js +134 -37
- package/dist/internal/signInProviders.d.ts.map +1 -1
- package/dist/internal/signInProviders.js +11 -4
- package/dist/server/ai.d.ts +45 -0
- package/dist/server/ai.d.ts.map +1 -0
- package/dist/server/ai.js +40 -0
- package/dist/server/connectUrl.d.ts +21 -0
- package/dist/server/connectUrl.d.ts.map +1 -0
- package/dist/server/connectUrl.js +37 -0
- package/dist/server/gatewayFetch.d.ts.map +1 -1
- package/dist/server/gatewayFetch.js +72 -8
- package/dist/server/index.d.ts +4 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -1
- package/dist/server/integrationFetch.d.ts +39 -2
- package/dist/server/integrationFetch.d.ts.map +1 -1
- package/dist/server/integrationFetch.js +177 -13
- package/package.json +1 -1
|
@@ -407,7 +407,16 @@ export declare const CATALOG_ENTRIES: {
|
|
|
407
407
|
readonly docs: "https://platform.claude.com/settings/keys";
|
|
408
408
|
readonly api: "https://platform.claude.com/docs/en/api/overview";
|
|
409
409
|
readonly origin: "https://api.anthropic.com";
|
|
410
|
-
readonly inferenceRoutes: readonly ["/v1/messages", "/v1/messages/count_tokens"];
|
|
410
|
+
readonly inferenceRoutes: readonly ["/v1/messages", "/v1/messages/count_tokens", "/v1/chat/completions"];
|
|
411
|
+
readonly unstoredRoutes: readonly ["/v1/chat/completions"];
|
|
412
|
+
readonly shape: "anthropic";
|
|
413
|
+
readonly chat: {
|
|
414
|
+
readonly path: "/v1/chat/completions";
|
|
415
|
+
readonly model: "claude-haiku-5-5";
|
|
416
|
+
};
|
|
417
|
+
readonly aig: {
|
|
418
|
+
readonly slug: "anthropic";
|
|
419
|
+
};
|
|
411
420
|
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.";
|
|
412
421
|
readonly secrets: readonly [{
|
|
413
422
|
readonly name: "ANTHROPIC_API_KEY";
|
|
@@ -442,6 +451,14 @@ export declare const CATALOG_ENTRIES: {
|
|
|
442
451
|
readonly api: "https://ai.google.dev/gemini-api/docs/openai";
|
|
443
452
|
readonly origin: "https://generativelanguage.googleapis.com";
|
|
444
453
|
readonly inferenceRoutes: readonly ["/v1beta/openai/chat/completions", "/v1beta/openai/embeddings", "/v1beta/openai/images/generations"];
|
|
454
|
+
readonly chat: {
|
|
455
|
+
readonly path: "/v1beta/openai/chat/completions";
|
|
456
|
+
readonly model: "gemini-3.1-flash-lite";
|
|
457
|
+
};
|
|
458
|
+
readonly embeddings: {
|
|
459
|
+
readonly path: "/v1beta/openai/embeddings";
|
|
460
|
+
readonly model: "gemini-embedding-001";
|
|
461
|
+
};
|
|
445
462
|
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.";
|
|
446
463
|
readonly secrets: readonly [{
|
|
447
464
|
readonly name: "GEMINI_API_KEY";
|
|
@@ -475,6 +492,17 @@ export declare const CATALOG_ENTRIES: {
|
|
|
475
492
|
readonly api: "https://docs.mistral.ai/api/";
|
|
476
493
|
readonly origin: "https://api.mistral.ai";
|
|
477
494
|
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"];
|
|
495
|
+
readonly chat: {
|
|
496
|
+
readonly path: "/v1/chat/completions";
|
|
497
|
+
readonly model: "mistral-small-latest";
|
|
498
|
+
};
|
|
499
|
+
readonly embeddings: {
|
|
500
|
+
readonly path: "/v1/embeddings";
|
|
501
|
+
readonly model: "mistral-embed";
|
|
502
|
+
};
|
|
503
|
+
readonly aig: {
|
|
504
|
+
readonly slug: "mistral";
|
|
505
|
+
};
|
|
478
506
|
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.";
|
|
479
507
|
readonly secrets: readonly [{
|
|
480
508
|
readonly name: "MISTRAL_API_KEY";
|
|
@@ -505,6 +533,14 @@ export declare const CATALOG_ENTRIES: {
|
|
|
505
533
|
readonly api: "https://console.groq.com/docs/api-reference";
|
|
506
534
|
readonly origin: "https://api.groq.com";
|
|
507
535
|
readonly inferenceRoutes: readonly ["/openai/v1/chat/completions", "/openai/v1/responses", "/openai/v1/audio/transcriptions", "/openai/v1/audio/translations", "/openai/v1/audio/speech"];
|
|
536
|
+
readonly chat: {
|
|
537
|
+
readonly path: "/openai/v1/chat/completions";
|
|
538
|
+
readonly model: "openai/gpt-oss-20b";
|
|
539
|
+
};
|
|
540
|
+
readonly aig: {
|
|
541
|
+
readonly slug: "groq";
|
|
542
|
+
readonly trim: "/openai/v1";
|
|
543
|
+
};
|
|
508
544
|
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.";
|
|
509
545
|
readonly secrets: readonly [{
|
|
510
546
|
readonly name: "GROQ_API_KEY";
|
|
@@ -538,6 +574,7 @@ export declare const CATALOG_ENTRIES: {
|
|
|
538
574
|
readonly api: "https://docs.cohere.com/reference/about";
|
|
539
575
|
readonly origin: "https://api.cohere.com";
|
|
540
576
|
readonly inferenceRoutes: readonly ["/v2/chat", "/v2/embed", "/v2/rerank", "/v1/classify", "/v2/audio/transcriptions", "/v2/parse", "/v1/tokenize", "/v1/detokenize"];
|
|
577
|
+
readonly shape: "other";
|
|
541
578
|
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.";
|
|
542
579
|
readonly secrets: readonly [{
|
|
543
580
|
readonly name: "COHERE_API_KEY";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/catalog/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/catalog/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlB,CAAC"}
|
|
@@ -10,7 +10,16 @@ export declare const INFERENCE: {
|
|
|
10
10
|
readonly docs: "https://platform.claude.com/settings/keys";
|
|
11
11
|
readonly api: "https://platform.claude.com/docs/en/api/overview";
|
|
12
12
|
readonly origin: "https://api.anthropic.com";
|
|
13
|
-
readonly inferenceRoutes: readonly ["/v1/messages", "/v1/messages/count_tokens"];
|
|
13
|
+
readonly inferenceRoutes: readonly ["/v1/messages", "/v1/messages/count_tokens", "/v1/chat/completions"];
|
|
14
|
+
readonly unstoredRoutes: readonly ["/v1/chat/completions"];
|
|
15
|
+
readonly shape: "anthropic";
|
|
16
|
+
readonly chat: {
|
|
17
|
+
readonly path: "/v1/chat/completions";
|
|
18
|
+
readonly model: "claude-haiku-5-5";
|
|
19
|
+
};
|
|
20
|
+
readonly aig: {
|
|
21
|
+
readonly slug: "anthropic";
|
|
22
|
+
};
|
|
14
23
|
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
24
|
readonly secrets: readonly [{
|
|
16
25
|
readonly name: "ANTHROPIC_API_KEY";
|
|
@@ -45,6 +54,14 @@ export declare const INFERENCE: {
|
|
|
45
54
|
readonly api: "https://ai.google.dev/gemini-api/docs/openai";
|
|
46
55
|
readonly origin: "https://generativelanguage.googleapis.com";
|
|
47
56
|
readonly inferenceRoutes: readonly ["/v1beta/openai/chat/completions", "/v1beta/openai/embeddings", "/v1beta/openai/images/generations"];
|
|
57
|
+
readonly chat: {
|
|
58
|
+
readonly path: "/v1beta/openai/chat/completions";
|
|
59
|
+
readonly model: "gemini-3.1-flash-lite";
|
|
60
|
+
};
|
|
61
|
+
readonly embeddings: {
|
|
62
|
+
readonly path: "/v1beta/openai/embeddings";
|
|
63
|
+
readonly model: "gemini-embedding-001";
|
|
64
|
+
};
|
|
48
65
|
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
66
|
readonly secrets: readonly [{
|
|
50
67
|
readonly name: "GEMINI_API_KEY";
|
|
@@ -78,6 +95,17 @@ export declare const INFERENCE: {
|
|
|
78
95
|
readonly api: "https://docs.mistral.ai/api/";
|
|
79
96
|
readonly origin: "https://api.mistral.ai";
|
|
80
97
|
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"];
|
|
98
|
+
readonly chat: {
|
|
99
|
+
readonly path: "/v1/chat/completions";
|
|
100
|
+
readonly model: "mistral-small-latest";
|
|
101
|
+
};
|
|
102
|
+
readonly embeddings: {
|
|
103
|
+
readonly path: "/v1/embeddings";
|
|
104
|
+
readonly model: "mistral-embed";
|
|
105
|
+
};
|
|
106
|
+
readonly aig: {
|
|
107
|
+
readonly slug: "mistral";
|
|
108
|
+
};
|
|
81
109
|
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
110
|
readonly secrets: readonly [{
|
|
83
111
|
readonly name: "MISTRAL_API_KEY";
|
|
@@ -108,6 +136,14 @@ export declare const INFERENCE: {
|
|
|
108
136
|
readonly api: "https://console.groq.com/docs/api-reference";
|
|
109
137
|
readonly origin: "https://api.groq.com";
|
|
110
138
|
readonly inferenceRoutes: readonly ["/openai/v1/chat/completions", "/openai/v1/responses", "/openai/v1/audio/transcriptions", "/openai/v1/audio/translations", "/openai/v1/audio/speech"];
|
|
139
|
+
readonly chat: {
|
|
140
|
+
readonly path: "/openai/v1/chat/completions";
|
|
141
|
+
readonly model: "openai/gpt-oss-20b";
|
|
142
|
+
};
|
|
143
|
+
readonly aig: {
|
|
144
|
+
readonly slug: "groq";
|
|
145
|
+
readonly trim: "/openai/v1";
|
|
146
|
+
};
|
|
111
147
|
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
148
|
readonly secrets: readonly [{
|
|
113
149
|
readonly name: "GROQ_API_KEY";
|
|
@@ -141,6 +177,7 @@ export declare const INFERENCE: {
|
|
|
141
177
|
readonly api: "https://docs.cohere.com/reference/about";
|
|
142
178
|
readonly origin: "https://api.cohere.com";
|
|
143
179
|
readonly inferenceRoutes: readonly ["/v2/chat", "/v2/embed", "/v2/rerank", "/v1/classify", "/v2/audio/transcriptions", "/v2/parse", "/v1/tokenize", "/v1/detokenize"];
|
|
180
|
+
readonly shape: "other";
|
|
144
181
|
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
182
|
readonly secrets: readonly [{
|
|
146
183
|
readonly name: "COHERE_API_KEY";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../../src/internal/catalog/inference.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../../src/internal/catalog/inference.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkdsD,CAAC"}
|
|
@@ -11,7 +11,19 @@ export const INFERENCE = {
|
|
|
11
11
|
docs: "https://platform.claude.com/settings/keys",
|
|
12
12
|
api: "https://platform.claude.com/docs/en/api/overview",
|
|
13
13
|
origin: "https://api.anthropic.com",
|
|
14
|
-
inferenceRoutes: [
|
|
14
|
+
inferenceRoutes: [
|
|
15
|
+
"/v1/messages",
|
|
16
|
+
"/v1/messages/count_tokens",
|
|
17
|
+
// Anthropic's OpenAI-compatible chat completions (its docs: not a
|
|
18
|
+
// long-term solution; `strict` is ignored): what the default route
|
|
19
|
+
// maps onto when Anthropic is the Gateway's default.
|
|
20
|
+
"/v1/chat/completions",
|
|
21
|
+
],
|
|
22
|
+
unstoredRoutes: ["/v1/chat/completions"],
|
|
23
|
+
// The Messages API is the shape an app pins `anthropic` for.
|
|
24
|
+
shape: "anthropic",
|
|
25
|
+
chat: { path: "/v1/chat/completions", model: "claude-haiku-5-5" },
|
|
26
|
+
aig: { slug: "anthropic" },
|
|
15
27
|
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.",
|
|
16
28
|
secrets: [
|
|
17
29
|
{
|
|
@@ -52,6 +64,16 @@ export const INFERENCE = {
|
|
|
52
64
|
"/v1beta/openai/embeddings",
|
|
53
65
|
"/v1beta/openai/images/generations",
|
|
54
66
|
],
|
|
67
|
+
chat: {
|
|
68
|
+
path: "/v1beta/openai/chat/completions",
|
|
69
|
+
model: "gemini-3.1-flash-lite",
|
|
70
|
+
},
|
|
71
|
+
embeddings: {
|
|
72
|
+
path: "/v1beta/openai/embeddings",
|
|
73
|
+
model: "gemini-embedding-001",
|
|
74
|
+
},
|
|
75
|
+
// No `aig`: AI Gateway documents Google AI Studio's native form only
|
|
76
|
+
// (/v1/models/{model}:generateContent), not these OpenAI-shaped paths.
|
|
55
77
|
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.",
|
|
56
78
|
secrets: [
|
|
57
79
|
{
|
|
@@ -98,6 +120,9 @@ export const INFERENCE = {
|
|
|
98
120
|
"/v1/audio/transcriptions",
|
|
99
121
|
"/v1/audio/speech",
|
|
100
122
|
],
|
|
123
|
+
chat: { path: "/v1/chat/completions", model: "mistral-small-latest" },
|
|
124
|
+
embeddings: { path: "/v1/embeddings", model: "mistral-embed" },
|
|
125
|
+
aig: { slug: "mistral" },
|
|
101
126
|
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.",
|
|
102
127
|
secrets: [
|
|
103
128
|
{
|
|
@@ -136,6 +161,9 @@ export const INFERENCE = {
|
|
|
136
161
|
"/openai/v1/audio/translations",
|
|
137
162
|
"/openai/v1/audio/speech",
|
|
138
163
|
],
|
|
164
|
+
chat: { path: "/openai/v1/chat/completions", model: "openai/gpt-oss-20b" },
|
|
165
|
+
// AI Gateway's Groq endpoint takes the path without `/openai/v1`.
|
|
166
|
+
aig: { slug: "groq", trim: "/openai/v1" },
|
|
139
167
|
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.",
|
|
140
168
|
secrets: [
|
|
141
169
|
{
|
|
@@ -180,6 +208,10 @@ export const INFERENCE = {
|
|
|
180
208
|
"/v1/tokenize",
|
|
181
209
|
"/v1/detokenize",
|
|
182
210
|
],
|
|
211
|
+
// Cohere's own v2 shape: pinned by an app that speaks it, never the
|
|
212
|
+
// default (its OpenAI-compatible endpoint is on another host,
|
|
213
|
+
// api.cohere.ai). No `aig`: AI Gateway documents v1 paths only.
|
|
214
|
+
shape: "other",
|
|
183
215
|
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.",
|
|
184
216
|
secrets: [
|
|
185
217
|
{
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* doesn't parse is ignored until an app asks for its id, which then gets
|
|
17
17
|
* a ConfigurationError naming the file.
|
|
18
18
|
*/
|
|
19
|
-
import type
|
|
19
|
+
import { type RegistrableCapability } from "./providerSpec.js";
|
|
20
20
|
/** The dev Worker's binding holding the specs (a copy is in ../cloudflare/worker.ts, kept in step by a test). */
|
|
21
21
|
export declare const DEV_PROVIDERS_ENV = "EVERYAPP_DEV_PROVIDERS";
|
|
22
22
|
/** Where the specs live in an app, relative to its directory. */
|
|
@@ -33,7 +33,7 @@ export declare function devProviderFile(id: string): string;
|
|
|
33
33
|
/** A registered provider resolved for local development, or why it can't be. */
|
|
34
34
|
export type DevProviderLookup = {
|
|
35
35
|
found: true;
|
|
36
|
-
capability:
|
|
36
|
+
capability: RegistrableCapability;
|
|
37
37
|
file: string;
|
|
38
38
|
} | {
|
|
39
39
|
found: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devProviders.d.ts","sourceRoot":"","sources":["../../src/internal/devProviders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"devProviders.d.ts","sourceRoot":"","sources":["../../src/internal/devProviders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,iHAAiH;AACjH,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAE1D,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;CACf;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,qBAAqB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAuBtC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,EAAE,EAAE,MAAM,GACT,iBAAiB,CA+BnB"}
|
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A provider registered on a gateway, in local development
|
|
3
|
+
* (docs/design/2026-10-provider-registry.md, section 4). There is no
|
|
4
|
+
* gateway to ask in `everyapp dev`, so the spec comes from the app's
|
|
5
|
+
* directory: `everyapp provider add` (run in an app directory) and
|
|
6
|
+
* `everyapp provider show <id> --save` write it to
|
|
7
|
+
* `.everyapp/providers/<id>.json`, `everyAppWorker()` reads every such
|
|
8
|
+
* file when it builds the dev Worker and hands them over as one text
|
|
9
|
+
* binding, {@link DEV_PROVIDERS_ENV}, and `integrationFetch()`'s local
|
|
10
|
+
* fallback resolves an id outside the catalog from it, with the
|
|
11
|
+
* developer's own key from `.dev.vars` under the spec's setting names.
|
|
12
|
+
*
|
|
13
|
+
* The binding is JSON: `[{ "file": ".everyapp/providers/stripe.json",
|
|
14
|
+
* "spec": <the file's JSON, or its text when it isn't JSON> }]`. Each spec
|
|
15
|
+
* is parsed here, with the same parser `provider add` uses; one that
|
|
16
|
+
* doesn't parse is ignored until an app asks for its id, which then gets
|
|
17
|
+
* a ConfigurationError naming the file.
|
|
18
|
+
*/
|
|
19
|
+
import { describeSpecProblems, parseProviderSpec, } from "./providerSpec.js";
|
|
2
20
|
/** The dev Worker's binding holding the specs (a copy is in ../cloudflare/worker.ts, kept in step by a test). */
|
|
3
21
|
export const DEV_PROVIDERS_ENV = "EVERYAPP_DEV_PROVIDERS";
|
|
4
22
|
/** Where the specs live in an app, relative to its directory. */
|
|
@@ -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" | "signin_provider" | "mcp_app" | "provider" | "ping";
|
|
12
|
+
export type EventGroup = "member" | "app" | "cap" | "tool" | "connection" | "token" | "access" | "signin_provider" | "mcp_app" | "provider" | "ai" | "ping";
|
|
13
13
|
export interface EventTypeInfo {
|
|
14
14
|
/** `member.joined`, `cap.reached`, … */
|
|
15
15
|
readonly type: string;
|
|
@@ -56,8 +56,19 @@ export declare const EVENT_SUBSCRIPTIONS_MAX = 25;
|
|
|
56
56
|
/** A webhook signing secret's length. */
|
|
57
57
|
export declare const EVENT_SECRET_MIN_LENGTH = 16;
|
|
58
58
|
export declare const EVENT_SECRET_MAX_LENGTH = 128;
|
|
59
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Deliveries (the queue and its log) are kept this long. Events themselves
|
|
61
|
+
* are the audit log and live longer ({@link AUDIT_RETENTION_DAYS}).
|
|
62
|
+
*/
|
|
60
63
|
export declare const EVENT_RETENTION_DAYS = 30;
|
|
64
|
+
/**
|
|
65
|
+
* Events are kept this long: Admin → Activity → Audit, `everyapp workspace
|
|
66
|
+
* audit` and `everyapp_workspace_audit` read them back. A constant, not a
|
|
67
|
+
* setting.
|
|
68
|
+
*/
|
|
69
|
+
export declare const AUDIT_RETENTION_DAYS = 90;
|
|
70
|
+
/** The most audit rows one page carries, on every surface. */
|
|
71
|
+
export declare const AUDIT_PAGE_MAX = 200;
|
|
61
72
|
/** A subscription's URL. */
|
|
62
73
|
export declare const EVENT_URL_MAX_LENGTH = 2048;
|
|
63
74
|
/** A subscription's name. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/internal/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,iBAAiB,GACjB,SAAS,GACT,UAAU,GACV,MAAM,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AASD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,aAAa,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/internal/events.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/events.js
CHANGED
|
@@ -47,8 +47,13 @@ export const EVENT_TYPES = [
|
|
|
47
47
|
entry("mcp_app", "mcp_app.removed", "An MCP app was removed"),
|
|
48
48
|
entry("mcp_app", "mcp_app.enabled", "An MCP app is being served again"),
|
|
49
49
|
entry("mcp_app", "mcp_app.disabled", "An MCP app stopped being served"),
|
|
50
|
-
entry("provider", "provider.added", "
|
|
51
|
-
entry("provider", "provider.removed", "
|
|
50
|
+
entry("provider", "provider.added", "A provider was registered"),
|
|
51
|
+
entry("provider", "provider.removed", "A provider was removed"),
|
|
52
|
+
entry("provider", "provider.updated", "A provider's spec or OAuth client was replaced"),
|
|
53
|
+
entry("provider", "provider.connected", "Someone connected an account at an OAuth provider"),
|
|
54
|
+
entry("provider", "provider.disconnected", "An OAuth provider account was disconnected"),
|
|
55
|
+
entry("provider", "provider.connection_expired", "An OAuth provider refused to refresh a connection; it needs reconnecting"),
|
|
56
|
+
entry("ai", "ai.default_changed", "The default model provider changed"),
|
|
52
57
|
entry("ping", "ping", "A test event, sent to one subscription on request"),
|
|
53
58
|
];
|
|
54
59
|
const typesByName = new Map(EVENT_TYPES.map((info) => [info.type, info]));
|
|
@@ -101,8 +106,19 @@ export const EVENT_SUBSCRIPTIONS_MAX = 25;
|
|
|
101
106
|
/** A webhook signing secret's length. */
|
|
102
107
|
export const EVENT_SECRET_MIN_LENGTH = 16;
|
|
103
108
|
export const EVENT_SECRET_MAX_LENGTH = 128;
|
|
104
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* Deliveries (the queue and its log) are kept this long. Events themselves
|
|
111
|
+
* are the audit log and live longer ({@link AUDIT_RETENTION_DAYS}).
|
|
112
|
+
*/
|
|
105
113
|
export const EVENT_RETENTION_DAYS = 30;
|
|
114
|
+
/**
|
|
115
|
+
* Events are kept this long: Admin → Activity → Audit, `everyapp workspace
|
|
116
|
+
* audit` and `everyapp_workspace_audit` read them back. A constant, not a
|
|
117
|
+
* setting.
|
|
118
|
+
*/
|
|
119
|
+
export const AUDIT_RETENTION_DAYS = 90;
|
|
120
|
+
/** The most audit rows one page carries, on every surface. */
|
|
121
|
+
export const AUDIT_PAGE_MAX = 200;
|
|
106
122
|
/** A subscription's URL. */
|
|
107
123
|
export const EVENT_URL_MAX_LENGTH = 2048;
|
|
108
124
|
/** A subscription's name. */
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./protocol.js";
|
|
|
2
2
|
export * from "./tools.js";
|
|
3
3
|
export * from "./capabilities.js";
|
|
4
4
|
export * from "./aiProviders.js";
|
|
5
|
+
export * from "./aiDefault.js";
|
|
5
6
|
export * from "./gatewaySettings.js";
|
|
6
7
|
export * from "./appSettings.js";
|
|
7
8
|
export * from "./email.js";
|
|
@@ -9,8 +10,11 @@ export * from "./members.js";
|
|
|
9
10
|
export * from "./organizationName.js";
|
|
10
11
|
export * from "./oauthClient.js";
|
|
11
12
|
export * from "./oauthScopes.js";
|
|
13
|
+
export * from "./oauthSpec.js";
|
|
14
|
+
export * from "./oauthPresets.js";
|
|
12
15
|
export * from "./providerApps.js";
|
|
13
16
|
export * from "./events.js";
|
|
17
|
+
export * from "./audit.js";
|
|
14
18
|
export * from "./providerSpec.js";
|
|
15
19
|
export * from "./providerRegistry.js";
|
|
16
20
|
export * from "./remoteMcp.js";
|
|
@@ -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,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"}
|
|
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,gBAAgB,CAAC;AAC/B,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,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,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"}
|
package/dist/internal/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./protocol.js";
|
|
|
2
2
|
export * from "./tools.js";
|
|
3
3
|
export * from "./capabilities.js";
|
|
4
4
|
export * from "./aiProviders.js";
|
|
5
|
+
export * from "./aiDefault.js";
|
|
5
6
|
export * from "./gatewaySettings.js";
|
|
6
7
|
export * from "./appSettings.js";
|
|
7
8
|
export * from "./email.js";
|
|
@@ -9,8 +10,11 @@ export * from "./members.js";
|
|
|
9
10
|
export * from "./organizationName.js";
|
|
10
11
|
export * from "./oauthClient.js";
|
|
11
12
|
export * from "./oauthScopes.js";
|
|
13
|
+
export * from "./oauthSpec.js";
|
|
14
|
+
export * from "./oauthPresets.js";
|
|
12
15
|
export * from "./providerApps.js";
|
|
13
16
|
export * from "./events.js";
|
|
17
|
+
export * from "./audit.js";
|
|
14
18
|
export * from "./providerSpec.js";
|
|
15
19
|
export * from "./providerRegistry.js";
|
|
16
20
|
export * from "./remoteMcp.js";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth presets (docs/design/2026-10-oauth-providers.md section 4): ready
|
|
3
|
+
* `oauth2-user` specs, in the JSON shape `everyapp provider add` takes,
|
|
4
|
+
* for the providers people most often want a "Connect" button for. A
|
|
5
|
+
* preset becomes a `providers` row when added (`everyapp provider add
|
|
6
|
+
* --oauth github`, the Admin dialog, `everyapp_provider_add` with
|
|
7
|
+
* `preset`), so an operator may `provider show` and edit a copy; nothing
|
|
8
|
+
* here is a hidden catalog entry. Google, Microsoft, Slack and Discord
|
|
9
|
+
* are catalog clients with a `flow` and are offered in the same picker.
|
|
10
|
+
*
|
|
11
|
+
* Each preset parses with `parseProviderSpec` (oauthPresets.test.ts),
|
|
12
|
+
* names a console where the client is made, the API hosts the token is
|
|
13
|
+
* sent to, and scope sets an app declares under `scopes`. Scope strings
|
|
14
|
+
* are the providers' own, verified against their docs on 2026-10-25.
|
|
15
|
+
*/
|
|
16
|
+
import { type RegistrableCapability } from "./providerSpec.js";
|
|
17
|
+
/** A preset's spec as JSON: the shape of ./oauthSpec.ts. */
|
|
18
|
+
export type OAuthPresetSpec = Readonly<Record<string, unknown>>;
|
|
19
|
+
export declare const OAUTH_PRESETS: Readonly<Record<string, OAuthPresetSpec>>;
|
|
20
|
+
/** The preset ids, in the order the picker shows them. */
|
|
21
|
+
export declare function oauthPresetIds(): string[];
|
|
22
|
+
/** A preset's parsed capability, for the picker's labels; throws for an unknown id (the test parses every preset). */
|
|
23
|
+
export declare function oauthPreset(id: string): RegistrableCapability | null;
|
|
24
|
+
/** Whether `capability` is an OAuth provider the Gateway runs the flow for. */
|
|
25
|
+
export declare function isOAuthProvider(capability: {
|
|
26
|
+
mode: string;
|
|
27
|
+
flow?: unknown;
|
|
28
|
+
} | undefined): boolean;
|
|
29
|
+
//# sourceMappingURL=oauthPresets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauthPresets.d.ts","sourceRoot":"","sources":["../../src/internal/oauthPresets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAofnE,CAAC;AAEF,0DAA0D;AAC1D,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED,sHAAsH;AACtH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAUpE;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAC7B,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GACvD,OAAO,CAET"}
|