@qlever-llc/trellis 0.10.8 → 0.10.9

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.
@@ -3,8 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PageRequestSchema = exports.EventHeaderSchema = exports.IsoDateSchema = exports.InstalledServiceContractSchema = exports.ContractResourceBindingsSchema = exports.EventConsumerResourceBindingSchema = exports.JobsResourceBindingSchema = exports.JobsQueueBindingSchema = exports.StoreResourceBindingSchema = exports.KvResourceBindingSchema = exports.ContractResourcesSchema = exports.ContractEventConsumersSchema = exports.ContractEventConsumerGroupSchema = exports.ContractEventConsumerEventSchema = exports.ContractJobsSchema = exports.ContractJobQueueSchema = exports.ContractStateSchema = exports.ContractStateStoreSchema = exports.ContractStoreResourceSchema = exports.ContractKvResourceSchema = exports.ContractDocsSchema = exports.ContractSchemaRefSchema = void 0;
6
+ exports.CursorPageInfoSchema = exports.CursorQuerySchema = exports.PageRequestSchema = exports.EventHeaderSchema = exports.IsoDateSchema = exports.InstalledServiceContractSchema = exports.ContractResourceBindingsSchema = exports.EventConsumerResourceBindingSchema = exports.JobsResourceBindingSchema = exports.JobsQueueBindingSchema = exports.StoreResourceBindingSchema = exports.KvResourceBindingSchema = exports.ContractResourcesSchema = exports.ContractEventConsumersSchema = exports.ContractEventConsumerGroupSchema = exports.ContractEventConsumerEventSchema = exports.ContractJobsSchema = exports.ContractJobQueueSchema = exports.ContractStateSchema = exports.ContractStateStoreSchema = exports.ContractStoreResourceSchema = exports.ContractKvResourceSchema = exports.ContractDocsSchema = exports.ContractSchemaRefSchema = void 0;
7
7
  exports.PageResponseSchema = PageResponseSchema;
8
+ exports.normalizePageQuery = normalizePageQuery;
9
+ exports.buildPageResponse = buildPageResponse;
10
+ exports.CursorPageSchema = CursorPageSchema;
11
+ exports.normalizeCursorQuery = normalizeCursorQuery;
12
+ exports.buildCursorPage = buildCursorPage;
8
13
  const typebox_1 = __importDefault(require("typebox"));
9
14
  function parseIsoDate(value) {
10
15
  const parsed = new Date(value);
@@ -169,3 +174,93 @@ function PageResponseSchema(entry) {
169
174
  nextOffset: typebox_1.default.Optional(typebox_1.default.Integer({ minimum: 0 })),
170
175
  });
171
176
  }
