@substrat-run/engine-booking 0.6.4 → 0.7.1

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/dist/index.d.ts CHANGED
@@ -1,3 +1,22 @@
1
+ /**
2
+ * engine-booking — composed **by call**, not by event.
3
+ *
4
+ * The in-scope functions are the surface: `createResource`, `holdReservation`,
5
+ * `confirmReservation`, `joinReservation`, `openReservation`, `leaveReservation`,
6
+ * `cancelReservation`, `moveReservation`, `startReservation`, `completeReservation`,
7
+ * `markNoShow`, `expireReservation` and the reads beside them. A vertical imports
8
+ * those into its own operations and runs them inside its own transaction; the
9
+ * registered operations below are the engine's default HTTP-reachable bindings,
10
+ * not a second way in.
11
+ *
12
+ * The consequence is stated at length in `lifecycle.ts`: an engine composed by call
13
+ * takes its invariant from the callee, so `booking/join` is not declared as an edge
14
+ * to `confirmed` even though a join that fills the last place calls
15
+ * `confirmReservation` — the move is that function's, and it goes through the same
16
+ * check on the way.
17
+ *
18
+ * There are no consumers here. Nothing composes this engine by emitting at it.
19
+ */
1
20
  import { z } from 'zod';
2
21
  import { type ListPage, type Page } from '@substrat-run/contracts';
3
22
  /**
@@ -11,7 +30,7 @@ import { type ListPage, type Page } from '@substrat-run/contracts';
11
30
  */
12
31
  export declare const BOOKING_CONFLICT_REASONS: readonly ['already_joined', 'already_left', 'capacity_below_joined', 'hold_expired', "invalid_transition", 'not_yet_expired', 'reservation_full', 'resource_inactive'];
13
32
  export type BookingConflictReason = (typeof BOOKING_CONFLICT_REASONS)[number];
14
- export { availabilityInput, cancelReservationInput, createResourceInput, freeInterval, holdReservationInput, instantIn, joinReservationInput, leaveReservationInput, listReservationsInput, listResourcesInput, moveReservationInput, openReservationInput, participant, reservation, reservationAtInput, reservationIdIn, reservationState, resource, setResourceActiveInput, toInstant, type CreateResourceInput, type FreeInterval, type HoldReservationInput, type JoinReservationInput, type MoveReservationInput, type Participant, type Reservation, type ReservationState, type Resource, type SetResourceActiveInput, } from './schemas.js';
33
+ export { atInstant, availabilityInput, cancelReservationInput, createResourceInput, freeInterval, holdReservationCall, holdReservationInput, instantIn, joinReservationCall, joinReservationInput, leaveReservationInput, listReservationsInput, listResourcesInput, moveReservationCall, moveReservationInput, openReservationInput, participant, reservation, reservationAtInput, reservationIdIn, reservationState, resource, setResourceActiveInput, toInstant, type CreateResourceInput, type FreeInterval, type HoldReservationInput, type JoinReservationInput, type MoveReservationInput, type Participant, type Reservation, type ReservationState, type Resource, type SetResourceActiveInput, } from './schemas.js';
15
34
  export { bookingOperations, BOOKING_PERMISSIONS } from './operations.js';
16
35
  export { bookingLifecycles } from './lifecycle.js';
17
36
  import { type CreateResourceInput, type FreeInterval, type HoldReservationInput, type JoinReservationInput, type MoveReservationInput, type Participant, type Reservation, type ReservationState, type Resource } from './schemas.js';
@@ -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/dist/index.js CHANGED
@@ -1,5 +1,24 @@
1
+ /**
2
+ * engine-booking — composed **by call**, not by event.
3
+ *
4
+ * The in-scope functions are the surface: `createResource`, `holdReservation`,
5
+ * `confirmReservation`, `joinReservation`, `openReservation`, `leaveReservation`,
6
+ * `cancelReservation`, `moveReservation`, `startReservation`, `completeReservation`,
7
+ * `markNoShow`, `expireReservation` and the reads beside them. A vertical imports
8
+ * those into its own operations and runs them inside its own transaction; the
9
+ * registered operations below are the engine's default HTTP-reachable bindings,
10
+ * not a second way in.
11
+ *
12
+ * The consequence is stated at length in `lifecycle.ts`: an engine composed by call
13
+ * takes its invariant from the callee, so `booking/join` is not declared as an edge
14
+ * to `confirmed` even though a join that fills the last place calls
15
+ * `confirmReservation` — the move is that function's, and it goes through the same
16
+ * check on the way.
17
+ *
18
+ * There are no consumers here. Nothing composes this engine by emitting at it.
19
+ */
1
20
  import { z } from 'zod';
