pipework 0.7.22 → 0.7.24

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 (230) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/async/jobs/queue.d.ts +1 -0
  3. package/dist/async/jobs/queue.d.ts.map +1 -1
  4. package/dist/async/jobs/queue.js +2 -1
  5. package/dist/async/jobs/queue.js.map +1 -1
  6. package/dist/async/pipeline/execute.d.ts.map +1 -1
  7. package/dist/async/pipeline/execute.js +4 -58
  8. package/dist/async/pipeline/execute.js.map +1 -1
  9. package/dist/async/pipeline/resume.d.ts.map +1 -1
  10. package/dist/async/pipeline/resume.js +5 -58
  11. package/dist/async/pipeline/resume.js.map +1 -1
  12. package/dist/async/pipeline/run-steps.d.ts +20 -0
  13. package/dist/async/pipeline/run-steps.d.ts.map +1 -0
  14. package/dist/async/pipeline/run-steps.js +67 -0
  15. package/dist/async/pipeline/run-steps.js.map +1 -0
  16. package/dist/auth/auth/multi-org.d.ts.map +1 -1
  17. package/dist/auth/auth/multi-org.js +1 -14
  18. package/dist/auth/auth/multi-org.js.map +1 -1
  19. package/dist/auth/auth/parse-expiry.d.ts +2 -0
  20. package/dist/auth/auth/parse-expiry.d.ts.map +1 -0
  21. package/dist/auth/auth/parse-expiry.js +15 -0
  22. package/dist/auth/auth/parse-expiry.js.map +1 -0
  23. package/dist/auth/auth/sessions.d.ts.map +1 -1
  24. package/dist/auth/auth/sessions.js +1 -14
  25. package/dist/auth/auth/sessions.js.map +1 -1
  26. package/dist/auth/rbac/create.d.ts +4 -0
  27. package/dist/auth/rbac/create.d.ts.map +1 -0
  28. package/dist/auth/rbac/create.js +29 -0
  29. package/dist/auth/rbac/create.js.map +1 -0
  30. package/dist/auth/rbac/index.d.ts +1 -3
  31. package/dist/auth/rbac/index.d.ts.map +1 -1
  32. package/dist/auth/rbac/index.js +1 -28
  33. package/dist/auth/rbac/index.js.map +1 -1
  34. package/dist/auth/rbac/resolve.d.ts.map +1 -1
  35. package/dist/auth/rbac/resolve.js +3 -7
  36. package/dist/auth/rbac/resolve.js.map +1 -1
  37. package/dist/auth/rbac/seed.d.ts.map +1 -1
  38. package/dist/auth/rbac/seed.js +7 -13
  39. package/dist/auth/rbac/seed.js.map +1 -1
  40. package/dist/auth/rbac/tables.d.ts +10 -0
  41. package/dist/auth/rbac/tables.d.ts.map +1 -0
  42. package/dist/auth/rbac/tables.js +21 -0
  43. package/dist/auth/rbac/tables.js.map +1 -0
  44. package/dist/cli/commands/check.d.ts.map +1 -1
  45. package/dist/cli/commands/check.js +24 -1
  46. package/dist/cli/commands/check.js.map +1 -1
  47. package/dist/cli/commands/db.d.ts +10 -0
  48. package/dist/cli/commands/db.d.ts.map +1 -0
  49. package/dist/cli/commands/db.js +235 -0
  50. package/dist/cli/commands/db.js.map +1 -0
  51. package/dist/cli/commands/init.d.ts.map +1 -1
  52. package/dist/cli/commands/init.js +19 -1
  53. package/dist/cli/commands/init.js.map +1 -1
  54. package/dist/cli/index.d.ts.map +1 -1
  55. package/dist/cli/index.js +16 -0
  56. package/dist/cli/index.js.map +1 -1
  57. package/dist/core/config/discover.js +1 -1
  58. package/dist/core/config/discover.js.map +1 -1
  59. package/dist/core/config/env-resolve.js +1 -1
  60. package/dist/core/config/env-resolve.js.map +1 -1
  61. package/dist/core/config/errors.d.ts +5 -0
  62. package/dist/core/config/errors.d.ts.map +1 -0
  63. package/dist/core/config/errors.js +9 -0
  64. package/dist/core/config/errors.js.map +1 -0
  65. package/dist/core/config/index.d.ts +2 -1
  66. package/dist/core/config/index.d.ts.map +1 -1
  67. package/dist/core/config/index.js +2 -1
  68. package/dist/core/config/index.js.map +1 -1
  69. package/dist/core/config/load.d.ts.map +1 -1
  70. package/dist/core/config/load.js +2 -1
  71. package/dist/core/config/load.js.map +1 -1
  72. package/dist/core/config/namespace.d.ts +1 -0
  73. package/dist/core/config/namespace.d.ts.map +1 -1
  74. package/dist/core/config/resolve.d.ts +0 -4
  75. package/dist/core/config/resolve.d.ts.map +1 -1
  76. package/dist/core/config/resolve.js +1 -8
  77. package/dist/core/config/resolve.js.map +1 -1
  78. package/dist/core/config/schema.d.ts +2 -0
  79. package/dist/core/config/schema.d.ts.map +1 -1
  80. package/dist/core/config/schema.js +1 -0
  81. package/dist/core/config/schema.js.map +1 -1
  82. package/dist/core/errors/http.d.ts +29 -0
  83. package/dist/core/errors/http.d.ts.map +1 -0
  84. package/dist/core/errors/http.js +46 -0
  85. package/dist/core/errors/http.js.map +1 -0
  86. package/dist/core/errors/index.d.ts +1 -1
  87. package/dist/core/errors/index.d.ts.map +1 -1
  88. package/dist/core/errors/index.js +1 -1
  89. package/dist/core/errors/index.js.map +1 -1
  90. package/dist/core/logging/namespace.d.ts +15 -0
  91. package/dist/core/logging/namespace.d.ts.map +1 -0
  92. package/dist/core/logging/namespace.js +16 -0
  93. package/dist/core/logging/namespace.js.map +1 -0
  94. package/dist/core/pipework.d.ts.map +1 -1
  95. package/dist/core/pipework.js +27 -1
  96. package/dist/core/pipework.js.map +1 -1
  97. package/dist/core/surface/types.d.ts +7 -0
  98. package/dist/core/surface/types.d.ts.map +1 -1
  99. package/dist/core/surface/validate.d.ts +0 -2
  100. package/dist/core/surface/validate.d.ts.map +1 -1
  101. package/dist/core/surface/validate.js +0 -54
  102. package/dist/core/surface/validate.js.map +1 -1
  103. package/dist/core/surface/worker.d.ts.map +1 -1
  104. package/dist/core/surface/worker.js +60 -1
  105. package/dist/core/surface/worker.js.map +1 -1
  106. package/dist/core/validation/index.d.ts +1 -1
  107. package/dist/core/validation/index.d.ts.map +1 -1
  108. package/dist/core/validation/index.js +1 -1
  109. package/dist/core/validation/index.js.map +1 -1
  110. package/dist/core/validation/startup.js +1 -1
  111. package/dist/core/validation/startup.js.map +1 -1
  112. package/dist/core/validation/surfaces.d.ts +4 -0
  113. package/dist/core/validation/surfaces.d.ts.map +1 -0
  114. package/dist/core/validation/surfaces.js +56 -0
  115. package/dist/core/validation/surfaces.js.map +1 -0
  116. package/dist/data/db/composed.d.ts +1 -2
  117. package/dist/data/db/composed.d.ts.map +1 -1
  118. package/dist/data/db/composed.js.map +1 -1
  119. package/dist/data/db/expressions.d.ts +1 -2
  120. package/dist/data/db/expressions.d.ts.map +1 -1
  121. package/dist/data/db/namespace.d.ts +1 -0
  122. package/dist/data/db/namespace.d.ts.map +1 -1
  123. package/dist/data/domain/build-factory.d.ts +4 -0
  124. package/dist/data/domain/build-factory.d.ts.map +1 -0
  125. package/dist/data/domain/build-factory.js +138 -0
  126. package/dist/data/domain/build-factory.js.map +1 -0
  127. package/dist/data/domain/build-schema.d.ts +6 -0
  128. package/dist/data/domain/build-schema.d.ts.map +1 -0
  129. package/dist/data/domain/build-schema.js +123 -0
  130. package/dist/data/domain/build-schema.js.map +1 -0
  131. package/dist/data/domain/build-table.d.ts +30 -0
  132. package/dist/data/domain/build-table.d.ts.map +1 -0
  133. package/dist/data/domain/build-table.js +130 -0
  134. package/dist/data/domain/build-table.js.map +1 -0
  135. package/dist/data/domain/define.js +3 -3
  136. package/dist/data/domain/define.js.map +1 -1
  137. package/dist/data/domain/field.d.ts +1 -0
  138. package/dist/data/domain/field.d.ts.map +1 -1
  139. package/dist/data/domain/field.js +4 -0
  140. package/dist/data/domain/field.js.map +1 -1
  141. package/dist/data/domain/index.d.ts +1 -1
  142. package/dist/data/domain/index.d.ts.map +1 -1
  143. package/dist/data/domain/index.js +1 -1
  144. package/dist/data/domain/index.js.map +1 -1
  145. package/dist/data/domain/project-table.js +6 -1
  146. package/dist/data/domain/project-table.js.map +1 -1
  147. package/dist/data/domain/types.d.ts +1 -1
  148. package/dist/data/domain/types.d.ts.map +1 -1
  149. package/dist/data/migrate/generate.js +1 -1
  150. package/dist/data/migrate/generate.js.map +1 -1
  151. package/dist/data/temporal/close.d.ts.map +1 -1
  152. package/dist/data/temporal/close.js +3 -7
  153. package/dist/data/temporal/close.js.map +1 -1
  154. package/dist/data/temporal/get-current.d.ts.map +1 -1
  155. package/dist/data/temporal/get-current.js +3 -7
  156. package/dist/data/temporal/get-current.js.map +1 -1
  157. package/dist/data/temporal/resolve.d.ts +4 -0
  158. package/dist/data/temporal/resolve.d.ts.map +1 -0
  159. package/dist/data/temporal/resolve.js +12 -0
  160. package/dist/data/temporal/resolve.js.map +1 -0
  161. package/dist/data/temporal/revise.d.ts.map +1 -1
  162. package/dist/data/temporal/revise.js +3 -6
  163. package/dist/data/temporal/revise.js.map +1 -1
  164. package/dist/data/vector/columns.d.ts +19 -0
  165. package/dist/data/vector/columns.d.ts.map +1 -0
  166. package/dist/data/vector/columns.js +26 -0
  167. package/dist/data/vector/columns.js.map +1 -0
  168. package/dist/data/vector/index.d.ts +1 -1
  169. package/dist/data/vector/index.d.ts.map +1 -1
  170. package/dist/data/vector/index.js +1 -1
  171. package/dist/data/vector/index.js.map +1 -1
  172. package/dist/data/vector/namespace.d.ts +1 -1
  173. package/dist/data/vector/namespace.d.ts.map +1 -1
  174. package/dist/data/vector/namespace.js +1 -1
  175. package/dist/data/vector/namespace.js.map +1 -1
  176. package/dist/index.d.ts +1 -1
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +1 -1
  179. package/dist/index.js.map +1 -1
  180. package/dist/infra/cache/create.d.ts.map +1 -1
  181. package/dist/infra/cache/create.js +17 -53
  182. package/dist/infra/cache/create.js.map +1 -1
  183. package/dist/infra/cache/entry.d.ts +14 -0
  184. package/dist/infra/cache/entry.d.ts.map +1 -0
  185. package/dist/infra/cache/entry.js +49 -0
  186. package/dist/infra/cache/entry.js.map +1 -0
  187. package/dist/infra/cache/tenant.d.ts.map +1 -1
  188. package/dist/infra/cache/tenant.js +13 -48
  189. package/dist/infra/cache/tenant.js.map +1 -1
  190. package/dist/lint/config.d.ts +1 -0
  191. package/dist/lint/config.d.ts.map +1 -1
  192. package/dist/lint/config.js +5 -4
  193. package/dist/lint/config.js.map +1 -1
  194. package/dist/lint/doctrine.d.ts +13 -0
  195. package/dist/lint/doctrine.d.ts.map +1 -0
  196. package/dist/lint/doctrine.js +115 -0
  197. package/dist/lint/doctrine.js.map +1 -0
  198. package/dist/lint/rules/no-reexports.d.ts +3 -0
  199. package/dist/lint/rules/no-reexports.d.ts.map +1 -0
  200. package/dist/lint/rules/no-reexports.js +43 -0
  201. package/dist/lint/rules/no-reexports.js.map +1 -0
  202. package/dist/request/behavior/audited.d.ts.map +1 -1
  203. package/dist/request/behavior/audited.js +1 -9
  204. package/dist/request/behavior/audited.js.map +1 -1
  205. package/dist/request/fixture/to-handlers.d.ts.map +1 -1
  206. package/dist/request/fixture/to-handlers.js +1 -9
  207. package/dist/request/fixture/to-handlers.js.map +1 -1
  208. package/dist/request/internal/text.d.ts +2 -0
  209. package/dist/request/internal/text.d.ts.map +1 -0
  210. package/dist/request/internal/text.js +10 -0
  211. package/dist/request/internal/text.js.map +1 -0
  212. package/dist/test/vitest-config.d.ts +1 -0
  213. package/dist/test/vitest-config.d.ts.map +1 -1
  214. package/dist/test/vitest-config.js +14 -2
  215. package/dist/test/vitest-config.js.map +1 -1
  216. package/dist/test/vitest-plugin.d.ts +1 -1
  217. package/dist/test/vitest-plugin.d.ts.map +1 -1
  218. package/dist/test/vitest-plugin.js +1 -9
  219. package/dist/test/vitest-plugin.js.map +1 -1
  220. package/dist/workspace/check-deps.d.ts +12 -0
  221. package/dist/workspace/check-deps.d.ts.map +1 -0
  222. package/dist/workspace/check-deps.js +183 -0
  223. package/dist/workspace/check-deps.js.map +1 -0
  224. package/dist/workspace/generate.d.ts.map +1 -1
  225. package/dist/workspace/generate.js +29 -0
  226. package/dist/workspace/generate.js.map +1 -1
  227. package/dist/workspace/sync.d.ts.map +1 -1
  228. package/dist/workspace/sync.js +4 -1
  229. package/dist/workspace/sync.js.map +1 -1
  230. package/package.json +16 -24
