@classytic/arc 1.1.0 → 2.1.2
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 +247 -794
- package/bin/arc.js +91 -52
- package/dist/EventTransport-BD2U0BTc.d.mts +100 -0
- package/dist/EventTransport-BD2U0BTc.d.mts.map +1 -0
- package/dist/HookSystem-BsGV-j2l.mjs +405 -0
- package/dist/HookSystem-BsGV-j2l.mjs.map +1 -0
- package/dist/ResourceRegistry-DsN4KJjV.mjs +250 -0
- package/dist/ResourceRegistry-DsN4KJjV.mjs.map +1 -0
- package/dist/adapters/index.d.mts +5 -0
- package/dist/adapters/index.mjs +3 -0
- package/dist/audit/index.d.mts +82 -0
- package/dist/audit/index.d.mts.map +1 -0
- package/dist/audit/index.mjs +276 -0
- package/dist/audit/index.mjs.map +1 -0
- package/dist/audit/mongodb.d.mts +5 -0
- package/dist/audit/mongodb.mjs +3 -0
- package/dist/audited-C3T5DTUx.mjs +141 -0
- package/dist/audited-C3T5DTUx.mjs.map +1 -0
- package/dist/auth/index.d.mts +189 -0
- package/dist/auth/index.d.mts.map +1 -0
- package/dist/auth/index.mjs +1102 -0
- package/dist/auth/index.mjs.map +1 -0
- package/dist/auth/redis-session.d.mts +44 -0
- package/dist/auth/redis-session.d.mts.map +1 -0
- package/dist/auth/redis-session.mjs +76 -0
- package/dist/auth/redis-session.mjs.map +1 -0
- package/dist/betterAuthOpenApi-BrHKeSAx.mjs +250 -0
- package/dist/betterAuthOpenApi-BrHKeSAx.mjs.map +1 -0
- package/dist/cache/index.d.mts +146 -0
- package/dist/cache/index.d.mts.map +1 -0
- package/dist/cache/index.mjs +92 -0
- package/dist/cache/index.mjs.map +1 -0
- package/dist/caching-Bl28lYsR.mjs +94 -0
- package/dist/caching-Bl28lYsR.mjs.map +1 -0
- package/dist/chunk-C7Uep-_p.mjs +20 -0
- package/dist/circuitBreaker-DeY4FCjs.mjs +1097 -0
- package/dist/circuitBreaker-DeY4FCjs.mjs.map +1 -0
- package/dist/cli/commands/describe.d.mts +19 -0
- package/dist/cli/commands/describe.d.mts.map +1 -0
- package/dist/cli/commands/describe.mjs +239 -0
- package/dist/cli/commands/describe.mjs.map +1 -0
- package/dist/cli/commands/docs.d.mts +14 -0
- package/dist/cli/commands/docs.d.mts.map +1 -0
- package/dist/cli/commands/docs.mjs +53 -0
- package/dist/cli/commands/docs.mjs.map +1 -0
- package/dist/cli/commands/{generate.d.ts → generate.d.mts} +3 -1
- package/dist/cli/commands/generate.d.mts.map +1 -0
- package/dist/cli/commands/generate.mjs +358 -0
- package/dist/cli/commands/generate.mjs.map +1 -0
- package/dist/cli/commands/{init.d.ts → init.d.mts} +12 -8
- package/dist/cli/commands/init.d.mts.map +1 -0
- package/dist/cli/commands/{init.js → init.mjs} +807 -616
- package/dist/cli/commands/init.mjs.map +1 -0
- package/dist/cli/commands/introspect.d.mts +11 -0
- package/dist/cli/commands/introspect.d.mts.map +1 -0
- package/dist/cli/commands/introspect.mjs +76 -0
- package/dist/cli/commands/introspect.mjs.map +1 -0
- package/dist/cli/index.d.mts +17 -0
- package/dist/cli/index.d.mts.map +1 -0
- package/dist/cli/index.mjs +157 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/constants-DdXFXQtN.mjs +85 -0
- package/dist/constants-DdXFXQtN.mjs.map +1 -0
- package/dist/core/index.d.mts +5 -0
- package/dist/core/index.mjs +4 -0
- package/dist/createApp-CUgNqegw.mjs +560 -0
- package/dist/createApp-CUgNqegw.mjs.map +1 -0
- package/dist/defineResource-k0_BDn8v.mjs +2197 -0
- package/dist/defineResource-k0_BDn8v.mjs.map +1 -0
- package/dist/discovery/index.d.mts +47 -0
- package/dist/discovery/index.d.mts.map +1 -0
- package/dist/discovery/index.mjs +110 -0
- package/dist/discovery/index.mjs.map +1 -0
- package/dist/docs/index.d.mts +163 -0
- package/dist/docs/index.d.mts.map +1 -0
- package/dist/docs/index.mjs +73 -0
- package/dist/docs/index.mjs.map +1 -0
- package/dist/elevation-BRy3yFWT.mjs +113 -0
- package/dist/elevation-BRy3yFWT.mjs.map +1 -0
- package/dist/elevation-B_2dRLVP.d.mts +88 -0
- package/dist/elevation-B_2dRLVP.d.mts.map +1 -0
- package/dist/errorHandler-BbcgBmIH.d.mts +73 -0
- package/dist/errorHandler-BbcgBmIH.d.mts.map +1 -0
- package/dist/errorHandler-C1okiriz.mjs +109 -0
- package/dist/errorHandler-C1okiriz.mjs.map +1 -0
- package/dist/errors-B9bZok84.mjs +212 -0
- package/dist/errors-B9bZok84.mjs.map +1 -0
- package/dist/errors-ChKiFz62.d.mts +125 -0
- package/dist/errors-ChKiFz62.d.mts.map +1 -0
- package/dist/eventPlugin-CTrLH3mt.d.mts +125 -0
- package/dist/eventPlugin-CTrLH3mt.d.mts.map +1 -0
- package/dist/eventPlugin-DGR_B2on.mjs +230 -0
- package/dist/eventPlugin-DGR_B2on.mjs.map +1 -0
- package/dist/events/index.d.mts +54 -0
- package/dist/events/index.d.mts.map +1 -0
- package/dist/events/index.mjs +52 -0
- package/dist/events/index.mjs.map +1 -0
- package/dist/events/transports/redis-stream-entry.d.mts +2 -0
- package/dist/events/transports/redis-stream-entry.mjs +178 -0
- package/dist/events/transports/redis-stream-entry.mjs.map +1 -0
- package/dist/events/transports/redis.d.mts +77 -0
- package/dist/events/transports/redis.d.mts.map +1 -0
- package/dist/events/transports/redis.mjs +125 -0
- package/dist/events/transports/redis.mjs.map +1 -0
- package/dist/externalPaths-DlINfKbP.d.mts +51 -0
- package/dist/externalPaths-DlINfKbP.d.mts.map +1 -0
- package/dist/factory/index.d.mts +64 -0
- package/dist/factory/index.d.mts.map +1 -0
- package/dist/factory/index.mjs +3 -0
- package/dist/fastifyAdapter-BkrGrlFi.d.mts +217 -0
- package/dist/fastifyAdapter-BkrGrlFi.d.mts.map +1 -0
- package/dist/fields-DyaDVX4J.d.mts +110 -0
- package/dist/fields-DyaDVX4J.d.mts.map +1 -0
- package/dist/fields-iagOozy0.mjs +115 -0
- package/dist/fields-iagOozy0.mjs.map +1 -0
- package/dist/hooks/index.d.mts +4 -0
- package/dist/hooks/index.mjs +3 -0
- package/dist/idempotency/index.d.mts +97 -0
- package/dist/idempotency/index.d.mts.map +1 -0
- package/dist/idempotency/index.mjs +320 -0
- package/dist/idempotency/index.mjs.map +1 -0
- package/dist/idempotency/mongodb.d.mts +2 -0
- package/dist/idempotency/mongodb.mjs +115 -0
- package/dist/idempotency/mongodb.mjs.map +1 -0
- package/dist/idempotency/redis.d.mts +2 -0
- package/dist/idempotency/redis.mjs +104 -0
- package/dist/idempotency/redis.mjs.map +1 -0
- package/dist/index.d.mts +261 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +105 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integrations/event-gateway.d.mts +47 -0
- package/dist/integrations/event-gateway.d.mts.map +1 -0
- package/dist/integrations/event-gateway.mjs +44 -0
- package/dist/integrations/event-gateway.mjs.map +1 -0
- package/dist/integrations/index.d.mts +5 -0
- package/dist/integrations/index.mjs +1 -0
- package/dist/integrations/jobs.d.mts +104 -0
- package/dist/integrations/jobs.d.mts.map +1 -0
- package/dist/integrations/jobs.mjs +124 -0
- package/dist/integrations/jobs.mjs.map +1 -0
- package/dist/integrations/streamline.d.mts +61 -0
- package/dist/integrations/streamline.d.mts.map +1 -0
- package/dist/integrations/streamline.mjs +126 -0
- package/dist/integrations/streamline.mjs.map +1 -0
- package/dist/integrations/websocket.d.mts +83 -0
- package/dist/integrations/websocket.d.mts.map +1 -0
- package/dist/integrations/websocket.mjs +289 -0
- package/dist/integrations/websocket.mjs.map +1 -0
- package/dist/interface-B01JvPVc.d.mts +78 -0
- package/dist/interface-B01JvPVc.d.mts.map +1 -0
- package/dist/interface-CZe8IkMf.d.mts +55 -0
- package/dist/interface-CZe8IkMf.d.mts.map +1 -0
- package/dist/interface-Ch8HU9uM.d.mts +1098 -0
- package/dist/interface-Ch8HU9uM.d.mts.map +1 -0
- package/dist/introspectionPlugin-rFdO8ZUa.mjs +54 -0
- package/dist/introspectionPlugin-rFdO8ZUa.mjs.map +1 -0
- package/dist/keys-BqNejWup.mjs +43 -0
- package/dist/keys-BqNejWup.mjs.map +1 -0
- package/dist/logger-Df2O2WsW.mjs +79 -0
- package/dist/logger-Df2O2WsW.mjs.map +1 -0
- package/dist/memory-cQgelFOj.mjs +144 -0
- package/dist/memory-cQgelFOj.mjs.map +1 -0
- package/dist/migrations/index.d.mts +157 -0
- package/dist/migrations/index.d.mts.map +1 -0
- package/dist/migrations/index.mjs +261 -0
- package/dist/migrations/index.mjs.map +1 -0
- package/dist/mongodb-BfJVlUJH.mjs +94 -0
- package/dist/mongodb-BfJVlUJH.mjs.map +1 -0
- package/dist/mongodb-CGzRbfAK.d.mts +119 -0
- package/dist/mongodb-CGzRbfAK.d.mts.map +1 -0
- package/dist/mongodb-JN-9JA7K.d.mts +72 -0
- package/dist/mongodb-JN-9JA7K.d.mts.map +1 -0
- package/dist/openapi-G3Cw7XuM.mjs +524 -0
- package/dist/openapi-G3Cw7XuM.mjs.map +1 -0
- package/dist/org/index.d.mts +69 -0
- package/dist/org/index.d.mts.map +1 -0
- package/dist/org/index.mjs +514 -0
- package/dist/org/index.mjs.map +1 -0
- package/dist/org/types.d.mts +83 -0
- package/dist/org/types.d.mts.map +1 -0
- package/dist/org/types.mjs +1 -0
- package/dist/permissions/index.d.mts +279 -0
- package/dist/permissions/index.d.mts.map +1 -0
- package/dist/permissions/index.mjs +579 -0
- package/dist/permissions/index.mjs.map +1 -0
- package/dist/plugins/index.d.mts +173 -0
- package/dist/plugins/index.d.mts.map +1 -0
- package/dist/plugins/index.mjs +523 -0
- package/dist/plugins/index.mjs.map +1 -0
- package/dist/plugins/response-cache.d.mts +88 -0
- package/dist/plugins/response-cache.d.mts.map +1 -0
- package/dist/plugins/response-cache.mjs +284 -0
- package/dist/plugins/response-cache.mjs.map +1 -0
- package/dist/plugins/tracing-entry.d.mts +2 -0
- package/dist/plugins/tracing-entry.mjs +186 -0
- package/dist/plugins/tracing-entry.mjs.map +1 -0
- package/dist/pluralize-CEweyOEm.mjs +87 -0
- package/dist/pluralize-CEweyOEm.mjs.map +1 -0
- package/dist/policies/{index.d.ts → index.d.mts} +204 -169
- package/dist/policies/index.d.mts.map +1 -0
- package/dist/policies/index.mjs +322 -0
- package/dist/policies/index.mjs.map +1 -0
- package/dist/presets/{index.d.ts → index.d.mts} +63 -131
- package/dist/presets/index.d.mts.map +1 -0
- package/dist/presets/index.mjs +144 -0
- package/dist/presets/index.mjs.map +1 -0
- package/dist/presets/multiTenant.d.mts +25 -0
- package/dist/presets/multiTenant.d.mts.map +1 -0
- package/dist/presets/multiTenant.mjs +114 -0
- package/dist/presets/multiTenant.mjs.map +1 -0
- package/dist/presets-BITljm96.mjs +120 -0
- package/dist/presets-BITljm96.mjs.map +1 -0
- package/dist/presets-DzSMwlKj.d.mts +58 -0
- package/dist/presets-DzSMwlKj.d.mts.map +1 -0
- package/dist/prisma-DJbMt3yf.mjs +628 -0
- package/dist/prisma-DJbMt3yf.mjs.map +1 -0
- package/dist/prisma-Dg9GoVdj.d.mts +275 -0
- package/dist/prisma-Dg9GoVdj.d.mts.map +1 -0
- package/dist/queryCachePlugin-7THaI5mt.d.mts +72 -0
- package/dist/queryCachePlugin-7THaI5mt.d.mts.map +1 -0
- package/dist/queryCachePlugin-DMBnp2Q0.mjs +139 -0
- package/dist/queryCachePlugin-DMBnp2Q0.mjs.map +1 -0
- package/dist/redis-D-JAeLtm.d.mts +50 -0
- package/dist/redis-D-JAeLtm.d.mts.map +1 -0
- package/dist/redis-stream-Bdh_vUU8.d.mts +104 -0
- package/dist/redis-stream-Bdh_vUU8.d.mts.map +1 -0
- package/dist/registry/index.d.mts +12 -0
- package/dist/registry/index.d.mts.map +1 -0
- package/dist/registry/index.mjs +4 -0
- package/dist/requestContext-QQD6ROJc.mjs +56 -0
- package/dist/requestContext-QQD6ROJc.mjs.map +1 -0
- package/dist/schemaConverter-BwrmWroW.mjs +99 -0
- package/dist/schemaConverter-BwrmWroW.mjs.map +1 -0
- package/dist/schemas/index.d.mts +64 -0
- package/dist/schemas/index.d.mts.map +1 -0
- package/dist/schemas/index.mjs +83 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/scope/index.d.mts +22 -0
- package/dist/scope/index.d.mts.map +1 -0
- package/dist/scope/index.mjs +66 -0
- package/dist/scope/index.mjs.map +1 -0
- package/dist/sessionManager-jPKLbHE0.d.mts +187 -0
- package/dist/sessionManager-jPKLbHE0.d.mts.map +1 -0
- package/dist/sse-B3c3_yZp.mjs +124 -0
- package/dist/sse-B3c3_yZp.mjs.map +1 -0
- package/dist/testing/index.d.mts +908 -0
- package/dist/testing/index.d.mts.map +1 -0
- package/dist/testing/index.mjs +1977 -0
- package/dist/testing/index.mjs.map +1 -0
- package/dist/tracing-Cc7vVQPp.d.mts +71 -0
- package/dist/tracing-Cc7vVQPp.d.mts.map +1 -0
- package/dist/typeGuards-DhMNLuvU.mjs +10 -0
- package/dist/typeGuards-DhMNLuvU.mjs.map +1 -0
- package/dist/types/index.d.mts +947 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/index.mjs +15 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types-Beqn1Un7.mjs +39 -0
- package/dist/types-Beqn1Un7.mjs.map +1 -0
- package/dist/types-CIgB7UUl.d.mts +446 -0
- package/dist/types-CIgB7UUl.d.mts.map +1 -0
- package/dist/types-aYB4V7uN.d.mts +87 -0
- package/dist/types-aYB4V7uN.d.mts.map +1 -0
- package/dist/utils/index.d.mts +748 -0
- package/dist/utils/index.d.mts.map +1 -0
- package/dist/utils/index.mjs +6 -0
- package/package.json +194 -68
- package/dist/BaseController-DVAiHxEQ.d.ts +0 -233
- package/dist/adapters/index.d.ts +0 -237
- package/dist/adapters/index.js +0 -668
- package/dist/arcCorePlugin-CsShQdyP.d.ts +0 -273
- package/dist/audit/index.d.ts +0 -195
- package/dist/audit/index.js +0 -319
- package/dist/auth/index.d.ts +0 -47
- package/dist/auth/index.js +0 -174
- package/dist/cli/commands/docs.d.ts +0 -11
- package/dist/cli/commands/docs.js +0 -474
- package/dist/cli/commands/generate.js +0 -334
- package/dist/cli/commands/introspect.d.ts +0 -8
- package/dist/cli/commands/introspect.js +0 -338
- package/dist/cli/index.d.ts +0 -4
- package/dist/cli/index.js +0 -3269
- package/dist/core/index.d.ts +0 -220
- package/dist/core/index.js +0 -2786
- package/dist/createApp-Ce9wl8W9.d.ts +0 -77
- package/dist/docs/index.d.ts +0 -166
- package/dist/docs/index.js +0 -658
- package/dist/errors-8WIxGS_6.d.ts +0 -122
- package/dist/events/index.d.ts +0 -117
- package/dist/events/index.js +0 -89
- package/dist/factory/index.d.ts +0 -38
- package/dist/factory/index.js +0 -1652
- package/dist/hooks/index.d.ts +0 -4
- package/dist/hooks/index.js +0 -199
- package/dist/idempotency/index.d.ts +0 -323
- package/dist/idempotency/index.js +0 -500
- package/dist/index-B4t03KQ0.d.ts +0 -1366
- package/dist/index.d.ts +0 -135
- package/dist/index.js +0 -4756
- package/dist/migrations/index.d.ts +0 -185
- package/dist/migrations/index.js +0 -274
- package/dist/org/index.d.ts +0 -129
- package/dist/org/index.js +0 -220
- package/dist/permissions/index.d.ts +0 -144
- package/dist/permissions/index.js +0 -103
- package/dist/plugins/index.d.ts +0 -46
- package/dist/plugins/index.js +0 -1069
- package/dist/policies/index.js +0 -196
- package/dist/presets/index.js +0 -384
- package/dist/presets/multiTenant.d.ts +0 -39
- package/dist/presets/multiTenant.js +0 -112
- package/dist/registry/index.d.ts +0 -16
- package/dist/registry/index.js +0 -253
- package/dist/testing/index.d.ts +0 -618
- package/dist/testing/index.js +0 -48020
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.js +0 -8
- package/dist/types-B99TBmFV.d.ts +0 -76
- package/dist/types-BvckRbs2.d.ts +0 -143
- package/dist/utils/index.d.ts +0 -679
- package/dist/utils/index.js +0 -931
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { FastifyInstance } from 'fastify';
|
|
2
|
-
import { C as CreateAppOptions } from './types-BvckRbs2.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* ArcFactory - Production-ready Fastify application factory
|
|
6
|
-
*
|
|
7
|
-
* Enforces security best practices by making plugins opt-out instead of opt-in.
|
|
8
|
-
* A developer must explicitly disable security features rather than forget to enable them.
|
|
9
|
-
*
|
|
10
|
-
* Note: Arc is database-agnostic. Connect your database separately and provide
|
|
11
|
-
* adapters when defining resources. This allows multiple databases, custom
|
|
12
|
-
* connection pooling, and full control over your data layer.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // 1. Connect your database(s) separately
|
|
16
|
-
* import mongoose from 'mongoose';
|
|
17
|
-
* await mongoose.connect(process.env.MONGO_URI);
|
|
18
|
-
*
|
|
19
|
-
* // 2. Create Arc app (no database config needed)
|
|
20
|
-
* const app = await createApp({
|
|
21
|
-
* preset: 'production',
|
|
22
|
-
* auth: { jwt: { secret: process.env.JWT_SECRET } },
|
|
23
|
-
* cors: { origin: ['https://example.com'] },
|
|
24
|
-
* });
|
|
25
|
-
*
|
|
26
|
-
* // 3. Register resources with your adapters
|
|
27
|
-
* await app.register(productResource.toPlugin());
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* // Multiple databases example
|
|
31
|
-
* const primaryDb = await mongoose.connect(process.env.PRIMARY_DB);
|
|
32
|
-
* const analyticsDb = mongoose.createConnection(process.env.ANALYTICS_DB);
|
|
33
|
-
*
|
|
34
|
-
* const orderResource = defineResource({
|
|
35
|
-
* adapter: createMongooseAdapter({ model: OrderModel, repository: orderRepo }),
|
|
36
|
-
* });
|
|
37
|
-
*
|
|
38
|
-
* const analyticsResource = defineResource({
|
|
39
|
-
* adapter: createMongooseAdapter({ model: AnalyticsModel, repository: analyticsRepo }),
|
|
40
|
-
* });
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Create a production-ready Fastify application with Arc framework
|
|
45
|
-
*
|
|
46
|
-
* Security plugins are enabled by default (opt-out):
|
|
47
|
-
* - helmet (security headers)
|
|
48
|
-
* - cors (cross-origin requests)
|
|
49
|
-
* - rateLimit (DDoS protection)
|
|
50
|
-
* - underPressure (health monitoring)
|
|
51
|
-
*
|
|
52
|
-
* Note: Compression is not included due to known Fastify 5 issues.
|
|
53
|
-
* Use a reverse proxy (Nginx, Caddy) or CDN for compression.
|
|
54
|
-
*
|
|
55
|
-
* @param options - Application configuration
|
|
56
|
-
* @returns Configured Fastify instance
|
|
57
|
-
*/
|
|
58
|
-
declare function createApp(options: CreateAppOptions): Promise<FastifyInstance>;
|
|
59
|
-
/**
|
|
60
|
-
* Quick factory for common scenarios
|
|
61
|
-
*/
|
|
62
|
-
declare const ArcFactory: {
|
|
63
|
-
/**
|
|
64
|
-
* Create production app with strict security
|
|
65
|
-
*/
|
|
66
|
-
production(options: Omit<CreateAppOptions, "preset">): Promise<FastifyInstance>;
|
|
67
|
-
/**
|
|
68
|
-
* Create development app with relaxed security
|
|
69
|
-
*/
|
|
70
|
-
development(options: Omit<CreateAppOptions, "preset">): Promise<FastifyInstance>;
|
|
71
|
-
/**
|
|
72
|
-
* Create testing app with minimal setup
|
|
73
|
-
*/
|
|
74
|
-
testing(options: Omit<CreateAppOptions, "preset">): Promise<FastifyInstance>;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export { ArcFactory as A, createApp as c };
|
package/dist/docs/index.d.ts
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { FastifyPluginAsync } from 'fastify';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* OpenAPI Spec Generator
|
|
5
|
-
*
|
|
6
|
-
* Auto-generates OpenAPI 3.0 specification from Arc resource registry.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* import { openApiPlugin } from '@classytic/arc/docs';
|
|
10
|
-
*
|
|
11
|
-
* await fastify.register(openApiPlugin, {
|
|
12
|
-
* title: 'My API',
|
|
13
|
-
* version: '1.0.0',
|
|
14
|
-
* });
|
|
15
|
-
*
|
|
16
|
-
* // Spec available at /_docs/openapi.json
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
interface OpenApiOptions {
|
|
20
|
-
/** API title */
|
|
21
|
-
title?: string;
|
|
22
|
-
/** API version */
|
|
23
|
-
version?: string;
|
|
24
|
-
/** API description */
|
|
25
|
-
description?: string;
|
|
26
|
-
/** Server URL */
|
|
27
|
-
serverUrl?: string;
|
|
28
|
-
/** Route prefix for spec endpoint (default: '/_docs') */
|
|
29
|
-
prefix?: string;
|
|
30
|
-
/** API prefix for all resource paths (e.g., '/api/v1') */
|
|
31
|
-
apiPrefix?: string;
|
|
32
|
-
/** Auth roles required to access spec (default: [] = public) */
|
|
33
|
-
authRoles?: string[];
|
|
34
|
-
/** Include internal routes (default: false) */
|
|
35
|
-
includeInternal?: boolean;
|
|
36
|
-
/** Custom OpenAPI extensions */
|
|
37
|
-
extensions?: Record<string, unknown>;
|
|
38
|
-
}
|
|
39
|
-
interface OpenApiSpec {
|
|
40
|
-
openapi: string;
|
|
41
|
-
info: {
|
|
42
|
-
title: string;
|
|
43
|
-
version: string;
|
|
44
|
-
description?: string;
|
|
45
|
-
};
|
|
46
|
-
servers?: Array<{
|
|
47
|
-
url: string;
|
|
48
|
-
description?: string;
|
|
49
|
-
}>;
|
|
50
|
-
paths: Record<string, PathItem>;
|
|
51
|
-
components: {
|
|
52
|
-
schemas: Record<string, SchemaObject>;
|
|
53
|
-
securitySchemes?: Record<string, SecurityScheme>;
|
|
54
|
-
};
|
|
55
|
-
tags: Array<{
|
|
56
|
-
name: string;
|
|
57
|
-
description?: string;
|
|
58
|
-
}>;
|
|
59
|
-
security?: Array<Record<string, string[]>>;
|
|
60
|
-
}
|
|
61
|
-
interface PathItem {
|
|
62
|
-
get?: Operation;
|
|
63
|
-
post?: Operation;
|
|
64
|
-
put?: Operation;
|
|
65
|
-
patch?: Operation;
|
|
66
|
-
delete?: Operation;
|
|
67
|
-
options?: Operation;
|
|
68
|
-
head?: Operation;
|
|
69
|
-
}
|
|
70
|
-
interface Operation {
|
|
71
|
-
tags: string[];
|
|
72
|
-
summary: string;
|
|
73
|
-
description?: string;
|
|
74
|
-
operationId: string;
|
|
75
|
-
parameters?: Parameter[];
|
|
76
|
-
requestBody?: RequestBody;
|
|
77
|
-
responses: Record<string, Response>;
|
|
78
|
-
security?: Array<Record<string, string[]>>;
|
|
79
|
-
}
|
|
80
|
-
interface Parameter {
|
|
81
|
-
name: string;
|
|
82
|
-
in: 'path' | 'query' | 'header';
|
|
83
|
-
required?: boolean;
|
|
84
|
-
schema: SchemaObject;
|
|
85
|
-
description?: string;
|
|
86
|
-
}
|
|
87
|
-
interface RequestBody {
|
|
88
|
-
required?: boolean;
|
|
89
|
-
content: Record<string, {
|
|
90
|
-
schema: SchemaObject;
|
|
91
|
-
}>;
|
|
92
|
-
}
|
|
93
|
-
interface Response {
|
|
94
|
-
description: string;
|
|
95
|
-
content?: Record<string, {
|
|
96
|
-
schema: SchemaObject;
|
|
97
|
-
}>;
|
|
98
|
-
}
|
|
99
|
-
interface SchemaObject {
|
|
100
|
-
type?: string;
|
|
101
|
-
format?: string;
|
|
102
|
-
properties?: Record<string, SchemaObject>;
|
|
103
|
-
items?: SchemaObject;
|
|
104
|
-
required?: string[];
|
|
105
|
-
$ref?: string;
|
|
106
|
-
description?: string;
|
|
107
|
-
example?: unknown;
|
|
108
|
-
additionalProperties?: boolean | SchemaObject;
|
|
109
|
-
enum?: string[];
|
|
110
|
-
minimum?: number;
|
|
111
|
-
maximum?: number;
|
|
112
|
-
minLength?: number;
|
|
113
|
-
maxLength?: number;
|
|
114
|
-
pattern?: string;
|
|
115
|
-
}
|
|
116
|
-
interface SecurityScheme {
|
|
117
|
-
type: string;
|
|
118
|
-
scheme?: string;
|
|
119
|
-
bearerFormat?: string;
|
|
120
|
-
in?: string;
|
|
121
|
-
name?: string;
|
|
122
|
-
}
|
|
123
|
-
declare const openApiPlugin: FastifyPluginAsync<OpenApiOptions>;
|
|
124
|
-
declare const _default$1: FastifyPluginAsync<OpenApiOptions>;
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Scalar API Reference Plugin
|
|
128
|
-
*
|
|
129
|
-
* Beautiful, modern API documentation UI.
|
|
130
|
-
* Lighter and more modern than Swagger UI.
|
|
131
|
-
*
|
|
132
|
-
* @example
|
|
133
|
-
* import { scalarPlugin } from '@classytic/arc/docs';
|
|
134
|
-
*
|
|
135
|
-
* await fastify.register(scalarPlugin, {
|
|
136
|
-
* routePrefix: '/docs',
|
|
137
|
-
* specUrl: '/_docs/openapi.json',
|
|
138
|
-
* });
|
|
139
|
-
*
|
|
140
|
-
* // UI available at /docs
|
|
141
|
-
*/
|
|
142
|
-
|
|
143
|
-
interface ScalarOptions {
|
|
144
|
-
/** Route prefix for UI (default: '/docs') */
|
|
145
|
-
routePrefix?: string;
|
|
146
|
-
/** OpenAPI spec URL (default: '/_docs/openapi.json') */
|
|
147
|
-
specUrl?: string;
|
|
148
|
-
/** Page title */
|
|
149
|
-
title?: string;
|
|
150
|
-
/** Theme (default: 'default') */
|
|
151
|
-
theme?: 'default' | 'alternate' | 'moon' | 'purple' | 'solarized' | 'bluePlanet' | 'saturn' | 'kepler' | 'mars' | 'deepSpace';
|
|
152
|
-
/** Show sidebar (default: true) */
|
|
153
|
-
showSidebar?: boolean;
|
|
154
|
-
/** Dark mode (default: false) */
|
|
155
|
-
darkMode?: boolean;
|
|
156
|
-
/** Auth roles required to access docs */
|
|
157
|
-
authRoles?: string[];
|
|
158
|
-
/** Custom CSS */
|
|
159
|
-
customCss?: string;
|
|
160
|
-
/** Favicon URL */
|
|
161
|
-
favicon?: string;
|
|
162
|
-
}
|
|
163
|
-
declare const scalarPlugin: FastifyPluginAsync<ScalarOptions>;
|
|
164
|
-
declare const _default: FastifyPluginAsync<ScalarOptions>;
|
|
165
|
-
|
|
166
|
-
export { type OpenApiOptions, type OpenApiSpec, type ScalarOptions, _default$1 as openApiPlugin, openApiPlugin as openApiPluginFn, _default as scalarPlugin, scalarPlugin as scalarPluginFn };
|