@zero-server/sdk 0.9.1 → 0.9.3
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/LICENSE +21 -21
- package/README.md +460 -443
- package/index.js +414 -412
- package/lib/app.js +1172 -1172
- package/lib/auth/authorize.js +399 -399
- package/lib/auth/enrollment.js +367 -367
- package/lib/auth/index.js +57 -57
- package/lib/auth/jwt.js +731 -731
- package/lib/auth/oauth.js +362 -362
- package/lib/auth/session.js +588 -588
- package/lib/auth/trustedDevice.js +409 -409
- package/lib/auth/twoFactor.js +1150 -1150
- package/lib/auth/webauthn.js +946 -946
- package/lib/body/index.js +14 -14
- package/lib/body/json.js +109 -109
- package/lib/body/multipart.js +440 -440
- package/lib/body/raw.js +71 -71
- package/lib/body/rawBuffer.js +160 -160
- package/lib/body/sendError.js +25 -25
- package/lib/body/text.js +75 -75
- package/lib/body/typeMatch.js +41 -41
- package/lib/body/urlencoded.js +235 -235
- package/lib/cli.js +845 -845
- package/lib/cluster.js +666 -666
- package/lib/debug.js +372 -372
- package/lib/env/index.js +465 -465
- package/lib/errors.js +683 -683
- package/lib/fetch/index.js +256 -256
- package/lib/grpc/balancer.js +378 -378
- package/lib/grpc/call.js +708 -708
- package/lib/grpc/client.js +764 -764
- package/lib/grpc/codec.js +1221 -1221
- package/lib/grpc/credentials.js +398 -398
- package/lib/grpc/frame.js +262 -262
- package/lib/grpc/health.js +287 -287
- package/lib/grpc/index.js +121 -121
- package/lib/grpc/metadata.js +461 -461
- package/lib/grpc/proto.js +821 -821
- package/lib/grpc/reflection.js +590 -590
- package/lib/grpc/server.js +445 -445
- package/lib/grpc/status.js +118 -118
- package/lib/grpc/watch.js +173 -173
- package/lib/http/index.js +10 -10
- package/lib/http/request.js +727 -727
- package/lib/http/response.js +799 -799
- package/lib/lifecycle.js +557 -557
- package/lib/middleware/compress.js +230 -230
- package/lib/middleware/cookieParser.js +237 -237
- package/lib/middleware/cors.js +93 -93
- package/lib/middleware/csrf.js +137 -137
- package/lib/middleware/errorHandler.js +101 -101
- package/lib/middleware/helmet.js +175 -175
- package/lib/middleware/index.js +19 -17
- package/lib/middleware/logger.js +74 -74
- package/lib/middleware/rateLimit.js +88 -88
- package/lib/middleware/requestId.js +53 -53
- package/lib/middleware/static.js +326 -326
- package/lib/middleware/timeout.js +71 -71
- package/lib/middleware/validator.js +255 -255
- package/lib/observe/health.js +326 -326
- package/lib/observe/index.js +50 -50
- package/lib/observe/logger.js +359 -359
- package/lib/observe/metrics.js +805 -805
- package/lib/observe/tracing.js +592 -592
- package/lib/orm/adapters/json.js +290 -290
- package/lib/orm/adapters/memory.js +764 -764
- package/lib/orm/adapters/mongo.js +764 -764
- package/lib/orm/adapters/mysql.js +933 -933
- package/lib/orm/adapters/postgres.js +1144 -1144
- package/lib/orm/adapters/redis.js +1534 -1534
- package/lib/orm/adapters/sql-base.js +212 -212
- package/lib/orm/adapters/sqlite.js +858 -858
- package/lib/orm/audit.js +649 -649
- package/lib/orm/cache.js +394 -394
- package/lib/orm/geo.js +387 -387
- package/lib/orm/index.js +784 -784
- package/lib/orm/migrate.js +432 -432
- package/lib/orm/model.js +1706 -1706
- package/lib/orm/plugin.js +375 -375
- package/lib/orm/procedures.js +836 -836
- package/lib/orm/profiler.js +233 -233
- package/lib/orm/query.js +1772 -1772
- package/lib/orm/replicas.js +241 -241
- package/lib/orm/schema.js +307 -307
- package/lib/orm/search.js +380 -380
- package/lib/orm/seed/data/commerce.js +136 -136
- package/lib/orm/seed/data/internet.js +111 -111
- package/lib/orm/seed/data/locations.js +204 -204
- package/lib/orm/seed/data/names.js +338 -338
- package/lib/orm/seed/data/person.js +128 -128
- package/lib/orm/seed/data/phone.js +211 -211
- package/lib/orm/seed/data/words.js +134 -134
- package/lib/orm/seed/factory.js +178 -178
- package/lib/orm/seed/fake.js +1186 -1186
- package/lib/orm/seed/index.js +18 -18
- package/lib/orm/seed/rng.js +70 -70
- package/lib/orm/seed/seeder.js +124 -124
- package/lib/orm/seed/unique.js +68 -68
- package/lib/orm/snapshot.js +366 -366
- package/lib/orm/tenancy.js +605 -605
- package/lib/orm/views.js +350 -350
- package/lib/router/index.js +436 -436
- package/lib/sse/index.js +8 -8
- package/lib/sse/stream.js +349 -349
- package/lib/ws/connection.js +451 -451
- package/lib/ws/handshake.js +125 -125
- package/lib/ws/index.js +14 -14
- package/lib/ws/room.js +223 -223
- package/package.json +73 -73
- package/types/app.d.ts +223 -223
- package/types/auth.d.ts +520 -520
- package/types/body.d.ts +14 -0
- package/types/cli.d.ts +2 -0
- package/types/cluster.d.ts +75 -75
- package/types/env.d.ts +80 -80
- package/types/errors.d.ts +316 -316
- package/types/fetch.d.ts +43 -43
- package/types/grpc.d.ts +432 -432
- package/types/index.d.ts +384 -384
- package/types/lifecycle.d.ts +60 -60
- package/types/middleware.d.ts +320 -320
- package/types/observe.d.ts +304 -304
- package/types/orm.d.ts +1887 -1887
- package/types/request.d.ts +109 -109
- package/types/response.d.ts +157 -157
- package/types/router.d.ts +78 -78
- package/types/sse.d.ts +78 -78
- package/types/websocket.d.ts +126 -126
package/index.js
CHANGED
|
@@ -1,412 +1,414 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module @zero-server/sdk
|
|
3
|
-
* @description Public entry point for the @zero-server/sdk package.
|
|
4
|
-
* Re-exports every middleware, the app factory, and the fetch helper.
|
|
5
|
-
*/
|
|
6
|
-
const App = require('./lib/app');
|
|
7
|
-
const Router = require('./lib/router');
|
|
8
|
-
const cors = require('./lib/middleware/cors');
|
|
9
|
-
const fetch = require('./lib/fetch');
|
|
10
|
-
const body = require('./lib/body');
|
|
11
|
-
const serveStatic = require('./lib/middleware/static');
|
|
12
|
-
const rateLimit = require('./lib/middleware/rateLimit');
|
|
13
|
-
const logger = require('./lib/middleware/logger');
|
|
14
|
-
const compress = require('./lib/middleware/compress');
|
|
15
|
-
const helmet = require('./lib/middleware/helmet');
|
|
16
|
-
const timeout = require('./lib/middleware/timeout');
|
|
17
|
-
const requestId = require('./lib/middleware/requestId');
|
|
18
|
-
const cookieParser = require('./lib/middleware/cookieParser');
|
|
19
|
-
const csrf = require('./lib/middleware/csrf');
|
|
20
|
-
const validate = require('./lib/middleware/validator');
|
|
21
|
-
const errorHandler = require('./lib/middleware/errorHandler');
|
|
22
|
-
const { WebSocketConnection, WebSocketPool } = require('./lib/ws');
|
|
23
|
-
const { SSEStream } = require('./lib/sse');
|
|
24
|
-
const env = require('./lib/env');
|
|
25
|
-
const { Database, Model, TYPES, Query, validateFKAction, validateCheck, Migrator, defineMigration, QueryCache, Seeder, SeederRunner, Factory, Fake, QueryProfiler, ReplicaManager, DatabaseView, FullTextSearch, GeoQuery, EARTH_RADIUS_KM, EARTH_RADIUS_MI, TenantManager, AuditLog, PluginManager, StoredProcedure, StoredFunction, TriggerManager, buildSnapshot, loadSnapshot, saveSnapshot, diffSnapshots, hasNoChanges, generateMigrationCode, discoverModels, SNAPSHOT_FILE } = require('./lib/orm');
|
|
26
|
-
const { CLI, runCLI } = require('./lib/cli');
|
|
27
|
-
const errors = require('./lib/errors');
|
|
28
|
-
const debug = require('./lib/debug');
|
|
29
|
-
const { LifecycleManager, LIFECYCLE_STATE } = require('./lib/lifecycle');
|
|
30
|
-
const { ClusterManager, clusterize } = require('./lib/cluster');
|
|
31
|
-
const {
|
|
32
|
-
Logger, structuredLogger,
|
|
33
|
-
Counter, Gauge, Histogram, MetricsRegistry, DEFAULT_BUCKETS,
|
|
34
|
-
createDefaultMetrics, metricsMiddleware, metricsEndpoint: metricsEndpointHandler,
|
|
35
|
-
Span, Tracer, parseTraceparent, formatTraceparent, tracingMiddleware, instrumentFetch,
|
|
36
|
-
healthCheck, createHealthHandlers, memoryCheck, eventLoopCheck, diskSpaceCheck,
|
|
37
|
-
} = require('./lib/observe');
|
|
38
|
-
const {
|
|
39
|
-
jwt, sign: jwtSign, verify: jwtVerify, decode: jwtDecode, jwks, tokenPair, createRefreshToken, SUPPORTED_ALGORITHMS,
|
|
40
|
-
session, Session, MemoryStore,
|
|
41
|
-
oauth, generatePKCE, generateState, PROVIDERS: OAUTH_PROVIDERS,
|
|
42
|
-
authorize, can, canAny, Policy, gate, attachUserHelpers,
|
|
43
|
-
twoFactor,
|
|
44
|
-
webauthn,
|
|
45
|
-
trustedDevice,
|
|
46
|
-
enrollment,
|
|
47
|
-
} = require('./lib/auth');
|
|
48
|
-
const {
|
|
49
|
-
GrpcStatus, grpcToHttp, statusName: grpcStatusName, STATUS_NAMES: GRPC_STATUS_NAMES,
|
|
50
|
-
Metadata: GrpcMetadata,
|
|
51
|
-
Writer: ProtoWriter, Reader: ProtoReader, encode: protoEncode, decode: protoDecode,
|
|
52
|
-
WIRE_TYPE, TYPE_INFO,
|
|
53
|
-
parseProto, parseProtoFile,
|
|
54
|
-
frameEncode, FrameParser,
|
|
55
|
-
GrpcServiceRegistry, GrpcClient,
|
|
56
|
-
HealthService: GrpcHealthService, ServingStatus: GrpcServingStatus,
|
|
57
|
-
ReflectionService: GrpcReflectionService,
|
|
58
|
-
LoadBalancer: GrpcLoadBalancer, Subchannel: GrpcSubchannel, SubchannelState: GrpcSubchannelState,
|
|
59
|
-
ChannelCredentials, createRotatingCredentials,
|
|
60
|
-
watchProto,
|
|
61
|
-
} = require('./lib/grpc');
|
|
62
|
-
const { version } = require('./package.json');
|
|
63
|
-
|
|
64
|
-
module.exports = {
|
|
65
|
-
/**
|
|
66
|
-
* Create a new application instance.
|
|
67
|
-
* @returns {import('./lib/app')} Fresh App with an empty middleware stack.
|
|
68
|
-
*/
|
|
69
|
-
createApp: () => new App(),
|
|
70
|
-
/**
|
|
71
|
-
* Create a standalone Router for modular route grouping.
|
|
72
|
-
* Mount on an App with `app.use('/prefix', router)`.
|
|
73
|
-
* @returns {import('./lib/router')} Fresh Router instance.
|
|
74
|
-
*/
|
|
75
|
-
Router: () => new Router(),
|
|
76
|
-
/** @see module:cors */
|
|
77
|
-
cors,
|
|
78
|
-
/** @see module:fetch */
|
|
79
|
-
fetch,
|
|
80
|
-
// body parsers
|
|
81
|
-
/** @see module:body/json */
|
|
82
|
-
json: body.json,
|
|
83
|
-
/** @see module:body/urlencoded */
|
|
84
|
-
urlencoded: body.urlencoded,
|
|
85
|
-
/** @see module:body/text */
|
|
86
|
-
text: body.text,
|
|
87
|
-
/** @see module:body/raw */
|
|
88
|
-
raw: body.raw,
|
|
89
|
-
/** @see module:body/multipart */
|
|
90
|
-
multipart: body.multipart,
|
|
91
|
-
// serving
|
|
92
|
-
/** @see module:static */
|
|
93
|
-
static: serveStatic,
|
|
94
|
-
// middleware
|
|
95
|
-
/** @see module:rateLimit */
|
|
96
|
-
rateLimit,
|
|
97
|
-
/** @see module:logger */
|
|
98
|
-
logger,
|
|
99
|
-
/** @see module:compress */
|
|
100
|
-
compress,
|
|
101
|
-
/** @see module:helmet */
|
|
102
|
-
helmet,
|
|
103
|
-
/** @see module:timeout */
|
|
104
|
-
timeout,
|
|
105
|
-
/** @see module:requestId */
|
|
106
|
-
requestId,
|
|
107
|
-
/** @see module:cookieParser */
|
|
108
|
-
cookieParser,
|
|
109
|
-
/** @see module:csrf */
|
|
110
|
-
csrf,
|
|
111
|
-
/** @see module:validator */
|
|
112
|
-
validate,
|
|
113
|
-
/** @see module:middleware/errorHandler */
|
|
114
|
-
errorHandler,
|
|
115
|
-
// env
|
|
116
|
-
/** @see module:env */
|
|
117
|
-
env,
|
|
118
|
-
// ORM
|
|
119
|
-
/** @see module:orm */
|
|
120
|
-
Database,
|
|
121
|
-
/** @see module:orm/model */
|
|
122
|
-
Model,
|
|
123
|
-
/** @see module:orm/schema */
|
|
124
|
-
TYPES,
|
|
125
|
-
/** @see module:orm/query */
|
|
126
|
-
Query,
|
|
127
|
-
/** @see module:orm/schema */
|
|
128
|
-
validateFKAction,
|
|
129
|
-
/** @see module:orm/schema */
|
|
130
|
-
validateCheck,
|
|
131
|
-
// ORM: Migration framework
|
|
132
|
-
/** @see module:orm/migrate */
|
|
133
|
-
Migrator,
|
|
134
|
-
/** @see module:orm/migrate */
|
|
135
|
-
defineMigration,
|
|
136
|
-
// ORM: Schema snapshots (EF Core–style auto-migrations)
|
|
137
|
-
/** @see module:orm/snapshot */
|
|
138
|
-
buildSnapshot,
|
|
139
|
-
loadSnapshot,
|
|
140
|
-
saveSnapshot,
|
|
141
|
-
diffSnapshots,
|
|
142
|
-
hasNoChanges,
|
|
143
|
-
generateMigrationCode,
|
|
144
|
-
discoverModels,
|
|
145
|
-
SNAPSHOT_FILE,
|
|
146
|
-
// ORM: Query caching
|
|
147
|
-
/** @see module:orm/cache */
|
|
148
|
-
QueryCache,
|
|
149
|
-
// ORM: Seeding
|
|
150
|
-
/** @see module:orm/seed */
|
|
151
|
-
Seeder,
|
|
152
|
-
/** @see module:orm/seed */
|
|
153
|
-
SeederRunner,
|
|
154
|
-
/** @see module:orm/seed */
|
|
155
|
-
Factory,
|
|
156
|
-
/** @see module:orm/seed */
|
|
157
|
-
Fake,
|
|
158
|
-
// ORM: Performance & Scalability
|
|
159
|
-
/** @see module:orm/profiler */
|
|
160
|
-
QueryProfiler,
|
|
161
|
-
/** @see module:orm/replicas */
|
|
162
|
-
ReplicaManager,
|
|
163
|
-
// ORM: Advanced Features (Phase 3)
|
|
164
|
-
/** @see module:orm/views */
|
|
165
|
-
DatabaseView,
|
|
166
|
-
/** @see module:orm/search */
|
|
167
|
-
FullTextSearch,
|
|
168
|
-
/** @see module:orm/geo */
|
|
169
|
-
GeoQuery,
|
|
170
|
-
/** @see module:orm/geo */
|
|
171
|
-
EARTH_RADIUS_KM,
|
|
172
|
-
/** @see module:orm/geo */
|
|
173
|
-
EARTH_RADIUS_MI,
|
|
174
|
-
// ORM: Enterprise Infrastructure (Phase 4)
|
|
175
|
-
/** @see module:orm/tenancy */
|
|
176
|
-
TenantManager,
|
|
177
|
-
/** @see module:orm/audit */
|
|
178
|
-
AuditLog,
|
|
179
|
-
/** @see module:orm/plugin */
|
|
180
|
-
PluginManager,
|
|
181
|
-
/** @see module:orm/procedures */
|
|
182
|
-
StoredProcedure,
|
|
183
|
-
/** @see module:orm/procedures */
|
|
184
|
-
StoredFunction,
|
|
185
|
-
/** @see module:orm/procedures */
|
|
186
|
-
TriggerManager,
|
|
187
|
-
// Error handling & debugging
|
|
188
|
-
/** @see module:errors */
|
|
189
|
-
HttpError: errors.HttpError,
|
|
190
|
-
BadRequestError: errors.BadRequestError,
|
|
191
|
-
UnauthorizedError: errors.UnauthorizedError,
|
|
192
|
-
ForbiddenError: errors.ForbiddenError,
|
|
193
|
-
NotFoundError: errors.NotFoundError,
|
|
194
|
-
MethodNotAllowedError: errors.MethodNotAllowedError,
|
|
195
|
-
ConflictError: errors.ConflictError,
|
|
196
|
-
GoneError: errors.GoneError,
|
|
197
|
-
PayloadTooLargeError: errors.PayloadTooLargeError,
|
|
198
|
-
UnprocessableEntityError: errors.UnprocessableEntityError,
|
|
199
|
-
ValidationError: errors.ValidationError,
|
|
200
|
-
TooManyRequestsError: errors.TooManyRequestsError,
|
|
201
|
-
InternalError: errors.InternalError,
|
|
202
|
-
NotImplementedError: errors.NotImplementedError,
|
|
203
|
-
BadGatewayError: errors.BadGatewayError,
|
|
204
|
-
ServiceUnavailableError: errors.ServiceUnavailableError,
|
|
205
|
-
// Framework-specific errors
|
|
206
|
-
DatabaseError: errors.DatabaseError,
|
|
207
|
-
ConfigurationError: errors.ConfigurationError,
|
|
208
|
-
MiddlewareError: errors.MiddlewareError,
|
|
209
|
-
RoutingError: errors.RoutingError,
|
|
210
|
-
TimeoutError: errors.TimeoutError,
|
|
211
|
-
// ORM-specific errors
|
|
212
|
-
ConnectionError: errors.ConnectionError,
|
|
213
|
-
MigrationError: errors.MigrationError,
|
|
214
|
-
TransactionError: errors.TransactionError,
|
|
215
|
-
QueryError: errors.QueryError,
|
|
216
|
-
AdapterError: errors.AdapterError,
|
|
217
|
-
CacheError: errors.CacheError,
|
|
218
|
-
// Phase 4 errors
|
|
219
|
-
TenancyError: errors.TenancyError,
|
|
220
|
-
AuditError: errors.AuditError,
|
|
221
|
-
PluginError: errors.PluginError,
|
|
222
|
-
ProcedureError: errors.ProcedureError,
|
|
223
|
-
createError: errors.createError,
|
|
224
|
-
isHttpError: errors.isHttpError,
|
|
225
|
-
/** @see module:debug */
|
|
226
|
-
debug,
|
|
227
|
-
// ORM: CLI tooling
|
|
228
|
-
/** @see module:cli */
|
|
229
|
-
CLI,
|
|
230
|
-
/** @see module:cli */
|
|
231
|
-
runCLI,
|
|
232
|
-
// classes (for advanced / direct usage)
|
|
233
|
-
/** @see module:ws/connection */
|
|
234
|
-
WebSocketConnection,
|
|
235
|
-
/** @see module:ws/
|
|
236
|
-
|
|
237
|
-
/** @see module:
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
/** @see module:lifecycle */
|
|
243
|
-
|
|
244
|
-
/** @see module:
|
|
245
|
-
|
|
246
|
-
/** @see module:cluster */
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
/** @see module:observe/logger */
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
/** @see module:observe/metrics */
|
|
257
|
-
|
|
258
|
-
/** @see module:observe/metrics */
|
|
259
|
-
|
|
260
|
-
/** @see module:observe/metrics */
|
|
261
|
-
|
|
262
|
-
/** @see module:observe/metrics */
|
|
263
|
-
|
|
264
|
-
/** @see module:observe/metrics */
|
|
265
|
-
|
|
266
|
-
/** @see module:observe/metrics */
|
|
267
|
-
|
|
268
|
-
/** @see module:observe/metrics */
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
/** @see module:observe/tracing */
|
|
274
|
-
|
|
275
|
-
/** @see module:observe/tracing */
|
|
276
|
-
|
|
277
|
-
/** @see module:observe/tracing */
|
|
278
|
-
|
|
279
|
-
/** @see module:observe/tracing */
|
|
280
|
-
|
|
281
|
-
/** @see module:observe/tracing */
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
/** @see module:observe/health */
|
|
287
|
-
|
|
288
|
-
/** @see module:observe/health */
|
|
289
|
-
|
|
290
|
-
/** @see module:observe/health */
|
|
291
|
-
|
|
292
|
-
/** @see module:observe/health */
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
/** @see module:auth/jwt */
|
|
298
|
-
|
|
299
|
-
/** @see module:auth/jwt */
|
|
300
|
-
|
|
301
|
-
/** @see module:auth/jwt */
|
|
302
|
-
|
|
303
|
-
/** @see module:auth/jwt */
|
|
304
|
-
|
|
305
|
-
/** @see module:auth/jwt */
|
|
306
|
-
|
|
307
|
-
/** @see module:auth/jwt */
|
|
308
|
-
|
|
309
|
-
/** @see module:auth/jwt */
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
/** @see module:auth/session */
|
|
315
|
-
|
|
316
|
-
/** @see module:auth/session */
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
/** @see module:auth/oauth */
|
|
322
|
-
|
|
323
|
-
/** @see module:auth/oauth */
|
|
324
|
-
|
|
325
|
-
/** @see module:auth/oauth */
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
/** @see module:auth/authorize */
|
|
331
|
-
|
|
332
|
-
/** @see module:auth/authorize */
|
|
333
|
-
|
|
334
|
-
/** @see module:auth/authorize */
|
|
335
|
-
|
|
336
|
-
/** @see module:auth/authorize */
|
|
337
|
-
|
|
338
|
-
/** @see module:auth/authorize */
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
/** @see module:grpc/status */
|
|
356
|
-
|
|
357
|
-
/** @see module:grpc/status */
|
|
358
|
-
|
|
359
|
-
/** @see module:grpc/status */
|
|
360
|
-
|
|
361
|
-
/** @see module:grpc/
|
|
362
|
-
|
|
363
|
-
/** @see module:grpc/
|
|
364
|
-
|
|
365
|
-
/** @see module:grpc/codec */
|
|
366
|
-
|
|
367
|
-
/** @see module:grpc/codec */
|
|
368
|
-
|
|
369
|
-
/** @see module:grpc/codec */
|
|
370
|
-
|
|
371
|
-
/** @see module:grpc/codec */
|
|
372
|
-
|
|
373
|
-
/** @see module:grpc/codec */
|
|
374
|
-
|
|
375
|
-
/** @see module:grpc/
|
|
376
|
-
|
|
377
|
-
/** @see module:grpc/proto */
|
|
378
|
-
|
|
379
|
-
/** @see module:grpc/
|
|
380
|
-
|
|
381
|
-
/** @see module:grpc/frame */
|
|
382
|
-
|
|
383
|
-
/** @see module:grpc/
|
|
384
|
-
|
|
385
|
-
/** @see module:grpc/
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
/** @see module:grpc/health */
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
/** @see module:grpc/balancer */
|
|
399
|
-
|
|
400
|
-
/** @see module:grpc/balancer */
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
/** @see module:grpc/credentials */
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
/**
|
|
411
|
-
|
|
412
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @module @zero-server/sdk
|
|
3
|
+
* @description Public entry point for the @zero-server/sdk package.
|
|
4
|
+
* Re-exports every middleware, the app factory, and the fetch helper.
|
|
5
|
+
*/
|
|
6
|
+
const App = require('./lib/app');
|
|
7
|
+
const Router = require('./lib/router');
|
|
8
|
+
const cors = require('./lib/middleware/cors');
|
|
9
|
+
const fetch = require('./lib/fetch');
|
|
10
|
+
const body = require('./lib/body');
|
|
11
|
+
const serveStatic = require('./lib/middleware/static');
|
|
12
|
+
const rateLimit = require('./lib/middleware/rateLimit');
|
|
13
|
+
const logger = require('./lib/middleware/logger');
|
|
14
|
+
const compress = require('./lib/middleware/compress');
|
|
15
|
+
const helmet = require('./lib/middleware/helmet');
|
|
16
|
+
const timeout = require('./lib/middleware/timeout');
|
|
17
|
+
const requestId = require('./lib/middleware/requestId');
|
|
18
|
+
const cookieParser = require('./lib/middleware/cookieParser');
|
|
19
|
+
const csrf = require('./lib/middleware/csrf');
|
|
20
|
+
const validate = require('./lib/middleware/validator');
|
|
21
|
+
const errorHandler = require('./lib/middleware/errorHandler');
|
|
22
|
+
const { WebSocketConnection, handleUpgrade, WebSocketPool } = require('./lib/ws');
|
|
23
|
+
const { SSEStream } = require('./lib/sse');
|
|
24
|
+
const env = require('./lib/env');
|
|
25
|
+
const { Database, Model, TYPES, Query, validateFKAction, validateCheck, Migrator, defineMigration, QueryCache, Seeder, SeederRunner, Factory, Fake, QueryProfiler, ReplicaManager, DatabaseView, FullTextSearch, GeoQuery, EARTH_RADIUS_KM, EARTH_RADIUS_MI, TenantManager, AuditLog, PluginManager, StoredProcedure, StoredFunction, TriggerManager, buildSnapshot, loadSnapshot, saveSnapshot, diffSnapshots, hasNoChanges, generateMigrationCode, discoverModels, SNAPSHOT_FILE } = require('./lib/orm');
|
|
26
|
+
const { CLI, runCLI } = require('./lib/cli');
|
|
27
|
+
const errors = require('./lib/errors');
|
|
28
|
+
const debug = require('./lib/debug');
|
|
29
|
+
const { LifecycleManager, LIFECYCLE_STATE } = require('./lib/lifecycle');
|
|
30
|
+
const { ClusterManager, clusterize } = require('./lib/cluster');
|
|
31
|
+
const {
|
|
32
|
+
Logger, structuredLogger,
|
|
33
|
+
Counter, Gauge, Histogram, MetricsRegistry, DEFAULT_BUCKETS,
|
|
34
|
+
createDefaultMetrics, metricsMiddleware, metricsEndpoint: metricsEndpointHandler,
|
|
35
|
+
Span, Tracer, parseTraceparent, formatTraceparent, tracingMiddleware, instrumentFetch,
|
|
36
|
+
healthCheck, createHealthHandlers, memoryCheck, eventLoopCheck, diskSpaceCheck,
|
|
37
|
+
} = require('./lib/observe');
|
|
38
|
+
const {
|
|
39
|
+
jwt, sign: jwtSign, verify: jwtVerify, decode: jwtDecode, jwks, tokenPair, createRefreshToken, SUPPORTED_ALGORITHMS,
|
|
40
|
+
session, Session, MemoryStore,
|
|
41
|
+
oauth, generatePKCE, generateState, PROVIDERS: OAUTH_PROVIDERS,
|
|
42
|
+
authorize, can, canAny, Policy, gate, attachUserHelpers,
|
|
43
|
+
twoFactor,
|
|
44
|
+
webauthn,
|
|
45
|
+
trustedDevice,
|
|
46
|
+
enrollment,
|
|
47
|
+
} = require('./lib/auth');
|
|
48
|
+
const {
|
|
49
|
+
GrpcStatus, grpcToHttp, statusName: grpcStatusName, STATUS_NAMES: GRPC_STATUS_NAMES,
|
|
50
|
+
Metadata: GrpcMetadata,
|
|
51
|
+
Writer: ProtoWriter, Reader: ProtoReader, encode: protoEncode, decode: protoDecode,
|
|
52
|
+
WIRE_TYPE, TYPE_INFO,
|
|
53
|
+
parseProto, parseProtoFile,
|
|
54
|
+
frameEncode, FrameParser,
|
|
55
|
+
GrpcServiceRegistry, GrpcClient,
|
|
56
|
+
HealthService: GrpcHealthService, ServingStatus: GrpcServingStatus,
|
|
57
|
+
ReflectionService: GrpcReflectionService,
|
|
58
|
+
LoadBalancer: GrpcLoadBalancer, Subchannel: GrpcSubchannel, SubchannelState: GrpcSubchannelState,
|
|
59
|
+
ChannelCredentials, createRotatingCredentials,
|
|
60
|
+
watchProto,
|
|
61
|
+
} = require('./lib/grpc');
|
|
62
|
+
const { version } = require('./package.json');
|
|
63
|
+
|
|
64
|
+
module.exports = {
|
|
65
|
+
/**
|
|
66
|
+
* Create a new application instance.
|
|
67
|
+
* @returns {import('./lib/app')} Fresh App with an empty middleware stack.
|
|
68
|
+
*/
|
|
69
|
+
createApp: () => new App(),
|
|
70
|
+
/**
|
|
71
|
+
* Create a standalone Router for modular route grouping.
|
|
72
|
+
* Mount on an App with `app.use('/prefix', router)`.
|
|
73
|
+
* @returns {import('./lib/router')} Fresh Router instance.
|
|
74
|
+
*/
|
|
75
|
+
Router: () => new Router(),
|
|
76
|
+
/** @see module:cors */
|
|
77
|
+
cors,
|
|
78
|
+
/** @see module:fetch */
|
|
79
|
+
fetch,
|
|
80
|
+
// body parsers
|
|
81
|
+
/** @see module:body/json */
|
|
82
|
+
json: body.json,
|
|
83
|
+
/** @see module:body/urlencoded */
|
|
84
|
+
urlencoded: body.urlencoded,
|
|
85
|
+
/** @see module:body/text */
|
|
86
|
+
text: body.text,
|
|
87
|
+
/** @see module:body/raw */
|
|
88
|
+
raw: body.raw,
|
|
89
|
+
/** @see module:body/multipart */
|
|
90
|
+
multipart: body.multipart,
|
|
91
|
+
// serving
|
|
92
|
+
/** @see module:static */
|
|
93
|
+
static: serveStatic,
|
|
94
|
+
// middleware
|
|
95
|
+
/** @see module:rateLimit */
|
|
96
|
+
rateLimit,
|
|
97
|
+
/** @see module:logger */
|
|
98
|
+
logger,
|
|
99
|
+
/** @see module:compress */
|
|
100
|
+
compress,
|
|
101
|
+
/** @see module:helmet */
|
|
102
|
+
helmet,
|
|
103
|
+
/** @see module:timeout */
|
|
104
|
+
timeout,
|
|
105
|
+
/** @see module:requestId */
|
|
106
|
+
requestId,
|
|
107
|
+
/** @see module:cookieParser */
|
|
108
|
+
cookieParser,
|
|
109
|
+
/** @see module:csrf */
|
|
110
|
+
csrf,
|
|
111
|
+
/** @see module:validator */
|
|
112
|
+
validate,
|
|
113
|
+
/** @see module:middleware/errorHandler */
|
|
114
|
+
errorHandler,
|
|
115
|
+
// env
|
|
116
|
+
/** @see module:env */
|
|
117
|
+
env,
|
|
118
|
+
// ORM
|
|
119
|
+
/** @see module:orm */
|
|
120
|
+
Database,
|
|
121
|
+
/** @see module:orm/model */
|
|
122
|
+
Model,
|
|
123
|
+
/** @see module:orm/schema */
|
|
124
|
+
TYPES,
|
|
125
|
+
/** @see module:orm/query */
|
|
126
|
+
Query,
|
|
127
|
+
/** @see module:orm/schema */
|
|
128
|
+
validateFKAction,
|
|
129
|
+
/** @see module:orm/schema */
|
|
130
|
+
validateCheck,
|
|
131
|
+
// ORM: Migration framework
|
|
132
|
+
/** @see module:orm/migrate */
|
|
133
|
+
Migrator,
|
|
134
|
+
/** @see module:orm/migrate */
|
|
135
|
+
defineMigration,
|
|
136
|
+
// ORM: Schema snapshots (EF Core–style auto-migrations)
|
|
137
|
+
/** @see module:orm/snapshot */
|
|
138
|
+
buildSnapshot,
|
|
139
|
+
loadSnapshot,
|
|
140
|
+
saveSnapshot,
|
|
141
|
+
diffSnapshots,
|
|
142
|
+
hasNoChanges,
|
|
143
|
+
generateMigrationCode,
|
|
144
|
+
discoverModels,
|
|
145
|
+
SNAPSHOT_FILE,
|
|
146
|
+
// ORM: Query caching
|
|
147
|
+
/** @see module:orm/cache */
|
|
148
|
+
QueryCache,
|
|
149
|
+
// ORM: Seeding
|
|
150
|
+
/** @see module:orm/seed */
|
|
151
|
+
Seeder,
|
|
152
|
+
/** @see module:orm/seed */
|
|
153
|
+
SeederRunner,
|
|
154
|
+
/** @see module:orm/seed */
|
|
155
|
+
Factory,
|
|
156
|
+
/** @see module:orm/seed */
|
|
157
|
+
Fake,
|
|
158
|
+
// ORM: Performance & Scalability
|
|
159
|
+
/** @see module:orm/profiler */
|
|
160
|
+
QueryProfiler,
|
|
161
|
+
/** @see module:orm/replicas */
|
|
162
|
+
ReplicaManager,
|
|
163
|
+
// ORM: Advanced Features (Phase 3)
|
|
164
|
+
/** @see module:orm/views */
|
|
165
|
+
DatabaseView,
|
|
166
|
+
/** @see module:orm/search */
|
|
167
|
+
FullTextSearch,
|
|
168
|
+
/** @see module:orm/geo */
|
|
169
|
+
GeoQuery,
|
|
170
|
+
/** @see module:orm/geo */
|
|
171
|
+
EARTH_RADIUS_KM,
|
|
172
|
+
/** @see module:orm/geo */
|
|
173
|
+
EARTH_RADIUS_MI,
|
|
174
|
+
// ORM: Enterprise Infrastructure (Phase 4)
|
|
175
|
+
/** @see module:orm/tenancy */
|
|
176
|
+
TenantManager,
|
|
177
|
+
/** @see module:orm/audit */
|
|
178
|
+
AuditLog,
|
|
179
|
+
/** @see module:orm/plugin */
|
|
180
|
+
PluginManager,
|
|
181
|
+
/** @see module:orm/procedures */
|
|
182
|
+
StoredProcedure,
|
|
183
|
+
/** @see module:orm/procedures */
|
|
184
|
+
StoredFunction,
|
|
185
|
+
/** @see module:orm/procedures */
|
|
186
|
+
TriggerManager,
|
|
187
|
+
// Error handling & debugging
|
|
188
|
+
/** @see module:errors */
|
|
189
|
+
HttpError: errors.HttpError,
|
|
190
|
+
BadRequestError: errors.BadRequestError,
|
|
191
|
+
UnauthorizedError: errors.UnauthorizedError,
|
|
192
|
+
ForbiddenError: errors.ForbiddenError,
|
|
193
|
+
NotFoundError: errors.NotFoundError,
|
|
194
|
+
MethodNotAllowedError: errors.MethodNotAllowedError,
|
|
195
|
+
ConflictError: errors.ConflictError,
|
|
196
|
+
GoneError: errors.GoneError,
|
|
197
|
+
PayloadTooLargeError: errors.PayloadTooLargeError,
|
|
198
|
+
UnprocessableEntityError: errors.UnprocessableEntityError,
|
|
199
|
+
ValidationError: errors.ValidationError,
|
|
200
|
+
TooManyRequestsError: errors.TooManyRequestsError,
|
|
201
|
+
InternalError: errors.InternalError,
|
|
202
|
+
NotImplementedError: errors.NotImplementedError,
|
|
203
|
+
BadGatewayError: errors.BadGatewayError,
|
|
204
|
+
ServiceUnavailableError: errors.ServiceUnavailableError,
|
|
205
|
+
// Framework-specific errors
|
|
206
|
+
DatabaseError: errors.DatabaseError,
|
|
207
|
+
ConfigurationError: errors.ConfigurationError,
|
|
208
|
+
MiddlewareError: errors.MiddlewareError,
|
|
209
|
+
RoutingError: errors.RoutingError,
|
|
210
|
+
TimeoutError: errors.TimeoutError,
|
|
211
|
+
// ORM-specific errors
|
|
212
|
+
ConnectionError: errors.ConnectionError,
|
|
213
|
+
MigrationError: errors.MigrationError,
|
|
214
|
+
TransactionError: errors.TransactionError,
|
|
215
|
+
QueryError: errors.QueryError,
|
|
216
|
+
AdapterError: errors.AdapterError,
|
|
217
|
+
CacheError: errors.CacheError,
|
|
218
|
+
// Phase 4 errors
|
|
219
|
+
TenancyError: errors.TenancyError,
|
|
220
|
+
AuditError: errors.AuditError,
|
|
221
|
+
PluginError: errors.PluginError,
|
|
222
|
+
ProcedureError: errors.ProcedureError,
|
|
223
|
+
createError: errors.createError,
|
|
224
|
+
isHttpError: errors.isHttpError,
|
|
225
|
+
/** @see module:debug */
|
|
226
|
+
debug,
|
|
227
|
+
// ORM: CLI tooling
|
|
228
|
+
/** @see module:cli */
|
|
229
|
+
CLI,
|
|
230
|
+
/** @see module:cli */
|
|
231
|
+
runCLI,
|
|
232
|
+
// classes (for advanced / direct usage)
|
|
233
|
+
/** @see module:ws/connection */
|
|
234
|
+
WebSocketConnection,
|
|
235
|
+
/** @see module:ws/handshake */
|
|
236
|
+
handleUpgrade,
|
|
237
|
+
/** @see module:ws/room */
|
|
238
|
+
WebSocketPool,
|
|
239
|
+
/** @see module:sse/stream */
|
|
240
|
+
SSEStream,
|
|
241
|
+
// Lifecycle & Clustering
|
|
242
|
+
/** @see module:lifecycle */
|
|
243
|
+
LifecycleManager,
|
|
244
|
+
/** @see module:lifecycle */
|
|
245
|
+
LIFECYCLE_STATE,
|
|
246
|
+
/** @see module:cluster */
|
|
247
|
+
ClusterManager,
|
|
248
|
+
/** @see module:cluster */
|
|
249
|
+
cluster: clusterize,
|
|
250
|
+
// Observability — Structured Logging
|
|
251
|
+
/** @see module:observe/logger */
|
|
252
|
+
Logger,
|
|
253
|
+
/** @see module:observe/logger */
|
|
254
|
+
structuredLogger,
|
|
255
|
+
// Observability — Metrics
|
|
256
|
+
/** @see module:observe/metrics */
|
|
257
|
+
Counter,
|
|
258
|
+
/** @see module:observe/metrics */
|
|
259
|
+
Gauge,
|
|
260
|
+
/** @see module:observe/metrics */
|
|
261
|
+
Histogram,
|
|
262
|
+
/** @see module:observe/metrics */
|
|
263
|
+
MetricsRegistry,
|
|
264
|
+
/** @see module:observe/metrics */
|
|
265
|
+
DEFAULT_BUCKETS,
|
|
266
|
+
/** @see module:observe/metrics */
|
|
267
|
+
createDefaultMetrics,
|
|
268
|
+
/** @see module:observe/metrics */
|
|
269
|
+
metricsMiddleware,
|
|
270
|
+
/** @see module:observe/metrics */
|
|
271
|
+
metricsEndpoint: metricsEndpointHandler,
|
|
272
|
+
// Observability — Tracing
|
|
273
|
+
/** @see module:observe/tracing */
|
|
274
|
+
Span,
|
|
275
|
+
/** @see module:observe/tracing */
|
|
276
|
+
Tracer,
|
|
277
|
+
/** @see module:observe/tracing */
|
|
278
|
+
parseTraceparent,
|
|
279
|
+
/** @see module:observe/tracing */
|
|
280
|
+
formatTraceparent,
|
|
281
|
+
/** @see module:observe/tracing */
|
|
282
|
+
tracingMiddleware,
|
|
283
|
+
/** @see module:observe/tracing */
|
|
284
|
+
instrumentFetch,
|
|
285
|
+
// Observability — Health Checks
|
|
286
|
+
/** @see module:observe/health */
|
|
287
|
+
healthCheck,
|
|
288
|
+
/** @see module:observe/health */
|
|
289
|
+
createHealthHandlers,
|
|
290
|
+
/** @see module:observe/health */
|
|
291
|
+
memoryCheck,
|
|
292
|
+
/** @see module:observe/health */
|
|
293
|
+
eventLoopCheck,
|
|
294
|
+
/** @see module:observe/health */
|
|
295
|
+
diskSpaceCheck,
|
|
296
|
+
// Authentication & Sessions (Phase 3)
|
|
297
|
+
/** @see module:auth/jwt */
|
|
298
|
+
jwt,
|
|
299
|
+
/** @see module:auth/jwt */
|
|
300
|
+
jwtSign,
|
|
301
|
+
/** @see module:auth/jwt */
|
|
302
|
+
jwtVerify,
|
|
303
|
+
/** @see module:auth/jwt */
|
|
304
|
+
jwtDecode,
|
|
305
|
+
/** @see module:auth/jwt */
|
|
306
|
+
jwks,
|
|
307
|
+
/** @see module:auth/jwt */
|
|
308
|
+
tokenPair,
|
|
309
|
+
/** @see module:auth/jwt */
|
|
310
|
+
createRefreshToken,
|
|
311
|
+
/** @see module:auth/jwt */
|
|
312
|
+
SUPPORTED_ALGORITHMS,
|
|
313
|
+
// Auth: Sessions
|
|
314
|
+
/** @see module:auth/session */
|
|
315
|
+
session,
|
|
316
|
+
/** @see module:auth/session */
|
|
317
|
+
Session,
|
|
318
|
+
/** @see module:auth/session */
|
|
319
|
+
MemoryStore,
|
|
320
|
+
// Auth: OAuth2
|
|
321
|
+
/** @see module:auth/oauth */
|
|
322
|
+
oauth,
|
|
323
|
+
/** @see module:auth/oauth */
|
|
324
|
+
generatePKCE,
|
|
325
|
+
/** @see module:auth/oauth */
|
|
326
|
+
generateState,
|
|
327
|
+
/** @see module:auth/oauth */
|
|
328
|
+
OAUTH_PROVIDERS,
|
|
329
|
+
// Auth: Authorization
|
|
330
|
+
/** @see module:auth/authorize */
|
|
331
|
+
authorize,
|
|
332
|
+
/** @see module:auth/authorize */
|
|
333
|
+
can,
|
|
334
|
+
/** @see module:auth/authorize */
|
|
335
|
+
canAny,
|
|
336
|
+
/** @see module:auth/authorize */
|
|
337
|
+
Policy,
|
|
338
|
+
/** @see module:auth/authorize */
|
|
339
|
+
gate,
|
|
340
|
+
/** @see module:auth/authorize */
|
|
341
|
+
attachUserHelpers,
|
|
342
|
+
// Auth: Two-Factor Authentication
|
|
343
|
+
/** @see module:auth/twoFactor */
|
|
344
|
+
twoFactor,
|
|
345
|
+
// Auth: WebAuthn / Passkeys
|
|
346
|
+
/** @see module:auth/webauthn */
|
|
347
|
+
webauthn,
|
|
348
|
+
// Auth: Trusted Device / Remember Me
|
|
349
|
+
/** @see module:auth/trustedDevice */
|
|
350
|
+
trustedDevice,
|
|
351
|
+
// Auth: 2FA Enrollment Flow
|
|
352
|
+
/** @see module:auth/enrollment */
|
|
353
|
+
enrollment,
|
|
354
|
+
// gRPC
|
|
355
|
+
/** @see module:grpc/status */
|
|
356
|
+
GrpcStatus,
|
|
357
|
+
/** @see module:grpc/status */
|
|
358
|
+
grpcToHttp,
|
|
359
|
+
/** @see module:grpc/status */
|
|
360
|
+
grpcStatusName,
|
|
361
|
+
/** @see module:grpc/status */
|
|
362
|
+
GRPC_STATUS_NAMES,
|
|
363
|
+
/** @see module:grpc/metadata */
|
|
364
|
+
GrpcMetadata,
|
|
365
|
+
/** @see module:grpc/codec */
|
|
366
|
+
ProtoWriter,
|
|
367
|
+
/** @see module:grpc/codec */
|
|
368
|
+
ProtoReader,
|
|
369
|
+
/** @see module:grpc/codec */
|
|
370
|
+
protoEncode,
|
|
371
|
+
/** @see module:grpc/codec */
|
|
372
|
+
protoDecode,
|
|
373
|
+
/** @see module:grpc/codec */
|
|
374
|
+
WIRE_TYPE,
|
|
375
|
+
/** @see module:grpc/codec */
|
|
376
|
+
TYPE_INFO,
|
|
377
|
+
/** @see module:grpc/proto */
|
|
378
|
+
parseProto,
|
|
379
|
+
/** @see module:grpc/proto */
|
|
380
|
+
parseProtoFile,
|
|
381
|
+
/** @see module:grpc/frame */
|
|
382
|
+
frameEncode,
|
|
383
|
+
/** @see module:grpc/frame */
|
|
384
|
+
FrameParser,
|
|
385
|
+
/** @see module:grpc/server */
|
|
386
|
+
GrpcServiceRegistry,
|
|
387
|
+
/** @see module:grpc/client */
|
|
388
|
+
GrpcClient,
|
|
389
|
+
// gRPC: Health check
|
|
390
|
+
/** @see module:grpc/health */
|
|
391
|
+
GrpcHealthService,
|
|
392
|
+
/** @see module:grpc/health */
|
|
393
|
+
GrpcServingStatus,
|
|
394
|
+
// gRPC: Server reflection
|
|
395
|
+
/** @see module:grpc/reflection */
|
|
396
|
+
GrpcReflectionService,
|
|
397
|
+
// gRPC: Load balancing
|
|
398
|
+
/** @see module:grpc/balancer */
|
|
399
|
+
GrpcLoadBalancer,
|
|
400
|
+
/** @see module:grpc/balancer */
|
|
401
|
+
GrpcSubchannel,
|
|
402
|
+
/** @see module:grpc/balancer */
|
|
403
|
+
GrpcSubchannelState,
|
|
404
|
+
// gRPC: Channel credentials
|
|
405
|
+
/** @see module:grpc/credentials */
|
|
406
|
+
ChannelCredentials,
|
|
407
|
+
/** @see module:grpc/credentials */
|
|
408
|
+
createRotatingCredentials,
|
|
409
|
+
// gRPC: Proto hot-reload
|
|
410
|
+
/** @see module:grpc/watch */
|
|
411
|
+
watchProto,
|
|
412
|
+
/** Package version */
|
|
413
|
+
version,
|
|
414
|
+
};
|