@things-factory/ops-master 10.1.248 → 10.1.250

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 (429) hide show
  1. package/dist-client/bootstrap.d.ts +19 -0
  2. package/dist-client/bootstrap.js +66 -0
  3. package/dist-client/bootstrap.js.map +1 -0
  4. package/dist-client/index.d.ts +17 -0
  5. package/dist-client/index.js +21 -0
  6. package/dist-client/index.js.map +1 -0
  7. package/dist-client/master-change-approval.d.ts +14 -0
  8. package/dist-client/master-change-approval.js +36 -0
  9. package/dist-client/master-change-approval.js.map +1 -0
  10. package/dist-client/master-change-policy-axes.d.ts +37 -0
  11. package/dist-client/master-change-policy-axes.js +29 -0
  12. package/dist-client/master-change-policy-axes.js.map +1 -0
  13. package/dist-client/master-change-policy-panel.d.ts +59 -0
  14. package/dist-client/master-change-policy-panel.js +454 -0
  15. package/dist-client/master-change-policy-panel.js.map +1 -0
  16. package/dist-client/master-change-providers.d.ts +4 -0
  17. package/dist-client/master-change-providers.js +91 -0
  18. package/dist-client/master-change-providers.js.map +1 -0
  19. package/dist-client/pages/master/applied-when-dialog.d.ts +48 -0
  20. package/dist-client/pages/master/applied-when-dialog.js +137 -0
  21. package/dist-client/pages/master/applied-when-dialog.js.map +1 -0
  22. package/dist-client/pages/master/assignment-fields.d.ts +27 -0
  23. package/dist-client/pages/master/assignment-fields.js +62 -0
  24. package/dist-client/pages/master/assignment-fields.js.map +1 -0
  25. package/dist-client/pages/master/equipment-class.d.ts +12 -0
  26. package/dist-client/pages/master/equipment-class.js +42 -0
  27. package/dist-client/pages/master/equipment-class.js.map +1 -0
  28. package/dist-client/pages/master/equipment.d.ts +12 -0
  29. package/dist-client/pages/master/equipment.js +58 -0
  30. package/dist-client/pages/master/equipment.js.map +1 -0
  31. package/dist-client/pages/master/grist-iso-duration.d.ts +20 -0
  32. package/dist-client/pages/master/grist-iso-duration.js +70 -0
  33. package/dist-client/pages/master/grist-iso-duration.js.map +1 -0
  34. package/dist-client/pages/master/grist-reference.d.ts +91 -0
  35. package/dist-client/pages/master/grist-reference.js +419 -0
  36. package/dist-client/pages/master/grist-reference.js.map +1 -0
  37. package/dist-client/pages/master/import-rows.d.ts +35 -0
  38. package/dist-client/pages/master/import-rows.js +66 -0
  39. package/dist-client/pages/master/import-rows.js.map +1 -0
  40. package/dist-client/pages/master/iso-duration.d.ts +34 -0
  41. package/dist-client/pages/master/iso-duration.js +76 -0
  42. package/dist-client/pages/master/iso-duration.js.map +1 -0
  43. package/dist-client/pages/master/master-options.d.ts +40 -0
  44. package/dist-client/pages/master/master-options.js +54 -0
  45. package/dist-client/pages/master/master-options.js.map +1 -0
  46. package/dist-client/pages/master/master-page-base.d.ts +369 -0
  47. package/dist-client/pages/master/master-page-base.js +657 -0
  48. package/dist-client/pages/master/master-page-base.js.map +1 -0
  49. package/dist-client/pages/master/material-class.d.ts +12 -0
  50. package/dist-client/pages/master/material-class.js +42 -0
  51. package/dist-client/pages/master/material-class.js.map +1 -0
  52. package/dist-client/pages/master/material-definition.d.ts +5 -0
  53. package/dist-client/pages/master/material-definition.js +14 -0
  54. package/dist-client/pages/master/material-definition.js.map +1 -0
  55. package/dist-client/pages/master/material-revision-fields.d.ts +2 -0
  56. package/dist-client/pages/master/material-revision-fields.js +43 -0
  57. package/dist-client/pages/master/material-revision-fields.js.map +1 -0
  58. package/dist-client/pages/master/operation-definition.d.ts +12 -0
  59. package/dist-client/pages/master/operation-definition.js +49 -0
  60. package/dist-client/pages/master/operation-definition.js.map +1 -0
  61. package/dist-client/pages/master/operational-location.d.ts +84 -0
  62. package/dist-client/pages/master/operational-location.js +432 -0
  63. package/dist-client/pages/master/operational-location.js.map +1 -0
  64. package/dist-client/pages/master/person.d.ts +12 -0
  65. package/dist-client/pages/master/person.js +41 -0
  66. package/dist-client/pages/master/person.js.map +1 -0
  67. package/dist-client/pages/master/personnel-class.d.ts +12 -0
  68. package/dist-client/pages/master/personnel-class.js +43 -0
  69. package/dist-client/pages/master/personnel-class.js.map +1 -0
  70. package/dist-client/pages/master/physical-asset-class.d.ts +12 -0
  71. package/dist-client/pages/master/physical-asset-class.js +40 -0
  72. package/dist-client/pages/master/physical-asset-class.js.map +1 -0
  73. package/dist-client/pages/master/physical-asset.d.ts +12 -0
  74. package/dist-client/pages/master/physical-asset.js +41 -0
  75. package/dist-client/pages/master/physical-asset.js.map +1 -0
  76. package/dist-client/pages/master/recipe-definition.d.ts +5 -0
  77. package/dist-client/pages/master/recipe-definition.js +14 -0
  78. package/dist-client/pages/master/recipe-definition.js.map +1 -0
  79. package/dist-client/pages/master/reference-targets.d.ts +42 -0
  80. package/dist-client/pages/master/reference-targets.js +82 -0
  81. package/dist-client/pages/master/reference-targets.js.map +1 -0
  82. package/dist-client/pages/master/revision-comparison.d.ts +49 -0
  83. package/dist-client/pages/master/revision-comparison.js +560 -0
  84. package/dist-client/pages/master/revision-comparison.js.map +1 -0
  85. package/dist-client/pages/master/revision-view.d.ts +34 -0
  86. package/dist-client/pages/master/revision-view.js +145 -0
  87. package/dist-client/pages/master/revision-view.js.map +1 -0
  88. package/dist-client/pages/master/revision-workspace.d.ts +50 -0
  89. package/dist-client/pages/master/revision-workspace.js +763 -0
  90. package/dist-client/pages/master/revision-workspace.js.map +1 -0
  91. package/dist-client/pages/master/route-definition.d.ts +19 -0
  92. package/dist-client/pages/master/route-definition.js +40 -0
  93. package/dist-client/pages/master/route-definition.js.map +1 -0
  94. package/dist-client/pages/master/stop-reason.d.ts +12 -0
  95. package/dist-client/pages/master/stop-reason.js +48 -0
  96. package/dist-client/pages/master/stop-reason.js.map +1 -0
  97. package/dist-client/pages/master/test-specification.d.ts +5 -0
  98. package/dist-client/pages/master/test-specification.js +14 -0
  99. package/dist-client/pages/master/test-specification.js.map +1 -0
  100. package/dist-client/pages/master-axes.d.ts +24 -0
  101. package/dist-client/pages/master-axes.js +39 -0
  102. package/dist-client/pages/master-axes.js.map +1 -0
  103. package/dist-client/route.d.ts +1 -0
  104. package/dist-client/route.js +81 -0
  105. package/dist-client/route.js.map +1 -0
  106. package/dist-client/tsconfig.tsbuildinfo +1 -0
  107. package/dist-server/index.d.ts +1 -0
  108. package/dist-server/index.js +19 -0
  109. package/dist-server/index.js.map +1 -0
  110. package/dist-server/service/ai-entry/master-entry-rules.d.ts +175 -0
  111. package/dist-server/service/ai-entry/master-entry-rules.js +302 -0
  112. package/dist-server/service/ai-entry/master-entry-rules.js.map +1 -0
  113. package/dist-server/service/ai-entry/master-entry-targets.d.ts +23 -0
  114. package/dist-server/service/ai-entry/master-entry-targets.js +293 -0
  115. package/dist-server/service/ai-entry/master-entry-targets.js.map +1 -0
  116. package/dist-server/service/approval-route.d.ts +37 -0
  117. package/dist-server/service/approval-route.js +34 -0
  118. package/dist-server/service/approval-route.js.map +1 -0
  119. package/dist-server/service/asset/asset-lifecycle.d.ts +106 -0
  120. package/dist-server/service/asset/asset-lifecycle.js +126 -0
  121. package/dist-server/service/asset/asset-lifecycle.js.map +1 -0
  122. package/dist-server/service/asset/asset-master-resolver.d.ts +53 -0
  123. package/dist-server/service/asset/asset-master-resolver.js +185 -0
  124. package/dist-server/service/asset/asset-master-resolver.js.map +1 -0
  125. package/dist-server/service/asset/asset-master.d.ts +21 -0
  126. package/dist-server/service/asset/asset-master.js +25 -0
  127. package/dist-server/service/asset/asset-master.js.map +1 -0
  128. package/dist-server/service/asset/asset-query.d.ts +16 -0
  129. package/dist-server/service/asset/asset-query.js +72 -0
  130. package/dist-server/service/asset/asset-query.js.map +1 -0
  131. package/dist-server/service/asset/index.d.ts +6 -0
  132. package/dist-server/service/asset/index.js +10 -0
  133. package/dist-server/service/asset/index.js.map +1 -0
  134. package/dist-server/service/asset/physical-asset-class.d.ts +34 -0
  135. package/dist-server/service/asset/physical-asset-class.js +104 -0
  136. package/dist-server/service/asset/physical-asset-class.js.map +1 -0
  137. package/dist-server/service/asset/physical-asset.d.ts +66 -0
  138. package/dist-server/service/asset/physical-asset.js +123 -0
  139. package/dist-server/service/asset/physical-asset.js.map +1 -0
  140. package/dist-server/service/assignment/applied-when.d.ts +24 -0
  141. package/dist-server/service/assignment/applied-when.js +16 -0
  142. package/dist-server/service/assignment/applied-when.js.map +1 -0
  143. package/dist-server/service/assignment/assignment-history.d.ts +92 -0
  144. package/dist-server/service/assignment/assignment-history.js +289 -0
  145. package/dist-server/service/assignment/assignment-history.js.map +1 -0
  146. package/dist-server/service/assignment/assignment-write.d.ts +42 -0
  147. package/dist-server/service/assignment/assignment-write.js +101 -0
  148. package/dist-server/service/assignment/assignment-write.js.map +1 -0
  149. package/dist-server/service/assignment/master-value-claim.d.ts +135 -0
  150. package/dist-server/service/assignment/master-value-claim.js +174 -0
  151. package/dist-server/service/assignment/master-value-claim.js.map +1 -0
  152. package/dist-server/service/equipment/equipment-class.d.ts +34 -0
  153. package/dist-server/service/equipment/equipment-class.js +104 -0
  154. package/dist-server/service/equipment/equipment-class.js.map +1 -0
  155. package/dist-server/service/equipment/equipment-master-resolver.d.ts +77 -0
  156. package/dist-server/service/equipment/equipment-master-resolver.js +266 -0
  157. package/dist-server/service/equipment/equipment-master-resolver.js.map +1 -0
  158. package/dist-server/service/equipment/equipment-master.d.ts +30 -0
  159. package/dist-server/service/equipment/equipment-master.js +53 -0
  160. package/dist-server/service/equipment/equipment-master.js.map +1 -0
  161. package/dist-server/service/equipment/equipment-query.d.ts +16 -0
  162. package/dist-server/service/equipment/equipment-query.js +72 -0
  163. package/dist-server/service/equipment/equipment-query.js.map +1 -0
  164. package/dist-server/service/equipment/equipment.d.ts +71 -0
  165. package/dist-server/service/equipment/equipment.js +138 -0
  166. package/dist-server/service/equipment/equipment.js.map +1 -0
  167. package/dist-server/service/equipment/index.d.ts +8 -0
  168. package/dist-server/service/equipment/index.js +12 -0
  169. package/dist-server/service/equipment/index.js.map +1 -0
  170. package/dist-server/service/equipment/state-period-rules.d.ts +95 -0
  171. package/dist-server/service/equipment/state-period-rules.js +122 -0
  172. package/dist-server/service/equipment/state-period-rules.js.map +1 -0
  173. package/dist-server/service/equipment/stop-reason-query.d.ts +11 -0
  174. package/dist-server/service/equipment/stop-reason-query.js +39 -0
  175. package/dist-server/service/equipment/stop-reason-query.js.map +1 -0
  176. package/dist-server/service/equipment/stop-reason.d.ts +58 -0
  177. package/dist-server/service/equipment/stop-reason.js +114 -0
  178. package/dist-server/service/equipment/stop-reason.js.map +1 -0
  179. package/dist-server/service/index.d.ts +82 -0
  180. package/dist-server/service/index.js +145 -0
  181. package/dist-server/service/index.js.map +1 -0
  182. package/dist-server/service/location/index.d.ts +5 -0
  183. package/dist-server/service/location/index.js +9 -0
  184. package/dist-server/service/location/index.js.map +1 -0
  185. package/dist-server/service/location/location-master-resolver.d.ts +60 -0
  186. package/dist-server/service/location/location-master-resolver.js +313 -0
  187. package/dist-server/service/location/location-master-resolver.js.map +1 -0
  188. package/dist-server/service/location/location-master.d.ts +26 -0
  189. package/dist-server/service/location/location-master.js +28 -0
  190. package/dist-server/service/location/location-master.js.map +1 -0
  191. package/dist-server/service/location/location-query.d.ts +15 -0
  192. package/dist-server/service/location/location-query.js +56 -0
  193. package/dist-server/service/location/location-query.js.map +1 -0
  194. package/dist-server/service/location/operational-location.d.ts +116 -0
  195. package/dist-server/service/location/operational-location.js +157 -0
  196. package/dist-server/service/location/operational-location.js.map +1 -0
  197. package/dist-server/service/master-axis.d.ts +40 -0
  198. package/dist-server/service/master-axis.js +57 -0
  199. package/dist-server/service/master-axis.js.map +1 -0
  200. package/dist-server/service/master-change-approval/approval-input.d.ts +17 -0
  201. package/dist-server/service/master-change-approval/approval-input.js +35 -0
  202. package/dist-server/service/master-change-approval/approval-input.js.map +1 -0
  203. package/dist-server/service/master-change-approval/builtin-axes.d.ts +4 -0
  204. package/dist-server/service/master-change-approval/builtin-axes.js +96 -0
  205. package/dist-server/service/master-change-approval/builtin-axes.js.map +1 -0
  206. package/dist-server/service/master-change-approval/index.d.ts +14 -0
  207. package/dist-server/service/master-change-approval/index.js +37 -0
  208. package/dist-server/service/master-change-approval/index.js.map +1 -0
  209. package/dist-server/service/master-change-approval/master-change-axis.d.ts +54 -0
  210. package/dist-server/service/master-change-approval/master-change-axis.js +17 -0
  211. package/dist-server/service/master-change-approval/master-change-axis.js.map +1 -0
  212. package/dist-server/service/master-change-approval/master-change-flow.d.ts +65 -0
  213. package/dist-server/service/master-change-approval/master-change-flow.js +125 -0
  214. package/dist-server/service/master-change-approval/master-change-flow.js.map +1 -0
  215. package/dist-server/service/master-change-approval/master-change-resolver.d.ts +18 -0
  216. package/dist-server/service/master-change-approval/master-change-resolver.js +58 -0
  217. package/dist-server/service/master-change-approval/master-change-resolver.js.map +1 -0
  218. package/dist-server/service/master-change-policy.d.ts +122 -0
  219. package/dist-server/service/master-change-policy.js +304 -0
  220. package/dist-server/service/master-change-policy.js.map +1 -0
  221. package/dist-server/service/master-conformance-resolver.d.ts +34 -0
  222. package/dist-server/service/master-conformance-resolver.js +153 -0
  223. package/dist-server/service/master-conformance-resolver.js.map +1 -0
  224. package/dist-server/service/master-conformance.d.ts +80 -0
  225. package/dist-server/service/master-conformance.js +266 -0
  226. package/dist-server/service/master-conformance.js.map +1 -0
  227. package/dist-server/service/master-crud.d.ts +55 -0
  228. package/dist-server/service/master-crud.js +93 -0
  229. package/dist-server/service/master-crud.js.map +1 -0
  230. package/dist-server/service/master-list.d.ts +12 -0
  231. package/dist-server/service/master-list.js +30 -0
  232. package/dist-server/service/master-list.js.map +1 -0
  233. package/dist-server/service/master-page-query.d.ts +33 -0
  234. package/dist-server/service/master-page-query.js +55 -0
  235. package/dist-server/service/master-page-query.js.map +1 -0
  236. package/dist-server/service/master-page.d.ts +85 -0
  237. package/dist-server/service/master-page.js +104 -0
  238. package/dist-server/service/master-page.js.map +1 -0
  239. package/dist-server/service/material/index.d.ts +7 -0
  240. package/dist-server/service/material/index.js +12 -0
  241. package/dist-server/service/material/index.js.map +1 -0
  242. package/dist-server/service/material/material-axis-status.d.ts +8 -0
  243. package/dist-server/service/material/material-axis-status.js +19 -0
  244. package/dist-server/service/material/material-axis-status.js.map +1 -0
  245. package/dist-server/service/material/material-class.d.ts +34 -0
  246. package/dist-server/service/material/material-class.js +104 -0
  247. package/dist-server/service/material/material-class.js.map +1 -0
  248. package/dist-server/service/material/material-definition.d.ts +45 -0
  249. package/dist-server/service/material/material-definition.js +125 -0
  250. package/dist-server/service/material/material-definition.js.map +1 -0
  251. package/dist-server/service/material/material-effective-list.d.ts +39 -0
  252. package/dist-server/service/material/material-effective-list.js +54 -0
  253. package/dist-server/service/material/material-effective-list.js.map +1 -0
  254. package/dist-server/service/material/material-master-resolver.d.ts +106 -0
  255. package/dist-server/service/material/material-master-resolver.js +351 -0
  256. package/dist-server/service/material/material-master-resolver.js.map +1 -0
  257. package/dist-server/service/material/material-master.d.ts +9 -0
  258. package/dist-server/service/material/material-master.js +24 -0
  259. package/dist-server/service/material/material-master.js.map +1 -0
  260. package/dist-server/service/material/material-query.d.ts +16 -0
  261. package/dist-server/service/material/material-query.js +79 -0
  262. package/dist-server/service/material/material-query.js.map +1 -0
  263. package/dist-server/service/material/material-revision-content.d.ts +10 -0
  264. package/dist-server/service/material/material-revision-content.js +92 -0
  265. package/dist-server/service/material/material-revision-content.js.map +1 -0
  266. package/dist-server/service/material/material-revision-resolver.d.ts +60 -0
  267. package/dist-server/service/material/material-revision-resolver.js +96 -0
  268. package/dist-server/service/material/material-revision-resolver.js.map +1 -0
  269. package/dist-server/service/material/material-revision-service.d.ts +179 -0
  270. package/dist-server/service/material/material-revision-service.js +687 -0
  271. package/dist-server/service/material/material-revision-service.js.map +1 -0
  272. package/dist-server/service/material/material-revision.d.ts +86 -0
  273. package/dist-server/service/material/material-revision.js +339 -0
  274. package/dist-server/service/material/material-revision.js.map +1 -0
  275. package/dist-server/service/material/recipe-index.d.ts +23 -0
  276. package/dist-server/service/material/recipe-index.js +44 -0
  277. package/dist-server/service/material/recipe-index.js.map +1 -0
  278. package/dist-server/service/operation/index.d.ts +6 -0
  279. package/dist-server/service/operation/index.js +10 -0
  280. package/dist-server/service/operation/index.js.map +1 -0
  281. package/dist-server/service/operation/operation-definition.d.ts +52 -0
  282. package/dist-server/service/operation/operation-definition.js +143 -0
  283. package/dist-server/service/operation/operation-definition.js.map +1 -0
  284. package/dist-server/service/operation/operation-master-resolver.d.ts +52 -0
  285. package/dist-server/service/operation/operation-master-resolver.js +187 -0
  286. package/dist-server/service/operation/operation-master-resolver.js.map +1 -0
  287. package/dist-server/service/operation/operation-master.d.ts +21 -0
  288. package/dist-server/service/operation/operation-master.js +28 -0
  289. package/dist-server/service/operation/operation-master.js.map +1 -0
  290. package/dist-server/service/operation/operation-query.d.ts +15 -0
  291. package/dist-server/service/operation/operation-query.js +56 -0
  292. package/dist-server/service/operation/operation-query.js.map +1 -0
  293. package/dist-server/service/operation/operation-readiness-resolver.d.ts +39 -0
  294. package/dist-server/service/operation/operation-readiness-resolver.js +111 -0
  295. package/dist-server/service/operation/operation-readiness-resolver.js.map +1 -0
  296. package/dist-server/service/operation/operation-readiness.d.ts +34 -0
  297. package/dist-server/service/operation/operation-readiness.js +133 -0
  298. package/dist-server/service/operation/operation-readiness.js.map +1 -0
  299. package/dist-server/service/personnel/index.d.ts +6 -0
  300. package/dist-server/service/personnel/index.js +10 -0
  301. package/dist-server/service/personnel/index.js.map +1 -0
  302. package/dist-server/service/personnel/person.d.ts +51 -0
  303. package/dist-server/service/personnel/person.js +119 -0
  304. package/dist-server/service/personnel/person.js.map +1 -0
  305. package/dist-server/service/personnel/personnel-class-readiness.d.ts +22 -0
  306. package/dist-server/service/personnel/personnel-class-readiness.js +98 -0
  307. package/dist-server/service/personnel/personnel-class-readiness.js.map +1 -0
  308. package/dist-server/service/personnel/personnel-class.d.ts +54 -0
  309. package/dist-server/service/personnel/personnel-class.js +114 -0
  310. package/dist-server/service/personnel/personnel-class.js.map +1 -0
  311. package/dist-server/service/personnel/personnel-master-resolver.d.ts +53 -0
  312. package/dist-server/service/personnel/personnel-master-resolver.js +187 -0
  313. package/dist-server/service/personnel/personnel-master-resolver.js.map +1 -0
  314. package/dist-server/service/personnel/personnel-master.d.ts +39 -0
  315. package/dist-server/service/personnel/personnel-master.js +34 -0
  316. package/dist-server/service/personnel/personnel-master.js.map +1 -0
  317. package/dist-server/service/personnel/personnel-query.d.ts +29 -0
  318. package/dist-server/service/personnel/personnel-query.js +79 -0
  319. package/dist-server/service/personnel/personnel-query.js.map +1 -0
  320. package/dist-server/service/personnel/qualification.d.ts +104 -0
  321. package/dist-server/service/personnel/qualification.js +147 -0
  322. package/dist-server/service/personnel/qualification.js.map +1 -0
  323. package/dist-server/service/quality/index.d.ts +4 -0
  324. package/dist-server/service/quality/index.js +8 -0
  325. package/dist-server/service/quality/index.js.map +1 -0
  326. package/dist-server/service/quality/nonconformance-cause-resolver.d.ts +12 -0
  327. package/dist-server/service/quality/nonconformance-cause-resolver.js +60 -0
  328. package/dist-server/service/quality/nonconformance-cause-resolver.js.map +1 -0
  329. package/dist-server/service/quality/nonconformance-cause.d.ts +20 -0
  330. package/dist-server/service/quality/nonconformance-cause.js +90 -0
  331. package/dist-server/service/quality/nonconformance-cause.js.map +1 -0
  332. package/dist-server/service/recipe/index.d.ts +10 -0
  333. package/dist-server/service/recipe/index.js +16 -0
  334. package/dist-server/service/recipe/index.js.map +1 -0
  335. package/dist-server/service/recipe/recipe-definition.d.ts +75 -0
  336. package/dist-server/service/recipe/recipe-definition.js +143 -0
  337. package/dist-server/service/recipe/recipe-definition.js.map +1 -0
  338. package/dist-server/service/recipe/recipe-effective-list.d.ts +49 -0
  339. package/dist-server/service/recipe/recipe-effective-list.js +96 -0
  340. package/dist-server/service/recipe/recipe-effective-list.js.map +1 -0
  341. package/dist-server/service/recipe/recipe-master-resolver.d.ts +28 -0
  342. package/dist-server/service/recipe/recipe-master-resolver.js +128 -0
  343. package/dist-server/service/recipe/recipe-master-resolver.js.map +1 -0
  344. package/dist-server/service/recipe/recipe-master.d.ts +37 -0
  345. package/dist-server/service/recipe/recipe-master.js +47 -0
  346. package/dist-server/service/recipe/recipe-master.js.map +1 -0
  347. package/dist-server/service/recipe/recipe-query.d.ts +21 -0
  348. package/dist-server/service/recipe/recipe-query.js +82 -0
  349. package/dist-server/service/recipe/recipe-query.js.map +1 -0
  350. package/dist-server/service/recipe/recipe-revision-content.d.ts +32 -0
  351. package/dist-server/service/recipe/recipe-revision-content.js +70 -0
  352. package/dist-server/service/recipe/recipe-revision-content.js.map +1 -0
  353. package/dist-server/service/recipe/recipe-revision-line.d.ts +30 -0
  354. package/dist-server/service/recipe/recipe-revision-line.js +95 -0
  355. package/dist-server/service/recipe/recipe-revision-line.js.map +1 -0
  356. package/dist-server/service/recipe/recipe-revision-resolver.d.ts +65 -0
  357. package/dist-server/service/recipe/recipe-revision-resolver.js +96 -0
  358. package/dist-server/service/recipe/recipe-revision-resolver.js.map +1 -0
  359. package/dist-server/service/recipe/recipe-revision-service.d.ts +183 -0
  360. package/dist-server/service/recipe/recipe-revision-service.js +754 -0
  361. package/dist-server/service/recipe/recipe-revision-service.js.map +1 -0
  362. package/dist-server/service/recipe/recipe-revision.d.ts +102 -0
  363. package/dist-server/service/recipe/recipe-revision.js +373 -0
  364. package/dist-server/service/recipe/recipe-revision.js.map +1 -0
  365. package/dist-server/service/recipe/route-definition.d.ts +51 -0
  366. package/dist-server/service/recipe/route-definition.js +114 -0
  367. package/dist-server/service/recipe/route-definition.js.map +1 -0
  368. package/dist-server/service/resource/class-lineage.d.ts +46 -0
  369. package/dist-server/service/resource/class-lineage.js +80 -0
  370. package/dist-server/service/resource/class-lineage.js.map +1 -0
  371. package/dist-server/service/resource/class-members.d.ts +36 -0
  372. package/dist-server/service/resource/class-members.js +59 -0
  373. package/dist-server/service/resource/class-members.js.map +1 -0
  374. package/dist-server/service/resource/referrers.d.ts +54 -0
  375. package/dist-server/service/resource/referrers.js +99 -0
  376. package/dist-server/service/resource/referrers.js.map +1 -0
  377. package/dist-server/service/resource/resource-class.d.ts +25 -0
  378. package/dist-server/service/resource/resource-class.js +29 -0
  379. package/dist-server/service/resource/resource-class.js.map +1 -0
  380. package/dist-server/service/revision-baseline.d.ts +71 -0
  381. package/dist-server/service/revision-baseline.js +87 -0
  382. package/dist-server/service/revision-baseline.js.map +1 -0
  383. package/dist-server/service/row-lock.d.ts +22 -0
  384. package/dist-server/service/row-lock.js +31 -0
  385. package/dist-server/service/row-lock.js.map +1 -0
  386. package/dist-server/service/status/axis-stamp.d.ts +16 -0
  387. package/dist-server/service/status/axis-stamp.js +22 -0
  388. package/dist-server/service/status/axis-stamp.js.map +1 -0
  389. package/dist-server/service/status/index.d.ts +3 -0
  390. package/dist-server/service/status/index.js +7 -0
  391. package/dist-server/service/status/index.js.map +1 -0
  392. package/dist-server/service/status/master-status.d.ts +38 -0
  393. package/dist-server/service/status/master-status.js +129 -0
  394. package/dist-server/service/status/master-status.js.map +1 -0
  395. package/dist-server/service/test-spec/criteria-check.d.ts +53 -0
  396. package/dist-server/service/test-spec/criteria-check.js +142 -0
  397. package/dist-server/service/test-spec/criteria-check.js.map +1 -0
  398. package/dist-server/service/test-spec/criteria-rows.d.ts +89 -0
  399. package/dist-server/service/test-spec/criteria-rows.js +139 -0
  400. package/dist-server/service/test-spec/criteria-rows.js.map +1 -0
  401. package/dist-server/service/test-spec/index.d.ts +6 -0
  402. package/dist-server/service/test-spec/index.js +11 -0
  403. package/dist-server/service/test-spec/index.js.map +1 -0
  404. package/dist-server/service/test-spec/test-spec-effective-list.d.ts +34 -0
  405. package/dist-server/service/test-spec/test-spec-effective-list.js +42 -0
  406. package/dist-server/service/test-spec/test-spec-effective-list.js.map +1 -0
  407. package/dist-server/service/test-spec/test-spec-master-resolver.d.ts +44 -0
  408. package/dist-server/service/test-spec/test-spec-master-resolver.js +144 -0
  409. package/dist-server/service/test-spec/test-spec-master-resolver.js.map +1 -0
  410. package/dist-server/service/test-spec/test-spec-master.d.ts +6 -0
  411. package/dist-server/service/test-spec/test-spec-master.js +18 -0
  412. package/dist-server/service/test-spec/test-spec-master.js.map +1 -0
  413. package/dist-server/service/test-spec/test-spec-query.d.ts +15 -0
  414. package/dist-server/service/test-spec/test-spec-query.js +61 -0
  415. package/dist-server/service/test-spec/test-spec-query.js.map +1 -0
  416. package/dist-server/service/test-spec/test-spec-revision-resolver.d.ts +59 -0
  417. package/dist-server/service/test-spec/test-spec-revision-resolver.js +96 -0
  418. package/dist-server/service/test-spec/test-spec-revision-resolver.js.map +1 -0
  419. package/dist-server/service/test-spec/test-spec-revision-service.d.ts +178 -0
  420. package/dist-server/service/test-spec/test-spec-revision-service.js +685 -0
  421. package/dist-server/service/test-spec/test-spec-revision-service.js.map +1 -0
  422. package/dist-server/service/test-spec/test-spec-revision.d.ts +86 -0
  423. package/dist-server/service/test-spec/test-spec-revision.js +334 -0
  424. package/dist-server/service/test-spec/test-spec-revision.js.map +1 -0
  425. package/dist-server/service/test-spec/test-specification.d.ts +47 -0
  426. package/dist-server/service/test-spec/test-specification.js +119 -0
  427. package/dist-server/service/test-spec/test-specification.js.map +1 -0
  428. package/dist-server/tsconfig.tsbuildinfo +1 -0
  429. package/package.json +4 -4
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toTestSpecification = toTestSpecification;
4
+ exports.testSpecificationMaster = testSpecificationMaster;
5
+ const resource_class_1 = require("../resource/resource-class");
6
+ function toTestSpecification(spec) {
7
+ const out = { id: spec.name };
8
+ (0, resource_class_1.put)(out, 'description', spec.description);
9
+ (0, resource_class_1.put)(out, 'version', spec.version);
10
+ (0, resource_class_1.put)(out, 'criteria', spec.criteria);
11
+ (0, resource_class_1.put)(out, 'effectiveStart', (0, resource_class_1.iso)(spec.effectiveStart));
12
+ (0, resource_class_1.put)(out, 'effectiveEnd', (0, resource_class_1.iso)(spec.effectiveEnd));
13
+ return out;
14
+ }
15
+ function testSpecificationMaster(specs) {
16
+ return { testSpecifications: specs.map(toTestSpecification) };
17
+ }
18
+ //# sourceMappingURL=test-spec-master.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-spec-master.js","sourceRoot":"","sources":["../../../server/service/test-spec/test-spec-master.ts"],"names":[],"mappings":";;AAKA,kDAUC;AAED,0DAEC;AAjBD,+DAAqD;AAGrD,SAAgB,mBAAmB,CAAC,IAAuB;IACzD,MAAM,GAAG,GAA4B,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAEtD,IAAA,oBAAG,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACzC,IAAA,oBAAG,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,IAAA,oBAAG,EAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAA,oBAAG,EAAC,GAAG,EAAE,gBAAgB,EAAE,IAAA,oBAAG,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;IACpD,IAAA,oBAAG,EAAC,GAAG,EAAE,cAAc,EAAE,IAAA,oBAAG,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IAEhD,OAAO,GAAsC,CAAA;AAC/C,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAA0B;IAChE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAA;AAC/D,CAAC","sourcesContent":["import type { TestSpecification as TestSpecificationDef } from '@operato/ops-contract'\n\nimport { iso, put } from '../resource/resource-class'\nimport type { TestSpecification } from './test-specification'\n\nexport function toTestSpecification(spec: TestSpecification): TestSpecificationDef {\n const out: Record<string, unknown> = { id: spec.name }\n\n put(out, 'description', spec.description)\n put(out, 'version', spec.version)\n put(out, 'criteria', spec.criteria)\n put(out, 'effectiveStart', iso(spec.effectiveStart))\n put(out, 'effectiveEnd', iso(spec.effectiveEnd))\n\n return out as unknown as TestSpecificationDef\n}\n\nexport function testSpecificationMaster(specs: TestSpecification[]): { testSpecifications: TestSpecificationDef[] } {\n return { testSpecifications: specs.map(toTestSpecification) }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ export declare class TestSpecificationMaster {
2
+ testSpecifications: string;
3
+ /**
4
+ * 더 있나 — **이 값을 안 보고 쓰면 조용히 잘린 마스터로 트윈을 세우게 된다.**
5
+ *
6
+ * 거짓이 될 때까지 `next` 를 `after` 로 넘겨 이어 받는다.
7
+ */
8
+ hasMore: boolean;
9
+ /** 이어 받을 자리. 더 없으면 없다. */
10
+ next?: string;
11
+ }
12
+ export declare class TestSpecificationQuery {
13
+ /** `TestSpecification` 전체 — 자원의 참조가 가리킬 대상이다. */
14
+ testSpecificationMaster(after: string | undefined, limit: number | undefined, context: ResolverContext): Promise<TestSpecificationMaster>;
15
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestSpecificationQuery = exports.TestSpecificationMaster = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const master_page_query_1 = require("../master-page-query");
8
+ const test_spec_master_1 = require("./test-spec-master");
9
+ const test_specification_1 = require("./test-specification");
10
+ const test_spec_effective_list_1 = require("./test-spec-effective-list");
11
+ let TestSpecificationMaster = class TestSpecificationMaster {
12
+ };
13
+ exports.TestSpecificationMaster = TestSpecificationMaster;
14
+ tslib_1.__decorate([
15
+ (0, type_graphql_1.Field)(type => String, { description: 'TestSpecification[] as JSON text' }),
16
+ tslib_1.__metadata("design:type", String)
17
+ ], TestSpecificationMaster.prototype, "testSpecifications", void 0);
18
+ tslib_1.__decorate([
19
+ (0, type_graphql_1.Field)({ description: 'true when more rows remain — keep pulling with next as after' }),
20
+ tslib_1.__metadata("design:type", Boolean)
21
+ ], TestSpecificationMaster.prototype, "hasMore", void 0);
22
+ tslib_1.__decorate([
23
+ (0, type_graphql_1.Field)(type => String, { nullable: true, description: 'cursor for the next page — the last name in this page' }),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], TestSpecificationMaster.prototype, "next", void 0);
26
+ exports.TestSpecificationMaster = TestSpecificationMaster = tslib_1.__decorate([
27
+ (0, type_graphql_1.ObjectType)({ description: 'Test specifications as the twin receives them' })
28
+ ], TestSpecificationMaster);
29
+ let TestSpecificationQuery = class TestSpecificationQuery {
30
+ /** `TestSpecification` 전체 — 자원의 참조가 가리킬 대상이다. */
31
+ async testSpecificationMaster(after, limit, context) {
32
+ const { domain } = context.state;
33
+ const request = { after, limit };
34
+ const page = await (0, master_page_query_1.pullPage)(test_specification_1.TestSpecification, domain, request);
35
+ /* 통째로 달라고 했는데 한도를 넘으면 **자르지 않고 거절한다**(§`master-page`). */
36
+ (0, master_page_query_1.refuseIfTooLarge)('검사 명세', request, page);
37
+ const manager = (0, shell_1.getRepository)(test_specification_1.TestSpecification).manager;
38
+ const effective = page.rows.length ? (await (0, test_spec_effective_list_1.listEffectiveTestSpecifications)(manager, domain, {
39
+ filters: [{ name: 'id', operator: 'in', value: page.rows.map(row => row.id) }], sortings: [{ name: 'name', desc: false }]
40
+ })).items.filter(row => row.effectiveStart != null) : [];
41
+ return {
42
+ testSpecifications: JSON.stringify((0, test_spec_master_1.testSpecificationMaster)(effective).testSpecifications),
43
+ hasMore: page.hasMore,
44
+ ...(page.next ? { next: page.next } : {})
45
+ };
46
+ }
47
+ };
48
+ exports.TestSpecificationQuery = TestSpecificationQuery;
49
+ tslib_1.__decorate([
50
+ (0, type_graphql_1.Query)(returns => TestSpecificationMaster, { description: 'Test specifications for the twin to pull' }),
51
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('after', { nullable: true, description: 'resume after this name — the previous page\'s next' })),
52
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('limit', type => type_graphql_1.Int, { nullable: true, description: 'rows per page — omit only when the axis is small enough to pull whole' })),
53
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
54
+ tslib_1.__metadata("design:type", Function),
55
+ tslib_1.__metadata("design:paramtypes", [String, Number, Object]),
56
+ tslib_1.__metadata("design:returntype", Promise)
57
+ ], TestSpecificationQuery.prototype, "testSpecificationMaster", null);
58
+ exports.TestSpecificationQuery = TestSpecificationQuery = tslib_1.__decorate([
59
+ (0, type_graphql_1.Resolver)(test_specification_1.TestSpecification)
60
+ ], TestSpecificationQuery);
61
+ //# sourceMappingURL=test-spec-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-spec-query.js","sourceRoot":"","sources":["../../../server/service/test-spec/test-spec-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Field, Int, ObjectType, Query, Resolver } from 'type-graphql'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { pullPage, refuseIfTooLarge } from '../master-page-query'\n\nimport { testSpecificationMaster as buildTestSpecificationMaster } from './test-spec-master'\nimport { TestSpecification } from './test-specification'\nimport { listEffectiveTestSpecifications } from './test-spec-effective-list'\n\n@ObjectType({ description: 'Test specifications as the twin receives them' })\nexport class TestSpecificationMaster {\n @Field(type => String, { description: 'TestSpecification[] as JSON text' })\n testSpecifications: string\n\n /**\n * 더 있나 — **이 값을 안 보고 쓰면 조용히 잘린 마스터로 트윈을 세우게 된다.**\n *\n * 거짓이 될 때까지 `next` 를 `after` 로 넘겨 이어 받는다.\n */\n @Field({ description: 'true when more rows remain — keep pulling with next as after' })\n hasMore: boolean\n\n /** 이어 받을 자리. 더 없으면 없다. */\n @Field(type => String, { nullable: true, description: 'cursor for the next page — the last name in this page' })\n next?: string\n\n}\n\n@Resolver(TestSpecification)\nexport class TestSpecificationQuery {\n /** `TestSpecification` 전체 — 자원의 참조가 가리킬 대상이다. */\n @Query(returns => TestSpecificationMaster, { description: 'Test specifications for the twin to pull' })\n async testSpecificationMaster(\n @Arg('after', { nullable: true, description: 'resume after this name — the previous page\\'s next' }) after: string | undefined,\n @Arg('limit', type => Int, { nullable: true, description: 'rows per page — omit only when the axis is small enough to pull whole' }) limit: number | undefined,\n @Ctx() context: ResolverContext\n ): Promise<TestSpecificationMaster> {\n const { domain } = context.state\n\n const request = { after, limit }\n const page = await pullPage<TestSpecification>(TestSpecification, domain, request)\n\n /* 통째로 달라고 했는데 한도를 넘으면 **자르지 않고 거절한다**(§`master-page`). */\n refuseIfTooLarge('검사 명세', request, page)\n\n const manager = getRepository(TestSpecification).manager\n const effective = page.rows.length ? (await listEffectiveTestSpecifications(manager, domain, {\n filters: [{ name: 'id', operator: 'in', value: page.rows.map(row => row.id) }], sortings: [{ name: 'name', desc: false }]\n })).items.filter(row => row.effectiveStart != null) : []\n return {\n testSpecifications: JSON.stringify(buildTestSpecificationMaster(effective).testSpecifications),\n hasMore: page.hasMore,\n ...(page.next ? { next: page.next } : {})\n }\n }\n}\n"]}
@@ -0,0 +1,59 @@
1
+ import { TestSpecification } from './test-specification';
2
+ import { TestSpecificationDraftContent } from './test-spec-revision-service';
3
+ export declare class TestSpecificationRevisionResolver {
4
+ publishTestSpecificationDraft(revisionId: string, editGeneration: number, context: ResolverContext): Promise<import("./test-spec-revision").TestSpecificationPlan>;
5
+ testSpecificationRevisions(specId: string, context: ResolverContext): Promise<{
6
+ specId: string;
7
+ name: string;
8
+ generation: number;
9
+ at: string;
10
+ schedule: {
11
+ state: string;
12
+ id: string;
13
+ domain: import("@things-factory/shell").Domain;
14
+ domainId: string;
15
+ spec: TestSpecification;
16
+ specId: string;
17
+ plan: import("./test-spec-revision").TestSpecificationPlan;
18
+ planId: string;
19
+ revision: import("./test-spec-revision").TestSpecificationRevision;
20
+ revisionId: string;
21
+ validFrom: Date;
22
+ validTo: Date | null;
23
+ }[];
24
+ revisions: {
25
+ state: string;
26
+ releaseKind: import("..").ReleaseKind;
27
+ revisionNumber: number;
28
+ policy: import("..").MasterChangePolicy;
29
+ policyId: string;
30
+ id: string;
31
+ domain: import("@things-factory/shell").Domain;
32
+ domainId: string;
33
+ spec: TestSpecification;
34
+ specId: string;
35
+ baseRevision: import("./test-spec-revision").TestSpecificationRevision | null;
36
+ baseRevisionId: string | null;
37
+ baseGeneration: number;
38
+ editGeneration: number;
39
+ version: string;
40
+ description: string | null;
41
+ criteria: import("@operato/ops-contract").TestSpecificationCriterion[];
42
+ effectiveFrom: Date;
43
+ reason: string;
44
+ creator: import("@things-factory/auth-base").User | null;
45
+ creatorId: string | null;
46
+ createdAt: Date;
47
+ frozenAt: Date | null;
48
+ contentHash: string | null;
49
+ activityInstanceId: string | null;
50
+ }[];
51
+ }>;
52
+ createTestSpecificationDraft(content: TestSpecificationDraftContent, specId: string, name: string, baseRevisionId: string, context: ResolverContext): Promise<import("./test-spec-revision").TestSpecificationRevision>;
53
+ editTestSpecificationDraft(revisionId: string, editGeneration: number, content: TestSpecificationDraftContent, context: ResolverContext): Promise<import("./test-spec-revision").TestSpecificationRevision>;
54
+ /** 비규제 사업장의 저장 한 번 — 초안과 발행이 한 트랜잭션이다. 승인제면 거절되고 아무것도 안 남는다. */
55
+ saveAndPublishTestSpecification(content: TestSpecificationDraftContent, specId: string, name: string, baseRevisionId: string, revisionId: string, editGeneration: number, context: ResolverContext): Promise<{
56
+ revision: import("./test-spec-revision").TestSpecificationRevision;
57
+ plan: import("./test-spec-revision").TestSpecificationPlan;
58
+ }>;
59
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestSpecificationRevisionResolver = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const test_specification_1 = require("./test-specification");
8
+ const test_spec_revision_service_1 = require("./test-spec-revision-service");
9
+ let TestSpecificationRevisionResolver = class TestSpecificationRevisionResolver {
10
+ async publishTestSpecificationDraft(revisionId, editGeneration, context) {
11
+ const { tx, domain, user } = context.state;
12
+ return (0, test_spec_revision_service_1.publishUnregulatedTestSpecification)(tx, domain.id, user.id, revisionId, editGeneration);
13
+ }
14
+ async testSpecificationRevisions(specId, context) {
15
+ return (0, test_spec_revision_service_1.testSpecificationRevisionOverview)((0, shell_1.getRepository)(test_specification_1.TestSpecification).manager, context.state.domain.id, specId);
16
+ }
17
+ async createTestSpecificationDraft(content, specId, name, baseRevisionId, context) {
18
+ const { tx, domain, user } = context.state;
19
+ return (0, test_spec_revision_service_1.createTestSpecificationDraft)(tx, domain.id, user.id, { specId, name, baseRevisionId, content });
20
+ }
21
+ async editTestSpecificationDraft(revisionId, editGeneration, content, context) {
22
+ const { tx, domain, user } = context.state;
23
+ return (0, test_spec_revision_service_1.editTestSpecificationDraft)(tx, domain.id, user.id, revisionId, editGeneration, content);
24
+ }
25
+ /** 비규제 사업장의 저장 한 번 — 초안과 발행이 한 트랜잭션이다. 승인제면 거절되고 아무것도 안 남는다. */
26
+ async saveAndPublishTestSpecification(content, specId, name, baseRevisionId, revisionId, editGeneration, context) {
27
+ const { tx, domain, user } = context.state;
28
+ return (0, test_spec_revision_service_1.saveAndPublishTestSpecification)(tx, domain.id, user.id, { specId, name, baseRevisionId, content, revisionId, editGeneration });
29
+ }
30
+ };
31
+ exports.TestSpecificationRevisionResolver = TestSpecificationRevisionResolver;
32
+ tslib_1.__decorate([
33
+ (0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "mutation", domainOwnerGranted: true)'),
34
+ (0, type_graphql_1.Directive)('@transaction'),
35
+ (0, type_graphql_1.Mutation)(() => shell_1.ScalarObject),
36
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('revisionId')),
37
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('editGeneration', () => type_graphql_1.Int)),
38
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
39
+ tslib_1.__metadata("design:type", Function),
40
+ tslib_1.__metadata("design:paramtypes", [String, Number, Object]),
41
+ tslib_1.__metadata("design:returntype", Promise)
42
+ ], TestSpecificationRevisionResolver.prototype, "publishTestSpecificationDraft", null);
43
+ tslib_1.__decorate([
44
+ (0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "query", domainOwnerGranted: true)'),
45
+ (0, type_graphql_1.Query)(() => shell_1.ScalarObject),
46
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('specId')),
47
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
48
+ tslib_1.__metadata("design:type", Function),
49
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
50
+ tslib_1.__metadata("design:returntype", Promise)
51
+ ], TestSpecificationRevisionResolver.prototype, "testSpecificationRevisions", null);
52
+ tslib_1.__decorate([
53
+ (0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "mutation", domainOwnerGranted: true)'),
54
+ (0, type_graphql_1.Directive)('@transaction'),
55
+ (0, type_graphql_1.Mutation)(() => shell_1.ScalarObject),
56
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('content', () => shell_1.ScalarObject)),
57
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('specId', () => String, { nullable: true })),
58
+ tslib_1.__param(2, (0, type_graphql_1.Arg)('name', () => String, { nullable: true })),
59
+ tslib_1.__param(3, (0, type_graphql_1.Arg)('baseRevisionId', () => String, { nullable: true })),
60
+ tslib_1.__param(4, (0, type_graphql_1.Ctx)()),
61
+ tslib_1.__metadata("design:type", Function),
62
+ tslib_1.__metadata("design:paramtypes", [Object, String, String, String, Object]),
63
+ tslib_1.__metadata("design:returntype", Promise)
64
+ ], TestSpecificationRevisionResolver.prototype, "createTestSpecificationDraft", null);
65
+ tslib_1.__decorate([
66
+ (0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "mutation", domainOwnerGranted: true)'),
67
+ (0, type_graphql_1.Directive)('@transaction'),
68
+ (0, type_graphql_1.Mutation)(() => shell_1.ScalarObject),
69
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('revisionId')),
70
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('editGeneration', () => type_graphql_1.Int)),
71
+ tslib_1.__param(2, (0, type_graphql_1.Arg)('content', () => shell_1.ScalarObject)),
72
+ tslib_1.__param(3, (0, type_graphql_1.Ctx)()),
73
+ tslib_1.__metadata("design:type", Function),
74
+ tslib_1.__metadata("design:paramtypes", [String, Number, Object, Object]),
75
+ tslib_1.__metadata("design:returntype", Promise)
76
+ ], TestSpecificationRevisionResolver.prototype, "editTestSpecificationDraft", null);
77
+ tslib_1.__decorate([
78
+ (0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "mutation", domainOwnerGranted: true)'),
79
+ (0, type_graphql_1.Directive)('@transaction'),
80
+ (0, type_graphql_1.Mutation)(() => shell_1.ScalarObject),
81
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('content', () => shell_1.ScalarObject)),
82
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('specId', () => String, { nullable: true })),
83
+ tslib_1.__param(2, (0, type_graphql_1.Arg)('name', () => String, { nullable: true })),
84
+ tslib_1.__param(3, (0, type_graphql_1.Arg)('baseRevisionId', () => String, { nullable: true })),
85
+ tslib_1.__param(4, (0, type_graphql_1.Arg)('revisionId', () => String, { nullable: true })),
86
+ tslib_1.__param(5, (0, type_graphql_1.Arg)('editGeneration', () => type_graphql_1.Int, { nullable: true })),
87
+ tslib_1.__param(6, (0, type_graphql_1.Ctx)()),
88
+ tslib_1.__metadata("design:type", Function),
89
+ tslib_1.__metadata("design:paramtypes", [Object, String, String, String, String, Number, Object]),
90
+ tslib_1.__metadata("design:returntype", Promise)
91
+ ], TestSpecificationRevisionResolver.prototype, "saveAndPublishTestSpecification", null);
92
+ exports.TestSpecificationRevisionResolver = TestSpecificationRevisionResolver = tslib_1.__decorate([
93
+ (0, type_graphql_1.Resolver)(),
94
+ (0, type_graphql_1.UseMiddleware)(shell_1.SpeakRefusals)
95
+ ], TestSpecificationRevisionResolver);
96
+ //# sourceMappingURL=test-spec-revision-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-spec-revision-resolver.js","sourceRoot":"","sources":["../../../server/service/test-spec/test-spec-revision-resolver.ts"],"names":[],"mappings":";;;;AAAA,+CAAiG;AACjG,iDAAkF;AAClF,6DAAwD;AACxD,6EAA+O;AAIxO,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAItC,AAAN,KAAK,CAAC,6BAA6B,CAAoB,UAAkB,EAAoC,cAAsB,EAAS,OAAwB;QAClK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,OAAO,IAAA,gEAAmC,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;IAChG,CAAC;IAGK,AAAN,KAAK,CAAC,0BAA0B,CAAgB,MAAc,EAAS,OAAwB;QAC7F,OAAO,IAAA,8DAAiC,EAAC,IAAA,qBAAa,EAAC,sCAAiB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACrH,CAAC;IAKK,AAAN,KAAK,CAAC,4BAA4B,CACI,OAAsC,EACzB,MAAc,EAChB,IAAY,EACF,cAAsB,EACxE,OAAwB;QAE/B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,OAAO,IAAA,yDAA4B,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAA;IACxG,CAAC;IAKK,AAAN,KAAK,CAAC,0BAA0B,CACX,UAAkB,EACH,cAAsB,EACpB,OAAsC,EACnE,OAAwB;QAE/B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,OAAO,IAAA,uDAA0B,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IAChG,CAAC;IAED,gEAAgE;IAI1D,AAAN,KAAK,CAAC,+BAA+B,CACC,OAAsC,EACzB,MAAc,EAChB,IAAY,EACF,cAAsB,EAC1B,UAAkB,EACjB,cAAsB,EACrE,OAAwB;QAE/B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,OAAO,IAAA,4DAA+B,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAA;IACvI,CAAC;CACF,CAAA;AAzDY,8EAAiC;AAItC;IAHL,IAAA,wBAAS,EAAC,qFAAqF,CAAC;IAChG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAY,CAAC;IACQ,mBAAA,IAAA,kBAAG,EAAC,YAAY,CAAC,CAAA;IAAsB,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAG,CAAC,CAAA;IAA0B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;sFAG1I;AAGK;IAFL,IAAA,wBAAS,EAAC,kFAAkF,CAAC;IAC7F,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,oBAAY,CAAC;IACQ,mBAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;IAAkB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mFAErE;AAKK;IAHL,IAAA,wBAAS,EAAC,qFAAqF,CAAC;IAChG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAY,CAAC;IAE1B,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,oBAAY,CAAC,CAAA;IAClC,mBAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,mBAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qFAIP;AAKK;IAHL,IAAA,wBAAS,EAAC,qFAAqF,CAAC;IAChG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAY,CAAC;IAE1B,mBAAA,IAAA,kBAAG,EAAC,YAAY,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAG,CAAC,CAAA;IAChC,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,oBAAY,CAAC,CAAA;IAClC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mFAIP;AAMK;IAHL,IAAA,wBAAS,EAAC,qFAAqF,CAAC;IAChG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAY,CAAC;IAE1B,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,oBAAY,CAAC,CAAA;IAClC,mBAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,mBAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;wFAIP;4CAxDU,iCAAiC;IAF7C,IAAA,uBAAQ,GAAE;IACV,IAAA,4BAAa,EAAC,qBAAa,CAAC;GAChB,iCAAiC,CAyD7C","sourcesContent":["import { Arg, Ctx, Directive, Int, Mutation, Query, Resolver, UseMiddleware } from 'type-graphql'\nimport { getRepository, ScalarObject, SpeakRefusals } from '@things-factory/shell'\nimport { TestSpecification } from './test-specification'\nimport { saveAndPublishTestSpecification, createTestSpecificationDraft, editTestSpecificationDraft, publishUnregulatedTestSpecification, testSpecificationRevisionOverview, TestSpecificationDraftContent } from './test-spec-revision-service'\n\n@Resolver()\n@UseMiddleware(SpeakRefusals)\nexport class TestSpecificationRevisionResolver {\n @Directive('@privilege(category: \"ops-master\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(() => ScalarObject)\n async publishTestSpecificationDraft(@Arg('revisionId') revisionId: string, @Arg('editGeneration', () => Int) editGeneration: number, @Ctx() context: ResolverContext) {\n const { tx, domain, user } = context.state\n return publishUnregulatedTestSpecification(tx, domain.id, user.id, revisionId, editGeneration)\n }\n @Directive('@privilege(category: \"ops-master\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(() => ScalarObject)\n async testSpecificationRevisions(@Arg('specId') specId: string, @Ctx() context: ResolverContext) {\n return testSpecificationRevisionOverview(getRepository(TestSpecification).manager, context.state.domain.id, specId)\n }\n\n @Directive('@privilege(category: \"ops-master\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(() => ScalarObject)\n async createTestSpecificationDraft(\n @Arg('content', () => ScalarObject) content: TestSpecificationDraftContent,\n @Arg('specId', () => String, { nullable: true }) specId: string,\n @Arg('name', () => String, { nullable: true }) name: string,\n @Arg('baseRevisionId', () => String, { nullable: true }) baseRevisionId: string,\n @Ctx() context: ResolverContext\n ) {\n const { tx, domain, user } = context.state\n return createTestSpecificationDraft(tx, domain.id, user.id, { specId, name, baseRevisionId, content })\n }\n\n @Directive('@privilege(category: \"ops-master\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(() => ScalarObject)\n async editTestSpecificationDraft(\n @Arg('revisionId') revisionId: string,\n @Arg('editGeneration', () => Int) editGeneration: number,\n @Arg('content', () => ScalarObject) content: TestSpecificationDraftContent,\n @Ctx() context: ResolverContext\n ) {\n const { tx, domain, user } = context.state\n return editTestSpecificationDraft(tx, domain.id, user.id, revisionId, editGeneration, content)\n }\n\n /** 비규제 사업장의 저장 한 번 — 초안과 발행이 한 트랜잭션이다. 승인제면 거절되고 아무것도 안 남는다. */\n @Directive('@privilege(category: \"ops-master\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(() => ScalarObject)\n async saveAndPublishTestSpecification(\n @Arg('content', () => ScalarObject) content: TestSpecificationDraftContent,\n @Arg('specId', () => String, { nullable: true }) specId: string,\n @Arg('name', () => String, { nullable: true }) name: string,\n @Arg('baseRevisionId', () => String, { nullable: true }) baseRevisionId: string,\n @Arg('revisionId', () => String, { nullable: true }) revisionId: string,\n @Arg('editGeneration', () => Int, { nullable: true }) editGeneration: number,\n @Ctx() context: ResolverContext\n ) {\n const { tx, domain, user } = context.state\n return saveAndPublishTestSpecification(tx, domain.id, user.id, { specId, name, baseRevisionId, content, revisionId, editGeneration })\n }\n}\n"]}
@@ -0,0 +1,178 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { Refusal } from '@things-factory/shell';
3
+ import { TestSpecification } from './test-specification';
4
+ import { TestSpecificationBasis, TestSpecificationPlan, TestSpecificationRevision, TestSpecificationSegment } from './test-spec-revision';
5
+ export declare class TestSpecificationRefusal extends Refusal {
6
+ constructor(code: string, detail?: string);
7
+ }
8
+ export declare function testSpecificationSubmissionHash(revision: TestSpecificationRevision): string;
9
+ /** Display values are a checked projection of the frozen revision, never a second editable source. */
10
+ export declare function testSpecificationApprovalInput(manager: EntityManager, domainId: string, revisionId: string): Promise<{
11
+ headline: string;
12
+ reason: string;
13
+ effectiveFrom: string;
14
+ before: {
15
+ revisionNumber: number;
16
+ detail: {
17
+ validFrom?: string;
18
+ validTo?: string;
19
+ releaseKind?: "policy" | "approved" | "baseline";
20
+ revisionId: string;
21
+ createdAt: string;
22
+ frozenAt: string;
23
+ effectiveFrom: string;
24
+ reason: string;
25
+ };
26
+ version: string;
27
+ description: string;
28
+ criteria: import("@operato/ops-contract").TestSpecificationCriterion[];
29
+ };
30
+ after: {
31
+ revisionNumber: number;
32
+ detail: {
33
+ validFrom?: string;
34
+ validTo?: string;
35
+ releaseKind?: "policy" | "approved" | "baseline";
36
+ revisionId: string;
37
+ createdAt: string;
38
+ frozenAt: string;
39
+ effectiveFrom: string;
40
+ reason: string;
41
+ };
42
+ version: string;
43
+ description: string;
44
+ criteria: import("@operato/ops-contract").TestSpecificationCriterion[];
45
+ };
46
+ revision: {
47
+ revisionId: string;
48
+ hash: string;
49
+ specId: string;
50
+ baseGeneration: number;
51
+ };
52
+ }>;
53
+ export declare function assertTestSpecificationApprovalInput(manager: EntityManager, domainId: string, input: Record<string, unknown>): Promise<void>;
54
+ export interface TestSpecificationDraftContent {
55
+ version: string;
56
+ description?: string;
57
+ criteria: unknown;
58
+ effectiveFrom: Date | string;
59
+ reason: string;
60
+ }
61
+ export declare function createTestSpecificationDraft(manager: EntityManager, domainId: string, creatorId: string, asked: {
62
+ specId?: string;
63
+ name?: string;
64
+ baseRevisionId?: string;
65
+ content: TestSpecificationDraftContent;
66
+ }): Promise<TestSpecificationRevision>;
67
+ export declare function editTestSpecificationDraft(manager: EntityManager, domainId: string, actorId: string, revisionId: string, expectedEditGeneration: number, input: TestSpecificationDraftContent): Promise<TestSpecificationRevision>;
68
+ /** Product calls this in the same transaction as issuing its worklist approval. */
69
+ export declare function freezeTestSpecificationDraft(manager: EntityManager, domainId: string, actorId: string, revisionId: string, expectedEditGeneration: number): Promise<TestSpecificationRevision>;
70
+ export declare function bindTestSpecificationApproval(manager: EntityManager, domainId: string, revisionId: string, activityInstanceId: string): Promise<void>;
71
+ /** Internal completion callback only. Never expose this as an approved=true mutation. */
72
+ export declare function publishTestSpecificationRevision(manager: EntityManager, domainId: string, revisionId: string, decision: {
73
+ activityInstanceId: string;
74
+ approverId: string;
75
+ submissionHash: string;
76
+ }): Promise<TestSpecificationPlan>;
77
+ export declare function publishUnregulatedTestSpecification(manager: EntityManager, domainId: string, actorId: string, revisionId: string, editGeneration: number): Promise<TestSpecificationPlan>;
78
+ export declare function resolveTestSpecification(manager: EntityManager, domainId: string, specId: string, businessTime: Date | string, knownAt?: Date | string): Promise<{
79
+ revision: TestSpecificationRevision;
80
+ plan: TestSpecificationPlan;
81
+ segment: TestSpecificationSegment;
82
+ }>;
83
+ /**
84
+ * **개정본이 하나도 없는 명세**마다 지금 서 있는 행을 첫 개정본으로 적는다 — 기준선(2026-09-24).
85
+ *
86
+ * 개정 체계보다 먼저 있던 행은 한 번도 개정본을 가진 적이 없어서, 새 검사가 고를 것이 없었다. 기준선은
87
+ * 변경이 아니라 **지금 이 값으로 돌고 있다는 기록**이라 결재를 안 탄다. 대신 자기 성격을 이름으로 댄다 —
88
+ * 발행 종류 `baseline`, 결재자·작성자·발행자는 비고, 세운 시각과 버전(`edition`)이 사유에 남는다.
89
+ *
90
+ * - 값은 행에 있는 그대로다. 고치지 않는다.
91
+ * - 유효 시작은 **세운 시각**이다(`at` — 서버가 정한다). 앞으로 소급하지 않는다. 그 앞은 모른다.
92
+ * - 행에 끝(`effectiveEnd`)이 적혀 있으면 그때 끝난다. 이미 지났으면 개정본만 서고 유효 구간은 없다.
93
+ * - 개정본이 하나라도 있는 명세는 손대지 않는다. 찾는 것은 질의 하나다.
94
+ * - 둘이 동시에 돌아도 하나만 선다 — 개정 번호 유니크와 루트의 세대 조건부 갱신이 막는다.
95
+ */
96
+ export declare function standTestSpecificationBaselines(manager: EntityManager, domainId: string, at: Date, edition: string): Promise<{
97
+ stood: number;
98
+ unreadable: {
99
+ name: string;
100
+ problem: string;
101
+ }[];
102
+ }>;
103
+ /** Replay reads verify the captured digest too, not only the currently effective schedule. */
104
+ export declare function testSpecificationRevisionForBasis(manager: EntityManager, domainId: string, basis: TestSpecificationBasis): Promise<TestSpecificationRevision>;
105
+ /** Must run inside the transaction that writes the inspection result. */
106
+ export declare function captureTestSpecificationBasis(manager: EntityManager, domainId: string, specId: string, recordKey: string, businessTime: Date | string): Promise<TestSpecificationBasis>;
107
+ export declare function testSpecificationRevisionOverview(manager: EntityManager, domainId: string, specId: string, at?: Date): Promise<{
108
+ specId: string;
109
+ name: string;
110
+ generation: number;
111
+ at: string;
112
+ schedule: {
113
+ state: string;
114
+ id: string;
115
+ domain: import("@things-factory/shell").Domain;
116
+ domainId: string;
117
+ spec: TestSpecification;
118
+ specId: string;
119
+ plan: TestSpecificationPlan;
120
+ planId: string;
121
+ revision: TestSpecificationRevision;
122
+ revisionId: string;
123
+ validFrom: Date;
124
+ validTo: Date | null;
125
+ }[];
126
+ revisions: {
127
+ state: string;
128
+ releaseKind: import("../master-change-approval/approval-input").ReleaseKind;
129
+ revisionNumber: number;
130
+ policy: import("../master-change-policy").MasterChangePolicy;
131
+ policyId: string;
132
+ id: string;
133
+ domain: import("@things-factory/shell").Domain;
134
+ domainId: string;
135
+ spec: TestSpecification;
136
+ specId: string;
137
+ baseRevision: TestSpecificationRevision | null;
138
+ baseRevisionId: string | null;
139
+ baseGeneration: number;
140
+ editGeneration: number;
141
+ version: string;
142
+ description: string | null;
143
+ criteria: import("@operato/ops-contract").TestSpecificationCriterion[];
144
+ effectiveFrom: Date;
145
+ reason: string;
146
+ creator: import("@things-factory/auth-base").User | null;
147
+ creatorId: string | null;
148
+ createdAt: Date;
149
+ frozenAt: Date | null;
150
+ contentHash: string | null;
151
+ activityInstanceId: string | null;
152
+ }[];
153
+ }>;
154
+ /** Read-time projection, never a clock-driven rewrite of the identity row. */
155
+ export declare function effectiveTestSpecification(manager: EntityManager, domainId: string, spec: TestSpecification, at?: Date): Promise<TestSpecification & {
156
+ version: string;
157
+ description: string;
158
+ criteria: import("@operato/ops-contract").TestSpecificationCriterion[];
159
+ effectiveStart: Date;
160
+ effectiveEnd: Date;
161
+ }>;
162
+ /**
163
+ * **비규제 사업장의 「저장」 한 번** — 초안을 만들고 바로 발행한다, 한 트랜잭션에서(ADR-0086 09-22 보탬).
164
+ * 비규제면 사람이 누를 것은 저장 하나다. 두 걸음(초안 저장 → 발행)이 구조상 필연인 것처럼 보이게 하지 않는다.
165
+ * 이 축이 승인제면 발행이 `MASTER_APPROVAL_REQUIRED` 로 거절되고, 같은 트랜잭션이라 초안도 함께 물러난다 —
166
+ * 반쯤 저장된 것이 남지 않는다. 개정본 · 적용계획 · 구간은 두 걸음 때와 똑같이 선다.
167
+ */
168
+ export declare function saveAndPublishTestSpecification(manager: EntityManager, domainId: string, actorId: string, asked: {
169
+ specId?: string;
170
+ name?: string;
171
+ baseRevisionId?: string;
172
+ content: TestSpecificationDraftContent;
173
+ revisionId?: string;
174
+ editGeneration?: number;
175
+ }): Promise<{
176
+ revision: TestSpecificationRevision;
177
+ plan: TestSpecificationPlan;
178
+ }>;