177
+ /**
178
+ * Validates and normalizes an offset pagination query.
179
+ *
180
+ * Ensures `offset` and `limit` are non-negative integers within bounds. Throws
181
+ * `RangeError` on invalid input.
182
+ */
183
+ function normalizePageQuery(query, maxLimit = Number.MAX_SAFE_INTEGER) {
184
+ if (!Number.isInteger(query.limit) || query.limit < 0) {
185
+ throw new RangeError("list limit must be a non-negative integer");
186
+ }
187
+ if (query.limit > maxLimit) {
188
+ throw new RangeError(`list limit must be <= ${maxLimit}`);
189
+ }
190
+ const offset = query.offset ?? 0;
191
+ if (!Number.isInteger(offset) || offset < 0) {
192
+ throw new RangeError("list offset must be a non-negative integer");
193
+ }
194
+ return { offset, limit: query.limit };
195
+ }
196
+ /**
197
+ * Builds a {@link PageResponse} from a pre-sliced offset page.
198
+ *
199
+ * @param entries - The entries for the current page, already sliced by the caller.
200
+ * @param totalCount - Total number of matching entries before slicing.
201
+ * @param query - The original pagination query used to produce the page.
202
+ * @param maxLimit - Optional maximum limit accepted by the endpoint.
203
+ */
204
+ function buildPageResponse(entries, totalCount, query, maxLimit) {
205
+ const { offset, limit } = normalizePageQuery(query, maxLimit);
206
+ return {
207
+ entries,
208
+ count: totalCount,
209
+ offset,
210
+ limit,
211
+ nextOffset: limit <= 0 || offset + limit >= totalCount
212
+ ? undefined
213
+ : offset + limit,
214
+ };
215
+ }
216
+ /** Schema for a cursor pagination query. */
217
+ exports.CursorQuerySchema = typebox_1.default.Object({
218
+ cursor: typebox_1.default.Optional(typebox_1.default.String({ minLength: 1 })),
219
+ limit: typebox_1.default.Optional(typebox_1.default.Integer({ minimum: 0 })),
220
+ });
221
+ /** Schema for cursor pagination response metadata. */
222
+ exports.CursorPageInfoSchema = typebox_1.default.Object({
223
+ nextCursor: typebox_1.default.Optional(typebox_1.default.String({ minLength: 1 })),
224
+ });
225
+ /** Create a schema for a cursor page response with typed items. */
226
+ function CursorPageSchema(item) {
227
+ return typebox_1.default.Object({
228
+ items: typebox_1.default.Array(item, { default: [] }),
229
+ page: exports.CursorPageInfoSchema,
230
+ });
231
+ }
232
+ /**
233
+ * Validates and normalizes a cursor pagination query.
234
+ *
235
+ * Defaults `limit` to `100`, rejects limits above `500` unless `maxLimit` is
236
+ * overridden, and preserves a non-empty optional cursor.
237
+ */
238
+ function normalizeCursorQuery(query, options = {}) {
239
+ const maxLimit = options.maxLimit ?? 500;
240
+ const limit = query.limit ?? options.defaultLimit ?? 100;
241
+ if (!Number.isInteger(limit) || limit < 0) {
242
+ throw new RangeError("list limit must be a non-negative integer");
243
+ }
244
+ if (limit > maxLimit) {
245
+ throw new RangeError(`list limit must be <= ${maxLimit}`);
246
+ }
247
+ if (query.cursor === undefined) {
248
+ return { limit };
249
+ }
250
+ if (query.cursor.length === 0) {
251
+ throw new RangeError("list cursor must be a non-empty string");
252
+ }
253
+ return { cursor: query.cursor, limit };
254
+ }
255
+ /**
256
+ * Builds a {@link CursorPage} from items and an optional next cursor.
257
+ *
258
+ * @param items - The items for the current page.
259
+ * @param nextCursor - Cursor clients can use to request the next page.
260
+ */
261
+ function buildCursorPage(items, nextCursor) {
262
+ return {
263
+ items,
264
+ page: nextCursor === undefined ? {} : { nextCursor },
265
+ };
266
+ }
package/script/index.d.ts CHANGED
@@ -9,8 +9,8 @@ export type { TrellisConnectionStatus } from "./connection.js";
9
9
  export type { HealthCheckFn, HealthCheckResult, HealthHeartbeat, HealthResponse, ServiceHealthCheck, ServiceHealthCheckFn, ServiceHealthInfo, ServiceHealthInfoFn, } from "./health.js";
10
10
  export { createHealthHeartbeat, HealthCheckResultSchema, HealthHeartbeatHeaderSchema, HealthHeartbeatSchema, HealthHeartbeatServiceSchema, HealthInfoSchema, HealthResponseSchema, HealthRpcSchema, runAllHealthChecks, runAllServiceHealthChecks, runHealthCheck, runServiceHealthCheck, ServiceHealth, } from "./health.js";
11
11
  export { defineError } from "./contract_support/mod.js";