@@ -0,0 +1,29 @@
1
+ import { PermissionCache } from './cache.js';
2
+ import { resolveUserPermissions } from './resolve.js';
3
+ import { hasPermission } from './check.js';
4
+ import { seedRbac } from './seed.js';
5
+ /** Creates an Rbac instance from role/permission config — provides check, enforce, and seed operations. */
6
+ export function createRbac(config) {
7
+ const cache = new PermissionCache(config.cacheTtlMs ?? 60_000);
8
+ const scopes = config.scopes ?? ['own', 'team', 'territory', 'tenant'];
9
+ return {
10
+ async resolve(db, userId, tenantId, authVersion) {
11
+ const cached = cache.get(userId, tenantId, authVersion);
12
+ if (cached)
13
+ return cached;
14
+ const resolved = await resolveUserPermissions(db, userId, tenantId, authVersion, config);
15
+ cache.set(resolved);
16
+ return resolved;
17
+ },
18
+ check(permissions, resource, action, requiredScope) {
19
+ return hasPermission(permissions.permissions, resource, action, requiredScope, scopes);
20
+ },
21
+ invalidate(userId, tenantId) {
22
+ cache.invalidate(userId, tenantId);
23
+ },
24
+ async seed(db, data) {
25
+ await seedRbac(db, data, config);
26
+ },
27
+ };
28
+ }
29
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/auth/rbac/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,2GAA2G;AAC3G,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEtE,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAM,EAAE,MAAc,EAAE,QAAgB,EAAE,WAAmB;YACzE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;YAEzB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YACxF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,WAA0B,EAAE,QAAgB,EAAE,MAAc,EAAE,aAAsB;YACxF,OAAO,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QACxF,CAAC;QAED,UAAU,CAAC,MAAc,EAAE,QAAgB;YACzC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,IAAc;YAC/B,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,8 +1,6 @@
1
- import type { RbacConfig, Rbac } from './types.js';
2
1
  export type { RbacConfig, Rbac, PermissionSet, ResolvedPermission, Scope, SeedData, SeedPermission, SeedRole, SeedRolePermission, SeedUserRole } from './types.js';
