@every-app/sdk 0.1.14 → 0.3.0-rc.1
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/README.md +608 -2
- package/dist/cloudflare/index.d.ts +21 -1
- package/dist/cloudflare/index.d.ts.map +1 -1
- package/dist/cloudflare/index.js +21 -1
- package/dist/cloudflare/sentinel.d.ts +69 -0
- package/dist/cloudflare/sentinel.d.ts.map +1 -0
- package/dist/cloudflare/sentinel.js +50 -0
- package/dist/cloudflare/worker.d.ts +511 -0
- package/dist/cloudflare/worker.d.ts.map +1 -0
- package/dist/cloudflare/worker.js +738 -0
- package/dist/dev/index.d.ts +8 -0
- package/dist/dev/index.d.ts.map +1 -0
- package/dist/dev/index.js +7 -0
- package/dist/dev/keypair.d.ts +24 -0
- package/dist/dev/keypair.d.ts.map +1 -0
- package/dist/dev/keypair.js +60 -0
- package/dist/internal/aiProviders.d.ts +67 -0
- package/dist/internal/aiProviders.d.ts.map +1 -0
- package/dist/internal/aiProviders.js +220 -0
- package/dist/internal/appSettings.d.ts +237 -0
- package/dist/internal/appSettings.d.ts.map +1 -0
- package/dist/internal/appSettings.js +374 -0
- package/dist/internal/capabilities.d.ts +1344 -0
- package/dist/internal/capabilities.d.ts.map +1 -0
- package/dist/internal/capabilities.js +1521 -0
- package/dist/internal/devProviders.d.ts +49 -0
- package/dist/internal/devProviders.d.ts.map +1 -0
- package/dist/internal/devProviders.js +62 -0
- package/dist/internal/email.d.ts +280 -0
- package/dist/internal/email.d.ts.map +1 -0
- package/dist/internal/email.js +613 -0
- package/dist/internal/events.d.ts +182 -0
- package/dist/internal/events.d.ts.map +1 -0
- package/dist/internal/events.js +324 -0
- package/dist/internal/gatewaySettings.d.ts +82 -0
- package/dist/internal/gatewaySettings.d.ts.map +1 -0
- package/dist/internal/gatewaySettings.js +209 -0
- package/dist/internal/identity.d.ts +88 -0
- package/dist/internal/identity.d.ts.map +1 -0
- package/dist/internal/identity.js +231 -0
- package/dist/internal/index.d.ts +19 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +18 -0
- package/dist/internal/members.d.ts +35 -0
- package/dist/internal/members.d.ts.map +1 -0
- package/dist/internal/members.js +7 -0
- package/dist/internal/oauthClient.d.ts +63 -0
- package/dist/internal/oauthClient.d.ts.map +1 -0
- package/dist/internal/oauthClient.js +194 -0
- package/dist/internal/oauthScopes.d.ts +117 -0
- package/dist/internal/oauthScopes.d.ts.map +1 -0
- package/dist/internal/oauthScopes.js +416 -0
- package/dist/internal/organizationName.d.ts +18 -0
- package/dist/internal/organizationName.d.ts.map +1 -0
- package/dist/internal/organizationName.js +24 -0
- package/dist/internal/protocol.d.ts +195 -0
- package/dist/internal/protocol.d.ts.map +1 -0
- package/dist/internal/protocol.js +250 -0
- package/dist/internal/providerApps.d.ts +75 -0
- package/dist/internal/providerApps.d.ts.map +1 -0
- package/dist/internal/providerApps.js +59 -0
- package/dist/internal/providerRegistry.d.ts +147 -0
- package/dist/internal/providerRegistry.d.ts.map +1 -0
- package/dist/internal/providerRegistry.js +262 -0
- package/dist/internal/providerSpec.d.ts +55 -0
- package/dist/internal/providerSpec.d.ts.map +1 -0
- package/dist/internal/providerSpec.js +746 -0
- package/dist/internal/remoteMcp.d.ts +188 -0
- package/dist/internal/remoteMcp.d.ts.map +1 -0
- package/dist/internal/remoteMcp.js +543 -0
- package/dist/internal/tools.d.ts +115 -0
- package/dist/internal/tools.d.ts.map +1 -0
- package/dist/internal/tools.js +80 -0
- package/dist/server/attribution.d.ts +39 -0
- package/dist/server/attribution.d.ts.map +1 -0
- package/dist/server/attribution.js +67 -0
- package/dist/server/authorizeUrl.d.ts +43 -0
- package/dist/server/authorizeUrl.d.ts.map +1 -0
- package/dist/server/authorizeUrl.js +110 -0
- package/dist/server/emit.d.ts +63 -0
- package/dist/server/emit.d.ts.map +1 -0
- package/dist/server/emit.js +101 -0
- package/dist/server/everyApp.d.ts +81 -0
- package/dist/server/everyApp.d.ts.map +1 -0
- package/dist/server/everyApp.js +185 -0
- package/dist/server/gatewayFetch.d.ts +37 -0
- package/dist/server/gatewayFetch.d.ts.map +1 -0
- package/dist/server/gatewayFetch.js +115 -0
- package/dist/server/index.d.ts +18 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +15 -0
- package/dist/server/integrationFetch.d.ts +131 -0
- package/dist/server/integrationFetch.d.ts.map +1 -0
- package/dist/server/integrationFetch.js +526 -0
- package/dist/server/listMembers.d.ts +32 -0
- package/dist/server/listMembers.d.ts.map +1 -0
- package/dist/server/listMembers.js +74 -0
- package/dist/server/nodeServer.d.ts +48 -0
- package/dist/server/nodeServer.d.ts.map +1 -0
- package/dist/server/nodeServer.js +45 -0
- package/dist/server/sendEmail.d.ts +39 -0
- package/dist/server/sendEmail.d.ts.map +1 -0
- package/dist/server/sendEmail.js +114 -0
- package/dist/server/tools.d.ts +184 -0
- package/dist/server/tools.d.ts.map +1 -0
- package/dist/server/tools.js +347 -0
- package/dist/server/toolsEndpoint.d.ts +32 -0
- package/dist/server/toolsEndpoint.d.ts.map +1 -0
- package/dist/server/toolsEndpoint.js +231 -0
- package/package.json +21 -31
- package/dist/cloudflare/getLocalD1Url.d.ts +0 -2
- package/dist/cloudflare/getLocalD1Url.d.ts.map +0 -1
- package/dist/cloudflare/getLocalD1Url.js +0 -40
- package/dist/cloudflare/lazyInit.d.ts +0 -22
- package/dist/cloudflare/lazyInit.d.ts.map +0 -1
- package/dist/cloudflare/lazyInit.js +0 -65
- package/dist/cloudflare/server/gateway.d.ts +0 -29
- package/dist/cloudflare/server/gateway.d.ts.map +0 -1
- package/dist/cloudflare/server/gateway.js +0 -69
- package/dist/cloudflare/server/index.d.ts +0 -3
- package/dist/cloudflare/server/index.d.ts.map +0 -1
- package/dist/cloudflare/server/index.js +0 -2
- package/dist/core/authenticatedFetch.d.ts +0 -9
- package/dist/core/authenticatedFetch.d.ts.map +0 -1
- package/dist/core/authenticatedFetch.js +0 -31
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -2
- package/dist/core/sessionManager.d.ts +0 -58
- package/dist/core/sessionManager.d.ts.map +0 -1
- package/dist/core/sessionManager.js +0 -357
- package/dist/shared/bypassGatewayLocalOnly.d.ts +0 -15
- package/dist/shared/bypassGatewayLocalOnly.d.ts.map +0 -1
- package/dist/shared/bypassGatewayLocalOnly.js +0 -45
- package/dist/shared/parseMessagePayload.d.ts +0 -3
- package/dist/shared/parseMessagePayload.d.ts.map +0 -1
- package/dist/shared/parseMessagePayload.js +0 -18
- package/dist/tanstack/EmbeddedAppProvider.d.ts +0 -30
- package/dist/tanstack/EmbeddedAppProvider.d.ts.map +0 -1
- package/dist/tanstack/EmbeddedAppProvider.js +0 -57
- package/dist/tanstack/GatewayRequiredError.d.ts +0 -20
- package/dist/tanstack/GatewayRequiredError.d.ts.map +0 -1
- package/dist/tanstack/GatewayRequiredError.js +0 -91
- package/dist/tanstack/_internal/useEveryAppSession.d.ts +0 -18
- package/dist/tanstack/_internal/useEveryAppSession.d.ts.map +0 -1
- package/dist/tanstack/_internal/useEveryAppSession.js +0 -47
- package/dist/tanstack/index.d.ts +0 -4
- package/dist/tanstack/index.d.ts.map +0 -1
- package/dist/tanstack/index.js +0 -3
- package/dist/tanstack/server/authConfig.d.ts +0 -3
- package/dist/tanstack/server/authConfig.d.ts.map +0 -1
- package/dist/tanstack/server/authConfig.js +0 -13
- package/dist/tanstack/server/authenticateRequest.d.ts +0 -31
- package/dist/tanstack/server/authenticateRequest.d.ts.map +0 -1
- package/dist/tanstack/server/authenticateRequest.js +0 -154
- package/dist/tanstack/server/index.d.ts +0 -4
- package/dist/tanstack/server/index.d.ts.map +0 -1
- package/dist/tanstack/server/index.js +0 -2
- package/dist/tanstack/server/types.d.ts +0 -5
- package/dist/tanstack/server/types.d.ts.map +0 -1
- package/dist/tanstack/server/types.js +0 -1
- package/dist/tanstack/useEveryAppRouter.d.ts +0 -7
- package/dist/tanstack/useEveryAppRouter.d.ts.map +0 -1
- package/dist/tanstack/useEveryAppRouter.js +0 -66
- package/dist/tanstack/useSessionTokenClientMiddleware.d.ts +0 -2
- package/dist/tanstack/useSessionTokenClientMiddleware.d.ts.map +0 -1
- package/dist/tanstack/useSessionTokenClientMiddleware.js +0 -29
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { type ToolRisk } from "./tools.js";
|
|
2
|
+
export declare const REMOTE_MCP_AUTH_KINDS: readonly ["none", "bearer", "header", "basic", "oauth"];
|
|
3
|
+
export type RemoteMcpAuthKind = (typeof REMOTE_MCP_AUTH_KINDS)[number];
|
|
4
|
+
/**
|
|
5
|
+
* How the Gateway authenticates to the server. `secret` is the name of
|
|
6
|
+
* the Gateway setting holding the value ({@link remoteMcpSecretName}),
|
|
7
|
+
* never the value. `oauth` is recorded so the app can say what the server
|
|
8
|
+
* wants; it is not served (the design's section 10).
|
|
9
|
+
*/
|
|
10
|
+
export type RemoteMcpAuth = {
|
|
11
|
+
kind: "none";
|
|
12
|
+
}
|
|
13
|
+
/** `Authorization: Bearer <value>`. */
|
|
14
|
+
| {
|
|
15
|
+
kind: "bearer";
|
|
16
|
+
secret: string;
|
|
17
|
+
}
|
|
18
|
+
/** `<header>: <prefix><value>`. */
|
|
19
|
+
| {
|
|
20
|
+
kind: "header";
|
|
21
|
+
secret: string;
|
|
22
|
+
header: string;
|
|
23
|
+
prefix?: string;
|
|
24
|
+
}
|
|
25
|
+
/** The value is `user:password`; sent as `Authorization: Basic <base64>`. */
|
|
26
|
+
| {
|
|
27
|
+
kind: "basic";
|
|
28
|
+
secret: string;
|
|
29
|
+
} | {
|
|
30
|
+
kind: "oauth";
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* How a tool's risk is decided for the app. `annotations`: from the
|
|
34
|
+
* server's hints ({@link remoteToolRisk}); `read` or `write`: every tool,
|
|
35
|
+
* whatever it says. A per-tool override wins over all three.
|
|
36
|
+
*/
|
|
37
|
+
export declare const REMOTE_MCP_RISK_DEFAULTS: readonly ["annotations", "read", "write"];
|
|
38
|
+
export type RemoteMcpRiskDefault = (typeof REMOTE_MCP_RISK_DEFAULTS)[number];
|
|
39
|
+
/** The operator's say about one tool, keyed by the server's own tool name. */
|
|
40
|
+
export interface RemoteMcpToolOverride {
|
|
41
|
+
risk?: ToolRisk;
|
|
42
|
+
/** False: left out of the Gateway's catalog; a call answers Unknown tool. */
|
|
43
|
+
enabled?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface RemoteMcpBlock {
|
|
46
|
+
/** The one address the Gateway fetches and sends the credential to. */
|
|
47
|
+
url: string;
|
|
48
|
+
auth: RemoteMcpAuth;
|
|
49
|
+
risk: RemoteMcpRiskDefault;
|
|
50
|
+
tools: Record<string, RemoteMcpToolOverride>;
|
|
51
|
+
/** Bumped on every change of the block, so the snapshot re-lists. */
|
|
52
|
+
rev: number;
|
|
53
|
+
}
|
|
54
|
+
/** The manifest a remote MCP app's row stores. */
|
|
55
|
+
export interface RemoteMcpManifest {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
description: string;
|
|
59
|
+
remote: RemoteMcpBlock;
|
|
60
|
+
}
|
|
61
|
+
/** The manifest fields the Gateway reads, as a stored manifest has them. */
|
|
62
|
+
export interface RemoteMcpManifestLike {
|
|
63
|
+
readonly remote?: unknown;
|
|
64
|
+
}
|
|
65
|
+
/** The default credential name for an app id: `treg` → `TREG_MCP_TOKEN`. */
|
|
66
|
+
export declare function remoteMcpSecretName(id: string): string;
|
|
67
|
+
/** Whether `id` can be a remote MCP app's id (kebab-case, at most 32, not reserved, not a built-in's). */
|
|
68
|
+
export declare function remoteMcpIdProblem(id: string): string | null;
|
|
69
|
+
/**
|
|
70
|
+
* An app id from the server's URL: the host's registrable name, `www`,
|
|
71
|
+
* `mcp` and `api` dropped (`https://mcp.deepwiki.com/mcp` → `deepwiki`,
|
|
72
|
+
* `https://treg.to/mcp/` → `treg`); null when nothing usable is left (an
|
|
73
|
+
* IP, `localhost`), in which case the caller asks for `--name`.
|
|
74
|
+
*/
|
|
75
|
+
export declare function remoteMcpIdFromUrl(url: string): string | null;
|
|
76
|
+
export interface RemoteMcpUrlEnv {
|
|
77
|
+
/** The Gateway's own URL (`GATEWAY_URL`): its origin is refused, and `http://` opens local dev. */
|
|
78
|
+
gatewayUrl: string;
|
|
79
|
+
/** The apps' domain (`APP_BASE_DOMAIN`): every host under it is refused. */
|
|
80
|
+
appBaseDomain?: string | null;
|
|
81
|
+
/** The hosted third-party apps' domain (`THIRD_PARTY_DOMAIN`): likewise. */
|
|
82
|
+
thirdPartyDomain?: string | null;
|
|
83
|
+
}
|
|
84
|
+
/** The hosts whose keys the Gateway holds: a remote server is never one of them. */
|
|
85
|
+
export declare function reservedUpstreamHosts(): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Why `url` can't be a remote MCP server's address, or null when it can:
|
|
88
|
+
* `https:` (or `http:` and loopback hosts only while the Gateway itself
|
|
89
|
+
* runs on `http://`, local dev), a host name rather than an address, no
|
|
90
|
+
* credentials or fragment in it, not the Gateway's own origin or one of
|
|
91
|
+
* its app hosts, and not a provider whose key the Gateway holds. The
|
|
92
|
+
* Gateway checks the stored URL again before every fetch, so a row edited
|
|
93
|
+
* by hand is refused the same way.
|
|
94
|
+
*/
|
|
95
|
+
export declare function remoteMcpUrlProblem(url: string, env: RemoteMcpUrlEnv): string | null;
|
|
96
|
+
/** The credential name's problem, or null: in the family, and bounded. */
|
|
97
|
+
export declare function remoteMcpSecretProblem(name: unknown): string | null;
|
|
98
|
+
/** The auth block's problem, or the block as typed. */
|
|
99
|
+
export declare function parseRemoteMcpAuth(raw: unknown): {
|
|
100
|
+
ok: true;
|
|
101
|
+
auth: RemoteMcpAuth;
|
|
102
|
+
} | {
|
|
103
|
+
ok: false;
|
|
104
|
+
problem: string;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* The `remote` block of a stored manifest, checked field by field (a row
|
|
108
|
+
* edited by hand must not make the Gateway send a credential anywhere the
|
|
109
|
+
* rules refuse), or why it can't be read. The URL is checked against the
|
|
110
|
+
* Gateway's environment by the caller ({@link remoteMcpUrlProblem}).
|
|
111
|
+
*/
|
|
112
|
+
export declare function parseRemoteMcpBlock(raw: unknown): {
|
|
113
|
+
ok: true;
|
|
114
|
+
block: RemoteMcpBlock;
|
|
115
|
+
} | {
|
|
116
|
+
ok: false;
|
|
117
|
+
problem: string;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* The `remote` block of a stored manifest, or null when the manifest has
|
|
121
|
+
* none (a built-in provider app's, a deployed app's) or it can't be read
|
|
122
|
+
* (such a row is a provider row the Gateway serves nothing for and lists
|
|
123
|
+
* as needing setup, see app-setup).
|
|
124
|
+
*/
|
|
125
|
+
export declare function remoteMcpOf(manifest: unknown): RemoteMcpBlock | null;
|
|
126
|
+
/** Whether a stored manifest declares a remote MCP server at all (well-formed or not). */
|
|
127
|
+
export declare function hasRemoteMcpBlock(manifest: unknown): boolean;
|
|
128
|
+
/** The credential's setting name the block declares, if its kind takes one. */
|
|
129
|
+
export declare function remoteMcpSecretOf(auth: RemoteMcpAuth): string | null;
|
|
130
|
+
/**
|
|
131
|
+
* A description for a row that gave none: the server's origin, read as a
|
|
132
|
+
* sentence. The origin only: a path or query may carry something the
|
|
133
|
+
* registrar meant for the server alone, and the description reaches every
|
|
134
|
+
* member with access and every AI client.
|
|
135
|
+
*/
|
|
136
|
+
export declare function remoteMcpDefaultDescription(name: string, url: string): string;
|
|
137
|
+
/**
|
|
138
|
+
* The operator's override for a server tool: by the server's name, or by
|
|
139
|
+
* a name that becomes the same ToolBus name ({@link normalizeRemoteToolName}),
|
|
140
|
+
* so a server that renames `send-mail` to `send_mail` can't bring a tool the
|
|
141
|
+
* operator turned off back under the same listed name.
|
|
142
|
+
*/
|
|
143
|
+
export declare function remoteToolOverride(block: Pick<RemoteMcpBlock, "tools">, upstreamName: string): RemoteMcpToolOverride | undefined;
|
|
144
|
+
/** Whether a server's tool name can travel in an HTTP header (`Mcp-Name`): visible ASCII, bounded. */
|
|
145
|
+
export declare function isHeaderSafeToolName(name: string): boolean;
|
|
146
|
+
/** The manifest a remote MCP app's row stores, from what the registrar gave. */
|
|
147
|
+
export declare function remoteMcpAppManifest(input: {
|
|
148
|
+
id: string;
|
|
149
|
+
name?: string | null;
|
|
150
|
+
description?: string | null;
|
|
151
|
+
remote: RemoteMcpBlock;
|
|
152
|
+
}): RemoteMcpManifest;
|
|
153
|
+
/** How a tool got its risk: the server's hint, the app's default, the operator's override, or the fallback. */
|
|
154
|
+
export type RemoteToolRiskSource = "hint" | "app" | "override" | "default";
|
|
155
|
+
/**
|
|
156
|
+
* A tool's risk for the Gateway. An override wins; then the app's `read`
|
|
157
|
+
* or `write` default; then the server's hints, read conservatively: an
|
|
158
|
+
* explicit `readOnlyHint: true` is `read`, an explicit `destructiveHint:
|
|
159
|
+
* true` is `destructive` (hidden until approvals exist), and anything
|
|
160
|
+
* else, a missing hint included, is `write`. The spec's missing-means-true
|
|
161
|
+
* default for `destructiveHint` is not followed: it would hide every
|
|
162
|
+
* unhinted tool.
|
|
163
|
+
*/
|
|
164
|
+
export declare function remoteToolRisk(hints: {
|
|
165
|
+
readOnlyHint?: unknown;
|
|
166
|
+
destructiveHint?: unknown;
|
|
167
|
+
} | undefined, block: Pick<RemoteMcpBlock, "risk" | "tools">, upstreamName: string): {
|
|
168
|
+
risk: ToolRisk;
|
|
169
|
+
source: RemoteToolRiskSource;
|
|
170
|
+
};
|
|
171
|
+
/** Whether the operator left the tool on (the default). */
|
|
172
|
+
export declare function remoteToolEnabled(block: Pick<RemoteMcpBlock, "tools">, upstreamName: string): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* A server's tool name as the ToolBus lists it: lowercase snake_case, at
|
|
175
|
+
* most 48 characters (`TOOL_NAME_PATTERN`). camelCase is split
|
|
176
|
+
* (`getUser` → `get_user`), `-`, `.`, `/` and spaces become `_`, anything
|
|
177
|
+
* else is dropped, runs of `_` collapse, and a leading digit gets a `t_`
|
|
178
|
+
* in front. Null when nothing usable is left.
|
|
179
|
+
*/
|
|
180
|
+
export declare function normalizeRemoteToolName(name: string): string | null;
|
|
181
|
+
/**
|
|
182
|
+
* The request headers that carry the credential for `auth`, from the
|
|
183
|
+
* setting's value. The value never appears anywhere else.
|
|
184
|
+
*/
|
|
185
|
+
export declare function remoteMcpAuthHeaders(auth: RemoteMcpAuth, value: string): Record<string, string>;
|
|
186
|
+
/** Plain words for an auth kind, for lists and dialogs. */
|
|
187
|
+
export declare function remoteMcpAuthLabel(auth: RemoteMcpAuth): string;
|
|
188
|
+
//# sourceMappingURL=remoteMcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remoteMcp.d.ts","sourceRoot":"","sources":["../../src/internal/remoteMcp.ts"],"names":[],"mappings":"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"}
|