12
- export { PageRequestSchema, PageResponseSchema, } from "./contract_support/mod.js";
13
- export type { ErrorClass, InferRuntimeRpcError, PageRequest, PageResponse, RpcErrorClass, RuntimeRpcErrorDesc, SerializableErrorData, } from "./contract_support/mod.js";
12
+ export { buildCursorPage, buildPageResponse, CursorPageInfoSchema, CursorPageSchema, CursorQuerySchema, normalizeCursorQuery, normalizePageQuery, PageRequestSchema, PageResponseSchema, } from "./contract_support/mod.js";
13
+ export type { CursorPage, CursorPageInfo, CursorQuery, CursorQueryOptions, ErrorClass, InferRuntimeRpcError, NormalizedCursorQuery, PageRequest, PageResponse, RpcErrorClass, RuntimeRpcErrorDesc, SerializableErrorData, } from "./contract_support/mod.js";
14
14
  export { defineAgentContract, defineAppContract, defineDeviceContract, defineServiceContract, } from "./contract.js";
15
15
  export type { ContractApiViews, ContractDependencyUse, ContractModule, ContractUseFn, DefineContractInput, EmptyApi, SdkContractModule, TrellisApiLike, TrellisContractV1, UseSpec, } from "./contract.js";
16
16
  export { AsyncResult, BaseError, err, isErr, isOk, ok, Result, } from "@qlever-llc/result";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/script/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthError = exports.TrellisDevice = exports.TrellisClient = exports.ClientAuthHandledError = exports.Result = exports.ok = exports.isOk = exports.isErr = exports.err = exports.BaseError = exports.AsyncResult = exports.defineServiceContract = exports.defineDeviceContract = exports.defineAppContract = exports.defineAgentContract = exports.PageResponseSchema = exports.PageRequestSchema = exports.defineError = exports.ServiceHealth = exports.runServiceHealthCheck = exports.runHealthCheck = exports.runAllServiceHealthChecks = exports.runAllHealthChecks = exports.HealthRpcSchema = exports.HealthResponseSchema = exports.HealthInfoSchema = exports.HealthHeartbeatServiceSchema = exports.HealthHeartbeatSchema = exports.HealthHeartbeatHeaderSchema = exports.HealthCheckResultSchema = exports.createHealthHeartbeat = exports.TrellisConnection = exports.unwrapSchema = exports.schema = exports.isJsonValue = exports.digestJson = exports.CONTRACT_FORMAT_V1 = exports.CATALOG_FORMAT_V1 = exports.canonicalizeJson = exports.signBytes = exports.loadSessionKey = exports.isBindSuccessResponse = exports.hasSessionKey = exports.getPublicSessionKey = exports.getOrCreateSessionKey = exports.generateSessionKey = exports.createRpcProof = exports.createAuth = exports.clearSessionKey = exports.bindFlow = void 0;
