stitchkit 0.37.0 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/browser/client-url.d.ts +13 -0
- package/dist/browser/client-url.d.ts.map +1 -0
- package/dist/browser/client.d.ts +41 -5
- package/dist/browser/client.d.ts.map +1 -1
- package/dist/browser/http.d.ts +10 -7
- package/dist/browser/http.d.ts.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/contract/define.d.ts +102 -4
- package/dist/contract/define.d.ts.map +1 -1
- package/dist/contract/index.d.ts +1 -1
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +1 -1
- package/dist/{index-czmqks7r.js → index-6jypn22c.js} +1 -1
- package/dist/{index-4pvtq6h2.js → index-7rbzbnnf.js} +104 -30
- package/dist/{index-xq45akyd.js → index-92gs1m5b.js} +1 -1
- package/dist/{index-e497hxcy.js → index-fyfk537k.js} +50 -5
- package/dist/{index-g3jrbd0z.js → index-xax049k6.js} +101 -5
- package/dist/{index-s6yhmg1k.js → index-y5scd1cr.js} +3 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +243 -111
- package/dist/internal/route-pattern.d.ts +7 -0
- package/dist/internal/route-pattern.d.ts.map +1 -0
- package/dist/node.js +3 -3
- package/dist/observability/index.js +1 -1
- package/dist/react/entity-cache.d.ts +56 -42
- package/dist/react/entity-cache.d.ts.map +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +98 -46
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/implement.d.ts.map +1 -1
- package/dist/server/index.js +22 -7
- package/dist/server/middleware/cors.d.ts.map +1 -1
- package/dist/server/openapi.d.ts.map +1 -1
- package/dist/server/response-metadata.d.ts +9 -0
- package/dist/server/response-metadata.d.ts.map +1 -0
- package/dist/server/router.d.ts +2 -0
- package/dist/server/router.d.ts.map +1 -1
- package/dist/server/socket-io.d.ts +1 -1
- package/dist/server/types.d.ts +14 -8
- package/dist/server/types.d.ts.map +1 -1
- package/dist/tools/agent.d.ts +3 -0
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/invoker.d.ts +33 -0
- package/dist/tools/invoker.d.ts.map +1 -0
- package/dist/tools/mcp.d.ts.map +1 -1
- package/dist/tools/mount.d.ts.map +1 -1
- package/dist/tools/names.d.ts +1 -1
- package/dist/tools/names.d.ts.map +1 -1
- package/dist/tools/native-mcp.d.ts +6 -33
- package/dist/tools/native-mcp.d.ts.map +1 -1
- package/dist/tools/remote.d.ts.map +1 -1
- package/dist/tools/runtime-tool.d.ts +58 -0
- package/dist/tools/runtime-tool.d.ts.map +1 -0
- package/dist/tools.d.ts +3 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +295 -182
- package/llms-full.txt +562 -79
- package/package.json +1 -1
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,yBAAyB,EACzB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,yBAAyB,EACzB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC"}
|
package/dist/react.js
CHANGED
|
@@ -51,59 +51,117 @@ function createCursorQuery(config) {
|
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
// src/react/entity-cache.ts
|
|
54
|
-
function
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
function resolveKey(key, event) {
|
|
55
|
+
return typeof key === "function" ? key(event) : key;
|
|
56
|
+
}
|
|
57
|
+
function ordered(items, compare) {
|
|
58
|
+
return compare ? [...items].sort(compare) : items;
|
|
59
|
+
}
|
|
60
|
+
function insertAt(items, item, at, compare) {
|
|
61
|
+
return ordered(at === "start" ? [item, ...items] : [...items, item], compare);
|
|
62
|
+
}
|
|
63
|
+
function mutateItemArrays(arrays, mutation, config, getId) {
|
|
64
|
+
const present = arrays.some((items) => items.some((item) => getId(item) === mutation.id));
|
|
65
|
+
if (mutation.type === "created" && present)
|
|
66
|
+
return arrays;
|
|
67
|
+
if (mutation.type === "updated" && !present && config.updateMissing === "skip") {
|
|
68
|
+
return arrays;
|
|
69
|
+
}
|
|
70
|
+
if (mutation.type !== "deleted" && (!present || mutation.type === "created")) {
|
|
71
|
+
if (arrays.length === 0)
|
|
72
|
+
return arrays;
|
|
73
|
+
const target = config.createAt === "start" ? 0 : arrays.length - 1;
|
|
74
|
+
return arrays.map((items, index) => index === target ? insertAt(items, mutation.item, config.createAt, config.compare) : items);
|
|
59
75
|
}
|
|
60
|
-
|
|
76
|
+
if (mutation.type === "deleted") {
|
|
77
|
+
return arrays.map((items) => items.filter((item) => getId(item) !== mutation.id));
|
|
78
|
+
}
|
|
79
|
+
return arrays.map((items) => ordered(items.map((item) => getId(item) === mutation.id ? mutation.item : item), config.compare));
|
|
80
|
+
}
|
|
81
|
+
function firstArray(arrays) {
|
|
82
|
+
const first = arrays[0];
|
|
83
|
+
if (!first)
|
|
84
|
+
throw new Error("Entity cache list adapter lost its only item array");
|
|
85
|
+
return first;
|
|
61
86
|
}
|
|
62
|
-
function
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
87
|
+
function unsupportedListShape(shape) {
|
|
88
|
+
throw new Error(`Unsupported entity cache list shape: ${String(shape)}`);
|
|
89
|
+
}
|
|
90
|
+
function patchList(context, key, config, mutation, getId) {
|
|
91
|
+
const mutate = (arrays) => mutateItemArrays(arrays, mutation, config, getId);
|
|
92
|
+
switch (config.shape) {
|
|
93
|
+
case "array":
|
|
94
|
+
context.queryClient.setQueriesData({ queryKey: key }, (old) => Array.isArray(old) ? firstArray(mutate([old])) : old);
|
|
95
|
+
return;
|
|
96
|
+
case "paginated":
|
|
97
|
+
context.queryClient.setQueriesData({ queryKey: key }, (old) => isRecord(old) && Array.isArray(old.items) ? { ...old, items: firstArray(mutate([old.items])) } : old);
|
|
98
|
+
return;
|
|
99
|
+
case "infinite-array":
|
|
100
|
+
context.queryClient.setQueriesData({ queryKey: key }, (old) => isRecord(old) && Array.isArray(old.pages) && old.pages.every((page) => Array.isArray(page)) ? { ...old, pages: mutate(old.pages) } : old);
|
|
101
|
+
return;
|
|
102
|
+
case "infinite-paginated":
|
|
103
|
+
context.queryClient.setQueriesData({ queryKey: key }, (old) => {
|
|
104
|
+
if (!isRecord(old) || !Array.isArray(old.pages) || !old.pages.every((page) => isRecord(page) && Array.isArray(page.items))) {
|
|
105
|
+
return old;
|
|
106
|
+
}
|
|
107
|
+
const items = mutate(old.pages.map((page) => page.items));
|
|
108
|
+
return {
|
|
109
|
+
...old,
|
|
110
|
+
pages: old.pages.map((page, index) => {
|
|
111
|
+
const pageItems = items[index];
|
|
112
|
+
if (!pageItems) {
|
|
113
|
+
throw new Error("Entity cache list adapter changed the page count");
|
|
114
|
+
}
|
|
115
|
+
return { ...page, items: pageItems };
|
|
116
|
+
})
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
return;
|
|
120
|
+
default:
|
|
121
|
+
unsupportedListShape(config.shape);
|
|
70
122
|
}
|
|
71
|
-
return { ...data, items: [entity, ...data.items] };
|
|
72
123
|
}
|
|
73
124
|
function createEntityCacheHandlers(config) {
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
125
|
+
const deletedId = config.getDeletedId ?? ((payload) => idOf(payload, config.getId));
|
|
126
|
+
const apply = (event, mutation, context) => {
|
|
127
|
+
const listKey = resolveKey(config.list.key, event);
|
|
128
|
+
const detailKey = config.detailKey ? resolveKey(config.detailKey, event) : undefined;
|
|
129
|
+
if (context.isFresh(detailKey ?? listKey))
|
|
130
|
+
return false;
|
|
131
|
+
patchList(context, listKey, config.list, mutation, config.getListItemId);
|
|
132
|
+
return true;
|
|
79
133
|
};
|
|
80
134
|
return {
|
|
81
|
-
created(entity,
|
|
82
|
-
const id = getId(entity);
|
|
83
|
-
|
|
135
|
+
created(entity, context) {
|
|
136
|
+
const id = config.getId(entity);
|
|
137
|
+
const event = { type: "created", entity, id };
|
|
138
|
+
if (!apply(event, { type: "created", id, item: config.toListItem(entity) }, context)) {
|
|
84
139
|
return;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
if (detailKey)
|
|
90
|
-
ctx.queryClient.setQueryData(detailKey(id), entity);
|
|
140
|
+
}
|
|
141
|
+
if (config.detailKey) {
|
|
142
|
+
context.queryClient.setQueryData(resolveKey(config.detailKey, event), entity);
|
|
143
|
+
}
|
|
91
144
|
},
|
|
92
|
-
updated(entity,
|
|
93
|
-
const id = getId(entity);
|
|
94
|
-
|
|
145
|
+
updated(entity, context) {
|
|
146
|
+
const id = config.getId(entity);
|
|
147
|
+
const event = { type: "updated", entity, id };
|
|
148
|
+
if (!apply(event, { type: "updated", id, item: config.toListItem(entity) }, context)) {
|
|
95
149
|
return;
|
|
96
|
-
|
|
97
|
-
if (detailKey)
|
|
98
|
-
|
|
150
|
+
}
|
|
151
|
+
if (config.detailKey) {
|
|
152
|
+
context.queryClient.setQueryData(resolveKey(config.detailKey, event), entity);
|
|
153
|
+
}
|
|
99
154
|
},
|
|
100
|
-
deleted(payload,
|
|
155
|
+
deleted(payload, context) {
|
|
101
156
|
const id = deletedId(payload);
|
|
102
|
-
|
|
157
|
+
const event = { type: "deleted", payload, id };
|
|
158
|
+
if (!apply(event, { type: "deleted", id }, context))
|
|
103
159
|
return;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
160
|
+
if (config.detailKey) {
|
|
161
|
+
context.queryClient.removeQueries({
|
|
162
|
+
queryKey: resolveKey(config.detailKey, event)
|
|
163
|
+
});
|
|
164
|
+
}
|
|
107
165
|
}
|
|
108
166
|
};
|
|
109
167
|
}
|
|
@@ -113,12 +171,6 @@ function hasStringId(value) {
|
|
|
113
171
|
function idOf(payload, getId) {
|
|
114
172
|
return hasStringId(payload) ? payload.id : getId(payload);
|
|
115
173
|
}
|
|
116
|
-
function hasId(data, getId, id) {
|
|
117
|
-
if (!data)
|
|
118
|
-
return false;
|
|
119
|
-
const pages = "pages" in data ? data.pages : [data];
|
|
120
|
-
return pages.some((page) => page.items.some((item) => getId(item) === id));
|
|
121
|
-
}
|
|
122
174
|
export {
|
|
123
175
|
createEntityCacheHandlers,
|
|
124
176
|
createCursorQuery,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"AA8CA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAA2B,MAAM,SAAS,CAAC;AAEpF,wBAAgB,aAAa,CAAC,OAAO,GAAG,OAAO,EAC7C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAC7B,YAAY,CAAC,OAAO,CAAC,CAmdvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implement.d.ts","sourceRoot":"","sources":["../../src/server/implement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,KAAK,EAAE,QAAQ,EAAa,UAAU,EAAE,MAAM,SAAS,CAAC;AAK/D;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACrC,IAAI,SAAS,cAAc,GAAG,cAAc,EAC5C,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"implement.d.ts","sourceRoot":"","sources":["../../src/server/implement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,KAAK,EAAE,QAAQ,EAAa,UAAU,EAAE,MAAM,SAAS,CAAC;AAK/D;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACrC,IAAI,SAAS,cAAc,GAAG,cAAc,EAC5C,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,CA+D3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,cAAc,MACjD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,YACjC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,YACtB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAC1B,UAAU,CACd"}
|
package/dist/server/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
socketIoLane,
|
|
10
10
|
staticRoute,
|
|
11
11
|
webSocketLane
|
|
12
|
-
} from "../index-
|
|
12
|
+
} from "../index-7rbzbnnf.js";
|
|
13
13
|
import {
|
|
14
14
|
createAuthHook,
|
|
15
15
|
createBearerResolver,
|
|
@@ -22,13 +22,13 @@ import {
|
|
|
22
22
|
signJwt,
|
|
23
23
|
verifyJwt,
|
|
24
24
|
verifyPkce
|
|
25
|
-
} from "../index-
|
|
25
|
+
} from "../index-92gs1m5b.js";
|
|
26
26
|
import {
|
|
27
27
|
DEFAULT_CORS_ALLOW_HEADERS,
|
|
28
28
|
DEFAULT_CORS_EXPOSE_HEADERS,
|
|
29
29
|
corsHeaders,
|
|
30
30
|
corsPreflightResponse
|
|
31
|
-
} from "../index-
|
|
31
|
+
} from "../index-6jypn22c.js";
|
|
32
32
|
import {
|
|
33
33
|
jsonSchemaFields,
|
|
34
34
|
toJsonSchema
|
|
@@ -53,12 +53,13 @@ import {
|
|
|
53
53
|
isStitchErrorCode,
|
|
54
54
|
normalizeError,
|
|
55
55
|
notFound,
|
|
56
|
+
parseTrailingWildcard,
|
|
56
57
|
rateLimited,
|
|
57
58
|
resolveSocketIp,
|
|
58
59
|
resolveTraceId,
|
|
59
60
|
unauthorized,
|
|
60
61
|
zodIssues
|
|
61
|
-
} from "../index-
|
|
62
|
+
} from "../index-fyfk537k.js";
|
|
62
63
|
// src/server/bun.ts
|
|
63
64
|
function createServer(config) {
|
|
64
65
|
const { routes, websocket, development, bun: bunExtra, port = 3000, hostname } = config;
|
|
@@ -422,7 +423,13 @@ function generateOpenApiDocument(config) {
|
|
|
422
423
|
const servicePath = joinPath("/", service.prefix, method.path === "/" ? "" : method.path);
|
|
423
424
|
const fullPath = toOpenApiPath(pathPrefix ? joinPath(pathPrefix, servicePath) : servicePath);
|
|
424
425
|
const parameters = [];
|
|
426
|
+
const trailingWildcard = parseTrailingWildcard(fullPath);
|
|
427
|
+
let wildcardSchema = { type: "string" };
|
|
425
428
|
for (const field of jsonSchemaFields(safeJson(method.paramsSchema, "input"))) {
|
|
429
|
+
if (trailingWildcard && field.name === trailingWildcard.name) {
|
|
430
|
+
wildcardSchema = field.schema;
|
|
431
|
+
continue;
|
|
432
|
+
}
|
|
426
433
|
parameters.push({
|
|
427
434
|
name: field.name,
|
|
428
435
|
in: "path",
|
|
@@ -445,7 +452,7 @@ function generateOpenApiDocument(config) {
|
|
|
445
452
|
}
|
|
446
453
|
const responses = { ...errorResponses(method.scope) };
|
|
447
454
|
if (method.rawResponse) {
|
|
448
|
-
responses["200"] = {
|
|
455
|
+
responses["200"] = method.method === "HEAD" ? { description: "Headers only" } : {
|
|
449
456
|
description: "Success",
|
|
450
457
|
content: {
|
|
451
458
|
[method.contentType ?? "application/octet-stream"]: {
|
|
@@ -454,12 +461,12 @@ function generateOpenApiDocument(config) {
|
|
|
454
461
|
}
|
|
455
462
|
};
|
|
456
463
|
} else if (method.outputSchema) {
|
|
457
|
-
responses[
|
|
464
|
+
responses[String(method.responseMeta?.status ?? 200)] = {
|
|
458
465
|
description: "Success",
|
|
459
466
|
content: { "application/json": { schema: safeJson(method.outputSchema, "output") } }
|
|
460
467
|
};
|
|
461
468
|
} else {
|
|
462
|
-
responses[
|
|
469
|
+
responses[String(method.responseMeta?.status ?? 204)] = { description: "No content" };
|
|
463
470
|
}
|
|
464
471
|
const operation = {
|
|
465
472
|
summary: method.desc,
|
|
@@ -467,6 +474,14 @@ function generateOpenApiDocument(config) {
|
|
|
467
474
|
...parameters.length > 0 && { parameters },
|
|
468
475
|
responses
|
|
469
476
|
};
|
|
477
|
+
if (trailingWildcard) {
|
|
478
|
+
operation["x-stitchkit-trailing-wildcard"] = {
|
|
479
|
+
parameter: trailingWildcard.name,
|
|
480
|
+
required: true,
|
|
481
|
+
schema: wildcardSchema,
|
|
482
|
+
description: `Matches zero or more trailing path segments and exposes their '/'-joined remainder as params.${trailingWildcard.name}.`
|
|
483
|
+
};
|
|
484
|
+
}
|
|
470
485
|
if (!inputInQuery && (method.inputSchema || method.multipart)) {
|
|
471
486
|
if (method.multipart) {
|
|
472
487
|
const inputJson = safeJson(method.inputSchema, "input");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/cors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,qEAC6B,CAAC;AAErE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B,yGACgE,CAAC;AAEzG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAOzD;AAoBD,wBAAgB,WAAW,CACzB,MAAM,EAAE,UAAU,EAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/cors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,qEAC6B,CAAC;AAErE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B,yGACgE,CAAC;AAEzG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAOzD;AAoBD,wBAAgB,WAAW,CACzB,MAAM,EAAE,UAAU,EAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BxB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,CAKhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,iFAAiF;IACjF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IAChE,oCAAoC;IACpC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;CAC1D;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AAsED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAuJ9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAM9E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ResponseMetadata } from '../contract';
|
|
2
|
+
/** Create one isolated outbound collector for a response-metadata handler. */
|
|
3
|
+
export declare function createResponseMetadata(): ResponseMetadata;
|
|
4
|
+
/**
|
|
5
|
+
* Merge handler-owned metadata only after the complete data pipeline succeeds.
|
|
6
|
+
* Framework-owned framing, CORS and request identity can never be replaced.
|
|
7
|
+
*/
|
|
8
|
+
export declare function applyResponseMetadata(target: Headers, metadata: ResponseMetadata | undefined, endpointIdentity: string): void;
|
|
9
|
+
//# sourceMappingURL=response-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-metadata.d.ts","sourceRoot":"","sources":["../../src/server/response-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiBpD,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAqBN"}
|
package/dist/server/router.d.ts
CHANGED
|
@@ -58,6 +58,8 @@ export declare function matchRawRoute<TServer>(rawRoutes: RawRoute<TServer>[], h
|
|
|
58
58
|
route: RawRoute<TServer>;
|
|
59
59
|
params: Record<string, string>;
|
|
60
60
|
} | null;
|
|
61
|
+
/** Validate raw route parameter and named-wildcard structure once at startup. */
|
|
62
|
+
export declare function validateRawRoutes<TServer>(rawRoutes: RawRoute<TServer>[] | undefined): void;
|
|
61
63
|
/**
|
|
62
64
|
* Build a `RawRoute` that serves files from `dir` under `prefix`. Basic by
|
|
63
65
|
* design — no Range, no conditional requests, reads the whole file into memory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/E,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,+EAA+E;AAC/E,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAyDD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,CAkCjE;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,UAAU,GAAG,IAAI,CAkBnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAc7E;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAkBvD;AAED,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EACxC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GACzC,aAAa,EAAE,CAyBjB;AAID,wBAAgB,aAAa,CAAC,OAAO,EACnC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CAyBrE;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,CAE3F;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkCjE"}
|
|
@@ -35,7 +35,7 @@ export interface SocketIOServerHandle<TServerEvents extends SocketEventMap, TCli
|
|
|
35
35
|
*/
|
|
36
36
|
websocket: ReturnType<BunEngine['handler']>['websocket'];
|
|
37
37
|
/**
|
|
38
|
-
* `/socket.io
|
|
38
|
+
* `/socket.io/*socketPath` route for `createServer({ rawRoutes })`. Real on Bun; on Node
|
|
39
39
|
* it is unused (sockets attach to the http.Server via `serveNode({ socket })`)
|
|
40
40
|
* and throws if it is ever mounted — so it is safe to spread into `rawRoutes`
|
|
41
41
|
* unconditionally on either runtime.
|
package/dist/server/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ZodType } from 'zod';
|
|
2
|
-
import type { EndpointDef, EndpointToolAnnotations, EndpointUiMeta, HandlerContext, HttpMethod, RuntimeContext, Transport } from '../contract';
|
|
2
|
+
import type { EndpointDef, EndpointResponseMeta, EndpointToolAnnotations, EndpointUiMeta, HandlerContext, HttpMethod, ResponseMetadata, RuntimeContext, Transport } from '../contract';
|
|
3
3
|
import type { LogFormat } from './logger';
|
|
4
4
|
import type { CorsConfig } from './middleware/cors';
|
|
5
5
|
type Prop<T, K extends string> = K extends keyof T ? T[K] : undefined;
|
|
@@ -34,11 +34,17 @@ type RetainedRawBody<E> = E extends {
|
|
|
34
34
|
req: Request;
|
|
35
35
|
rawBody: string;
|
|
36
36
|
} : unknown;
|
|
37
|
+
type RequiredResponseMetadata<E> = E extends {
|
|
38
|
+
responseMeta: EndpointResponseMeta;
|
|
39
|
+
} ? {
|
|
40
|
+
req: Request;
|
|
41
|
+
response: ResponseMetadata;
|
|
42
|
+
} : unknown;
|
|
37
43
|
export type Handlers<C extends Record<string, EndpointDef>, TCtx extends RuntimeContext = HandlerContext> = {
|
|
38
44
|
[K in keyof C]: (ctx: TCtx & {
|
|
39
45
|
params: InferParams<C[K]>;
|
|
40
46
|
input: InferInput<C[K]>;
|
|
41
|
-
} & RequiredRequest<C[K]> & RetainedRawBody<C[K]>) => HandlerReturn<C[K]>;
|
|
47
|
+
} & RequiredRequest<C[K]> & RetainedRawBody<C[K]> & RequiredResponseMetadata<C[K]>) => HandlerReturn<C[K]>;
|
|
42
48
|
};
|
|
43
49
|
/**
|
|
44
50
|
* Stable identity shared by HTTP contract endpoints and pathless native tool
|
|
@@ -100,6 +106,8 @@ export interface MethodDef<TParams = unknown, TInput = unknown, TOutput = unknow
|
|
|
100
106
|
rawResponse?: true;
|
|
101
107
|
/** Retain the decoded JSON request text on `ctx.rawBody`. HTTP-only. */
|
|
102
108
|
rawBody?: true;
|
|
109
|
+
/** Static success metadata for an HTTP-only typed-data endpoint. → ADR 0052. */
|
|
110
|
+
responseMeta?: EndpointResponseMeta;
|
|
103
111
|
/** Documented response media type of a raw-response endpoint — OpenAPI only. */
|
|
104
112
|
contentType?: string;
|
|
105
113
|
handler: (ctx: RuntimeContext) => Promise<TOutput> | TOutput;
|
|
@@ -133,9 +141,8 @@ export interface RouteGroup {
|
|
|
133
141
|
/** Context passed to a `RawRoute` handler alongside the raw `Request`. */
|
|
134
142
|
export interface RawRouteContext<TServer = unknown> {
|
|
135
143
|
/**
|
|
136
|
-
* Matched `:param` path segments. A trailing
|
|
137
|
-
*
|
|
138
|
-
* path.
|
|
144
|
+
* Matched `:param` path segments. A named trailing wildcard such as
|
|
145
|
+
* `/*filePath` adds its remainder under `params.filePath`.
|
|
139
146
|
*/
|
|
140
147
|
params: Record<string, string>;
|
|
141
148
|
/**
|
|
@@ -153,9 +160,8 @@ export interface RawRouteContext<TServer = unknown> {
|
|
|
153
160
|
export interface RawRoute<TServer = unknown> {
|
|
154
161
|
method: HttpMethod | 'ALL';
|
|
155
162
|
/**
|
|
156
|
-
* Exact path, `:param` segments, or a trailing
|
|
157
|
-
*
|
|
158
|
-
* `params.slug === 'x'` and the remainder in `params['*']`.
|
|
163
|
+
* Exact path, `:param` segments, or a named trailing prefix wildcard. For
|
|
164
|
+
* example `/app/:slug/*filePath` exposes `params.slug` and `params.filePath`.
|
|
159
165
|
*/
|
|
160
166
|
path: string;
|
|
161
167
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACtE,KAAK,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AACjF,KAAK,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAC/E,KAAK,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7E;;;;;;GAMG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GACnD,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAC5B,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,OAAO,GAC/B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GACxC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B;;;;;;GAMG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;AACvF,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjD;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CAAC;AAEZ,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACrC,IAAI,SAAS,cAAc,GAAG,cAAc,IAC1C;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,CACd,GAAG,EAAE,IAAI,GAAG;QAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG,eAAe,CAChF,CAAC,CAAC,CAAC,CAAC,CACL,GACD,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACtE,KAAK,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AACjF,KAAK,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAC/E,KAAK,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7E;;;;;;GAMG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GACnD,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAC5B,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,OAAO,GAC/B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GACxC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B;;;;;;GAMG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;AACvF,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjD;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CAAC;AACZ,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,YAAY,EAAE,oBAAoB,CAAA;CAAE,GAC/E;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,GAC5C,OAAO,CAAC;AAEZ,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACrC,IAAI,SAAS,cAAc,GAAG,cAAc,IAC1C;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,CACd,GAAG,EAAE,IAAI,GAAG;QAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG,eAAe,CAChF,CAAC,CAAC,CAAC,CAAC,CACL,GACD,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACrB,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC7B,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,yEAAyE;IACzE,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,SAAS,CAAC,OAAO,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CAC/E,SAAQ,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;8EAC0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,wEAAwE;IACxE,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,gFAAgF;IAChF,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC9D;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,WAAW,CAAC,EAAE,CACZ,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,SAAS,KAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CACR,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,SAAS,KACjB,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,0EAA0E;AAC1E,MAAM,WAAW,eAAe,CAAC,OAAO,GAAG,OAAO;IAChD;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,OAAO,GAAG,OAAO;IACzC,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;IAC3B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,EAAE,CACP,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,UAAU,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,OAAO,GAAG,OAAO,IAAI,CAC5C,GAAG,EAAE,OAAO,EACZ,MAAM,CAAC,EAAE,OAAO,KACb,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,OAAO;IAC9C,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAClC;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACjD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;CACrE"}
|
package/dist/tools/agent.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ToolSet } from 'ai';
|
|
|
2
2
|
import type { ServiceDef } from '../server/types';
|
|
3
3
|
import { type ErrorHintFn, type ToolCallHooks, type ToolLifecycle } from './execute';
|
|
4
4
|
import { type ToolExtend } from './mount';
|
|
5
|
+
import { type RuntimeToolDefinition } from './runtime-tool';
|
|
5
6
|
export interface AgentContext {
|
|
6
7
|
[key: string]: unknown;
|
|
7
8
|
}
|
|
@@ -24,6 +25,8 @@ export interface AgentMountConfig {
|
|
|
24
25
|
flattenUnionInput?: boolean;
|
|
25
26
|
/** Global error hint injected into every failed tool result. */
|
|
26
27
|
errorHint?: ErrorHintFn;
|
|
28
|
+
/** Framework-managed pathless operations mounted beside contract tools. */
|
|
29
|
+
runtimeTools?: readonly RuntimeToolDefinition[];
|
|
27
30
|
}
|
|
28
31
|
export declare function mountAgent(services: ServiceDef | ServiceDef[], config?: AgentMountConfig): ToolSet;
|
|
29
32
|
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/tools/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAGlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAEnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAmD,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/tools/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAGlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAEnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAmD,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,qCAAqC;IACrC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5D,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,EACnC,MAAM,GAAE,gBAAqB,GAC5B,OAAO,CAuGT"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Transport, type TransportSource } from '../contract';
|
|
2
|
+
import type { ServiceDef } from '../server/types';
|
|
3
|
+
import type { ToolCallContext, ToolCallHooks, ToolLifecycle, ToolResult } from './execute';
|
|
4
|
+
import { type ToolExtend } from './mount';
|
|
5
|
+
export type ToolInvokerTransport = Exclude<Transport, 'HTTP'>;
|
|
6
|
+
/** Configuration for a compiled in-process contract-tool dispatcher. */
|
|
7
|
+
export interface ToolInvokerConfig {
|
|
8
|
+
/** Existing exposure policy to honour. Required: there is no bypass-all mode. */
|
|
9
|
+
transport: ToolInvokerTransport;
|
|
10
|
+
/** Actual call source written to handler context and audit. Default: `internal`. */
|
|
11
|
+
source?: TransportSource;
|
|
12
|
+
context?: Omit<ToolCallContext, 'source'>;
|
|
13
|
+
hooks?: ToolCallHooks;
|
|
14
|
+
lifecycle?: ToolLifecycle;
|
|
15
|
+
extend?: ToolExtend;
|
|
16
|
+
/** Compiles the same presentation surface as the chosen mount. */
|
|
17
|
+
flattenUnionInput?: boolean;
|
|
18
|
+
/** Coerce JSON-stringified arrays/objects in tool arguments. Default: true. */
|
|
19
|
+
coerceJsonArgs?: boolean;
|
|
20
|
+
/** Report output keys removed by contract validation. */
|
|
21
|
+
onOutputStrip?: (toolName: string, paths: string[]) => void;
|
|
22
|
+
}
|
|
23
|
+
/** A name-indexed dispatcher compiled once and executed by the shared tool runner. */
|
|
24
|
+
export interface ToolInvoker {
|
|
25
|
+
readonly names: readonly string[];
|
|
26
|
+
invoke(name: string, args: Record<string, unknown>): Promise<ToolResult>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Compile contract tools into an in-process invoker without mounting an SDK.
|
|
30
|
+
* Every call still runs the canonical validation/lifecycle/hooks/output runner.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createToolInvoker(services: ServiceDef | readonly ServiceDef[], config: ToolInvokerConfig): ToolInvoker;
|
|
33
|
+
//# sourceMappingURL=invoker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoker.d.ts","sourceRoot":"","sources":["../../src/tools/invoker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC3F,OAAO,EAAsD,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG9F,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9D,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,SAAS,EAAE,oBAAoB,CAAC;IAChC,oFAAoF;IACpF,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7D;AAED,sFAAsF;AACtF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,UAAU,GAAG,SAAS,UAAU,EAAE,EAC5C,MAAM,EAAE,iBAAiB,GACxB,WAAW,CAqCb"}
|
package/dist/tools/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/tools/mount.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAKxD;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU,CACzB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAElE,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,qEAAqE;IACrE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3F,uEAAuE;IACvE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;CAC9D;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,MAAM,EAAE,aAAa,CAAC;IACtB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC;IAC1B,oFAAoF;IACpF,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC;CACvB;AAwBD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,kBAAuB,GAC9B,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/tools/mount.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/names.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export declare function toToolName(serviceName: string, methodName: string): str
|
|
|
21
21
|
* The surface a duplicate name is reported against — only the label differs
|
|
22
22
|
* between the three mounts, the guarantee does not.
|
|
23
23
|
*/
|
|
24
|
-
export type ToolNameSurface = 'MCP tool name' | 'agent tool name' | 'CLI command';
|
|
24
|
+
export type ToolNameSurface = 'MCP tool name' | 'agent tool name' | 'CLI command' | 'in-process tool name';
|
|
25
25
|
/**
|
|
26
26
|
* Throw when a tool name is already taken on this mount.
|
|
27
27
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/tools/names.ts"],"names":[],"mappings":"AA6DA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CASnF;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/tools/names.ts"],"names":[],"mappings":"AA6DA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CASnF;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,sBAAsB,CAAC;AAE3B;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,eAAe,GACvB,IAAI,CAIN"}
|
|
@@ -1,39 +1,13 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import type { EndpointToolAnnotations, EndpointUiMeta, HttpMethod, RuntimeContext } from '../contract';
|
|
5
4
|
import { executeToolMethod, type ToolCallHooks, type ToolLifecycle } from './execute';
|
|
6
5
|
import type { PreparedMcpSurface } from './mcp';
|
|
7
|
-
import type
|
|
8
|
-
export interface NativeMcpOperationIdentity {
|
|
9
|
-
serviceName: string;
|
|
10
|
-
action: string;
|
|
11
|
-
scope?: string;
|
|
12
|
-
/** Semantic operation verb for lifecycle and `RequestEvent.httpMethod`. */
|
|
13
|
-
method: HttpMethod;
|
|
14
|
-
/** Opaque project metadata exposed to lifecycle and tool hooks. */
|
|
15
|
-
meta?: Record<string, unknown>;
|
|
16
|
-
}
|
|
17
|
-
export type NativeMcpHandlerContext<TInput extends z.ZodObject> = RuntimeContext & {
|
|
18
|
-
params: undefined;
|
|
19
|
-
input: z.output<TInput>;
|
|
20
|
-
};
|
|
21
|
-
export type NativeMcpResult<TOutput extends z.ZodObject | undefined = undefined> = TOutput extends z.ZodObject ? Omit<CallToolResult, 'structuredContent'> & {
|
|
22
|
-
structuredContent: z.output<TOutput>;
|
|
23
|
-
} : CallToolResult;
|
|
24
|
-
export interface NativeMcpToolDefinition<TInput extends z.ZodObject, TOutput extends z.ZodObject | undefined = undefined> {
|
|
25
|
-
name: string;
|
|
26
|
-
description: string;
|
|
27
|
-
identity: NativeMcpOperationIdentity;
|
|
28
|
-
input: TInput;
|
|
29
|
-
output?: TOutput;
|
|
30
|
-
annotations?: EndpointToolAnnotations;
|
|
31
|
-
ui?: EndpointUiMeta;
|
|
32
|
-
handler: (context: NativeMcpHandlerContext<TInput>) => NativeMcpResult<TOutput> | Promise<NativeMcpResult<TOutput>>;
|
|
33
|
-
}
|
|
6
|
+
import { type RuntimeToolDefinitionWithOutput, type RuntimeToolDefinitionWithoutOutput, runtimeToolMountable } from './runtime-tool';
|
|
34
7
|
export interface NativeMcpRegistrar {
|
|
35
8
|
/** Register through stitchkit validation, lifecycle, context and tool hooks. */
|
|
36
|
-
registerTool<TInput extends z.ZodObject, TOutput extends z.
|
|
9
|
+
registerTool<TInput extends z.ZodObject, TOutput extends z.ZodType>(definition: RuntimeToolDefinitionWithOutput<TInput, TOutput>): void;
|
|
10
|
+
registerTool<TInput extends z.ZodObject>(definition: RuntimeToolDefinitionWithoutOutput<TInput>): void;
|
|
37
11
|
/**
|
|
38
12
|
* Explicit SDK escape hatch. Registrations made here do not run stitchkit
|
|
39
13
|
* validation, lifecycle, per-call context or tool hooks.
|
|
@@ -46,10 +20,9 @@ interface NativeMcpRuntimeConfig {
|
|
|
46
20
|
lifecycle?: ToolLifecycle;
|
|
47
21
|
coerceJsonArgs?: boolean;
|
|
48
22
|
onOutputStrip?: (toolName: string, paths: string[]) => void;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}>, toolName: string) => CallToolResult;
|
|
23
|
+
takenNames: Set<string>;
|
|
24
|
+
prepare: (tool: ReturnType<typeof runtimeToolMountable>) => PreparedMcpSurface;
|
|
25
|
+
formatResult: (result: Awaited<ReturnType<typeof executeToolMethod>>, mode: PreparedMcpSurface[number]['outputMode'], toolName: string) => CallToolResult;
|
|
53
26
|
}
|
|
54
27
|
/** Build the protected registrar for one fresh MCP server/runtime. */
|
|
55
28
|
export declare function createNativeMcpRegistrar(server: McpServer, config: NativeMcpRuntimeConfig): NativeMcpRegistrar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/native-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"native-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/native-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,kCAAkC,EACvC,oBAAoB,EAErB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,SAAS,CAAC,CAAC,OAAO,EAChE,UAAU,EAAE,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3D,IAAI,CAAC;IACR,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EACrC,UAAU,EAAE,kCAAkC,CAAC,MAAM,CAAC,GACrD,IAAI,CAAC;IACR;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAED,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5D,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,kBAAkB,CAAC;IAC/E,YAAY,EAAE,CACZ,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EACrD,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAC9C,QAAQ,EAAE,MAAM,KACb,cAAc,CAAC;CACrB;AAMD,sEAAsE;AACtE,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC7B,kBAAkB,CAwFpB"}
|