@caelo-cms/mcp-server 0.10.55 → 0.10.57
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 +373 -0
- package/README.md +7 -0
- package/dist/admin-server.d.ts +1 -15
- package/dist/admin-server.d.ts.map +1 -1
- package/dist/admin-server.js +72 -302
- package/dist/admin-server.js.map +1 -1
- package/dist/admin.js +7 -8
- package/dist/admin.js.map +1 -1
- package/dist/chat-bridge.d.ts +1 -1
- package/dist/chat-bridge.d.ts.map +1 -1
- package/dist/image-upload.d.ts +2 -75
- package/dist/image-upload.d.ts.map +1 -1
- package/dist/image-upload.js +40 -134
- package/dist/image-upload.js.map +1 -1
- package/dist/index.js +38 -30
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +0 -6
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +24 -259
- package/dist/server.js.map +1 -1
- package/dist/surfaces/admin-surface.d.ts +106 -0
- package/dist/surfaces/admin-surface.d.ts.map +1 -0
- package/dist/surfaces/admin-surface.js +183 -0
- package/dist/surfaces/admin-surface.js.map +1 -0
- package/dist/surfaces/chat-surface.d.ts +48 -0
- package/dist/surfaces/chat-surface.d.ts.map +1 -0
- package/dist/surfaces/chat-surface.js +190 -0
- package/dist/surfaces/chat-surface.js.map +1 -0
- package/dist/surfaces/index.d.ts +15 -0
- package/dist/surfaces/index.d.ts.map +1 -0
- package/dist/surfaces/index.js +15 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/upload.d.ts +32 -0
- package/dist/surfaces/upload.d.ts.map +1 -0
- package/dist/surfaces/upload.js +58 -0
- package/dist/surfaces/upload.js.map +1 -0
- package/dist/tool-definitions.d.ts +465 -0
- package/dist/tool-definitions.d.ts.map +1 -0
- package/dist/tool-definitions.js +256 -0
- package/dist/tool-definitions.js.map +1 -0
- package/dist/unconfigured.d.ts +26 -0
- package/dist/unconfigured.d.ts.map +1 -0
- package/dist/unconfigured.js +82 -0
- package/dist/unconfigured.js.map +1 -0
- package/package.json +10 -1
- package/power-catalogue.json +8030 -0
package/dist/admin-server.js
CHANGED
|
@@ -1,40 +1,34 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MPL-2.0
|
|
2
2
|
/**
|
|
3
|
-
* Issue #376 — the Power-MCP server (`caelo-admin-mcp` /
|
|
4
|
-
* admin`). Where the chat server routes editing through a
|
|
5
|
-
* AI, this server exposes the whole
|
|
6
|
-
* CALLING agent (Claude Code et al.)
|
|
7
|
-
* Caelo-side reasoning cost. Issue #741:
|
|
8
|
-
* the agent too unless the token's
|
|
9
|
-
* tools then hand back work items
|
|
10
|
-
* install's provider;
|
|
3
|
+
* Issue #376 — the Power-MCP stdio server (`caelo-admin-mcp` /
|
|
4
|
+
* `caelo-mcp-server admin`). Where the chat server routes editing through a
|
|
5
|
+
* tool that talks to Caelo's own AI, this server exposes the whole
|
|
6
|
+
* chat-runner tool catalogue so the CALLING agent (Claude Code et al.)
|
|
7
|
+
* drives the tool loop itself — no Caelo-side reasoning cost. Issue #741:
|
|
8
|
+
* the AI work inside tools stays with the agent too unless the token's
|
|
9
|
+
* Owner allowed "may use Caelo's AI" — tools then hand back work items
|
|
10
|
+
* (translations, …) instead of calling the install's provider;
|
|
11
|
+
* `caelo_get_context` explains the contract.
|
|
11
12
|
*
|
|
12
|
-
* The
|
|
13
|
-
* admin-
|
|
14
|
-
*
|
|
13
|
+
* The server itself (tools, companion tools, approval waits) is
|
|
14
|
+
* ./surfaces/admin-surface.ts, shared with the admin's remote endpoint
|
|
15
|
+
* (issue #806). This module is the stdio backend:
|
|
15
16
|
*
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* every call; it also rides the
|
|
22
|
-
* resume a specific session via
|
|
23
|
-
*
|
|
24
|
-
* decision on a proposal an approval-gated tool queued (the gated call
|
|
25
|
-
* itself already waits, bounded by `CAELO_MCP_APPROVAL_WAIT_MS`).
|
|
26
|
-
* - `caelo_get_context` — the composed site context (module model, tool
|
|
27
|
-
* playbook, staging rules, site memory, skills index) the agent should
|
|
28
|
-
* load once before working. For a checked-in variant, see
|
|
29
|
-
* `caelo-mcp-server export`.
|
|
17
|
+
* - the catalogue is fetched live from `/api/mcp/tools` at startup (an
|
|
18
|
+
* admin-scoped token is required; 'chat' tokens get a 401 with the fix)
|
|
19
|
+
* and re-read periodically (#678) — a change reaches the client through
|
|
20
|
+
* `notifications/tools/list_changed`, an unknown tool name refreshes too;
|
|
21
|
+
* - the work session `caelo_open_session` opened is held in process state
|
|
22
|
+
* so the agent doesn't thread it through every call; it also rides the
|
|
23
|
+
* response so a restarted server can resume a specific session via
|
|
24
|
+
* `chatSessionId`.
|
|
30
25
|
*/
|
|
31
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
32
26
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
33
|
-
import {
|
|
34
|
-
import { z } from "zod";
|
|
35
|
-
import { describeApprovalOutcome, resolveApprovalWaitMs, waitForApproval, } from "./approval-wait.js";
|
|
27
|
+
import { resolveApprovalWaitMs } from "./approval-wait.js";
|
|
36
28
|
import { postAdmin, resolveTimeoutMs } from "./http.js";
|
|
37
|
-
import {
|
|
29
|
+
import { uploadImages } from "./image-upload.js";
|
|
30
|
+
import { createAdminMcpServer, } from "./surfaces/admin-surface.js";
|
|
31
|
+
import { ownVersion } from "./version-handshake.js";
|
|
38
32
|
const DEFAULT_CATALOGUE_REFRESH_MS = 5 * 60_000;
|
|
39
33
|
/** The refresh interval: the option, else the env var, else 5 minutes. */
|
|
40
34
|
export function resolveCatalogueRefreshMs(option, env = process.env.CAELO_MCP_CATALOGUE_REFRESH_MS) {
|
|
@@ -52,83 +46,10 @@ export function catalogueSignature(tools) {
|
|
|
52
46
|
.sort((a, b) => a.name.localeCompare(b.name))
|
|
53
47
|
.map((t) => [t.name, t.description, t.inputSchema, t.gated === true]));
|
|
54
48
|
}
|
|
55
|
-
/**
|
|
56
|
-
* MCP `instructions` for the admin server (#552). Clients such as Claude
|
|
57
|
-
* Code put this into the agent's context on connect, so a freshly
|
|
58
|
-
* connected agent knows the session protocol without the operator
|
|
59
|
-
* pasting anything: without a session every write fails, without the
|
|
60
|
-
* context it works without the site's rules and brand voice.
|
|
61
|
-
*/
|
|
62
|
-
export const ADMIN_MCP_INSTRUCTIONS = [
|
|
63
|
-
"This server edits a Caelo CMS site. Before any other caelo tool:",
|
|
64
|
-
"1. Call caelo_open_session once. It resumes the operator's most recent open session (pass newSession: true only when the operator asks for a fresh one; chatSessionId resumes a specific one). Every write lands in the site's shared draft (or the session's own experiment branch); you may stage finished work with stage_changes, but nothing reaches the live site until the operator clicks Publish live in the Caelo admin.",
|
|
65
|
-
"2. Call caelo_get_context once and follow it: it carries the site model, tool playbook, staging rules, site memory (brand voice, glossary) and the skills index.",
|
|
66
|
-
"3. Load every skill the context marks ALWAYS APPLIES with load_skill before the work it covers (e.g. before writing any visitor-facing copy).",
|
|
67
|
-
"Every tool in this list works over MCP, including approval-gated ones (marked APPROVAL-GATED — deploys, users/roles, languages/locales, plugin settings, bulk deletes …). Call them yourself: Caelo shows the operator an approval card in the Caelo admin (their Live Edit chat and the pending-approvals page), the call waits for Approve/Reject and returns the decision; if the wait times out, call caelo_await_approval with the proposalId. Tell the operator what you requested and that they approve the card in Caelo. Never ask the operator to paste a prompt into the Caelo admin chat or to do a step there that a tool here can do, and never re-propose a pending proposal.",
|
|
68
|
-
"After every stage_changes, call get_quality_audit (it waits for the result) and fix every open problem it names, then Stage and re-read until it passes: the target is 100 in every category and zero findings, and a score that dropped since the page's previous audit points at a recent change — check those changes first. Do not report open scores or findings to the operator as a result — only what you proved cannot be fixed in the site.",
|
|
69
|
-
"Tool errors name the next step to take; follow them instead of retrying unchanged.",
|
|
70
|
-
].join("\n");
|
|
71
|
-
const openSessionInput = z
|
|
72
|
-
.object({
|
|
73
|
-
title: z.string().min(1).max(200).optional(),
|
|
74
|
-
pageId: z.string().uuid().optional(),
|
|
75
|
-
chatSessionId: z.string().uuid().optional(),
|
|
76
|
-
newSession: z.boolean().optional(),
|
|
77
|
-
})
|
|
78
|
-
.strict();
|
|
79
|
-
const OPEN_SESSION_TOOL = {
|
|
80
|
-
name: "caelo_open_session",
|
|
81
|
-
description: "Open the Caelo work session your subsequent tool calls run in. Every write lands in the site's shared " +
|
|
82
|
-
"draft — invisible to the live site until it is staged and the operator clicks Publish live in the Caelo admin. " +
|
|
83
|
-
"Call this ONCE before any other caelo tool. By default it RESUMES the operator's own most recent open " +
|
|
84
|
-
"session (so earlier unstaged work continues in the same chat); pass newSession: true only when the " +
|
|
85
|
-
"operator wants a separate fresh session, or chatSessionId to resume a specific one. Optional pageId " +
|
|
86
|
-
"resumes (or opens) that page's session.",
|
|
87
|
-
inputSchema: {
|
|
88
|
-
type: "object",
|
|
89
|
-
properties: {
|
|
90
|
-
title: { type: "string", description: "Session title shown in the Caelo admin chat list." },
|
|
91
|
-
pageId: { type: "string", description: "Optional page UUID to bind the session to." },
|
|
92
|
-
chatSessionId: {
|
|
93
|
-
type: "string",
|
|
94
|
-
description: "Resume this specific session instead of the most recent one.",
|
|
95
|
-
},
|
|
96
|
-
newSession: {
|
|
97
|
-
type: "boolean",
|
|
98
|
-
description: "Open a fresh session instead of resuming the most recent open one.",
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
const awaitApprovalInput = z.object({ proposalId: z.string().uuid() }).strict();
|
|
104
|
-
/** Issue #658 — keep waiting for a decision after a gated call's wait timed out. */
|
|
105
|
-
const AWAIT_APPROVAL_TOOL = {
|
|
106
|
-
name: "caelo_await_approval",
|
|
107
|
-
description: "Wait for the operator's Approve/Reject on a proposal you queued with an approval-gated tool, and return " +
|
|
108
|
-
"the decision (applied / rejected with reason / …). Use it when a gated tool's result says it is still " +
|
|
109
|
-
"waiting. You cannot approve anything yourself — only the operator can, in the Caelo admin.",
|
|
110
|
-
inputSchema: {
|
|
111
|
-
type: "object",
|
|
112
|
-
properties: {
|
|
113
|
-
proposalId: {
|
|
114
|
-
type: "string",
|
|
115
|
-
description: "The id from the gated tool's 'Queued proposal <id>' result.",
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
required: ["proposalId"],
|
|
119
|
-
},
|
|
120
|
-
};
|
|
121
|
-
const GET_CONTEXT_TOOL = {
|
|
122
|
-
name: "caelo_get_context",
|
|
123
|
-
description: "Fetch the Caelo install's composed site context: how pages/modules/content instances fit together, " +
|
|
124
|
-
"the tool playbook, staging rules, site memory (brand voice, glossary) and the active skills index. " +
|
|
125
|
-
"Load this once before working; load individual skills on demand via the load_skill tool.",
|
|
126
|
-
inputSchema: { type: "object", properties: {} },
|
|
127
|
-
};
|
|
128
49
|
export async function startAdminMcpServer(opts) {
|
|
50
|
+
const target = { adminUrl: opts.adminUrl, token: opts.token };
|
|
129
51
|
const fetchCatalogue = () => postAdmin({
|
|
130
|
-
|
|
131
|
-
token: opts.token,
|
|
52
|
+
...target,
|
|
132
53
|
path: "/api/mcp/tools",
|
|
133
54
|
body: {},
|
|
134
55
|
timeoutMs: resolveTimeoutMs(60_000),
|
|
@@ -139,12 +60,55 @@ export async function startAdminMcpServer(opts) {
|
|
|
139
60
|
let remoteByName = new Map(catalogue.tools.map((t) => [t.name, t]));
|
|
140
61
|
let signature = catalogueSignature(catalogue.tools);
|
|
141
62
|
let currentSession = null;
|
|
63
|
+
let connected = false;
|
|
64
|
+
let refreshing = null;
|
|
142
65
|
// #678 — the catalogue is the ADMIN's: an upgrade or an activated plugin
|
|
143
66
|
// changes it while this process runs. `listChanged` tells the client to
|
|
144
67
|
// re-list when we say so, instead of the operator reconnecting (/mcp).
|
|
145
|
-
const server =
|
|
146
|
-
|
|
147
|
-
|
|
68
|
+
const server = createAdminMcpServer({
|
|
69
|
+
listCatalogue: async () => catalogue.tools,
|
|
70
|
+
findTool: async (name) => {
|
|
71
|
+
if (!remoteByName.has(name)) {
|
|
72
|
+
// The admin may have gained the tool since we last listed (#678).
|
|
73
|
+
await refreshCatalogue();
|
|
74
|
+
}
|
|
75
|
+
return remoteByName.get(name);
|
|
76
|
+
},
|
|
77
|
+
openSession: async (input) => {
|
|
78
|
+
currentSession = await postAdmin({
|
|
79
|
+
...target,
|
|
80
|
+
path: "/api/mcp/session",
|
|
81
|
+
body: input,
|
|
82
|
+
timeoutMs: resolveTimeoutMs(30_000),
|
|
83
|
+
});
|
|
84
|
+
return currentSession;
|
|
85
|
+
},
|
|
86
|
+
currentSessionId: async () => currentSession?.chatSessionId ?? null,
|
|
87
|
+
executeTool: (call) => postAdmin({
|
|
88
|
+
...target,
|
|
89
|
+
path: "/api/mcp/tool",
|
|
90
|
+
body: call,
|
|
91
|
+
timeoutMs: resolveTimeoutMs(120_000),
|
|
92
|
+
}),
|
|
93
|
+
getContext: () => postAdmin({
|
|
94
|
+
...target,
|
|
95
|
+
path: "/api/mcp/context",
|
|
96
|
+
body: { includeSkillBodies: false },
|
|
97
|
+
timeoutMs: resolveTimeoutMs(60_000),
|
|
98
|
+
}),
|
|
99
|
+
fetchApprovalOutcome: (proposalId) => postAdmin({
|
|
100
|
+
...target,
|
|
101
|
+
path: "/api/mcp/approval",
|
|
102
|
+
body: { proposalId },
|
|
103
|
+
timeoutMs: resolveTimeoutMs(30_000),
|
|
104
|
+
}),
|
|
105
|
+
uploadImages: (args) => uploadImages(target, args),
|
|
106
|
+
}, {
|
|
107
|
+
serverVersion: ownVersion(),
|
|
108
|
+
approvalWaitMs: resolveApprovalWaitMs,
|
|
109
|
+
listChanged: true,
|
|
110
|
+
...(opts.approvalPollMs !== undefined ? { approvalPollMs: opts.approvalPollMs } : {}),
|
|
111
|
+
});
|
|
148
112
|
/** Re-read the catalogue; true (and a list_changed to the client) when it changed. */
|
|
149
113
|
const refreshCatalogue = () => {
|
|
150
114
|
refreshing ??= (async () => {
|
|
@@ -178,201 +142,7 @@ export async function startAdminMcpServer(opts) {
|
|
|
178
142
|
if (timer)
|
|
179
143
|
clearInterval(timer);
|
|
180
144
|
};
|
|
181
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
182
|
-
tools: [
|
|
183
|
-
UPLOAD_IMAGES_TOOL,
|
|
184
|
-
OPEN_SESSION_TOOL,
|
|
185
|
-
GET_CONTEXT_TOOL,
|
|
186
|
-
AWAIT_APPROVAL_TOOL,
|
|
187
|
-
...catalogue.tools.map((t) => ({
|
|
188
|
-
name: t.name,
|
|
189
|
-
description: t.description,
|
|
190
|
-
inputSchema: t.inputSchema,
|
|
191
|
-
})),
|
|
192
|
-
],
|
|
193
|
-
}));
|
|
194
|
-
/** Reads the operator's decision; the agent can never make it. */
|
|
195
|
-
const fetchOutcome = (proposalId) => () => postAdmin({
|
|
196
|
-
adminUrl: opts.adminUrl,
|
|
197
|
-
token: opts.token,
|
|
198
|
-
path: "/api/mcp/approval",
|
|
199
|
-
body: { proposalId },
|
|
200
|
-
timeoutMs: resolveTimeoutMs(30_000),
|
|
201
|
-
});
|
|
202
|
-
server.setRequestHandler(CallToolRequestSchema, async (req, extra) => {
|
|
203
|
-
const name = req.params.name;
|
|
204
|
-
// Progress notifications keep progress-aware clients from timing the
|
|
205
|
-
// call out while it waits on the operator (only when they asked).
|
|
206
|
-
const progressToken = req.params._meta?.progressToken;
|
|
207
|
-
const onPending = progressToken === undefined
|
|
208
|
-
? undefined
|
|
209
|
-
: async (elapsedMs) => {
|
|
210
|
-
await extra.sendNotification({
|
|
211
|
-
method: "notifications/progress",
|
|
212
|
-
params: {
|
|
213
|
-
progressToken,
|
|
214
|
-
progress: Math.round(elapsedMs / 1000),
|
|
215
|
-
message: "Waiting for the operator to approve or reject in the Caelo admin…",
|
|
216
|
-
},
|
|
217
|
-
});
|
|
218
|
-
};
|
|
219
|
-
try {
|
|
220
|
-
if (name === AWAIT_APPROVAL_TOOL.name) {
|
|
221
|
-
const parsed = awaitApprovalInput.safeParse(req.params.arguments ?? {});
|
|
222
|
-
if (!parsed.success) {
|
|
223
|
-
return errorResult(`invalid arguments: ${parsed.error.message}`);
|
|
224
|
-
}
|
|
225
|
-
const outcome = await waitForApproval({
|
|
226
|
-
fetchOutcome: fetchOutcome(parsed.data.proposalId),
|
|
227
|
-
waitMs: resolveApprovalWaitMs(),
|
|
228
|
-
...(opts.approvalPollMs !== undefined ? { intervalMs: opts.approvalPollMs } : {}),
|
|
229
|
-
...(onPending ? { onPending } : {}),
|
|
230
|
-
});
|
|
231
|
-
return outcomeResult(outcome);
|
|
232
|
-
}
|
|
233
|
-
if (name === UPLOAD_IMAGES_TOOL.name)
|
|
234
|
-
return await uploadImages(opts, req.params.arguments);
|
|
235
|
-
if (name === OPEN_SESSION_TOOL.name) {
|
|
236
|
-
const parsed = openSessionInput.safeParse(req.params.arguments ?? {});
|
|
237
|
-
if (!parsed.success) {
|
|
238
|
-
return errorResult(`invalid arguments: ${parsed.error.message}`);
|
|
239
|
-
}
|
|
240
|
-
currentSession = await postAdmin({
|
|
241
|
-
adminUrl: opts.adminUrl,
|
|
242
|
-
token: opts.token,
|
|
243
|
-
path: "/api/mcp/session",
|
|
244
|
-
body: parsed.data,
|
|
245
|
-
timeoutMs: resolveTimeoutMs(30_000),
|
|
246
|
-
});
|
|
247
|
-
return {
|
|
248
|
-
content: [
|
|
249
|
-
{
|
|
250
|
-
type: "text",
|
|
251
|
-
text: JSON.stringify(currentSession, null, 2) +
|
|
252
|
-
(currentSession.resumed
|
|
253
|
-
? `\nResumed the operator's session '${currentSession.title}' — its earlier unstaged work continues here. `
|
|
254
|
-
: `\nOpened a new session '${currentSession.title}'. `) +
|
|
255
|
-
"Subsequent caelo tool calls write to the site's shared draft (or this session's experiment branch). " +
|
|
256
|
-
"Stage finished work with stage_changes; the operator clicks Publish live in the Caelo admin.",
|
|
257
|
-
},
|
|
258
|
-
],
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
if (name === GET_CONTEXT_TOOL.name) {
|
|
262
|
-
const context = await postAdmin({
|
|
263
|
-
adminUrl: opts.adminUrl,
|
|
264
|
-
token: opts.token,
|
|
265
|
-
path: "/api/mcp/context",
|
|
266
|
-
body: { includeSkillBodies: false },
|
|
267
|
-
timeoutMs: resolveTimeoutMs(60_000),
|
|
268
|
-
});
|
|
269
|
-
return {
|
|
270
|
-
content: [
|
|
271
|
-
{ type: "text", text: context.systemContext },
|
|
272
|
-
{
|
|
273
|
-
type: "text",
|
|
274
|
-
text: JSON.stringify({ statusLine: context.statusLine, skills: context.skills }, null, 2),
|
|
275
|
-
},
|
|
276
|
-
],
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
let remote = remoteByName.get(name);
|
|
280
|
-
if (!remote) {
|
|
281
|
-
// The admin may have gained the tool since we last listed (#678).
|
|
282
|
-
await refreshCatalogue();
|
|
283
|
-
remote = remoteByName.get(name);
|
|
284
|
-
}
|
|
285
|
-
if (!remote) {
|
|
286
|
-
return errorResult(`unknown tool: ${name}`);
|
|
287
|
-
}
|
|
288
|
-
if (!currentSession) {
|
|
289
|
-
return errorResult("no open work session — call caelo_open_session first. Every caelo write lands on a " +
|
|
290
|
-
"session's preview branch; without one there is nothing to write to.");
|
|
291
|
-
}
|
|
292
|
-
const result = await postAdmin({
|
|
293
|
-
adminUrl: opts.adminUrl,
|
|
294
|
-
token: opts.token,
|
|
295
|
-
path: "/api/mcp/tool",
|
|
296
|
-
body: {
|
|
297
|
-
toolName: name,
|
|
298
|
-
args: req.params.arguments ?? {},
|
|
299
|
-
chatSessionId: currentSession.chatSessionId,
|
|
300
|
-
},
|
|
301
|
-
timeoutMs: resolveTimeoutMs(120_000),
|
|
302
|
-
});
|
|
303
|
-
if (result.approval) {
|
|
304
|
-
// Issue #658 — the call queued a proposal: wait for the operator's
|
|
305
|
-
// decision (bounded) and return it in THIS result, so the agent
|
|
306
|
-
// continues with the outcome instead of a "queued" note.
|
|
307
|
-
const outcome = await waitForApproval({
|
|
308
|
-
fetchOutcome: fetchOutcome(result.approval.proposalId),
|
|
309
|
-
waitMs: resolveApprovalWaitMs(),
|
|
310
|
-
...(opts.approvalPollMs !== undefined ? { intervalMs: opts.approvalPollMs } : {}),
|
|
311
|
-
...(onPending ? { onPending } : {}),
|
|
312
|
-
});
|
|
313
|
-
const decided = outcomeResult(outcome);
|
|
314
|
-
return {
|
|
315
|
-
...decided,
|
|
316
|
-
content: [
|
|
317
|
-
...decided.content,
|
|
318
|
-
{
|
|
319
|
-
type: "text",
|
|
320
|
-
text: JSON.stringify({ requestId: result.requestId, cached: result.cached }),
|
|
321
|
-
},
|
|
322
|
-
],
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
|
-
return {
|
|
326
|
-
...(result.ok ? {} : { isError: true }),
|
|
327
|
-
content: [
|
|
328
|
-
{ type: "text", text: result.content },
|
|
329
|
-
...(result.image
|
|
330
|
-
? [
|
|
331
|
-
{
|
|
332
|
-
type: "image",
|
|
333
|
-
data: result.image.base64,
|
|
334
|
-
mimeType: result.image.mediaType,
|
|
335
|
-
},
|
|
336
|
-
]
|
|
337
|
-
: []),
|
|
338
|
-
{
|
|
339
|
-
type: "text",
|
|
340
|
-
text: JSON.stringify({
|
|
341
|
-
requestId: result.requestId,
|
|
342
|
-
cached: result.cached,
|
|
343
|
-
...(result.nextAction !== undefined ? { nextAction: result.nextAction } : {}),
|
|
344
|
-
}),
|
|
345
|
-
},
|
|
346
|
-
],
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
catch (e) {
|
|
350
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
351
|
-
return errorResult(`${name} failed: ${msg}`);
|
|
352
|
-
}
|
|
353
|
-
});
|
|
354
145
|
await server.connect(opts.transport ?? new StdioServerTransport());
|
|
355
146
|
connected = true;
|
|
356
147
|
}
|
|
357
|
-
/** An outcome as an MCP tool result; a failed apply is an error result. */
|
|
358
|
-
function outcomeResult(o) {
|
|
359
|
-
return {
|
|
360
|
-
...(o.outcome === "failed" ? { isError: true } : {}),
|
|
361
|
-
content: [
|
|
362
|
-
{ type: "text", text: describeApprovalOutcome(o) },
|
|
363
|
-
{
|
|
364
|
-
type: "text",
|
|
365
|
-
text: JSON.stringify({
|
|
366
|
-
proposalId: o.proposalId,
|
|
367
|
-
outcome: o.outcome,
|
|
368
|
-
detail: o.detail,
|
|
369
|
-
decidedAt: o.decidedAt,
|
|
370
|
-
}),
|
|
371
|
-
},
|
|
372
|
-
],
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
|
-
function errorResult(text) {
|
|
376
|
-
return { isError: true, content: [{ type: "text", text }] };
|
|
377
|
-
}
|
|
378
148
|
//# sourceMappingURL=admin-server.js.map
|
package/dist/admin-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-server.js","sourceRoot":"","sources":["../src/admin-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-server.js","sourceRoot":"","sources":["../src/admin-server.ts"],"names":[],"mappings":"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"}
|
package/dist/admin.js
CHANGED
|
@@ -6,17 +6,16 @@
|
|
|
6
6
|
* `claude mcp add` snippet stays a single flag-free command.
|
|
7
7
|
*/
|
|
8
8
|
import { startAdminMcpServer } from "./admin-server.js";
|
|
9
|
+
import { missingCredentials, startUnconfiguredServer } from "./unconfigured.js";
|
|
9
10
|
import { ensureAdminRelease } from "./version-handshake.js";
|
|
10
11
|
const adminUrl = process.env.CAELO_ADMIN_URL;
|
|
11
12
|
const token = process.env.CAELO_MCP_TOKEN;
|
|
12
|
-
if (!adminUrl) {
|
|
13
|
-
|
|
14
|
-
process.
|
|
13
|
+
if (!adminUrl || !token) {
|
|
14
|
+
// #841 — answer tools/list for MCP directories; every call names the fix.
|
|
15
|
+
await startUnconfiguredServer({ mode: "admin", missing: missingCredentials(process.env) });
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
else {
|
|
18
|
+
await ensureAdminRelease({ adminUrl, token, bin: "caelo-admin-mcp" });
|
|
19
|
+
await startAdminMcpServer({ adminUrl, token });
|
|
19
20
|
}
|
|
20
|
-
await ensureAdminRelease({ adminUrl, token, bin: "caelo-admin-mcp" });
|
|
21
|
-
await startAdminMcpServer({ adminUrl, token });
|
|
22
21
|
//# sourceMappingURL=admin.js.map
|
package/dist/admin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":";AACA,mCAAmC;AAEnC;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAE1C,IAAI,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":";AACA,mCAAmC;AAEnC;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAE1C,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;IACxB,0EAA0E;IAC1E,MAAM,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;KAAM,CAAC;IACN,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtE,MAAM,mBAAmB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC"}
|
package/dist/chat-bridge.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { z } from "zod";
|
|
13
13
|
import type { ChatApprovalState, SendChatResult } from "./chat-approval.js";
|
|
14
|
-
import type { uploadedImageSchema } from "./
|
|
14
|
+
import type { uploadedImageSchema } from "./tool-definitions.js";
|
|
15
15
|
interface AdminTarget {
|
|
16
16
|
readonly adminUrl: string;
|
|
17
17
|
readonly token: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-bridge.d.ts","sourceRoot":"","sources":["../src/chat-bridge.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"chat-bridge.d.ts","sourceRoot":"","sources":["../src/chat-bridge.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,UAAU,WAAW;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EAAE,CAAC;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAa1E;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAAC,cAAc,CAAC,CAQzB;AAED,qFAAqF;AACrF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAAC,iBAAiB,CAAC,CAQ5B"}
|
package/dist/image-upload.d.ts
CHANGED
|
@@ -1,80 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/** Uploaded media references accepted by caelo_chat; never accept object-store keys. */
|
|
3
|
-
export declare const uploadedImageSchema: z.ZodObject<{
|
|
4
|
-
assetId: z.ZodString;
|
|
5
|
-
mime: z.ZodEnum<{
|
|
6
|
-
"image/png": "image/png";
|
|
7
|
-
"image/jpeg": "image/jpeg";
|
|
8
|
-
"image/webp": "image/webp";
|
|
9
|
-
"image/gif": "image/gif";
|
|
10
|
-
}>;
|
|
11
|
-
alt: z.ZodOptional<z.ZodString>;
|
|
12
|
-
}, z.core.$strict>;
|
|
13
|
-
/** A bounded batch; each file has its own success/error result for safe retries. */
|
|
14
|
-
export declare const uploadImagesInput: z.ZodObject<{
|
|
15
|
-
images: z.ZodArray<z.ZodObject<{
|
|
16
|
-
filePath: z.ZodOptional<z.ZodString>;
|
|
17
|
-
base64: z.ZodOptional<z.ZodString>;
|
|
18
|
-
filename: z.ZodOptional<z.ZodString>;
|
|
19
|
-
alt: z.ZodOptional<z.ZodString>;
|
|
20
|
-
reference: z.ZodOptional<z.ZodBoolean>;
|
|
21
|
-
}, z.core.$strict>>;
|
|
22
|
-
}, z.core.$strict>;
|
|
23
|
-
/** Exposed in both MCP catalogues, including chat-scoped connections. */
|
|
24
|
-
export declare const UPLOAD_IMAGES_TOOL: {
|
|
25
|
-
name: string;
|
|
26
|
-
description: string;
|
|
27
|
-
inputSchema: {
|
|
28
|
-
type: "object";
|
|
29
|
-
required: string[];
|
|
30
|
-
additionalProperties: boolean;
|
|
31
|
-
properties: {
|
|
32
|
-
images: {
|
|
33
|
-
type: string;
|
|
34
|
-
minItems: number;
|
|
35
|
-
maxItems: number;
|
|
36
|
-
items: {
|
|
37
|
-
type: string;
|
|
38
|
-
additionalProperties: boolean;
|
|
39
|
-
properties: {
|
|
40
|
-
filePath: {
|
|
41
|
-
type: string;
|
|
42
|
-
description: string;
|
|
43
|
-
};
|
|
44
|
-
base64: {
|
|
45
|
-
type: string;
|
|
46
|
-
description: string;
|
|
47
|
-
};
|
|
48
|
-
filename: {
|
|
49
|
-
type: string;
|
|
50
|
-
description: string;
|
|
51
|
-
};
|
|
52
|
-
alt: {
|
|
53
|
-
type: string;
|
|
54
|
-
description: string;
|
|
55
|
-
};
|
|
56
|
-
reference: {
|
|
57
|
-
type: string;
|
|
58
|
-
description: string;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
oneOf: {
|
|
62
|
-
required: string[];
|
|
63
|
-
}[];
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
};
|
|
1
|
+
import { type UploadImagesResult } from "./surfaces/upload.js";
|
|
69
2
|
/** Upload caller-selected files, returning failures individually without dropping successes. */
|
|
70
3
|
export declare function uploadImages(opts: {
|
|
71
4
|
adminUrl: string;
|
|
72
5
|
token: string;
|
|
73
|
-
}, input: unknown): Promise<
|
|
74
|
-
content: {
|
|
75
|
-
type: "text";
|
|
76
|
-
text: string;
|
|
77
|
-
}[];
|
|
78
|
-
isError?: boolean | undefined;
|
|
79
|
-
}>;
|
|
6
|
+
}, input: unknown): Promise<UploadImagesResult>;
|
|
80
7
|
//# sourceMappingURL=image-upload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-upload.d.ts","sourceRoot":"","sources":["../src/image-upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image-upload.d.ts","sourceRoot":"","sources":["../src/image-upload.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,kBAAkB,EAAoB,MAAM,sBAAsB,CAAC;AAwBjF,gGAAgG;AAChG,wBAAsB,YAAY,CAChC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,kBAAkB,CAAC,CA2B7B"}
|