@relkit/runtime-hono 0.7.4 → 0.7.6

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.
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Combines application and mounted auth metadata for the shared API document.
3
+ * Application servers/security remain authoritative; conflicting paths or
4
+ * component names throw before publishing a misleading document.
5
+ */
6
+ import { type JsonValue } from "@relkit/contracts";
7
+ import type { OpenApiDocument } from "@relkit/openapi";
8
+ /**
9
+ * Merges mounted native auth routes without changing application servers or security.
10
+ * @param document - Application document whose policy and description are preserved.
11
+ * @param auth - Mounted auth paths and namespaced components.
12
+ * @returns A detached document with authentication instructions and deduplicated tags.
13
+ * @throws TypeError When JSON metadata is invalid or path/component names collide.
14
+ */
15
+ export declare function mergeAuthDocument(document: OpenApiDocument | JsonValue, auth: JsonValue): JsonValue;
16
+ //# sourceMappingURL=api-docs-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-docs-auth.d.ts","sourceRoot":"","sources":["../src/api-docs-auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,IAAI,EAAE,SAAS,GACd,SAAS,CAiCX"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Combines application and mounted auth metadata for the shared API document.
3
+ * Application servers/security remain authoritative; conflicting paths or
4
+ * component names throw before publishing a misleading document.
5
+ */
6
+ import { assertJsonValue } from "@relkit/contracts";
7
+ /**
8
+ * Merges mounted native auth routes without changing application servers or security.
9
+ * @param document - Application document whose policy and description are preserved.
10
+ * @param auth - Mounted auth paths and namespaced components.
11
+ * @returns A detached document with authentication instructions and deduplicated tags.
12
+ * @throws TypeError When JSON metadata is invalid or path/component names collide.
13
+ */
14
+ export function mergeAuthDocument(document, auth) {
15
+ assertJsonValue(document);
16
+ if (!isRecord(document) || !isRecord(auth) || !isRecord(auth.paths))
17
+ throw new TypeError("Cannot merge an invalid authentication OpenAPI document");
18
+ const paths = isRecord(document.paths) ? document.paths : {};
19
+ for (const path of Object.keys(auth.paths)) {
20
+ if (Object.hasOwn(paths, path))
21
+ throw new TypeError(`Duplicate authentication OpenAPI path: ${path}`);
22
+ }
23
+ const info = isRecord(document.info) ? document.info : {};
24
+ const tags = [
25
+ ...(Array.isArray(document.tags) ? document.tags : []),
26
+ ...(Array.isArray(auth.tags) ? auth.tags : []),
27
+ ];
28
+ return {
29
+ ...document,
30
+ info: {
31
+ ...info,
32
+ description: [
33
+ typeof info.description === "string" ? info.description : "",
34
+ authInstructions(auth.paths),
35
+ ]
36
+ .filter(Boolean)
37
+ .join("\n\n"),
38
+ },
39
+ paths: { ...paths, ...auth.paths },
40
+ components: mergeComponents(document.components, auth.components),
41
+ tags: tags.filter((tag, index) => !isRecord(tag) ||
42
+ tags.findIndex((entry) => isRecord(entry) && entry.name === tag.name) === index),
43
+ };
44
+ }
45
+ /**
46
+ * Preserves application components while rejecting ambiguous native names.
47
+ * @param application - Optional application component categories.
48
+ * @param auth - Optional namespaced native component categories.
49
+ * @returns Categories merged without overwriting application schemas.
50
+ */
51
+ function mergeComponents(application, auth) {
52
+ const components = isRecord(application) ? application : {};
53
+ const authComponents = isRecord(auth) ? auth : {};
54
+ const merged = { ...components };
55
+ for (const [category, entries] of Object.entries(authComponents)) {
56
+ const existing = isRecord(components[category]) ? components[category] : {};
57
+ if (!isRecord(entries))
58
+ continue;
59
+ for (const name of Object.keys(entries)) {
60
+ if (Object.hasOwn(existing, name))
61
+ throw new TypeError(`Duplicate authentication component: ${name}`);
62
+ }
63
+ merged[category] = { ...existing, ...entries };
64
+ }
65
+ return merged;
66
+ }
67
+ /**
68
+ * Describes only the login/signup endpoints present in the native document.
69
+ * @param paths - Already mounted authentication endpoint paths.
70
+ * @returns Markdown instructions for same-origin browser-session requests.
71
+ */
72
+ function authInstructions(paths) {
73
+ const signIn = Object.keys(paths).find((path) => path.endsWith("/sign-in/email"));
74
+ const signUp = Object.keys(paths).find((path) => path.endsWith("/sign-up/email"));
75
+ return [
76
+ "### Authentication",
77
+ signUp === undefined
78
+ ? ""
79
+ : `For a new account, send **POST ${signUp}** with name, email and password.`,
80
+ signIn === undefined
81
+ ? "Use the Authentication endpoints to sign in."
82
+ : `Send **POST ${signIn}** with email and password to log in.`,
83
+ "Use **Test Request** in this reference. The browser stores the session cookie and sends it with subsequent requests to protected endpoints. Keep this reference and requests on the same origin; no token copying is needed.",
84
+ ]
85
+ .filter(Boolean)
86
+ .join("\n\n");
87
+ }
88
+ /** Recognizes validated JSON objects before component/path projection. */
89
+ function isRecord(value) {
90
+ return value !== null && typeof value === "object" && !Array.isArray(value);
91
+ }
92
+ //# sourceMappingURL=api-docs-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-docs-auth.js","sourceRoot":"","sources":["../src/api-docs-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Owns lazy document generation for JSON and embedded Scalar responses. Shared
3
+ * application metadata is captured at construction; native auth metadata is
4
+ * requested per authorized call. Foreign failures remain HttpBoundaryError and
5
+ * the HTTP transport owns execution/cancellation and its configured logger.
6
+ */
7
+ import { type JsonValue } from "@relkit/contracts";
8
+ import type { RegistrationPlan } from "@relkit/graph";
9
+ import { Context, Effect } from "effect";
10
+ import type { ApiDocsOptions } from "./api-docs.types.js";
11
+ import { HttpBoundaryError } from "./http-effect.js";
12
+ declare const ApiDocuments_base: Context.ServiceClass<ApiDocuments, "relkit/http/ApiDocuments", {
13
+ /**
14
+ * Resolves one application document without capturing request identity.
15
+ * @returns Lazy JSON metadata, or HttpBoundaryError on native generation/merge failure.
16
+ */
17
+ readonly get: () => Effect.Effect<JsonValue, HttpBoundaryError>;
18
+ }> & {
19
+ readonly make: (base: JsonValue, options: ApiDocsOptions) => Effect.Effect<{
20
+ /**
21
+ * Resolves one application document without capturing request identity.
22
+ * @returns Lazy JSON metadata, or HttpBoundaryError on native generation/merge failure.
23
+ */
24
+ readonly get: () => Effect.Effect<JsonValue, HttpBoundaryError>;
25
+ }, never, never>;
26
+ };
27
+ /** Shared documentation projection; no session/request identity is captured. */
28
+ export declare class ApiDocuments extends ApiDocuments_base {
29
+ }
30
+ /**
31
+ * Builds application metadata from callable targets and raw HTTP registrations.
32
+ * @param plan - Validated registration plan supplied by application construction.
33
+ * @returns A JSON-safe application document without acquiring native services.
34
+ */
35
+ export declare function documentFrom(plan: RegistrationPlan): JsonValue;
36
+ export {};
37
+ //# sourceMappingURL=api-docs-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-docs-document.d.ts","sourceRoot":"","sources":["../src/api-docs-document.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAgB,iBAAiB,EAAe,MAAM,kBAAkB,CAAC;;IAM5E;;;OAGG;kBACW,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;;;QAJ/D;;;WAGG;sBACW,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;;;AARnE,gFAAgF;AAChF,qBAAa,YAAa,SAAQ,iBAkChC;CAAG;AAEL;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAyB9D"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Owns lazy document generation for JSON and embedded Scalar responses. Shared
3
+ * application metadata is captured at construction; native auth metadata is
4
+ * requested per authorized call. Foreign failures remain HttpBoundaryError and
5
+ * the HTTP transport owns execution/cancellation and its configured logger.
6
+ */
7
+ import { assertJsonValue } from "@relkit/contracts";
8
+ import { generateOpenApi } from "@relkit/openapi";
9
+ import { GRAPH_VERSION } from "@relkit/contracts";
10
+ import { Context, Effect } from "effect";
11
+ import { mergeAuthDocument } from "./api-docs-auth.js";
12
+ import { httpBoundary, HttpBoundaryError, observeHttp } from "./http-effect.js";
13
+ /** Shared documentation projection; no session/request identity is captured. */
14
+ export class ApiDocuments extends Context.Service()("relkit/http/ApiDocuments", {
15
+ /**
16
+ * Captures static metadata and native lookup policy without calling auth.
17
+ * @param base - Validated application JSON document.
18
+ * @param options - Exposure policy, native lookup and excluded service IDs.
19
+ * @returns Methods that retain HTTP execution context at each request.
20
+ */
21
+ make: (base, options) => Effect.succeed({
22
+ get: Effect.fn("ApiDocuments.get")(function* () {
23
+ let document = base;
24
+ const readAuth = options.getAuthDocument;
25
+ if (readAuth !== undefined) {
26
+ const auth = yield* httpBoundary("api.docs.auth", () => readAuth());
27
+ document = yield* Effect.try({
28
+ try: () => mergeAuthDocument(base, auth),
29
+ catch: (cause) => new HttpBoundaryError({ operation: "api.docs.merge", cause }),
30
+ });
31
+ }
32
+ return filterDomains(document, options.excludeDomains);
33
+ }, (effect) => observeHttp("api.docs.document", effect)),
34
+ }),
35
+ }) {
36
+ }
37
+ /**
38
+ * Builds application metadata from callable targets and raw HTTP registrations.
39
+ * @param plan - Validated registration plan supplied by application construction.
40
+ * @returns A JSON-safe application document without acquiring native services.
41
+ */
42
+ export function documentFrom(plan) {
43
+ const functions = new Set(plan.functions.map(({ id }) => id));
44
+ const document = generateOpenApi({
45
+ contractVersion: GRAPH_VERSION,
46
+ nodes: [
47
+ ...plan.functions,
48
+ ...plan.httpTriggers
49
+ .filter(({ config, targetFunctionId }) => (config !== null &&
50
+ typeof config === "object" &&
51
+ "rawHandler" in config &&
52
+ config.rawHandler === true) ||
53
+ functions.has(targetFunctionId))
54
+ .map((trigger) => {
55
+ assertJsonValue(trigger.config);
56
+ return { ...trigger, config: trigger.config };
57
+ }),
58
+ ...(plan.services ?? []),
59
+ ],
60
+ edges: [],
61
+ });
62
+ assertJsonValue(document);
63
+ return document;
64
+ }
65
+ /**
66
+ * Removes excluded service operations and their now-unused tags.
67
+ * @param document - Validated JSON document after optional auth merge.
68
+ * @param excluded - Service identities hidden from the shared reference.
69
+ * @returns Detached filtered metadata, or the original when filtering is unnecessary.
70
+ */
71
+ function filterDomains(document, excluded = []) {
72
+ if (excluded.length === 0 || !isRecord(document) || !isRecord(document.paths))
73
+ return document;
74
+ const domains = new Set(excluded);
75
+ const methods = new Set(["get", "put", "post", "delete", "options", "head", "patch", "trace"]);
76
+ const paths = Object.fromEntries(Object.entries(document.paths).flatMap(([path, item]) => {
77
+ if (!isRecord(item))
78
+ return [[path, item]];
79
+ const entries = Object.entries(item);
80
+ const kept = entries.filter(([method, operation]) => {
81
+ if (!methods.has(method) || !isRecord(operation))
82
+ return true;
83
+ const metadata = operation["x-relkit"];
84
+ return (!isRecord(metadata) ||
85
+ typeof metadata.serviceId !== "string" ||
86
+ !domains.has(metadata.serviceId));
87
+ });
88
+ if (kept.length < entries.length && !kept.some(([method]) => methods.has(method)))
89
+ return [];
90
+ return [[path, Object.fromEntries(kept)]];
91
+ }));
92
+ const usedTags = new Set(Object.values(paths).flatMap((item) => !isRecord(item)
93
+ ? []
94
+ : Object.entries(item).flatMap(([method, operation]) => methods.has(method) && isRecord(operation) && Array.isArray(operation.tags)
95
+ ? operation.tags
96
+ : [])));
97
+ return {
98
+ ...document,
99
+ paths,
100
+ ...(Array.isArray(document.tags)
101
+ ? { tags: document.tags.filter((tag) => isRecord(tag) && usedTags.has(tag.name)) }
102
+ : {}),
103
+ };
104
+ }
105
+ /** Recognizes a validated JSON object before path/tag projection. */
106
+ function isRecord(value) {
107
+ return value !== null && typeof value === "object" && !Array.isArray(value);
108
+ }
109
+ //# sourceMappingURL=api-docs-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-docs-document.js","sourceRoot":"","sources":["../src/api-docs-document.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-docs.d.ts","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,KAAK,EAAW,IAAI,EAAQ,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,eAAO,MAAM,YAAY,4BAA2C,CAAC;AACrE,eAAO,MAAM,kBAAkB,6BAA4C,CAAC;AAE5E,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAqDN"}
1
+ {"version":3,"file":"api-docs.d.ts","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,KAAK,EAAW,IAAI,EAAQ,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,eAAO,MAAM,YAAY,4BAA2C,CAAC;AACrE,eAAO,MAAM,kBAAkB,6BAA4C,CAAC;AAE5E,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAeN"}
package/dist/api-docs.js CHANGED
@@ -1,6 +1,13 @@
1
- import { API_BASE_PATH, API_VERSION, CONTRACT_VERSION, canonicalJson, } from "@relkit/contracts";
2
- import { generateOpenApi } from "@relkit/openapi";
1
+ /**
2
+ * Installs protected JSON and Scalar routes for the shared application reference.
3
+ * Configuration is validated before registration; authorization precedes lazy
4
+ * document generation through ApiDocuments, executed at each HTTP request edge.
5
+ */
6
+ import { API_BASE_PATH, API_VERSION, assertJsonValue, canonicalJson, } from "@relkit/contracts";
7
+ import { Effect, Layer } from "effect";
3
8
  import { Scalar } from "@scalar/hono-api-reference";