3
2
  export { hasPermission, scopeSatisfies } from './check.js';
4
3
  export { PermissionCache } from './cache.js';
5
4
  export { enforcePermission } from './middleware.js';
6
- /** Creates an Rbac instance from role/permission config — provides check, enforce, and seed operations. */
7
- export declare function createRbac(config: RbacConfig): Rbac;
5
+ export { createRbac } from './create.js';
8
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/rbac/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAA2B,MAAM,YAAY,CAAA;AAM3E,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClK,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CA0BnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/rbac/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClK,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA"}
@@ -1,32 +1,5 @@
1
- import { PermissionCache } from './cache.js';
2
- import { resolveUserPermissions } from './resolve.js';
3
- import { hasPermission } from './check.js';
4
- import { seedRbac } from './seed.js';
5
1
  export { hasPermission, scopeSatisfies } from './check.js';
6
2
  export { PermissionCache } from './cache.js';
7
3
  export { enforcePermission } from './middleware.js';
8
- /** Creates an Rbac instance from role/permission config — provides check, enforce, and seed operations. */
9
- export function createRbac(config) {
10
- const cache = new PermissionCache(config.cacheTtlMs ?? 60_000);
11
- const scopes = config.scopes ?? ['own', 'team', 'territory', 'tenant'];
12
- return {
13
- async resolve(db, userId, tenantId, authVersion) {
14
- const cached = cache.get(userId, tenantId, authVersion);
15
- if (cached)
16
- return cached;
17
- const resolved = await resolveUserPermissions(db, userId, tenantId, authVersion, config);
18
- cache.set(resolved);
19
- return resolved;
20
- },
21
- check(permissions, resource, action, requiredScope) {
22
- return hasPermission(permissions.permissions, resource, action, requiredScope, scopes);
23
- },
24
- invalidate(userId, tenantId) {
25
- cache.invalidate(userId, tenantId);
26
- },
27
- async seed(db, data) {
28
- await seedRbac(db, data, config);
29
- },
30
- };
31
- }
4
+ export { createRbac } from './create.js';
32
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/rbac/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,2GAA2G;AAC3G,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEtE,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAM,EAAE,MAAc,EAAE,QAAgB,EAAE,WAAmB;YACzE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;YAEzB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YACxF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,WAA0B,EAAE,QAAgB,EAAE,MAAc,EAAE,aAAsB;YACxF,OAAO,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QACxF,CAAC;QAED,UAAU,CAAC,MAAc,EAAE,QAAgB;YACzC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,IAAc;YAC/B,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/rbac/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/auth/rbac/resolve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAA;AAG/E,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,aAAa,CAAC,CAwBxB"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/auth/rbac/resolve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAA;AAI/E,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,aAAa,CAAC,CAkBxB"}
@@ -1,12 +1,8 @@
1
1
  import { sql } from '../../data/db/sql.js';