4
- exports.Trellis = exports.OperationInvoker = exports.controlSubject = exports.FileInfoSchema = exports.createTransferHandle = exports.TypedStoreEntry = exports.TypedStore = exports.TypedKVEntry = exports.TypedKV = exports.JobWorkerHostAdapter = exports.JobRef = exports.JobQueue = exports.JobProgressSchema = exports.JobLogEntrySchema = exports.ActiveJob = exports.ValidationError = exports.UnexpectedError = exports.TrellisError = exports.TransportError = exports.TransferError = exports.StoreError = exports.RemoteError = exports.OperationNotFoundError = exports.OperationMismatchError = exports.OperationAlreadyTerminalError = exports.KVError = void 0;
3
+ exports.isErr = exports.err = exports.BaseError = exports.AsyncResult = exports.defineServiceContract = exports.defineDeviceContract = exports.defineAppContract = exports.defineAgentContract = exports.PageResponseSchema = exports.PageRequestSchema = exports.normalizePageQuery = exports.normalizeCursorQuery = exports.CursorQuerySchema = exports.CursorPageSchema = exports.CursorPageInfoSchema = exports.buildPageResponse = exports.buildCursorPage = exports.defineError = exports.ServiceHealth = exports.runServiceHealthCheck = exports.runHealthCheck = exports.runAllServiceHealthChecks = exports.runAllHealthChecks = exports.HealthRpcSchema = exports.HealthResponseSchema = exports.HealthInfoSchema = exports.HealthHeartbeatServiceSchema = exports.HealthHeartbeatSchema = exports.HealthHeartbeatHeaderSchema = exports.HealthCheckResultSchema = exports.createHealthHeartbeat = exports.TrellisConnection = exports.unwrapSchema = exports.schema = exports.isJsonValue = exports.digestJson = exports.CONTRACT_FORMAT_V1 = exports.CATALOG_FORMAT_V1 = exports.canonicalizeJson = exports.signBytes = exports.loadSessionKey = exports.isBindSuccessResponse = exports.hasSessionKey = exports.getPublicSessionKey = exports.getOrCreateSessionKey = exports.generateSessionKey = exports.createRpcProof = exports.createAuth = exports.clearSessionKey = exports.bindFlow = void 0;
4
+ exports.Trellis = exports.OperationInvoker = exports.controlSubject = exports.FileInfoSchema = exports.createTransferHandle = exports.TypedStoreEntry = exports.TypedStore = exports.TypedKVEntry = exports.TypedKV = exports.JobWorkerHostAdapter = exports.JobRef = exports.JobQueue = exports.JobProgressSchema = exports.JobLogEntrySchema = exports.ActiveJob = exports.ValidationError = exports.UnexpectedError = exports.TrellisError = exports.TransportError = exports.TransferError = exports.StoreError = exports.RemoteError = exports.OperationNotFoundError = exports.OperationMismatchError = exports.OperationAlreadyTerminalError = exports.KVError = exports.AuthError = exports.TrellisDevice = exports.TrellisClient = exports.ClientAuthHandledError = exports.Result = exports.ok = exports.isOk = void 0;
5
5
  require("./_dnt.polyfills.js");
6
6
  var auth_js_1 = require("./auth.js");
7
7
  Object.defineProperty(exports, "bindFlow", { enumerable: true, get: function () { return auth_js_1.bindFlow; } });
