@aotter/mantle-runtime 0.0.11-alpha.14 → 0.0.11-alpha.16
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/domain/model/TemplateRegistry.d.ts +3 -0
- package/dist/domain/model/TemplateRegistry.d.ts.map +1 -1
- package/dist/domain/model/TemplateRegistry.js.map +1 -1
- package/dist/domain/port/MediaStorage.d.ts +41 -0
- package/dist/domain/port/MediaStorage.d.ts.map +1 -1
- package/dist/domain/port/MediaStorage.js.map +1 -1
- package/dist/domain/service/HtmlRenderer.d.ts +3 -0
- package/dist/domain/service/HtmlRenderer.d.ts.map +1 -1
- package/dist/domain/service/HtmlRenderer.js +7 -1
- package/dist/domain/service/HtmlRenderer.js.map +1 -1
- package/dist/domain/service/McpToolNaming.d.ts +19 -0
- package/dist/domain/service/McpToolNaming.d.ts.map +1 -1
- package/dist/domain/service/McpToolNaming.js +33 -0
- package/dist/domain/service/McpToolNaming.js.map +1 -1
- package/dist/domain/service/io/MediaAssetReferences.d.ts +13 -0
- package/dist/domain/service/io/MediaAssetReferences.d.ts.map +1 -0
- package/dist/domain/service/io/MediaAssetReferences.js +48 -0
- package/dist/domain/service/io/MediaAssetReferences.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts +20 -7
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts.map +1 -1
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js +89 -0
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js.map +1 -1
- package/dist/infrastructure/mcp/McpToolCatalog.d.ts +7 -1
- package/dist/infrastructure/mcp/McpToolCatalog.d.ts.map +1 -1
- package/dist/infrastructure/mcp/McpToolCatalog.js +83 -11
- package/dist/infrastructure/mcp/McpToolCatalog.js.map +1 -1
- package/dist/infrastructure/render/HtmlPublishOrchestrator.d.ts +3 -1
- package/dist/infrastructure/render/HtmlPublishOrchestrator.d.ts.map +1 -1
- package/dist/infrastructure/render/HtmlPublishOrchestrator.js +8 -2
- package/dist/infrastructure/render/HtmlPublishOrchestrator.js.map +1 -1
- package/dist/runtime.d.ts +2 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +7 -6
- package/dist/runtime.js.map +1 -1
- package/dist/usecase/boot/ValidateBootUseCase.d.ts.map +1 -1
- package/dist/usecase/boot/ValidateBootUseCase.js +48 -8
- package/dist/usecase/boot/ValidateBootUseCase.js.map +1 -1
- package/dist/usecase/dto/media/index.d.ts +11 -0
- package/dist/usecase/dto/media/index.d.ts.map +1 -1
- package/dist/usecase/media/CreateMediaUploadUseCase.d.ts.map +1 -1
- package/dist/usecase/media/CreateMediaUploadUseCase.js +39 -21
- package/dist/usecase/media/CreateMediaUploadUseCase.js.map +1 -1
- package/dist/usecase/media/UploadMediaVariantUseCase.d.ts +35 -0
- package/dist/usecase/media/UploadMediaVariantUseCase.d.ts.map +1 -0
- package/dist/usecase/media/UploadMediaVariantUseCase.js +75 -0
- package/dist/usecase/media/UploadMediaVariantUseCase.js.map +1 -0
- package/dist/usecase/media/index.d.ts +1 -0
- package/dist/usecase/media/index.d.ts.map +1 -1
- package/dist/usecase/media/index.js +1 -0
- package/dist/usecase/media/index.js.map +1 -1
- package/dist/usecase/render/PreviewEntryUseCase.d.ts +3 -1
- package/dist/usecase/render/PreviewEntryUseCase.d.ts.map +1 -1
- package/dist/usecase/render/PreviewEntryUseCase.js +6 -1
- package/dist/usecase/render/PreviewEntryUseCase.js.map +1 -1
- package/dist/usecase/render/RenderEntryLiveUseCase.d.ts +3 -1
- package/dist/usecase/render/RenderEntryLiveUseCase.d.ts.map +1 -1
- package/dist/usecase/render/RenderEntryLiveUseCase.js +6 -1
- package/dist/usecase/render/RenderEntryLiveUseCase.js.map +1 -1
- package/dist/usecase/render/RenderListLiveUseCase.d.ts +3 -1
- package/dist/usecase/render/RenderListLiveUseCase.d.ts.map +1 -1
- package/dist/usecase/render/RenderListLiveUseCase.js +6 -1
- package/dist/usecase/render/RenderListLiveUseCase.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type MediaPurposePolicy, type SchemaManifest, type ViewManifest } from "@aotter/mantle-spec";
|
|
1
|
+
import { type MediaPurposePolicy, type ProcedureManifest, type SchemaManifest, type ViewManifest } from "@aotter/mantle-spec";
|
|
2
2
|
import { mcpToolNameSegment } from "../../domain/service/McpToolNaming.js";
|
|
3
3
|
/**
|
|
4
4
|
* MCP tool catalog. Mix of generic tools (read paths, status flips
|
|
@@ -32,6 +32,7 @@ export interface McpToolDefinition {
|
|
|
32
32
|
readonly description: string;
|
|
33
33
|
readonly inputSchema: Record<string, unknown>;
|
|
34
34
|
}
|
|
35
|
+
export declare const UPLOAD_MEDIA_VARIANT_TOOL: McpToolDefinition;
|
|
35
36
|
export declare const COMMIT_MEDIA_UPLOAD_TOOL: McpToolDefinition;
|
|
36
37
|
export declare const GENERIC_TOOLS: readonly McpToolDefinition[];
|
|
37
38
|
export declare const CREATE_DRAFT_PREFIX = "create_draft_";
|
|
@@ -59,6 +60,11 @@ export interface BuildMcpToolCatalogOpts {
|
|
|
59
60
|
* surface exposes only read-only View queries for v0.1. */
|
|
60
61
|
readonly surface?: McpToolSurface;
|
|
61
62
|
readonly views?: ReadonlyArray<ViewManifest>;
|
|
63
|
+
/** Procedures exposed on this MCP surface via `Trigger.source.kind: "mcp"`
|
|
64
|
+
* (#281). The adapter pre-filters Triggers by surface and passes the
|
|
65
|
+
* matching Procedures here. The catalog factory does NOT re-filter
|
|
66
|
+
* by surface — caller is authoritative. */
|
|
67
|
+
readonly procedures?: ReadonlyArray<ProcedureManifest>;
|
|
62
68
|
}
|
|
63
69
|
export declare function buildMcpToolCatalog(schemas: ReadonlyArray<SchemaManifest>, opts?: BuildMcpToolCatalogOpts): readonly McpToolDefinition[];
|
|
64
70
|
/** Re-export the naming util from `domain/service/` so existing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpToolCatalog.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/mcp/McpToolCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"McpToolCatalog.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/mcp/McpToolCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,yBAAyB,EAAE,iBAsCvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAiBtC,CAAC;AAsGF,eAAO,MAAM,aAAa,EAAE,SAAS,iBAAiB,EA+DrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;uCAEmC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;sDAKkD;IAClD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvD;gEAC4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7C;;;gDAG4C;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACxD;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EACtC,IAAI,GAAE,uBAA4B,GACjC,SAAS,iBAAiB,EAAE,CAc9B;AAED;;sBAEsB;AACtB,OAAO,EAAE,kBAAkB,IAAI,eAAe,EAAE,CAAC;AAEjD;oEACoE;AACpE,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAIf"}
|
|
@@ -1,5 +1,40 @@
|
|
|
1
|
-
import { MANTLE_BIND_KEYWORD, } from "@aotter/mantle-spec";
|
|
1
|
+
import { MANTLE_BIND_KEYWORD, expandPolicyRequired, } from "@aotter/mantle-spec";
|
|
2
2
|
import { mcpToolNameSegment } from "../../domain/service/McpToolNaming.js";
|
|
3
|
+
export const UPLOAD_MEDIA_VARIANT_TOOL = {
|
|
4
|
+
name: "upload_media_variant",
|
|
5
|
+
description: "Upload one variant's bytes for an in-flight media upload as a base64 " +
|
|
6
|
+
"payload over MCP — sandboxed-agent alternative to the presigned PUT URLs " +
|
|
7
|
+
"from create_media_upload. Use this when the agent can't reach the storage " +
|
|
8
|
+
"backend directly (e.g. Claude Cowork's outbound proxy doesn't allowlist R2 " +
|
|
9
|
+
"hosts; MCP traffic gets to the Worker via api.anthropic.com). Worker writes " +
|
|
10
|
+
"server-side via the bound MediaStorage adapter; the storage-key layout " +
|
|
11
|
+
"matches the presigned path so commit verifies the same object. Editor / " +
|
|
12
|
+
"browser uploads should continue using create_media_upload + direct PUT — " +
|
|
13
|
+
"this tool is the agent-side fallback, not a replacement.",
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: "object",
|
|
16
|
+
properties: {
|
|
17
|
+
uploadGroupId: {
|
|
18
|
+
type: "string",
|
|
19
|
+
description: "Logical asset id from create_media_upload, passed verbatim.",
|
|
20
|
+
},
|
|
21
|
+
role: {
|
|
22
|
+
type: "string",
|
|
23
|
+
enum: ["primary", "alternate", "fallback"],
|
|
24
|
+
description: "Role of the variant being uploaded; must match a declared role in the create_media_upload manifest.",
|
|
25
|
+
},
|
|
26
|
+
mimeType: {
|
|
27
|
+
type: "string",
|
|
28
|
+
description: "Variant mime type; must match the mime declared for this role in create_media_upload.",
|
|
29
|
+
},
|
|
30
|
+
bytesBase64: {
|
|
31
|
+
type: "string",
|
|
32
|
+
description: "Base64-encoded raw variant bytes. Roughly 33% size inflation over the binary payload; for variants larger than a few MB use the presigned-PUT path instead.",
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
required: ["uploadGroupId", "role", "mimeType", "bytesBase64"],
|
|
36
|
+
},
|
|
37
|
+
};
|
|
3
38
|
export const COMMIT_MEDIA_UPLOAD_TOOL = {
|
|
4
39
|
name: "commit_media_upload",
|
|
5
40
|
description: "Commit a previously-PUT variant bundle. Verifies every variant landed at the storage backend (HEAD + bytes per declared mime) and writes the committed MediaAsset to the media_assets table. Returns the asset with its variants populated. Only registered when the runtime has a media storage adapter bound and a media.purposes taxonomy declared.",
|
|
@@ -17,7 +52,11 @@ export const COMMIT_MEDIA_UPLOAD_TOOL = {
|
|
|
17
52
|
},
|
|
18
53
|
};
|
|
19
54
|
function buildMediaTools(mediaPurposes) {
|
|
20
|
-
return [
|
|
55
|
+
return [
|
|
56
|
+
buildCreateMediaUploadTool(mediaPurposes),
|
|
57
|
+
UPLOAD_MEDIA_VARIANT_TOOL,
|
|
58
|
+
COMMIT_MEDIA_UPLOAD_TOOL,
|
|
59
|
+
];
|
|
21
60
|
}
|
|
22
61
|
function buildCreateMediaUploadTool(mediaPurposes = []) {
|
|
23
62
|
const purpose = {
|
|
@@ -29,20 +68,29 @@ function buildCreateMediaUploadTool(mediaPurposes = []) {
|
|
|
29
68
|
const policySummary = mediaPurposes.length > 0
|
|
30
69
|
? "Purpose policies in this deployment:\n" +
|
|
31
70
|
mediaPurposes
|
|
32
|
-
.map((p) =>
|
|
33
|
-
|
|
71
|
+
.map((p) => {
|
|
72
|
+
const slots = expandPolicyRequired(p.required)
|
|
73
|
+
.map((mimes, i) => `slot ${i}: ${mimes.length > 1
|
|
74
|
+
? `one of [${mimes.join(", ")}]`
|
|
75
|
+
: mimes[0]}`)
|
|
76
|
+
.join("; ");
|
|
77
|
+
const caps = Object.entries(p.maxBytes)
|
|
34
78
|
.map(([m, b]) => `${m}=${b}`)
|
|
35
|
-
.join(", ")
|
|
79
|
+
.join(", ");
|
|
80
|
+
return ` • ${p.name} — ${slots}; maxBytes: ${caps}`;
|
|
81
|
+
})
|
|
36
82
|
.join("\n")
|
|
37
83
|
: "";
|
|
38
84
|
return {
|
|
39
85
|
name: "create_media_upload",
|
|
40
86
|
description: "Issue short-lived direct-upload capabilities for every variant of one logical media asset. " +
|
|
41
|
-
"Multi-variant by default (#272): one call yields N presigned PUTs (one per declared
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"media.
|
|
87
|
+
"Multi-variant by default (#272): one call yields N presigned PUTs (one per declared slot). " +
|
|
88
|
+
"Per-asset, the agent picks ONE mime per slot from that slot's acceptable set (#282); a " +
|
|
89
|
+
"single purpose declared with slot 0 = `image/jpg,image/png` accepts either a jpeg primary " +
|
|
90
|
+
"(photos) or a png primary (logos / transparent assets). Optimization runs agent-side via " +
|
|
91
|
+
"@aotter/mantle-media-tools; the Worker only verifies policy. After uploading every variant, " +
|
|
92
|
+
"call commit_media_upload with the returned uploadGroupId. Only registered when the runtime " +
|
|
93
|
+
"has a media storage adapter bound and a media.purposes taxonomy declared." +
|
|
46
94
|
(policySummary ? `\n\n${policySummary}` : ""),
|
|
47
95
|
inputSchema: {
|
|
48
96
|
type: "object",
|
|
@@ -152,8 +200,9 @@ export const UPDATE_DRAFT_PREFIX = "update_draft_";
|
|
|
152
200
|
export const QUERY_VIEW_PREFIX = "query_view_";
|
|
153
201
|
export function buildMcpToolCatalog(schemas, opts = {}) {
|
|
154
202
|
const surface = opts.surface ?? "staff";
|
|
203
|
+
const procedureTools = (opts.procedures ?? []).map(buildProcedureTool);
|
|
155
204
|
if (surface === "public") {
|
|
156
|
-
return (opts.views ?? []).map(buildQueryViewTool);
|
|
205
|
+
return [...(opts.views ?? []).map(buildQueryViewTool), ...procedureTools];
|
|
157
206
|
}
|
|
158
207
|
const out = [...GENERIC_TOOLS];
|
|
159
208
|
if (opts.mediaEnabled)
|
|
@@ -162,6 +211,7 @@ export function buildMcpToolCatalog(schemas, opts = {}) {
|
|
|
162
211
|
out.push(buildCreateTool(s));
|
|
163
212
|
out.push(buildUpdateTool(s));
|
|
164
213
|
}
|
|
214
|
+
out.push(...procedureTools);
|
|
165
215
|
return out;
|
|
166
216
|
}
|
|
167
217
|
/** Re-export the naming util from `domain/service/` so existing
|
|
@@ -210,6 +260,28 @@ function buildUpdateTool(schema) {
|
|
|
210
260
|
inputSchema,
|
|
211
261
|
};
|
|
212
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Per-Procedure MCP tool factory (#281). The Procedure's `input`
|
|
265
|
+
* JSON Schema becomes the tool's `inputSchema` verbatim; the
|
|
266
|
+
* description comes from `input.description` when set, otherwise a
|
|
267
|
+
* generic stub naming the Procedure. `output` is not surfaced — MCP
|
|
268
|
+
* clients infer the response shape from the `tools/call` result.
|
|
269
|
+
*
|
|
270
|
+
* Naming: the tool name is the Procedure's metadata name mangled
|
|
271
|
+
* through `mcpToolNameSegment` (lowercase + `-`→`_`). Boot validates
|
|
272
|
+
* that the mangled name does not collide with generic tools, media
|
|
273
|
+
* tools, or per-schema authoring tools.
|
|
274
|
+
*/
|
|
275
|
+
function buildProcedureTool(procedure) {
|
|
276
|
+
const input = procedure.spec.input;
|
|
277
|
+
const description = input.description ??
|
|
278
|
+
`Invoke Procedure '${procedure.metadata.name}'. Input shape declared by the manifest.`;
|
|
279
|
+
return {
|
|
280
|
+
name: mcpToolNameSegment(procedure.metadata.name),
|
|
281
|
+
description,
|
|
282
|
+
inputSchema: input,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
213
285
|
function buildQueryViewTool(view) {
|
|
214
286
|
const params = view.spec.params;
|
|
215
287
|
const properties = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpToolCatalog.js","sourceRoot":"","sources":["../../../src/infrastructure/mcp/McpToolCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"McpToolCatalog.js","sourceRoot":"","sources":["../../../src/infrastructure/mcp/McpToolCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type SchemaManifest, type SiteConfig } from "@aotter/mantle-spec";
|
|
2
2
|
import type { DatabaseDriver } from "../../domain/port/DatabaseDriver.js";
|
|
3
3
|
import type { KvCache } from "../../domain/port/KvCache.js";
|
|
4
|
+
import type { MediaAssetRepository } from "../../domain/port/MediaAssetRepository.js";
|
|
4
5
|
import type { PublishEntryRequest, PublishOrchestrator } from "../../domain/port/PublishOrchestrator.js";
|
|
5
6
|
import type { PublicPathResolver } from "../../domain/service/PublicPathResolver.js";
|
|
6
7
|
import { type SeoComposer } from "../../domain/service/EntrySeoSupport.js";
|
|
@@ -24,7 +25,8 @@ export declare class HtmlPublishOrchestrator implements PublishOrchestrator {
|
|
|
24
25
|
private readonly composeSeo;
|
|
25
26
|
private readonly composeLlmsTxt;
|
|
26
27
|
private readonly schemas;
|
|
27
|
-
|
|
28
|
+
private readonly mediaAssets;
|
|
29
|
+
constructor(db: DatabaseDriver, kv: KvCache, paths: PublicPathResolver | null, composeSeo: SeoComposer, composeLlmsTxt: LlmsTxtComposer, schemas: ReadonlyMap<string, SchemaManifest>, mediaAssets?: MediaAssetRepository | null);
|
|
28
30
|
publish(request: PublishEntryRequest): Promise<void>;
|
|
29
31
|
unpublish(request: PublishEntryRequest): Promise<void>;
|
|
30
32
|
private renderEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HtmlPublishOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/render/HtmlPublishOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAoBlD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"HtmlPublishOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/render/HtmlPublishOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAoBlD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,yCAAyC,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,IAAI,EAAE;QACZ,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrB;AAgBD,qBAAa,uBAAwB,YAAW,mBAAmB;IAE/D,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBANX,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,kBAAkB,GAAG,IAAI,EAChC,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,eAAe,EAC/B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAC5C,WAAW,GAAE,oBAAoB,GAAG,IAAW;IAG5D,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BpD,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;YAyB9C,WAAW;YAkBX,UAAU;YA0BV,aAAa;CAI5B"}
|
|
@@ -5,6 +5,7 @@ import { joinParentForList, joinParentIfTranslation, } from "../../domain/servic
|
|
|
5
5
|
import { serializeEntryAsMarkdown } from "../../domain/service/MarkdownSerializer.js";
|
|
6
6
|
import { renderEntryHtml, renderListHtml, } from "../../domain/service/HtmlRenderer.js";
|
|
7
7
|
import { composeSeoIfPathed, } from "../../domain/service/EntrySeoSupport.js";
|
|
8
|
+
import { resolveMediaAssetsForEntries } from "../../domain/service/io/MediaAssetReferences.js";
|
|
8
9
|
/**
|
|
9
10
|
* `HtmlPublishOrchestrator` — the publish pipeline. Renders + writes
|
|
10
11
|
* to `KvCache`:
|
|
@@ -25,13 +26,15 @@ export class HtmlPublishOrchestrator {
|
|
|
25
26
|
composeSeo;
|
|
26
27
|
composeLlmsTxt;
|
|
27
28
|
schemas;
|
|
28
|
-
|
|
29
|
+
mediaAssets;
|
|
30
|
+
constructor(db, kv, paths, composeSeo, composeLlmsTxt, schemas, mediaAssets = null) {
|
|
29
31
|
this.db = db;
|
|
30
32
|
this.kv = kv;
|
|
31
33
|
this.paths = paths;
|
|
32
34
|
this.composeSeo = composeSeo;
|
|
33
35
|
this.composeLlmsTxt = composeLlmsTxt;
|
|
34
36
|
this.schemas = schemas;
|
|
37
|
+
this.mediaAssets = mediaAssets;
|
|
35
38
|
}
|
|
36
39
|
async publish(request) {
|
|
37
40
|
const raw = await readEntryById(this.db, request.entryId);
|
|
@@ -82,7 +85,8 @@ export class HtmlPublishOrchestrator {
|
|
|
82
85
|
}
|
|
83
86
|
async renderEntry(entry, site, templates, doctype) {
|
|
84
87
|
const seo = await composeSeoIfPathed(this.composeSeo, this.paths, entry, site);
|
|
85
|
-
const
|
|
88
|
+
const mediaAssets = await resolveMediaAssetsForEntries(this.mediaAssets, [entry]);
|
|
89
|
+
const html = renderEntryHtml({ entry, site, templates, doctype, mediaAssets, seo });
|
|
86
90
|
if (html !== null) {
|
|
87
91
|
await this.kv.put(entryHtmlKey(entry), html);
|
|
88
92
|
}
|
|
@@ -96,6 +100,7 @@ export class HtmlPublishOrchestrator {
|
|
|
96
100
|
const entries = await joinParentForList(this.db, this.schemas, raw, {
|
|
97
101
|
parentStatus: "published",
|
|
98
102
|
});
|
|
103
|
+
const mediaAssets = await resolveMediaAssetsForEntries(this.mediaAssets, entries);
|
|
99
104
|
const html = renderListHtml({
|
|
100
105
|
collection,
|
|
101
106
|
locale: locale ?? "",
|
|
@@ -103,6 +108,7 @@ export class HtmlPublishOrchestrator {
|
|
|
103
108
|
site,
|
|
104
109
|
templates,
|
|
105
110
|
doctype,
|
|
111
|
+
mediaAssets,
|
|
106
112
|
});
|
|
107
113
|
if (html !== null) {
|
|
108
114
|
await this.kv.put(listHtmlKey(collection, locale ?? ""), html);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HtmlPublishOrchestrator.js","sourceRoot":"","sources":["../../../src/infrastructure/render/HtmlPublishOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"HtmlPublishOrchestrator.js","sourceRoot":"","sources":["../../../src/infrastructure/render/HtmlPublishOrchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ import { ExecuteViewUseCase } from "./usecase/view/index.js";
|
|
|
17
17
|
import { ValidateBootUseCase } from "./usecase/boot/index.js";
|
|
18
18
|
import { RunDeferredHookUseCase } from "./usecase/lifecycle/index.js";
|
|
19
19
|
import { ComposeEntrySeoMetaUseCase, ComposeLlmsTxtUseCase, ComposeSitemapUseCase, PreviewEntryUseCase, RenderEntryLiveUseCase, RenderListLiveUseCase } from "./usecase/render/index.js";
|
|
20
|
-
import { CommitMediaUploadUseCase, CreateMediaUploadUseCase } from "./usecase/media/index.js";
|
|
20
|
+
import { CommitMediaUploadUseCase, CreateMediaUploadUseCase, UploadMediaVariantUseCase } from "./usecase/media/index.js";
|
|
21
21
|
import type { PublicPathResolver } from "./domain/service/PublicPathResolver.js";
|
|
22
22
|
import type { MediaAsset } from "./domain/port/MediaStorage.js";
|
|
23
23
|
/**
|
|
@@ -112,6 +112,7 @@ export interface CmsRuntime {
|
|
|
112
112
|
readonly media: {
|
|
113
113
|
readonly storage: MediaStorage;
|
|
114
114
|
readonly createUpload: CreateMediaUploadUseCase;
|
|
115
|
+
readonly uploadVariant: UploadMediaVariantUseCase;
|
|
115
116
|
readonly commitUpload: CommitMediaUploadUseCase;
|
|
116
117
|
resolve(id: string): Promise<MediaAsset | null>;
|
|
117
118
|
resolveMany(ids: readonly string[]): Promise<ReadonlyMap<string, MediaAsset>>;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -8,7 +8,7 @@ import { ExecuteViewUseCase } from "./usecase/view/index.js";
|
|
|
8
8
|
import { ValidateBootUseCase } from "./usecase/boot/index.js";
|
|
9
9
|
import { RunDeferredHookUseCase, RunLifecycleHooksUseCase, } from "./usecase/lifecycle/index.js";
|
|
10
10
|
import { ComposeEntrySeoMetaUseCase, ComposeLlmsTxtUseCase, ComposeSitemapUseCase, PreviewEntryUseCase, RenderEntryLiveUseCase, RenderListLiveUseCase, } from "./usecase/render/index.js";
|
|
11
|
-
import { CommitMediaUploadUseCase, CreateMediaUploadUseCase, } from "./usecase/media/index.js";
|
|
11
|
+
import { CommitMediaUploadUseCase, CreateMediaUploadUseCase, UploadMediaVariantUseCase, } from "./usecase/media/index.js";
|
|
12
12
|
import { TemplateRegistry as TemplateRegistryImpl } from "./domain/model/TemplateRegistry.js";
|
|
13
13
|
import { TriggerIndex } from "./domain/service/TriggerIndex.js";
|
|
14
14
|
import { DatabaseEntryRepository } from "./infrastructure/persistence/DatabaseEntryRepository.js";
|
|
@@ -68,7 +68,8 @@ export function createCmsRuntime(args) {
|
|
|
68
68
|
const publicPathResolver = args.publicPathResolver ?? null;
|
|
69
69
|
const composeEntrySeoMeta = new ComposeEntrySeoMetaUseCase(args.db);
|
|
70
70
|
const composeLlmsTxt = new ComposeLlmsTxtUseCase(args.db);
|
|
71
|
-
const
|
|
71
|
+
const mediaAssets = new DatabaseMediaAssetRepository(args.db);
|
|
72
|
+
const publishOrchestrator = new HtmlPublishOrchestrator(args.db, args.kv, publicPathResolver, composeEntrySeoMeta, composeLlmsTxt, schemasByName, mediaAssets);
|
|
72
73
|
// Content / view / boot use cases. They see `entries` only as the
|
|
73
74
|
// chokepoint port — hook firing is invisible to them.
|
|
74
75
|
const createDraft = new CreateDraftUseCase(entries, schemasByName, clock, idgen, siteConfig);
|
|
@@ -82,15 +83,15 @@ export function createCmsRuntime(args) {
|
|
|
82
83
|
const deleteEntry = new DeleteEntryUseCase(entries);
|
|
83
84
|
const executeView = new ExecuteViewUseCase(args.db);
|
|
84
85
|
const composeSitemap = new ComposeSitemapUseCase(args.db);
|
|
85
|
-
const renderEntryLive = new RenderEntryLiveUseCase(args.db, templates, publicPathResolver, composeEntrySeoMeta, schemasByName);
|
|
86
|
-
const renderListLive = new RenderListLiveUseCase(args.db, templates, schemasByName);
|
|
87
|
-
const previewEntry = new PreviewEntryUseCase(args.db, templates, publicPathResolver, composeEntrySeoMeta, schemasByName);
|
|
86
|
+
const renderEntryLive = new RenderEntryLiveUseCase(args.db, templates, publicPathResolver, composeEntrySeoMeta, schemasByName, mediaAssets);
|
|
87
|
+
const renderListLive = new RenderListLiveUseCase(args.db, templates, schemasByName, mediaAssets);
|
|
88
|
+
const previewEntry = new PreviewEntryUseCase(args.db, templates, publicPathResolver, composeEntrySeoMeta, schemasByName, mediaAssets);
|
|
88
89
|
const validateBoot = new ValidateBootUseCase();
|
|
89
|
-
const mediaAssets = new DatabaseMediaAssetRepository(args.db);
|
|
90
90
|
const media = args.mediaStorage
|
|
91
91
|
? {
|
|
92
92
|
storage: args.mediaStorage,
|
|
93
93
|
createUpload: new CreateMediaUploadUseCase(args.mediaStorage, args.kv, clock, idgen, siteConfig, { allowSvg: args.mediaAllowSvg ?? false }),
|
|
94
|
+
uploadVariant: new UploadMediaVariantUseCase(args.mediaStorage, args.kv, clock),
|
|
94
95
|
commitUpload: new CommitMediaUploadUseCase(args.mediaStorage, args.kv, clock, mediaAssets),
|
|
95
96
|
resolve: (id) => mediaAssets.findById(id),
|
|
96
97
|
resolveMany: (ids) => mediaAssets.findManyByIds(ids),
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAOnB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,WAAW,EAAc,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,oBAAoB,GAErB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidateBootUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,QAAQ,EAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"ValidateBootUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,QAAQ,EAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC;;;oEAGgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB;IAoG3D,yDAAyD;IACzD,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;CAI3C;AAqID;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAChB,WAAW,EAAE,SAAS,UAAU,EAAE;gBAAlC,WAAW,EAAE,SAAS,UAAU,EAAE;CAW/D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { bootDiagnostic, partitionManifests, checkLocaleAndTranslates, } from "@aotter/mantle-spec";
|
|
2
|
-
import { mcpToolNameSegment } from "../../domain/service/McpToolNaming.js";
|
|
2
|
+
import { mcpToolNameSegment, RESERVED_MCP_GENERIC_TOOL_NAMES, RESERVED_MCP_TOOL_PREFIXES, } from "../../domain/service/McpToolNaming.js";
|
|
3
3
|
export class ValidateBootUseCase {
|
|
4
4
|
execute(request) {
|
|
5
5
|
const partitioned = partitionManifests([...request.manifests]);
|
|
@@ -73,7 +73,7 @@ export class ValidateBootUseCase {
|
|
|
73
73
|
// emission lowercases + kebab→snake the Schema name; two
|
|
74
74
|
// Schemas that mangle to the same suffix would silently
|
|
75
75
|
// overwrite each other in `tools/list`.
|
|
76
|
-
diagnostics.push(...checkMcpToolNameCollisions(partitioned.schemas));
|
|
76
|
+
diagnostics.push(...checkMcpToolNameCollisions(partitioned.schemas, partitioned.procedures));
|
|
77
77
|
// 5. Locale + translates cross-Schema invariants.
|
|
78
78
|
diagnostics.push(...checkLocaleAndTranslates({
|
|
79
79
|
schemas: partitioned.schemas,
|
|
@@ -136,31 +136,71 @@ function checkHttpRoutePrefix(triggers) {
|
|
|
136
136
|
}
|
|
137
137
|
return out;
|
|
138
138
|
}
|
|
139
|
-
function checkMcpToolNameCollisions(schemas) {
|
|
139
|
+
function checkMcpToolNameCollisions(schemas, procedures) {
|
|
140
140
|
const seen = new Map();
|
|
141
141
|
const out = [];
|
|
142
142
|
for (const s of schemas) {
|
|
143
143
|
const segment = mcpToolNameSegment(s.metadata.name);
|
|
144
144
|
const prior = seen.get(segment);
|
|
145
|
-
if (prior && prior
|
|
145
|
+
if (prior && !sameOwner(prior, "Schema", s.metadata.name)) {
|
|
146
146
|
out.push(bootDiagnostic({
|
|
147
147
|
code: "MCP_TOOL_NAME_COLLISION",
|
|
148
148
|
severity: "error",
|
|
149
149
|
path: `manifest:Schema/${s.metadata.name}#/metadata/name`,
|
|
150
150
|
value: segment,
|
|
151
|
-
expected: `Schema name unique after kebab→snake mangling (collides with '${prior}')`,
|
|
151
|
+
expected: `Schema name unique after kebab→snake mangling (collides with '${prior.name}')`,
|
|
152
152
|
message: `Schema '${s.metadata.name}' mangles to MCP tool suffix '${segment}', ` +
|
|
153
|
-
`which already comes from Schema '${prior}'. Rename one of the Schemas ` +
|
|
154
|
-
`(e.g. avoid mixing '${prior}' and '${s.metadata.name}') so per-collection ` +
|
|
153
|
+
`which already comes from Schema '${prior.name}'. Rename one of the Schemas ` +
|
|
154
|
+
`(e.g. avoid mixing '${prior.name}' and '${s.metadata.name}') so per-collection ` +
|
|
155
155
|
`MCP tool emission stays unambiguous.`,
|
|
156
156
|
}));
|
|
157
157
|
}
|
|
158
158
|
else if (!prior) {
|
|
159
|
-
seen.set(segment, s.metadata.name);
|
|
159
|
+
seen.set(segment, { kind: "Schema", name: s.metadata.name });
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
+
// Procedure tool names (#281) share the catalog namespace. Reject
|
|
163
|
+
// anything that collides with a generic tool, a reserved
|
|
164
|
+
// create_draft_/update_draft_/query_view_ prefix, a schema-mangled
|
|
165
|
+
// segment, or another procedure. We don't gate by whether the
|
|
166
|
+
// Procedure has an `mcp` Trigger today — names must stay portable
|
|
167
|
+
// so an adopter can add the Trigger later without renaming.
|
|
168
|
+
for (const p of procedures) {
|
|
169
|
+
const name = mcpToolNameSegment(p.metadata.name);
|
|
170
|
+
let conflict = null;
|
|
171
|
+
if (RESERVED_MCP_GENERIC_TOOL_NAMES.has(name)) {
|
|
172
|
+
conflict = `built-in MCP tool '${name}'`;
|
|
173
|
+
}
|
|
174
|
+
else if (RESERVED_MCP_TOOL_PREFIXES.some((pfx) => name.startsWith(pfx))) {
|
|
175
|
+
const prefix = RESERVED_MCP_TOOL_PREFIXES.find((pfx) => name.startsWith(pfx));
|
|
176
|
+
conflict = `reserved tool-name prefix '${prefix}' (used by Schema / View tools)`;
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
const prior = seen.get(name);
|
|
180
|
+
if (prior && !sameOwner(prior, "Procedure", p.metadata.name)) {
|
|
181
|
+
conflict = `${prior.kind} '${prior.name}'`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (conflict) {
|
|
185
|
+
out.push(bootDiagnostic({
|
|
186
|
+
code: "MCP_TOOL_NAME_COLLISION",
|
|
187
|
+
severity: "error",
|
|
188
|
+
path: `manifest:Procedure/${p.metadata.name}#/metadata/name`,
|
|
189
|
+
value: name,
|
|
190
|
+
expected: `Procedure name unique after kebab→snake mangling (collides with ${conflict})`,
|
|
191
|
+
message: `Procedure '${p.metadata.name}' mangles to MCP tool name '${name}', ` +
|
|
192
|
+
`which collides with ${conflict}. Rename the Procedure so its MCP tool ` +
|
|
193
|
+
`name does not shadow the existing tool surface.`,
|
|
194
|
+
}));
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
seen.set(name, { kind: "Procedure", name: p.metadata.name });
|
|
198
|
+
}
|
|
162
199
|
return out;
|
|
163
200
|
}
|
|
201
|
+
function sameOwner(prior, candidateKind, candidateName) {
|
|
202
|
+
return prior.kind === candidateKind && prior.name === candidateName;
|
|
203
|
+
}
|
|
164
204
|
/**
|
|
165
205
|
* Single Error wrapping every boot diagnostic. The runtime throws this
|
|
166
206
|
* during `bootInit`; adapters surface it in their init logs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidateBootUseCase.js","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GAMzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,
|
|
1
|
+
{"version":3,"file":"ValidateBootUseCase.js","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,4 +45,15 @@ export interface CommitMediaUploadRequest {
|
|
|
45
45
|
readonly alt?: string;
|
|
46
46
|
readonly caption?: string;
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Server-side variant byte write — the sandboxed-agent alternative
|
|
50
|
+
* to the presigned-PUT path (#283). One call per variant; commit
|
|
51
|
+
* still finalises the bundle.
|
|
52
|
+
*/
|
|
53
|
+
export interface UploadMediaVariantRequest {
|
|
54
|
+
readonly uploadGroupId: string;
|
|
55
|
+
readonly role: MediaVariantRole;
|
|
56
|
+
readonly mimeType: string;
|
|
57
|
+
readonly bytes: Uint8Array;
|
|
58
|
+
}
|
|
48
59
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/media/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;sEACkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC;yDACqD;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,kCAAkC,CAAC,CAAC;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/media/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;sEACkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC;yDACqD;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,kCAAkC,CAAC,CAAC;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateMediaUploadUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/media/CreateMediaUploadUseCase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateMediaUploadUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/media/CreateMediaUploadUseCase.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,uBAAuB,CAAC;AAqB/B;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBALJ,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,oBAAoB,EAChC,IAAI,GAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAwB;IAGvE,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA0EpF,OAAO,CAAC,yBAAyB;IA2EjC;;;;;;;;;wCASoC;IACpC,OAAO,CAAC,0BAA0B;IA4BlC,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,wBAAwB;CAmBjC"}
|