2
- import { assertValidIdentifier, quoteIdentifier } from '../../data/db/identifiers.js';
2
+ import { quoteIdentifier } from '../../data/db/identifiers.js';
3
+ import { resolveRbacTables } from './tables.js';
3
4
  export async function resolveUserPermissions(db, userId, tenantId, authVersion, config) {
4
- const userRolesTable = config.table?.userRoles ?? 'pipework_user_roles';
5
- const rolePermissionsTable = config.table?.rolePermissions ?? 'pipework_role_permissions';
6
- const permissionsTable = config.table?.permissions ?? 'pipework_permissions';
7
- assertValidIdentifier(userRolesTable, 'userRoles table');
8
- assertValidIdentifier(rolePermissionsTable, 'rolePermissions table');
9
- assertValidIdentifier(permissionsTable, 'permissions table');
5
+ const { userRoles: userRolesTable, rolePermissions: rolePermissionsTable, permissions: permissionsTable } = resolveRbacTables(config);
10
6
  const rows = await db.execute(sql `
11
7
  SELECT p.resource, p.action, rp.scope
12
8
  FROM ${sql.raw(quoteIdentifier(userRolesTable, 'userRoles table'))} ur
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/auth/rbac/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAG1C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAErF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAM,EACN,MAAc,EACd,QAAgB,EAChB,WAAmB,EACnB,MAAkB;IAElB,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,qBAAqB,CAAA;IACvE,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,2BAA2B,CAAA;IACzF,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,IAAI,sBAAsB,CAAA;IAE5E,qBAAqB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAA;IACxD,qBAAqB,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;IACpE,qBAAqB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAA;IAE5D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;WAExB,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;WAC3D,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;WACvE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;yBACjD,MAAM,uBAAuB,QAAQ;GAC3D,CAAC,CAAA;IAEF,MAAM,WAAW,GAAyB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3D,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAW;QACnC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAW;QAC/B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAW;KAC9B,CAAC,CAAC,CAAA;IAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;AACvD,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/auth/rbac/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAM,EACN,MAAc,EACd,QAAgB,EAChB,WAAmB,EACnB,MAAkB;IAElB,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAErI,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;WAExB,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;WAC3D,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;WACvE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;yBACjD,MAAM,uBAAuB,QAAQ;GAC3D,CAAC,CAAA;IAEF,MAAM,WAAW,GAAyB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3D,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAW;QACnC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAW;QAC/B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAW;KAC9B,CAAC,CAAC,CAAA;IAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;AACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/auth/rbac/seed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGtD,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAgEf"}
1
+ {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/auth/rbac/seed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAItD,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAwDf"}
@@ -1,18 +1,12 @@
1
1
  import { sql } from '../../data/db/sql.js';
2
- import { assertValidIdentifier, quoteIdentifier } from '../../data/db/identifiers.js';
2
+ import { quoteIdentifier } from '../../data/db/identifiers.js';
3
+ import { resolveRbacTables } from './tables.js';
3
4
  export async function seedRbac(db, data, config) {
4
- const permissionsTable = config.table?.permissions ?? 'pipework_permissions';
5
- const rolesTable = config.table?.roles ?? 'pipework_roles';
6
- const rolePermissionsTable = config.table?.rolePermissions ?? 'pipework_role_permissions';
7
- const userRolesTable = config.table?.userRoles ?? 'pipework_user_roles';
8
- assertValidIdentifier(permissionsTable, 'permissions table');
9
- assertValidIdentifier(rolesTable, 'roles table');
10
- assertValidIdentifier(rolePermissionsTable, 'rolePermissions table');
11
- assertValidIdentifier(userRolesTable, 'userRoles table');
12
- const permQ = quoteIdentifier(permissionsTable, 'permissions table');
13
- const rolesQ = quoteIdentifier(rolesTable, 'roles table');
14
- const rolePermQ = quoteIdentifier(rolePermissionsTable, 'rolePermissions table');
15
- const userRolesQ = quoteIdentifier(userRolesTable, 'userRoles table');
5
+ const tables = resolveRbacTables(config);
6
+ const permQ = quoteIdentifier(tables.permissions, 'permissions table');
7
+ const rolesQ = quoteIdentifier(tables.roles, 'roles table');
8
+ const rolePermQ = quoteIdentifier(tables.rolePermissions, 'rolePermissions table');
9
+ const userRolesQ = quoteIdentifier(tables.userRoles, 'userRoles table');
16
10
  for (const perm of data.permissions) {
17
11
  await db.execute(sql `
18
12
  INSERT INTO ${sql.raw(permQ)} (resource, action)
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/auth/rbac/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/auth/rbac/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAAM,EACN,IAAc,EACd,MAAkB;IAElB,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAExC,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAA;IAClF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAEvE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;oBACJ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM;;KAExC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;sBACJ,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;kBACnB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW;;;OAG3D,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;sBACJ,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;kBACnB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ;;;OAGtC,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;sBACJ,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;6BACX,EAAE,CAAC,KAAK;eACtB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;yBAC1B,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,QAAQ;6BACxC,EAAE,CAAC,QAAQ,mBAAmB,EAAE,CAAC,MAAM;;OAE7D,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;sBACJ,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;iBACxB,EAAE,CAAC,MAAM,WAAW,EAAE,CAAC,QAAQ;eACjC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;yBACL,EAAE,CAAC,QAAQ,sBAAsB,EAAE,CAAC,QAAQ;;OAE9D,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { RbacConfig } from './types.js';
2
+ export interface RbacTableNames {
3
+ readonly permissions: string;
4
+ readonly roles: string;
5
+ readonly rolePermissions: string;
6
+ readonly userRoles: string;
7
+ }
8
+ export declare const RBAC_TABLE_DEFAULTS: RbacTableNames;
9
+ export declare function resolveRbacTables(config: RbacConfig): RbacTableNames;
10
+ //# sourceMappingURL=tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/auth/rbac/tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,mBAAmB,EAAE,cAKjC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAcpE"}
@@ -0,0 +1,21 @@
1
+ import { assertValidIdentifier } from '../../data/db/identifiers.js';
2
+ export const RBAC_TABLE_DEFAULTS = {
3
+ permissions: 'pipework_permissions',
4
+ roles: 'pipework_roles',
5
+ rolePermissions: 'pipework_role_permissions',
6
+ userRoles: 'pipework_user_roles',
7
+ };
8
+ export function resolveRbacTables(config) {
9
+ const tables = {
10
+ permissions: config.table?.permissions ?? RBAC_TABLE_DEFAULTS.permissions,
11
+ roles: config.table?.roles ?? RBAC_TABLE_DEFAULTS.roles,
12
+ rolePermissions: config.table?.rolePermissions ?? RBAC_TABLE_DEFAULTS.rolePermissions,
13
+ userRoles: config.table?.userRoles ?? RBAC_TABLE_DEFAULTS.userRoles,
14
+ };
15
+ assertValidIdentifier(tables.permissions, 'permissions table');
16
+ assertValidIdentifier(tables.roles, 'roles table');
17
+ assertValidIdentifier(tables.rolePermissions, 'rolePermissions table');
18
+ assertValidIdentifier(tables.userRoles, 'userRoles table');
19
+ return tables;
20
+ }
21
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../src/auth/rbac/tables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AASpE,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE,gBAAgB;IACvB,eAAe,EAAE,2BAA2B;IAC5C,SAAS,EAAE,qBAAqB;CACjC,CAAA;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,MAAM,MAAM,GAAmB;QAC7B,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,IAAI,mBAAmB,CAAC,WAAW;QACzE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,mBAAmB,CAAC,KAAK;QACvD,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,mBAAmB,CAAC,eAAe;QACrF,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,mBAAmB,CAAC,SAAS;KACpE,CAAA;IAED,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;IAC9D,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAClD,qBAAqB,CAAC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAA;IACtE,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAE1D,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,wBAAsB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CzE"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,wBAAsB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDzE"}
@@ -4,7 +4,8 @@ import { join, dirname } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { computeChecksum, checksumFromPackageJson } from '../../workspace/checksum.js';
6
6
  import { VITEST_CONFIG_CONTENT } from '../../workspace/generate.js';
7
- import { validateDoctrine, findSourceFiles } from '../../core/validation/doctrine.js';
7
+ import { validateDoctrine, findSourceFiles } from '../../lint/doctrine.js';
8
+ import { checkDependencies } from '../../workspace/check-deps.js';
8
9
  import { info, success, error as logError, warn } from '../output.js';
9
10
  import { resolveAffected } from '../../workspace/affected.js';
10
11
  import { findConfig } from '../../core/config/discover.js';
@@ -43,6 +44,10 @@ export async function check(cwd, scope) {
43
44
  failed = true;
44
45
  }
45
46
  }