9
+ import { ApiDocuments, documentFrom } from "./api-docs-document.js";
10
+ import { runHttp } from "./http-effect.js";
4
11
  import { isAuthorized, jsonResponse } from "./internal-endpoints-utils.js";
5
12
  export const OPENAPI_PATH = `${API_BASE_PATH}/openapi.json`;
6
13
  export const API_REFERENCE_PATH = `${API_BASE_PATH}/api-reference`;
@@ -22,13 +29,23 @@ export function installApiDocs(app, plan, options = {}) {
22
29
  validate(mode, enabled, options);
23
30
  if (!enabled)
24
31
  return;
25
- const document = filterDomains(options.document ?? documentFrom(plan), options.excludeDomains);
32
+ const baseDocument = options.document ?? documentFrom(plan);
33
+ assertJsonValue(baseDocument);
34
+ const documents = Layer.effect(ApiDocuments, ApiDocuments.make(baseDocument, options));
35
+ const document = (signal) => runHttp(ApiDocuments.use((service) => service.get()).pipe(Effect.provide(documents)), signal);
26
36
  const auth = authorization(options);
27
37
  const embed = mode === "production" || auth.bearerToken !== undefined || auth.authorize !== undefined;
28
- const reference = Scalar({
29
- ...(embed ? { content: canonicalJson(document) } : { url: "./openapi.json" }),
30
- pageTitle: "RELKIT API Reference",
31
- });
38
+ registerDocumentRoutes(app, document, auth, embed);
39
+ }
40
+ /**
41
+ * Registers both representations behind the same authorization barrier.
42
+ * @param app - Hono application with already validated exposure policy.
43
+ * @param document - Lazy JSON reader executed only for an authorized request.
44
+ * @param auth - Existing internal endpoint authorization policy.
45
+ * @param embed - Whether Scalar must embed JSON to avoid a second protected fetch.
46
+ * @returns Nothing; installs two request handlers.
47
+ */
48
+ function registerDocumentRoutes(app, document, auth, embed) {
32
49
  /** Require the configured inspector authorization before serving API documentation.
33
50
  * @param handler - Document or reference-UI handler to run after authorization.
34
51
  * @returns A handler yielding the protected response or a bearer-authentication challenge.
@@ -41,10 +58,16 @@ export function installApiDocs(app, plan, options = {}) {
41
58
  }
42
59
  return handler(context, next);
43
60
  };
44
- app.get(OPENAPI_PATH, protect(async () => new Response(canonicalJson(document), {
61
+ app.get(OPENAPI_PATH, protect(async (context) => new Response(canonicalJson(await document(context.req.raw.signal)), {
45
62
  headers: responseHeaders("application/json"),
46
63
  })));
47
64
  app.get(API_REFERENCE_PATH, protect(async (context, next) => {
65
+ const reference = Scalar({
66
+ ...(embed
67
+ ? { content: canonicalJson(await document(context.req.raw.signal)) }
68
+ : { url: "./openapi.json" }),
69
+ pageTitle: "RELKIT API Reference",
70
+ });
48
71
  const response = await reference(context, next);
49
72
  if (!(response instanceof Response))
50
73
  return response;
@@ -58,22 +81,6 @@ export function installApiDocs(app, plan, options = {}) {
58
81
  });
59
82
  }));
60
83
  }
61
- /** Builds the OpenAPI document from the registered application graph.
62
- * @param plan - Validated application registration plan.
63
- * @returns The generated OpenAPI document for valid function targets and raw routes.
64
- */
65
- function documentFrom(plan) {
66
- const functions = new Set(plan.functions.map(({ id }) => id));
67
- return generateOpenApi({
68
- contractVersion: CONTRACT_VERSION,
69
- nodes: [
70
- ...plan.functions,
71
- ...plan.httpTriggers.filter(({ config, targetFunctionId }) => (isRecord(config) && config.rawHandler === true) || functions.has(targetFunctionId)),
72
- ...(plan.services ?? []),
73
- ],
74
- edges: [],
75
- });
76
- }
77
84
  /** Selects the configured API-document authorization policy.
78
85
  * @param options - Application dependencies and configuration for this domain.
79
86
  * @returns The API-document bearer token and authorization callback in inspector option form.
@@ -115,50 +122,4 @@ function responseHeaders(contentType) {
115
122
  "x-relkit-api-version": String(API_VERSION),
116
123
  };
117
124
  }
118
- /** Removes excluded service domains from the generated API document.
119
- * @param document - Generated API document to project for public exposure.
120
- * @param excluded - Service domains excluded from the published API document.
121
- * @returns The document with excluded service operations and unused tags removed.
122
- */
123
- function filterDomains(document, excluded = []) {
124
- if (excluded.length === 0 || !isRecord(document) || !isRecord(document.paths))
125
- return document;
126
- const domains = new Set(excluded);
127
- const methods = new Set(["get", "put", "post", "delete", "options", "head", "patch", "trace"]);
128
- const paths = Object.fromEntries(Object.entries(document.paths).flatMap(([path, item]) => {
129
- if (!isRecord(item))
130
- return [[path, item]];
131
- const entries = Object.entries(item);
132
- const kept = entries.filter(([method, operation]) => {
133
- if (!methods.has(method) || !isRecord(operation))
134
- return true;
135
- const metadata = operation["x-relkit"];
136
- return (!isRecord(metadata) ||
137
- typeof metadata.serviceId !== "string" ||
138
- !domains.has(metadata.serviceId));
139
- });
140
- if (kept.length < entries.length && !kept.some(([method]) => methods.has(method)))
141
- return [];
142
- return [[path, Object.fromEntries(kept)]];
143
- }));
144
- const usedTags = new Set(Object.values(paths).flatMap((item) => !isRecord(item)
145
- ? []
146
- : Object.entries(item).flatMap(([method, operation]) => methods.has(method) && isRecord(operation) && Array.isArray(operation.tags)
147
- ? operation.tags
148
- : [])));
149
- return {
150
- ...document,
151
- paths,
152
- ...(Array.isArray(document.tags)
153
- ? { tags: document.tags.filter((tag) => isRecord(tag) && usedTags.has(tag.name)) }
154
- : {}),
155
- };
156
- }
157
- /** Recognizes a non-null object before reading its named properties.
158
- * @param value - Value inspected, validated or projected by this operation.
159
- * @returns Whether the inspected value satisfies the declared type guard.
160
- */
161
- function isRecord(value) {
162
- return value !== null && typeof value === "object" && !Array.isArray(value);
163
- }
164
125
  //# sourceMappingURL=api-docs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-docs.js","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-docs.js","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,7 @@ export interface ApiDocsOptions {
10
10
  readonly bearerToken?: string;
11
11
  readonly authorize?: InternalEndpointOptions["authorize"];
12
12
  readonly document?: OpenApiDocument | JsonValue;
13
+ /** Native authentication schema, acquired only for authorized documentation requests. */
14
+ readonly getAuthDocument?: () => Promise<JsonValue>;
13
15
  }
