stitchkit 0.37.0 → 0.38.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/dist/browser/client-url.d.ts +11 -0
- package/dist/browser/client-url.d.ts.map +1 -0
- package/dist/browser/client.d.ts +16 -4
- package/dist/browser/client.d.ts.map +1 -1
- package/dist/browser/http.d.ts +5 -1
- package/dist/browser/http.d.ts.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/contract/define.d.ts +75 -1
- 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-xq45akyd.js → index-bgdd42pt.js} +1 -1
- package/dist/{index-s6yhmg1k.js → index-n5t4gnfz.js} +3 -1
- package/dist/{index-4pvtq6h2.js → index-p3kwf73n.js} +84 -23
- package/dist/{index-g3jrbd0z.js → index-x4wbc8sz.js} +28 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +147 -114
- package/dist/node.js +2 -2
- package/dist/observability/index.js +1 -1
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/implement.d.ts.map +1 -1
- package/dist/server/index.js +19 -5
- 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.map +1 -1
- package/dist/server/types.d.ts +10 -2
- package/dist/server/types.d.ts.map +1 -1
- package/dist/tools/mount.d.ts.map +1 -1
- package/dist/tools/remote.d.ts.map +1 -1
- package/dist/tools.js +128 -114
- package/llms-full.txt +165 -10
- package/package.json +1 -1
- /package/dist/{index-e497hxcy.js → index-mzx0an0s.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -16,18 +16,13 @@ import {
|
|
|
16
16
|
paginatedSchema,
|
|
17
17
|
rateLimited,
|
|
18
18
|
unauthorized
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-x4wbc8sz.js";
|
|
20
20
|
import {
|
|
21
21
|
isRecord,
|
|
22
22
|
mapObject,
|
|
23
23
|
typedEntries
|
|
24
24
|
} from "./index-809wc1tt.js";
|
|
25
25
|
|
|
26
|
-
// src/internal/http-input.ts
|
|
27
|
-
function inputIsQuery(method) {
|
|
28
|
-
return method === "GET" || method === "DELETE";
|
|
29
|
-
}
|
|
30
|
-
|
|
31
26
|
// src/browser/client-multipart.ts
|
|
32
27
|
function isFileDescriptor(value) {
|
|
33
28
|
return typeof value === "object" && value !== null && !(value instanceof Blob) && "uri" in value && typeof value.uri === "string" && "name" in value && typeof value.name === "string" && "type" in value && typeof value.type === "string";
|
|
@@ -47,6 +42,122 @@ function appendFormFields(formData, values, skipKeys) {
|
|
|
47
42
|
}
|
|
48
43
|
}
|
|
49
44
|
|
|
45
|
+
// src/internal/http-input.ts
|
|
46
|
+
function inputIsQuery(method) {
|
|
47
|
+
return method === "GET" || method === "DELETE";
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// src/browser/client-url.ts
|
|
51
|
+
function isParamArray(value) {
|
|
52
|
+
return Array.isArray(value) && value.every((item) => typeof item === "string" || typeof item === "number");
|
|
53
|
+
}
|
|
54
|
+
function collectQueryParams(args, endpoint) {
|
|
55
|
+
const params = {};
|
|
56
|
+
let hasParams = false;
|
|
57
|
+
for (const [key, value] of Object.entries(args)) {
|
|
58
|
+
if (value === undefined || value === null)
|
|
59
|
+
continue;
|
|
60
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || isParamArray(value)) {
|
|
61
|
+
params[key] = value;
|
|
62
|
+
hasParams = true;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
const what = Array.isArray(value) ? "an array with non-primitive items" : typeof value === "object" ? "a nested object" : `a ${typeof value}`;
|
|
66
|
+
throw new Error(`${endpoint.method} ${endpoint.path}: input field "${key}" is ${what} — it cannot ` + "travel as a query parameter. GET / DELETE input must be flat (string / number / " + "boolean, or an array of string / number); flatten the field or move the " + "operation to a body verb (POST).");
|
|
67
|
+
}
|
|
68
|
+
return hasParams ? params : undefined;
|
|
69
|
+
}
|
|
70
|
+
function hasStringKeys(args, keys) {
|
|
71
|
+
for (const key of keys) {
|
|
72
|
+
if (typeof args[key] !== "string")
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
function resolvePathPrefix(config, args) {
|
|
78
|
+
if (!config?.pathPrefix)
|
|
79
|
+
return "";
|
|
80
|
+
if (typeof config.pathPrefix === "string")
|
|
81
|
+
return config.pathPrefix;
|
|
82
|
+
const keys = config.stripPrefixKeys ?? [];
|
|
83
|
+
if (!hasStringKeys(args, keys)) {
|
|
84
|
+
const missing = keys.find((key) => typeof args[key] !== "string");
|
|
85
|
+
throw new Error(`Missing path prefix key: ${missing}`);
|
|
86
|
+
}
|
|
87
|
+
return config.pathPrefix(args);
|
|
88
|
+
}
|
|
89
|
+
function extractParamNames(path) {
|
|
90
|
+
const matches = path.match(/:(\w+)/g);
|
|
91
|
+
const names = matches ? matches.map((match) => match.slice(1)) : [];
|
|
92
|
+
if (path.endsWith("/*"))
|
|
93
|
+
names.push("*");
|
|
94
|
+
return names;
|
|
95
|
+
}
|
|
96
|
+
function fillPathParams(path, args) {
|
|
97
|
+
let filled = path.replace(/:(\w+)/g, (_, key) => {
|
|
98
|
+
const value = args[key];
|
|
99
|
+
if (value === undefined || value === null) {
|
|
100
|
+
throw new Error(`Missing path param: ${key}`);
|
|
101
|
+
}
|
|
102
|
+
return encodeURIComponent(String(value));
|
|
103
|
+
});
|
|
104
|
+
if (!filled.endsWith("/*"))
|
|
105
|
+
return filled;
|
|
106
|
+
const wildcard = args["*"];
|
|
107
|
+
if (wildcard === undefined || wildcard === null) {
|
|
108
|
+
throw new Error("Missing path param: *");
|
|
109
|
+
}
|
|
110
|
+
const remainder = String(wildcard).split("/").map((segment) => encodeURIComponent(segment)).join("/");
|
|
111
|
+
filled = `${filled.slice(0, -1)}${remainder}`;
|
|
112
|
+
return filled;
|
|
113
|
+
}
|
|
114
|
+
function stripConsumedArgs(args, path, scopeKeys) {
|
|
115
|
+
const consumed = new Set(scopeKeys);
|
|
116
|
+
for (const name of extractParamNames(path))
|
|
117
|
+
consumed.add(name);
|
|
118
|
+
const remaining = {};
|
|
119
|
+
for (const [key, value] of Object.entries(args)) {
|
|
120
|
+
if (!consumed.has(key) && value !== undefined)
|
|
121
|
+
remaining[key] = value;
|
|
122
|
+
}
|
|
123
|
+
return remaining;
|
|
124
|
+
}
|
|
125
|
+
function appendQuery(relativeUrl, params) {
|
|
126
|
+
if (!params)
|
|
127
|
+
return relativeUrl;
|
|
128
|
+
const search = new URLSearchParams;
|
|
129
|
+
for (const [key, value] of Object.entries(params)) {
|
|
130
|
+
if (Array.isArray(value)) {
|
|
131
|
+
for (const item of value)
|
|
132
|
+
search.append(key, String(item));
|
|
133
|
+
} else {
|
|
134
|
+
search.set(key, String(value));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return search.size > 0 ? `${relativeUrl}?${search}` : relativeUrl;
|
|
138
|
+
}
|
|
139
|
+
function planClientRequest(endpoint, contractPrefix, args, config) {
|
|
140
|
+
let pathPrefix = resolvePathPrefix(config, args);
|
|
141
|
+
if (pathPrefix && !pathPrefix.endsWith("/"))
|
|
142
|
+
pathPrefix += "/";
|
|
143
|
+
if (pathPrefix.startsWith("/"))
|
|
144
|
+
pathPrefix = pathPrefix.slice(1);
|
|
145
|
+
const endpointPath = endpoint.path === "/" ? "" : endpoint.path;
|
|
146
|
+
let relativeUrl = fillPathParams(`${pathPrefix}${contractPrefix}${endpointPath}`, args);
|
|
147
|
+
if (relativeUrl.endsWith("/"))
|
|
148
|
+
relativeUrl = relativeUrl.slice(0, -1);
|
|
149
|
+
const remainingArgs = stripConsumedArgs(args, endpoint.path, config?.stripPrefixKeys ?? []);
|
|
150
|
+
if (inputIsQuery(endpoint.method)) {
|
|
151
|
+
relativeUrl = appendQuery(relativeUrl, collectQueryParams(remainingArgs, endpoint));
|
|
152
|
+
}
|
|
153
|
+
return { relativeUrl, remainingArgs };
|
|
154
|
+
}
|
|
155
|
+
function joinClientBaseUrl(baseUrl, relativeUrl) {
|
|
156
|
+
const base = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
|
|
157
|
+
const path = relativeUrl.startsWith("/") ? relativeUrl : `/${relativeUrl}`;
|
|
158
|
+
return `${base}${path}`;
|
|
159
|
+
}
|
|
160
|
+
|
|
50
161
|
// src/browser/http.ts
|
|
51
162
|
import ky, { isHTTPError } from "ky";
|
|
52
163
|
|
|
@@ -228,6 +339,7 @@ function createHttpClient(config) {
|
|
|
228
339
|
}
|
|
229
340
|
}
|
|
230
341
|
return {
|
|
342
|
+
baseUrl: config.baseUrl,
|
|
231
343
|
get: (url, options) => request("get", url, undefined, options),
|
|
232
344
|
post: (url, data, options) => request("post", url, data, options),
|
|
233
345
|
put: (url, data, options) => request("put", url, data, options),
|
|
@@ -267,25 +379,6 @@ function withOutput(endpoint, result) {
|
|
|
267
379
|
return result;
|
|
268
380
|
return result.then((value) => value === undefined ? undefined : schema.parse(value));
|
|
269
381
|
}
|
|
270
|
-
function isParamArray(value) {
|
|
271
|
-
return Array.isArray(value) && value.every((v) => typeof v === "string" || typeof v === "number");
|
|
272
|
-
}
|
|
273
|
-
function collectQueryParams(args, skipKeys, endpoint) {
|
|
274
|
-
const params = {};
|
|
275
|
-
let hasParams = false;
|
|
276
|
-
for (const [key, value] of Object.entries(args)) {
|
|
277
|
-
if (skipKeys.has(key) || value === undefined || value === null)
|
|
278
|
-
continue;
|
|
279
|
-
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || isParamArray(value)) {
|
|
280
|
-
params[key] = value;
|
|
281
|
-
hasParams = true;
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
const what = Array.isArray(value) ? "an array with non-primitive items" : typeof value === "object" ? "a nested object" : `a ${typeof value}`;
|
|
285
|
-
throw new Error(`${endpoint.method} ${endpoint.path}: input field "${key}" is ${what} — it cannot ` + "travel as a query parameter. GET / DELETE input must be flat (string / number / " + "boolean, or an array of string / number); flatten the field or move the " + "operation to a body verb (POST).");
|
|
286
|
-
}
|
|
287
|
-
return hasParams ? params : undefined;
|
|
288
|
-
}
|
|
289
382
|
function createClient(contract, configOrClient, contractConfig) {
|
|
290
383
|
const client = {};
|
|
291
384
|
const makeMethod = isHttpAdapter(configOrClient) ? (endpoint) => createHttpMethod(endpoint, contract.meta.prefix, configOrClient, contractConfig) : (endpoint) => createFetchMethod(endpoint, contract.meta.prefix, configOrClient, contractConfig);
|
|
@@ -296,8 +389,8 @@ function createClient(contract, configOrClient, contractConfig) {
|
|
|
296
389
|
}
|
|
297
390
|
return client;
|
|
298
391
|
}
|
|
299
|
-
function createClients(contracts,
|
|
300
|
-
return mapObject(contracts, (_key, contract) => createClient(contract,
|
|
392
|
+
function createClients(contracts, configOrClient, contractConfig) {
|
|
393
|
+
return mapObject(contracts, (_key, contract) => createClient(contract, configOrClient, contractConfig));
|
|
301
394
|
}
|
|
302
395
|
function isHttpAdapter(value) {
|
|
303
396
|
return typeof value === "object" && "get" in value && typeof value.get === "function";
|
|
@@ -307,27 +400,9 @@ function setClientMethod(target, key, method) {
|
|
|
307
400
|
}
|
|
308
401
|
function createHttpMethod(endpoint, prefix, client, config) {
|
|
309
402
|
const httpMethod = endpoint.method.toLowerCase();
|
|
310
|
-
const isGet = httpMethod === "get";
|
|
311
|
-
const paramNames = extractParamNames(endpoint.path);
|
|
312
|
-
const prefixKeys = new Set([...config?.stripPrefixKeys ?? [], ...paramNames]);
|
|
313
403
|
return (...args) => {
|
|
314
404
|
const firstArg = args[0] ?? {};
|
|
315
|
-
|
|
316
|
-
if (config?.pathPrefix) {
|
|
317
|
-
pathPrefixStr = typeof config.pathPrefix === "function" ? config.pathPrefix(firstArg) : config.pathPrefix;
|
|
318
|
-
if (pathPrefixStr && !pathPrefixStr.endsWith("/"))
|
|
319
|
-
pathPrefixStr += "/";
|
|
320
|
-
}
|
|
321
|
-
let url = `${pathPrefixStr}${prefix}${endpoint.path}`;
|
|
322
|
-
for (const name of paramNames) {
|
|
323
|
-
const value = firstArg[name];
|
|
324
|
-
if (value === undefined || value === null) {
|
|
325
|
-
throw new Error(`Missing path param: ${name}`);
|
|
326
|
-
}
|
|
327
|
-
url = url.replace(`:${name}`, encodeURIComponent(String(value)));
|
|
328
|
-
}
|
|
329
|
-
if (url.endsWith("/"))
|
|
330
|
-
url = url.slice(0, -1);
|
|
405
|
+
const plan = planClientRequest(endpoint, prefix, firstArg, config);
|
|
331
406
|
if (endpoint.multipart) {
|
|
332
407
|
const file = firstArg[endpoint.multipart];
|
|
333
408
|
if (!isMultipartFile(file)) {
|
|
@@ -338,59 +413,28 @@ function createHttpMethod(endpoint, prefix, client, config) {
|
|
|
338
413
|
}
|
|
339
414
|
const formData = new FormData;
|
|
340
415
|
appendMultipartFile(formData, endpoint.multipart, file);
|
|
341
|
-
appendFormFields(formData,
|
|
342
|
-
return withOutput(endpoint, client[httpMethod](
|
|
416
|
+
appendFormFields(formData, plan.remainingArgs, new Set([endpoint.multipart]));
|
|
417
|
+
return withOutput(endpoint, client[httpMethod](plan.relativeUrl, formData, withTimeout(undefined, endpoint)));
|
|
343
418
|
}
|
|
344
|
-
if (
|
|
345
|
-
|
|
346
|
-
return withOutput(endpoint, client.get(url, withTimeout(params ? { params } : undefined, endpoint)));
|
|
419
|
+
if (httpMethod === "get") {
|
|
420
|
+
return withOutput(endpoint, client.get(plan.relativeUrl, withTimeout(undefined, endpoint)));
|
|
347
421
|
}
|
|
348
422
|
if (httpMethod === "delete") {
|
|
349
|
-
|
|
350
|
-
return withOutput(endpoint, client.delete(url, withTimeout(params ? { params } : undefined, endpoint)));
|
|
351
|
-
}
|
|
352
|
-
const payload = {};
|
|
353
|
-
for (const [key, value] of Object.entries(firstArg)) {
|
|
354
|
-
if (!prefixKeys.has(key) && value !== undefined) {
|
|
355
|
-
payload[key] = value;
|
|
356
|
-
}
|
|
423
|
+
return withOutput(endpoint, client.delete(plan.relativeUrl, withTimeout(undefined, endpoint)));
|
|
357
424
|
}
|
|
358
|
-
return withOutput(endpoint, client[httpMethod](
|
|
425
|
+
return withOutput(endpoint, client[httpMethod](plan.relativeUrl, Object.keys(plan.remainingArgs).length > 0 ? plan.remainingArgs : undefined, withTimeout(undefined, endpoint)));
|
|
359
426
|
};
|
|
360
427
|
}
|
|
361
428
|
function createFetchMethod(endpoint, prefix, config, contractConfig) {
|
|
362
|
-
const prefixKeys = new Set(contractConfig?.stripPrefixKeys ?? []);
|
|
363
429
|
return async (args) => {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
pathPrefixStr = typeof contractConfig.pathPrefix === "function" ? contractConfig.pathPrefix(args ?? {}) : contractConfig.pathPrefix;
|
|
367
|
-
if (pathPrefixStr && !pathPrefixStr.endsWith("/"))
|
|
368
|
-
pathPrefixStr += "/";
|
|
369
|
-
}
|
|
370
|
-
let url = buildFetchUrl(config.baseUrl, prefix, endpoint.path, args, pathPrefixStr);
|
|
430
|
+
const plan = planClientRequest(endpoint, prefix, args ?? {}, contractConfig);
|
|
431
|
+
const url = joinClientBaseUrl(config.baseUrl, plan.relativeUrl);
|
|
371
432
|
const headers = {
|
|
372
433
|
Accept: "application/json",
|
|
373
434
|
...typeof config.headers === "function" ? config.headers() : config.headers
|
|
374
435
|
};
|
|
375
436
|
const signal = endpoint.timeout !== undefined ? AbortSignal.timeout(endpoint.timeout) : undefined;
|
|
376
|
-
const
|
|
377
|
-
const hasBody = !isQuery && !endpoint.multipart && endpoint.input && args;
|
|
378
|
-
if (isQuery && args) {
|
|
379
|
-
const remaining = stripParams(args, endpoint.path, prefixKeys);
|
|
380
|
-
const params = collectQueryParams(remaining, new Set, endpoint);
|
|
381
|
-
if (params) {
|
|
382
|
-
const searchParams = new URLSearchParams;
|
|
383
|
-
for (const [k, v] of Object.entries(params)) {
|
|
384
|
-
if (Array.isArray(v)) {
|
|
385
|
-
for (const item of v)
|
|
386
|
-
searchParams.append(k, String(item));
|
|
387
|
-
} else {
|
|
388
|
-
searchParams.set(k, String(v));
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
url += `?${searchParams}`;
|
|
392
|
-
}
|
|
393
|
-
}
|
|
437
|
+
const hasBody = endpoint.method !== "GET" && endpoint.method !== "DELETE" && !endpoint.multipart && endpoint.input && args;
|
|
394
438
|
if (hasBody)
|
|
395
439
|
headers["Content-Type"] = "application/json";
|
|
396
440
|
if (endpoint.multipart && args) {
|
|
@@ -400,7 +444,7 @@ function createFetchMethod(endpoint, prefix, config, contractConfig) {
|
|
|
400
444
|
}
|
|
401
445
|
const formData = new FormData;
|
|
402
446
|
appendMultipartFile(formData, endpoint.multipart, file);
|
|
403
|
-
appendFormFields(formData,
|
|
447
|
+
appendFormFields(formData, plan.remainingArgs, new Set([endpoint.multipart]));
|
|
404
448
|
const res2 = await fetch(url, {
|
|
405
449
|
method: endpoint.method,
|
|
406
450
|
headers,
|
|
@@ -424,7 +468,7 @@ function createFetchMethod(endpoint, prefix, config, contractConfig) {
|
|
|
424
468
|
credentials: config.credentials,
|
|
425
469
|
signal,
|
|
426
470
|
...hasBody && {
|
|
427
|
-
body: JSON.stringify(
|
|
471
|
+
body: JSON.stringify(plan.remainingArgs)
|
|
428
472
|
}
|
|
429
473
|
});
|
|
430
474
|
if (!res.ok) {
|
|
@@ -447,35 +491,22 @@ async function throwForErrorResponse(res, config, fallbackBody) {
|
|
|
447
491
|
}
|
|
448
492
|
throw new ApiError("HTTP_ERROR", res.status, { body });
|
|
449
493
|
}
|
|
450
|
-
function
|
|
451
|
-
const
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
const
|
|
459
|
-
|
|
460
|
-
throw new Error(`Missing path param: ${key}`);
|
|
461
|
-
}
|
|
462
|
-
return encodeURIComponent(String(val));
|
|
494
|
+
function createUrlBuilder(contract, source, contractConfig) {
|
|
495
|
+
const builder = {};
|
|
496
|
+
for (const [key, endpoint] of typedEntries(contract.endpoints)) {
|
|
497
|
+
if (endpoint.method !== "GET" || endpoint.multipart)
|
|
498
|
+
continue;
|
|
499
|
+
if (endpoint.expose && !endpoint.expose.includes("HTTP"))
|
|
500
|
+
continue;
|
|
501
|
+
setClientMethod(builder, key, (args) => {
|
|
502
|
+
const plan = planClientRequest(endpoint, contract.meta.prefix, args ?? {}, contractConfig);
|
|
503
|
+
return joinClientBaseUrl(source.baseUrl, plan.relativeUrl);
|
|
463
504
|
});
|
|
464
505
|
}
|
|
465
|
-
return
|
|
506
|
+
return builder;
|
|
466
507
|
}
|
|
467
|
-
function
|
|
468
|
-
|
|
469
|
-
for (const match of path.matchAll(/:(\w+)/g)) {
|
|
470
|
-
if (match[1])
|
|
471
|
-
skip.add(match[1]);
|
|
472
|
-
}
|
|
473
|
-
const result = {};
|
|
474
|
-
for (const [k, v] of Object.entries(args)) {
|
|
475
|
-
if (!skip.has(k))
|
|
476
|
-
result[k] = v;
|
|
477
|
-
}
|
|
478
|
-
return result;
|
|
508
|
+
function createUrlBuilders(contracts, source, contractConfig) {
|
|
509
|
+
return mapObject(contracts, (_key, contract) => createUrlBuilder(contract, source, contractConfig));
|
|
479
510
|
}
|
|
480
511
|
// src/retained.ts
|
|
481
512
|
function createRetainedTopics() {
|
|
@@ -683,6 +714,8 @@ export {
|
|
|
683
714
|
defineErrors,
|
|
684
715
|
defineContract,
|
|
685
716
|
decodeCursor,
|
|
717
|
+
createUrlBuilders,
|
|
718
|
+
createUrlBuilder,
|
|
686
719
|
createTraceContext,
|
|
687
720
|
createSocketIOClient,
|
|
688
721
|
createRetainedTopics,
|
package/dist/node.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
createImplement,
|
|
4
4
|
createSocketIOServer,
|
|
5
5
|
implement
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-p3kwf73n.js";
|
|
7
7
|
import"./index-czmqks7r.js";
|
|
8
8
|
import"./index-x3fcszf8.js";
|
|
9
9
|
import {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
notFound,
|
|
16
16
|
rateLimited,
|
|
17
17
|
unauthorized
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-mzx0an0s.js";
|
|
19
19
|
// src/server/node.ts
|
|
20
20
|
import { serve } from "srvx";
|
|
21
21
|
async function serveNode(config) {
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
setRequestError,
|
|
17
17
|
setRequestUser,
|
|
18
18
|
wrapInRequestContext
|
|
19
|
-
} from "../index-
|
|
19
|
+
} from "../index-mzx0an0s.js";
|
|
20
20
|
|
|
21
21
|
// src/observability/sanitize.ts
|
|
22
22
|
var DEFAULT_SENSITIVE_KEYS = /(password|passwd|pwd|secret|token|apikey|api[-_ ]?key|auth|authorization|bearer|session|cookie|init[-_ ]?data|credential|private[-_ ]?key)/i;
|
|
@@ -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":"AA6CA,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,CA0cvB"}
|
|
@@ -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-p3kwf73n.js";
|
|
13
13
|
import {
|
|
14
14
|
createAuthHook,
|
|
15
15
|
createBearerResolver,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
signJwt,
|
|
23
23
|
verifyJwt,
|
|
24
24
|
verifyPkce
|
|
25
|
-
} from "../index-
|
|
25
|
+
} from "../index-bgdd42pt.js";
|
|
26
26
|
import {
|
|
27
27
|
DEFAULT_CORS_ALLOW_HEADERS,
|
|
28
28
|
DEFAULT_CORS_EXPOSE_HEADERS,
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
resolveTraceId,
|
|
59
59
|
unauthorized,
|
|
60
60
|
zodIssues
|
|
61
|
-
} from "../index-
|
|
61
|
+
} from "../index-mzx0an0s.js";
|
|
62
62
|
// src/server/bun.ts
|
|
63
63
|
function createServer(config) {
|
|
64
64
|
const { routes, websocket, development, bun: bunExtra, port = 3000, hostname } = config;
|
|
@@ -422,7 +422,13 @@ function generateOpenApiDocument(config) {
|
|
|
422
422
|
const servicePath = joinPath("/", service.prefix, method.path === "/" ? "" : method.path);
|
|
423
423
|
const fullPath = toOpenApiPath(pathPrefix ? joinPath(pathPrefix, servicePath) : servicePath);
|
|
424
424
|
const parameters = [];
|
|
425
|
+
const trailingWildcard = fullPath.endsWith("/*");
|
|
426
|
+
let wildcardSchema = { type: "string" };
|
|
425
427
|
for (const field of jsonSchemaFields(safeJson(method.paramsSchema, "input"))) {
|
|
428
|
+
if (trailingWildcard && field.name === "*") {
|
|
429
|
+
wildcardSchema = field.schema;
|
|
430
|
+
continue;
|
|
431
|
+
}
|
|
426
432
|
parameters.push({
|
|
427
433
|
name: field.name,
|
|
428
434
|
in: "path",
|
|
@@ -454,12 +460,12 @@ function generateOpenApiDocument(config) {
|
|
|
454
460
|
}
|
|
455
461
|
};
|
|
456
462
|
} else if (method.outputSchema) {
|
|
457
|
-
responses[
|
|
463
|
+
responses[String(method.responseMeta?.status ?? 200)] = {
|
|
458
464
|
description: "Success",
|
|
459
465
|
content: { "application/json": { schema: safeJson(method.outputSchema, "output") } }
|
|
460
466
|
};
|
|
461
467
|
} else {
|
|
462
|
-
responses[
|
|
468
|
+
responses[String(method.responseMeta?.status ?? 204)] = { description: "No content" };
|
|
463
469
|
}
|
|
464
470
|
const operation = {
|
|
465
471
|
summary: method.desc,
|
|
@@ -467,6 +473,14 @@ function generateOpenApiDocument(config) {
|
|
|
467
473
|
...parameters.length > 0 && { parameters },
|
|
468
474
|
responses
|
|
469
475
|
};
|
|
476
|
+
if (trailingWildcard) {
|
|
477
|
+
operation["x-stitchkit-trailing-wildcard"] = {
|
|
478
|
+
parameter: "*",
|
|
479
|
+
required: true,
|
|
480
|
+
schema: wildcardSchema,
|
|
481
|
+
description: "Matches zero or more trailing path segments and exposes their '/'-joined remainder as params['*']."
|
|
482
|
+
};
|
|
483
|
+
}
|
|
470
484
|
if (!inputInQuery && (method.inputSchema || method.multipart)) {
|
|
471
485
|
if (method.multipart) {
|
|
472
486
|
const inputJson = safeJson(method.inputSchema, "input");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,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,
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,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,CAqJ9E;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AAQA,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;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AAQA,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;AAqDD,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,CAiBvD;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,CA0BrE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkCjE"}
|
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;
|
|
@@ -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":"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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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/tools/remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiB7D,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnE,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,UAAU,
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/tools/remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiB7D,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnE,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,UAAU,CAsFZ"}
|