47
+ const depCheckOk = runDependencyCheck(cwd);
48
+ if (!depCheckOk) {
49
+ failed = true;
50
+ }
46
51
  if (failed)
47
52
  process.exit(1);
48
53
  success('All checks passed');
@@ -323,6 +328,24 @@ function lintDirectory(eslintBin, dir, label) {
323
328
  return false;
324
329
  }
325
330
  }
331
+ function runDependencyCheck(cwd) {
332
+ info('Dependency boundaries');
333
+ const result = checkDependencies(cwd);
334
+ if (result.packagesChecked === 0) {
335
+ success('Dependency boundaries (no workspace packages)');
336
+ return true;
337
+ }
338
+ if (result.violations.length === 0) {
339
+ success(`Dependency boundaries (${String(result.packagesChecked)} package${result.packagesChecked === 1 ? '' : 's'})`);
340
+ return true;
341
+ }
342
+ for (const v of result.violations) {
343
+ logError(` ${v.package} → ${v.dependency} (${v.field})`);
344
+ warn(` ${v.message}`);
345
+ }
346
+ logError(`Dependency boundaries: ${String(result.violations.length)} violation(s)`);
347
+ return false;
348
+ }
326
349
  function runLint(cwd, modulePaths) {
327
350
  info('Lint');
328
351
  const eslintBin = resolveEslintBin();
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface DbOptions {
2
+ readonly cwd: string;
3
+ readonly subcommand: string | undefined;
4
+ readonly db?: string | undefined;
5
+ readonly test?: boolean | undefined;
6
+ readonly confirm?: boolean | undefined;
7
+ readonly adminUrl?: string | undefined;
8
+ }
9
+ export declare function db(opts: DbOptions): Promise<void>;
10
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/db.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACvC;AAED,wBAAsB,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvD"}
@@ -0,0 +1,235 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import { resolve, join } from 'node:path';
3
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs';
4
+ import { bold, info, success, error as logError, warn } from '../output.js';
5
+ import { loadConfig } from './shared/load-config.js';
6
+ export async function db(opts) {
7
+ switch (opts.subcommand) {
8
+ case 'setup':
9
+ await setup(opts);
10
+ break;
11
+ case 'teardown':
12
+ await teardown(opts);
13
+ break;
14
+ case 'reset':
15
+ await teardown(opts);
16
+ await setup(opts);
17
+ break;
18
+ default: {
19
+ const sub = opts.subcommand ?? '(none)';
20
+ logError('Unknown db subcommand: ' + sub);
21
+ process.stderr.write('\n Usage: ' + bold('pipework db <setup|teardown|reset>') + '\n\n');
22
+ process.stderr.write(' setup Create databases, roles, extensions, run migrations\n');
23
+ process.stderr.write(' setup --test Create test database with isolated credentials\n');
24
+ process.stderr.write(' teardown Drop databases and roles\n');
25
+ process.stderr.write(' reset Teardown + setup\n\n');
26
+ process.exit(1);
27
+ }
28
+ }
29
+ }
30
+ async function setup(opts) {
31
+ const { config } = await loadConfig(resolve(opts.cwd));
32
+ const databases = filterDatabases(config, opts.db);
33
+ for (const [name, dbConfig] of databases) {
34
+ info('Setting up database: ' + name);
35
+ const adminUrl = resolveAdminUrl(opts, dbConfig);
36
+ if (adminUrl === null) {
37
+ const envName = dbConfig.adminUrl ?? 'ADMIN_DATABASE_URL';
38
+ logError('No admin URL for database "' + name + '". Set ' + envName + ' or pass --admin-url.');
39
+ process.exit(1);
40
+ }
41
+ const isTest = opts.test === true;
42
+ const dbName = isTest ? name + '_test' : name;
43
+ const roleName = name + '_app';
44
+ const password = randomBytes(16).toString('hex');
45
+ const envVarName = isTest ? dbConfig.testUrl : dbConfig.url;
46
+ const connectionUrl = buildConnectionUrl(adminUrl, dbName, roleName, password);
47
+ let adminClient = null;
48
+ try {
49
+ adminClient = await connectAdmin(adminUrl);
50
+ await ensureRole(adminClient, roleName, password);
51
+ await ensureDatabase(adminClient, dbName, roleName);
52
+ if (dbConfig.extensions !== undefined && dbConfig.extensions.length > 0) {
53
+ const extClient = await connectAdmin(connectionUrl);
54
+ try {
55
+ for (const ext of dbConfig.extensions) {
56
+ await ensureExtension(extClient, ext);
57
+ }
58
+ }
59
+ finally {
60
+ await extClient.close();
61
+ }
62
+ }
63
+ success('Database "' + dbName + '" ready (role: ' + roleName + ')');
64
+ if (envVarName !== undefined) {
65
+ writeEnvVar(opts.cwd, envVarName, connectionUrl);
66
+ success('Wrote ' + envVarName + ' to .env');
67
+ }
68
+ }
69
+ catch (err) {
70
+ logError('Failed to setup "' + name + '": ' + (err instanceof Error ? err.message : String(err)));
71
+ process.exit(1);
72
+ }
73
+ finally {
74
+ if (adminClient !== null) {
75
+ await adminClient.close();
76
+ }
77
+ }
78
+ }
79
+ success('Database setup complete');
80
+ }
81
+ async function teardown(opts) {
82
+ const { config } = await loadConfig(resolve(opts.cwd));
83
+ const databases = filterDatabases(config, opts.db);
84
+ if (config.environment === 'production' && opts.confirm !== true) {
85
+ logError('Teardown in production requires --confirm flag.');
86
+ process.exit(1);
87
+ }
88
+ for (const [name, dbConfig] of databases) {
89
+ const adminUrl = resolveAdminUrl(opts, dbConfig);
90
+ if (adminUrl === null) {
91
+ warn('No admin URL for database "' + name + '" — skipping teardown');
92
+ continue;
93
+ }
94
+ let adminClient = null;
95
+ try {
96
+ adminClient = await connectAdmin(adminUrl);
97
+ const dbName = name;
98
+ const testDbName = name + '_test';
99
+ const roleName = name + '_app';
100
+ await dropDatabaseIfExists(adminClient, testDbName);
101
+ await dropDatabaseIfExists(adminClient, dbName);
102
+ await dropRoleIfExists(adminClient, roleName);
103
+ success('Torn down: ' + name);
104
+ }
105
+ catch (err) {
106
+ logError('Failed to teardown "' + name + '": ' + (err instanceof Error ? err.message : String(err)));
107
+ }
108
+ finally {
109
+ if (adminClient !== null) {
110
+ await adminClient.close();
111
+ }
112
+ }
113
+ }
114
+ success('Database teardown complete');
115
+ }
116
+ function filterDatabases(config, dbFilter) {
117
+ const entries = Object.entries(config.databases);
118
+ if (dbFilter !== undefined) {
119
+ const filtered = entries.filter(([name]) => name === dbFilter);
120
+ if (filtered.length === 0) {
121
+ logError('Database "' + dbFilter + '" not found in config. Available: ' + entries.map(([n]) => n).join(', '));
122
+ process.exit(1);
123
+ }
124
+ return filtered;
125
+ }
126
+ return entries;
127
+ }
128
+ function resolveAdminUrl(opts, dbConfig) {
129
+ if (opts.adminUrl !== undefined)
130
+ return opts.adminUrl;
131
+ if (dbConfig.adminUrl !== undefined) {
132
+ const fromEnv = process.env[dbConfig.adminUrl];
133
+ if (fromEnv !== undefined && fromEnv !== '')
134
+ return fromEnv;
135
+ }
136
+ const fallback = process.env['ADMIN_DATABASE_URL'];
137
+ if (fallback !== undefined && fallback !== '')
138
+ return fallback;
139
+ return null;
140
+ }
141
+ function buildConnectionUrl(adminUrl, dbName, role, password) {
142
+ try {
143
+ const url = new URL(adminUrl);
144
+ url.username = role;
145
+ url.password = password;
146
+ url.pathname = '/' + dbName;
147
+ return url.toString();
148
+ }
149
+ catch {
150
+ const match = adminUrl.match(/^postgresql:\/\/([^@]+@)?([^/]+)/);
151
+ if (match !== null) {
152
+ return 'postgresql://' + role + ':' + password + '@' + String(match[2]) + '/' + dbName;
153
+ }
154
+ return 'postgresql://' + role + ':' + password + '@localhost:5432/' + dbName;
155
+ }
156
+ }
157
+ async function connectAdmin(url) {
158
+ const { default: postgres } = await import('postgres');
159
+ const client = postgres(url, { max: 1, onnotice: () => { } });
160
+ return {
161
+ async query(sqlStr, params) {
162
+ if (params !== undefined && params.length > 0) {
163
+ return client.unsafe(sqlStr, params);
164
+ }
165
+ return client.unsafe(sqlStr);
166
+ },
167
+ async close() {
168
+ await client.end();
169
+ },
170
+ };
171
+ }
172
+ async function ensureRole(client, name, password) {
173
+ const rows = await client.query('SELECT 1 FROM pg_roles WHERE rolname = $1', [name]);
174
+ if (rows.length === 0) {
175
+ await client.query('CREATE ROLE ' + quoteIdent(name) + ' WITH LOGIN PASSWORD \'' + escapePassword(password) + '\'');
176
+ info('Created role: ' + name);
177
+ }
178
+ else {
179
+ await client.query('ALTER ROLE ' + quoteIdent(name) + ' WITH PASSWORD \'' + escapePassword(password) + '\'');
180
+ info('Updated password for role: ' + name);
181
+ }
182
+ }
183
+ async function ensureDatabase(client, dbName, owner) {
184
+ const rows = await client.query('SELECT 1 FROM pg_database WHERE datname = $1', [dbName]);
185
+ if (rows.length === 0) {
186
+ await client.query('CREATE DATABASE ' + quoteIdent(dbName) + ' OWNER ' + quoteIdent(owner));
187
+ info('Created database: ' + dbName);
188
+ }
189
+ else {
190
+ info('Database "' + dbName + '" already exists');
191
+ }
192
+ }
193
+ async function ensureExtension(client, ext) {
194
+ await client.query('CREATE EXTENSION IF NOT EXISTS ' + quoteIdent(ext));
195
+ info('Extension: ' + ext);
196
+ }
197
+ async function dropDatabaseIfExists(client, dbName) {
198
+ const rows = await client.query('SELECT 1 FROM pg_database WHERE datname = $1', [dbName]);
199
+ if (rows.length > 0) {
200
+ await client.query('DROP DATABASE ' + quoteIdent(dbName));
201
+ info('Dropped database: ' + dbName);
202
+ }
203
+ }
204
+ async function dropRoleIfExists(client, name) {
205
+ const rows = await client.query('SELECT 1 FROM pg_roles WHERE rolname = $1', [name]);
206
+ if (rows.length > 0) {
207
+ await client.query('DROP ROLE ' + quoteIdent(name));
208
+ info('Dropped role: ' + name);
209
+ }
210
+ }
211
+ function quoteIdent(name) {
212
+ if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(name)) {
213
+ throw new Error('[pipework] Invalid identifier: "' + name + '"');
214
+ }
215
+ return '"' + name + '"';
216
+ }
217
+ function escapePassword(password) {
218
+ return password.replace(/'/g, "''");
219
+ }
220
+ function writeEnvVar(cwd, key, value) {
221
+ const envPath = join(cwd, '.env');
222
+ let content = '';
223
+ if (existsSync(envPath)) {
224
+ content = readFileSync(envPath, 'utf-8');
225
+ const pattern = new RegExp('^' + key + '=.*$', 'm');
226
+ if (pattern.test(content)) {
227
+ content = content.replace(pattern, key + '=' + value);
228
+ writeFileSync(envPath, content, 'utf-8');
229
+ return;
230
+ }
231
+ }
232
+ const newLine = content.length > 0 && !content.endsWith('\n') ? '\n' : '';
233
+ writeFileSync(envPath, content + newLine + key + '=' + value + '\n', 'utf-8');
234
+ }
235
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/cli/commands/db.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAkBA,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAiBtC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAmBA,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAmBtC"}