pipework 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.
Files changed (188) hide show
  1. package/dist/cli/commands/check.d.ts.map +1 -1
  2. package/dist/cli/commands/check.js +62 -1
  3. package/dist/cli/commands/check.js.map +1 -1
  4. package/dist/cli/commands/run.d.ts.map +1 -1
  5. package/dist/cli/commands/run.js +4 -8
  6. package/dist/cli/commands/run.js.map +1 -1
  7. package/dist/config/discover.d.ts +1 -0
  8. package/dist/config/discover.d.ts.map +1 -1
  9. package/dist/config/discover.js +1 -1
  10. package/dist/config/discover.js.map +1 -1
  11. package/dist/config/index.d.ts +2 -2
  12. package/dist/config/index.d.ts.map +1 -1
  13. package/dist/config/index.js +1 -1
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/config/namespace.d.ts +76 -0
  16. package/dist/config/namespace.d.ts.map +1 -1
  17. package/dist/config/schema.d.ts +250 -0
  18. package/dist/config/schema.d.ts.map +1 -1
  19. package/dist/config/schema.js +38 -0
  20. package/dist/config/schema.js.map +1 -1
  21. package/dist/db/db.d.ts +2 -3
  22. package/dist/db/db.d.ts.map +1 -1
  23. package/dist/db/db.js +11 -8
  24. package/dist/db/db.js.map +1 -1
  25. package/dist/db/index.d.ts +1 -1
  26. package/dist/db/index.d.ts.map +1 -1
  27. package/dist/db/namespace.d.ts +2 -6
  28. package/dist/db/namespace.d.ts.map +1 -1
  29. package/dist/db/namespace.js +0 -5
  30. package/dist/db/namespace.js.map +1 -1
  31. package/dist/db/types.d.ts +6 -0
  32. package/dist/db/types.d.ts.map +1 -1
  33. package/dist/di/builder.d.ts +3 -2
  34. package/dist/di/builder.d.ts.map +1 -1
  35. package/dist/di/builder.js +11 -4
  36. package/dist/di/builder.js.map +1 -1
  37. package/dist/di/resolve.d.ts.map +1 -1
  38. package/dist/di/resolve.js +18 -4
  39. package/dist/di/resolve.js.map +1 -1
  40. package/dist/di/types.d.ts +1 -1
  41. package/dist/di/types.d.ts.map +1 -1
  42. package/dist/domain/define.d.ts +1 -1
  43. package/dist/domain/define.d.ts.map +1 -1
  44. package/dist/domain/define.js +11 -0
  45. package/dist/domain/define.js.map +1 -1
  46. package/dist/domain/field.d.ts +1 -0
  47. package/dist/domain/field.d.ts.map +1 -1
  48. package/dist/domain/field.js +3 -0
  49. package/dist/domain/field.js.map +1 -1
  50. package/dist/domain/project-factory.d.ts +1 -1
  51. package/dist/domain/project-factory.d.ts.map +1 -1
  52. package/dist/domain/project-factory.js +3 -1
  53. package/dist/domain/project-factory.js.map +1 -1
  54. package/dist/domain/project-schema.js +3 -2
  55. package/dist/domain/project-schema.js.map +1 -1
  56. package/dist/domain/project-table.js +8 -2
  57. package/dist/domain/project-table.js.map +1 -1
  58. package/dist/domain/types.d.ts +2 -1
  59. package/dist/domain/types.d.ts.map +1 -1
  60. package/dist/fitting/namespace.d.ts +1 -5
  61. package/dist/fitting/namespace.d.ts.map +1 -1
  62. package/dist/fitting/namespace.js +1 -5
  63. package/dist/fitting/namespace.js.map +1 -1
  64. package/dist/fixture/index.d.ts +1 -1
  65. package/dist/fixture/index.d.ts.map +1 -1
  66. package/dist/fixture/index.js +1 -1
  67. package/dist/fixture/index.js.map +1 -1
  68. package/dist/fixture/namespace.d.ts +3 -3
  69. package/dist/fixture/namespace.d.ts.map +1 -1
  70. package/dist/fixture/namespace.js +3 -3
  71. package/dist/fixture/namespace.js.map +1 -1
  72. package/dist/fixture/to-handlers.d.ts +6 -0
  73. package/dist/fixture/to-handlers.d.ts.map +1 -0
  74. package/dist/fixture/to-handlers.js +245 -0
  75. package/dist/fixture/to-handlers.js.map +1 -0
  76. package/dist/flow/namespace.d.ts +1 -10
  77. package/dist/flow/namespace.d.ts.map +1 -1
  78. package/dist/flow/namespace.js +1 -10
  79. package/dist/flow/namespace.js.map +1 -1
  80. package/dist/http/namespace.d.ts +2 -6
  81. package/dist/http/namespace.d.ts.map +1 -1
  82. package/dist/http/namespace.js +2 -6
  83. package/dist/http/namespace.js.map +1 -1
  84. package/dist/http/server.d.ts.map +1 -1
  85. package/dist/http/server.js +17 -11
  86. package/dist/http/server.js.map +1 -1
  87. package/dist/index.d.ts +3 -3
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js.map +1 -1
  90. package/dist/openapi/generate.d.ts.map +1 -1
  91. package/dist/openapi/generate.js +10 -8
  92. package/dist/openapi/generate.js.map +1 -1
  93. package/dist/pipework.d.ts +11 -0
  94. package/dist/pipework.d.ts.map +1 -1
  95. package/dist/pipework.js +24 -2
  96. package/dist/pipework.js.map +1 -1
  97. package/dist/surface/validate.d.ts +2 -0
  98. package/dist/surface/validate.d.ts.map +1 -1
  99. package/dist/surface/validate.js +54 -0
  100. package/dist/surface/validate.js.map +1 -1
  101. package/dist/temporal/definition-queries.d.ts +6 -6
  102. package/dist/temporal/definition-queries.d.ts.map +1 -1
  103. package/dist/temporal/definition-queries.js.map +1 -1
  104. package/dist/tenant/index.d.ts +1 -1
  105. package/dist/tenant/index.d.ts.map +1 -1
  106. package/dist/tenant/index.js +1 -1
  107. package/dist/tenant/index.js.map +1 -1
  108. package/dist/tenant/namespace.d.ts +2 -4
  109. package/dist/tenant/namespace.d.ts.map +1 -1
  110. package/dist/tenant/namespace.js +2 -4
  111. package/dist/tenant/namespace.js.map +1 -1
  112. package/dist/tenant/scoped-db.d.ts +1 -0
  113. package/dist/tenant/scoped-db.d.ts.map +1 -1
  114. package/dist/tenant/scoped-db.js +63 -2
  115. package/dist/tenant/scoped-db.js.map +1 -1
  116. package/dist/test/index.d.ts +1 -1
  117. package/dist/test/index.d.ts.map +1 -1
  118. package/dist/test/index.js +1 -1
  119. package/dist/test/index.js.map +1 -1
  120. package/dist/test/plugin.d.ts.map +1 -1
  121. package/dist/test/plugin.js +7 -0
  122. package/dist/test/plugin.js.map +1 -1
  123. package/dist/test/vitest-config.d.ts +1 -0
  124. package/dist/test/vitest-config.d.ts.map +1 -1
  125. package/dist/test/vitest-config.js +6 -2
  126. package/dist/test/vitest-config.js.map +1 -1
  127. package/dist/test/vitest-workspace.d.ts +6 -0
  128. package/dist/test/vitest-workspace.d.ts.map +1 -0
  129. package/dist/test/vitest-workspace.js +293 -0
  130. package/dist/test/vitest-workspace.js.map +1 -0
  131. package/dist/validation/index.d.ts +1 -1
  132. package/dist/validation/index.d.ts.map +1 -1
  133. package/dist/validation/index.js +1 -1
  134. package/dist/validation/index.js.map +1 -1
  135. package/dist/validation/startup.js +2 -2
  136. package/dist/validation/startup.js.map +1 -1
  137. package/dist/workspace/generate.d.ts +2 -0
  138. package/dist/workspace/generate.d.ts.map +1 -1
  139. package/dist/workspace/generate.js +15 -0
  140. package/dist/workspace/generate.js.map +1 -1
  141. package/dist/workspace/index.d.ts +1 -1
  142. package/dist/workspace/index.d.ts.map +1 -1
  143. package/dist/workspace/index.js +1 -1
  144. package/dist/workspace/index.js.map +1 -1
  145. package/dist/workspace/sync.d.ts.map +1 -1
  146. package/dist/workspace/sync.js +1 -0
  147. package/dist/workspace/sync.js.map +1 -1
  148. package/package.json +22 -24
  149. package/dist/drizzle/index.d.ts +0 -3
  150. package/dist/drizzle/index.d.ts.map +0 -1
  151. package/dist/drizzle/index.js +0 -3
  152. package/dist/drizzle/index.js.map +0 -1
  153. package/dist/resource/batch.d.ts +0 -17
  154. package/dist/resource/batch.d.ts.map +0 -1
  155. package/dist/resource/batch.js +0 -47
  156. package/dist/resource/batch.js.map +0 -1
  157. package/dist/resource/builder.d.ts +0 -11
  158. package/dist/resource/builder.d.ts.map +0 -1
  159. package/dist/resource/builder.js +0 -12
  160. package/dist/resource/builder.js.map +0 -1
  161. package/dist/resource/errors.d.ts +0 -7
  162. package/dist/resource/errors.d.ts.map +0 -1
  163. package/dist/resource/errors.js +0 -9
  164. package/dist/resource/errors.js.map +0 -1
  165. package/dist/resource/index.d.ts +0 -9
  166. package/dist/resource/index.d.ts.map +0 -1
  167. package/dist/resource/index.js +0 -6
  168. package/dist/resource/index.js.map +0 -1
  169. package/dist/resource/paginate.d.ts +0 -13
  170. package/dist/resource/paginate.d.ts.map +0 -1
  171. package/dist/resource/paginate.js +0 -29
  172. package/dist/resource/paginate.js.map +0 -1
  173. package/dist/resource/register.d.ts +0 -16
  174. package/dist/resource/register.d.ts.map +0 -1
  175. package/dist/resource/register.js +0 -181
  176. package/dist/resource/register.js.map +0 -1
  177. package/dist/resource/types.d.ts +0 -69
  178. package/dist/resource/types.d.ts.map +0 -1
  179. package/dist/resource/types.js +0 -2
  180. package/dist/resource/types.js.map +0 -1
  181. package/dist/trunk.d.ts +0 -35
  182. package/dist/trunk.d.ts.map +0 -1
  183. package/dist/trunk.js +0 -102
  184. package/dist/trunk.js.map +0 -1
  185. package/dist/validation/surface.d.ts +0 -4
  186. package/dist/validation/surface.d.ts.map +0 -1
  187. package/dist/validation/surface.js +0 -55
  188. package/dist/validation/surface.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { getContext } from '../context/store.js';
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- accepts any DefinedTable regardless of field generics
3
4
  export function projectFactory(definition) {
4
5
  return {
5
6
  async create(overrides, options) {
@@ -99,7 +100,8 @@ function generateDefault(key, meta) {
99
100
  }
100
101
  return text;
101
102
  }
102
- case 'integer': {
103
+ case 'integer':
104
+ case 'serial': {
103
105
  if (meta.min !== undefined)
104
106
  return meta.min;
105
107
  if (meta.max !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"project-factory.js","sourceRoot":"","sources":["../../src/domain/project-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-factory.js","sourceRoot":"","sources":["../../src/domain/project-factory.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export function projectInsertShape(fields) {
3
3
  const shape = {};
4
4
  for (const [key, descriptor] of Object.entries(fields)) {
5
5
  const meta = descriptor._meta;
6
- if (meta.primaryKey && meta.defaultRandom)
6
+ if (meta.primaryKey && (meta.defaultRandom || meta.kind === 'serial'))
7
7
  continue;
8
8
  if (meta.autoManaged)
9
9
  continue;
@@ -70,7 +70,8 @@ function buildValidator(meta) {
70
70
  v = v.brand(meta.brand);
71
71
  return v;
72
72
  }
73
- case 'integer': {
73
+ case 'integer':
74
+ case 'serial': {
74
75
  let v = z.number().int();
75
76
  if (meta.min !== undefined)
76
77
  v = v.min(meta.min);
@@ -1 +1 @@
1
- {"version":3,"file":"project-schema.js","sourceRoot":"","sources":["../../src/domain/project-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-schema.js","sourceRoot":"","sources":["../../src/domain/project-schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { pgTable, text, uuid, integer, bigint as pgBigint, boolean, timestamp, jsonb, numeric, check, } from 'drizzle-orm/pg-core';
1
+ import { pgTable, text, uuid, integer, serial, bigint as pgBigint, boolean, timestamp, jsonb, numeric, check, } from 'drizzle-orm/pg-core';
2
2
  import { sql } from 'drizzle-orm';
3
3
  import { camelToSnake } from './naming.js';
4
4
  export function projectTable(tableName, fields, options) {
@@ -66,6 +66,8 @@ function buildColumn(colName, meta) {
66
66
  return text(colName);
67
67
  case 'integer':
68
68
  return integer(colName);
69
+ case 'serial':
70
+ return serial(colName);
69
71
  case 'bigint':
70
72
  return pgBigint(colName, { mode: 'bigint' });
71
73
  case 'boolean':
@@ -91,7 +93,7 @@ function buildColumn(colName, meta) {
91
93
  function buildChecks(colName, meta, checks) {
92
94
  if (meta.kind === 'custom')
93
95
  return;
94
- const isNumeric = meta.kind === 'integer' || meta.kind === 'bigint' || meta.kind === 'decimal';
96
+ const isNumeric = meta.kind === 'integer' || meta.kind === 'serial' || meta.kind === 'bigint' || meta.kind === 'decimal';
95
97
  const isText = meta.kind === 'text';
96
98
  if (isNumeric) {
97
99
  if (meta.min !== undefined && meta.max !== undefined) {
@@ -115,5 +117,9 @@ function buildChecks(colName, meta, checks) {
115
117
  checks.push(check(`${colName}_max_length`, sql `length(${sql.raw(colName)}) <= ${sql.raw(String(meta.max))}`));
116
118
  }
117
119
  }
120
+ if (meta.kind === 'enum' && meta.enumValues !== undefined && meta.enumValues.length > 0) {
121
+ const escaped = meta.enumValues.map(v => `'${v.replace(/'/g, "''")}'`);
122
+ checks.push(check(`${colName}_enum`, sql `${sql.raw(colName)} IN (${sql.raw(escaped.join(', '))})`));
123
+ }
118
124
  }
119
125
  //# sourceMappingURL=project-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-table.js","sourceRoot":"","sources":["../../src/domain/project-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-table.js","sourceRoot":"","sources":["../../src/domain/project-table.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { z } from 'zod/v4';
2
2
  import type { Table } from '../db/types.js';
3
3
  import type { InferSelect, InferFieldOutput } from './brand.js';
4
4
  import type { AnyPgColumn } from 'drizzle-orm/pg-core';
5
- export type FieldKind = 'uuid' | 'text' | 'integer' | 'bigint' | 'boolean' | 'timestamp' | 'enum' | 'jsonb' | 'decimal' | 'custom';
5
+ export type FieldKind = 'uuid' | 'text' | 'integer' | 'serial' | 'bigint' | 'boolean' | 'timestamp' | 'enum' | 'jsonb' | 'decimal' | 'custom';
6
6
  export interface FieldMeta {
7
7
  readonly kind: FieldKind;
8
8
  readonly nullable: boolean;
@@ -48,6 +48,7 @@ export interface DefineOptions {
48
48
  /** Column type projected from a FieldDescriptor — carries the right data type for Drizzle operators. */
49
49
  export type FieldColumn<F extends FieldDescriptor> = AnyPgColumn<{
50
50
  data: NonNullable<InferFieldOutput<F>>;
51
+ notNull: null extends InferFieldOutput<F> ? false : true;
51
52
  }>;
52
53
  /** Maps field definitions to typed Drizzle column references. */
53
54
  export type ProjectedColumns<TFields extends Record<string, FieldDescriptor>> = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,3 @@
1
- import { resolveAndExecute } from '../di/resolve.js';
2
1
  /** DI handler builder — chain .use(), .auth(), .input(), .route(), .fit() to build type-safe handlers with automatic dependency injection. */
3
- export declare const fitting: (() => import("../di/builder.js").Builder<Record<string, never>>) & {
4
- /** Manually resolves and executes a handler outside of HTTP context — useful for jobs, scripts, and tests. */
5
- resolve: typeof resolveAndExecute;
6
- };
2
+ export declare const fitting: () => import("../di/builder.js").Builder<Record<string, never>>;
7
3
  //# sourceMappingURL=namespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/fitting/namespace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,8IAA8I;AAC9I,eAAO,MAAM,OAAO;IAGhB,8GAA8G;;CAGjH,CAAA"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/fitting/namespace.ts"],"names":[],"mappings":"AAEA,8IAA8I;AAC9I,eAAO,MAAM,OAAO,iEAGnB,CAAA"}
@@ -1,8 +1,4 @@
1
1
  import { createBuilder } from '../di/builder.js';
2
- import { resolveAndExecute } from '../di/resolve.js';
3
2
  /** DI handler builder — chain .use(), .auth(), .input(), .route(), .fit() to build type-safe handlers with automatic dependency injection. */
4
- export const fitting = Object.assign(() => createBuilder(), {
5
- /** Manually resolves and executes a handler outside of HTTP context — useful for jobs, scripts, and tests. */
6
- resolve: resolveAndExecute,
7
- });
3
+ export const fitting = Object.assign(() => createBuilder(), {});
8
4
  //# sourceMappingURL=namespace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/fitting/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,8IAA8I;AAC9I,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAClC,GAAG,EAAE,CAAC,aAAa,EAAE,EACrB;IACE,8GAA8G;IAC9G,OAAO,EAAE,iBAAiB;CAC3B,CACF,CAAA"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/fitting/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,8IAA8I;AAC9I,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAClC,GAAG,EAAE,CAAC,aAAa,EAAE,EACrB,EAAE,CACH,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export type { Resource, ResourceOperations, ResourceMeta, ResourceId, ResourceListOp, ResourceListPaginatedOp, ResourceListCursorOp, ResourceGetOp, ResourceCreateOp, ResourceUpdateOp, ResourceDeleteOp, PaginationConfig, PaginationParams, PaginatedResponse } from './types.js';
2
2
  export { buildResource } from './builder.js';
3
- export { registerResource } from './register.js';
3
+ export { resourceToHandlers } from './to-handlers.js';
4
4
  export { MethodNotAllowedError } from './errors.js';
5
5
  export { encodeCursor, decodeCursor, buildPage } from './paginate.js';
6
6
  export type { PageResult, CursorPaginationParams } from './paginate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixture/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnR,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixture/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnR,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export { buildResource } from './builder.js';
2
- export { registerResource } from './register.js';
2
+ export { resourceToHandlers } from './to-handlers.js';
3
3
  export { MethodNotAllowedError } from './errors.js';
4
4
  export { encodeCursor, decodeCursor, buildPage } from './paginate.js';
5
5
  export { validateBatchRequest } from './batch.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fixture/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fixture/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA"}
@@ -1,12 +1,12 @@
1
- import { registerResource } from './register.js';
1
+ import { resourceToHandlers } from './to-handlers.js';
2
2
  import { MethodNotAllowedError } from './errors.js';
3
3
  import { encodeCursor, decodeCursor, buildPage } from './paginate.js';
4
4
  import { validateBatchRequest } from './batch.js';
5
5
  import { buildResource } from './builder.js';
6
6
  /** REST resource builder namespace — declarative CRUD with cursor pagination and batch operations. */
7
7
  export declare const fixture: {
8
- /** Registers a Resource's routes on a Fastify instance. */
9
- register: typeof registerResource;
8
+ /** Converts a Resource into fitted Handler[] that go through the standard handler pipeline. */
9
+ toHandlers: typeof resourceToHandlers;
10
10
  /** Builds a Resource from a name, operations map, and builder state — used internally by fitting().fixture(). */
11
11
  build: typeof buildResource;
12
12
  /** Encodes pagination cursor values into an opaque base64 string. */
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/fixture/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,sGAAsG;AACtG,eAAO,MAAM,OAAO;IAClB,2DAA2D;;IAE3D,iHAAiH;;IAEjH,qEAAqE;;IAErE,gEAAgE;;IAEhE,8FAA8F;;IAE9F,+EAA+E;;IAE/E,wEAAwE;;CAEzE,CAAA"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/fixture/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,sGAAsG;AACtG,eAAO,MAAM,OAAO;IAClB,+FAA+F;;IAE/F,iHAAiH;;IAEjH,qEAAqE;;IAErE,gEAAgE;;IAEhE,8FAA8F;;IAE9F,+EAA+E;;IAE/E,wEAAwE;;CAEzE,CAAA"}
@@ -1,12 +1,12 @@
1
- import { registerResource } from './register.js';
1
+ import { resourceToHandlers } from './to-handlers.js';
2
2
  import { MethodNotAllowedError } from './errors.js';
3
3
  import { encodeCursor, decodeCursor, buildPage } from './paginate.js';
4
4
  import { validateBatchRequest } from './batch.js';
5
5
  import { buildResource } from './builder.js';
6
6
  /** REST resource builder namespace — declarative CRUD with cursor pagination and batch operations. */
7
7
  export const fixture = {
8
- /** Registers a Resource's routes on a Fastify instance. */
9
- register: registerResource,
8
+ /** Converts a Resource into fitted Handler[] that go through the standard handler pipeline. */
9
+ toHandlers: resourceToHandlers,
10
10
  /** Builds a Resource from a name, operations map, and builder state — used internally by fitting().fixture(). */
11
11
  build: buildResource,
12
12
  /** Encodes pagination cursor values into an opaque base64 string. */
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/fixture/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,sGAAsG;AACtG,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,2DAA2D;IAC3D,QAAQ,EAAE,gBAAgB;IAC1B,iHAAiH;IACjH,KAAK,EAAE,aAAa;IACpB,qEAAqE;IACrE,YAAY;IACZ,gEAAgE;IAChE,YAAY;IACZ,8FAA8F;IAC9F,SAAS;IACT,+EAA+E;IAC/E,aAAa,EAAE,oBAAoB;IACnC,wEAAwE;IACxE,qBAAqB;CACtB,CAAA"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/fixture/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,sGAAsG;AACtG,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,+FAA+F;IAC/F,UAAU,EAAE,kBAAkB;IAC9B,iHAAiH;IACjH,KAAK,EAAE,aAAa;IACpB,qEAAqE;IACrE,YAAY;IACZ,gEAAgE;IAChE,YAAY;IACZ,8FAA8F;IAC9F,SAAS;IACT,+EAA+E;IAC/E,aAAa,EAAE,oBAAoB;IACnC,wEAAwE;IACxE,qBAAqB;CACtB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { Handler } from '../di/types.js';
2
+ import type { Resource } from './types.js';
3
+ type AnyHandler = Handler<Record<string, unknown>, unknown>;
4
+ export declare function resourceToHandlers(resource: Resource<unknown>): AnyHandler[];
5
+ export {};
6
+ //# sourceMappingURL=to-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-handlers.d.ts","sourceRoot":"","sources":["../../src/fixture/to-handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAA2B,MAAM,gBAAgB,CAAA;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAA;AAO5D,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAwE3D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAqL5E"}
@@ -0,0 +1,245 @@
1
+ import { DEFAULT_DB } from '../di/types.js';
2
+ import { unknown as unknownSchema } from '../schema/generated/type-constructor.js';
3
+ import { requireContext } from '../context/store.js';
4
+ import { NotFoundError } from '../errors/index.js';
5
+ import { MethodNotAllowedError } from './errors.js';
6
+ import { validateBatchRequest } from './batch.js';
7
+ const passthroughSchema = unknownSchema();
8
+ function makeMeta(resource, method, path, overrides) {
9
+ const { database, authRequirement, permission } = resource.meta;
10
+ return {
11
+ databases: [database],
12
+ requiresAuth: authRequirement === 'required',
13
+ authRequirement,
14
+ inputSchema: null,
15
+ outputSchemas: new Map(),
16
+ querySchema: null,
17
+ paramsSchema: null,
18
+ route: { method, path },
19
+ isJob: false,
20
+ jobType: null,
21
+ jobRetry: null,
22
+ jobTimeout: null,
23
+ permission,
24
+ wantsRequest: false,
25
+ wantsResponse: false,
26
+ wantsRawBody: false,
27
+ ...overrides,
28
+ };
29
+ }
30
+ function make405(resource, method, path) {
31
+ return {
32
+ meta: makeMeta(resource, method, path, {
33
+ databases: [],
34
+ requiresAuth: false,
35
+ authRequirement: 'none',
36
+ permission: null,
37
+ }),
38
+ execute() {
39
+ return Promise.reject(new MethodNotAllowedError(method, resource.meta.name));
40
+ },
41
+ };
42
+ }
43
+ function depKey(database) {
44
+ return database === DEFAULT_DB ? 'db' : database;
45
+ }
46
+ function parsePagination(query, config) {
47
+ const rawLimit = query?.['limit'] !== undefined ? parseInt(String(query['limit']), 10) : config.defaultLimit;
48
+ const limit = Math.min(Math.max(1, Number.isNaN(rawLimit) ? config.defaultLimit : rawLimit), config.maxLimit);
49
+ const rawOffset = query?.['offset'] !== undefined ? parseInt(String(query['offset']), 10) : 0;
50
+ const offset = Math.max(0, Number.isNaN(rawOffset) ? 0 : rawOffset);
51
+ return { limit, offset };
52
+ }
53
+ function capitalize(s) {
54
+ return s.charAt(0).toUpperCase() + s.slice(1);
55
+ }
56
+ function singularize(s) {
57
+ if (s.endsWith('ies'))
58
+ return s.slice(0, -3) + 'y';
59
+ if (s.endsWith('ses') || s.endsWith('xes'))
60
+ return s.slice(0, -2);
61
+ if (s.endsWith('s') && !s.endsWith('ss'))
62
+ return s.slice(0, -1);
63
+ return s;
64
+ }
65
+ export function resourceToHandlers(resource) {
66
+ const handlers = [];
67
+ const { name, database, pagination } = resource.meta;
68
+ const ops = resource.operations;
69
+ const basePath = `/${name}`;
70
+ const itemPath = `/${name}/:id`;
71
+ const key = depKey(database);
72
+ // GET /resource — list
73
+ if (ops.listCursor !== undefined && pagination !== null) {
74
+ handlers.push({
75
+ meta: makeMeta(resource, 'GET', basePath, { querySchema: passthroughSchema }),
76
+ async execute(deps) {
77
+ const db = deps[key];
78
+ const auth = deps['auth'];
79
+ const tenant = requireContext().tenant;
80
+ const query = deps['query'];
81
+ const rawLimit = query?.['limit'] !== undefined ? parseInt(String(query['limit']), 10) : pagination.defaultLimit;
82
+ const limit = Math.min(Math.max(1, Number.isNaN(rawLimit) ? pagination.defaultLimit : rawLimit), pagination.maxLimit);
83
+ const cursor = query?.['cursor'] !== undefined ? String(query['cursor']) : undefined;
84
+ const result = await ops.listCursor(db, auth, tenant, cursor !== undefined ? { cursor, limit } : { limit });
85
+ return { status: 200, body: result };
86
+ },
87
+ });
88
+ }
89
+ else if (ops.listPaginated !== undefined && pagination !== null) {
90
+ handlers.push({
91
+ meta: makeMeta(resource, 'GET', basePath, { querySchema: passthroughSchema }),
92
+ async execute(deps) {
93
+ const db = deps[key];
94
+ const auth = deps['auth'];
95
+ const tenant = requireContext().tenant;
96
+ const query = deps['query'];
97
+ const { limit, offset } = parsePagination(query, pagination);
98
+ const result = await ops.listPaginated(db, auth, tenant, { limit, offset });
99
+ return {
100
+ status: 200,
101
+ body: {
102
+ data: result.data,
103
+ pagination: { limit, offset, total: result.total, hasMore: offset + result.data.length < result.total },
104
+ },
105
+ };
106
+ },
107
+ });
108
+ }
109
+ else if (ops.list !== undefined) {
110
+ handlers.push({
111
+ meta: makeMeta(resource, 'GET', basePath),
112
+ async execute(deps) {
113
+ const db = deps[key];
114
+ const auth = deps['auth'];
115
+ const tenant = requireContext().tenant;
116
+ const result = await ops.list(db, auth, tenant);
117
+ return { status: 200, body: result };
118
+ },
119
+ });
120
+ }
121
+ else {
122
+ handlers.push(make405(resource, 'GET', basePath));
123
+ }
124
+ // GET /resource/:id
125
+ if (ops.get !== undefined) {
126
+ handlers.push({
127
+ meta: makeMeta(resource, 'GET', itemPath, { paramsSchema: passthroughSchema }),
128
+ async execute(deps) {
129
+ const db = deps[key];
130
+ const auth = deps['auth'];
131
+ const tenant = requireContext().tenant;
132
+ const params = deps['params'];
133
+ const id = String(params['id']);
134
+ const result = await ops.get(db, auth, tenant, id);
135
+ if (result === null || result === undefined) {
136
+ throw new NotFoundError(`${capitalize(singularize(name))} "${id}"`);
137
+ }
138
+ return { status: 200, body: result };
139
+ },
140
+ });
141
+ }
142
+ else {
143
+ handlers.push(make405(resource, 'GET', itemPath));
144
+ }
145
+ // POST /resource
146
+ if (ops.create !== undefined) {
147
+ handlers.push({
148
+ meta: makeMeta(resource, 'POST', basePath, {
149
+ inputSchema: ops.create.input ?? passthroughSchema,
150
+ }),
151
+ async execute(deps) {
152
+ const db = deps[key];
153
+ const auth = deps['auth'];
154
+ const tenant = requireContext().tenant;
155
+ const input = deps['input'];
156
+ const result = await ops.create.handler(db, auth, tenant, input);
157
+ return { status: 201, body: result };
158
+ },
159
+ });
160
+ }
161
+ else {
162
+ handlers.push(make405(resource, 'POST', basePath));
163
+ }
164
+ // PUT /resource/:id
165
+ if (ops.update !== undefined) {
166
+ handlers.push({
167
+ meta: makeMeta(resource, 'PUT', itemPath, {
168
+ inputSchema: ops.update.input ?? passthroughSchema,
169
+ paramsSchema: passthroughSchema,
170
+ }),
171
+ async execute(deps) {
172
+ const db = deps[key];
173
+ const auth = deps['auth'];
174
+ const tenant = requireContext().tenant;
175
+ const params = deps['params'];
176
+ const id = String(params['id']);
177
+ const input = deps['input'];
178
+ const result = await ops.update.handler(db, auth, tenant, id, input);
179
+ if (result === null || result === undefined) {
180
+ throw new NotFoundError(`${capitalize(singularize(name))} "${id}"`);
181
+ }
182
+ return { status: 200, body: result };
183
+ },
184
+ });
185
+ }
186
+ else {
187
+ handlers.push(make405(resource, 'PUT', itemPath));
188
+ }
189
+ // DELETE /resource/:id
190
+ if (ops.delete !== undefined) {
191
+ handlers.push({
192
+ meta: makeMeta(resource, 'DELETE', itemPath, { paramsSchema: passthroughSchema }),
193
+ async execute(deps) {
194
+ const db = deps[key];
195
+ const auth = deps['auth'];
196
+ const tenant = requireContext().tenant;
197
+ const params = deps['params'];
198
+ const id = String(params['id']);
199
+ await ops.delete(db, auth, tenant, id);
200
+ return { status: 204 };
201
+ },
202
+ });
203
+ }
204
+ else {
205
+ handlers.push(make405(resource, 'DELETE', itemPath));
206
+ }
207
+ if (ops.batch !== undefined) {
208
+ const validActions = Object.keys(ops.batch);
209
+ handlers.push({
210
+ meta: makeMeta(resource, 'POST', `${basePath}/batch/preview`, {
211
+ inputSchema: passthroughSchema,
212
+ }),
213
+ async execute(deps) {
214
+ const db = deps[key];
215
+ const auth = deps['auth'];
216
+ const tenant = requireContext().tenant;
217
+ const input = deps['input'];
218
+ const { action, targets } = validateBatchRequest(input, validActions);
219
+ const batchAction = ops.batch[action];
220
+ if (batchAction.preview === undefined) {
221
+ throw new MethodNotAllowedError('POST', `${name}/batch/preview (action: ${action})`);
222
+ }
223
+ const result = await batchAction.preview(db, auth, tenant, targets);
224
+ return { status: 200, body: result };
225
+ },
226
+ });
227
+ handlers.push({
228
+ meta: makeMeta(resource, 'POST', `${basePath}/batch`, {
229
+ inputSchema: passthroughSchema,
230
+ }),
231
+ async execute(deps) {
232
+ const db = deps[key];
233
+ const auth = deps['auth'];
234
+ const tenant = requireContext().tenant;
235
+ const input = deps['input'];
236
+ const { action, targets } = validateBatchRequest(input, validActions);
237
+ const batchAction = ops.batch[action];
238
+ const result = await batchAction.execute(db, auth, tenant, targets);
239
+ return { status: 200, body: result };
240
+ },
241
+ });
242
+ }
243
+ return handlers;
244
+ }
245
+ //# sourceMappingURL=to-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-handlers.js","sourceRoot":"","sources":["../../src/fixture/to-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { runInContext, requireContext, getContext } from '../context/store.js';
2
- import { createRequestContext, createJobContext, createTestContext } from '../context/create.js';
3
- import { verifyTransactionBinding, bindTransaction } from '../context/guard.js';
2
+ import { createTestContext } from '../context/create.js';
4
3
  /** AsyncLocalStorage context namespace — manages request/job/test contexts that carry auth, tenant, transactions. */
5
4
  export declare const flow: {
6
5
  /** Executes a function within a Flow context (AsyncLocalStorage). All pipe() calls inside will use this context. */
@@ -9,15 +8,7 @@ export declare const flow: {
9
8
  require: typeof requireContext;
10
9
  /** Returns the current Flow or undefined — use for optional context detection. */
11
10
  get: typeof getContext;
12
- /** Creates a Flow for an HTTP request with auth, tenant, and request metadata. */
13
- createRequest: typeof createRequestContext;
14
- /** Creates a Flow for a background job with optional auth and tenant. */
15
- createJob: typeof createJobContext;
16
11
  /** Creates a Flow for test isolation with optional auth and tenant overrides. */
17
12
  createTest: typeof createTestContext;
18
- /** Defense-in-depth: verifies a transaction's nonce/tenant matches the current context. */
19
- verifyBinding: typeof verifyTransactionBinding;
20
- /** Binds a Drizzle transaction to the current context with nonce fingerprinting. */
21
- bindTransaction: typeof bindTransaction;
22
13
  };
23
14
  //# sourceMappingURL=namespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/flow/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAChG,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE/E,qHAAqH;AACrH,eAAO,MAAM,IAAI;IACf,oHAAoH;;IAEpH,+FAA+F;;IAE/F,kFAAkF;;IAElF,kFAAkF;;IAElF,yEAAyE;;IAEzE,iFAAiF;;IAEjF,2FAA2F;;IAE3F,oFAAoF;;CAErF,CAAA"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/flow/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,qHAAqH;AACrH,eAAO,MAAM,IAAI;IACf,oHAAoH;;IAEpH,+FAA+F;;IAE/F,kFAAkF;;IAElF,iFAAiF;;CAElF,CAAA"}