@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,122 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error Classes
|
|
3
|
-
*
|
|
4
|
-
* Standard error types for the Arc framework.
|
|
5
|
-
*/
|
|
6
|
-
interface ErrorDetails {
|
|
7
|
-
code?: string;
|
|
8
|
-
statusCode?: number;
|
|
9
|
-
details?: Record<string, unknown>;
|
|
10
|
-
cause?: Error;
|
|
11
|
-
requestId?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Base Arc Error
|
|
15
|
-
*
|
|
16
|
-
* All Arc errors extend this class and produce a consistent error envelope:
|
|
17
|
-
* {
|
|
18
|
-
* success: false,
|
|
19
|
-
* error: "Human-readable message",
|
|
20
|
-
* code: "MACHINE_CODE",
|
|
21
|
-
* requestId: "uuid", // For tracing
|
|
22
|
-
* timestamp: "ISO date", // When error occurred
|
|
23
|
-
* details: { ... } // Additional context
|
|
24
|
-
* }
|
|
25
|
-
*/
|
|
26
|
-
declare class ArcError extends Error {
|
|
27
|
-
name: string;
|
|
28
|
-
readonly code: string;
|
|
29
|
-
readonly statusCode: number;
|
|
30
|
-
readonly details?: Record<string, unknown>;
|
|
31
|
-
readonly cause?: Error;
|
|
32
|
-
readonly timestamp: string;
|
|
33
|
-
requestId?: string;
|
|
34
|
-
constructor(message: string, options?: ErrorDetails);
|
|
35
|
-
/**
|
|
36
|
-
* Set request ID (typically from request context)
|
|
37
|
-
*/
|
|
38
|
-
withRequestId(requestId: string): this;
|
|
39
|
-
/**
|
|
40
|
-
* Convert to JSON response
|
|
41
|
-
*/
|
|
42
|
-
toJSON(): Record<string, unknown>;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Not Found Error - 404
|
|
46
|
-
*/
|
|
47
|
-
declare class NotFoundError extends ArcError {
|
|
48
|
-
constructor(resource: string, identifier?: string);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Validation Error - 400
|
|
52
|
-
*/
|
|
53
|
-
declare class ValidationError extends ArcError {
|
|
54
|
-
readonly errors: Array<{
|
|
55
|
-
field: string;
|
|
56
|
-
message: string;
|
|
57
|
-
}>;
|
|
58
|
-
constructor(message: string, errors?: Array<{
|
|
59
|
-
field: string;
|
|
60
|
-
message: string;
|
|
61
|
-
}>);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Unauthorized Error - 401
|
|
65
|
-
*/
|
|
66
|
-
declare class UnauthorizedError extends ArcError {
|
|
67
|
-
constructor(message?: string);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Forbidden Error - 403
|
|
71
|
-
*/
|
|
72
|
-
declare class ForbiddenError extends ArcError {
|
|
73
|
-
constructor(message?: string);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Conflict Error - 409
|
|
77
|
-
*/
|
|
78
|
-
declare class ConflictError extends ArcError {
|
|
79
|
-
constructor(message: string, field?: string);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Organization Required Error - 403
|
|
83
|
-
*/
|
|
84
|
-
declare class OrgRequiredError extends ArcError {
|
|
85
|
-
readonly organizations?: Array<{
|
|
86
|
-
id: string;
|
|
87
|
-
roles?: string[];
|
|
88
|
-
}>;
|
|
89
|
-
constructor(message: string, organizations?: Array<{
|
|
90
|
-
id: string;
|
|
91
|
-
roles?: string[];
|
|
92
|
-
}>);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Organization Access Denied Error - 403
|
|
96
|
-
*/
|
|
97
|
-
declare class OrgAccessDeniedError extends ArcError {
|
|
98
|
-
constructor(orgId?: string);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Rate Limit Error - 429
|
|
102
|
-
*/
|
|
103
|
-
declare class RateLimitError extends ArcError {
|
|
104
|
-
readonly retryAfter?: number;
|
|
105
|
-
constructor(message?: string, retryAfter?: number);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Service Unavailable Error - 503
|
|
109
|
-
*/
|
|
110
|
-
declare class ServiceUnavailableError extends ArcError {
|
|
111
|
-
constructor(message?: string);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Create error from status code
|
|
115
|
-
*/
|
|
116
|
-
declare function createError(statusCode: number, message: string, details?: Record<string, unknown>): ArcError;
|
|
117
|
-
/**
|
|
118
|
-
* Check if error is an Arc error
|
|
119
|
-
*/
|
|
120
|
-
declare function isArcError(error: unknown): error is ArcError;
|
|
121
|
-
|
|
122
|
-
export { ArcError as A, ConflictError as C, type ErrorDetails as E, ForbiddenError as F, NotFoundError as N, OrgRequiredError as O, RateLimitError as R, ServiceUnavailableError as S, UnauthorizedError as U, ValidationError as V, OrgAccessDeniedError as a, createError as c, isArcError as i };
|
package/dist/events/index.d.ts
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { FastifyPluginAsync } from 'fastify';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Event Transport Interface
|
|
5
|
-
*
|
|
6
|
-
* Defines contract for event delivery backends.
|
|
7
|
-
* Implement for durable transports (Redis, RabbitMQ, Kafka, etc.)
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* // Redis Pub/Sub implementation
|
|
11
|
-
* class RedisEventTransport implements EventTransport {
|
|
12
|
-
* async publish(event) {
|
|
13
|
-
* await redis.publish(event.type, JSON.stringify(event));
|
|
14
|
-
* }
|
|
15
|
-
* async subscribe(pattern, handler) {
|
|
16
|
-
* redis.psubscribe(pattern);
|
|
17
|
-
* redis.on('pmessage', (p, channel, msg) => handler(JSON.parse(msg)));
|
|
18
|
-
* }
|
|
19
|
-
* }
|
|
20
|
-
*/
|
|
21
|
-
interface DomainEvent<T = unknown> {
|
|
22
|
-
/** Event type (e.g., 'product.created', 'order.shipped') */
|
|
23
|
-
type: string;
|
|
24
|
-
/** Event payload */
|
|
25
|
-
payload: T;
|
|
26
|
-
/** Event metadata */
|
|
27
|
-
meta: {
|
|
28
|
-
/** Unique event ID */
|
|
29
|
-
id: string;
|
|
30
|
-
/** Event timestamp */
|
|
31
|
-
timestamp: Date;
|
|
32
|
-
/** Source resource */
|
|
33
|
-
resource?: string;
|
|
34
|
-
/** Resource ID */
|
|
35
|
-
resourceId?: string;
|
|
36
|
-
/** User who triggered the event */
|
|
37
|
-
userId?: string;
|
|
38
|
-
/** Organization context */
|
|
39
|
-
organizationId?: string;
|
|
40
|
-
/** Correlation ID for tracing */
|
|
41
|
-
correlationId?: string;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
type EventHandler<T = unknown> = (event: DomainEvent<T>) => void | Promise<void>;
|
|
45
|
-
interface EventTransport {
|
|
46
|
-
/** Transport name for logging */
|
|
47
|
-
readonly name: string;
|
|
48
|
-
/**
|
|
49
|
-
* Publish an event to the transport
|
|
50
|
-
*/
|
|
51
|
-
publish(event: DomainEvent): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Subscribe to events matching a pattern
|
|
54
|
-
* @param pattern - Event type pattern (e.g., 'product.*', '*')
|
|
55
|
-
* @param handler - Handler function
|
|
56
|
-
* @returns Unsubscribe function
|
|
57
|
-
*/
|
|
58
|
-
subscribe(pattern: string, handler: EventHandler): Promise<() => void>;
|
|
59
|
-
/**
|
|
60
|
-
* Close transport connections
|
|
61
|
-
*/
|
|
62
|
-
close?(): Promise<void>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* In-memory event transport (default)
|
|
66
|
-
* Events are delivered synchronously within the process.
|
|
67
|
-
* Not suitable for multi-instance deployments.
|
|
68
|
-
*/
|
|
69
|
-
declare class MemoryEventTransport implements EventTransport {
|
|
70
|
-
readonly name = "memory";
|
|
71
|
-
private handlers;
|
|
72
|
-
publish(event: DomainEvent): Promise<void>;
|
|
73
|
-
subscribe(pattern: string, handler: EventHandler): Promise<() => void>;
|
|
74
|
-
close(): Promise<void>;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Create a domain event with auto-generated metadata
|
|
78
|
-
*/
|
|
79
|
-
declare function createEvent<T>(type: string, payload: T, meta?: Partial<DomainEvent['meta']>): DomainEvent<T>;
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Event Plugin
|
|
83
|
-
*
|
|
84
|
-
* Integrates event transport with Fastify.
|
|
85
|
-
* Defaults to in-memory transport; configure durable transport for production.
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* // Development (in-memory)
|
|
89
|
-
* await fastify.register(eventPlugin);
|
|
90
|
-
*
|
|
91
|
-
* // Production (Redis)
|
|
92
|
-
* await fastify.register(eventPlugin, {
|
|
93
|
-
* transport: new RedisEventTransport({ url: process.env.REDIS_URL }),
|
|
94
|
-
* });
|
|
95
|
-
*/
|
|
96
|
-
|
|
97
|
-
interface EventPluginOptions {
|
|
98
|
-
/** Event transport (default: MemoryEventTransport) */
|
|
99
|
-
transport?: EventTransport;
|
|
100
|
-
/** Enable event logging (default: false) */
|
|
101
|
-
logEvents?: boolean;
|
|
102
|
-
}
|
|
103
|
-
declare module 'fastify' {
|
|
104
|
-
interface FastifyInstance {
|
|
105
|
-
events: {
|
|
106
|
-
/** Publish an event */
|
|
107
|
-
publish: <T>(type: string, payload: T, meta?: Partial<DomainEvent['meta']>) => Promise<void>;
|
|
108
|
-
/** Subscribe to events */
|
|
109
|
-
subscribe: (pattern: string, handler: EventHandler) => Promise<() => void>;
|
|
110
|
-
/** Get transport name */
|
|
111
|
-
transportName: string;
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
declare const eventPlugin: FastifyPluginAsync<EventPluginOptions>;
|
|
116
|
-
|
|
117
|
-
export { type DomainEvent, type EventHandler, type EventPluginOptions, type EventTransport, MemoryEventTransport, createEvent, eventPlugin };
|
package/dist/events/index.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import fp from 'fastify-plugin';
|
|
2
|
-
|
|
3
|
-
// src/events/EventTransport.ts
|
|
4
|
-
var MemoryEventTransport = class {
|
|
5
|
-
name = "memory";
|
|
6
|
-
handlers = /* @__PURE__ */ new Map();
|
|
7
|
-
async publish(event) {
|
|
8
|
-
const exactHandlers = this.handlers.get(event.type) ?? /* @__PURE__ */ new Set();
|
|
9
|
-
const wildcardHandlers = this.handlers.get("*") ?? /* @__PURE__ */ new Set();
|
|
10
|
-
const patternHandlers = /* @__PURE__ */ new Set();
|
|
11
|
-
for (const [pattern, handlers] of this.handlers.entries()) {
|
|
12
|
-
if (pattern.endsWith(".*")) {
|
|
13
|
-
const prefix = pattern.slice(0, -2);
|
|
14
|
-
if (event.type.startsWith(prefix + ".")) {
|
|
15
|
-
handlers.forEach((h) => patternHandlers.add(h));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
const allHandlers = /* @__PURE__ */ new Set([...exactHandlers, ...wildcardHandlers, ...patternHandlers]);
|
|
20
|
-
for (const handler of allHandlers) {
|
|
21
|
-
try {
|
|
22
|
-
await handler(event);
|
|
23
|
-
} catch (err) {
|
|
24
|
-
console.error(`[EventTransport] Handler error for ${event.type}:`, err);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async subscribe(pattern, handler) {
|
|
29
|
-
if (!this.handlers.has(pattern)) {
|
|
30
|
-
this.handlers.set(pattern, /* @__PURE__ */ new Set());
|
|
31
|
-
}
|
|
32
|
-
this.handlers.get(pattern).add(handler);
|
|
33
|
-
return () => {
|
|
34
|
-
this.handlers.get(pattern)?.delete(handler);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
async close() {
|
|
38
|
-
this.handlers.clear();
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
function createEvent(type, payload, meta) {
|
|
42
|
-
return {
|
|
43
|
-
type,
|
|
44
|
-
payload,
|
|
45
|
-
meta: {
|
|
46
|
-
id: crypto.randomUUID(),
|
|
47
|
-
timestamp: /* @__PURE__ */ new Date(),
|
|
48
|
-
...meta
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
var eventPlugin = async (fastify, opts = {}) => {
|
|
53
|
-
const {
|
|
54
|
-
transport = new MemoryEventTransport(),
|
|
55
|
-
logEvents = false
|
|
56
|
-
} = opts;
|
|
57
|
-
fastify.decorate("events", {
|
|
58
|
-
publish: async (type, payload, meta) => {
|
|
59
|
-
const event = createEvent(type, payload, meta);
|
|
60
|
-
if (logEvents) {
|
|
61
|
-
fastify.log?.info?.({ eventType: type, eventId: event.meta.id }, "Publishing event");
|
|
62
|
-
}
|
|
63
|
-
await transport.publish(event);
|
|
64
|
-
},
|
|
65
|
-
subscribe: async (pattern, handler) => {
|
|
66
|
-
if (logEvents) {
|
|
67
|
-
fastify.log?.info?.({ pattern }, "Subscribing to events");
|
|
68
|
-
}
|
|
69
|
-
return transport.subscribe(pattern, handler);
|
|
70
|
-
},
|
|
71
|
-
transportName: transport.name
|
|
72
|
-
});
|
|
73
|
-
fastify.addHook("onClose", async () => {
|
|
74
|
-
await transport.close?.();
|
|
75
|
-
});
|
|
76
|
-
if (transport.name === "memory") {
|
|
77
|
-
fastify.log?.warn?.(
|
|
78
|
-
"[Arc Events] Using in-memory transport. Events will not persist or scale across instances. For production, configure a durable transport (Redis, RabbitMQ, etc.)"
|
|
79
|
-
);
|
|
80
|
-
} else {
|
|
81
|
-
fastify.log?.info?.(`[Arc Events] Using ${transport.name} transport`);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
fp(eventPlugin, {
|
|
85
|
-
name: "arc-events",
|
|
86
|
-
fastify: "5.x"
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
export { MemoryEventTransport, createEvent, eventPlugin };
|
package/dist/factory/index.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export { A as ArcFactory, c as createApp } from '../createApp-Ce9wl8W9.js';
|
|
2
|
-
import { C as CreateAppOptions } from '../types-BvckRbs2.js';
|
|
3
|
-
export { M as MultipartOptions, R as RawBodyOptions, U as UnderPressureOptions } from '../types-BvckRbs2.js';
|
|
4
|
-
import 'fastify';
|
|
5
|
-
import '@fastify/cors';
|
|
6
|
-
import '@fastify/helmet';
|
|
7
|
-
import '@fastify/rate-limit';
|
|
8
|
-
import '../index-B4t03KQ0.js';
|
|
9
|
-
import 'mongoose';
|
|
10
|
-
import '../types-B99TBmFV.js';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Environment Presets for createApp
|
|
14
|
-
*
|
|
15
|
-
* Provides sensible defaults for different environments:
|
|
16
|
-
* - production: Strict security, performance optimized
|
|
17
|
-
* - development: Relaxed CORS, verbose logging
|
|
18
|
-
* - testing: In-memory DB, no rate limiting
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Production preset - strict security, performance optimized
|
|
23
|
-
*/
|
|
24
|
-
declare const productionPreset: Partial<CreateAppOptions>;
|
|
25
|
-
/**
|
|
26
|
-
* Development preset - relaxed security, verbose logging
|
|
27
|
-
*/
|
|
28
|
-
declare const developmentPreset: Partial<CreateAppOptions>;
|
|
29
|
-
/**
|
|
30
|
-
* Testing preset - minimal setup, fast startup
|
|
31
|
-
*/
|
|
32
|
-
declare const testingPreset: Partial<CreateAppOptions>;
|
|
33
|
-
/**
|
|
34
|
-
* Get preset by name
|
|
35
|
-
*/
|
|
36
|
-
declare function getPreset(name: 'production' | 'development' | 'testing'): Partial<CreateAppOptions>;
|
|
37
|
-
|
|
38
|
-
export { CreateAppOptions, developmentPreset, getPreset, productionPreset, testingPreset };
|