@@ -42,6 +42,13 @@ Object.defineProperty(exports, "ServiceHealth", { enumerable: true, get: functio
42
42
  var mod_js_1 = require("./contract_support/mod.js");
43
43
  Object.defineProperty(exports, "defineError", { enumerable: true, get: function () { return mod_js_1.defineError; } });
44
44
  var mod_js_2 = require("./contract_support/mod.js");
45
+ Object.defineProperty(exports, "buildCursorPage", { enumerable: true, get: function () { return mod_js_2.buildCursorPage; } });
46
+ Object.defineProperty(exports, "buildPageResponse", { enumerable: true, get: function () { return mod_js_2.buildPageResponse; } });
47
+ Object.defineProperty(exports, "CursorPageInfoSchema", { enumerable: true, get: function () { return mod_js_2.CursorPageInfoSchema; } });
48
+ Object.defineProperty(exports, "CursorPageSchema", { enumerable: true, get: function () { return mod_js_2.CursorPageSchema; } });
49
+ Object.defineProperty(exports, "CursorQuerySchema", { enumerable: true, get: function () { return mod_js_2.CursorQuerySchema; } });
50
+ Object.defineProperty(exports, "normalizeCursorQuery", { enumerable: true, get: function () { return mod_js_2.normalizeCursorQuery; } });
51
+ Object.defineProperty(exports, "normalizePageQuery", { enumerable: true, get: function () { return mod_js_2.normalizePageQuery; } });
45
52
  Object.defineProperty(exports, "PageRequestSchema", { enumerable: true, get: function () { return mod_js_2.PageRequestSchema; } });
46
53
  Object.defineProperty(exports, "PageResponseSchema", { enumerable: true, get: function () { return mod_js_2.PageResponseSchema; } });
47
54
  var contract_js_1 = require("./contract.js");
@@ -8,7 +8,7 @@ import type { TrellisContractV1 } from "../contract_support/mod.js";
8
8
  import type { ContractEventConsumers, ContractJobsMetadata, ContractKvMetadata } from "../contract_support/mod.js";
9
9
  import { CONTRACT_JOBS_METADATA, CONTRACT_KV_METADATA } from "../contract_support/mod.js";
10
10
  import { AsyncResult, type BaseError, type MaybeAsync, Result } from "@qlever-llc/result";
11
- import { type HealthCheckFn, ServiceHealth } from "./health.js";
11
+ import { type HealthCheckFn, ServiceHealth, type ServiceHealthCheck, type ServiceHealthInfo } from "./health.js";
12
12
  import type { EventDesc } from "../contracts.js";
13
13
  import type { AcceptedOperation, ActiveEventFacade, EventListenerContext, EventOpts, FeedEventOf, FeedInputOf, FeedRegistration as RootFeedRegistration, HandlerTrellis, OperationHandlerContext, OperationOutputOf, OperationProgressOf, OperationRuntimeHandle, OperationTransferContextOf, PreparedTrellisEvent, RpcHandlerContext, RpcHandlerErrorOf } from "../trellis.js";
14
14
  import type { NatsConnectOpts, TrellisServiceRuntimeDeps } from "./runtime.js";
@@ -276,9 +276,18 @@ type BoundJobQueue<TPayload, TResult, TTrellisApi extends TrellisAPI, TKv extend
276
276
  type BoundJobsFacadeOf<TJobs extends ContractJobsMetadata, TTrellisApi extends TrellisAPI, TKv extends ContractKvMetadata, TDeps> = {
277
277
  [K in keyof TJobs]: BoundJobQueue<TJobs[K]["payload"], TJobs[K]["result"], TTrellisApi, TKv, TJobs, TDeps>;
278
278
  };
279
+ type BoundServiceHealth<TDeps> = Omit<ServiceHealth, "add" | "setInfo"> & {
280
+ setInfo(info: ServiceHealthInfo | ((args: {
281
+ deps: TDeps;
282
+ }) => ServiceHealthInfo | undefined | Promise<ServiceHealthInfo | undefined>)): void;
283
+ add(name: string, check: (args: {
284
+ deps: TDeps;
285
+ }) => ServiceHealthCheck | Promise<ServiceHealthCheck>): () => void;
286
+ };
279
287
  /** Service wrapper returned by `TrellisService.with(deps)`. */
280
- export type BoundTrellisService<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi, TJobs extends ContractJobsMetadata = {}, TKv extends ContractKvMetadata = ContractKvMetadata, TDeps = unknown> = Pick<TrellisService<TOwnedApi, TTrellisApi, TJobs, TKv>, "name" | "auth" | "nc" | "kv" | "store" | "health" | "connection" | "createTransfer" | "completeOperation" | "wait" | "stop"> & {
288
+ export type BoundTrellisService<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi, TJobs extends ContractJobsMetadata = {}, TKv extends ContractKvMetadata = ContractKvMetadata, TDeps = unknown> = Pick<TrellisService<TOwnedApi, TTrellisApi, TJobs, TKv>, "name" | "auth" | "nc" | "kv" | "store" | "connection" | "createTransfer" | "completeOperation" | "wait" | "stop"> & {
281
289
  readonly event: BoundActiveEventFacade<TTrellisApi, TTrellisApi, TKv, TJobs, TDeps>;
290
+ readonly health: BoundServiceHealth<TDeps>;
282
291
  readonly jobs: BoundJobsFacadeOf<TJobs, TTrellisApi, TKv, TDeps>;
283
292
  readonly handle: BoundTypedServiceHandleFacade<TOwnedApi, TTrellisApi, TKv, TJobs, TDeps>;
284
293
  /** Returns a new bound wrapper that injects the provided dependencies. */
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/server/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/server/service.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _StoreHandle_nc, _TrellisService_instances, _TrellisService_server, _TrellisService_handlerTrellis, _TrellisService_operationTransfer, _TrellisService_stopHealthPublishing, _TrellisService_managedJobWorkers, _TrellisService_waitPromise, _TrellisService_stopPromise, _TrellisService_createBoundEventFacade, _TrellisService_createHandleFacade, _TrellisService_createBoundHandleFacade, _TrellisService_operation;
13
+ var _StoreHandle_nc, _TrellisService_instances, _TrellisService_server, _TrellisService_handlerTrellis, _TrellisService_operationTransfer, _TrellisService_stopHealthPublishing, _TrellisService_managedJobWorkers, _TrellisService_waitPromise, _TrellisService_stopPromise, _TrellisService_createBoundHealth, _TrellisService_createBoundEventFacade, _TrellisService_createHandleFacade, _TrellisService_createBoundHandleFacade, _TrellisService_operation;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TrellisService = exports.StoreHandle = void 0;
16
16
  exports.createConnectedService = createConnectedService;
@@ -1223,7 +1223,7 @@ class TrellisService {
1223
1223
  kv: this.kv,
1224
1224
  store: this.store,
1225
1225
  jobs: createBoundJobsFacade({ jobs: this.jobs, deps }),
1226
- health: this.health,
1226
+ health: __classPrivateFieldGet(this, _TrellisService_instances, "m", _TrellisService_createBoundHealth).call(this, deps),
1227
1227
  handle: __classPrivateFieldGet(this, _TrellisService_instances, "m", _TrellisService_createBoundHandleFacade).call(this, deps),
1228
1228
  connection: this.connection,
1229
1229
  createTransfer: (args) => this.createTransfer(args),
@@ -1388,7 +1388,31 @@ class TrellisService {
1388
1388
  }
1389
1389
  }
1390
1390
  exports.TrellisService = TrellisService;
1391
- _TrellisService_server = new WeakMap(), _TrellisService_handlerTrellis = new WeakMap(), _TrellisService_operationTransfer = new WeakMap(), _TrellisService_stopHealthPublishing = new WeakMap(), _TrellisService_managedJobWorkers = new WeakMap(), _TrellisService_waitPromise = new WeakMap(), _TrellisService_stopPromise = new WeakMap(), _TrellisService_instances = new WeakSet(), _TrellisService_createBoundEventFacade = function _TrellisService_createBoundEventFacade(deps) {
1391
+ _TrellisService_server = new WeakMap(), _TrellisService_handlerTrellis = new WeakMap(), _TrellisService_operationTransfer = new WeakMap(), _TrellisService_stopHealthPublishing = new WeakMap(), _TrellisService_managedJobWorkers = new WeakMap(), _TrellisService_waitPromise = new WeakMap(), _TrellisService_stopPromise = new WeakMap(), _TrellisService_instances = new WeakSet(), _TrellisService_createBoundHealth = function _TrellisService_createBoundHealth(deps) {
1392
+ const health = this.health;
1393
+ return {
1394
+ serviceName: health.serviceName,
1395
+ kind: health.kind,
1396
+ instanceId: health.instanceId,
1397
+ contractId: health.contractId,
1398
+ contractDigest: health.contractDigest,
1399
+ startedAt: health.startedAt,
1400
+ publishIntervalMs: health.publishIntervalMs,
1401
+ setInfo(info) {
1402
+ if (typeof info !== "function") {
1403
+ health.setInfo(info);
1404
+ return;
1405
+ }
1406
+ health.setInfo(() => info({ deps }));
1407
+ },
1408
+ add(name, check) {
1409
+ return health.add(name, () => check({ deps }));
1410
+ },
1411
+ checks: () => health.checks(),
1412
+ response: () => health.response(),
1413
+ heartbeat: () => health.heartbeat(),
1414
+ };
1415
+ }, _TrellisService_createBoundEventFacade = function _TrellisService_createBoundEventFacade(deps) {
1392
1416
  const event = {};
1393
1417
  const source = this.event;
1394
1418
  for (const [groupName, leaves] of Object.entries(source)) {
@@ -68,6 +68,8 @@ import {
68
68
  } from "./protocol.js";
69
69
 
70
70
  export {
71
+ buildCursorPage,
72
+ buildPageResponse,
71
73
  type ContractEventConsumerEvent,
72
74
  ContractEventConsumerEventSchema,
73
75
  type ContractEventConsumerGroup,
@@ -83,6 +85,13 @@ export {
83
85
  ContractStateSchema,
84
86
  ContractStateStoreSchema,
85
87
  ContractStoreResourceSchema,
88
+ type CursorPage,
89
+ type CursorPageInfo,
90
+ CursorPageInfoSchema,
91
+ CursorPageSchema,
92
+ type CursorQuery,
93
+ type CursorQueryOptions,
94
+ CursorQuerySchema,
86
95
  type EventConsumerResourceBinding,
87
96
  EventConsumerResourceBindingSchema,
88
97
  type EventHeader,
@@ -96,6 +105,9 @@ export {
96
105
  JobsResourceBindingSchema,
97
106
  type KvResourceBinding,
98
107
  KvResourceBindingSchema,
108
+ normalizeCursorQuery,
109
+ type NormalizedCursorQuery,
110
+ normalizePageQuery,
99
111
  type PageRequest,
100
112
  PageRequestSchema,
101
113
  type PageResponse,
@@ -280,3 +280,140 @@ export type PageResponse<TEntry> = {
280
280
  limit: number;
281
281
  nextOffset?: number;
282
282
  };
283
+
284
+ /**
285
+ * Validates and normalizes an offset pagination query.
286
+ *
287
+ * Ensures `offset` and `limit` are non-negative integers within bounds. Throws
288
+ * `RangeError` on invalid input.
289
+ */
290
+ export function normalizePageQuery(
291
+ query: PageRequest,
292
+ maxLimit: number = Number.MAX_SAFE_INTEGER,
293
+ ): Required<PageRequest> {
294
+ if (!Number.isInteger(query.limit) || query.limit < 0) {
295
+ throw new RangeError("list limit must be a non-negative integer");
296
+ }
297
+ if (query.limit > maxLimit) {
298
+ throw new RangeError(`list limit must be <= ${maxLimit}`);
299
+ }
300
+ const offset = query.offset ?? 0;
301
+ if (!Number.isInteger(offset) || offset < 0) {
302
+ throw new RangeError("list offset must be a non-negative integer");
303
+ }
304
+ return { offset, limit: query.limit };
305
+ }
306
+
307
+ /**
308
+ * Builds a {@link PageResponse} from a pre-sliced offset page.
309
+ *
310
+ * @param entries - The entries for the current page, already sliced by the caller.
311
+ * @param totalCount - Total number of matching entries before slicing.
312
+ * @param query - The original pagination query used to produce the page.
313
+ * @param maxLimit - Optional maximum limit accepted by the endpoint.
314
+ */
315
+ export function buildPageResponse<T>(
316
+ entries: T[],
317
+ totalCount: number,
318
+ query: PageRequest,
319
+ maxLimit?: number,
320
+ ): PageResponse<T> {
321
+ const { offset, limit } = normalizePageQuery(query, maxLimit);
322
+ return {
323
+ entries,
324
+ count: totalCount,
325
+ offset,
326
+ limit,
327
+ nextOffset: limit <= 0 || offset + limit >= totalCount
328
+ ? undefined
329
+ : offset + limit,
330
+ };
331
+ }
332
+
333
+ /** Schema for a cursor pagination query. */
334
+ export const CursorQuerySchema = Type.Object({
335
+ cursor: Type.Optional(Type.String({ minLength: 1 })),
336
+ limit: Type.Optional(Type.Integer({ minimum: 0 })),
337
+ });
338
+
339
+ /** Cursor pagination query. */
340
+ export type CursorQuery = Static<typeof CursorQuerySchema>;
341
+
342
+ /** Schema for cursor pagination response metadata. */
343
+ export const CursorPageInfoSchema = Type.Object({
344
+ nextCursor: Type.Optional(Type.String({ minLength: 1 })),
345
+ });
346
+
347
+ /** Cursor pagination response metadata. */
348
+ export type CursorPageInfo = Static<typeof CursorPageInfoSchema>;
349
+
350
+ /** Create a schema for a cursor page response with typed items. */
351
+ export function CursorPageSchema<TItem extends TSchema>(item: TItem) {
352
+ return Type.Object({
353
+ items: Type.Array(item, { default: [] }),
354
+ page: CursorPageInfoSchema,
355
+ });
356
+ }
357
+
358
+ /** Cursor pagination response with typed items. */
359
+ export type CursorPage<TItem> = {
360
+ items: TItem[];
361
+ page: CursorPageInfo;
362
+ };
363
+
364
+ /** Options for normalizing a cursor pagination query. */
365
+ export type CursorQueryOptions = {
366
+ /** Limit used when the query does not specify one. Defaults to `100`. */
367
+ defaultLimit?: number;
368
+ /** Maximum accepted limit. Defaults to `500`. */
369
+ maxLimit?: number;
370
+ };
371
+
372
+ /** Cursor query after defaults and validation have been applied. */
373
+ export type NormalizedCursorQuery = {
374
+ cursor?: string;
375
+ limit: number;
376
+ };
377
+
378
+ /**
379
+ * Validates and normalizes a cursor pagination query.
380
+ *
381
+ * Defaults `limit` to `100`, rejects limits above `500` unless `maxLimit` is
382
+ * overridden, and preserves a non-empty optional cursor.
383
+ */
384
+ export function normalizeCursorQuery(
385
+ query: CursorQuery,
386
+ options: CursorQueryOptions = {},
387
+ ): NormalizedCursorQuery {
388
+ const maxLimit = options.maxLimit ?? 500;
389
+ const limit = query.limit ?? options.defaultLimit ?? 100;
390
+ if (!Number.isInteger(limit) || limit < 0) {
391
+ throw new RangeError("list limit must be a non-negative integer");
392
+ }
393
+ if (limit > maxLimit) {
394
+ throw new RangeError(`list limit must be <= ${maxLimit}`);
395
+ }
396
+ if (query.cursor === undefined) {
397
+ return { limit };
398
+ }
399
+ if (query.cursor.length === 0) {
400
+ throw new RangeError("list cursor must be a non-empty string");
401
+ }
402
+ return { cursor: query.cursor, limit };
403
+ }
404
+
405
+ /**
406
+ * Builds a {@link CursorPage} from items and an optional next cursor.
407
+ *
408
+ * @param items - The items for the current page.
409
+ * @param nextCursor - Cursor clients can use to request the next page.
410
+ */
411
+ export function buildCursorPage<T>(
412
+ items: T[],
413
+ nextCursor?: string,
414
+ ): CursorPage<T> {
415
+ return {
416
+ items,
417
+ page: nextCursor === undefined ? {} : { nextCursor },
418
+ };
419
+ }
package/src/index.ts CHANGED
@@ -57,12 +57,24 @@ export {
57
57
  } from "./health.js";
58
58
  export { defineError } from "./contract_support/mod.js";
59
59
  export {
60
+ buildCursorPage,
61
+ buildPageResponse,
62
+ CursorPageInfoSchema,
63
+ CursorPageSchema,
64
+ CursorQuerySchema,
65
+ normalizeCursorQuery,
66
+ normalizePageQuery,
60
67
  PageRequestSchema,
61
68
  PageResponseSchema,
62
69
  } from "./contract_support/mod.js";
63
70
  export type {
71
+ CursorPage,
72
+ CursorPageInfo,
73
+ CursorQuery,
74
+ CursorQueryOptions,
64
75
  ErrorClass,
65
76
  InferRuntimeRpcError,
77
+ NormalizedCursorQuery,
66
78
  PageRequest,
67
79
  PageResponse,
68
80
  RpcErrorClass,