2
- import { assertTransition, dataSubjectId, INVALID_TRANSITION, LIST_PAGE_DEFAULT, LIST_PAGE_MAX, listsDeclaredBy, mapPage, moduleManifest, money, pageOf, permissionKey, substratError, operationInputsOf, } from '@substrat-run/contracts';
21
+ import { assertTransition, dataSubjectId, INVALID_TRANSITION, LIST_PAGE_DEFAULT, LIST_PAGE_MAX, listsDeclaredBy, mapPage, moduleManifest, money, pageOf, permissionKey, substratError, operationConcurrencyOf, operationInputsOf, } from '@substrat-run/contracts';
3
22
  /**
4
23
  * The conflict reasons this engine raises — its own vocabulary, narrowing the platform's
5
24
  * `conflict` code (#113). Exported so a vertical can branch on WHY a refusal happened
@@ -29,12 +48,12 @@ const conflict = (reason, message) => substratError('conflict', message, { reaso
29
48
  import { bookingEntities } from './entities.js';
30
49
  // The schemas are PUBLIC and re-exported unchanged: they were declared here as
31
50
  // interfaces until `defineOperations` needed them as schemas (see schemas.ts).
32
- export { availabilityInput, cancelReservationInput, createResourceInput, freeInterval, holdReservationInput, instantIn, joinReservationInput, leaveReservationInput, listReservationsInput, listResourcesInput, moveReservationInput, openReservationInput, participant, reservation, reservationAtInput, reservationIdIn, reservationState, resource, setResourceActiveInput, toInstant, } from './schemas.js';
51
+ export { atInstant, availabilityInput, cancelReservationInput, createResourceInput, freeInterval, holdReservationCall, holdReservationInput, instantIn, joinReservationCall, joinReservationInput, leaveReservationInput, listReservationsInput, listResourcesInput, moveReservationCall, moveReservationInput, openReservationInput, participant, reservation, reservationAtInput, reservationIdIn, reservationState, resource, setResourceActiveInput, toInstant, } from './schemas.js';
33
52
  export { bookingOperations, BOOKING_PERMISSIONS } from './operations.js';
34
53
  import { bookingOperations } from './operations.js';
35
54
  export { bookingLifecycles } from './lifecycle.js';
36
55
  import { bookingLifecycles } from './lifecycle.js';
37
- import { createResourceInput, freeInterval as freeIntervalShape, holdReservationInput, joinReservationInput, moveReservationInput, participant as participantShape, reservation as reservationShape, resource as resourceShape, toInstant, } from './schemas.js';
56
+ import { createResourceInput, freeInterval as freeIntervalShape, holdReservationCall, joinReservationCall, moveReservationCall, participant as participantShape, reservation as reservationShape, resource as resourceShape, toInstant, } from './schemas.js';
38
57
  export { bookingEntities, reservationRow, resourceRow } from './entities.js';
39
58
  import { reservationRow, resourceRow } from './entities.js';
40
59
  import { columnsOf, returns } from './seam.js';
@@ -154,9 +173,15 @@ export const bookingMigrations = [
154
173
  // Instants
155
174
  // ---------------------------------------------------------------------------
156
175
  /**
157
- * `now` is injectable so hold expiry is testable and replayable; absent, it is the
158
- * operation's instant (#812) rather than a fresh wall-clock reading, so every
159
- * expiry decision inside one operation is judged against the same moment.
176
+ * `now` is injectable IN SCOPE so hold expiry is testable and replayable; absent,
177
+ * it is the operation's instant (#812) rather than a fresh wall-clock reading, so
178
+ * every expiry decision inside one operation is judged against the same moment.
179
+ *
180
+ * It is never on the wire (#961): no declared operation input carries `now`, the
181
+ * host strips an undeclared key before the handler runs, and the handlers below
182
+ * pass nothing — so an HTTP caller cannot confirm an expired hold by back-dating
183
+ * the clock, nor sweep a live one by post-dating it. See `atInstant` in
184
+ * `schemas.ts`.
160
185
  */
161
186
  const nowOr = (ctx, now) => (now ? toInstant(now) : ctx.now());
162
187
  // ---------------------------------------------------------------------------