14
16
  //# sourceMappingURL=api-docs.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-docs.types.d.ts","sourceRoot":"","sources":["../src/api-docs.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACjD"}
1
+ {"version":3,"file":"api-docs.types.d.ts","sourceRoot":"","sources":["../src/api-docs.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAChD,yFAAyF;IACzF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;CACrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EACV,4BAA4B,EAE5B,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAgB,iBAAiB,EAAwB,MAAM,kBAAkB,CAAC;AACzF,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;;kBAQP,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,iBAAiB,CAAC;;AANtF;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAKM;CAAG;AAE1C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,4BAA4B,CAAC,YAAY,CAAC,0CAgBnD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CA4B5F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAoBzF"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EACV,4BAA4B,EAE5B,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAgB,iBAAiB,EAAwB,MAAM,kBAAkB,CAAC;AACzF,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;;kBAQP,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,iBAAiB,CAAC;;AANtF;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAKM;CAAG;AAE1C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,4BAA4B,CAAC,YAAY,CAAC,0CAgBnD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CAiC5F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAoBzF"}
package/dist/auth.js CHANGED
@@ -31,6 +31,11 @@ export function createHttpAuthRuntime(options) {
31
31
  return Object.freeze({
32
32
  protected: Object.freeze([...options.protected]),
33
33
  publicPaths: Object.freeze([...options.publicPaths]),
34
+ ...(options.getOpenApiDocument === undefined
35
+ ? {}
36
+ : {
37
+ getOpenApiDocument: options.getOpenApiDocument,
38
+ }),
34
39
  /** Returns the stable authentication context owned by one native request.
35
40
  * @param request - Native request whose headers, body and cancellation signal define this operation.
36
41
  * @returns The existing request context or a new context sharing a lazily cached session lookup.
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { JsonValue } from "@relkit/contracts";
1
2
  /** Contract for http auth invocation used by auth. */
2
3
  export interface HttpAuthInvocation {
3
4
  readonly getSession: (options?: {
@@ -10,11 +11,13 @@ export interface HttpAuthRuntime {
10
11
  readonly publicPaths: readonly string[];
11
12
  readonly contextFor: (request: Request) => HttpAuthInvocation;
12
13
  readonly protects: (path: string) => boolean;
14
+ readonly getOpenApiDocument?: () => Promise<JsonValue>;
13
15
  }
14
16
  /** create http auth runtime options configuring dependencies, callbacks and runtime policy. */
15
17
  export interface CreateHttpAuthRuntimeOptions {
16
18
  readonly protected: readonly string[];
17
19
  readonly publicPaths: readonly string[];
18
20
  readonly getSession: (headers: Headers) => Promise<unknown | null>;
21
+ readonly getOpenApiDocument?: () => Promise<JsonValue>;
19
22
  }
20
23
  //# sourceMappingURL=auth.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../src/auth.types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1F;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAED,+FAA+F;AAC/F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACpE"}
1
+ {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../src/auth.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1F;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;CACxD;AAED,+FAA+F;AAC/F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;CACxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-rest-app.d.ts","sourceRoot":"","sources":["../src/create-rest-app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAA0B,MAAM,MAAM,CAAC;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AASxF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAM7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAoBtE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAMtF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CASxE;AAmBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,wBAAwB,GAAG,SAAS,GAC1C,IAAI,CAON"}
1
+ {"version":3,"file":"create-rest-app.d.ts","sourceRoot":"","sources":["../src/create-rest-app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAA0B,MAAM,MAAM,CAAC;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AASxF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAM7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAoBtE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAMtF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CASxE;AA2BD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,wBAAwB,GAAG,SAAS,GAC1C,IAAI,CAON"}
@@ -86,6 +86,11 @@ function apiDocsOptions(options) {
86
86
  const authorize = docs.authorize ?? internal.authorize;
87
87
  return {
88
88
  ...docs,
89
+ ...(docs.getAuthDocument !== undefined ||
90
+ options.auth?.getOpenApiDocument === undefined ||
91
+ options.plan.services?.some((service) => service.capability?.kind === "better-auth" && docs.excludeDomains?.includes(service.id))
92
+ ? {}
93
+ : { getAuthDocument: options.auth.getOpenApiDocument }),
89
94
  mode: docs.mode ?? internal.environment ?? internal.mode ?? "development",
90
95
  ...(bearerToken === undefined ? {} : { bearerToken }),
91
96
  ...(authorize === undefined ? {} : { authorize }),
@@ -1 +1 @@
1
- {"version":3,"file":"create-rest-app.js","sourceRoot":"","sources":["../src/create-rest-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-rest-app.js","sourceRoot":"","sources":["../src/create-rest-app.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relkit/runtime-hono",
3
- "version": "0.7.4",
3
+ "version": "0.7.6",
4
4
  "description": "Unsupported internal Hono runtime for RELKIT; use @relkit/app.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,18 +42,18 @@
42
42
  "@orpc/contract": "2.0.0-beta.31",
43
43
  "@orpc/server": "2.0.0-beta.31",
44
44
  "@scalar/hono-api-reference": "0.12.9",
45
- "@relkit/contracts": "0.7.4",
46
- "@relkit/agents": "0.7.4",
47
- "@relkit/engine": "0.7.4",
48
- "@relkit/graph": "0.7.4",
49
- "@relkit/invocation": "0.7.4",
50
- "@relkit/jobs": "0.7.4",
51
- "@relkit/observability": "0.7.4",
52
- "@relkit/openapi": "0.7.4",
53
- "@relkit/runtime-effect": "0.7.4",
54
- "@relkit/routes": "0.7.4",
55
- "@relkit/realtime": "0.7.4",
56
- "@relkit/schema": "0.7.4",
45
+ "@relkit/contracts": "0.7.6",
46
+ "@relkit/agents": "0.7.6",
47
+ "@relkit/engine": "0.7.6",
48
+ "@relkit/graph": "0.7.6",
49
+ "@relkit/invocation": "0.7.6",
50
+ "@relkit/jobs": "0.7.6",
51
+ "@relkit/observability": "0.7.6",
52
+ "@relkit/openapi": "0.7.6",
53
+ "@relkit/runtime-effect": "0.7.6",
54
+ "@relkit/routes": "0.7.6",
55
+ "@relkit/realtime": "0.7.6",
56
+ "@relkit/schema": "0.7.6",
57
57
  "effect": "4.0.1",
58
58
  "hono": "4.13.7",
59
59
  "hono-rate-limiter": "0.5.4"
@@ -64,8 +64,8 @@
64
64
  "@langchain/langgraph": "1.4.14",
65
65
  "@modelcontextprotocol/client": "2.3.0",
66
66
  "@orpc/client": "2.0.0-beta.31",
67
- "@relkit/client": "0.7.4",
68
- "@relkit/providers-local": "0.7.4",
67
+ "@relkit/client": "0.7.6",
68
+ "@relkit/providers-local": "0.7.6",
69
69
  "langchain": "1.5.10",
70
70
  "vitest": "5.0.1"
71
71
  },