@things-factory/worklist 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 (724) hide show
  1. package/dist-client/activity-cells.d.ts +21 -0
  2. package/dist-client/activity-cells.js +117 -0
  3. package/dist-client/activity-cells.js.map +1 -0
  4. package/dist-client/activity-state-counts.d.ts +6 -0
  5. package/dist-client/activity-state-counts.js +23 -0
  6. package/dist-client/activity-state-counts.js.map +1 -0
  7. package/dist-client/activity-summary-generator.d.ts +2 -0
  8. package/dist-client/activity-summary-generator.js +155 -0
  9. package/dist-client/activity-summary-generator.js.map +1 -0
  10. package/dist-client/approval-progress.d.ts +27 -0
  11. package/dist-client/approval-progress.js +42 -0
  12. package/dist-client/approval-progress.js.map +1 -0
  13. package/dist-client/bootstrap.d.ts +5 -0
  14. package/dist-client/bootstrap.js +63 -0
  15. package/dist-client/bootstrap.js.map +1 -0
  16. package/dist-client/chip-counts.d.ts +7 -0
  17. package/dist-client/chip-counts.js +11 -0
  18. package/dist-client/chip-counts.js.map +1 -0
  19. package/dist-client/chip-filters.d.ts +60 -0
  20. package/dist-client/chip-filters.js +102 -0
  21. package/dist-client/chip-filters.js.map +1 -0
  22. package/dist-client/components/activity-/bowner-view.d.ts +1 -0
  23. package/dist-client/components/activity-/bowner-view.js +104 -0
  24. package/dist-client/components/activity-/bowner-view.js.map +1 -0
  25. package/dist-client/components/activity-approval-ribon.d.ts +31 -0
  26. package/dist-client/components/activity-approval-ribon.js +103 -0
  27. package/dist-client/components/activity-approval-ribon.js.map +1 -0
  28. package/dist-client/components/activity-fields.d.ts +77 -0
  29. package/dist-client/components/activity-fields.js +424 -0
  30. package/dist-client/components/activity-fields.js.map +1 -0
  31. package/dist-client/components/activity-instance-preview.d.ts +2 -0
  32. package/dist-client/components/activity-instance-preview.js +177 -0
  33. package/dist-client/components/activity-instance-preview.js.map +1 -0
  34. package/dist-client/components/activity-instance-ribon.d.ts +32 -0
  35. package/dist-client/components/activity-instance-ribon.js +91 -0
  36. package/dist-client/components/activity-instance-ribon.js.map +1 -0
  37. package/dist-client/components/activity-intro-view.d.ts +1 -0
  38. package/dist-client/components/activity-intro-view.js +104 -0
  39. package/dist-client/components/activity-intro-view.js.map +1 -0
  40. package/dist-client/components/activity-reporter-view.d.ts +1 -0
  41. package/dist-client/components/activity-reporter-view.js +103 -0
  42. package/dist-client/components/activity-reporter-view.js.map +1 -0
  43. package/dist-client/components/activity-starter-form.d.ts +19 -0
  44. package/dist-client/components/activity-starter-form.js +264 -0
  45. package/dist-client/components/activity-starter-form.js.map +1 -0
  46. package/dist-client/components/activity-thread-ribon.d.ts +38 -0
  47. package/dist-client/components/activity-thread-ribon.js +95 -0
  48. package/dist-client/components/activity-thread-ribon.js.map +1 -0
  49. package/dist-client/components/activity-thread-timeline.d.ts +28 -0
  50. package/dist-client/components/activity-thread-timeline.js +339 -0
  51. package/dist-client/components/activity-thread-timeline.js.map +1 -0
  52. package/dist-client/components/can-pick.d.ts +15 -0
  53. package/dist-client/components/can-pick.js +16 -0
  54. package/dist-client/components/can-pick.js.map +1 -0
  55. package/dist-client/components/decision-content.d.ts +35 -0
  56. package/dist-client/components/decision-content.js +331 -0
  57. package/dist-client/components/decision-content.js.map +1 -0
  58. package/dist-client/components/decision-slots.d.ts +153 -0
  59. package/dist-client/components/decision-slots.js +152 -0
  60. package/dist-client/components/decision-slots.js.map +1 -0
  61. package/dist-client/components/mutation-outcome.d.ts +57 -0
  62. package/dist-client/components/mutation-outcome.js +78 -0
  63. package/dist-client/components/mutation-outcome.js.map +1 -0
  64. package/dist-client/components/say-outcome.d.ts +25 -0
  65. package/dist-client/components/say-outcome.js +51 -0
  66. package/dist-client/components/say-outcome.js.map +1 -0
  67. package/dist-client/components/state-ribon.d.ts +48 -0
  68. package/dist-client/components/state-ribon.js +225 -0
  69. package/dist-client/components/state-ribon.js.map +1 -0
  70. package/dist-client/components/timeline-entries.d.ts +38 -0
  71. package/dist-client/components/timeline-entries.js +62 -0
  72. package/dist-client/components/timeline-entries.js.map +1 -0
  73. package/dist-client/components/work-box-groups.d.ts +25 -0
  74. package/dist-client/components/work-box-groups.js +98 -0
  75. package/dist-client/components/work-box-groups.js.map +1 -0
  76. package/dist-client/due.d.ts +16 -0
  77. package/dist-client/due.js +78 -0
  78. package/dist-client/due.js.map +1 -0
  79. package/dist-client/entity360/person-open-work-section.d.ts +23 -0
  80. package/dist-client/entity360/person-open-work-section.js +79 -0
  81. package/dist-client/entity360/person-open-work-section.js.map +1 -0
  82. package/dist-client/grist-editor/grist-editor-activity-search-key.d.ts +12 -0
  83. package/dist-client/grist-editor/grist-editor-activity-search-key.js +70 -0
  84. package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -0
  85. package/dist-client/grist-editor/grist-renderer-activity-search-key.d.ts +3 -0
  86. package/dist-client/grist-editor/grist-renderer-activity-search-key.js +25 -0
  87. package/dist-client/grist-editor/grist-renderer-activity-search-key.js.map +1 -0
  88. package/dist-client/grist-editor/popup-activity-search-keys-input.d.ts +17 -0
  89. package/dist-client/grist-editor/popup-activity-search-keys-input.js +175 -0
  90. package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -0
  91. package/dist-client/index.d.ts +6 -0
  92. package/dist-client/index.js +7 -0
  93. package/dist-client/index.js.map +1 -0
  94. package/dist-client/my-work-menus.d.ts +90 -0
  95. package/dist-client/my-work-menus.js +20 -0
  96. package/dist-client/my-work-menus.js.map +1 -0
  97. package/dist-client/pages/activity/activity-list-page.d.ts +53 -0
  98. package/dist-client/pages/activity/activity-list-page.js +600 -0
  99. package/dist-client/pages/activity/activity-list-page.js.map +1 -0
  100. package/dist-client/pages/activity/activity-model-item-list.d.ts +24 -0
  101. package/dist-client/pages/activity/activity-model-item-list.js +292 -0
  102. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -0
  103. package/dist-client/pages/activity/activity-page.d.ts +56 -0
  104. package/dist-client/pages/activity/activity-page.js +396 -0
  105. package/dist-client/pages/activity/activity-page.js.map +1 -0
  106. package/dist-client/pages/activity/activity-partial-view.d.ts +13 -0
  107. package/dist-client/pages/activity/activity-partial-view.js +56 -0
  108. package/dist-client/pages/activity/activity-partial-view.js.map +1 -0
  109. package/dist-client/pages/activity/assignee-roles-cell.d.ts +32 -0
  110. package/dist-client/pages/activity/assignee-roles-cell.js +26 -0
  111. package/dist-client/pages/activity/assignee-roles-cell.js.map +1 -0
  112. package/dist-client/pages/activity/starter-list-page.d.ts +31 -0
  113. package/dist-client/pages/activity/starter-list-page.js +172 -0
  114. package/dist-client/pages/activity/starter-list-page.js.map +1 -0
  115. package/dist-client/pages/activity-approval/activity-approval-importer.d.ts +23 -0
  116. package/dist-client/pages/activity-approval/activity-approval-importer.js +94 -0
  117. package/dist-client/pages/activity-approval/activity-approval-importer.js.map +1 -0
  118. package/dist-client/pages/activity-approval/activity-approval-list-page.d.ts +55 -0
  119. package/dist-client/pages/activity-approval/activity-approval-list-page.js +253 -0
  120. package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -0
  121. package/dist-client/pages/activity-approval/activity-approval-page.d.ts +158 -0
  122. package/dist-client/pages/activity-approval/activity-approval-page.js +876 -0
  123. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -0
  124. package/dist-client/pages/activity-approval/approval-gate.d.ts +29 -0
  125. package/dist-client/pages/activity-approval/approval-gate.js +21 -0
  126. package/dist-client/pages/activity-approval/approval-gate.js.map +1 -0
  127. package/dist-client/pages/activity-catalog/activity-catalog-page.d.ts +31 -0
  128. package/dist-client/pages/activity-catalog/activity-catalog-page.js +420 -0
  129. package/dist-client/pages/activity-catalog/activity-catalog-page.js.map +1 -0
  130. package/dist-client/pages/activity-catalog/activity-detail-actions.d.ts +34 -0
  131. package/dist-client/pages/activity-catalog/activity-detail-actions.js +18 -0
  132. package/dist-client/pages/activity-catalog/activity-detail-actions.js.map +1 -0
  133. package/dist-client/pages/activity-catalog/activity-detail-page.d.ts +90 -0
  134. package/dist-client/pages/activity-catalog/activity-detail-page.js +525 -0
  135. package/dist-client/pages/activity-catalog/activity-detail-page.js.map +1 -0
  136. package/dist-client/pages/activity-catalog/activity-guide.d.ts +16 -0
  137. package/dist-client/pages/activity-catalog/activity-guide.js +5 -0
  138. package/dist-client/pages/activity-catalog/activity-guide.js.map +1 -0
  139. package/dist-client/pages/activity-catalog/activity-panels.d.ts +80 -0
  140. package/dist-client/pages/activity-catalog/activity-panels.js +53 -0
  141. package/dist-client/pages/activity-catalog/activity-panels.js.map +1 -0
  142. package/dist-client/pages/activity-catalog/activity-stage.d.ts +31 -0
  143. package/dist-client/pages/activity-catalog/activity-stage.js +44 -0
  144. package/dist-client/pages/activity-catalog/activity-stage.js.map +1 -0
  145. package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +42 -0
  146. package/dist-client/pages/activity-instance/activity-instance-list-page.js +306 -0
  147. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -0
  148. package/dist-client/pages/activity-instance/activity-instance-search-page.d.ts +69 -0
  149. package/dist-client/pages/activity-instance/activity-instance-search-page.js +309 -0
  150. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -0
  151. package/dist-client/pages/activity-instance/activity-instance-start-page.d.ts +54 -0
  152. package/dist-client/pages/activity-instance/activity-instance-start-page.js +557 -0
  153. package/dist-client/pages/activity-instance/activity-instance-start-page.js.map +1 -0
  154. package/dist-client/pages/activity-instance/activity-instance-view.d.ts +36 -0
  155. package/dist-client/pages/activity-instance/activity-instance-view.js +495 -0
  156. package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -0
  157. package/dist-client/pages/activity-instance/discard-offer.d.ts +11 -0
  158. package/dist-client/pages/activity-instance/discard-offer.js +11 -0
  159. package/dist-client/pages/activity-instance/discard-offer.js.map +1 -0
  160. package/dist-client/pages/activity-stats/activity-stats-importer.d.ts +23 -0
  161. package/dist-client/pages/activity-stats/activity-stats-importer.js +94 -0
  162. package/dist-client/pages/activity-stats/activity-stats-importer.js.map +1 -0
  163. package/dist-client/pages/activity-stats/activity-stats-list-page.d.ts +55 -0
  164. package/dist-client/pages/activity-stats/activity-stats-list-page.js +253 -0
  165. package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -0
  166. package/dist-client/pages/activity-store/activity-store-page.d.ts +41 -0
  167. package/dist-client/pages/activity-store/activity-store-page.js +210 -0
  168. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -0
  169. package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +30 -0
  170. package/dist-client/pages/activity-supervisor/reporter-list-page.js +190 -0
  171. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -0
  172. package/dist-client/pages/activity-template/activity-template-importer.d.ts +11 -0
  173. package/dist-client/pages/activity-template/activity-template-importer.js +98 -0
  174. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -0
  175. package/dist-client/pages/activity-template/activity-template-list-page.d.ts +53 -0
  176. package/dist-client/pages/activity-template/activity-template-list-page.js +377 -0
  177. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -0
  178. package/dist-client/pages/activity-template/activity-template-model-item-list.d.ts +1 -0
  179. package/dist-client/pages/activity-template/activity-template-model-item-list.js +41 -0
  180. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -0
  181. package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +11 -0
  182. package/dist-client/pages/activity-thread/activity-thread-importer.js +96 -0
  183. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -0
  184. package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +52 -0
  185. package/dist-client/pages/activity-thread/activity-thread-list-page.js +248 -0
  186. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -0
  187. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +91 -0
  188. package/dist-client/pages/activity-thread/activity-thread-page.js +594 -0
  189. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -0
  190. package/dist-client/pages/activity-thread/activity-thread-view-page.d.ts +56 -0
  191. package/dist-client/pages/activity-thread/activity-thread-view-page.js +386 -0
  192. package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -0
  193. package/dist-client/pages/activity-thread/activity-thread-view.d.ts +31 -0
  194. package/dist-client/pages/activity-thread/activity-thread-view.js +134 -0
  195. package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -0
  196. package/dist-client/pages/activity-thread/thread-sections.d.ts +34 -0
  197. package/dist-client/pages/activity-thread/thread-sections.js +36 -0
  198. package/dist-client/pages/activity-thread/thread-sections.js.map +1 -0
  199. package/dist-client/pages/approval-progress/approval-progress-page.d.ts +46 -0
  200. package/dist-client/pages/approval-progress/approval-progress-page.js +294 -0
  201. package/dist-client/pages/approval-progress/approval-progress-page.js.map +1 -0
  202. package/dist-client/pages/installable-activity/installable-activity-list-page.d.ts +64 -0
  203. package/dist-client/pages/installable-activity/installable-activity-list-page.js +424 -0
  204. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -0
  205. package/dist-client/pages/installable-activity/installable-activity-model-item-list.d.ts +1 -0
  206. package/dist-client/pages/installable-activity/installable-activity-model-item-list.js +20 -0
  207. package/dist-client/pages/installable-activity/installable-activity-model-item-list.js.map +1 -0
  208. package/dist-client/pages/todo/approval-done-list-page.d.ts +42 -0
  209. package/dist-client/pages/todo/approval-done-list-page.js +365 -0
  210. package/dist-client/pages/todo/approval-done-list-page.js.map +1 -0
  211. package/dist-client/pages/todo/approval-pending-list-page.d.ts +79 -0
  212. package/dist-client/pages/todo/approval-pending-list-page.js +683 -0
  213. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -0
  214. package/dist-client/pages/todo/done-list-calendar-page.d.ts +47 -0
  215. package/dist-client/pages/todo/done-list-calendar-page.js +379 -0
  216. package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -0
  217. package/dist-client/pages/todo/draft-list-page.d.ts +64 -0
  218. package/dist-client/pages/todo/draft-list-page.js +404 -0
  219. package/dist-client/pages/todo/draft-list-page.js.map +1 -0
  220. package/dist-client/pages/todo/list-thumbnail.d.ts +25 -0
  221. package/dist-client/pages/todo/list-thumbnail.js +25 -0
  222. package/dist-client/pages/todo/list-thumbnail.js.map +1 -0
  223. package/dist-client/pages/todo/pickable-list-page.d.ts +37 -0
  224. package/dist-client/pages/todo/pickable-list-page.js +271 -0
  225. package/dist-client/pages/todo/pickable-list-page.js.map +1 -0
  226. package/dist-client/pages/todo/todo-list-page.d.ts +66 -0
  227. package/dist-client/pages/todo/todo-list-page.js +503 -0
  228. package/dist-client/pages/todo/todo-list-page.js.map +1 -0
  229. package/dist-client/pages/todo/work-box.d.ts +52 -0
  230. package/dist-client/pages/todo/work-box.js +54 -0
  231. package/dist-client/pages/todo/work-box.js.map +1 -0
  232. package/dist-client/pages/work-door/door-links.d.ts +22 -0
  233. package/dist-client/pages/work-door/door-links.js +20 -0
  234. package/dist-client/pages/work-door/door-links.js.map +1 -0
  235. package/dist-client/pages/work-door/door-sentence.d.ts +75 -0
  236. package/dist-client/pages/work-door/door-sentence.js +107 -0
  237. package/dist-client/pages/work-door/door-sentence.js.map +1 -0
  238. package/dist-client/pages/work-door/door-words.d.ts +48 -0
  239. package/dist-client/pages/work-door/door-words.js +84 -0
  240. package/dist-client/pages/work-door/door-words.js.map +1 -0
  241. package/dist-client/route.d.ts +1 -0
  242. package/dist-client/route.js +80 -0
  243. package/dist-client/route.js.map +1 -0
  244. package/dist-client/templates/activity-approval-context-template.d.ts +3 -0
  245. package/dist-client/templates/activity-approval-context-template.js +105 -0
  246. package/dist-client/templates/activity-approval-context-template.js.map +1 -0
  247. package/dist-client/templates/activity-instance-context-template.d.ts +3 -0
  248. package/dist-client/templates/activity-instance-context-template.js +118 -0
  249. package/dist-client/templates/activity-instance-context-template.js.map +1 -0
  250. package/dist-client/templates/activity-thread-context-template.d.ts +3 -0
  251. package/dist-client/templates/activity-thread-context-template.js +74 -0
  252. package/dist-client/templates/activity-thread-context-template.js.map +1 -0
  253. package/dist-client/templates/context-panel.d.ts +26 -0
  254. package/dist-client/templates/context-panel.js +182 -0
  255. package/dist-client/templates/context-panel.js.map +1 -0
  256. package/dist-client/tsconfig.tsbuildinfo +1 -0
  257. package/dist-client/types/activity-approval.d.ts +36 -0
  258. package/dist-client/types/activity-approval.js +17 -0
  259. package/dist-client/types/activity-approval.js.map +1 -0
  260. package/dist-client/types/activity-instance-type.d.ts +77 -0
  261. package/dist-client/types/activity-instance-type.js +11 -0
  262. package/dist-client/types/activity-instance-type.js.map +1 -0
  263. package/dist-client/types/activity-instance.d.ts +72 -0
  264. package/dist-client/types/activity-instance.js +36 -0
  265. package/dist-client/types/activity-instance.js.map +1 -0
  266. package/dist-client/types/activity-model-type.d.ts +31 -0
  267. package/dist-client/types/activity-model-type.js +18 -0
  268. package/dist-client/types/activity-model-type.js.map +1 -0
  269. package/dist-client/types/activity-search-key-item-type.d.ts +6 -0
  270. package/dist-client/types/activity-search-key-item-type.js +3 -0
  271. package/dist-client/types/activity-search-key-item-type.js.map +1 -0
  272. package/dist-client/types/activity-thread-history.d.ts +28 -0
  273. package/dist-client/types/activity-thread-history.js +7 -0
  274. package/dist-client/types/activity-thread-history.js.map +1 -0
  275. package/dist-client/types/activity-thread-type.d.ts +15 -0
  276. package/dist-client/types/activity-thread-type.js +7 -0
  277. package/dist-client/types/activity-thread-type.js.map +1 -0
  278. package/dist-client/types/activity-thread.d.ts +39 -0
  279. package/dist-client/types/activity-thread.js +18 -0
  280. package/dist-client/types/activity-thread.js.map +1 -0
  281. package/dist-client/types/activity.d.ts +68 -0
  282. package/dist-client/types/activity.js +40 -0
  283. package/dist-client/types/activity.js.map +1 -0
  284. package/dist-client/types/types.d.ts +23 -0
  285. package/dist-client/types/types.js +42 -0
  286. package/dist-client/types/types.js.map +1 -0
  287. package/dist-client/when.d.ts +4 -0
  288. package/dist-client/when.js +72 -0
  289. package/dist-client/when.js.map +1 -0
  290. package/dist-client/work-calendar-sources.d.ts +96 -0
  291. package/dist-client/work-calendar-sources.js +88 -0
  292. package/dist-client/work-calendar-sources.js.map +1 -0
  293. package/dist-server/controllers/activity-approval/_abort.d.ts +5 -0
  294. package/dist-server/controllers/activity-approval/_abort.js +29 -0
  295. package/dist-server/controllers/activity-approval/_abort.js.map +1 -0
  296. package/dist-server/controllers/activity-approval/abort.d.ts +5 -0
  297. package/dist-server/controllers/activity-approval/abort.js +35 -0
  298. package/dist-server/controllers/activity-approval/abort.js.map +1 -0
  299. package/dist-server/controllers/activity-approval/approval-line.d.ts +138 -0
  300. package/dist-server/controllers/activity-approval/approval-line.js +185 -0
  301. package/dist-server/controllers/activity-approval/approval-line.js.map +1 -0
  302. package/dist-server/controllers/activity-approval/approve.d.ts +5 -0
  303. package/dist-server/controllers/activity-approval/approve.js +142 -0
  304. package/dist-server/controllers/activity-approval/approve.js.map +1 -0
  305. package/dist-server/controllers/activity-approval/check-authority.d.ts +8 -0
  306. package/dist-server/controllers/activity-approval/check-authority.js +29 -0
  307. package/dist-server/controllers/activity-approval/check-authority.js.map +1 -0
  308. package/dist-server/controllers/activity-approval/claim.d.ts +42 -0
  309. package/dist-server/controllers/activity-approval/claim.js +77 -0
  310. package/dist-server/controllers/activity-approval/claim.js.map +1 -0
  311. package/dist-server/controllers/activity-approval/create-approval.d.ts +41 -0
  312. package/dist-server/controllers/activity-approval/create-approval.js +85 -0
  313. package/dist-server/controllers/activity-approval/create-approval.js.map +1 -0
  314. package/dist-server/controllers/activity-approval/delegate.d.ts +23 -0
  315. package/dist-server/controllers/activity-approval/delegate.js +113 -0
  316. package/dist-server/controllers/activity-approval/delegate.js.map +1 -0
  317. package/dist-server/controllers/activity-approval/delegation.d.ts +21 -0
  318. package/dist-server/controllers/activity-approval/delegation.js +17 -0
  319. package/dist-server/controllers/activity-approval/delegation.js.map +1 -0
  320. package/dist-server/controllers/activity-approval/opinion.d.ts +10 -0
  321. package/dist-server/controllers/activity-approval/opinion.js +43 -0
  322. package/dist-server/controllers/activity-approval/opinion.js.map +1 -0
  323. package/dist-server/controllers/activity-approval/reject.d.ts +5 -0
  324. package/dist-server/controllers/activity-approval/reject.js +93 -0
  325. package/dist-server/controllers/activity-approval/reject.js.map +1 -0
  326. package/dist-server/controllers/activity-approval/resolve-judgeable-seats.d.ts +21 -0
  327. package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js +60 -0
  328. package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js.map +1 -0
  329. package/dist-server/controllers/activity-approval/save.d.ts +5 -0
  330. package/dist-server/controllers/activity-approval/save.js +56 -0
  331. package/dist-server/controllers/activity-approval/save.js.map +1 -0
  332. package/dist-server/controllers/activity-approval/seat-standing.d.ts +66 -0
  333. package/dist-server/controllers/activity-approval/seat-standing.js +57 -0
  334. package/dist-server/controllers/activity-approval/seat-standing.js.map +1 -0
  335. package/dist-server/controllers/activity-installation/activity-installation-controller.d.ts +79 -0
  336. package/dist-server/controllers/activity-installation/activity-installation-controller.js +99 -0
  337. package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -0
  338. package/dist-server/controllers/activity-installation/call-webhook.d.ts +3 -0
  339. package/dist-server/controllers/activity-installation/call-webhook.js +42 -0
  340. package/dist-server/controllers/activity-installation/call-webhook.js.map +1 -0
  341. package/dist-server/controllers/activity-installation/installable-to-activity.d.ts +77 -0
  342. package/dist-server/controllers/activity-installation/installable-to-activity.js +68 -0
  343. package/dist-server/controllers/activity-installation/installable-to-activity.js.map +1 -0
  344. package/dist-server/controllers/activity-installation/registry-conflict.d.ts +47 -0
  345. package/dist-server/controllers/activity-installation/registry-conflict.js +47 -0
  346. package/dist-server/controllers/activity-installation/registry-conflict.js.map +1 -0
  347. package/dist-server/controllers/activity-instance/abort.d.ts +5 -0
  348. package/dist-server/controllers/activity-instance/abort.js +62 -0
  349. package/dist-server/controllers/activity-instance/abort.js.map +1 -0
  350. package/dist-server/controllers/activity-instance/approval-expectation.d.ts +34 -0
  351. package/dist-server/controllers/activity-instance/approval-expectation.js +18 -0
  352. package/dist-server/controllers/activity-instance/approval-expectation.js.map +1 -0
  353. package/dist-server/controllers/activity-instance/approval-line-input.d.ts +29 -0
  354. package/dist-server/controllers/activity-instance/approval-line-input.js +44 -0
  355. package/dist-server/controllers/activity-instance/approval-line-input.js.map +1 -0
  356. package/dist-server/controllers/activity-instance/assign.d.ts +8 -0
  357. package/dist-server/controllers/activity-instance/assign.js +152 -0
  358. package/dist-server/controllers/activity-instance/assign.js.map +1 -0
  359. package/dist-server/controllers/activity-instance/assignee-input.d.ts +25 -0
  360. package/dist-server/controllers/activity-instance/assignee-input.js +28 -0
  361. package/dist-server/controllers/activity-instance/assignee-input.js.map +1 -0
  362. package/dist-server/controllers/activity-instance/claim-draft.d.ts +17 -0
  363. package/dist-server/controllers/activity-instance/claim-draft.js +30 -0
  364. package/dist-server/controllers/activity-instance/claim-draft.js.map +1 -0
  365. package/dist-server/controllers/activity-instance/discard-draft.d.ts +22 -0
  366. package/dist-server/controllers/activity-instance/discard-draft.js +54 -0
  367. package/dist-server/controllers/activity-instance/discard-draft.js.map +1 -0
  368. package/dist-server/controllers/activity-instance/draft.d.ts +3 -0
  369. package/dist-server/controllers/activity-instance/draft.js +93 -0
  370. package/dist-server/controllers/activity-instance/draft.js.map +1 -0
  371. package/dist-server/controllers/activity-instance/end.d.ts +6 -0
  372. package/dist-server/controllers/activity-instance/end.js +65 -0
  373. package/dist-server/controllers/activity-instance/end.js.map +1 -0
  374. package/dist-server/controllers/activity-instance/entitlement.d.ts +25 -0
  375. package/dist-server/controllers/activity-instance/entitlement.js +110 -0
  376. package/dist-server/controllers/activity-instance/entitlement.js.map +1 -0
  377. package/dist-server/controllers/activity-instance/index.d.ts +6 -0
  378. package/dist-server/controllers/activity-instance/index.js +10 -0
  379. package/dist-server/controllers/activity-instance/index.js.map +1 -0
  380. package/dist-server/controllers/activity-instance/issue.d.ts +3 -0
  381. package/dist-server/controllers/activity-instance/issue.js +272 -0
  382. package/dist-server/controllers/activity-instance/issue.js.map +1 -0
  383. package/dist-server/controllers/activity-instance/pick.d.ts +2 -0
  384. package/dist-server/controllers/activity-instance/pick.js +112 -0
  385. package/dist-server/controllers/activity-instance/pick.js.map +1 -0
  386. package/dist-server/controllers/activity-read/assert-may-read.d.ts +20 -0
  387. package/dist-server/controllers/activity-read/assert-may-read.js +108 -0
  388. package/dist-server/controllers/activity-read/assert-may-read.js.map +1 -0
  389. package/dist-server/controllers/activity-read/participates.d.ts +41 -0
  390. package/dist-server/controllers/activity-read/participates.js +42 -0
  391. package/dist-server/controllers/activity-read/participates.js.map +1 -0
  392. package/dist-server/controllers/activity-thread/_abort.d.ts +5 -0
  393. package/dist-server/controllers/activity-thread/_abort.js +36 -0
  394. package/dist-server/controllers/activity-thread/_abort.js.map +1 -0
  395. package/dist-server/controllers/activity-thread/abort.d.ts +5 -0
  396. package/dist-server/controllers/activity-thread/abort.js +45 -0
  397. package/dist-server/controllers/activity-thread/abort.js.map +1 -0
  398. package/dist-server/controllers/activity-thread/check-authority.d.ts +2 -0
  399. package/dist-server/controllers/activity-thread/check-authority.js +65 -0
  400. package/dist-server/controllers/activity-thread/check-authority.js.map +1 -0
  401. package/dist-server/controllers/activity-thread/delegate.d.ts +7 -0
  402. package/dist-server/controllers/activity-thread/delegate.js +66 -0
  403. package/dist-server/controllers/activity-thread/delegate.js.map +1 -0
  404. package/dist-server/controllers/activity-thread/end.d.ts +6 -0
  405. package/dist-server/controllers/activity-thread/end.js +44 -0
  406. package/dist-server/controllers/activity-thread/end.js.map +1 -0
  407. package/dist-server/controllers/activity-thread/index.d.ts +7 -0
  408. package/dist-server/controllers/activity-thread/index.js +11 -0
  409. package/dist-server/controllers/activity-thread/index.js.map +1 -0
  410. package/dist-server/controllers/activity-thread/restart.d.ts +2 -0
  411. package/dist-server/controllers/activity-thread/restart.js +63 -0
  412. package/dist-server/controllers/activity-thread/restart.js.map +1 -0
  413. package/dist-server/controllers/activity-thread/save.d.ts +3 -0
  414. package/dist-server/controllers/activity-thread/save.js +45 -0
  415. package/dist-server/controllers/activity-thread/save.js.map +1 -0
  416. package/dist-server/controllers/activity-thread/start.d.ts +2 -0
  417. package/dist-server/controllers/activity-thread/start.js +43 -0
  418. package/dist-server/controllers/activity-thread/start.js.map +1 -0
  419. package/dist-server/controllers/activity-thread/submit.d.ts +6 -0
  420. package/dist-server/controllers/activity-thread/submit.js +90 -0
  421. package/dist-server/controllers/activity-thread/submit.js.map +1 -0
  422. package/dist-server/controllers/common.d.ts +34 -0
  423. package/dist-server/controllers/common.js +346 -0
  424. package/dist-server/controllers/common.js.map +1 -0
  425. package/dist-server/controllers/index.d.ts +5 -0
  426. package/dist-server/controllers/index.js +18 -0
  427. package/dist-server/controllers/index.js.map +1 -0
  428. package/dist-server/index.d.ts +6 -0
  429. package/dist-server/index.js +18 -0
  430. package/dist-server/index.js.map +1 -0
  431. package/dist-server/role-tasks.d.ts +2 -0
  432. package/dist-server/role-tasks.js +16 -0
  433. package/dist-server/role-tasks.js.map +1 -0
  434. package/dist-server/routes.d.ts +1 -0
  435. package/dist-server/routes.js +57 -0
  436. package/dist-server/routes.js.map +1 -0
  437. package/dist-server/service/activity/activity-decision-key-item-type.d.ts +206 -0
  438. package/dist-server/service/activity/activity-decision-key-item-type.js +182 -0
  439. package/dist-server/service/activity/activity-decision-key-item-type.js.map +1 -0
  440. package/dist-server/service/activity/activity-history.d.ts +44 -0
  441. package/dist-server/service/activity/activity-history.js +220 -0
  442. package/dist-server/service/activity/activity-history.js.map +1 -0
  443. package/dist-server/service/activity/activity-model-type.d.ts +49 -0
  444. package/dist-server/service/activity/activity-model-type.js +138 -0
  445. package/dist-server/service/activity/activity-model-type.js.map +1 -0
  446. package/dist-server/service/activity/activity-mutation.d.ts +12 -0
  447. package/dist-server/service/activity/activity-mutation.js +416 -0
  448. package/dist-server/service/activity/activity-mutation.js.map +1 -0
  449. package/dist-server/service/activity/activity-query.d.ts +24 -0
  450. package/dist-server/service/activity/activity-query.js +310 -0
  451. package/dist-server/service/activity/activity-query.js.map +1 -0
  452. package/dist-server/service/activity/activity-search-key-item-type.d.ts +6 -0
  453. package/dist-server/service/activity/activity-search-key-item-type.js +28 -0
  454. package/dist-server/service/activity/activity-search-key-item-type.js.map +1 -0
  455. package/dist-server/service/activity/activity-type.d.ts +84 -0
  456. package/dist-server/service/activity/activity-type.js +269 -0
  457. package/dist-server/service/activity/activity-type.js.map +1 -0
  458. package/dist-server/service/activity/activity.d.ts +135 -0
  459. package/dist-server/service/activity/activity.js +328 -0
  460. package/dist-server/service/activity/activity.js.map +1 -0
  461. package/dist-server/service/activity/approval-line-seats.d.ts +12 -0
  462. package/dist-server/service/activity/approval-line-seats.js +68 -0
  463. package/dist-server/service/activity/approval-line-seats.js.map +1 -0
  464. package/dist-server/service/activity/credential-field.d.ts +35 -0
  465. package/dist-server/service/activity/credential-field.js +89 -0
  466. package/dist-server/service/activity/credential-field.js.map +1 -0
  467. package/dist-server/service/activity/decision-key-declaration.d.ts +106 -0
  468. package/dist-server/service/activity/decision-key-declaration.js +181 -0
  469. package/dist-server/service/activity/decision-key-declaration.js.map +1 -0
  470. package/dist-server/service/activity/declaration-guard-subscriber.d.ts +24 -0
  471. package/dist-server/service/activity/declaration-guard-subscriber.js +46 -0
  472. package/dist-server/service/activity/declaration-guard-subscriber.js.map +1 -0
  473. package/dist-server/service/activity/event-subscriber.d.ts +7 -0
  474. package/dist-server/service/activity/event-subscriber.js +21 -0
  475. package/dist-server/service/activity/event-subscriber.js.map +1 -0
  476. package/dist-server/service/activity/freeze-decision-sentences-for.d.ts +11 -0
  477. package/dist-server/service/activity/freeze-decision-sentences-for.js +18 -0
  478. package/dist-server/service/activity/freeze-decision-sentences-for.js.map +1 -0
  479. package/dist-server/service/activity/index.d.ts +9 -0
  480. package/dist-server/service/activity/index.js +13 -0
  481. package/dist-server/service/activity/index.js.map +1 -0
  482. package/dist-server/service/activity/search-key-declaration.d.ts +38 -0
  483. package/dist-server/service/activity/search-key-declaration.js +49 -0
  484. package/dist-server/service/activity/search-key-declaration.js.map +1 -0
  485. package/dist-server/service/activity-approval/activity-approval-mutation.d.ts +8 -0
  486. package/dist-server/service/activity-approval/activity-approval-mutation.js +81 -0
  487. package/dist-server/service/activity-approval/activity-approval-mutation.js.map +1 -0
  488. package/dist-server/service/activity-approval/activity-approval-query.d.ts +42 -0
  489. package/dist-server/service/activity-approval/activity-approval-query.js +391 -0
  490. package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -0
  491. package/dist-server/service/activity-approval/activity-approval-subscription.d.ts +6 -0
  492. package/dist-server/service/activity-approval/activity-approval-subscription.js +39 -0
  493. package/dist-server/service/activity-approval/activity-approval-subscription.js.map +1 -0
  494. package/dist-server/service/activity-approval/activity-approval-type.d.ts +10 -0
  495. package/dist-server/service/activity-approval/activity-approval-type.js +39 -0
  496. package/dist-server/service/activity-approval/activity-approval-type.js.map +1 -0
  497. package/dist-server/service/activity-approval/activity-approval.d.ts +67 -0
  498. package/dist-server/service/activity-approval/activity-approval.js +183 -0
  499. package/dist-server/service/activity-approval/activity-approval.js.map +1 -0
  500. package/dist-server/service/activity-approval/event-subscriber.d.ts +7 -0
  501. package/dist-server/service/activity-approval/event-subscriber.js +46 -0
  502. package/dist-server/service/activity-approval/event-subscriber.js.map +1 -0
  503. package/dist-server/service/activity-approval/index.d.ts +8 -0
  504. package/dist-server/service/activity-approval/index.js +12 -0
  505. package/dist-server/service/activity-approval/index.js.map +1 -0
  506. package/dist-server/service/activity-approval/my-pending-approvals.d.ts +33 -0
  507. package/dist-server/service/activity-approval/my-pending-approvals.js +52 -0
  508. package/dist-server/service/activity-approval/my-pending-approvals.js.map +1 -0
  509. package/dist-server/service/activity-instance/activity-instance-history.d.ts +60 -0
  510. package/dist-server/service/activity-instance/activity-instance-history.js +294 -0
  511. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -0
  512. package/dist-server/service/activity-instance/activity-instance-mutation.d.ts +16 -0
  513. package/dist-server/service/activity-instance/activity-instance-mutation.js +185 -0
  514. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -0
  515. package/dist-server/service/activity-instance/activity-instance-query.d.ts +27 -0
  516. package/dist-server/service/activity-instance/activity-instance-query.js +386 -0
  517. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -0
  518. package/dist-server/service/activity-instance/activity-instance-subscription.d.ts +6 -0
  519. package/dist-server/service/activity-instance/activity-instance-subscription.js +39 -0
  520. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -0
  521. package/dist-server/service/activity-instance/activity-instance-type.d.ts +107 -0
  522. package/dist-server/service/activity-instance/activity-instance-type.js +301 -0
  523. package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -0
  524. package/dist-server/service/activity-instance/activity-instance.d.ts +81 -0
  525. package/dist-server/service/activity-instance/activity-instance.js +324 -0
  526. package/dist-server/service/activity-instance/activity-instance.js.map +1 -0
  527. package/dist-server/service/activity-instance/assignee-pool.d.ts +59 -0
  528. package/dist-server/service/activity-instance/assignee-pool.js +99 -0
  529. package/dist-server/service/activity-instance/assignee-pool.js.map +1 -0
  530. package/dist-server/service/activity-instance/draft-list-states.d.ts +39 -0
  531. package/dist-server/service/activity-instance/draft-list-states.js +51 -0
  532. package/dist-server/service/activity-instance/draft-list-states.js.map +1 -0
  533. package/dist-server/service/activity-instance/event-subscriber.d.ts +21 -0
  534. package/dist-server/service/activity-instance/event-subscriber.js +59 -0
  535. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -0
  536. package/dist-server/service/activity-instance/index.d.ts +9 -0
  537. package/dist-server/service/activity-instance/index.js +13 -0
  538. package/dist-server/service/activity-instance/index.js.map +1 -0
  539. package/dist-server/service/activity-instance/request-box.d.ts +2 -0
  540. package/dist-server/service/activity-instance/request-box.js +18 -0
  541. package/dist-server/service/activity-instance/request-box.js.map +1 -0
  542. package/dist-server/service/activity-stats/activity-stats-query.d.ts +9 -0
  543. package/dist-server/service/activity-stats/activity-stats-query.js +230 -0
  544. package/dist-server/service/activity-stats/activity-stats-query.js.map +1 -0
  545. package/dist-server/service/activity-stats/activity-stats-type.d.ts +27 -0
  546. package/dist-server/service/activity-stats/activity-stats-type.js +74 -0
  547. package/dist-server/service/activity-stats/activity-stats-type.js.map +1 -0
  548. package/dist-server/service/activity-stats/event-placement.d.ts +55 -0
  549. package/dist-server/service/activity-stats/event-placement.js +82 -0
  550. package/dist-server/service/activity-stats/event-placement.js.map +1 -0
  551. package/dist-server/service/activity-stats/index.d.ts +2 -0
  552. package/dist-server/service/activity-stats/index.js +6 -0
  553. package/dist-server/service/activity-stats/index.js.map +1 -0
  554. package/dist-server/service/activity-summary/activity-summary-query.d.ts +8 -0
  555. package/dist-server/service/activity-summary/activity-summary-query.js +137 -0
  556. package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -0
  557. package/dist-server/service/activity-summary/activity-summary.d.ts +6 -0
  558. package/dist-server/service/activity-summary/activity-summary.js +28 -0
  559. package/dist-server/service/activity-summary/activity-summary.js.map +1 -0
  560. package/dist-server/service/activity-summary/index.d.ts +5 -0
  561. package/dist-server/service/activity-summary/index.js +9 -0
  562. package/dist-server/service/activity-summary/index.js.map +1 -0
  563. package/dist-server/service/activity-summary/open-work.d.ts +4 -0
  564. package/dist-server/service/activity-summary/open-work.js +51 -0
  565. package/dist-server/service/activity-summary/open-work.js.map +1 -0
  566. package/dist-server/service/activity-summary/person-open-work.d.ts +17 -0
  567. package/dist-server/service/activity-summary/person-open-work.js +68 -0
  568. package/dist-server/service/activity-summary/person-open-work.js.map +1 -0
  569. package/dist-server/service/activity-template/activity-template-history.d.ts +32 -0
  570. package/dist-server/service/activity-template/activity-template-history.js +165 -0
  571. package/dist-server/service/activity-template/activity-template-history.js.map +1 -0
  572. package/dist-server/service/activity-template/activity-template-mutation.d.ts +10 -0
  573. package/dist-server/service/activity-template/activity-template-mutation.js +194 -0
  574. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -0
  575. package/dist-server/service/activity-template/activity-template-query.d.ts +14 -0
  576. package/dist-server/service/activity-template/activity-template-query.js +112 -0
  577. package/dist-server/service/activity-template/activity-template-query.js.map +1 -0
  578. package/dist-server/service/activity-template/activity-template-type.d.ts +44 -0
  579. package/dist-server/service/activity-template/activity-template-type.js +164 -0
  580. package/dist-server/service/activity-template/activity-template-type.js.map +1 -0
  581. package/dist-server/service/activity-template/activity-template.d.ts +36 -0
  582. package/dist-server/service/activity-template/activity-template.js +154 -0
  583. package/dist-server/service/activity-template/activity-template.js.map +1 -0
  584. package/dist-server/service/activity-template/event-subscriber.d.ts +7 -0
  585. package/dist-server/service/activity-template/event-subscriber.js +21 -0
  586. package/dist-server/service/activity-template/event-subscriber.js.map +1 -0
  587. package/dist-server/service/activity-template/index.d.ts +8 -0
  588. package/dist-server/service/activity-template/index.js +12 -0
  589. package/dist-server/service/activity-template/index.js.map +1 -0
  590. package/dist-server/service/activity-thread/activity-thread-history-query.d.ts +10 -0
  591. package/dist-server/service/activity-thread/activity-thread-history-query.js +69 -0
  592. package/dist-server/service/activity-thread/activity-thread-history-query.js.map +1 -0
  593. package/dist-server/service/activity-thread/activity-thread-history.d.ts +39 -0
  594. package/dist-server/service/activity-thread/activity-thread-history.js +211 -0
  595. package/dist-server/service/activity-thread/activity-thread-history.js.map +1 -0
  596. package/dist-server/service/activity-thread/activity-thread-mutation.d.ts +20 -0
  597. package/dist-server/service/activity-thread/activity-thread-mutation.js +115 -0
  598. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -0
  599. package/dist-server/service/activity-thread/activity-thread-query.d.ts +24 -0
  600. package/dist-server/service/activity-thread/activity-thread-query.js +276 -0
  601. package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -0
  602. package/dist-server/service/activity-thread/activity-thread-subscription.d.ts +6 -0
  603. package/dist-server/service/activity-thread/activity-thread-subscription.js +38 -0
  604. package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -0
  605. package/dist-server/service/activity-thread/activity-thread-type.d.ts +15 -0
  606. package/dist-server/service/activity-thread/activity-thread-type.js +50 -0
  607. package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -0
  608. package/dist-server/service/activity-thread/activity-thread.d.ts +47 -0
  609. package/dist-server/service/activity-thread/activity-thread.js +197 -0
  610. package/dist-server/service/activity-thread/activity-thread.js.map +1 -0
  611. package/dist-server/service/activity-thread/event-subscriber.d.ts +13 -0
  612. package/dist-server/service/activity-thread/event-subscriber.js +45 -0
  613. package/dist-server/service/activity-thread/event-subscriber.js.map +1 -0
  614. package/dist-server/service/activity-thread/index.d.ts +10 -0
  615. package/dist-server/service/activity-thread/index.js +14 -0
  616. package/dist-server/service/activity-thread/index.js.map +1 -0
  617. package/dist-server/service/activity-thread/my-open-threads.d.ts +33 -0
  618. package/dist-server/service/activity-thread/my-open-threads.js +85 -0
  619. package/dist-server/service/activity-thread/my-open-threads.js.map +1 -0
  620. package/dist-server/service/activity-thread/todo-order.d.ts +49 -0
  621. package/dist-server/service/activity-thread/todo-order.js +70 -0
  622. package/dist-server/service/activity-thread/todo-order.js.map +1 -0
  623. package/dist-server/service/approval-notice/approval-notice-rules.d.ts +67 -0
  624. package/dist-server/service/approval-notice/approval-notice-rules.js +67 -0
  625. package/dist-server/service/approval-notice/approval-notice-rules.js.map +1 -0
  626. package/dist-server/service/approval-notice/approval-notice.d.ts +11 -0
  627. package/dist-server/service/approval-notice/approval-notice.js +76 -0
  628. package/dist-server/service/approval-notice/approval-notice.js.map +1 -0
  629. package/dist-server/service/approval-progress/approval-progress-query.d.ts +14 -0
  630. package/dist-server/service/approval-progress/approval-progress-query.js +142 -0
  631. package/dist-server/service/approval-progress/approval-progress-query.js.map +1 -0
  632. package/dist-server/service/approval-progress/approval-progress-rule.d.ts +67 -0
  633. package/dist-server/service/approval-progress/approval-progress-rule.js +102 -0
  634. package/dist-server/service/approval-progress/approval-progress-rule.js.map +1 -0
  635. package/dist-server/service/approval-progress/approval-progress-type.d.ts +44 -0
  636. package/dist-server/service/approval-progress/approval-progress-type.js +172 -0
  637. package/dist-server/service/approval-progress/approval-progress-type.js.map +1 -0
  638. package/dist-server/service/approval-progress/index.d.ts +2 -0
  639. package/dist-server/service/approval-progress/index.js +6 -0
  640. package/dist-server/service/approval-progress/index.js.map +1 -0
  641. package/dist-server/service/approval-progress/waiting-on.d.ts +15 -0
  642. package/dist-server/service/approval-progress/waiting-on.js +40 -0
  643. package/dist-server/service/approval-progress/waiting-on.js.map +1 -0
  644. package/dist-server/service/index.d.ts +24 -0
  645. package/dist-server/service/index.js +80 -0
  646. package/dist-server/service/index.js.map +1 -0
  647. package/dist-server/service/installable-activity/activity-readiness.d.ts +58 -0
  648. package/dist-server/service/installable-activity/activity-readiness.js +105 -0
  649. package/dist-server/service/installable-activity/activity-readiness.js.map +1 -0
  650. package/dist-server/service/installable-activity/index.d.ts +6 -0
  651. package/dist-server/service/installable-activity/index.js +10 -0
  652. package/dist-server/service/installable-activity/index.js.map +1 -0
  653. package/dist-server/service/installable-activity/installable-activity-mutation.d.ts +11 -0
  654. package/dist-server/service/installable-activity/installable-activity-mutation.js +83 -0
  655. package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -0
  656. package/dist-server/service/installable-activity/installable-activity-query.d.ts +22 -0
  657. package/dist-server/service/installable-activity/installable-activity-query.js +127 -0
  658. package/dist-server/service/installable-activity/installable-activity-query.js.map +1 -0
  659. package/dist-server/service/installable-activity/installable-activity-type.d.ts +5 -0
  660. package/dist-server/service/installable-activity/installable-activity-type.js +21 -0
  661. package/dist-server/service/installable-activity/installable-activity-type.js.map +1 -0
  662. package/dist-server/service/installable-activity/installable-activity.d.ts +92 -0
  663. package/dist-server/service/installable-activity/installable-activity.js +140 -0
  664. package/dist-server/service/installable-activity/installable-activity.js.map +1 -0
  665. package/dist-server/service/nulls-last.d.ts +30 -0
  666. package/dist-server/service/nulls-last.js +37 -0
  667. package/dist-server/service/nulls-last.js.map +1 -0
  668. package/dist-server/service/subscription/roles-of.d.ts +9 -0
  669. package/dist-server/service/subscription/roles-of.js +17 -0
  670. package/dist-server/service/subscription/roles-of.js.map +1 -0
  671. package/dist-server/service/subscription/subscription-filters.d.ts +47 -0
  672. package/dist-server/service/subscription/subscription-filters.js +57 -0
  673. package/dist-server/service/subscription/subscription-filters.js.map +1 -0
  674. package/dist-server/service/work-door/activity-lookup.d.ts +70 -0
  675. package/dist-server/service/work-door/activity-lookup.js +110 -0
  676. package/dist-server/service/work-door/activity-lookup.js.map +1 -0
  677. package/dist-server/service/work-door/approval-line-standing.d.ts +106 -0
  678. package/dist-server/service/work-door/approval-line-standing.js +65 -0
  679. package/dist-server/service/work-door/approval-line-standing.js.map +1 -0
  680. package/dist-server/service/work-door/index.d.ts +15 -0
  681. package/dist-server/service/work-door/index.js +20 -0
  682. package/dist-server/service/work-door/index.js.map +1 -0
  683. package/dist-server/service/work-door/pass-work-door.d.ts +74 -0
  684. package/dist-server/service/work-door/pass-work-door.js +45 -0
  685. package/dist-server/service/work-door/pass-work-door.js.map +1 -0
  686. package/dist-server/service/work-door/work-door-declaration.d.ts +135 -0
  687. package/dist-server/service/work-door/work-door-declaration.js +87 -0
  688. package/dist-server/service/work-door/work-door-declaration.js.map +1 -0
  689. package/dist-server/service/work-door/work-door-event.d.ts +20 -0
  690. package/dist-server/service/work-door/work-door-event.js +25 -0
  691. package/dist-server/service/work-door/work-door-event.js.map +1 -0
  692. package/dist-server/service/work-door/work-door-journal-service.d.ts +47 -0
  693. package/dist-server/service/work-door/work-door-journal-service.js +75 -0
  694. package/dist-server/service/work-door/work-door-journal-service.js.map +1 -0
  695. package/dist-server/service/work-door/work-door-journal.d.ts +30 -0
  696. package/dist-server/service/work-door/work-door-journal.js +94 -0
  697. package/dist-server/service/work-door/work-door-journal.js.map +1 -0
  698. package/dist-server/service/work-door/work-door-not-used.d.ts +39 -0
  699. package/dist-server/service/work-door/work-door-not-used.js +86 -0
  700. package/dist-server/service/work-door/work-door-not-used.js.map +1 -0
  701. package/dist-server/service/work-door/work-door-resolver.d.ts +32 -0
  702. package/dist-server/service/work-door/work-door-resolver.js +152 -0
  703. package/dist-server/service/work-door/work-door-resolver.js.map +1 -0
  704. package/dist-server/service/work-door/work-door-service.d.ts +36 -0
  705. package/dist-server/service/work-door/work-door-service.js +127 -0
  706. package/dist-server/service/work-door/work-door-service.js.map +1 -0
  707. package/dist-server/service/work-door/work-door-type.d.ts +88 -0
  708. package/dist-server/service/work-door/work-door-type.js +206 -0
  709. package/dist-server/service/work-door/work-door-type.js.map +1 -0
  710. package/dist-server/service/work-door/work-door.d.ts +187 -0
  711. package/dist-server/service/work-door/work-door.js +119 -0
  712. package/dist-server/service/work-door/work-door.js.map +1 -0
  713. package/dist-server/tsconfig.tsbuildinfo +1 -0
  714. package/package.json +10 -10
  715. package/shared/approval-step.d.ts +21 -0
  716. package/shared/approval-step.js +55 -0
  717. package/tests/approval-progress-db.test.ts +143 -0
  718. package/things-factory.config.js +1 -0
  719. package/translations/en.json +20 -1
  720. package/translations/es.json +20 -1
  721. package/translations/ja.json +20 -1
  722. package/translations/ko.json +20 -1
  723. package/translations/ms.json +20 -1
  724. package/translations/zh.json +20 -1
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InstallableActivity = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const activity_js_1 = require("../activity/activity.js");
7
+ const activity_model_type_js_1 = require("../activity/activity-model-type.js");
8
+ const activity_decision_key_item_type_js_1 = require("../activity/activity-decision-key-item-type.js");
9
+ const activity_readiness_js_1 = require("./activity-readiness.js");
10
+ let InstallableActivity = class InstallableActivity {
11
+ constructor() {
12
+ this.priority = 1;
13
+ }
14
+ };
15
+ exports.InstallableActivity = InstallableActivity;
16
+ tslib_1.__decorate([
17
+ (0, type_graphql_1.Field)({ nullable: true }),
18
+ tslib_1.__metadata("design:type", String)
19
+ ], InstallableActivity.prototype, "name", void 0);
20
+ tslib_1.__decorate([
21
+ (0, type_graphql_1.Field)({ nullable: true, description: 'What to call this work on screen, when the key is not readable' }),
22
+ tslib_1.__metadata("design:type", String)
23
+ ], InstallableActivity.prototype, "label", void 0);
24
+ tslib_1.__decorate([
25
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Release information of the Activity' }),
26
+ tslib_1.__metadata("design:type", String)
27
+ ], InstallableActivity.prototype, "release", void 0);
28
+ tslib_1.__decorate([
29
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Provider information of the Activity' }),
30
+ tslib_1.__metadata("design:type", String)
31
+ ], InstallableActivity.prototype, "provider", void 0);
32
+ tslib_1.__decorate([
33
+ (0, type_graphql_1.Field)({ nullable: true }),
34
+ tslib_1.__metadata("design:type", String)
35
+ ], InstallableActivity.prototype, "description", void 0);
36
+ tslib_1.__decorate([
37
+ (0, type_graphql_1.Field)(type => [String], {
38
+ nullable: true,
39
+ description: 'What this work is, for the person who receives it. Plain sentences; translated through guideTKeys.'
40
+ }),
41
+ tslib_1.__metadata("design:type", Array)
42
+ ], InstallableActivity.prototype, "guide", void 0);
43
+ tslib_1.__decorate([
44
+ (0, type_graphql_1.Field)({ nullable: true }),
45
+ tslib_1.__metadata("design:type", String)
46
+ ], InstallableActivity.prototype, "category", void 0);
47
+ tslib_1.__decorate([
48
+ (0, type_graphql_1.Field)({ nullable: true }),
49
+ tslib_1.__metadata("design:type", String)
50
+ ], InstallableActivity.prototype, "activityType", void 0);
51
+ tslib_1.__decorate([
52
+ (0, type_graphql_1.Field)({ nullable: true }),
53
+ tslib_1.__metadata("design:type", Number)
54
+ ], InstallableActivity.prototype, "priority", void 0);
55
+ tslib_1.__decorate([
56
+ (0, type_graphql_1.Field)({ nullable: true }),
57
+ tslib_1.__metadata("design:type", String)
58
+ ], InstallableActivity.prototype, "startingType", void 0);
59
+ tslib_1.__decorate([
60
+ (0, type_graphql_1.Field)({
61
+ nullable: true,
62
+ description: 'Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.'
63
+ }),
64
+ tslib_1.__metadata("design:type", String)
65
+ ], InstallableActivity.prototype, "multiple", void 0);
66
+ tslib_1.__decorate([
67
+ (0, type_graphql_1.Field)(type => [activity_model_type_js_1.ActivityModelItem], { nullable: true }),
68
+ tslib_1.__metadata("design:type", Array)
69
+ ], InstallableActivity.prototype, "model", void 0);
70
+ tslib_1.__decorate([
71
+ (0, type_graphql_1.Field)(type => [activity_decision_key_item_type_js_1.ActivityDecisionKeyItem], { nullable: true }),
72
+ tslib_1.__metadata("design:type", Array)
73
+ ], InstallableActivity.prototype, "decisionKeys", void 0);
74
+ tslib_1.__decorate([
75
+ (0, type_graphql_1.Field)({ nullable: true }),
76
+ tslib_1.__metadata("design:type", String)
77
+ ], InstallableActivity.prototype, "uiType", void 0);
78
+ tslib_1.__decorate([
79
+ (0, type_graphql_1.Field)({ nullable: true }),
80
+ tslib_1.__metadata("design:type", String)
81
+ ], InstallableActivity.prototype, "uiSource", void 0);
82
+ tslib_1.__decorate([
83
+ (0, type_graphql_1.Field)({ nullable: true }),
84
+ tslib_1.__metadata("design:type", String)
85
+ ], InstallableActivity.prototype, "viewType", void 0);
86
+ tslib_1.__decorate([
87
+ (0, type_graphql_1.Field)({ nullable: true }),
88
+ tslib_1.__metadata("design:type", String)
89
+ ], InstallableActivity.prototype, "viewSource", void 0);
90
+ tslib_1.__decorate([
91
+ (0, type_graphql_1.Field)({ nullable: true }),
92
+ tslib_1.__metadata("design:type", String)
93
+ ], InstallableActivity.prototype, "reportType", void 0);
94
+ tslib_1.__decorate([
95
+ (0, type_graphql_1.Field)({ nullable: true }),
96
+ tslib_1.__metadata("design:type", String)
97
+ ], InstallableActivity.prototype, "reportSource", void 0);
98
+ tslib_1.__decorate([
99
+ (0, type_graphql_1.Field)(type => String, { nullable: true }),
100
+ tslib_1.__metadata("design:type", String)
101
+ ], InstallableActivity.prototype, "thumbnail", void 0);
102
+ tslib_1.__decorate([
103
+ (0, type_graphql_1.Field)(type => activity_js_1.Activity, { nullable: true }),
104
+ tslib_1.__metadata("design:type", activity_js_1.Activity
105
+ /**
106
+ * **이 도메인이 이 단계를 쓰나** — 세워진 양식의 결재선에 결재자가 있나.
107
+ *
108
+ * 결재선은 양식이 아니라 **그 현장이 정하는 것**이다(installActivity 머리말). 그래서 같은 업무가
109
+ * 어느 공장에서는 결재를 받고 어느 공장에서는 그냥 지나간다.
110
+ *
111
+ * 그 사실이 지금까지 **기동 로그 한 줄**에만 있었다 — 「결재선 비어 있음 miratek, system」. 로그는
112
+ * 기동할 때 한 번 지나가고 그 뒤로 아무 데도 없다. 사람이 조치해야 하는 사실의 집이 아니다.
113
+ *
114
+ * 세지 않는 것 둘을 적어 둔다.
115
+ *
116
+ * - **사람 수가 아니라 단계 수다.** 역할로 걸린 한 단계는 그 역할을 가진 여러 사람이 본다. 「3명」
117
+ * 이라고 적으면 틀린 수를 말하게 된다.
118
+ * - **참조는 세지 않는다.** 참조는 결재를 막지 않으므로, 참조만 있는 결재선은 결재자가 없는 것과
119
+ * 같다(needsApproval). 세면 「이 단계를 쓴다」로 읽히는데 실제로는 그냥 지나간다.
120
+ *
121
+ * 비어 있다는 것이 무슨 일을 뜻하는지는 **업무마다 다르다** — 부적합 처분은 상신이 막히고, 정비
122
+ * 완료 확인은 확인 없이 닫힌다. 그 결과는 각 업무의 guide 가 말할 자리다. 이 칸은 사실만 낸다.
123
+ */
124
+ )
125
+ ], InstallableActivity.prototype, "activity", void 0);
126
+ tslib_1.__decorate([
127
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, {
128
+ nullable: true,
129
+ description: 'How many approval steps this activity has in this domain. Steps, not people; references excluded.'
130
+ }),
131
+ tslib_1.__metadata("design:type", Number)
132
+ ], InstallableActivity.prototype, "approvalSteps", void 0);
133
+ tslib_1.__decorate([
134
+ (0, type_graphql_1.Field)(type => activity_readiness_js_1.ActivityReadiness, { nullable: true }),
135
+ tslib_1.__metadata("design:type", activity_readiness_js_1.ActivityReadiness)
136
+ ], InstallableActivity.prototype, "readiness", void 0);
137
+ exports.InstallableActivity = InstallableActivity = tslib_1.__decorate([
138
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for InstallableActivity' })
139
+ ], InstallableActivity);
140
+ //# sourceMappingURL=installable-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installable-activity.js","sourceRoot":"","sources":["../../../server/service/installable-activity/installable-activity.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, Int, ObjectType } from 'type-graphql'\n\nimport {\n Activity,\n ActivityStartingType,\n ActivityType,\n ActivityUIType,\n MultipleInstanceType\n} from '../activity/activity.js'\nimport { ActivityModelItem } from '../activity/activity-model-type.js'\nimport { ActivityDecisionKeyItem } from '../activity/activity-decision-key-item-type.js'\nimport { ActivityReadiness } from './activity-readiness.js'\nimport { UpdateActivityInstanceStateAddendum } from '../../controllers/common.js'\n\n@ObjectType({ description: 'Entity for InstallableActivity' })\nexport class InstallableActivity {\n /**\n * The key. **Not a name to show anyone.**\n *\n * The callback is found by this value (`activityInstance.activity.name`), so renaming it stops\n * the callback from running — an approval completes and the effect never happens, with nothing\n * on screen to say so. plant hit exactly that on 2026-09-01.\n */\n @Field({ nullable: true })\n name?: string\n\n /**\n * What to call this work on screen, when the key is not something a person reads.\n *\n * The catalog showed 「MES Disposition Approval」 among twenty-three Korean cards because the key\n * was the only name it had. Declared work already carried a `label` for this; built work had\n * nowhere to put one, so the identifier leaked into the screen.\n *\n * Optional. Without it the catalog falls back to the key, which is right for activities whose\n * key already reads as a name.\n */\n @Field({ nullable: true, description: 'What to call this work on screen, when the key is not readable' })\n label?: string\n\n @Field({ nullable: true, description: 'Release information of the Activity' })\n release?: string\n\n @Field({ nullable: true, description: 'Provider information of the Activity' })\n provider?: string\n\n /** One line for developers, in English, like every other GraphQL description in this repo. */\n @Field({ nullable: true })\n description?: string\n\n /**\n * What this work is, **in the words of the person who receives it.**\n *\n * `description` is written for us and it is English by convention, so a Korean screen showing it\n * to an approver says nothing useful. This field is the sentence that person actually needs:\n * when the item reaches them, and what happens once they approve it.\n *\n * Plain sentences, never keys. A translation is read from `guideTKeys` — one key per line,\n * computed from `name` — with the sentence here as its default. A value that could be either a key\n * or a sentence leaves no way to count which keys a locale is missing.\n */\n @Field(type => [String], {\n nullable: true,\n description: 'What this work is, for the person who receives it. Plain sentences; translated through guideTKeys.'\n })\n guide?: string[]\n\n @Field({ nullable: true })\n category?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field({ nullable: true })\n priority?: number = 1\n\n @Field({ nullable: true })\n startingType?: ActivityStartingType\n\n @Field({\n nullable: true,\n description:\n 'Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.'\n })\n multiple?: MultipleInstanceType\n\n @Field(type => [ActivityModelItem], { nullable: true })\n model?: ActivityModelItem[]\n\n /**\n * Which input values an approver judges by. See Activity.decisionKeys.\n *\n * A field declared here reaches the Activity row only if it is named in ACTIVITY_ROW_FIELDS and\n * the entity has a column for it. It used to be a spread, which dropped what it did not recognise\n * and reported success; naming the fields means a new one has to be wired over on purpose.\n */\n @Field(type => [ActivityDecisionKeyItem], { nullable: true })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n viewType?: ActivityUIType\n\n @Field({ nullable: true })\n viewSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n\n @Field(type => Activity, { nullable: true })\n activity?: Activity\n\n /**\n * **이 도메인이 이 단계를 쓰나** — 세워진 양식의 결재선에 결재자가 있나.\n *\n * 결재선은 양식이 아니라 **그 현장이 정하는 것**이다(installActivity 머리말). 그래서 같은 업무가\n * 어느 공장에서는 결재를 받고 어느 공장에서는 그냥 지나간다.\n *\n * 그 사실이 지금까지 **기동 로그 한 줄**에만 있었다 — 「결재선 비어 있음 miratek, system」. 로그는\n * 기동할 때 한 번 지나가고 그 뒤로 아무 데도 없다. 사람이 조치해야 하는 사실의 집이 아니다.\n *\n * 세지 않는 것 둘을 적어 둔다.\n *\n * - **사람 수가 아니라 단계 수다.** 역할로 걸린 한 단계는 그 역할을 가진 여러 사람이 본다. 「3명」\n * 이라고 적으면 틀린 수를 말하게 된다.\n * - **참조는 세지 않는다.** 참조는 결재를 막지 않으므로, 참조만 있는 결재선은 결재자가 없는 것과\n * 같다(needsApproval). 세면 「이 단계를 쓴다」로 읽히는데 실제로는 그냥 지나간다.\n *\n * 비어 있다는 것이 무슨 일을 뜻하는지는 **업무마다 다르다** — 부적합 처분은 상신이 막히고, 정비\n * 완료 확인은 확인 없이 닫힌다. 그 결과는 각 업무의 guide 가 말할 자리다. 이 칸은 사실만 낸다.\n */\n @Field(type => Int, {\n nullable: true,\n description: 'How many approval steps this activity has in this domain. Steps, not people; references excluded.'\n })\n approvalSteps?: number\n\n /**\n * What the registering module says about how far along this type is.\n *\n * Declared, not computed — see ActivityReadiness. Missing means nobody has said, which the\n * screen shows as 「선언 없음」 rather than as a zero.\n */\n @Field(type => ActivityReadiness, { nullable: true })\n readiness?: ActivityReadiness\n\n callback?: (content: any, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) => void\n}\n"]}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Sorting a column where a missing value means "not yet", not "smallest".
3
+ *
4
+ * Where NULL lands is decided by the database: sqlite puts it first ascending, postgres last. Left
5
+ * alone, the same code orders one way in development and another in production. And on a due-date
6
+ * column the database's answer is wrong either way — a task with no deadline is not the most urgent
7
+ * one.
8
+ *
9
+ * ORDER BY ... NULLS LAST would say it directly, but it is postgres and oracle syntax; mysql and
10
+ * mssql raise a syntax error, and this framework has to run on five drivers. TypeORM's third
11
+ * orderBy argument is no help either — SelectQueryBuilder appends "ASC NULLS LAST" without checking
12
+ * the driver.
13
+ *
14
+ * CASE WHEN ... IS NULL THEN 1 ELSE 0 END is standard SQL and behaves the same on all five.
15
+ *
16
+ * The expression cannot go straight into orderBy: TypeORM reads everything up to the first dot as
17
+ * an alias, and the field reference inside contains one — `"CASE WHEN "at"" alias was not found`.
18
+ * So it is added to the select under a name, and the ordering is done by that name.
19
+ */
20
+ /** The select name the rank is added under. No dots, so TypeORM passes it through untouched. */
21
+ export declare const NULL_RANK_ALIAS = "nulls_last_rank";
22
+ /**
23
+ * Rank rows so the ones with no value sort last.
24
+ *
25
+ * `field` is a fully quoted column reference, resolved by the caller from TypeORM metadata — this
26
+ * module never spells a column name itself. The rank is always ordered ascending, in either
27
+ * direction of the sort it accompanies: an empty deadline belongs at the bottom whichever way the
28
+ * dated rows are pointing.
29
+ */
30
+ export declare function nullsLastSelect(field: string): string;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * Sorting a column where a missing value means "not yet", not "smallest".
4
+ *
5
+ * Where NULL lands is decided by the database: sqlite puts it first ascending, postgres last. Left
6
+ * alone, the same code orders one way in development and another in production. And on a due-date
7
+ * column the database's answer is wrong either way — a task with no deadline is not the most urgent
8
+ * one.
9
+ *
10
+ * ORDER BY ... NULLS LAST would say it directly, but it is postgres and oracle syntax; mysql and
11
+ * mssql raise a syntax error, and this framework has to run on five drivers. TypeORM's third
12
+ * orderBy argument is no help either — SelectQueryBuilder appends "ASC NULLS LAST" without checking
13
+ * the driver.
14
+ *
15
+ * CASE WHEN ... IS NULL THEN 1 ELSE 0 END is standard SQL and behaves the same on all five.
16
+ *
17
+ * The expression cannot go straight into orderBy: TypeORM reads everything up to the first dot as
18
+ * an alias, and the field reference inside contains one — `"CASE WHEN "at"" alias was not found`.
19
+ * So it is added to the select under a name, and the ordering is done by that name.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.NULL_RANK_ALIAS = void 0;
23
+ exports.nullsLastSelect = nullsLastSelect;
24
+ /** The select name the rank is added under. No dots, so TypeORM passes it through untouched. */
25
+ exports.NULL_RANK_ALIAS = 'nulls_last_rank';
26
+ /**
27
+ * Rank rows so the ones with no value sort last.
28
+ *
29
+ * `field` is a fully quoted column reference, resolved by the caller from TypeORM metadata — this
30
+ * module never spells a column name itself. The rank is always ordered ascending, in either
31
+ * direction of the sort it accompanies: an empty deadline belongs at the bottom whichever way the
32
+ * dated rows are pointing.
33
+ */
34
+ function nullsLastSelect(field) {
35
+ return `CASE WHEN ${field} IS NULL THEN 1 ELSE 0 END`;
36
+ }
37
+ //# sourceMappingURL=nulls-last.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nulls-last.js","sourceRoot":"","sources":["../../server/service/nulls-last.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAaH,0CAEC;AAbD,gGAAgG;AACnF,QAAA,eAAe,GAAG,iBAAiB,CAAA;AAEhD;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,aAAa,KAAK,4BAA4B,CAAA;AACvD,CAAC","sourcesContent":["/**\n * Sorting a column where a missing value means \"not yet\", not \"smallest\".\n *\n * Where NULL lands is decided by the database: sqlite puts it first ascending, postgres last. Left\n * alone, the same code orders one way in development and another in production. And on a due-date\n * column the database's answer is wrong either way — a task with no deadline is not the most urgent\n * one.\n *\n * ORDER BY ... NULLS LAST would say it directly, but it is postgres and oracle syntax; mysql and\n * mssql raise a syntax error, and this framework has to run on five drivers. TypeORM's third\n * orderBy argument is no help either — SelectQueryBuilder appends \"ASC NULLS LAST\" without checking\n * the driver.\n *\n * CASE WHEN ... IS NULL THEN 1 ELSE 0 END is standard SQL and behaves the same on all five.\n *\n * The expression cannot go straight into orderBy: TypeORM reads everything up to the first dot as\n * an alias, and the field reference inside contains one — `\"CASE WHEN \"at\"\" alias was not found`.\n * So it is added to the select under a name, and the ordering is done by that name.\n */\n\n/** The select name the rank is added under. No dots, so TypeORM passes it through untouched. */\nexport const NULL_RANK_ALIAS = 'nulls_last_rank'\n\n/**\n * Rank rows so the ones with no value sort last.\n *\n * `field` is a fully quoted column reference, resolved by the caller from TypeORM metadata — this\n * module never spells a column name itself. The rank is always ordered ascending, in either\n * direction of the sort it accompanies: an empty deadline belongs at the bottom whichever way the\n * dated rows are pointing.\n */\nexport function nullsLastSelect(field: string): string {\n return `CASE WHEN ${field} IS NULL THEN 1 ELSE 0 END`\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The roles a subscriber holds in this domain - what the subscription filters match a role-addressed
3
+ * instance or approval against. One lookup for both subscriptions, so the two cannot drift apart.
4
+ */
5
+ export declare function rolesOf(domain: {
6
+ id: string;
7
+ }, userId: string): Promise<{
8
+ id: string;
9
+ }[]>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rolesOf = rolesOf;
4
+ const auth_base_1 = require("@things-factory/auth-base");
5
+ const shell_1 = require("@things-factory/shell");
6
+ /**
7
+ * The roles a subscriber holds in this domain - what the subscription filters match a role-addressed
8
+ * instance or approval against. One lookup for both subscriptions, so the two cannot drift apart.
9
+ */
10
+ async function rolesOf(domain, userId) {
11
+ const withRoles = await (0, shell_1.getRepository)(auth_base_1.User).findOne({
12
+ where: { id: userId },
13
+ relations: ['roles']
14
+ });
15
+ return (withRoles?.roles || []).filter(role => role.domainId === domain.id);
16
+ }
17
+ //# sourceMappingURL=roles-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles-of.js","sourceRoot":"","sources":["../../../server/service/subscription/roles-of.ts"],"names":[],"mappings":";;AAOA,0BAOC;AAdD,yDAAgD;AAChD,iDAAqD;AAErD;;;GAGG;AACI,KAAK,UAAU,OAAO,CAAC,MAAsB,EAAE,MAAc;IAClE,MAAM,SAAS,GAAS,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;QACxD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAC,CAAA;IAEF,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;AAC7E,CAAC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { getRepository } from '@things-factory/shell'\n\n/**\n * The roles a subscriber holds in this domain - what the subscription filters match a role-addressed\n * instance or approval against. One lookup for both subscriptions, so the two cannot drift apart.\n */\nexport async function rolesOf(domain: { id: string }, userId: string): Promise<{ id: string }[]> {\n const withRoles: User = await getRepository(User).findOne({\n where: { id: userId },\n relations: ['roles']\n })\n\n return (withRoles?.roles || []).filter(role => role.domainId === domain.id)\n}\n"]}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Who hears which worklist event — the filters behind the three subscriptions, kept free of
3
+ * entities and pubsub so they can be tested.
4
+ *
5
+ * Every filter compares the event's domain to the subscriber's first. A thread or an approval in
6
+ * another tenant must never reach this socket, even when the ids beside it happen to match.
7
+ * An event whose domain is not known is dropped: without it the filter cannot tell tenants apart.
8
+ *
9
+ * The ids are the entity's @RelationId fields. TypeORM fills them on the entity it hands the
10
+ * subscriber, on insert as well as update - measured, and held by tests/published-shape.test.ts.
11
+ */
12
+ type DomainLike = {
13
+ id?: string;
14
+ } | null | undefined;
15
+ /** A thread reaches the person it is assigned to. */
16
+ export declare function hearsThread(thread: {
17
+ domainId?: string;
18
+ assigneeId?: string;
19
+ }, domain: DomainLike, userId: string): boolean;
20
+ /**
21
+ * An approval reaches its approver, and anyone holding the role it is addressed to. A role-addressed
22
+ * step has no approver - only the role - so without the second half nobody hears it. The roles are
23
+ * asked only after the domain matched, as for an instance.
24
+ *
25
+ * Hearing is not being offered: the client refetches its summary, which counts what the listener may
26
+ * judge - their own requests included, since the one who raises a case may judge it (2026-10-23).
27
+ */
28
+ export declare function hearsApproval(approval: {
29
+ domainId?: string;
30
+ approverId?: string;
31
+ approverRoleId?: string;
32
+ }, domain: DomainLike, userId: string, rolesOf: () => Promise<{
33
+ id: string;
34
+ }[]>): Promise<boolean>;
35
+ /**
36
+ * An instance reaches whoever made it, and anyone holding any one of the roles it is waiting for - once,
37
+ * however many of them they hold: this answers yes or no for one subscriber. The roles are
38
+ * asked only after the domain matched — the lookup is not free and is never needed for another tenant.
39
+ */
40
+ export declare function hearsInstance(instance: {
41
+ domainId?: string;
42
+ creatorId?: string;
43
+ assigneeRoleIds?: string[];
44
+ }, domain: DomainLike, userId: string, rolesOf: () => Promise<{
45
+ id: string;
46
+ }[]>): Promise<boolean>;
47
+ export {};
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * Who hears which worklist event — the filters behind the three subscriptions, kept free of
4
+ * entities and pubsub so they can be tested.
5
+ *
6
+ * Every filter compares the event's domain to the subscriber's first. A thread or an approval in
7
+ * another tenant must never reach this socket, even when the ids beside it happen to match.
8
+ * An event whose domain is not known is dropped: without it the filter cannot tell tenants apart.
9
+ *
10
+ * The ids are the entity's @RelationId fields. TypeORM fills them on the entity it hands the
11
+ * subscriber, on insert as well as update - measured, and held by tests/published-shape.test.ts.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.hearsThread = hearsThread;
15
+ exports.hearsApproval = hearsApproval;
16
+ exports.hearsInstance = hearsInstance;
17
+ function inDomain(eventDomainId, domain) {
18
+ return !!eventDomainId && !!domain?.id && eventDomainId === domain.id;
19
+ }
20
+ /** A thread reaches the person it is assigned to. */
21
+ function hearsThread(thread, domain, userId) {
22
+ return inDomain(thread?.domainId, domain) && thread.assigneeId === userId;
23
+ }
24
+ /**
25
+ * An approval reaches its approver, and anyone holding the role it is addressed to. A role-addressed
26
+ * step has no approver - only the role - so without the second half nobody hears it. The roles are
27
+ * asked only after the domain matched, as for an instance.
28
+ *
29
+ * Hearing is not being offered: the client refetches its summary, which counts what the listener may
30
+ * judge - their own requests included, since the one who raises a case may judge it (2026-10-23).
31
+ */
32
+ async function hearsApproval(approval, domain, userId, rolesOf) {
33
+ if (!inDomain(approval?.domainId, domain))
34
+ return false;
35
+ if (approval.approverId === userId)
36
+ return true;
37
+ if (!approval.approverRoleId)
38
+ return false;
39
+ return (await rolesOf()).some(role => role.id === approval.approverRoleId);
40
+ }
41
+ /**
42
+ * An instance reaches whoever made it, and anyone holding any one of the roles it is waiting for - once,
43
+ * however many of them they hold: this answers yes or no for one subscriber. The roles are
44
+ * asked only after the domain matched — the lookup is not free and is never needed for another tenant.
45
+ */
46
+ async function hearsInstance(instance, domain, userId, rolesOf) {
47
+ if (!inDomain(instance?.domainId, domain))
48
+ return false;
49
+ if (instance.creatorId === userId)
50
+ return true;
51
+ const poolIds = instance.assigneeRoleIds || [];
52
+ if (!poolIds.length)
53
+ return false;
54
+ const held = (await rolesOf()).map(role => role.id);
55
+ return poolIds.some(id => held.includes(id));
56
+ }
57
+ //# sourceMappingURL=subscription-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-filters.js","sourceRoot":"","sources":["../../../server/service/subscription/subscription-filters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AASH,kCAEC;AAUD,sCAWC;AAOD,sCAaC;AAhDD,SAAS,QAAQ,CAAC,aAAiC,EAAE,MAAkB;IACrE,OAAO,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,aAAa,KAAK,MAAM,CAAC,EAAE,CAAA;AACvE,CAAC;AAED,qDAAqD;AACrD,SAAgB,WAAW,CAAC,MAAkD,EAAE,MAAkB,EAAE,MAAc;IAChH,OAAO,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAA;AAC3E,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CACjC,QAA6E,EAC7E,MAAkB,EAClB,MAAc,EACd,OAAwC;IAExC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,QAAQ,CAAC,UAAU,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IAC/C,IAAI,CAAC,QAAQ,CAAC,cAAc;QAAE,OAAO,KAAK,CAAA;IAE1C,OAAO,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAA;AAC5E,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,aAAa,CACjC,QAA+E,EAC/E,MAAkB,EAClB,MAAc,EACd,OAAwC;IAExC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAA;IAC9C,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEjC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnD,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9C,CAAC","sourcesContent":["/**\n * Who hears which worklist event — the filters behind the three subscriptions, kept free of\n * entities and pubsub so they can be tested.\n *\n * Every filter compares the event's domain to the subscriber's first. A thread or an approval in\n * another tenant must never reach this socket, even when the ids beside it happen to match.\n * An event whose domain is not known is dropped: without it the filter cannot tell tenants apart.\n *\n * The ids are the entity's @RelationId fields. TypeORM fills them on the entity it hands the\n * subscriber, on insert as well as update - measured, and held by tests/published-shape.test.ts.\n */\n\ntype DomainLike = { id?: string } | null | undefined\n\nfunction inDomain(eventDomainId: string | undefined, domain: DomainLike): boolean {\n return !!eventDomainId && !!domain?.id && eventDomainId === domain.id\n}\n\n/** A thread reaches the person it is assigned to. */\nexport function hearsThread(thread: { domainId?: string; assigneeId?: string }, domain: DomainLike, userId: string) {\n return inDomain(thread?.domainId, domain) && thread.assigneeId === userId\n}\n\n/**\n * An approval reaches its approver, and anyone holding the role it is addressed to. A role-addressed\n * step has no approver - only the role - so without the second half nobody hears it. The roles are\n * asked only after the domain matched, as for an instance.\n *\n * Hearing is not being offered: the client refetches its summary, which counts what the listener may\n * judge - their own requests included, since the one who raises a case may judge it (2026-10-23).\n */\nexport async function hearsApproval(\n approval: { domainId?: string; approverId?: string; approverRoleId?: string },\n domain: DomainLike,\n userId: string,\n rolesOf: () => Promise<{ id: string }[]>\n): Promise<boolean> {\n if (!inDomain(approval?.domainId, domain)) return false\n if (approval.approverId === userId) return true\n if (!approval.approverRoleId) return false\n\n return (await rolesOf()).some(role => role.id === approval.approverRoleId)\n}\n\n/**\n * An instance reaches whoever made it, and anyone holding any one of the roles it is waiting for - once,\n * however many of them they hold: this answers yes or no for one subscriber. The roles are\n * asked only after the domain matched — the lookup is not free and is never needed for another tenant.\n */\nexport async function hearsInstance(\n instance: { domainId?: string; creatorId?: string; assigneeRoleIds?: string[] },\n domain: DomainLike,\n userId: string,\n rolesOf: () => Promise<{ id: string }[]>\n): Promise<boolean> {\n if (!inDomain(instance?.domainId, domain)) return false\n if (instance.creatorId === userId) return true\n const poolIds = instance.assigneeRoleIds || []\n if (!poolIds.length) return false\n\n const held = (await rolesOf()).map(role => role.id)\n return poolIds.some(id => held.includes(id))\n}\n"]}
@@ -0,0 +1,70 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { Activity } from '../activity/activity.js';
3
+ import { ApprovalLineStanding, ApprovalSeatReader } from './approval-line-standing.js';
4
+ /**
5
+ * 이 도메인에 선 결재 양식을 이름으로 찾는다 — **규칙을 한 군데 둔다.**
6
+ *
7
+ * ── 두 모양으로 낸다 ───────────────────────────────────────────────────────
8
+ * `activityNamedIn` 은 `manager` 를 받고, `activityNamed` 는 컨텍스트에서 꺼내 그것을 부른다.
9
+ * 질의에는 `tx` 가 없기 때문이다(§`activityNamed`).
10
+ *
11
+ * ── 왜 부모까지 보나 ───────────────────────────────────────────────────────
12
+ * 결재 양식을 본사에서 정하고 공장이 쓰는 것이 정상이다(`dataset` 의 `issueOocResolve` 와 같은 규율).
13
+ * 그래서 이 도메인에 없으면 부모에서 찾고, **가까운 도메인의 것이 이긴다** — 공장이 자기 것을 두면
14
+ * 그것이 본사 것을 덮는다.
15
+ *
16
+ * ── 왜 파일이 따로 있나 ────────────────────────────────────────────────────
17
+ * 처분 승인 안에 사적으로 있던 함수다. 정비 완료 확인이 같은 읽기를 하게 되면서 두 벌이 될 자리였고,
18
+ * 이 패키지는 그 값을 이미 치렀다 — 아웃박스와 `erp_postings` 가 같은 기계를 다른 모양으로 들고
19
+ * 있어서 한쪽에서 고친 넷이 다른 쪽에 없다(2026-09-08).
20
+ */
21
+ export declare function activityNamedIn(manager: EntityManager, domain: {
22
+ id: string;
23
+ parentId?: string;
24
+ }, name: string): Promise<Activity | undefined>;
25
+ /**
26
+ * 컨텍스트에서 부르는 자리 — **`tx` 가 없을 수 있다.**
27
+ *
28
+ * `tx` 는 `@Directive('@transaction')` 이 붙은 뮤테이션에만 실린다. 질의에서 그대로 쓰면
29
+ * `Cannot read properties of undefined (reading 'getRepository')` 가 난다 — 처분 승인이 뮤테이션에서만
30
+ * 부르고 있어서 안 드러났고, 정비 쪽 질의에서 부르자 그날 터졌다(2026-09-09).
31
+ *
32
+ * 트랜잭션이 있으면 그것으로 읽는다 — 같은 트랜잭션 안에서 결재선을 보고 상신해야, 보고 나서 내기까지
33
+ * 사이에 누가 결재선을 비우는 것을 막을 수 있다.
34
+ */
35
+ export declare function activityNamed(name: string, context: ResolverContext): Promise<Activity | undefined>;
36
+ /**
37
+ * 이 양식의 결재선이 **차 있나** — 양식이 서 있는 것 · 결재선이 있는 것 · 그 결재선이 도는 것은 셋 다
38
+ * 다르다.
39
+ *
40
+ * 양식은 제품이 기동할 때 세우고, 결재선은 그 공장이 채운다. 그래서 「양식이 있다」로는 이 공장이 그
41
+ * 단계를 쓰기로 했는지 알 수 없다. **결재선이 찬 것이 그 공장의 선언이다.**
42
+ *
43
+ * 비어 있는 것을 결재로 읽으면 안 되는 이유는 워크리스트의 거동이다 — **결재선이 비면 상신이 곧
44
+ * 완료가 되어, 올린 사람이 자기 건을 승인한 것이 된다.**
45
+ *
46
+ * ── 줄 수만 세면 「쓸 때 터지는」 결재선이 통과한다 ───────────────────────
47
+ * 역할을 지목해 놓고 그 역할에 사람이 하나도 없으면, 줄 수는 있는데 결재자는 없다. 문 현황은 「섰다」로
48
+ * 그리고 상신하는 순간 워크리스트 `create-approval` 이 `approver is not set` 으로 던진다. 그래서
49
+ * **사람이 있는지까지 읽는다**(§`approval-line-standing`, ADR-0047 ③).
50
+ *
51
+ * 판단은 순수 모듈에 있고 여기서는 읽기만 한다 — 지목된 역할만 골라 한 번에 읽는다.
52
+ */
53
+ export declare function approvalLineStandingIn(manager: EntityManager, activity?: {
54
+ approvalLine?: unknown[];
55
+ } | null): Promise<ApprovalLineStanding>;
56
+ /** 컨텍스트에서 부르는 자리 — `tx` 가 있으면 그것으로 읽는다(§`activityNamed`). */
57
+ export declare function approvalLineStanding(activity: {
58
+ approvalLine?: unknown[];
59
+ } | null | undefined, context: ResolverContext): Promise<ApprovalLineStanding>;
60
+ /**
61
+ * 결재선의 자리를 사람으로 풀어 보는 포트 — **한 번 읽은 것은 다시 안 묻는다.**
62
+ *
63
+ * 결재선 대부분이 공장장으로 끝난다. 문 열일곱을 한 화면에서 판정할 때 같은 역할을 열일곱 번 묻지
64
+ * 않게, 포트 하나가 자기가 읽은 것을 기억한다. 포트는 **한 판정 동안만** 산다 — 더 오래 살면 역할에
65
+ * 사람을 넣은 직후에도 옛 답을 내놓는다(ADR-0047 ③).
66
+ *
67
+ * 읽는 방식은 **워크리스트가 상신할 때 푸는 방식 그대로**다(`controllers/common.js`). 다르게 읽으면
68
+ * 여기서는 「찼다」인데 거기서는 못 푸는 자리가 생긴다 — 이 정의를 고친 이유가 바로 그것이다.
69
+ */
70
+ export declare function seatReader(manager: EntityManager): ApprovalSeatReader;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.activityNamedIn = activityNamedIn;
4
+ exports.activityNamed = activityNamed;
5
+ exports.approvalLineStandingIn = approvalLineStandingIn;
6
+ exports.approvalLineStanding = approvalLineStanding;
7
+ exports.seatReader = seatReader;
8
+ const typeorm_1 = require("typeorm");
9
+ const shell_1 = require("@things-factory/shell");
10
+ const auth_base_1 = require("@things-factory/auth-base");
11
+ const organization_1 = require("@things-factory/organization");
12
+ const activity_js_1 = require("../activity/activity.js");
13
+ const approval_line_standing_js_1 = require("./approval-line-standing.js");
14
+ /**
15
+ * 이 도메인에 선 결재 양식을 이름으로 찾는다 — **규칙을 한 군데 둔다.**
16
+ *
17
+ * ── 두 모양으로 낸다 ───────────────────────────────────────────────────────
18
+ * `activityNamedIn` 은 `manager` 를 받고, `activityNamed` 는 컨텍스트에서 꺼내 그것을 부른다.
19
+ * 질의에는 `tx` 가 없기 때문이다(§`activityNamed`).
20
+ *
21
+ * ── 왜 부모까지 보나 ───────────────────────────────────────────────────────
22
+ * 결재 양식을 본사에서 정하고 공장이 쓰는 것이 정상이다(`dataset` 의 `issueOocResolve` 와 같은 규율).
23
+ * 그래서 이 도메인에 없으면 부모에서 찾고, **가까운 도메인의 것이 이긴다** — 공장이 자기 것을 두면
24
+ * 그것이 본사 것을 덮는다.
25
+ *
26
+ * ── 왜 파일이 따로 있나 ────────────────────────────────────────────────────
27
+ * 처분 승인 안에 사적으로 있던 함수다. 정비 완료 확인이 같은 읽기를 하게 되면서 두 벌이 될 자리였고,
28
+ * 이 패키지는 그 값을 이미 치렀다 — 아웃박스와 `erp_postings` 가 같은 기계를 다른 모양으로 들고
29
+ * 있어서 한쪽에서 고친 넷이 다른 쪽에 없다(2026-09-08).
30
+ */
31
+ async function activityNamedIn(manager, domain, name) {
32
+ const domainIds = domain.parentId ? [domain.id, domain.parentId] : [domain.id];
33
+ const candidates = await manager.find(activity_js_1.Activity, {
34
+ where: { domain: { id: (0, typeorm_1.In)(domainIds) }, name }
35
+ });
36
+ return [...candidates].sort((a, b) => domainIds.indexOf(a.domainId) - domainIds.indexOf(b.domainId))[0];
37
+ }
38
+ /**
39
+ * 컨텍스트에서 부르는 자리 — **`tx` 가 없을 수 있다.**
40
+ *
41
+ * `tx` 는 `@Directive('@transaction')` 이 붙은 뮤테이션에만 실린다. 질의에서 그대로 쓰면
42
+ * `Cannot read properties of undefined (reading 'getRepository')` 가 난다 — 처분 승인이 뮤테이션에서만
43
+ * 부르고 있어서 안 드러났고, 정비 쪽 질의에서 부르자 그날 터졌다(2026-09-09).
44
+ *
45
+ * 트랜잭션이 있으면 그것으로 읽는다 — 같은 트랜잭션 안에서 결재선을 보고 상신해야, 보고 나서 내기까지
46
+ * 사이에 누가 결재선을 비우는 것을 막을 수 있다.
47
+ */
48
+ async function activityNamed(name, context) {
49
+ const { domain, tx } = context.state;
50
+ return await activityNamedIn(tx ?? (0, shell_1.getRepository)(activity_js_1.Activity).manager, domain, name);
51
+ }
52
+ /**
53
+ * 이 양식의 결재선이 **차 있나** — 양식이 서 있는 것 · 결재선이 있는 것 · 그 결재선이 도는 것은 셋 다
54
+ * 다르다.
55
+ *
56
+ * 양식은 제품이 기동할 때 세우고, 결재선은 그 공장이 채운다. 그래서 「양식이 있다」로는 이 공장이 그
57
+ * 단계를 쓰기로 했는지 알 수 없다. **결재선이 찬 것이 그 공장의 선언이다.**
58
+ *
59
+ * 비어 있는 것을 결재로 읽으면 안 되는 이유는 워크리스트의 거동이다 — **결재선이 비면 상신이 곧
60
+ * 완료가 되어, 올린 사람이 자기 건을 승인한 것이 된다.**
61
+ *
62
+ * ── 줄 수만 세면 「쓸 때 터지는」 결재선이 통과한다 ───────────────────────
63
+ * 역할을 지목해 놓고 그 역할에 사람이 하나도 없으면, 줄 수는 있는데 결재자는 없다. 문 현황은 「섰다」로
64
+ * 그리고 상신하는 순간 워크리스트 `create-approval` 이 `approver is not set` 으로 던진다. 그래서
65
+ * **사람이 있는지까지 읽는다**(§`approval-line-standing`, ADR-0047 ③).
66
+ *
67
+ * 판단은 순수 모듈에 있고 여기서는 읽기만 한다 — 지목된 역할만 골라 한 번에 읽는다.
68
+ */
69
+ async function approvalLineStandingIn(manager, activity) {
70
+ return await (0, approval_line_standing_js_1.judgeApprovalLine)(activity?.approvalLine, seatReader(manager));
71
+ }
72
+ /** 컨텍스트에서 부르는 자리 — `tx` 가 있으면 그것으로 읽는다(§`activityNamed`). */
73
+ async function approvalLineStanding(activity, context) {
74
+ return await approvalLineStandingIn(context.state.tx ?? (0, shell_1.getRepository)(activity_js_1.Activity).manager, activity);
75
+ }
76
+ /**
77
+ * 결재선의 자리를 사람으로 풀어 보는 포트 — **한 번 읽은 것은 다시 안 묻는다.**
78
+ *
79
+ * 결재선 대부분이 공장장으로 끝난다. 문 열일곱을 한 화면에서 판정할 때 같은 역할을 열일곱 번 묻지
80
+ * 않게, 포트 하나가 자기가 읽은 것을 기억한다. 포트는 **한 판정 동안만** 산다 — 더 오래 살면 역할에
81
+ * 사람을 넣은 직후에도 옛 답을 내놓는다(ADR-0047 ③).
82
+ *
83
+ * 읽는 방식은 **워크리스트가 상신할 때 푸는 방식 그대로**다(`controllers/common.js`). 다르게 읽으면
84
+ * 여기서는 「찼다」인데 거기서는 못 푸는 자리가 생긴다 — 이 정의를 고친 이유가 바로 그것이다.
85
+ */
86
+ function seatReader(manager) {
87
+ const roles = new Map();
88
+ const people = new Map();
89
+ const remember = async (known, key, read) => {
90
+ const held = known.get(key);
91
+ if (held !== undefined) {
92
+ return held;
93
+ }
94
+ const found = await read();
95
+ known.set(key, found);
96
+ return found;
97
+ };
98
+ return {
99
+ roleHasMembers: (roleId) => remember(roles, roleId, async () => {
100
+ const role = await manager.findOne(auth_base_1.Role, { where: { id: roleId }, relations: ['users'] });
101
+ return !!role?.users?.length;
102
+ }),
103
+ /* 사람 지목은 **계정까지** 있어야 풀린다 — 워크리스트가 `employee.user` 를 쓴다. */
104
+ personIsHere: (personId) => remember(people, personId, async () => {
105
+ const employee = await manager.findOne(organization_1.Employee, { where: { id: personId }, relations: ['user'] });
106
+ return !!employee?.user;
107
+ })
108
+ };
109
+ }
110
+ //# sourceMappingURL=activity-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-lookup.js","sourceRoot":"","sources":["../../../server/service/work-door/activity-lookup.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, In } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\nimport { Role } from '@things-factory/auth-base'\nimport { Employee } from '@things-factory/organization'\nimport { Activity } from '../activity/activity.js'\n\nimport { ApprovalLineStanding, ApprovalSeatReader, judgeApprovalLine } from './approval-line-standing.js'\n\n/**\n * 이 도메인에 선 결재 양식을 이름으로 찾는다 — **규칙을 한 군데 둔다.**\n *\n * ── 두 모양으로 낸다 ───────────────────────────────────────────────────────\n * `activityNamedIn` 은 `manager` 를 받고, `activityNamed` 는 컨텍스트에서 꺼내 그것을 부른다.\n * 질의에는 `tx` 가 없기 때문이다(§`activityNamed`).\n *\n * ── 왜 부모까지 보나 ───────────────────────────────────────────────────────\n * 결재 양식을 본사에서 정하고 공장이 쓰는 것이 정상이다(`dataset` 의 `issueOocResolve` 와 같은 규율).\n * 그래서 이 도메인에 없으면 부모에서 찾고, **가까운 도메인의 것이 이긴다** — 공장이 자기 것을 두면\n * 그것이 본사 것을 덮는다.\n *\n * ── 왜 파일이 따로 있나 ────────────────────────────────────────────────────\n * 처분 승인 안에 사적으로 있던 함수다. 정비 완료 확인이 같은 읽기를 하게 되면서 두 벌이 될 자리였고,\n * 이 패키지는 그 값을 이미 치렀다 — 아웃박스와 `erp_postings` 가 같은 기계를 다른 모양으로 들고\n * 있어서 한쪽에서 고친 넷이 다른 쪽에 없다(2026-09-08).\n */\nexport async function activityNamedIn(\n manager: EntityManager,\n domain: { id: string; parentId?: string },\n name: string\n): Promise<Activity | undefined> {\n const domainIds = domain.parentId ? [domain.id, domain.parentId] : [domain.id]\n\n const candidates = await manager.find(Activity, {\n where: { domain: { id: In(domainIds) }, name }\n })\n\n return [...candidates].sort((a, b) => domainIds.indexOf(a.domainId) - domainIds.indexOf(b.domainId))[0]\n}\n\n/**\n * 컨텍스트에서 부르는 자리 — **`tx` 가 없을 수 있다.**\n *\n * `tx` 는 `@Directive('@transaction')` 이 붙은 뮤테이션에만 실린다. 질의에서 그대로 쓰면\n * `Cannot read properties of undefined (reading 'getRepository')` 가 난다 — 처분 승인이 뮤테이션에서만\n * 부르고 있어서 안 드러났고, 정비 쪽 질의에서 부르자 그날 터졌다(2026-09-09).\n *\n * 트랜잭션이 있으면 그것으로 읽는다 — 같은 트랜잭션 안에서 결재선을 보고 상신해야, 보고 나서 내기까지\n * 사이에 누가 결재선을 비우는 것을 막을 수 있다.\n */\nexport async function activityNamed(name: string, context: ResolverContext): Promise<Activity | undefined> {\n const { domain, tx } = context.state\n\n return await activityNamedIn(tx ?? getRepository(Activity).manager, domain, name)\n}\n\n/**\n * 이 양식의 결재선이 **차 있나** — 양식이 서 있는 것 · 결재선이 있는 것 · 그 결재선이 도는 것은 셋 다\n * 다르다.\n *\n * 양식은 제품이 기동할 때 세우고, 결재선은 그 공장이 채운다. 그래서 「양식이 있다」로는 이 공장이 그\n * 단계를 쓰기로 했는지 알 수 없다. **결재선이 찬 것이 그 공장의 선언이다.**\n *\n * 비어 있는 것을 결재로 읽으면 안 되는 이유는 워크리스트의 거동이다 — **결재선이 비면 상신이 곧\n * 완료가 되어, 올린 사람이 자기 건을 승인한 것이 된다.**\n *\n * ── 줄 수만 세면 「쓸 때 터지는」 결재선이 통과한다 ───────────────────────\n * 역할을 지목해 놓고 그 역할에 사람이 하나도 없으면, 줄 수는 있는데 결재자는 없다. 문 현황은 「섰다」로\n * 그리고 상신하는 순간 워크리스트 `create-approval` 이 `approver is not set` 으로 던진다. 그래서\n * **사람이 있는지까지 읽는다**(§`approval-line-standing`, ADR-0047 ③).\n *\n * 판단은 순수 모듈에 있고 여기서는 읽기만 한다 — 지목된 역할만 골라 한 번에 읽는다.\n */\nexport async function approvalLineStandingIn(\n manager: EntityManager,\n activity?: { approvalLine?: unknown[] } | null\n): Promise<ApprovalLineStanding> {\n return await judgeApprovalLine(\n activity?.approvalLine as Parameters<typeof judgeApprovalLine>[0],\n seatReader(manager)\n )\n}\n\n/** 컨텍스트에서 부르는 자리 — `tx` 가 있으면 그것으로 읽는다(§`activityNamed`). */\nexport async function approvalLineStanding(\n activity: { approvalLine?: unknown[] } | null | undefined,\n context: ResolverContext\n): Promise<ApprovalLineStanding> {\n return await approvalLineStandingIn(context.state.tx ?? getRepository(Activity).manager, activity)\n}\n\n/**\n * 결재선의 자리를 사람으로 풀어 보는 포트 — **한 번 읽은 것은 다시 안 묻는다.**\n *\n * 결재선 대부분이 공장장으로 끝난다. 문 열일곱을 한 화면에서 판정할 때 같은 역할을 열일곱 번 묻지\n * 않게, 포트 하나가 자기가 읽은 것을 기억한다. 포트는 **한 판정 동안만** 산다 — 더 오래 살면 역할에\n * 사람을 넣은 직후에도 옛 답을 내놓는다(ADR-0047 ③).\n *\n * 읽는 방식은 **워크리스트가 상신할 때 푸는 방식 그대로**다(`controllers/common.js`). 다르게 읽으면\n * 여기서는 「찼다」인데 거기서는 못 푸는 자리가 생긴다 — 이 정의를 고친 이유가 바로 그것이다.\n */\nexport function seatReader(manager: EntityManager): ApprovalSeatReader {\n const roles = new Map<string, boolean>()\n const people = new Map<string, boolean>()\n\n const remember = async (known: Map<string, boolean>, key: string, read: () => Promise<boolean>) => {\n const held = known.get(key)\n\n if (held !== undefined) {\n return held\n }\n\n const found = await read()\n\n known.set(key, found)\n\n return found\n }\n\n return {\n roleHasMembers: (roleId: string) =>\n remember(roles, roleId, async () => {\n const role = await manager.findOne(Role, { where: { id: roleId }, relations: ['users'] })\n\n return !!role?.users?.length\n }),\n /* 사람 지목은 **계정까지** 있어야 풀린다 — 워크리스트가 `employee.user` 를 쓴다. */\n personIsHere: (personId: string) =>\n remember(people, personId, async () => {\n const employee = await manager.findOne(Employee, { where: { id: personId }, relations: ['user'] })\n\n return !!employee?.user\n })\n }\n}\n"]}