@lunora/mcp 1.0.0-alpha.27 → 1.0.0-alpha.270
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/LICENSE.md +120 -0
- package/README.md +250 -14
- package/dist/bin.mjs +4 -47
- package/dist/docs/index.d.mts +259 -0
- package/dist/docs/index.d.ts +259 -0
- package/dist/docs/index.mjs +1 -0
- package/dist/index.d.mts +77 -226
- package/dist/index.d.ts +77 -226
- package/dist/index.mjs +1 -5
- package/dist/node/index.d.mts +94 -0
- package/dist/node/index.d.ts +94 -0
- package/dist/node/index.mjs +1 -0
- package/dist/packem_shared/AGENT_RUN_INPUT_SCHEMA-BGbKIek4.mjs +1 -0
- package/dist/packem_shared/DEFAULT_DOCS_BASE_URL-CiHy_Dbz.mjs +4 -0
- package/dist/packem_shared/DEFAULT_MAX_REQUEST_BYTES-CbbpkHRK.mjs +1 -0
- package/dist/packem_shared/DEFAULT_SEARCH_LIMIT-BMQ6HQ-x.mjs +3 -0
- package/dist/packem_shared/DOCS_SERVER_NAME-ClS4cCGm.mjs +1 -0
- package/dist/packem_shared/DOCS_URI_SCHEME-DBlxtzS6.mjs +3 -0
- package/dist/packem_shared/LOCAL_SERVER_NAME-xQYvyGAB.mjs +1 -0
- package/dist/packem_shared/OBSERVABILITY_TOOL_DEFINITIONS-DQ7AUah0.mjs +1 -0
- package/dist/packem_shared/READ_ONLY_TOOL_DEFINITIONS-DI9mSjr0.mjs +1 -0
- package/dist/packem_shared/compose.d-DiPnHeQv.d.mts +154 -0
- package/dist/packem_shared/compose.d-DiPnHeQv.d.ts +154 -0
- package/dist/packem_shared/connectFunctionStdio-9qBAqllu.mjs +1 -0
- package/dist/packem_shared/connectStdio-w6h0MLdr.mjs +1 -0
- package/dist/packem_shared/createAuthedMcpFetchHandler-PpbXKdlq.mjs +1 -0
- package/dist/packem_shared/createFunctionMcpServer-CfoMOgf0.mjs +1 -0
- package/dist/packem_shared/createLunoraMcpServer-BEsZxiwU.mjs +1 -0
- package/dist/packem_shared/createMcpFetchHandler-DsLEboYi.mjs +1 -0
- package/dist/packem_shared/createPaidMcpServer-CdDLw3G4.mjs +1 -0
- package/dist/packem_shared/createToolServer-CHAjfuNx.mjs +1 -0
- package/dist/packem_shared/function-server.d-BoX-fd2B.d.mts +197 -0
- package/dist/packem_shared/function-server.d-CnHt2Sb1.d.ts +197 -0
- package/dist/packem_shared/package-BXUdl0cu.mjs +1 -0
- package/dist/packem_shared/promise-memo-OqVPWoUX.mjs +1 -0
- package/dist/packem_shared/serve-stateless.d-DD5arqFx.d.mts +45 -0
- package/dist/packem_shared/serve-stateless.d-DD5arqFx.d.ts +45 -0
- package/dist/packem_shared/toDocsSearchHits-CBLmtWXt.mjs +1 -0
- package/dist/packem_shared/tool-call-Bs-QeKp6.mjs +1 -0
- package/dist/packem_shared/tool-result-CPDsNNuJ.mjs +1 -0
- package/dist/packem_shared/tools-BMou4kPK.mjs +2 -0
- package/dist/worker/index.d.mts +258 -0
- package/dist/worker/index.d.ts +258 -0
- package/dist/worker/index.mjs +1 -0
- package/package.json +27 -5
- package/dist/packem_shared/AGENT_RUN_INPUT_SCHEMA-DWobae3P.mjs +0 -168
- package/dist/packem_shared/READ_ONLY_TOOL_DEFINITIONS-CWb_wFd5.mjs +0 -204
- package/dist/packem_shared/connectStdio-bkJcaXYE.mjs +0 -76
- package/dist/packem_shared/createMcpFetchHandler-DfzBSLrm.mjs +0 -14
- package/dist/packem_shared/createPaidMcpServer-b-qp_aEF.mjs +0 -93
package/dist/index.d.mts
CHANGED
|
@@ -1,234 +1,85 @@
|
|
|
1
|
-
|
|
2
|
-
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
|
-
import '@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js';
|
|
4
|
-
import { X402ChargeConfig, X402Price } from '@lunora/x402/charge';
|
|
5
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
1
|
+
export { A as AGENT_RUN_INPUT_SCHEMA, a as AGENT_STATUS_TOOL_NAME,
|
|
6
2
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* (
|
|
3
|
+
* `@lunora/mcp` — Model Context Protocol servers for Lunora. This entry exposes
|
|
4
|
+
* a *deployment* to AI agents; the `@lunora/mcp/docs` subpath exposes the
|
|
5
|
+
* framework's *documentation* (credential-free, and safe to host publicly).
|
|
10
6
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
declare const WRITE_TOOL_DEFINITIONS: ReadonlyArray<ToolDefinition>;
|
|
37
|
-
/**
|
|
38
|
-
* The tools this server advertises. When `allowWrites` is false (the default),
|
|
39
|
-
* only the read-only surface is exposed — the mutation/action tools are omitted
|
|
40
|
-
* from `ListTools` entirely, so an AI agent can't invoke a write it can't see.
|
|
41
|
-
*/
|
|
42
|
-
declare const toolDefinitions: (allowWrites: boolean) => ReadonlyArray<ToolDefinition>;
|
|
43
|
-
/**
|
|
44
|
-
* Dispatch a tool call against `client`. Unknown tools and thrown errors are
|
|
45
|
-
* returned as `isError` results (rather than rejections) so the calling model
|
|
46
|
-
* sees the failure as tool output, per the MCP convention.
|
|
7
|
+
* The deployment server: It registers tools for introspecting a deployment
|
|
8
|
+
* (`lunora_list_functions`, `lunora_list_tables`) and invoking its functions
|
|
9
|
+
* (`lunora_run_query`, plus `lunora_run_mutation` and `lunora_run_action` when
|
|
10
|
+
* writes are enabled), each backed by `LunoraClient` over HTTP RPC, plus
|
|
11
|
+
* `lunora_explain_error` — a credential-free read of the static error catalog
|
|
12
|
+
* (status, title, hint, matched solution) that needs no deployment at all. It also
|
|
13
|
+
* exposes the deployment's observability reads (`lunora_get_logs`,
|
|
14
|
+
* `lunora_get_issues`, `lunora_get_advisories`, `lunora_get_query_insights`,
|
|
15
|
+
* `lunora_get_migration_status`) when `allowObservability` (or the
|
|
16
|
+
* LUNORA_MCP_ALLOW_OBSERVABILITY env) is set — read-only, but they return
|
|
17
|
+
* production user data, so they are omitted entirely without it. The server is
|
|
18
|
+
* read-only by default — the write tools are exposed only when `allowWrites`
|
|
19
|
+
* (or the `LUNORA_MCP_ALLOW_WRITES` env) is set, and every run tool is
|
|
20
|
+
* allowlisted against the deployment's discovered public functions. Past that
|
|
21
|
+
* gate the two write tools run a two-step confirmation handshake: the first
|
|
22
|
+
* call writes nothing and returns the proposed action plus a self-verifying
|
|
23
|
+
* `actionDigest`, and only a second call carrying `confirmed: true` and that
|
|
24
|
+
* digest executes (see `./write-confirmation`). It can also
|
|
25
|
+
* front durable `@lunora/agent` runs as `agent_<name>` tools when `allowAgents`
|
|
26
|
+
* (or `LUNORA_MCP_ALLOW_AGENTS` + `LUNORA_MCP_AGENTS`) is set. Run the
|
|
27
|
+
* `lunora-mcp` binary (configured via the `LUNORA_URL`, `LUNORA_ADMIN_TOKEN`,
|
|
28
|
+
* and `LUNORA_MCP_ALLOW_WRITES` env vars) for the stdio transport, serve the
|
|
29
|
+
* server remotely over Streamable HTTP with `createMcpFetchHandler` (a
|
|
30
|
+
* Workers-ready `Request` → `Response` handler), or build a server
|
|
31
|
+
* programmatically with `createLunoraMcpServer` and connect any transport.
|
|
47
32
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Agent exposure for the MCP server: a durable `@lunora/agent` run fronted as an
|
|
55
|
-
* MCP tool an external agent can call. The capability boundary is the MCP-server
|
|
56
|
-
* process + its token, so WHICH agents are exposed is config on the server (like
|
|
57
|
-
* `allowWrites`), not on `defineAgent` — keeping `@lunora/agent` codegen
|
|
58
|
-
* byte-identical.
|
|
59
|
-
*/
|
|
60
|
-
interface McpAgentExposure {
|
|
61
|
-
/** What the agent does — shown to the calling model, which decides from it. */
|
|
62
|
-
description: string;
|
|
63
|
-
/** The agent's export name (its `ctx.agents.<name>` / `AGENT_<NAME>` binding). */
|
|
64
|
-
name: string;
|
|
65
|
-
/** Override the model-facing tool name (default `agent_<name>`). */
|
|
66
|
-
toolName?: string;
|
|
67
|
-
}
|
|
68
|
-
/** The generic status/poll tool advertised alongside the per-agent tools. */
|
|
69
|
-
declare const AGENT_STATUS_TOOL_NAME = "lunora_agent_status";
|
|
70
|
-
/**
|
|
71
|
-
* The uniform input schema every agent tool advertises. Agents share ONE run
|
|
72
|
-
* input (`@lunora/agent` has no per-agent validator), so there is nothing to
|
|
73
|
-
* derive per agent — a single static schema is reused for every agent tool.
|
|
33
|
+
* A remote endpoint is reachable by anyone who knows its URL, and the tools
|
|
34
|
+
* carry the deployment's admin bearer — so for a public deployment use
|
|
35
|
+
* `createAuthedMcpFetchHandler` instead, which mounts the same server behind
|
|
36
|
+
* better-auth's MCP OAuth gate (`requireMcpAuth` from `@lunora/auth/plugins`)
|
|
37
|
+
* and can scope tool exposure to the access token's own scopes.
|
|
74
38
|
*/
|
|
75
|
-
|
|
39
|
+
type C as CallAgentToolOptions, type F as FunctionMcpServerOptions, type L as LunoraMcpServerOptions,
|
|
76
40
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* entries and entries with an empty name/description are skipped.
|
|
81
|
-
*/
|
|
82
|
-
declare const parseAgentsEnv: (raw: string | undefined) => McpAgentExposure[];
|
|
83
|
-
/**
|
|
84
|
-
* The tools this module advertises. Fail-closed: only the boolean `true` opts
|
|
85
|
-
* in (an env-plumbed caller could pass a truthy string), and the tools appear
|
|
86
|
-
* ONLY when at least one agent is exposed — so an agent-free or non-opted-in
|
|
87
|
-
* server never lists them.
|
|
88
|
-
*/
|
|
89
|
-
declare const agentToolDefinitions: (exposures: ReadonlyArray<McpAgentExposure>, allowAgents: boolean) => ReadonlyArray<ToolDefinition>;
|
|
90
|
-
/** Options threaded into a single agent tool dispatch. */
|
|
91
|
-
interface CallAgentToolOptions {
|
|
92
|
-
/** Opt-in gate — must be exactly `true` or the call is refused fail-closed. */
|
|
93
|
-
allowAgents: boolean;
|
|
94
|
-
/** The exposures advertised by this server. */
|
|
95
|
-
exposures: ReadonlyArray<McpAgentExposure>;
|
|
96
|
-
/** Wall-clock budget a single call awaits before returning a pending result. */
|
|
97
|
-
maxWaitMs?: number;
|
|
98
|
-
/** Delay between thread-status polls. */
|
|
99
|
-
pollIntervalMs?: number;
|
|
100
|
-
/** Test seam replacing the between-poll wait; production uses a real timer. */
|
|
101
|
-
wait?: (ms: number) => Promise<void>;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Dispatch an agent tool call: start a durable run via `agents:agentRun`, then
|
|
105
|
-
* await-with-timeout — poll `agents:agentThread` until terminal (returning the
|
|
106
|
-
* final answer from `agents:agentMessages`) or, on budget exhaustion, return a
|
|
107
|
-
* NON-error pending payload the caller resumes with `lunora_agent_status`.
|
|
41
|
+
* `@lunora/mcp` — Model Context Protocol servers for Lunora. This entry exposes
|
|
42
|
+
* a *deployment* to AI agents; the `@lunora/mcp/docs` subpath exposes the
|
|
43
|
+
* framework's *documentation* (credential-free, and safe to host publicly).
|
|
108
44
|
*
|
|
109
|
-
*
|
|
110
|
-
* `
|
|
111
|
-
*
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
* advertised tool list AND refused at dispatch.
|
|
135
|
-
*/
|
|
136
|
-
allowWrites?: boolean;
|
|
137
|
-
/**
|
|
138
|
-
* Pre-built client (test injection). When omitted a `LunoraClient` is
|
|
139
|
-
* created from `url`/`token`/`fetch`.
|
|
140
|
-
*/
|
|
141
|
-
client?: LunoraClient;
|
|
142
|
-
/** `fetch` implementation; defaults to the ambient global. */
|
|
143
|
-
fetch?: typeof fetch;
|
|
144
|
-
/**
|
|
145
|
-
* Bearer token sent on every RPC. This must be the deployment's **admin
|
|
146
|
-
* bearer**: the introspection/allowlist path every tool depends on
|
|
147
|
-
* (`lunora_list_functions`, `lunora_list_tables`, and the `assertRunnable`
|
|
148
|
-
* precheck that runs before every `run` tool) hits admin-gated
|
|
149
|
-
* `/_lunora/admin/*` routes, so no scoped/app token works today — it would
|
|
150
|
-
* 403 (`ADMIN_FORBIDDEN`) on the first tool call. The read-only guarantee is
|
|
151
|
-
* therefore NOT enforced by the token's scope; it is enforced in-process via
|
|
152
|
-
* `allowWrites: false` (the default), which omits the write tools from the
|
|
153
|
-
* advertised list and refuses them at dispatch.
|
|
154
|
-
*/
|
|
155
|
-
token?: string;
|
|
156
|
-
/** Base URL of the deployed Lunora Worker. Required unless `client` is given. */
|
|
157
|
-
url?: string;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Build an MCP `Server` whose tools talk to a Lunora deployment. The server is
|
|
161
|
-
* transport-agnostic — call `.connect(transport)` yourself, or use
|
|
162
|
-
* `connectStdio` for the common stdio case.
|
|
45
|
+
* The deployment server: It registers tools for introspecting a deployment
|
|
46
|
+
* (`lunora_list_functions`, `lunora_list_tables`) and invoking its functions
|
|
47
|
+
* (`lunora_run_query`, plus `lunora_run_mutation` and `lunora_run_action` when
|
|
48
|
+
* writes are enabled), each backed by `LunoraClient` over HTTP RPC, plus
|
|
49
|
+
* `lunora_explain_error` — a credential-free read of the static error catalog
|
|
50
|
+
* (status, title, hint, matched solution) that needs no deployment at all. It also
|
|
51
|
+
* exposes the deployment's observability reads (`lunora_get_logs`,
|
|
52
|
+
* `lunora_get_issues`, `lunora_get_advisories`, `lunora_get_query_insights`,
|
|
53
|
+
* `lunora_get_migration_status`) when `allowObservability` (or the
|
|
54
|
+
* LUNORA_MCP_ALLOW_OBSERVABILITY env) is set — read-only, but they return
|
|
55
|
+
* production user data, so they are omitted entirely without it. The server is
|
|
56
|
+
* read-only by default — the write tools are exposed only when `allowWrites`
|
|
57
|
+
* (or the `LUNORA_MCP_ALLOW_WRITES` env) is set, and every run tool is
|
|
58
|
+
* allowlisted against the deployment's discovered public functions. Past that
|
|
59
|
+
* gate the two write tools run a two-step confirmation handshake: the first
|
|
60
|
+
* call writes nothing and returns the proposed action plus a self-verifying
|
|
61
|
+
* `actionDigest`, and only a second call carrying `confirmed: true` and that
|
|
62
|
+
* digest executes (see `./write-confirmation`). It can also
|
|
63
|
+
* front durable `@lunora/agent` runs as `agent_<name>` tools when `allowAgents`
|
|
64
|
+
* (or `LUNORA_MCP_ALLOW_AGENTS` + `LUNORA_MCP_AGENTS`) is set. Run the
|
|
65
|
+
* `lunora-mcp` binary (configured via the `LUNORA_URL`, `LUNORA_ADMIN_TOKEN`,
|
|
66
|
+
* and `LUNORA_MCP_ALLOW_WRITES` env vars) for the stdio transport, serve the
|
|
67
|
+
* server remotely over Streamable HTTP with `createMcpFetchHandler` (a
|
|
68
|
+
* Workers-ready `Request` → `Response` handler), or build a server
|
|
69
|
+
* programmatically with `createLunoraMcpServer` and connect any transport.
|
|
163
70
|
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
71
|
+
* A remote endpoint is reachable by anyone who knows its URL, and the tools
|
|
72
|
+
* carry the deployment's admin bearer — so for a public deployment use
|
|
73
|
+
* `createAuthedMcpFetchHandler` instead, which mounts the same server behind
|
|
74
|
+
* better-auth's MCP OAuth gate (`requireMcpAuth` from `@lunora/auth/plugins`)
|
|
75
|
+
* and can scope tool exposure to the access token's own scopes.
|
|
167
76
|
*/
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Build a stateless Streamable-HTTP fetch handler for a Lunora MCP server. Each
|
|
179
|
-
* invocation constructs a fresh proxy server and serves the request through
|
|
180
|
-
* {@link serveStateless}.
|
|
181
|
-
*/
|
|
182
|
-
declare const createMcpFetchHandler: (options: LunoraMcpServerOptions) => McpFetchHandler;
|
|
183
|
-
/** A tool handler: receives the call's `arguments` bag, returns an MCP tool result. */
|
|
184
|
-
type ToolHandler = (arguments_: Record<string, unknown>) => Promise<ToolResult> | ToolResult;
|
|
185
|
-
/** Registration shape for a free tool. */
|
|
186
|
-
interface RegisterToolOptions {
|
|
187
|
-
/** Optional MCP tool annotations (`readOnlyHint`, `title`, …). */
|
|
188
|
-
annotations?: Tool["annotations"];
|
|
189
|
-
/** Human/model-facing description of what the tool does. */
|
|
190
|
-
description: string;
|
|
191
|
-
/** JSON-Schema object describing the tool's arguments. */
|
|
192
|
-
inputSchema: ToolInputSchema;
|
|
193
|
-
/** Unique tool name (the MCP `tools/call` `name`). */
|
|
194
|
-
name: string;
|
|
195
|
-
}
|
|
196
|
-
/** Registration shape for a paid tool: a {@link RegisterToolOptions} plus its USD price. */
|
|
197
|
-
interface RegisterPaidToolOptions extends RegisterToolOptions {
|
|
198
|
-
/** USD price per call (e.g. `"$0.05"`), charged via x402 before dispatch. */
|
|
199
|
-
price: X402Price;
|
|
200
|
-
}
|
|
201
|
-
/** x402 settlement vocabulary shared by every paid tool (network, recipient, facilitator); price is per-tool. */
|
|
202
|
-
type PaidMcpChargeConfig = Omit<X402ChargeConfig, "price">;
|
|
203
|
-
/** Config for `createPaidMcpServer`. */
|
|
204
|
-
interface PaidMcpServerConfig {
|
|
205
|
-
/** The worker-level x402 charge config; each paid tool supplies only its own `price`. */
|
|
206
|
-
charge: PaidMcpChargeConfig;
|
|
207
|
-
/** Name/version advertised in the MCP `initialize` handshake. Defaults to `lunora-paid-mcp`. */
|
|
208
|
-
serverInfo?: {
|
|
209
|
-
name: string;
|
|
210
|
-
version: string;
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
/** A paid MCP server: register free/paid tools, then serve over Streamable HTTP. */
|
|
214
|
-
interface PaidMcpServer {
|
|
215
|
-
/** The Streamable-HTTP fetch handler; gates each paid `tools/call` behind x402. */
|
|
216
|
-
readonly fetchHandler: McpFetchHandler;
|
|
217
|
-
/** Register a **paid** tool: its dispatch runs the x402 charge middleware first. */
|
|
218
|
-
paidTool: (options: RegisterPaidToolOptions, handler: ToolHandler) => void;
|
|
219
|
-
/** Register a **free** tool (coexists with paid tools on the same server). */
|
|
220
|
-
tool: (options: RegisterToolOptions, handler: ToolHandler) => void;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Create a paid MCP server. Register free tools with `tool()` and priced tools
|
|
224
|
-
* with `paidTool()` (they coexist), then serve `fetchHandler` over HTTP.
|
|
225
|
-
*
|
|
226
|
-
* The server is **stateless**: `fetchHandler` builds a fresh `Server` per
|
|
227
|
-
* request (reading the live tool registry), so tools registered before the
|
|
228
|
-
* first request are all visible. Each priced tool memoises one initialised
|
|
229
|
-
* `ChargeMiddleware` (keyed by tool name, baking that tool's price and naming
|
|
230
|
-
* the tool as the challenge `resource`); a failed init is not cached, so a
|
|
231
|
-
* transient facilitator outage retries on the next call.
|
|
232
|
-
*/
|
|
233
|
-
declare const createPaidMcpServer: (config: PaidMcpServerConfig) => PaidMcpServer;
|
|
234
|
-
export { AGENT_RUN_INPUT_SCHEMA, AGENT_STATUS_TOOL_NAME, type CallAgentToolOptions, type LunoraMcpServerOptions, type McpAgentExposure, type McpFetchHandler, type PaidMcpChargeConfig, type PaidMcpServer, type PaidMcpServerConfig, READ_ONLY_TOOL_DEFINITIONS, type RegisterPaidToolOptions, type RegisterToolOptions, type ToolDefinition, type ToolHandler, type ToolInputSchema, type ToolResult, WRITE_TOOL_DEFINITIONS, agentToolDefinitions, callAgentTool, callTool, connectStdio, createLunoraMcpServer, createMcpFetchHandler, createPaidMcpServer, parseAgentsEnv, toolDefinitions };
|
|
77
|
+
type M as McpAgentExposure, b as agentToolDefinitions, c as callAgentTool, d as createFunctionMcpServer, e as createLunoraMcpServer, p as parseAgentsEnv } from "./packem_shared/function-server.d-BoX-fd2B.mjs";
|
|
78
|
+
export { type AuthedMcpFetchHandlerOptions, type AuthedMcpServerOptions, type McpAccessTokenClaims, type McpAuthProtect, type McpFetchHandlerOptions, OBSERVABILITY_TOOL_DEFINITIONS, type PaidMcpChargeConfig, type PaidMcpExecutionContext, type PaidMcpFetchHandler, type PaidMcpServer, type PaidMcpServerConfig, READ_ONLY_TOOL_DEFINITIONS, type RegisterPaidToolOptions, type RegisterToolOptions, type ToolHandler, WRITE_TOOL_DEFINITIONS, callTool, createAuthedMcpFetchHandler, createMcpFetchHandler, createPaidMcpServer, mcpTokenScopes, toolDefinitions } from "./worker/index.mjs";
|
|
79
|
+
export { type M as McpServerInfo, type a as McpTool, type T as ToolDefinition, type b as ToolInputSchema, type c as ToolOutputSchema, type d as ToolResult, e as createToolServer } from "./packem_shared/compose.d-DiPnHeQv.mjs";
|
|
80
|
+
export { LOCAL_SERVER_NAME, type LocalDeployment, type LocalDeploymentSource, type LocalMcpServerOptions, NO_DEPLOYMENT_MESSAGE, connectFunctionStdio, connectLocalStdio, connectStdio, createLocalMcpServer, localTools } from "./node/index.mjs";
|
|
81
|
+
export { D as DEFAULT_MAX_REQUEST_BYTES, type M as McpFetchHandler, type S as ServeStatelessOptions, s as serveStateless } from "./packem_shared/serve-stateless.d-DD5arqFx.mjs";
|
|
82
|
+
import '@lunora/client/admin';
|
|
83
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
84
|
+
import '@lunora/client';
|
|
85
|
+
import '@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js';
|