@@ -401,7 +426,7 @@ export function listResources(ctx, kind) {
401
426
  * a payment hold and an open match awaiting players (`fillTarget`).
402
427
  */
403
428
  export function holdReservation(ctx, rawInput) {
404
- const input = holdReservationInput.parse(rawInput);
429
+ const input = holdReservationCall.parse(rawInput);
405
430
  const now = nowOr(ctx, input.now);
406
431
  if (input.startsAt >= input.endsAt) {
407
432
  throw substratError('validation_failed', `invalid interval: ${input.startsAt} is not before ${input.endsAt}`);
@@ -517,7 +542,7 @@ export function expireReservation(ctx, input) {
517
542
  * this auto-confirms — the open-match mechanic, built out of the payment hold.
518
543
  */
519
544
  export function joinReservation(ctx, rawInput) {
520
- const input = joinReservationInput.parse(rawInput);
545
+ const input = joinReservationCall.parse(rawInput);
521
546
  const row = getRow(ctx, input.reservationId);
522
547
  requireTransition(row, 'booking/join');
523
548
  const now = nowOr(ctx, input.now);
@@ -656,7 +681,7 @@ export function cancelReservation(ctx, input) {
656
681
  * any payment already attached.
657
682
  */
658
683
  export function moveReservation(ctx, rawInput) {
659
- const input = moveReservationInput.parse(rawInput);
684
+ const input = moveReservationCall.parse(rawInput);
660
685
  const row = getRow(ctx, input.reservationId);
661
686
  requireTransition(row, 'booking/move');
662
687
  const now = nowOr(ctx, input.now);
@@ -966,7 +991,7 @@ const noShowOp = async (ctx, input) => {
966
991
  };
967
992
  const getOp = async (ctx, input) => {
968
993
  assertAllowed(await ctx.check(PERM.read, reservationRef(input.reservationId)));
969
- return getReservation(ctx, input.reservationId, input.now);
994
+ return getReservation(ctx, input.reservationId);
970
995
  };
971
996
  const listOp = async (ctx, input) => {
972
997
  assertAllowed(await ctx.check(PERM.read));
@@ -1015,5 +1040,11 @@ export const bookingModule = {
1015
1040
  * manifest and the routes — the schema is written once, in `operations.ts`.
1016
1041
  */
1017
1042
  operationInputs: operationInputsOf(bookingOperations),
1043
+ /**
1044
+ * #129: the host compares `If-Match` against the reservation's version for the
1045
+ * operations that declare `concurrency` — `booking/move` since #961 — from the
1046
+ * same declaration, so the guard cannot be forgotten by a handler.
1047
+ */
1048
+ operationConcurrency: operationConcurrencyOf(bookingOperations),
1018
1049
  };
1019
1050
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,6 @@ export declare const bookingOperations: {
105
105
  quantity: z.ZodOptional<z.ZodNumber>;
106
106
  fillTarget: z.ZodOptional<z.ZodNumber>;
107
107
  note: z.ZodOptional<z.ZodString>;
108
- now: z.ZodOptional<z.ZodString>;
109
108
  }, z.core.$strip>;
110
109
  readonly output: z.ZodObject<{
111
110
  id: z.ZodString;
@@ -147,7 +146,6 @@ export declare const bookingOperations: {
147
146
  };
148
147
  readonly input: z.ZodObject<{
149
148
  reservationId: z.ZodString;
150
- now: z.ZodOptional<z.ZodString>;
151
149
  }, z.core.$strip>;
152
150
  readonly output: z.ZodObject<{
153
151
  id: z.ZodString;
@@ -185,7 +183,6 @@ export declare const bookingOperations: {
185
183
  readonly permission: "booking:confirm";
186
184
  readonly input: z.ZodObject<{
187
185
  reservationId: z.ZodString;
188
- now: z.ZodOptional<z.ZodString>;
189
186
  }, z.core.$strip>;
190
187
  readonly output: z.ZodObject<{
191
188
  id: z.ZodString;
@@ -232,7 +229,6 @@ export declare const bookingOperations: {
232
229
  amount: z.core.$ZodBranded<z.ZodString, "MoneyAmount", "out">;
233
230
  currency: z.core.$ZodBranded<z.ZodString, "CurrencyCode", "out">;
234
231
  }, z.core.$strip>>;
235
- now: z.ZodOptional<z.ZodString>;
236
232
  }, z.core.$strip>;
237
233
  readonly output: z.ZodObject<{
238
234
  participant: z.ZodObject<{
@@ -287,7 +283,6 @@ export declare const bookingOperations: {
287
283
  readonly input: z.ZodObject<{
288
284
  reservationId: z.ZodString;
289
285
  participantId: z.ZodString;
290
- now: z.ZodOptional<z.ZodString>;
291
286
  }, z.core.$strip>;
292
287
  readonly output: z.ZodObject<{
293
288
  id: z.ZodString;
@@ -374,7 +369,6 @@ export declare const bookingOperations: {
374
369
  resourceId: z.ZodOptional<z.ZodString>;
375
370
  startsAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
376
371
  endsAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
377
- now: z.ZodOptional<z.ZodString>;
378
372
  }, z.core.$strip>;
379
373
  readonly output: z.ZodObject<{
380
374
  id: z.ZodString;
@@ -406,6 +400,19 @@ export declare const bookingOperations: {
406
400
  createdBy: z.ZodString;
407
401
  createdAt: z.ZodString;
408
402
  }, z.core.$strip>;
403
+ /**
404
+ * A partial field-bag over the reservation's own columns — read-modify-write,
405
+ * so the model requires the guard (#129). It was undeclared until #961 only
406
+ * because the input carried `now`, which is not a column and hid the shape
407
+ * from the check. The client opts in with `If-Match`; a caller sending none
408
+ * is served exactly as before. The version moves because `moveReservation`
409
+ * emits `booking.moved` about the reservation by hand, as every handler in
410
+ * this engine emits.
411
+ */
412
+ readonly concurrency: {
413
+ readonly over: "reservation";
414
+ readonly idFrom: "reservationId";
415
+ };
409
416
  };
410
417
  readonly 'booking/open': {
411
418
  readonly summary: "Put a reservation on offer, or take it off";
@@ -417,7 +424,6 @@ export declare const bookingOperations: {
417
424
  readonly input: z.ZodObject<{
418
425
  reservationId: z.ZodString;
419
426
  fillTarget: z.ZodNullable<z.ZodNumber>;
420
- now: z.ZodOptional<z.ZodString>;
421
427
  }, z.core.$strip>;
422
428
  readonly output: z.ZodObject<{
423
429
  id: z.ZodString;
@@ -570,7 +576,6 @@ export declare const bookingOperations: {
570
576
  };
571
577
  readonly input: z.ZodObject<{
572
578
  reservationId: z.ZodString;
573
- now: z.ZodOptional<z.ZodString>;
574
579
  }, z.core.$strip>;
575
580
  readonly output: z.ZodObject<{
576
581
  reservation: z.ZodObject<{
@@ -622,7 +627,6 @@ export declare const bookingOperations: {
622
627
  resourceId: z.ZodOptional<z.ZodString>;
623
628
  from: z.ZodOptional<z.ZodString>;
624
629
  to: z.ZodOptional<z.ZodString>;
625
- now: z.ZodOptional<z.ZodString>;
626
630
  }, z.core.$strip>;
627
631
  readonly inputOptional: true;
628
632
  readonly output: z.ZodObject<{
@@ -680,7 +684,6 @@ export declare const bookingOperations: {
680
684
  resourceId: z.ZodString;
681
685
  from: z.ZodString;
682
686
  to: z.ZodString;
683
- now: z.ZodOptional<z.ZodString>;
684
687
  }, z.core.$strip>;
685
688
  readonly output: z.ZodObject<{
686
689
  startsAt: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAoB,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAsB9D,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,YAC9B,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,CAClB,CAAC;AAMX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFZ,aAAa;6BAAU,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+HpD;;;;;;;;;;;;;WAaG;;;;;;;;;;;;;;;;;;;QASH;;;;;WAKG;;;;;CAGL,CAAC"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAoB,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAqB9D,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,YAC9B,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,CAClB,CAAC;AAMX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFZ,aAAa;6BAAU,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmFpD;;;;;;;;WAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8CH;;;;;;;;;;;;;WAaG;;;;;;;;;;;;;;;;;;QASH;;;;;WAKG;;;;;CAGL,CAAC"}
@@ -36,7 +36,7 @@
36
36
  */
37
37
  import { defineOperations, z } from '@substrat-run/contracts';
38
38
  import { bookingEntities } from './entities.js';
39
- import { availabilityInput, cancelReservationInput, createResourceInput, freeInterval, holdReservationInput, joinReservationInput, leaveReservationInput, listReservationsInput, listResourcesInput, moveReservationInput, openReservationInput, participant, reservation, reservationAtInput, reservationIdIn, resource, setResourceActiveInput, } from './schemas.js';
39
+ import { availabilityInput, cancelReservationInput, createResourceInput, freeInterval, holdReservationInput, joinReservationInput, leaveReservationInput, listReservationsInput, listResourcesInput, moveReservationInput, openReservationInput, participant, reservation, reservationIdIn, resource, setResourceActiveInput, } from './schemas.js';
40
40
  /** The keys these operations check. Mirrors `PERM` in index.ts. */
41
41
  export const BOOKING_PERMISSIONS = [
42
42
  'booking:create',
@@ -89,14 +89,14 @@ export const bookingOperations = defineOperations(bookingEntities, BOOKING_PERMI
89
89
  'booking/confirm': {
90
90
  summary: 'Confirm a held reservation',
91
91
  permission: onReservation('booking:confirm'),
92
- input: reservationAtInput,
92
+ input: reservationIdIn,
93
93
  output: reservation,
94
94
  },
95
95
  'booking/expire': {
96
96
  summary: 'Sweep a hold whose deadline has passed',
97
97
  // Node, deliberately — see the header. A sweep acts on whatever has lapsed.
98
98
  permission: 'booking:confirm',
99
- input: reservationAtInput,
99
+ input: reservationIdIn,
100
100
  output: reservation,
101
101
  },
102
102
  'booking/join': {
@@ -122,6 +122,16 @@ export const bookingOperations = defineOperations(bookingEntities, BOOKING_PERMI
122
122
  permission: onReservation('booking:move'),
123
123
  input: moveReservationInput,
124
124
  output: reservation,
125
+ /**
126
+ * A partial field-bag over the reservation's own columns — read-modify-write,
127
+ * so the model requires the guard (#129). It was undeclared until #961 only
128
+ * because the input carried `now`, which is not a column and hid the shape
129
+ * from the check. The client opts in with `If-Match`; a caller sending none
130
+ * is served exactly as before. The version moves because `moveReservation`
131
+ * emits `booking.moved` about the reservation by hand, as every handler in
132
+ * this engine emits.
133
+ */
134
+ concurrency: { over: 'reservation', idFrom: 'reservationId' },
125
135
  },
126
136
  'booking/open': {
127
137
  summary: 'Put a reservation on offer, or take it off',
@@ -151,7 +161,7 @@ export const bookingOperations = defineOperations(bookingEntities, BOOKING_PERMI
151
161
  'booking/get': {
152
162
  summary: 'One reservation with its participants',
153
163
  permission: onReservation('booking:read'),
154
- input: reservationAtInput,
164
+ input: reservationIdIn,
155
165
  output: z.object({ reservation, participants: z.array(participant) }),
156
166
  },
157
167
  'booking/list': {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -97,6 +97,24 @@ export declare const freeInterval: z.ZodObject<{
97
97
  available: z.ZodNumber;
98
98
  }, z.core.$strip>;
99
99
  export type FreeInterval = z.infer<typeof freeInterval>;
100
+ /**
101
+ * The instant an IN-SCOPE call judges expiry against — never on the wire (#961).
102
+ *
103
+ * `nowOr` prefers it over `ctx.now()`, which is exactly why no operation input
104
+ * below carries it: a caller who could send `now` would confirm an expired hold
105
+ * by back-dating it, or sweep someone's live hold by post-dating it — R6's ban on
106
+ * ambient clocks re-opened through the input schema. The host parses each
107
+ * declared input before the handler runs and a wire `now` is stripped with the
108
+ * other undeclared keys, so an operation always judges against the operation's
109
+ * own instant.
110
+ *
111
+ * A vertical composing the engine by call may still pass it, which is what keeps
112
+ * lazy expiry testable and replayable at a chosen moment; so may a test, though
113
+ * a `manualClock` on the host is the shape that exercises the wire path too.
114
+ */
115
+ export declare const atInstant: z.ZodObject<{
116
+ now: z.ZodOptional<z.ZodString>;
117
+ }, z.core.$strip>;
100
118
  /** Every reservation-scoped operation opens with this, and most add nothing. */
101
119
  export declare const reservationIdIn: z.ZodObject<{
102
120
  reservationId: z.ZodString;
@@ -123,9 +141,19 @@ export declare const holdReservationInput: z.ZodObject<{
123
141
  quantity: z.ZodOptional<z.ZodNumber>;
124
142
  fillTarget: z.ZodOptional<z.ZodNumber>;
125
143
  note: z.ZodOptional<z.ZodString>;
144
+ }, z.core.$strip>;
145
+ /** What `holdReservation(ctx, …)` takes in scope: the wire input plus `now`. */
146
+ export declare const holdReservationCall: z.ZodObject<{
126
147
  now: z.ZodOptional<z.ZodString>;
148
+ resourceId: z.ZodString;
149
+ startsAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
150
+ endsAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
151
+ expiresAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
152
+ quantity: z.ZodOptional<z.ZodNumber>;
153
+ fillTarget: z.ZodOptional<z.ZodNumber>;
154
+ note: z.ZodOptional<z.ZodString>;
127
155
  }, z.core.$strip>;
128
- export type HoldReservationInput = z.infer<typeof holdReservationInput>;
156
+ export type HoldReservationInput = z.infer<typeof holdReservationCall>;
129
157
  export declare const joinReservationInput: z.ZodObject<{
130
158
  reservationId: z.ZodString;
131
159
  partyRef: z.core.$ZodBranded<z.ZodString, "DataSubjectId", "out">;
@@ -133,13 +161,21 @@ export declare const joinReservationInput: z.ZodObject<{
133
161
  amount: z.core.$ZodBranded<z.ZodString, "MoneyAmount", "out">;
134
162
  currency: z.core.$ZodBranded<z.ZodString, "CurrencyCode", "out">;
135
163
  }, z.core.$strip>>;
164
+ }, z.core.$strip>;
165
+ /** What `joinReservation(ctx, …)` takes in scope: the wire input plus `now`. */
166
+ export declare const joinReservationCall: z.ZodObject<{
136
167
  now: z.ZodOptional<z.ZodString>;
168
+ reservationId: z.ZodString;
169
+ partyRef: z.core.$ZodBranded<z.ZodString, "DataSubjectId", "out">;
170
+ share: z.ZodOptional<z.ZodObject<{
171
+ amount: z.core.$ZodBranded<z.ZodString, "MoneyAmount", "out">;
172
+ currency: z.core.$ZodBranded<z.ZodString, "CurrencyCode", "out">;
173
+ }, z.core.$strip>>;
137
174
  }, z.core.$strip>;
138
- export type JoinReservationInput = z.infer<typeof joinReservationInput>;
175
+ export type JoinReservationInput = z.infer<typeof joinReservationCall>;
139
176
  export declare const leaveReservationInput: z.ZodObject<{
140
177
  reservationId: z.ZodString;
141
178
  participantId: z.ZodString;
142
- now: z.ZodOptional<z.ZodString>;
143
179
  }, z.core.$strip>;
144
180
  export declare const cancelReservationInput: z.ZodObject<{
145
181
  reservationId: z.ZodString;
@@ -150,29 +186,35 @@ export declare const moveReservationInput: z.ZodObject<{
150
186
  resourceId: z.ZodOptional<z.ZodString>;
151
187
  startsAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
152
188
  endsAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
189
+ }, z.core.$strip>;
190
+ /** What `moveReservation(ctx, …)` takes in scope: the wire input plus `now`. */
191
+ export declare const moveReservationCall: z.ZodObject<{
153
192
  now: z.ZodOptional<z.ZodString>;
193
+ reservationId: z.ZodString;
194
+ resourceId: z.ZodOptional<z.ZodString>;
195
+ startsAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
196
+ endsAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
154
197
  }, z.core.$strip>;
155
- export type MoveReservationInput = z.infer<typeof moveReservationInput>;
198
+ export type MoveReservationInput = z.infer<typeof moveReservationCall>;
156
199
  export declare const openReservationInput: z.ZodObject<{
157
200
  reservationId: z.ZodString;
158
201
  fillTarget: z.ZodNullable<z.ZodNumber>;
159
- now: z.ZodOptional<z.ZodString>;
160
202
  }, z.core.$strip>;
161
- /** `now` is injectable so lazy expiry renders identically in a test and a replay. */
203
+ /**
204
+ * @deprecated Identical to `reservationIdIn` since `now` left the wire (#961);
205
+ * kept so a caller that named it keeps compiling.
206
+ */
162
207
  export declare const reservationAtInput: z.ZodObject<{
163
208
  reservationId: z.ZodString;
164
- now: z.ZodOptional<z.ZodString>;
165
209
  }, z.core.$strip>;
166
210
  export declare const listReservationsInput: z.ZodObject<{
167
211
  resourceId: z.ZodOptional<z.ZodString>;
168
212
  from: z.ZodOptional<z.ZodString>;
169
213
  to: z.ZodOptional<z.ZodString>;
170
- now: z.ZodOptional<z.ZodString>;
171
214
  }, z.core.$strip>;
172
215
  export declare const availabilityInput: z.ZodObject<{
173
216
  resourceId: z.ZodString;
174
217
  from: z.ZodString;
175
218
  to: z.ZodString;
176
- now: z.ZodOptional<z.ZodString>;
177
219
  }, z.core.$strip>;
178
220
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAGjF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,eAAO,MAAM,SAAS,wDAGC,CAAC;AAMxB;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;EAAiD,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,QAAQ;;;;;;;iBAOnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,WAAW;;;;;;;;;iBAMtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsBtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;iBAIvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAMxD,gFAAgF;AAChF,eAAO,MAAM,eAAe;;iBAAiD,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,kBAAkB;;iBAAmD,CAAC;AAEnF,eAAO,MAAM,oBAAoB;;;;;;;;;iBAS/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;;;;;iBAU/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;iBAEjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;iBAS/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;iBAG/B,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,kBAAkB;;;iBAAyD,CAAC;AAEzF,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAGjF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,eAAO,MAAM,SAAS,wDAGC,CAAC;AAMxB;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;EAAiD,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,QAAQ;;;;;;;iBAOnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,WAAW;;;;;;;;;iBAMtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsBtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;iBAIvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAMxD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS;;iBAA2C,CAAC;AAElE,gFAAgF;AAChF,eAAO,MAAM,eAAe;;iBAAiD,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,kBAAkB;;iBAAmD,CAAC;AAEnF,eAAO,MAAM,oBAAoB;;;;;;;;iBAQ/B,CAAC;AACH,gFAAgF;AAChF,eAAO,MAAM,mBAAmB;;;;;;;;;iBAA+C,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,oBAAoB;;;;;;;iBAS/B,CAAC;AACH,gFAAgF;AAChF,eAAO,MAAM,mBAAmB;;;;;;;;iBAA+C,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,qBAAqB;;;iBAEhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;iBAEjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;iBAQ/B,CAAC;AACH,gFAAgF;AAChF,eAAO,MAAM,mBAAmB;;;;;;iBAA+C,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,oBAAoB;;;iBAE/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;iBAAkB,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC"}
package/dist/schemas.js CHANGED
@@ -92,6 +92,22 @@ export const freeInterval = z.object({
92
92
  // ---------------------------------------------------------------------------
93
93
  // Operation inputs
94
94
  // ---------------------------------------------------------------------------
95
+ /**
96
+ * The instant an IN-SCOPE call judges expiry against — never on the wire (#961).
97
+ *
98
+ * `nowOr` prefers it over `ctx.now()`, which is exactly why no operation input
99
+ * below carries it: a caller who could send `now` would confirm an expired hold
100
+ * by back-dating it, or sweep someone's live hold by post-dating it — R6's ban on
101
+ * ambient clocks re-opened through the input schema. The host parses each
102
+ * declared input before the handler runs and a wire `now` is stripped with the
103
+ * other undeclared keys, so an operation always judges against the operation's
104
+ * own instant.
105
+ *
106
+ * A vertical composing the engine by call may still pass it, which is what keeps
107
+ * lazy expiry testable and replayable at a chosen moment; so may a test, though
108
+ * a `manualClock` on the host is the shape that exercises the wire path too.
109
+ */
110
+ export const atInstant = z.object({ now: z.string().optional() });
95
111
  /** Every reservation-scoped operation opens with this, and most add nothing. */
96
112
  export const reservationIdIn = z.object({ reservationId: z.string().min(1) });
97
113
  export const createResourceInput = z.object({
@@ -112,8 +128,9 @@ export const holdReservationInput = z.object({
112
128
  quantity: z.number().int().min(1).optional(),
113
129
  fillTarget: z.number().int().min(1).optional(),
114
130
  note: z.string().optional(),
115
- now: z.string().optional(),
116
131
  });
132
+ /** What `holdReservation(ctx, …)` takes in scope: the wire input plus `now`. */
133
+ export const holdReservationCall = holdReservationInput.extend(atInstant.shape);
117
134
  export const joinReservationInput = z.object({
118
135
  reservationId: z.string().min(1),
119
136
  /**
@@ -123,11 +140,11 @@ export const joinReservationInput = z.object({
123
140
  */
124
141
  partyRef: dataSubjectId,
125
142
  share: money.optional(),
126
- now: z.string().optional(),
127
143
  });
144
+ /** What `joinReservation(ctx, …)` takes in scope: the wire input plus `now`. */
145
+ export const joinReservationCall = joinReservationInput.extend(atInstant.shape);
128
146
  export const leaveReservationInput = reservationIdIn.extend({
129
147
  participantId: z.string().min(1),
130
- now: z.string().optional(),
131
148
  });
132
149
  export const cancelReservationInput = reservationIdIn.extend({
133
150
  reason: z.string().optional(),
@@ -140,24 +157,25 @@ export const moveReservationInput = z.object({
140
157
  startsAt: instantIn.optional(),
141
158
  /** New end. Given alone, the booking is re-sized from its existing start. */
142
159
  endsAt: instantIn.optional(),
143
- now: z.string().optional(),
144
160
  });
161
+ /** What `moveReservation(ctx, …)` takes in scope: the wire input plus `now`. */
162
+ export const moveReservationCall = moveReservationInput.extend(atInstant.shape);
145
163
  export const openReservationInput = reservationIdIn.extend({
146
164
  fillTarget: z.number().int().min(1).nullable(),
147
- now: z.string().optional(),
148
165
  });
149
- /** `now` is injectable so lazy expiry renders identically in a test and a replay. */
150
- export const reservationAtInput = reservationIdIn.extend({ now: z.string().optional() });
166
+ /**
167
+ * @deprecated Identical to `reservationIdIn` since `now` left the wire (#961);
168
+ * kept so a caller that named it keeps compiling.
169
+ */
170
+ export const reservationAtInput = reservationIdIn;
151
171
  export const listReservationsInput = z.object({
152
172
  resourceId: z.string().min(1).optional(),
153
173
  from: z.string().optional(),
154
174
  to: z.string().optional(),
155
- now: z.string().optional(),
156
175
  });
157
176
  export const availabilityInput = z.object({
158
177
  resourceId: z.string().min(1),
159
178
  from: z.string(),
160
179
  to: z.string(),
161
- now: z.string().optional(),
162
180
  });
163
181
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/dist/seam.d.ts CHANGED
@@ -1,58 +1,5 @@
1
- /**
2
- * The engine seam, PARSED rather than asserted (#771).
3
- *
4
- * "Parse, don't trust" was enforced in one direction only. Operation inputs go
5
- * through Zod at the boundary; return values crossing the engine seam were
6
- * trusted because TypeScript said so — and TypeScript is not there at runtime.
7
- * The failure that lets through is precise: a vertical compiled against engine
8
- * 0.3, running against engine 0.4, whose row shape moved. The vertical reads a
9
- * field that is now `null`, or misses one that appeared, and the first symptom is
10
- * wrong data on a screen rather than a throw.
11
- *
12
- * This file is the two halves of closing that, lifted from `engines/workorder`
13
- * (the reference conversion) with only the engine's name changed:
14
- *
15
- * - `returns(schema, surface, value)` — every published shape is parsed on the way
16
- * OUT, by the same schema a composing vertical declares its `output` with. The
17
- * engine's public surfaces evolve additively *by review*; this makes a row that
18
- * stopped matching the published shape a throw at the seam.
19
- * - `columnsOf(schema)` — the SELECT list is DERIVED from the row schema, so a
20
- * read asks for exactly the columns the seam promises. `SELECT *` pinned the
21
- * public return shape to whatever the physical table currently held: a column
22
- * added upstream leaked through the seam, and a column renamed became a missing
23
- * field nothing noticed.
24
- *
25
- * **Parse always** — including on bulk reads and the computed `availability`
26
- * fold. Dev-only validation would be absent exactly where the version skew lives:
27
- * in production, against an engine nobody in this repo deployed. Every read here
28
- * is one row, one reservation's roster, one page (#811), or one resource's
29
- * calendar window, so the parsed set is bounded by the caller's own window.
30
- */
31
- import { z } from '@substrat-run/contracts';
32
- /**
33
- * Parse a value on its way ACROSS the seam, or refuse to publish it.
34
- *
35
- * The throw is `internal`, deliberately, and not `validation_failed`: the caller's
36
- * input was already parsed and is not what went wrong — the engine's own stored
37
- * row no longer matches the shape the engine publishes. `validation_failed` is a
38
- * 400 blaming the caller for a fault on this side, and `toProblem` drops
39
- * `internal`'s detail from the response body, so the drift is logged rather than
40
- * handed to a client that can do nothing with it.
41
- */
42
- export declare function returns<T>(schema: z.ZodType<T>, surface: string, value: unknown): T;
43
- /**
44
- * The SELECT list a schema describes: `'id, resource_id, starts_at, …'`.
45
- *
46
- * Derived rather than transcribed, for the same reason the manifest's `lists` are
47
- * derived from the operations' own `paged.over` — two descriptions of one column
48
- * set is how they come to disagree. A column dropped from the table is then a SQL
49
- * error naming it, and a column added to the table is simply never read.
50
- *
51
- * Structurally typed (`{ shape }`) rather than taking a `z.ZodObject`, so it
52
- * accepts both the entity registry's row schemas and a local row schema without
53
- * either widening to `any`.
54
- */
55
- export declare function columnsOf(schema: {
1
+ /** How this engine names itself in a seam failure. */
2
+ export declare const columnsOf: (schema: {
56
3
  readonly shape: Readonly<Record<string, unknown>>;
57
- }): string;
4
+ }) => string, returns: <T>(schema: import("zod").ZodType<T>, surface: string, value: unknown) => T;
58
5
  //# sourceMappingURL=seam.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seam.d.ts","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAuC,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAKjF;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAUnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,GAAG,MAAM,CAU/F"}
1
+ {"version":3,"file":"seam.d.ts","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAeA,sDAAsD;AACtD,eAAO,MAAQ,SAAS;;cAAE,OAAO,6EAAiC,CAAC"}
package/dist/seam.js CHANGED
@@ -1,76 +1,17 @@
1
1
  /**
2
- * The engine seam, PARSED rather than asserted (#771).
2
+ * The engine seam (#771) for engine-booking the NAME, and nothing else.
3
3
  *
4
- * "Parse, don't trust" was enforced in one direction only. Operation inputs go
5
- * through Zod at the boundary; return values crossing the engine seam were
6
- * trusted because TypeScript said so and TypeScript is not there at runtime.
7
- * The failure that lets through is precise: a vertical compiled against engine
8
- * 0.3, running against engine 0.4, whose row shape moved. The vertical reads a
9
- * field that is now `null`, or misses one that appeared, and the first symptom is
10
- * wrong data on a screen rather than a throw.
4
+ * `returns(schema, surface, value)` and `columnsOf(schema)` live in
5
+ * `@substrat-run/contracts` (#970), where the prose explaining what they are for
6
+ * lives with them; this file used to be a byte-identical copy of that
7
+ * implementation, differing only in the name below.
11
8
  *
12
- * This file is the two halves of closing that, lifted from `engines/workorder`
13
- * (the reference conversion) with only the engine's name changed:
14
- *
15
- * - `returns(schema, surface, value)` every published shape is parsed on the way
16
- * OUT, by the same schema a composing vertical declares its `output` with. The
17
- * engine's public surfaces evolve additively *by review*; this makes a row that
18
- * stopped matching the published shape a throw at the seam.
19
- * - `columnsOf(schema)` — the SELECT list is DERIVED from the row schema, so a
20
- * read asks for exactly the columns the seam promises. `SELECT *` pinned the
21
- * public return shape to whatever the physical table currently held: a column
22
- * added upstream leaked through the seam, and a column renamed became a missing
23
- * field nothing noticed.
24
- *
25
- * **Parse always** — including on bulk reads and the computed `availability`
26
- * fold. Dev-only validation would be absent exactly where the version skew lives:
27
- * in production, against an engine nobody in this repo deployed. Every read here
28
- * is one row, one reservation's roster, one page (#811), or one resource's
29
- * calendar window, so the parsed set is bounded by the caller's own window.
9
+ * What is specific to this engine is the reach of "parse always": it covers the
10
+ * bulk reads and the computed `availability` fold too. Every read here is one row,
11
+ * one reservation's roster, one page (#811), or one resource's calendar window, so
12
+ * the parsed set is bounded by the caller's own window.
30
13
  */
31
- import { substratError, validationIssuesFrom, z } from '@substrat-run/contracts';
14
+ import { engineSeam } from '@substrat-run/contracts';
32
15
  /** How this engine names itself in a seam failure. */
33
- const ENGINE = 'engine-booking';
34
- /**
35
- * Parse a value on its way ACROSS the seam, or refuse to publish it.
36
- *
37
- * The throw is `internal`, deliberately, and not `validation_failed`: the caller's
38
- * input was already parsed and is not what went wrong — the engine's own stored
39
- * row no longer matches the shape the engine publishes. `validation_failed` is a
40
- * 400 blaming the caller for a fault on this side, and `toProblem` drops
41
- * `internal`'s detail from the response body, so the drift is logged rather than
42
- * handed to a client that can do nothing with it.
43
- */
44
- export function returns(schema, surface, value) {
45
- const result = schema.safeParse(value);
46
- if (result.success)
47
- return result.data;
48
- const issues = validationIssuesFrom(result.error)
49
- .map((issue) => `${issue.path || '(root)'}: ${issue.message}`)
50
- .join('; ');
51
- throw substratError('internal', `${ENGINE}: ${surface} does not match the shape this engine publishes — ${issues}`);
52
- }
53
- /**
54
- * The SELECT list a schema describes: `'id, resource_id, starts_at, …'`.
55
- *
56
- * Derived rather than transcribed, for the same reason the manifest's `lists` are
57
- * derived from the operations' own `paged.over` — two descriptions of one column
58
- * set is how they come to disagree. A column dropped from the table is then a SQL
59
- * error naming it, and a column added to the table is simply never read.
60
- *
61
- * Structurally typed (`{ shape }`) rather than taking a `z.ZodObject`, so it
62
- * accepts both the entity registry's row schemas and a local row schema without
63
- * either widening to `any`.
64
- */
65
- export function columnsOf(schema) {
66
- const names = Object.keys(schema.shape);
67
- for (const name of names) {
68
- // These are code-defined identifiers, never input — the check is here so that
69
- // stays true of a schema key somebody adds later.
70
- if (!/^[a-z_][a-z0-9_]*$/i.test(name)) {
71
- throw new Error(`${ENGINE}: ${name} is not a column name`);
72
- }
73
- }
74
- return names.join(', ');
75
- }
16
+ export const { columnsOf, returns } = engineSeam('engine-booking');
76
17
  //# sourceMappingURL=seam.js.map
package/dist/seam.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"seam.js","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAEjF,sDAAsD;AACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAI,MAAoB,EAAE,OAAe,EAAE,KAAc;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,aAAa,CACjB,UAAU,EACV,GAAG,MAAM,KAAK,OAAO,qDAAqD,MAAM,EAAE,CACnF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,MAA6D;IACrF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,8EAA8E;QAC9E,kDAAkD;QAClD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"seam.js","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,sDAAsD;AACtD,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/engine-booking",
3
- "version": "0.6.4",
3
+ "version": "0.7.1",
4
4
  "description": "Substrat engine: reservations — resource + interval + capacity, one allocation invariant, no locks",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -25,16 +25,16 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@substrat-run/contracts": "^0.91.1",
29
- "@substrat-run/kernel": "^0.91.1"
28
+ "@substrat-run/contracts": "^0.94.0",
29
+ "@substrat-run/kernel": "^0.94.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "typescript": "^7.0.0",
33
33
  "vitest": "^3.2.7",
34
34
  "zod": "^4.4.3",
35
- "@substrat-run/contract-tests": "^0.91.1",
36
- "@substrat-run/engine-test-kit": "^0.3.18",
37
- "@substrat-run/model-emit": "0.8.5"
35
+ "@substrat-run/contract-tests": "^0.94.0",
36
+ "@substrat-run/model-emit": "0.8.9",
37
+ "@substrat-run/engine-test-kit": "^0.3.21"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "zod": "^4.4.0"