@xxmachina/components 19.25.0 → 19.26.0

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 (329) hide show
  1. package/fesm2022/xxmachina-components-extras-flow.mjs +176 -94
  2. package/fesm2022/xxmachina-components-extras-flow.mjs.map +1 -1
  3. package/fesm2022/xxmachina-components-features-command.mjs +16 -16
  4. package/fesm2022/xxmachina-components-features-command.mjs.map +1 -1
  5. package/fesm2022/xxmachina-components-features-query.mjs +15 -15
  6. package/fesm2022/xxmachina-components-features-query.mjs.map +1 -1
  7. package/fesm2022/xxmachina-components-groups-command-form.mjs +6 -6
  8. package/fesm2022/xxmachina-components-groups-command-form.mjs.map +1 -1
  9. package/fesm2022/xxmachina-components-groups-query-form.mjs +11 -11
  10. package/fesm2022/xxmachina-components-groups-query-form.mjs.map +1 -1
  11. package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs +7 -7
  12. package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs.map +1 -1
  13. package/fesm2022/xxmachina-components-molecules-daily-cell.mjs +41 -35
  14. package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +1 -1
  15. package/fesm2022/xxmachina-components-molecules-inline-edit-field.mjs +12 -12
  16. package/fesm2022/xxmachina-components-molecules-inline-edit-field.mjs.map +1 -1
  17. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +16 -16
  18. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs.map +1 -1
  19. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +40 -41
  20. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
  21. package/fesm2022/xxmachina-components-organisms-event-input-section.mjs +8 -10
  22. package/fesm2022/xxmachina-components-organisms-event-input-section.mjs.map +1 -1
  23. package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs +26 -16
  24. package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs.map +1 -1
  25. package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs +12 -12
  26. package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs.map +1 -1
  27. package/fesm2022/xxmachina-components-organisms-xterm.mjs +29 -21
  28. package/fesm2022/xxmachina-components-organisms-xterm.mjs.map +1 -1
  29. package/fesm2022/xxmachina-components-pages-command-harness.mjs.map +1 -1
  30. package/fesm2022/xxmachina-components-pages-command.mjs +26 -26
  31. package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
  32. package/fesm2022/xxmachina-components-pages-query-v2.mjs +27 -28
  33. package/fesm2022/xxmachina-components-pages-query-v2.mjs.map +1 -1
  34. package/fesm2022/xxmachina-components-pages-query.mjs +46 -46
  35. package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
  36. package/fesm2022/xxmachina-components-pages-thread.mjs +14 -14
  37. package/fesm2022/xxmachina-components-pages-thread.mjs.map +1 -1
  38. package/fesm2022/xxmachina-components-routes-commands-command.routes-CSwIdXZg.mjs.map +1 -1
  39. package/fesm2022/xxmachina-components-routes-commands-pages.routes-j2xVop4W.mjs.map +1 -1
  40. package/fesm2022/xxmachina-components-routes-commands.mjs.map +1 -1
  41. package/fesm2022/xxmachina-components-routes-pages.mjs.map +1 -1
  42. package/fesm2022/xxmachina-components-routes-preloading.mjs +3 -3
  43. package/fesm2022/xxmachina-components-routes-preloading.mjs.map +1 -1
  44. package/fesm2022/xxmachina-components-routes-queries-pages.routes-CfrglCIL.mjs.map +1 -1
  45. package/fesm2022/xxmachina-components-routes-queries.mjs +1 -1
  46. package/fesm2022/xxmachina-components-routes-queries.mjs.map +1 -1
  47. package/fesm2022/xxmachina-components-routes-query-pages.routes-CxTbOJDQ.mjs.map +1 -1
  48. package/fesm2022/xxmachina-components-routes-query.mjs.map +1 -1
  49. package/fesm2022/{xxmachina-components-routes-resources-pages.routes-CzjQOxwT.mjs → xxmachina-components-routes-resources-pages.routes-CRXxavHb.mjs} +2 -2
  50. package/fesm2022/xxmachina-components-routes-resources-pages.routes-CRXxavHb.mjs.map +1 -0
  51. package/fesm2022/{xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs → xxmachina-components-routes-resources-resource.routes-CkkmqB2_.mjs} +2 -2
  52. package/fesm2022/xxmachina-components-routes-resources-resource.routes-CkkmqB2_.mjs.map +1 -0
  53. package/fesm2022/xxmachina-components-routes-resources.mjs +1 -1
  54. package/fesm2022/xxmachina-components-routes-resources.mjs.map +1 -1
  55. package/fesm2022/xxmachina-components-routes-side-chat.mjs.map +1 -1
  56. package/fesm2022/xxmachina-components-routes-side.mjs.map +1 -1
  57. package/fesm2022/xxmachina-components-routes-transformer.mjs +6 -6
  58. package/fesm2022/xxmachina-components-routes-transformer.mjs.map +1 -1
  59. package/fesm2022/xxmachina-components-routes-transformers-pages.routes-02pVsNas.mjs.map +1 -1
  60. package/fesm2022/xxmachina-components-routes-transformers.mjs +1 -1
  61. package/fesm2022/xxmachina-components-routes-transformers.mjs.map +1 -1
  62. package/fesm2022/xxmachina-components-routes.mjs.map +1 -1
  63. package/fesm2022/xxmachina-components-services-app.mjs +3 -3
  64. package/fesm2022/xxmachina-components-services-app.mjs.map +1 -1
  65. package/fesm2022/xxmachina-components-services-assistant.mjs +3 -3
  66. package/fesm2022/xxmachina-components-services-assistant.mjs.map +1 -1
  67. package/fesm2022/xxmachina-components-services-command.mjs +4 -4
  68. package/fesm2022/xxmachina-components-services-command.mjs.map +1 -1
  69. package/fesm2022/xxmachina-components-services-context.mjs +4 -4
  70. package/fesm2022/xxmachina-components-services-context.mjs.map +1 -1
  71. package/fesm2022/xxmachina-components-services-contract.mjs +3 -3
  72. package/fesm2022/xxmachina-components-services-contract.mjs.map +1 -1
  73. package/fesm2022/xxmachina-components-services-debug.mjs +4 -4
  74. package/fesm2022/xxmachina-components-services-debug.mjs.map +1 -1
  75. package/fesm2022/xxmachina-components-services-forms-query.mjs +3 -3
  76. package/fesm2022/xxmachina-components-services-forms-query.mjs.map +1 -1
  77. package/fesm2022/xxmachina-components-services-forms-schedule.mjs +3 -3
  78. package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +1 -1
  79. package/fesm2022/xxmachina-components-services-forms-variables.mjs +3 -3
  80. package/fesm2022/xxmachina-components-services-forms-variables.mjs.map +1 -1
  81. package/fesm2022/xxmachina-components-services-graphql.mjs +3 -3
  82. package/fesm2022/xxmachina-components-services-graphql.mjs.map +1 -1
  83. package/fesm2022/xxmachina-components-services-invoice.mjs +3 -3
  84. package/fesm2022/xxmachina-components-services-invoice.mjs.map +1 -1
  85. package/fesm2022/xxmachina-components-services-json-schema.mjs +3 -3
  86. package/fesm2022/xxmachina-components-services-json-schema.mjs.map +1 -1
  87. package/fesm2022/xxmachina-components-services-link.mjs +3 -3
  88. package/fesm2022/xxmachina-components-services-link.mjs.map +1 -1
  89. package/fesm2022/xxmachina-components-services-message.mjs +5 -5
  90. package/fesm2022/xxmachina-components-services-message.mjs.map +1 -1
  91. package/fesm2022/xxmachina-components-services-openai.mjs +9 -9
  92. package/fesm2022/xxmachina-components-services-openai.mjs.map +1 -1
  93. package/fesm2022/xxmachina-components-services-openapi.mjs +3 -3
  94. package/fesm2022/xxmachina-components-services-openapi.mjs.map +1 -1
  95. package/fesm2022/xxmachina-components-services-order.mjs +3 -3
  96. package/fesm2022/xxmachina-components-services-order.mjs.map +1 -1
  97. package/fesm2022/xxmachina-components-services-partner.mjs +3 -3
  98. package/fesm2022/xxmachina-components-services-partner.mjs.map +1 -1
  99. package/fesm2022/xxmachina-components-services-query.mjs +3 -3
  100. package/fesm2022/xxmachina-components-services-query.mjs.map +1 -1
  101. package/fesm2022/xxmachina-components-services-recording.mjs +7 -7
  102. package/fesm2022/xxmachina-components-services-recording.mjs.map +1 -1
  103. package/fesm2022/xxmachina-components-services-thread.mjs +3 -3
  104. package/fesm2022/xxmachina-components-services-thread.mjs.map +1 -1
  105. package/fesm2022/xxmachina-components-services-transformer.mjs +3 -3
  106. package/fesm2022/xxmachina-components-services-transformer.mjs.map +1 -1
  107. package/fesm2022/xxmachina-components-services-youtube.mjs +3 -3
  108. package/fesm2022/xxmachina-components-services-youtube.mjs.map +1 -1
  109. package/fesm2022/xxmachina-components-templates-agent.mjs +19 -21
  110. package/fesm2022/xxmachina-components-templates-agent.mjs.map +1 -1
  111. package/fesm2022/xxmachina-components-templates-background.mjs +9 -9
  112. package/fesm2022/xxmachina-components-templates-background.mjs.map +1 -1
  113. package/fesm2022/xxmachina-components-templates-flow-nodes-group.mjs +5 -5
  114. package/fesm2022/xxmachina-components-templates-flow-nodes-group.mjs.map +1 -1
  115. package/fesm2022/xxmachina-components-templates-flow-nodes-issue.mjs +6 -6
  116. package/fesm2022/xxmachina-components-templates-flow-nodes-issue.mjs.map +1 -1
  117. package/fesm2022/xxmachina-components-templates-flow-nodes-task.mjs +5 -6
  118. package/fesm2022/xxmachina-components-templates-flow-nodes-task.mjs.map +1 -1
  119. package/fesm2022/xxmachina-components-templates-flow.mjs +30 -27
  120. package/fesm2022/xxmachina-components-templates-flow.mjs.map +1 -1
  121. package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs +5 -7
  122. package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs.map +1 -1
  123. package/fesm2022/xxmachina-components-templates-scheduler.mjs +3 -3
  124. package/fesm2022/xxmachina-components-templates-scheduler.mjs.map +1 -1
  125. package/fesm2022/xxmachina-components-templates-video.mjs +16 -16
  126. package/fesm2022/xxmachina-components-templates-video.mjs.map +1 -1
  127. package/fesm2022/xxmachina-components-validators-query.mjs.map +1 -1
  128. package/fesm2022/xxmachina-components.mjs +43 -25
  129. package/fesm2022/xxmachina-components.mjs.map +1 -1
  130. package/package.json +93 -93
  131. package/{extras/flow/index.d.ts → types/xxmachina-components-extras-flow.d.ts} +10 -2
  132. package/types/xxmachina-components-extras-flow.d.ts.map +1 -0
  133. package/{features/command/index.d.ts → types/xxmachina-components-features-command.d.ts} +1 -1
  134. package/types/xxmachina-components-features-command.d.ts.map +1 -0
  135. package/{features/query/index.d.ts → types/xxmachina-components-features-query.d.ts} +1 -1
  136. package/types/xxmachina-components-features-query.d.ts.map +1 -0
  137. package/{groups/command-form/index.d.ts → types/xxmachina-components-groups-command-form.d.ts} +1 -1
  138. package/types/xxmachina-components-groups-command-form.d.ts.map +1 -0
  139. package/{groups/query-form/index.d.ts → types/xxmachina-components-groups-query-form.d.ts} +1 -1
  140. package/types/xxmachina-components-groups-query-form.d.ts.map +1 -0
  141. package/{molecules/calendar-paginator/index.d.ts → types/xxmachina-components-molecules-calendar-paginator.d.ts} +1 -1
  142. package/types/xxmachina-components-molecules-calendar-paginator.d.ts.map +1 -0
  143. package/{molecules/daily-cell/index.d.ts → types/xxmachina-components-molecules-daily-cell.d.ts} +1 -1
  144. package/types/xxmachina-components-molecules-daily-cell.d.ts.map +1 -0
  145. package/{molecules/inline-edit-field/index.d.ts → types/xxmachina-components-molecules-inline-edit-field.d.ts} +1 -1
  146. package/types/xxmachina-components-molecules-inline-edit-field.d.ts.map +1 -0
  147. package/{molecules/weekly-header/index.d.ts → types/xxmachina-components-molecules-weekly-header.d.ts} +1 -1
  148. package/types/xxmachina-components-molecules-weekly-header.d.ts.map +1 -0
  149. package/{organisms/calendar-section/index.d.ts → types/xxmachina-components-organisms-calendar-section.d.ts} +1 -1
  150. package/types/xxmachina-components-organisms-calendar-section.d.ts.map +1 -0
  151. package/{organisms/event-input-section/index.d.ts → types/xxmachina-components-organisms-event-input-section.d.ts} +1 -1
  152. package/types/xxmachina-components-organisms-event-input-section.d.ts.map +1 -0
  153. package/{organisms/terminal-input-section/index.d.ts → types/xxmachina-components-organisms-terminal-input-section.d.ts} +2 -1
  154. package/types/xxmachina-components-organisms-terminal-input-section.d.ts.map +1 -0
  155. package/{organisms/video-trimmer-section/index.d.ts → types/xxmachina-components-organisms-video-trimmer-section.d.ts} +1 -1
  156. package/types/xxmachina-components-organisms-video-trimmer-section.d.ts.map +1 -0
  157. package/{organisms/xterm/index.d.ts → types/xxmachina-components-organisms-xterm.d.ts} +3 -1
  158. package/types/xxmachina-components-organisms-xterm.d.ts.map +1 -0
  159. package/{pages/command/harness/index.d.ts → types/xxmachina-components-pages-command-harness.d.ts} +1 -1
  160. package/types/xxmachina-components-pages-command-harness.d.ts.map +1 -0
  161. package/{pages/command/index.d.ts → types/xxmachina-components-pages-command.d.ts} +1 -1
  162. package/types/xxmachina-components-pages-command.d.ts.map +1 -0
  163. package/{pages/query-v2/index.d.ts → types/xxmachina-components-pages-query-v2.d.ts} +3 -3
  164. package/types/xxmachina-components-pages-query-v2.d.ts.map +1 -0
  165. package/{pages/query/index.d.ts → types/xxmachina-components-pages-query.d.ts} +3 -3
  166. package/types/xxmachina-components-pages-query.d.ts.map +1 -0
  167. package/{pages/thread/index.d.ts → types/xxmachina-components-pages-thread.d.ts} +1 -1
  168. package/types/xxmachina-components-pages-thread.d.ts.map +1 -0
  169. package/types/xxmachina-components-routes-commands.d.ts +6 -0
  170. package/types/xxmachina-components-routes-commands.d.ts.map +1 -0
  171. package/{routes/commands/index.d.ts → types/xxmachina-components-routes-pages.d.ts} +1 -1
  172. package/types/xxmachina-components-routes-pages.d.ts.map +1 -0
  173. package/{routes/preloading/index.d.ts → types/xxmachina-components-routes-preloading.d.ts} +1 -1
  174. package/types/xxmachina-components-routes-preloading.d.ts.map +1 -0
  175. package/{routes/pages/index.d.ts → types/xxmachina-components-routes-queries.d.ts} +1 -1
  176. package/types/xxmachina-components-routes-queries.d.ts.map +1 -0
  177. package/{routes/query/index.d.ts → types/xxmachina-components-routes-query.d.ts} +1 -1
  178. package/types/xxmachina-components-routes-query.d.ts.map +1 -0
  179. package/types/xxmachina-components-routes-resources.d.ts +6 -0
  180. package/types/xxmachina-components-routes-resources.d.ts.map +1 -0
  181. package/types/xxmachina-components-routes-side-chat.d.ts +6 -0
  182. package/types/xxmachina-components-routes-side-chat.d.ts.map +1 -0
  183. package/{routes/queries/index.d.ts → types/xxmachina-components-routes-side.d.ts} +1 -1
  184. package/types/xxmachina-components-routes-side.d.ts.map +1 -0
  185. package/types/xxmachina-components-routes-transformer.d.ts +6 -0
  186. package/types/xxmachina-components-routes-transformer.d.ts.map +1 -0
  187. package/types/xxmachina-components-routes-transformers.d.ts +6 -0
  188. package/types/xxmachina-components-routes-transformers.d.ts.map +1 -0
  189. package/{routes/index.d.ts → types/xxmachina-components-routes.d.ts} +1 -1
  190. package/types/xxmachina-components-routes.d.ts.map +1 -0
  191. package/{services/app/index.d.ts → types/xxmachina-components-services-app.d.ts} +1 -1
  192. package/types/xxmachina-components-services-app.d.ts.map +1 -0
  193. package/{services/assistant/index.d.ts → types/xxmachina-components-services-assistant.d.ts} +1 -1
  194. package/types/xxmachina-components-services-assistant.d.ts.map +1 -0
  195. package/{services/command/index.d.ts → types/xxmachina-components-services-command.d.ts} +1 -1
  196. package/types/xxmachina-components-services-command.d.ts.map +1 -0
  197. package/{services/context/index.d.ts → types/xxmachina-components-services-context.d.ts} +1 -1
  198. package/types/xxmachina-components-services-context.d.ts.map +1 -0
  199. package/{services/contract/index.d.ts → types/xxmachina-components-services-contract.d.ts} +1 -1
  200. package/types/xxmachina-components-services-contract.d.ts.map +1 -0
  201. package/{services/debug/index.d.ts → types/xxmachina-components-services-debug.d.ts} +1 -1
  202. package/types/xxmachina-components-services-debug.d.ts.map +1 -0
  203. package/{services/forms/query/index.d.ts → types/xxmachina-components-services-forms-query.d.ts} +1 -1
  204. package/types/xxmachina-components-services-forms-query.d.ts.map +1 -0
  205. package/{services/forms/schedule/index.d.ts → types/xxmachina-components-services-forms-schedule.d.ts} +1 -1
  206. package/types/xxmachina-components-services-forms-schedule.d.ts.map +1 -0
  207. package/{services/forms/variables/index.d.ts → types/xxmachina-components-services-forms-variables.d.ts} +1 -1
  208. package/types/xxmachina-components-services-forms-variables.d.ts.map +1 -0
  209. package/{services/graphql/index.d.ts → types/xxmachina-components-services-graphql.d.ts} +1 -1
  210. package/types/xxmachina-components-services-graphql.d.ts.map +1 -0
  211. package/{services/invoice/index.d.ts → types/xxmachina-components-services-invoice.d.ts} +1 -1
  212. package/types/xxmachina-components-services-invoice.d.ts.map +1 -0
  213. package/{services/json-schema/index.d.ts → types/xxmachina-components-services-json-schema.d.ts} +1 -1
  214. package/types/xxmachina-components-services-json-schema.d.ts.map +1 -0
  215. package/{services/link/index.d.ts → types/xxmachina-components-services-link.d.ts} +1 -1
  216. package/types/xxmachina-components-services-link.d.ts.map +1 -0
  217. package/{services/message/index.d.ts → types/xxmachina-components-services-message.d.ts} +1 -1
  218. package/types/xxmachina-components-services-message.d.ts.map +1 -0
  219. package/{services/openai/index.d.ts → types/xxmachina-components-services-openai.d.ts} +1 -1
  220. package/types/xxmachina-components-services-openai.d.ts.map +1 -0
  221. package/{services/openapi/index.d.ts → types/xxmachina-components-services-openapi.d.ts} +1 -1
  222. package/types/xxmachina-components-services-openapi.d.ts.map +1 -0
  223. package/{services/order/index.d.ts → types/xxmachina-components-services-order.d.ts} +1 -1
  224. package/types/xxmachina-components-services-order.d.ts.map +1 -0
  225. package/{services/partner/index.d.ts → types/xxmachina-components-services-partner.d.ts} +1 -1
  226. package/types/xxmachina-components-services-partner.d.ts.map +1 -0
  227. package/{services/query/index.d.ts → types/xxmachina-components-services-query.d.ts} +1 -1
  228. package/types/xxmachina-components-services-query.d.ts.map +1 -0
  229. package/{services/recording/index.d.ts → types/xxmachina-components-services-recording.d.ts} +1 -1
  230. package/types/xxmachina-components-services-recording.d.ts.map +1 -0
  231. package/{services/thread/index.d.ts → types/xxmachina-components-services-thread.d.ts} +1 -1
  232. package/types/xxmachina-components-services-thread.d.ts.map +1 -0
  233. package/{services/transformer/index.d.ts → types/xxmachina-components-services-transformer.d.ts} +1 -1
  234. package/types/xxmachina-components-services-transformer.d.ts.map +1 -0
  235. package/{services/youtube/index.d.ts → types/xxmachina-components-services-youtube.d.ts} +1 -1
  236. package/types/xxmachina-components-services-youtube.d.ts.map +1 -0
  237. package/{templates/agent/index.d.ts → types/xxmachina-components-templates-agent.d.ts} +1 -1
  238. package/types/xxmachina-components-templates-agent.d.ts.map +1 -0
  239. package/{templates/background/index.d.ts → types/xxmachina-components-templates-background.d.ts} +1 -1
  240. package/types/xxmachina-components-templates-background.d.ts.map +1 -0
  241. package/{templates/flow/nodes/group/index.d.ts → types/xxmachina-components-templates-flow-nodes-group.d.ts} +1 -1
  242. package/types/xxmachina-components-templates-flow-nodes-group.d.ts.map +1 -0
  243. package/{templates/flow/nodes/issue/index.d.ts → types/xxmachina-components-templates-flow-nodes-issue.d.ts} +1 -1
  244. package/types/xxmachina-components-templates-flow-nodes-issue.d.ts.map +1 -0
  245. package/{templates/flow/nodes/task/index.d.ts → types/xxmachina-components-templates-flow-nodes-task.d.ts} +1 -1
  246. package/types/xxmachina-components-templates-flow-nodes-task.d.ts.map +1 -0
  247. package/{templates/flow/index.d.ts → types/xxmachina-components-templates-flow.d.ts} +7 -2
  248. package/types/xxmachina-components-templates-flow.d.ts.map +1 -0
  249. package/{templates/invoice-iframe/index.d.ts → types/xxmachina-components-templates-invoice-iframe.d.ts} +1 -1
  250. package/types/xxmachina-components-templates-invoice-iframe.d.ts.map +1 -0
  251. package/{templates/scheduler/index.d.ts → types/xxmachina-components-templates-scheduler.d.ts} +1 -1
  252. package/types/xxmachina-components-templates-scheduler.d.ts.map +1 -0
  253. package/{templates/video/index.d.ts → types/xxmachina-components-templates-video.d.ts} +1 -1
  254. package/types/xxmachina-components-templates-video.d.ts.map +1 -0
  255. package/{validators/query/index.d.ts → types/xxmachina-components-validators-query.d.ts} +1 -1
  256. package/types/xxmachina-components-validators-query.d.ts.map +1 -0
  257. package/{index.d.ts → types/xxmachina-components.d.ts} +1 -1
  258. package/types/xxmachina-components.d.ts.map +1 -0
  259. package/extras/flow/index.d.ts.map +0 -1
  260. package/features/command/index.d.ts.map +0 -1
  261. package/features/query/index.d.ts.map +0 -1
  262. package/fesm2022/xxmachina-components-routes-resources-pages.routes-CzjQOxwT.mjs.map +0 -1
  263. package/fesm2022/xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs.map +0 -1
  264. package/groups/command-form/index.d.ts.map +0 -1
  265. package/groups/query-form/index.d.ts.map +0 -1
  266. package/index.d.ts.map +0 -1
  267. package/molecules/calendar-paginator/index.d.ts.map +0 -1
  268. package/molecules/daily-cell/index.d.ts.map +0 -1
  269. package/molecules/inline-edit-field/index.d.ts.map +0 -1
  270. package/molecules/weekly-header/index.d.ts.map +0 -1
  271. package/organisms/calendar-section/index.d.ts.map +0 -1
  272. package/organisms/event-input-section/index.d.ts.map +0 -1
  273. package/organisms/terminal-input-section/index.d.ts.map +0 -1
  274. package/organisms/video-trimmer-section/index.d.ts.map +0 -1
  275. package/organisms/xterm/index.d.ts.map +0 -1
  276. package/pages/command/harness/index.d.ts.map +0 -1
  277. package/pages/command/index.d.ts.map +0 -1
  278. package/pages/query/index.d.ts.map +0 -1
  279. package/pages/query-v2/index.d.ts.map +0 -1
  280. package/pages/thread/index.d.ts.map +0 -1
  281. package/routes/commands/index.d.ts.map +0 -1
  282. package/routes/index.d.ts.map +0 -1
  283. package/routes/pages/index.d.ts.map +0 -1
  284. package/routes/preloading/index.d.ts.map +0 -1
  285. package/routes/queries/index.d.ts.map +0 -1
  286. package/routes/query/index.d.ts.map +0 -1
  287. package/routes/resources/index.d.ts +0 -6
  288. package/routes/resources/index.d.ts.map +0 -1
  289. package/routes/side/chat/index.d.ts +0 -6
  290. package/routes/side/chat/index.d.ts.map +0 -1
  291. package/routes/side/index.d.ts +0 -6
  292. package/routes/side/index.d.ts.map +0 -1
  293. package/routes/transformer/index.d.ts +0 -6
  294. package/routes/transformer/index.d.ts.map +0 -1
  295. package/routes/transformers/index.d.ts +0 -6
  296. package/routes/transformers/index.d.ts.map +0 -1
  297. package/services/app/index.d.ts.map +0 -1
  298. package/services/assistant/index.d.ts.map +0 -1
  299. package/services/command/index.d.ts.map +0 -1
  300. package/services/context/index.d.ts.map +0 -1
  301. package/services/contract/index.d.ts.map +0 -1
  302. package/services/debug/index.d.ts.map +0 -1
  303. package/services/forms/query/index.d.ts.map +0 -1
  304. package/services/forms/schedule/index.d.ts.map +0 -1
  305. package/services/forms/variables/index.d.ts.map +0 -1
  306. package/services/graphql/index.d.ts.map +0 -1
  307. package/services/invoice/index.d.ts.map +0 -1
  308. package/services/json-schema/index.d.ts.map +0 -1
  309. package/services/link/index.d.ts.map +0 -1
  310. package/services/message/index.d.ts.map +0 -1
  311. package/services/openai/index.d.ts.map +0 -1
  312. package/services/openapi/index.d.ts.map +0 -1
  313. package/services/order/index.d.ts.map +0 -1
  314. package/services/partner/index.d.ts.map +0 -1
  315. package/services/query/index.d.ts.map +0 -1
  316. package/services/recording/index.d.ts.map +0 -1
  317. package/services/thread/index.d.ts.map +0 -1
  318. package/services/transformer/index.d.ts.map +0 -1
  319. package/services/youtube/index.d.ts.map +0 -1
  320. package/templates/agent/index.d.ts.map +0 -1
  321. package/templates/background/index.d.ts.map +0 -1
  322. package/templates/flow/index.d.ts.map +0 -1
  323. package/templates/flow/nodes/group/index.d.ts.map +0 -1
  324. package/templates/flow/nodes/issue/index.d.ts.map +0 -1
  325. package/templates/flow/nodes/task/index.d.ts.map +0 -1
  326. package/templates/invoice-iframe/index.d.ts.map +0 -1
  327. package/templates/scheduler/index.d.ts.map +0 -1
  328. package/templates/video/index.d.ts.map +0 -1
  329. package/validators/query/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-pages-command-harness.mjs","sources":["../tmp-esm2022/pages/command/harness/command-page.harness.js","../tmp-esm2022/pages/command/harness/xxmachina-components-pages-command-harness.js"],"sourcesContent":["import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\nimport { FormTemplateHarness } from '@ng-atomic/components/templates/form/harness';\nexport class CommandPageHarness extends ComponentHarness {\n static hostSelector = 'pages-command';\n _form = this.locatorFor(FormTemplateHarness);\n static with(options = {}) {\n return new HarnessPredicate(CommandPageHarness, options);\n }\n async getForm() {\n return this._form();\n }\n async getFieldByLabel(label) {\n const form = await this._form();\n return form.getFieldByLabel(label);\n }\n async clickExecuteButton() {\n const form = await this._form();\n await form.clickActionButton();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wYWdlLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9jb21tYW5kL2hhcm5lc3MvY29tbWFuZC1wYWdlLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbkYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUN0RCxNQUFNLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQztJQUU5QixLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXJELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBbUMsRUFBRTtRQUMvQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBYTtRQUNqQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSwgVGVzdEVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBGb3JtVGVtcGxhdGVIYXJuZXNzIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9mb3JtL2hhcm5lc3MnO1xuXG5leHBvcnQgY2xhc3MgQ29tbWFuZFBhZ2VIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAncGFnZXMtY29tbWFuZCc7XG5cbiAgcHJpdmF0ZSBfZm9ybSA9IHRoaXMubG9jYXRvckZvcihGb3JtVGVtcGxhdGVIYXJuZXNzKTtcblxuICBzdGF0aWMgd2l0aChvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9KTogSGFybmVzc1ByZWRpY2F0ZTxDb21tYW5kUGFnZUhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoQ29tbWFuZFBhZ2VIYXJuZXNzLCBvcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIGdldEZvcm0oKTogUHJvbWlzZTxGb3JtVGVtcGxhdGVIYXJuZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm0oKTtcbiAgfVxuXG4gIGFzeW5jIGdldEZpZWxkQnlMYWJlbChsYWJlbDogc3RyaW5nKTogUHJvbWlzZTxUZXN0RWxlbWVudCB8IG51bGw+IHtcbiAgICBjb25zdCBmb3JtID0gYXdhaXQgdGhpcy5fZm9ybSgpO1xuICAgIHJldHVybiBmb3JtLmdldEZpZWxkQnlMYWJlbChsYWJlbCk7XG4gIH1cblxuICBhc3luYyBjbGlja0V4ZWN1dGVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybSA9IGF3YWl0IHRoaXMuX2Zvcm0oKTtcbiAgICBhd2FpdCBmb3JtLmNsaWNrQWN0aW9uQnV0dG9uKCk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtY29tbWFuZC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvY29tbWFuZC9oYXJuZXNzL3h4bWFjaGluYS1jb21wb25lbnRzLXBhZ2VzLWNvbW1hbmQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,SAAS,gBAAgB,CAAC;AACzD,IAAI,OAAO,YAAY,GAAG,eAAe;AACzC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAChD,IAAI,OAAO,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,OAAO,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC;AAChE,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE;AAC3B,IAAI;AACJ,IAAI,MAAM,eAAe,CAAC,KAAK,EAAE;AACjC,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;AACvC,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAC1C,IAAI;AACJ,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;AACvC,QAAQ,MAAM,IAAI,CAAC,iBAAiB,EAAE;AACtC,IAAI;AACJ;;ACnBA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-components-pages-command-harness.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/pages/command/harness/command-page.harness.ts","../../../../../packages/@xxmachina/components/src/lib/pages/command/harness/xxmachina-components-pages-command-harness.ts"],"sourcesContent":["import { ComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { FormTemplateHarness } from '@ng-atomic/components/templates/form/harness';\n\nexport class CommandPageHarness extends ComponentHarness {\n static hostSelector = 'pages-command';\n\n private _form = this.locatorFor(FormTemplateHarness);\n\n static with(options: Record<string, unknown> = {}): HarnessPredicate<CommandPageHarness> {\n return new HarnessPredicate(CommandPageHarness, options);\n }\n\n async getForm(): Promise<FormTemplateHarness> {\n return this._form();\n }\n\n async getFieldByLabel(label: string): Promise<TestElement | null> {\n const form = await this._form();\n return form.getFieldByLabel(label);\n }\n\n async clickExecuteButton(): Promise<void> {\n const form = await this._form();\n await form.clickActionButton();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGM,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;AACtD,IAAA,OAAO,YAAY,GAAG,eAAe;AAE7B,IAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAEpD,IAAA,OAAO,IAAI,CAAC,OAAA,GAAmC,EAAE,EAAA;AAC/C,QAAA,OAAO,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC1D;AAEA,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;IAEA,MAAM,eAAe,CAAC,KAAa,EAAA;AACjC,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;AAC/B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC;AAEA,IAAA,MAAM,kBAAkB,GAAA;AACtB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;AAC/B,QAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE;IAChC;;;ACxBF;;AAEG;;;;"}
@@ -200,7 +200,7 @@ let CommandPageStore = class CommandPageStore extends InjectableComponent {
200
200
  static provideRouteParamMapToDataInitializer(projector) {
201
201
  return CommandPageStore_1.Initializer.provide((store) => {
202
202
  const paramMap = injectRouteParamMap({ merge: true });
203
- const data = computed(() => projector(paramMap()));
203
+ const data = computed(() => projector(paramMap()), ...(ngDevMode ? [{ debugName: "data" }] : []));
204
204
  effect(() => applyToInput(store, 'data', data()));
205
205
  });
206
206
  }
@@ -223,8 +223,8 @@ let CommandPageStore = class CommandPageStore extends InjectableComponent {
223
223
  return provideEffect(ActionId.EXECUTE_COMMAND, () => {
224
224
  const store = inject(CommandPageStore_1);
225
225
  const app = inject(AppService);
226
- const paramKeys = computed(() => EndpointHelper.extract(store.feature.path()));
227
- const resolvedParams = computed(() => pick(store.data(), paramKeys()));
226
+ const paramKeys = computed(() => EndpointHelper.extract(store.feature.path()), ...(ngDevMode ? [{ debugName: "paramKeys" }] : []));
227
+ const resolvedParams = computed(() => pick(store.data(), paramKeys()), ...(ngDevMode ? [{ debugName: "resolvedParams" }] : []));
228
228
  return () => {
229
229
  const resolvedEndpoint = EndpointHelper.resolve(store.feature.path(), resolvedParams());
230
230
  const data = buildData(store.form(), store.command()?.webApiRequest?.contentType);
@@ -330,44 +330,44 @@ let CommandPageStore = class CommandPageStore extends InjectableComponent {
330
330
  feature = inject(CommandFeature);
331
331
  config = CommandPageStore_1.Config.inject();
332
332
  queryFeature = inject(QueryFeature);
333
- style = input(_computed(() => this.config().style));
333
+ style = input(_computed(() => this.config().style), ...(ngDevMode ? [{ debugName: "style" }] : []));
334
334
  #navStartActions = injectNavStartActionsV2();
335
- navStartActions = input(_computed(() => this.#navStartActions()));
336
- navEndActions = input(_computed(() => this.config().navEndActions));
337
- command = input(_computed(() => this.config().command));
338
- form = input(_computed(() => this.feature.form()));
339
- extractedFormFieldMap = input(_computed(() => this.feature.extractedFormFieldMap()));
340
- additionalFormFieldMap = input(_computed(() => this.config().additionalFormFieldMap));
335
+ navStartActions = input(_computed(() => this.#navStartActions()), ...(ngDevMode ? [{ debugName: "navStartActions" }] : []));
336
+ navEndActions = input(_computed(() => this.config().navEndActions), ...(ngDevMode ? [{ debugName: "navEndActions" }] : []));
337
+ command = input(_computed(() => this.config().command), ...(ngDevMode ? [{ debugName: "command" }] : []));
338
+ form = input(_computed(() => this.feature.form()), ...(ngDevMode ? [{ debugName: "form" }] : []));
339
+ extractedFormFieldMap = input(_computed(() => this.feature.extractedFormFieldMap()), ...(ngDevMode ? [{ debugName: "extractedFormFieldMap" }] : []));
340
+ additionalFormFieldMap = input(_computed(() => this.config().additionalFormFieldMap), ...(ngDevMode ? [{ debugName: "additionalFormFieldMap" }] : []));
341
341
  formFieldMap = input(_computed(() => ({
342
342
  ...this.extractedFormFieldMap(),
343
343
  ...this.additionalFormFieldMap()
344
- })));
345
- formFieldKeys = input(_computed(() => []));
346
- formFlatExcludes = input(_computed(() => []));
344
+ })), ...(ngDevMode ? [{ debugName: "formFieldMap" }] : []));
345
+ formFieldKeys = input(_computed(() => []), ...(ngDevMode ? [{ debugName: "formFieldKeys" }] : []));
346
+ formFlatExcludes = input(_computed(() => []), ...(ngDevMode ? [{ debugName: "formFlatExcludes" }] : []));
347
347
  _initializeQuery = injectRouteData('query');
348
- initializeQuery = input(_computed(() => this._initializeQuery()));
348
+ initializeQuery = input(_computed(() => this._initializeQuery()), ...(ngDevMode ? [{ debugName: "initializeQuery" }] : []));
349
349
  _data = injectUnflattenRouteParam('data');
350
- data = input(_computed(() => this._data()));
350
+ data = input(_computed(() => this._data()), ...(ngDevMode ? [{ debugName: "data" }] : []));
351
351
  formInvalid = derivedAsync(() => getInvalid$(this.form()));
352
- title = input(_computed(() => this.config().title || this.feature.title()));
352
+ title = input(_computed(() => this.config().title || this.feature.title()), ...(ngDevMode ? [{ debugName: "title" }] : []));
353
353
  #actions = derivedAsync(() => buildActions(this.feature.hasPermission(this.command()), this.formInvalid()));
354
- actions = input(_computed(() => this.#actions()));
354
+ actions = input(_computed(() => this.#actions()), ...(ngDevMode ? [{ debugName: "actions" }] : []));
355
355
  skip = injectRouteSkip();
356
356
  constructor() {
357
357
  super();
358
358
  CommandPageStore_1.Initializer.initializeStore(this);
359
359
  }
360
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });
361
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.5", type: CommandPageStore, isStandalone: true, inputs: { style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: "navStartActions", publicName: "navStartActions", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: "navEndActions", publicName: "navEndActions", isSignal: true, isRequired: false, transformFunction: null }, command: { classPropertyName: "command", publicName: "command", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, extractedFormFieldMap: { classPropertyName: "extractedFormFieldMap", publicName: "extractedFormFieldMap", isSignal: true, isRequired: false, transformFunction: null }, additionalFormFieldMap: { classPropertyName: "additionalFormFieldMap", publicName: "additionalFormFieldMap", isSignal: true, isRequired: false, transformFunction: null }, formFieldMap: { classPropertyName: "formFieldMap", publicName: "formFieldMap", isSignal: true, isRequired: false, transformFunction: null }, formFieldKeys: { classPropertyName: "formFieldKeys", publicName: "formFieldKeys", isSignal: true, isRequired: false, transformFunction: null }, formFlatExcludes: { classPropertyName: "formFlatExcludes", publicName: "formFlatExcludes", isSignal: true, isRequired: false, transformFunction: null }, initializeQuery: { classPropertyName: "initializeQuery", publicName: "initializeQuery", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
360
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CommandPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });
361
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.6", type: CommandPageStore, isStandalone: true, inputs: { style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: "navStartActions", publicName: "navStartActions", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: "navEndActions", publicName: "navEndActions", isSignal: true, isRequired: false, transformFunction: null }, command: { classPropertyName: "command", publicName: "command", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, extractedFormFieldMap: { classPropertyName: "extractedFormFieldMap", publicName: "extractedFormFieldMap", isSignal: true, isRequired: false, transformFunction: null }, additionalFormFieldMap: { classPropertyName: "additionalFormFieldMap", publicName: "additionalFormFieldMap", isSignal: true, isRequired: false, transformFunction: null }, formFieldMap: { classPropertyName: "formFieldMap", publicName: "formFieldMap", isSignal: true, isRequired: false, transformFunction: null }, formFieldKeys: { classPropertyName: "formFieldKeys", publicName: "formFieldKeys", isSignal: true, isRequired: false, transformFunction: null }, formFlatExcludes: { classPropertyName: "formFlatExcludes", publicName: "formFlatExcludes", isSignal: true, isRequired: false, transformFunction: null }, initializeQuery: { classPropertyName: "initializeQuery", publicName: "initializeQuery", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
362
362
  };
363
363
  CommandPageStore = CommandPageStore_1 = __decorate([
364
364
  TokenizedType(),
365
365
  __metadata("design:paramtypes", [])
366
366
  ], CommandPageStore);
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandPageStore, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CommandPageStore, decorators: [{
368
368
  type: Directive,
369
369
  args: [{ standalone: true }]
370
- }], ctorParameters: () => [] });
370
+ }], ctorParameters: () => [], propDecorators: { style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], navStartActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "navStartActions", required: false }] }], navEndActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "navEndActions", required: false }] }], command: [{ type: i0.Input, args: [{ isSignal: true, alias: "command", required: false }] }], form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: false }] }], extractedFormFieldMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "extractedFormFieldMap", required: false }] }], additionalFormFieldMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalFormFieldMap", required: false }] }], formFieldMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "formFieldMap", required: false }] }], formFieldKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "formFieldKeys", required: false }] }], formFlatExcludes: [{ type: i0.Input, args: [{ isSignal: true, alias: "formFlatExcludes", required: false }] }], initializeQuery: [{ type: i0.Input, args: [{ isSignal: true, alias: "initializeQuery", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }] } });
371
371
  class CommandPage extends NgAtomicComponent {
372
372
  store = inject(CommandPageStore);
373
373
  route = inject(ActivatedRoute);
@@ -376,8 +376,8 @@ class CommandPage extends NgAtomicComponent {
376
376
  onFileSelected(payload) {
377
377
  this.dispatch({ id: ActionId.FILE_SELECTED, payload });
378
378
  }
379
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandPage, deps: null, target: i0.ɵɵFactoryTarget.Component });
380
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.5", type: CommandPage, isStandalone: true, selector: "pages-command", providers: [
379
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CommandPage, deps: null, target: i0.ɵɵFactoryTarget.Component });
380
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: CommandPage, isStandalone: true, selector: "pages-command", providers: [
381
381
  CommandFeature,
382
382
  QueryFeature,
383
383
  QueryGraphqlSchemaFeature
@@ -408,7 +408,7 @@ class CommandPage extends NgAtomicComponent {
408
408
  </frames-tabs>
409
409
  </templates-form>
410
410
  </frames-router-outlet>
411
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-cSL5: var(--page-width-lv1);--primary-color-SCOPED-IN-command-cSL5: var(--primary-color);--on-primary-color-SCOPED-IN-command-cSL5: var(--on-primary-color);--background-color-SCOPED-IN-command-cSL5: var(--background-color);--on-background-color-SCOPED-IN-command-cSL5: var(--on-background-color)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-cSL5)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-cSL5);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-cSL5);--background-color: var(--background-color-SCOPED-IN-command-cSL5);--on-background-color: var(--on-background-color-SCOPED-IN-command-cSL5)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }, { kind: "component", type: TabsFrame, selector: "frames-tabs", inputs: ["labels"], outputs: ["selectedTabIndexChange"] }, { kind: "component", type: CommandFormGroup, selector: "groups-command-form", inputs: ["apiJsonUrls"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }] });
411
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-v97d: var(--page-width-lv1);--primary-color-SCOPED-IN-command-v97d: var(--primary-color);--on-primary-color-SCOPED-IN-command-v97d: var(--on-primary-color);--background-color-SCOPED-IN-command-v97d: var(--background-color);--on-background-color-SCOPED-IN-command-v97d: var(--on-background-color)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-v97d)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-v97d);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-v97d);--background-color: var(--background-color-SCOPED-IN-command-v97d);--on-background-color: var(--on-background-color-SCOPED-IN-command-v97d)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }, { kind: "component", type: TabsFrame, selector: "frames-tabs", inputs: ["labels"], outputs: ["selectedTabIndexChange"] }, { kind: "component", type: CommandFormGroup, selector: "groups-command-form", inputs: ["apiJsonUrls"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }] });
412
412
  }
413
413
  __decorate([
414
414
  Effect(FormTemplateStore.ActionId.FILE_SELECTED),
@@ -416,7 +416,7 @@ __decorate([
416
416
  __metadata("design:paramtypes", [Object]),
417
417
  __metadata("design:returntype", void 0)
418
418
  ], CommandPage.prototype, "onFileSelected", null);
419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandPage, decorators: [{
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CommandPage, decorators: [{
420
420
  type: Component,
421
421
  args: [{ selector: 'pages-command', imports: [
422
422
  RouterOutletFrame,
@@ -471,7 +471,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImpor
471
471
  'actions',
472
472
  ]
473
473
  },
474
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-cSL5: var(--page-width-lv1);--primary-color-SCOPED-IN-command-cSL5: var(--primary-color);--on-primary-color-SCOPED-IN-command-cSL5: var(--on-primary-color);--background-color-SCOPED-IN-command-cSL5: var(--background-color);--on-background-color-SCOPED-IN-command-cSL5: var(--on-background-color)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-cSL5)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-cSL5);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-cSL5);--background-color: var(--background-color-SCOPED-IN-command-cSL5);--on-background-color: var(--on-background-color-SCOPED-IN-command-cSL5)}\n"] }]
474
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-v97d: var(--page-width-lv1);--primary-color-SCOPED-IN-command-v97d: var(--primary-color);--on-primary-color-SCOPED-IN-command-v97d: var(--on-primary-color);--background-color-SCOPED-IN-command-v97d: var(--background-color);--on-background-color-SCOPED-IN-command-v97d: var(--on-background-color)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-v97d)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-v97d);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-v97d);--background-color: var(--background-color-SCOPED-IN-command-v97d);--on-background-color: var(--on-background-color-SCOPED-IN-command-v97d)}\n"] }]
475
475
  }], propDecorators: { onFileSelected: [] } });
476
476
 
477
477
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-pages-command.mjs","sources":["../tmp-esm2022/pages/command/command.page.js","../tmp-esm2022/pages/command/xxmachina-components-pages-command.js"],"sourcesContent":["var CommandPageStore_1;\nimport { __decorate, __metadata } from \"tslib\";\nimport { Component, computed, Directive, effect, inject, input, untracked } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { _computed, applyToInput, Effect, InjectableComponent, NgAtomicComponent, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormTemplate, FormTemplateStore } from '@ng-atomic/components/templates/form';\nimport { getInvalid$, getValue$, injectRouteData, injectRouteData$, injectRouteParam, injectRouteParam$, injectRouteParamMap, injectRouteSkip, injectUnflattenRouteParam$ } from '@ng-atomic/common/utils';\nimport { map, tap, filter, combineLatest, shareReplay, of } from 'rxjs';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { merge, pick } from 'lodash-es';\nimport { injectOne$ } from '@ng-atomic/common/stores/entities';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { EndpointHelper } from '@xxmachina/common/domain/models';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { CommandFeature } from '@xxmachina/components/features/command';\nimport { TabsFrame } from '@ng-atomic/components/frames/tabs';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { CommandFormGroup } from '@xxmachina/components/groups/command-form';\nimport { QueryFeature, QueryGraphqlSchemaFeature } from '@xxmachina/components/features/query';\nimport { CloudStorageService } from '@nx-ddd/common/infrastructure/externals/cloud-storage';\nimport { injectErrorMessageResolver } from '@ng-atomic/common/pipes/error';\nimport * as i0 from \"@angular/core\";\nvar ActionId;\n(function (ActionId) {\n ActionId[\"EXECUTE_COMMAND\"] = \"execute-command\";\n ActionId[\"FILE_SELECTED\"] = \"file-selected\";\n})(ActionId || (ActionId = {}));\nfunction buildFormData(form, formData = new FormData(), parentKey = '') {\n Object.keys(form.controls).forEach(key => {\n const control = form.get(key);\n const formKey = parentKey ? `${parentKey}.${key}` : key;\n if (control instanceof FormGroup || control instanceof FormArray) {\n // 子のFormGroupやFormArrayを再帰的に処理\n buildFormData(control, formData, formKey);\n }\n else if (control instanceof FormControl) {\n // フォームの値を追加\n const value = control.value;\n if (value !== null && value !== undefined) {\n formData.append(formKey, value);\n }\n }\n });\n return formData;\n}\nfunction buildData(form, contentType) {\n if (contentType === 'multipart/form-data') {\n return buildFormData(form);\n }\n else {\n return form.getRawValue();\n }\n}\nexport function buildActions(hasPermission, invalid) {\n return hasPermission\n ? [{ id: ActionId.EXECUTE_COMMAND, name: '実行', disabled: invalid }]\n : [{ id: ActionId.EXECUTE_COMMAND, name: '実行権限がありません', disabled: true }];\n}\nlet CommandPageStore = class CommandPageStore extends InjectableComponent {\n static { CommandPageStore_1 = this; }\n static ActionId = ActionId;\n static DI = makeDI(CommandPageStore_1, () => {\n const dev = inject(MachinaDevService);\n return () => ({\n title: '',\n style: {\n width: 'var(--page-width-lv1)',\n },\n baseUrls: [],\n command: {\n id: '1',\n webApiRequest: {\n serverUrl: null,\n apiJsonUrl: null,\n path: '/users',\n method: 'GET',\n bodySchema: null,\n },\n },\n navEndActions: [],\n additionalFormFieldMap: (dev.isDevMode() ? {} : {\n 'id': { type: 'hidden' },\n '__typename': { type: 'hidden' },\n 'kind': { type: 'hidden' },\n }),\n });\n }, ['@xxmachina/components', 'pages', 'command']);\n static Config = CommandPageStore_1.DI.Config;\n static Initializer = CommandPageStore_1.DI.Initializer;\n static provideDefault() {\n return [\n CommandPageStore_1.DI.provideConfig(),\n CommandPageStore_1.provideDefaultInitializer(),\n CommandPageStore_1.provideDefaultEffects(),\n ];\n }\n static provideCustom() {\n return [\n CommandPageStore_1.provideDefault(),\n CommandPageStore_1.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore_1.provideSetupInitializeQueryInitializer(),\n ];\n }\n static provideDefaultV2() {\n return [\n CommandPageStore_1.Config.provide(),\n CommandPageStore_1.provideDefaultInitializer(),\n CommandPageStore_1.provideDefaultEffects(),\n CommandPageStore_1.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore_1.provideSetupInitializeQueryInitializer(),\n CommandPageStore_1.provideInitialFormValueFromQueryResult(),\n CommandPageStore_1.provideQueryFromRouteData(),\n ];\n }\n static provideDefaultInitializer() {\n return [\n CommandPageStore_1.providePatchFormFromRouteParamInitializer(),\n CommandPageStore_1.providePatchCommandFormValueFromCommandInitializer(),\n CommandPageStore_1.provideInitialFormValueFromQueryResult()\n ];\n }\n static provideDefaultEffects() {\n return [\n CommandPageStore_1.provideExecuteCommandEffect(),\n CommandPageStore_1.provideBackEffect(),\n QueryFeature.provideDefaultEffects(),\n ];\n }\n static provideCommandFromRouteParamInitializer(paramName = 'commandId') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const commandId = injectRouteParam(paramName);\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n static provideCommandIdFromRouteDataInitializer() {\n return CommandPageStore_1.Initializer.provide((store) => {\n const commandId = injectRouteData('commandId');\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n static providePatchFormFromRouteParamInitializer() {\n return [\n CommandPageStore_1.Initializer.provide(store => {\n effect(() => store.form().patchValue(store.data()));\n }),\n ];\n }\n static providePatchCommandFormValueFromCommandInitializer() {\n return [\n CommandPageStore_1.Initializer.provide(store => {\n effect(() => {\n if (!store.command())\n return;\n store.feature.commandForm().patchValue({ ...store.command() });\n });\n })\n ];\n }\n static provideQueryIdFromRouteParam(key = 'queryId') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const queryId$ = injectRouteParam$(key);\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectOne$(Query, { id: queryId$ });\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(filter(({ query, params }) => !!query && !!params), map(({ query, params }) => QueryHelper.setup(query, params)), tap((query) => console.debug('[CommandPage] query:', query)), shareReplay(1)));\n effect(() => {\n console.debug('[CommandPage] setupQuery:', setupQuery());\n store.queryFeature.form.patchValue(setupQuery());\n });\n });\n }\n static provideQueryFromRouteData(key = 'query') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectRouteData$(key);\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(filter(({ query, params }) => !!query), map(({ query, params }) => QueryHelper.setup(query, params)), shareReplay(1)));\n effect(() => { store.queryFeature.form.patchValue(setupQuery()); });\n });\n }\n static provideRouteParamsToDataInitializer(projector) {\n return CommandPageStore_1.Initializer.provide((store) => {\n const route = inject(ActivatedRoute);\n const data = derivedAsync(() => route.params.pipe(map(params => projector(params))));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n static provideRouteParamMapToDataInitializer(projector) {\n return CommandPageStore_1.Initializer.provide((store) => {\n const paramMap = injectRouteParamMap({ merge: true });\n const data = computed(() => projector(paramMap()));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n static provideSetupInitializeQueryInitializer() {\n return CommandPageStore_1.Initializer.provide((store) => {\n const initializeQuery = derivedAsync(() => combineLatest({\n initializeQuery: of(store.initializeQuery()),\n data: of(store.data())\n }).pipe(filter(({ initializeQuery, data }) => !!initializeQuery && !!data), map(({ initializeQuery, data }) => QueryHelper.setup(initializeQuery, data)), filter((initializeQuery) => !!initializeQuery), shareReplay(1)));\n effect(() => store.queryFeature.form.patchValue(initializeQuery()));\n });\n }\n static provideInitialFormValueFromQueryResult() {\n return CommandPageStore_1.Initializer.provide((store) => {\n effect(() => store.form().patchValue(store.queryFeature.result()));\n store.queryFeature.refresh();\n });\n }\n static provideExecuteCommandEffect() {\n return provideEffect(ActionId.EXECUTE_COMMAND, () => {\n const store = inject(CommandPageStore_1);\n const app = inject(AppService);\n const paramKeys = computed(() => EndpointHelper.extract(store.feature.path()));\n const resolvedParams = computed(() => pick(store.data(), paramKeys()));\n return () => {\n const resolvedEndpoint = EndpointHelper.resolve(store.feature.path(), resolvedParams());\n const data = buildData(store.form(), store.command()?.webApiRequest?.contentType);\n const command = merge(store.command(), store.feature.commandForm().getRawValue(), { webApiRequest: { path: resolvedEndpoint } });\n app.loading.await(() => {\n return store.feature.execute(command, data).then(() => {\n app.snackBar.open('成功しました。');\n // history.back();\n }).catch((error) => {\n console.error(error);\n app.snackBar.openError(error);\n });\n });\n };\n });\n }\n static provideBackEffect() {\n return provideEffect(FormTemplateStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n static provideFileSelectedEffect() {\n return provideEffect(CommandPageStore_1.ActionId.FILE_SELECTED, () => {\n const store = inject(CommandPageStore_1);\n return (payload) => {\n store.form().patchValue({ file: payload.files?.[0] });\n };\n });\n }\n static provideDebugFormInitializer() {\n return CommandPageStore_1.Initializer.provide(() => {\n const store = inject(CommandPageStore_1);\n // FormGroupを再帰的に調べる関数(invalidなコントロールのみ)\n const getInvalidControls = (formGroup, path = '') => {\n let invalidControls = [];\n Object.keys(formGroup.controls).forEach(key => {\n const control = formGroup.controls[key];\n const currentPath = path ? `${path}.${key}` : key;\n // invalidなコントロールを記録\n if (control.invalid) {\n invalidControls.push({\n path: currentPath,\n errors: control.errors,\n value: control.value,\n status: control.status,\n valid: control.valid,\n invalid: control.invalid,\n dirty: control.dirty,\n touched: control.touched\n });\n }\n // FormGroupの場合は再帰的に調べる\n if (control.controls) {\n invalidControls = invalidControls.concat(getInvalidControls(control, currentPath));\n }\n });\n return invalidControls;\n };\n const formValue_ = derivedAsync(() => getValue$(store.form()));\n effect(() => {\n const formValue = formValue_();\n const form = untracked(() => store.form());\n console.log('[CommandPage] Form value changed:', formValue);\n console.log('[CommandPage] CommandForm valid:', form?.valid);\n console.log('[CommandPage] CommandForm status:', form?.status);\n if (form) {\n const invalidControls = getInvalidControls(form);\n const invalidPaths = invalidControls.map(control => control.path);\n console.log(`[CommandPage] Found ${invalidControls.length} INVALID controls:`);\n console.log('[CommandPage] INVALID PATHS:', invalidPaths);\n }\n });\n });\n }\n static provideSelectedFileUploadEffect(callbackFactory, { validator = () => null, getPath, }) {\n return provideEffect(CommandPageStore_1.ActionId.FILE_SELECTED, () => {\n const storage = inject(CloudStorageService);\n const app = inject(AppService);\n const callback = callbackFactory();\n const errorMessageResolver = injectErrorMessageResolver();\n return (payload) => {\n const file = payload.files?.[0];\n const errors = validator(file);\n if (errors && Object.keys(errors).length > 0) {\n app.snackBar.open(errorMessageResolver(errors));\n return;\n }\n return app.loading.await(() => {\n const path = getPath();\n return storage.upload(path, file).then(() => {\n app.snackBar.open('ファイルをアップロードしました');\n return storage.getDownloadUrl(path).then((imageUrl) => {\n return callback({ file, path, url: imageUrl });\n });\n }).catch((error) => {\n console.error(error);\n app.snackBar.open('ファイルのアップロードに失敗しました');\n });\n });\n };\n });\n }\n feature = inject(CommandFeature);\n config = CommandPageStore_1.Config.inject();\n queryFeature = inject(QueryFeature);\n style = input(_computed(() => this.config().style));\n #navStartActions = injectNavStartActionsV2();\n navStartActions = input(_computed(() => this.#navStartActions()));\n navEndActions = input(_computed(() => this.config().navEndActions));\n command = input(_computed(() => this.config().command));\n form = input(_computed(() => this.feature.form()));\n extractedFormFieldMap = input(_computed(() => this.feature.extractedFormFieldMap()));\n additionalFormFieldMap = input(_computed(() => this.config().additionalFormFieldMap));\n formFieldMap = input(_computed(() => ({\n ...this.extractedFormFieldMap(),\n ...this.additionalFormFieldMap()\n })));\n formFieldKeys = input(_computed(() => []));\n formFlatExcludes = input(_computed(() => []));\n _initializeQuery = injectRouteData('query');\n initializeQuery = input(_computed(() => this._initializeQuery()));\n _data = injectUnflattenRouteParam('data');\n data = input(_computed(() => this._data()));\n formInvalid = derivedAsync(() => getInvalid$(this.form()));\n title = input(_computed(() => this.config().title || this.feature.title()));\n #actions = derivedAsync(() => buildActions(this.feature.hasPermission(this.command()), this.formInvalid()));\n actions = input(_computed(() => this.#actions()));\n skip = injectRouteSkip();\n constructor() {\n super();\n CommandPageStore_1.Initializer.initializeStore(this);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: CommandPageStore, isStandalone: true, inputs: { style: { classPropertyName: \"style\", publicName: \"style\", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: \"navStartActions\", publicName: \"navStartActions\", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: \"navEndActions\", publicName: \"navEndActions\", isSignal: true, isRequired: false, transformFunction: null }, command: { classPropertyName: \"command\", publicName: \"command\", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: \"form\", publicName: \"form\", isSignal: true, isRequired: false, transformFunction: null }, extractedFormFieldMap: { classPropertyName: \"extractedFormFieldMap\", publicName: \"extractedFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, additionalFormFieldMap: { classPropertyName: \"additionalFormFieldMap\", publicName: \"additionalFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, formFieldMap: { classPropertyName: \"formFieldMap\", publicName: \"formFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, formFieldKeys: { classPropertyName: \"formFieldKeys\", publicName: \"formFieldKeys\", isSignal: true, isRequired: false, transformFunction: null }, formFlatExcludes: { classPropertyName: \"formFlatExcludes\", publicName: \"formFlatExcludes\", isSignal: true, isRequired: false, transformFunction: null }, initializeQuery: { classPropertyName: \"initializeQuery\", publicName: \"initializeQuery\", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: \"actions\", publicName: \"actions\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n};\nCommandPageStore = CommandPageStore_1 = __decorate([\n TokenizedType(),\n __metadata(\"design:paramtypes\", [])\n], CommandPageStore);\nexport { CommandPageStore };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPageStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [] });\nexport class CommandPage extends NgAtomicComponent {\n store = inject(CommandPageStore);\n route = inject(ActivatedRoute);\n app = inject(AppService);\n parentRouterOutletFrame = inject(RouterOutletFrame, { optional: true });\n onFileSelected(payload) {\n this.dispatch({ id: ActionId.FILE_SELECTED, payload });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPage, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: CommandPage, isStandalone: true, selector: \"pages-command\", providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ], usesInheritance: true, hostDirectives: [{ directive: CommandPageStore, inputs: [\"style\", \"style\", \"navEndActions\", \"navEndActions\", \"command\", \"command\", \"form\", \"form\", \"additionalFormFieldMap\", \"additionalFormFieldMap\", \"formFieldMap\", \"formFieldMap\", \"formFlatExcludes\", \"formFlatExcludes\", \"initializeQuery\", \"initializeQuery\", \"data\", \"data\", \"actions\", \"actions\"] }], ngImport: i0, template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `, isInline: true, styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-cSL5: var(--page-width-lv1);--primary-color-SCOPED-IN-command-cSL5: var(--primary-color);--on-primary-color-SCOPED-IN-command-cSL5: var(--on-primary-color);--background-color-SCOPED-IN-command-cSL5: var(--background-color);--on-background-color-SCOPED-IN-command-cSL5: var(--on-background-color)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-cSL5)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-cSL5);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-cSL5);--background-color: var(--background-color-SCOPED-IN-command-cSL5);--on-background-color: var(--on-background-color-SCOPED-IN-command-cSL5)}\\n\"], dependencies: [{ kind: \"component\", type: RouterOutletFrame, selector: \"frames-router-outlet\", outputs: [\"events\"] }, { kind: \"component\", type: FormTemplate, selector: \"templates-form\" }, { kind: \"component\", type: TabsFrame, selector: \"frames-tabs\", inputs: [\"labels\"], outputs: [\"selectedTabIndexChange\"] }, { kind: \"component\", type: CommandFormGroup, selector: \"groups-command-form\", inputs: [\"apiJsonUrls\"] }, { kind: \"component\", type: QueryFormGroup, selector: \"groups-query-form\", inputs: [\"form\", \"keyActions\"] }] });\n}\n__decorate([\n Effect(FormTemplateStore.ActionId.FILE_SELECTED),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], CommandPage.prototype, \"onFileSelected\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPage, decorators: [{\n type: Component,\n args: [{ selector: 'pages-command', imports: [\n RouterOutletFrame,\n FormTemplate,\n TabsFrame,\n CommandFormGroup,\n QueryFormGroup\n ], providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ], template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `, hostDirectives: [\n {\n directive: CommandPageStore,\n inputs: [\n 'style',\n 'navEndActions',\n 'command',\n 'form',\n 'additionalFormFieldMap',\n 'formFieldMap',\n 'formFlatExcludes',\n 'initializeQuery',\n 'data',\n 'actions',\n ]\n },\n ], styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-cSL5: var(--page-width-lv1);--primary-color-SCOPED-IN-command-cSL5: var(--primary-color);--on-primary-color-SCOPED-IN-command-cSL5: var(--on-primary-color);--background-color-SCOPED-IN-command-cSL5: var(--background-color);--on-background-color-SCOPED-IN-command-cSL5: var(--on-background-color)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-cSL5)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-cSL5);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-cSL5);--background-color: var(--background-color-SCOPED-IN-command-cSL5);--on-background-color: var(--on-background-color-SCOPED-IN-command-cSL5)}\\n\"] }]\n }], propDecorators: { onFileSelected: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvY29tbWFuZC9jb21tYW5kLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSixPQUFPLEVBQUUsY0FBYyxFQUFvQixNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM00sT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FB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LEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUdyRSxjQUFjLENBQUMsT0FBTztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO3VHQVRVLFdBQVc7MkZBQVgsV0FBVyw0REFwRFg7WUFDVCxjQUFjO1lBQ2QsWUFBWTtZQUNaLHlCQUF5QjtTQUMxQix1REEvV1UsZ0JBQWdCLHlVQWdYakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVCxvM0JBdENDLGlCQUFpQixzRkFDakIsWUFBWSwyREFDWixTQUFTLGlIQUNULGdCQUFnQix5RkFDaEIsY0FBYzs7QUE2RE47SUFEVCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQzs7OztpREFHaEQ7MkZBVFUsV0FBVztrQkE3RHZCLFNBQVM7K0JBQ0UsZUFBZSxXQUNoQjt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLGNBQWM7cUJBQ2YsYUFDVTt3QkFDVCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1oseUJBQXlCO3FCQUMxQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQsa0JBRWU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLGdCQUFnQjs0QkFDM0IsTUFBTSxFQUFFO2dDQUNOLE9BQU87Z0NBQ1AsZUFBZTtnQ0FDZixTQUFTO2dDQUNULE1BQU07Z0NBQ04sd0JBQXdCO2dDQUN4QixjQUFjO2dDQUNkLGtCQUFrQjtnQ0FDbEIsaUJBQWlCO2dDQUNqQixNQUFNO2dDQUNOLFNBQVM7NkJBQ1Y7eUJBQ0Y7cUJBQ0Y7OEJBU1MsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBQcm92aWRlciwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0JztcbmltcG9ydCB7IENvbW1hbmRTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2NvbW1hbmQnO1xuaW1wb3J0IHsgX2NvbXB1dGVkLCBBY3Rpb24sIGFwcGx5VG9JbnB1dCwgRWZmZWN0LCBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgcHJvdmlkZUVmZmVjdCwgVG9rZW5pemVkVHlwZSB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtVGVtcGxhdGUsIEZvcm1UZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9mb3JtJztcbmltcG9ydCB7IGdldEludmFsaWQkLCBnZXRWYWx1ZSQsIGluamVjdFJvdXRlRGF0YSwgaW5qZWN0Um91dGVEYXRhJCwgaW5qZWN0Um91dGVQYXJhbSwgaW5qZWN0Um91dGVQYXJhbSQsIGluamVjdFJvdXRlUGFyYW1NYXAsIGluamVjdFJvdXRlU2tpcCwgaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBtYXAsIHRhcCwgZmlsdGVyLCBjb21iaW5lTGF0ZXN0LCBzaGFyZVJlcGxheSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1GaWVsZE1hcCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL3NtYXJ0LWZpZWxkJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9hcHAnO1xuaW1wb3J0IHsgaW5qZWN0TmF2U3RhcnRBY3Rpb25zVjIsIG1ha2VESSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IFF1ZXJ5LCBRdWVyeUhlbHBlciB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IG1lcmdlLCBwaWNrIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGluamVjdE9uZSQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zdG9yZXMvZW50aXRpZXMnO1xuaW1wb3J0IHsgTWFjaGluYURldlNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvZGVidWcnO1xuaW1wb3J0IHsgRW5kcG9pbnRIZWxwZXIgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9kb21haW4vbW9kZWxzJztcbmltcG9ydCB7IGRlcml2ZWRBc3luYyB9IGZyb20gJ25neHRlbnNpb24vZGVyaXZlZC1hc3luYyc7XG5pbXBvcnQgeyBDb21tYW5kRmVhdHVyZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9mZWF0dXJlcy9jb21tYW5kJztcbmltcG9ydCB7IFRhYnNGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvdGFicyc7XG5pbXBvcnQgeyBRdWVyeUZvcm1Hcm91cCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9ncm91cHMvcXVlcnktZm9ybSc7XG5pbXBvcnQgeyBDb21tYW5kRm9ybUdyb3VwIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2dyb3Vwcy9jb21tYW5kLWZvcm0nO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlLCBRdWVyeUdyYXBocWxTY2hlbWFGZWF0dXJlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2ZlYXR1cmVzL3F1ZXJ5JztcbmltcG9ydCB7IENsb3VkU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvY2xvdWQtc3RvcmFnZSc7XG5pbXBvcnQgeyBpbmplY3RFcnJvck1lc3NhZ2VSZXNvbHZlciB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL2Vycm9yJztcblxuZW51bSBBY3Rpb25JZCB7XG4gIEVYRUNVVEVfQ09NTUFORCA9ICdleGVjdXRlLWNvbW1hbmQnLFxuICBGSUxFX1NFTEVDVEVEID0gJ2ZpbGUtc2VsZWN0ZWQnLFxufVxuXG5mdW5jdGlvbiBidWlsZEZvcm1EYXRhKGZvcm06IEZvcm1Hcm91cCB8IEZvcm1BcnJheSwgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCksIHBhcmVudEtleSA9ICcnKTogRm9ybURhdGEge1xuICBPYmplY3Qua2V5cyhmb3JtLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgY29uc3QgY29udHJvbCA9IGZvcm0uZ2V0KGtleSk7XG4gICAgY29uc3QgZm9ybUtleSA9IHBhcmVudEtleSA/IGAke3BhcmVudEtleX0uJHtrZXl9YCA6IGtleTtcblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgIC8vIOWtkOOBrkZvcm1Hcm91cOOChEZvcm1BcnJheeOCkuWGjeW4sOeahOOBq+WHpueQhlxuICAgICAgYnVpbGRGb3JtRGF0YShjb250cm9sLCBmb3JtRGF0YSwgZm9ybUtleSk7XG4gICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgIC8vIOODleOCqeODvOODoOOBruWApOOCkui/veWKoFxuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1LZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmb3JtRGF0YTtcbn1cblxuZnVuY3Rpb24gYnVpbGREYXRhKGZvcm06IEFic3RyYWN0Q29udHJvbCwgY29udGVudFR5cGU6IHN0cmluZykge1xuICBpZiAoY29udGVudFR5cGUgPT09ICdtdWx0aXBhcnQvZm9ybS1kYXRhJykge1xuICAgIHJldHVybiBidWlsZEZvcm1EYXRhKGZvcm0gYXMgRm9ybUdyb3VwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEFjdGlvbnMoaGFzUGVybWlzc2lvbjogYm9vbGVhbiwgaW52YWxpZDogYm9vbGVhbik6IEFjdGlvbltdIHtcbiAgcmV0dXJuIGhhc1Blcm1pc3Npb25cbiAgICA/IFt7IGlkOiBBY3Rpb25JZC5FWEVDVVRFX0NPTU1BTkQsIG5hbWU6ICflrp/ooYwnLCBkaXNhYmxlZDogaW52YWxpZCB9XVxuICAgIDogW3sgaWQ6IEFjdGlvbklkLkVYRUNVVEVfQ09NTUFORCwgbmFtZTogJ+Wun+ihjOaoqemZkOOBjOOBguOCiuOBvuOBm+OCkycsIGRpc2FibGVkOiB0cnVlIH1dXG59XG5cbkBUb2tlbml6ZWRUeXBlKClcbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZFBhZ2VTdG9yZSBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgQWN0aW9uSWQgPSBBY3Rpb25JZDtcbiAgc3RhdGljIHJlYWRvbmx5IERJID0gbWFrZURJKENvbW1hbmRQYWdlU3RvcmUsICgpID0+IHtcbiAgICBjb25zdCBkZXYgPSBpbmplY3QoTWFjaGluYURldlNlcnZpY2UpO1xuICAgIHJldHVybiAoKSA9PiAoe1xuICAgICAgdGl0bGU6ICcnIGFzIHN0cmluZyxcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIHdpZHRoOiAndmFyKC0tcGFnZS13aWR0aC1sdjEpJyxcbiAgICAgIH0sXG4gICAgICBiYXNlVXJsczogW10gYXMgc3RyaW5nW10sXG4gICAgICBjb21tYW5kOiA8Q29tbWFuZD57XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIHdlYkFwaVJlcXVlc3Q6IHtcbiAgICAgICAgICBzZXJ2ZXJVcmw6IG51bGwsXG4gICAgICAgICAgYXBpSnNvblVybDogbnVsbCxcbiAgICAgICAgICBwYXRoOiAnL3VzZXJzJyxcbiAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgIGJvZHlTY2hlbWE6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbmF2RW5kQWN0aW9uczogPEFjdGlvbltdPltdLFxuICAgICAgYWRkaXRpb25hbEZvcm1GaWVsZE1hcDogPEZvcm1GaWVsZE1hcD4oZGV2LmlzRGV2TW9kZSgpID8ge30gOiB7XG4gICAgICAgICdpZCc6IHsgdHlwZTogJ2hpZGRlbicgfSxcbiAgICAgICAgJ19fdHlwZW5hbWUnOiB7IHR5cGU6ICdoaWRkZW4nIH0sXG4gICAgICAgICdraW5kJzogeyB0eXBlOiAnaGlkZGVuJyB9LFxuICAgICAgfSksXG4gICAgfSk7XG4gIH0sIFsnQHh4bWFjaGluYS9jb21wb25lbnRzJywgJ3BhZ2VzJywgJ2NvbW1hbmQnXSk7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBDb21tYW5kUGFnZVN0b3JlLkRJLkNvbmZpZztcbiAgc3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVyID0gQ29tbWFuZFBhZ2VTdG9yZS5ESS5Jbml0aWFsaXplcjtcblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUuREkucHJvdmlkZUNvbmZpZygpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUN1c3RvbSgpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdCgpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlQ29tbWFuZElkRnJvbVJvdXRlRGF0YUluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVTZXR1cEluaXRpYWxpemVRdWVyeUluaXRpYWxpemVyKCksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdFYyKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLkNvbmZpZy5wcm92aWRlKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXIoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZURlZmF1bHRFZmZlY3RzKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVDb21tYW5kSWRGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZVNldHVwSW5pdGlhbGl6ZVF1ZXJ5SW5pdGlhbGl6ZXIoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZUluaXRpYWxGb3JtVmFsdWVGcm9tUXVlcnlSZXN1bHQoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZVF1ZXJ5RnJvbVJvdXRlRGF0YSgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRJbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlUGF0Y2hGb3JtRnJvbVJvdXRlUGFyYW1Jbml0aWFsaXplcigpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlUGF0Y2hDb21tYW5kRm9ybVZhbHVlRnJvbUNvbW1hbmRJbml0aWFsaXplcigpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlSW5pdGlhbEZvcm1WYWx1ZUZyb21RdWVyeVJlc3VsdCgpXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZUV4ZWN1dGVDb21tYW5kRWZmZWN0KCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVCYWNrRWZmZWN0KCksXG4gICAgICBRdWVyeUZlYXR1cmUucHJvdmlkZURlZmF1bHRFZmZlY3RzKCksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQ29tbWFuZEZyb21Sb3V0ZVBhcmFtSW5pdGlhbGl6ZXIocGFyYW1OYW1lID0gJ2NvbW1hbmRJZCcpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IGNvbW1hbmRJZCA9IGluamVjdFJvdXRlUGFyYW0ocGFyYW1OYW1lKTtcbiAgICAgIGNvbnN0IHNlcnZpY2UgPSBpbmplY3QoQ29tbWFuZFNlcnZpY2UpO1xuICAgICAgZWZmZWN0KCgpID0+IGFwcGx5VG9JbnB1dChzdG9yZSwgJ2NvbW1hbmQnLCBzZXJ2aWNlLmdldENvbW1hbmQoY29tbWFuZElkKCkpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUNvbW1hbmRJZEZyb21Sb3V0ZURhdGFJbml0aWFsaXplcigpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IGNvbW1hbmRJZCA9IGluamVjdFJvdXRlRGF0YTxzdHJpbmc+KCdjb21tYW5kSWQnKTtcbiAgICAgIGNvbnN0IHNlcnZpY2UgPSBpbmplY3QoQ29tbWFuZFNlcnZpY2UpO1xuICAgICAgZWZmZWN0KCgpID0+IGFwcGx5VG9JbnB1dChzdG9yZSwgJ2NvbW1hbmQnLCBzZXJ2aWNlLmdldENvbW1hbmQoY29tbWFuZElkKCkpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVBhdGNoRm9ybUZyb21Sb3V0ZVBhcmFtSW5pdGlhbGl6ZXIoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZShzdG9yZSA9PiB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiBzdG9yZS5mb3JtKCkucGF0Y2hWYWx1ZShzdG9yZS5kYXRhKCkpKTtcbiAgICAgIH0pLFxuICAgIF1cbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlUGF0Y2hDb21tYW5kRm9ybVZhbHVlRnJvbUNvbW1hbmRJbml0aWFsaXplcigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKHN0b3JlID0+IHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICBpZiAoIXN0b3JlLmNvbW1hbmQoKSkgcmV0dXJuO1xuICAgICAgICAgIHN0b3JlLmZlYXR1cmUuY29tbWFuZEZvcm0oKS5wYXRjaFZhbHVlKHsgLi4uc3RvcmUuY29tbWFuZCgpIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlUXVlcnlJZEZyb21Sb3V0ZVBhcmFtKGtleSA9ICdxdWVyeUlkJyk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gQ29tbWFuZFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgY29uc3QgcXVlcnlJZCQgPSBpbmplY3RSb3V0ZVBhcmFtJChrZXkpO1xuICAgICAgY29uc3QgcGFyYW1zJCA9IGluamVjdFVuZmxhdHRlblJvdXRlUGFyYW0kKCdkYXRhJyk7XG4gICAgICBjb25zdCBxdWVyeSQgPSBpbmplY3RPbmUkKFF1ZXJ5LCB7IGlkOiBxdWVyeUlkJCB9KTtcbiAgICAgIGNvbnN0IHNldHVwUXVlcnkgPSBkZXJpdmVkQXN5bmMoKCkgPT4gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIHF1ZXJ5OiBxdWVyeSQsXG4gICAgICAgIHBhcmFtczogcGFyYW1zJCxcbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIGZpbHRlcigoeyBxdWVyeSwgcGFyYW1zIH0pID0+ICEhcXVlcnkgJiYgISFwYXJhbXMpLFxuICAgICAgICBtYXAoKHsgcXVlcnksIHBhcmFtcyB9KSA9PiBRdWVyeUhlbHBlci5zZXR1cChxdWVyeSwgcGFyYW1zKSksXG4gICAgICAgIHRhcCgocXVlcnkpID0+IGNvbnNvbGUuZGVidWcoJ1tDb21tYW5kUGFnZV0gcXVlcnk6JywgcXVlcnkpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgICApKTtcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoJ1tDb21tYW5kUGFnZV0gc2V0dXBRdWVyeTonLCBzZXR1cFF1ZXJ5KCkpO1xuICAgICAgICBzdG9yZS5xdWVyeUZlYXR1cmUuZm9ybS5wYXRjaFZhbHVlKHNldHVwUXVlcnkoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlUXVlcnlGcm9tUm91dGVEYXRhKGtleSA9ICdxdWVyeScpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtcyQgPSBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtJCgnZGF0YScpO1xuICAgICAgY29uc3QgcXVlcnkkID0gaW5qZWN0Um91dGVEYXRhJDxRdWVyeT4oa2V5KTtcbiAgICAgIGNvbnN0IHNldHVwUXVlcnkgPSBkZXJpdmVkQXN5bmMoKCkgPT4gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIHF1ZXJ5OiBxdWVyeSQsXG4gICAgICAgIHBhcmFtczogcGFyYW1zJCxcbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIGZpbHRlcigoeyBxdWVyeSwgcGFyYW1zIH0pID0+ICEhcXVlcnkpLFxuICAgICAgICBtYXAoKHsgcXVlcnksIHBhcmFtcyB9KSA9PiBRdWVyeUhlbHBlci5zZXR1cChxdWVyeSwgcGFyYW1zKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKSk7XG4gICAgICBlZmZlY3QoKCkgPT4geyBzdG9yZS5xdWVyeUZlYXR1cmUuZm9ybS5wYXRjaFZhbHVlKHNldHVwUXVlcnkoKSk7IH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVSb3V0ZVBhcmFtc1RvRGF0YUluaXRpYWxpemVyKHByb2plY3RvcjogKHBhcmFtczogUGFyYW1zKSA9PiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBkZXJpdmVkQXN5bmMoKCkgPT4gcm91dGUucGFyYW1zLnBpcGUobWFwKHBhcmFtcyA9PiBwcm9qZWN0b3IocGFyYW1zKSkpKTtcbiAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICdkYXRhJywgZGF0YSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVJvdXRlUGFyYW1NYXBUb0RhdGFJbml0aWFsaXplcihwcm9qZWN0b3I6IChwYXJhbXM6IFBhcmFtTWFwKSA9PiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtTWFwID0gaW5qZWN0Um91dGVQYXJhbU1hcCh7bWVyZ2U6IHRydWV9KTtcbiAgICAgIGNvbnN0IGRhdGEgPSBjb21wdXRlZCgoKSA9PiBwcm9qZWN0b3IocGFyYW1NYXAoKSkpO1xuICAgICAgZWZmZWN0KCgpID0+IGFwcGx5VG9JbnB1dChzdG9yZSwgJ2RhdGEnLCBkYXRhKCkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlU2V0dXBJbml0aWFsaXplUXVlcnlJbml0aWFsaXplcigpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IGluaXRpYWxpemVRdWVyeSA9IGRlcml2ZWRBc3luYygoKSA9PiBjb21iaW5lTGF0ZXN0KHtcbiAgICAgICAgaW5pdGlhbGl6ZVF1ZXJ5OiBvZihzdG9yZS5pbml0aWFsaXplUXVlcnkoKSksXG4gICAgICAgIGRhdGE6IG9mKHN0b3JlLmRhdGEoKSlcbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIGZpbHRlcigoeyBpbml0aWFsaXplUXVlcnksIGRhdGEgfSkgPT4gISFpbml0aWFsaXplUXVlcnkgJiYgISFkYXRhKSxcbiAgICAgICAgbWFwKCh7IGluaXRpYWxpemVRdWVyeSwgZGF0YSB9KSA9PiBRdWVyeUhlbHBlci5zZXR1cChpbml0aWFsaXplUXVlcnksIGRhdGEpKSxcbiAgICAgICAgZmlsdGVyKChpbml0aWFsaXplUXVlcnkpID0+ICEhaW5pdGlhbGl6ZVF1ZXJ5KSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgICApKTtcbiAgICAgIFxuICAgICAgZWZmZWN0KCgpID0+IHN0b3JlLnF1ZXJ5RmVhdHVyZS5mb3JtLnBhdGNoVmFsdWUoaW5pdGlhbGl6ZVF1ZXJ5KCkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSW5pdGlhbEZvcm1WYWx1ZUZyb21RdWVyeVJlc3VsdCgpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGVmZmVjdCgoKSA9PiBzdG9yZS5mb3JtKCkucGF0Y2hWYWx1ZShzdG9yZS5xdWVyeUZlYXR1cmUucmVzdWx0KCkpKTtcbiAgICAgIHN0b3JlLnF1ZXJ5RmVhdHVyZS5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUV4ZWN1dGVDb21tYW5kRWZmZWN0KCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBY3Rpb25JZC5FWEVDVVRFX0NPTU1BTkQsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KENvbW1hbmRQYWdlU3RvcmUpO1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgcGFyYW1LZXlzID0gY29tcHV0ZWQoKCkgPT4gRW5kcG9pbnRIZWxwZXIuZXh0cmFjdChzdG9yZS5mZWF0dXJlLnBhdGgoKSkpO1xuICAgICAgY29uc3QgcmVzb2x2ZWRQYXJhbXMgPSBjb21wdXRlZCgoKSA9PiBwaWNrKHN0b3JlLmRhdGEoKSwgcGFyYW1LZXlzKCkpKTtcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRFbmRwb2ludCA9IEVuZHBvaW50SGVscGVyLnJlc29sdmUoc3RvcmUuZmVhdHVyZS5wYXRoKCksIHJlc29sdmVkUGFyYW1zKCkpO1xuICAgICAgICBjb25zdCBkYXRhID0gYnVpbGREYXRhKHN0b3JlLmZvcm0oKSwgc3RvcmUuY29tbWFuZCgpPy53ZWJBcGlSZXF1ZXN0Py5jb250ZW50VHlwZSk7XG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSBtZXJnZShcbiAgICAgICAgICBzdG9yZS5jb21tYW5kKCksXG4gICAgICAgICAgc3RvcmUuZmVhdHVyZS5jb21tYW5kRm9ybSgpLmdldFJhd1ZhbHVlKCksXG4gICAgICAgICAgeyB3ZWJBcGlSZXF1ZXN0OiB7IHBhdGg6IHJlc29sdmVkRW5kcG9pbnQgfSB9LFxuICAgICAgICApO1xuICAgICAgICBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHN0b3JlLmZlYXR1cmUuZXhlY3V0ZShjb21tYW5kLCBkYXRhKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfmiJDlip/jgZfjgb7jgZfjgZ/jgIInKTtcbiAgICAgICAgICAgIC8vIGhpc3RvcnkuYmFjaygpO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbkVycm9yKGVycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUJhY2tFZmZlY3QoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEZvcm1UZW1wbGF0ZVN0b3JlLkFjdGlvbklkLkJBQ0ssICgpID0+IHtcbiAgICAgIHJldHVybiAoKSA9PiBoaXN0b3J5LmJhY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRmlsZVNlbGVjdGVkRWZmZWN0KCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChDb21tYW5kUGFnZVN0b3JlLkFjdGlvbklkLkZJTEVfU0VMRUNURUQsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KENvbW1hbmRQYWdlU3RvcmUpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkKSA9PiB7XG4gICAgICAgIHN0b3JlLmZvcm0oKS5wYXRjaFZhbHVlKHsgZmlsZTogcGF5bG9hZC5maWxlcz8uWzBdIH0pXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlYnVnRm9ybUluaXRpYWxpemVyKCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gQ29tbWFuZFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKCgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KENvbW1hbmRQYWdlU3RvcmUpO1xuICAgICAgXG4gICAgICAvLyBGb3JtR3JvdXDjgpLlho3luLDnmoTjgavoqr/jgbnjgovplqLmlbDvvIhpbnZhbGlk44Gq44Kz44Oz44OI44Ot44O844Or44Gu44G/77yJXG4gICAgICBjb25zdCBnZXRJbnZhbGlkQ29udHJvbHMgPSAoZm9ybUdyb3VwOiBhbnksIHBhdGggPSAnJykgPT4ge1xuICAgICAgICBsZXQgaW52YWxpZENvbnRyb2xzOiBhbnlbXSA9IFtdO1xuICAgICAgICBcbiAgICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5jb250cm9sc1trZXldO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gcGF0aCA/IGAke3BhdGh9LiR7a2V5fWAgOiBrZXk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gaW52YWxpZOOBquOCs+ODs+ODiOODreODvOODq+OCkuiomOmMslxuICAgICAgICAgIGlmIChjb250cm9sLmludmFsaWQpIHtcbiAgICAgICAgICAgIGludmFsaWRDb250cm9scy5wdXNoKHtcbiAgICAgICAgICAgICAgcGF0aDogY3VycmVudFBhdGgsXG4gICAgICAgICAgICAgIGVycm9yczogY29udHJvbC5lcnJvcnMsXG4gICAgICAgICAgICAgIHZhbHVlOiBjb250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICBzdGF0dXM6IGNvbnRyb2wuc3RhdHVzLFxuICAgICAgICAgICAgICB2YWxpZDogY29udHJvbC52YWxpZCxcbiAgICAgICAgICAgICAgaW52YWxpZDogY29udHJvbC5pbnZhbGlkLFxuICAgICAgICAgICAgICBkaXJ0eTogY29udHJvbC5kaXJ0eSxcbiAgICAgICAgICAgICAgdG91Y2hlZDogY29udHJvbC50b3VjaGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gRm9ybUdyb3Vw44Gu5aC05ZCI44Gv5YaN5biw55qE44Gr6Kq/44G544KLXG4gICAgICAgICAgaWYgKGNvbnRyb2wuY29udHJvbHMpIHtcbiAgICAgICAgICAgIGludmFsaWRDb250cm9scyA9IGludmFsaWRDb250cm9scy5jb25jYXQoZ2V0SW52YWxpZENvbnRyb2xzKGNvbnRyb2wsIGN1cnJlbnRQYXRoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiBpbnZhbGlkQ29udHJvbHM7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBmb3JtVmFsdWVfID0gZGVyaXZlZEFzeW5jKCgpID0+IGdldFZhbHVlJChzdG9yZS5mb3JtKCkpKTtcbiAgICAgIFxuICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gZm9ybVZhbHVlXygpO1xuICAgICAgICBjb25zdCBmb3JtID0gdW50cmFja2VkKCgpID0+IHN0b3JlLmZvcm0oKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQ29tbWFuZFBhZ2VdIEZvcm0gdmFsdWUgY2hhbmdlZDonLCBmb3JtVmFsdWUpO1xuICAgICAgICBjb25zb2xlLmxvZygnW0NvbW1hbmRQYWdlXSBDb21tYW5kRm9ybSB2YWxpZDonLCBmb3JtPy52YWxpZCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQ29tbWFuZFBhZ2VdIENvbW1hbmRGb3JtIHN0YXR1czonLCBmb3JtPy5zdGF0dXMpO1xuICAgICAgICBpZiAoZm9ybSkge1xuICAgICAgICAgIGNvbnN0IGludmFsaWRDb250cm9scyA9IGdldEludmFsaWRDb250cm9scyhmb3JtKTtcbiAgICAgICAgICBjb25zdCBpbnZhbGlkUGF0aHMgPSBpbnZhbGlkQ29udHJvbHMubWFwKGNvbnRyb2wgPT4gY29udHJvbC5wYXRoKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgW0NvbW1hbmRQYWdlXSBGb3VuZCAke2ludmFsaWRDb250cm9scy5sZW5ndGh9IElOVkFMSUQgY29udHJvbHM6YCk7XG4gICAgICAgICAgY29uc29sZS5sb2coJ1tDb21tYW5kUGFnZV0gSU5WQUxJRCBQQVRIUzonLCBpbnZhbGlkUGF0aHMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlU2VsZWN0ZWRGaWxlVXBsb2FkRWZmZWN0KFxuICAgIGNhbGxiYWNrRmFjdG9yeTogKCkgPT4gKHJlc3VsdDoge2ZpbGU6IEZpbGUsIHBhdGg6IHN0cmluZywgdXJsOiBzdHJpbmd9KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAgICB7XG4gICAgICB2YWxpZGF0b3IgPSAoKSA9PiBudWxsLFxuICAgICAgZ2V0UGF0aCxcbiAgICB9OiB7XG4gICAgICB2YWxpZGF0b3I/OiAoZmlsZTogRmlsZSkgPT4ge3R5cGU6IGJvb2xlYW4sIHNpemU6IGJvb2xlYW59IHwgbnVsbCxcbiAgICAgIGdldFBhdGg6ICgpID0+IHN0cmluZyxcbiAgICB9XG4gICk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChDb21tYW5kUGFnZVN0b3JlLkFjdGlvbklkLkZJTEVfU0VMRUNURUQsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JhZ2UgPSBpbmplY3QoQ2xvdWRTdG9yYWdlU2VydmljZSk7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBjYWxsYmFjayA9IGNhbGxiYWNrRmFjdG9yeSgpO1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlUmVzb2x2ZXIgPSBpbmplY3RFcnJvck1lc3NhZ2VSZXNvbHZlcigpO1xuICBcbiAgICAgIHJldHVybiAocGF5bG9hZDogeyBzY29wZTogc3RyaW5nLCBmaWxlczogRmlsZVtdfSkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlID0gcGF5bG9hZC5maWxlcz8uWzBdO1xuICAgICAgICBjb25zdCBlcnJvcnMgPSB2YWxpZGF0b3IoZmlsZSk7XG4gICAgICAgIGlmIChlcnJvcnMgJiYgT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oZXJyb3JNZXNzYWdlUmVzb2x2ZXIoZXJyb3JzKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGF0aCA9IGdldFBhdGgoKTtcbiAgICAgICAgICByZXR1cm4gc3RvcmFnZS51cGxvYWQocGF0aCwgZmlsZSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign44OV44Kh44Kk44Or44KS44Ki44OD44OX44Ot44O844OJ44GX44G+44GX44GfJyk7XG4gICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5nZXREb3dubG9hZFVybChwYXRoKS50aGVuKChpbWFnZVVybCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soe2ZpbGUsIHBhdGgsIHVybDogaW1hZ2VVcmx9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign44OV44Kh44Kk44Or44Gu44Ki44OD44OX44Ot44O844OJ44Gr5aSx5pWX44GX44G+44GX44GfJyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVhZG9ubHkgZmVhdHVyZSA9IGluamVjdChDb21tYW5kRmVhdHVyZSk7XG4gIHJlYWRvbmx5IGNvbmZpZyA9IENvbW1hbmRQYWdlU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBxdWVyeUZlYXR1cmUgPSBpbmplY3QoUXVlcnlGZWF0dXJlKTtcbiAgcmVhZG9ubHkgc3R5bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zdHlsZSkpO1xuICByZWFkb25seSAjbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0TmF2U3RhcnRBY3Rpb25zVjIoKTtcbiAgcmVhZG9ubHkgbmF2U3RhcnRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuI25hdlN0YXJ0QWN0aW9ucygpKSk7XG4gIHJlYWRvbmx5IG5hdkVuZEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZFbmRBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IGNvbW1hbmQgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5jb21tYW5kKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5mZWF0dXJlLmZvcm0oKSkpO1xuICByZWFkb25seSBleHRyYWN0ZWRGb3JtRmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5mZWF0dXJlLmV4dHJhY3RlZEZvcm1GaWVsZE1hcCgpKSk7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxGb3JtRmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5hZGRpdGlvbmFsRm9ybUZpZWxkTWFwKSk7XG4gIHJlYWRvbmx5IGZvcm1GaWVsZE1hcCA9IGlucHV0KF9jb21wdXRlZDxGb3JtRmllbGRNYXA+KCgpID0+ICh7XG4gICAgLi4udGhpcy5leHRyYWN0ZWRGb3JtRmllbGRNYXAoKSxcbiAgICAuLi50aGlzLmFkZGl0aW9uYWxGb3JtRmllbGRNYXAoKVxuICB9KSkpO1xuICByZWFkb25seSBmb3JtRmllbGRLZXlzID0gaW5wdXQ8c3RyaW5nW10+KF9jb21wdXRlZCgoKSA9PiBbXSkpO1xuICByZWFkb25seSBmb3JtRmxhdEV4Y2x1ZGVzID0gaW5wdXQ8c3RyaW5nW10+KF9jb21wdXRlZCgoKSA9PiBbXSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2luaXRpYWxpemVRdWVyeSA9IGluamVjdFJvdXRlRGF0YTxRdWVyeT4oJ3F1ZXJ5Jyk7XG4gIHJlYWRvbmx5IGluaXRpYWxpemVRdWVyeSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLl9pbml0aWFsaXplUXVlcnkoKSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RhdGEgPSBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtKCdkYXRhJyk7XG4gIHJlYWRvbmx5IGRhdGEgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5fZGF0YSgpKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtSW52YWxpZCA9IGRlcml2ZWRBc3luYygoKSA9PiBnZXRJbnZhbGlkJCh0aGlzLmZvcm0oKSkpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiAodGhpcy5jb25maWcoKSBhcyBhbnkpLnRpdGxlIHx8IHRoaXMuZmVhdHVyZS50aXRsZSgpKSk7XG4gIHJlYWRvbmx5ICNhY3Rpb25zID0gZGVyaXZlZEFzeW5jKCgpID0+IGJ1aWxkQWN0aW9ucyh0aGlzLmZlYXR1cmUuaGFzUGVybWlzc2lvbih0aGlzLmNvbW1hbmQoKSksIHRoaXMuZm9ybUludmFsaWQoKSkpO1xuICByZWFkb25seSBhY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuI2FjdGlvbnMoKSkpO1xuICByZWFkb25seSBza2lwID0gaW5qZWN0Um91dGVTa2lwKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLmluaXRpYWxpemVTdG9yZSh0aGlzKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYWdlcy1jb21tYW5kJyxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldEZyYW1lLFxuICAgIEZvcm1UZW1wbGF0ZSxcbiAgICBUYWJzRnJhbWUsXG4gICAgQ29tbWFuZEZvcm1Hcm91cCxcbiAgICBRdWVyeUZvcm1Hcm91cFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDb21tYW5kRmVhdHVyZSxcbiAgICBRdWVyeUZlYXR1cmUsXG4gICAgUXVlcnlHcmFwaHFsU2NoZW1hRmVhdHVyZVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8ZnJhbWVzLXJvdXRlci1vdXRsZXQgW3NraXBdPVwic3RvcmUuc2tpcCgpXCIgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCI+XG4gICAgPHRlbXBsYXRlcy1mb3JtXG4gICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKClcIlxuICAgICAgW3N0eWxlXT1cInN0b3JlLnN0eWxlKClcIlxuICAgICAgW2ZpZWxkTWFwXT1cInN0b3JlLmZvcm1GaWVsZE1hcCgpXCJcbiAgICAgIFtmaWVsZEtleXNdPVwic3RvcmUuZm9ybUZpZWxkS2V5cygpXCJcbiAgICAgIFtmb3JtRmxhdEV4Y2x1ZGVzXT1cInN0b3JlLmZvcm1GbGF0RXhjbHVkZXMoKVwiXG4gICAgICBbdGl0bGVdPVwic3RvcmUudGl0bGUoKVwiXG4gICAgICBbbmF2U3RhcnRBY3Rpb25zXT1cInN0b3JlLm5hdlN0YXJ0QWN0aW9ucygpXCJcbiAgICAgIFtuYXZFbmRBY3Rpb25zXT1cInN0b3JlLm5hdkVuZEFjdGlvbnMoKVwiXG4gICAgICBbYWN0aW9uc109XCJzdG9yZS5hY3Rpb25zKClcIlxuICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8ZnJhbWVzLXRhYnMgW2xhYmVsc109XCJbJ0NvbW1hbmQnLCAnSW5pdGlhbGl6ZVF1ZXJ5J11cIiBkYXNoYm9hcmQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGFiPlxuICAgICAgICAgIDxncm91cHMtY29tbWFuZC1mb3JtIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiLz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0YWI+XG4gICAgICAgICAgPGdyb3Vwcy1xdWVyeS1mb3JtXG4gICAgICAgICAgICBbZm9ybV09XCJzdG9yZS5xdWVyeUZlYXR1cmUuZm9ybVwiXG4gICAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2ZyYW1lcy10YWJzPiBcbiAgICA8L3RlbXBsYXRlcy1mb3JtPlxuICA8L2ZyYW1lcy1yb3V0ZXItb3V0bGV0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9jb21tYW5kLnBhZ2Uuc2NzcyddLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogQ29tbWFuZFBhZ2VTdG9yZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnc3R5bGUnLFxuICAgICAgICAnbmF2RW5kQWN0aW9ucycsXG4gICAgICAgICdjb21tYW5kJyxcbiAgICAgICAgJ2Zvcm0nLFxuICAgICAgICAnYWRkaXRpb25hbEZvcm1GaWVsZE1hcCcsXG4gICAgICAgICdmb3JtRmllbGRNYXAnLFxuICAgICAgICAnZm9ybUZsYXRFeGNsdWRlcycsXG4gICAgICAgICdpbml0aWFsaXplUXVlcnknLFxuICAgICAgICAnZGF0YScsXG4gICAgICAgICdhY3Rpb25zJyxcbiAgICAgIF1cbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmRQYWdlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoQ29tbWFuZFBhZ2VTdG9yZSk7XG4gIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICByZWFkb25seSBwYXJlbnRSb3V0ZXJPdXRsZXRGcmFtZSA9IGluamVjdChSb3V0ZXJPdXRsZXRGcmFtZSwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgQEVmZmVjdChGb3JtVGVtcGxhdGVTdG9yZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVEKVxuICBwcm90ZWN0ZWQgb25GaWxlU2VsZWN0ZWQocGF5bG9hZCkge1xuICAgIHRoaXMuZGlzcGF0Y2goeyBpZDogQWN0aW9uSWQuRklMRV9TRUxFQ1RFRCwgcGF5bG9hZCB9KTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2NvbW1hbmQveHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-pages-command.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/pages/command/command.page.ts","../../../../../packages/@xxmachina/components/src/lib/pages/command/xxmachina-components-pages-command.ts"],"sourcesContent":["import { Component, computed, Directive, effect, inject, input, Provider, untracked } from '@angular/core';\nimport { AbstractControl, FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { _computed, Action, applyToInput, Effect, InjectableComponent, NgAtomicComponent, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { ActivatedRoute, ParamMap, Params } from '@angular/router';\nimport { FormTemplate, FormTemplateStore } from '@ng-atomic/components/templates/form';\nimport { getInvalid$, getValue$, injectRouteData, injectRouteData$, injectRouteParam, injectRouteParam$, injectRouteParamMap, injectRouteSkip, injectUnflattenRouteParam$ } from '@ng-atomic/common/utils';\nimport { map, tap, filter, combineLatest, shareReplay, of } from 'rxjs';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { Command } from '@xxmachina/common/domain/models';\nimport { injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { merge, pick } from 'lodash-es';\nimport { injectOne$ } from '@ng-atomic/common/stores/entities';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { EndpointHelper } from '@xxmachina/common/domain/models';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { CommandFeature } from '@xxmachina/components/features/command';\nimport { TabsFrame } from '@ng-atomic/components/frames/tabs';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { CommandFormGroup } from '@xxmachina/components/groups/command-form';\nimport { QueryFeature, QueryGraphqlSchemaFeature } from '@xxmachina/components/features/query';\nimport { CloudStorageService } from '@nx-ddd/common/infrastructure/externals/cloud-storage';\nimport { injectErrorMessageResolver } from '@ng-atomic/common/pipes/error';\n\nenum ActionId {\n EXECUTE_COMMAND = 'execute-command',\n FILE_SELECTED = 'file-selected',\n}\n\nfunction buildFormData(form: FormGroup | FormArray, formData: FormData = new FormData(), parentKey = ''): FormData {\n Object.keys(form.controls).forEach(key => {\n const control = form.get(key);\n const formKey = parentKey ? `${parentKey}.${key}` : key;\n\n if (control instanceof FormGroup || control instanceof FormArray) {\n // 子のFormGroupやFormArrayを再帰的に処理\n buildFormData(control, formData, formKey);\n } else if (control instanceof FormControl) {\n // フォームの値を追加\n const value = control.value;\n if (value !== null && value !== undefined) {\n formData.append(formKey, value);\n }\n }\n });\n\n return formData;\n}\n\nfunction buildData(form: AbstractControl, contentType: string) {\n if (contentType === 'multipart/form-data') {\n return buildFormData(form as FormGroup);\n } else {\n return form.getRawValue();\n }\n}\n\nexport function buildActions(hasPermission: boolean, invalid: boolean): Action[] {\n return hasPermission\n ? [{ id: ActionId.EXECUTE_COMMAND, name: '実行', disabled: invalid }]\n : [{ id: ActionId.EXECUTE_COMMAND, name: '実行権限がありません', disabled: true }]\n}\n\n@TokenizedType()\n@Directive({ standalone: true })\nexport class CommandPageStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(CommandPageStore, () => {\n const dev = inject(MachinaDevService);\n return () => ({\n title: '' as string,\n style: {\n width: 'var(--page-width-lv1)',\n },\n baseUrls: [] as string[],\n command: <Command>{\n id: '1',\n webApiRequest: {\n serverUrl: null,\n apiJsonUrl: null,\n path: '/users',\n method: 'GET',\n bodySchema: null,\n },\n },\n navEndActions: <Action[]>[],\n additionalFormFieldMap: <FormFieldMap>(dev.isDevMode() ? {} : {\n 'id': { type: 'hidden' },\n '__typename': { type: 'hidden' },\n 'kind': { type: 'hidden' },\n }),\n });\n }, ['@xxmachina/components', 'pages', 'command']);\n static readonly Config = CommandPageStore.DI.Config;\n static readonly Initializer = CommandPageStore.DI.Initializer;\n\n static provideDefault(): Provider[] {\n return [\n CommandPageStore.DI.provideConfig(),\n CommandPageStore.provideDefaultInitializer(),\n CommandPageStore.provideDefaultEffects(),\n ];\n }\n\n static provideCustom(): Provider[] {\n return [\n CommandPageStore.provideDefault(),\n CommandPageStore.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore.provideSetupInitializeQueryInitializer(),\n ];\n }\n\n static provideDefaultV2(): Provider[] {\n return [\n CommandPageStore.Config.provide(),\n CommandPageStore.provideDefaultInitializer(),\n CommandPageStore.provideDefaultEffects(),\n CommandPageStore.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore.provideSetupInitializeQueryInitializer(),\n CommandPageStore.provideInitialFormValueFromQueryResult(),\n CommandPageStore.provideQueryFromRouteData(),\n ];\n }\n\n static provideDefaultInitializer(): Provider[] {\n return [\n CommandPageStore.providePatchFormFromRouteParamInitializer(),\n CommandPageStore.providePatchCommandFormValueFromCommandInitializer(),\n CommandPageStore.provideInitialFormValueFromQueryResult()\n ];\n }\n\n static provideDefaultEffects(): Provider[] {\n return [\n CommandPageStore.provideExecuteCommandEffect(),\n CommandPageStore.provideBackEffect(),\n QueryFeature.provideDefaultEffects(),\n ];\n }\n\n static provideCommandFromRouteParamInitializer(paramName = 'commandId'): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const commandId = injectRouteParam(paramName);\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n\n static provideCommandIdFromRouteDataInitializer(): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const commandId = injectRouteData<string>('commandId');\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n\n static providePatchFormFromRouteParamInitializer() {\n return [\n CommandPageStore.Initializer.provide(store => {\n effect(() => store.form().patchValue(store.data()));\n }),\n ]\n }\n\n static providePatchCommandFormValueFromCommandInitializer() {\n return [\n CommandPageStore.Initializer.provide(store => {\n effect(() => {\n if (!store.command()) return;\n store.feature.commandForm().patchValue({ ...store.command() });\n });\n })\n ];\n }\n\n static provideQueryIdFromRouteParam(key = 'queryId'): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const queryId$ = injectRouteParam$(key);\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectOne$(Query, { id: queryId$ });\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(\n filter(({ query, params }) => !!query && !!params),\n map(({ query, params }) => QueryHelper.setup(query, params)),\n tap((query) => console.debug('[CommandPage] query:', query)),\n shareReplay(1),\n ));\n effect(() => {\n console.debug('[CommandPage] setupQuery:', setupQuery());\n store.queryFeature.form.patchValue(setupQuery());\n });\n });\n }\n\n static provideQueryFromRouteData(key = 'query'): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectRouteData$<Query>(key);\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(\n filter(({ query, params }) => !!query),\n map(({ query, params }) => QueryHelper.setup(query, params)),\n shareReplay(1),\n ));\n effect(() => { store.queryFeature.form.patchValue(setupQuery()); });\n });\n }\n\n static provideRouteParamsToDataInitializer(projector: (params: Params) => Record<string, any>): Provider[] {\n return CommandPageStore.Initializer.provide((store) => {\n const route = inject(ActivatedRoute);\n const data = derivedAsync(() => route.params.pipe(map(params => projector(params))));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n\n static provideRouteParamMapToDataInitializer(projector: (params: ParamMap) => Record<string, any>): Provider[] {\n return CommandPageStore.Initializer.provide((store) => {\n const paramMap = injectRouteParamMap({merge: true});\n const data = computed(() => projector(paramMap()));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n\n static provideSetupInitializeQueryInitializer(): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const initializeQuery = derivedAsync(() => combineLatest({\n initializeQuery: of(store.initializeQuery()),\n data: of(store.data())\n }).pipe(\n filter(({ initializeQuery, data }) => !!initializeQuery && !!data),\n map(({ initializeQuery, data }) => QueryHelper.setup(initializeQuery, data)),\n filter((initializeQuery) => !!initializeQuery),\n shareReplay(1),\n ));\n \n effect(() => store.queryFeature.form.patchValue(initializeQuery()));\n });\n }\n\n static provideInitialFormValueFromQueryResult(): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n effect(() => store.form().patchValue(store.queryFeature.result()));\n store.queryFeature.refresh();\n });\n }\n\n static provideExecuteCommandEffect(): Provider {\n return provideEffect(ActionId.EXECUTE_COMMAND, () => {\n const store = inject(CommandPageStore);\n const app = inject(AppService);\n const paramKeys = computed(() => EndpointHelper.extract(store.feature.path()));\n const resolvedParams = computed(() => pick(store.data(), paramKeys()));\n\n return () => {\n const resolvedEndpoint = EndpointHelper.resolve(store.feature.path(), resolvedParams());\n const data = buildData(store.form(), store.command()?.webApiRequest?.contentType);\n const command = merge(\n store.command(),\n store.feature.commandForm().getRawValue(),\n { webApiRequest: { path: resolvedEndpoint } },\n );\n app.loading.await(() => {\n return store.feature.execute(command, data).then(() => {\n app.snackBar.open('成功しました。');\n // history.back();\n }).catch((error) => {\n console.error(error);\n app.snackBar.openError(error);\n });\n });\n }\n });\n }\n\n static provideBackEffect(): Provider {\n return provideEffect(FormTemplateStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n\n static provideFileSelectedEffect(): Provider {\n return provideEffect(CommandPageStore.ActionId.FILE_SELECTED, () => {\n const store = inject(CommandPageStore);\n return (payload) => {\n store.form().patchValue({ file: payload.files?.[0] })\n }\n });\n }\n\n static provideDebugFormInitializer(): Provider {\n return CommandPageStore.Initializer.provide(() => {\n const store = inject(CommandPageStore);\n \n // FormGroupを再帰的に調べる関数(invalidなコントロールのみ)\n const getInvalidControls = (formGroup: any, path = '') => {\n let invalidControls: any[] = [];\n \n Object.keys(formGroup.controls).forEach(key => {\n const control = formGroup.controls[key];\n const currentPath = path ? `${path}.${key}` : key;\n \n // invalidなコントロールを記録\n if (control.invalid) {\n invalidControls.push({\n path: currentPath,\n errors: control.errors,\n value: control.value,\n status: control.status,\n valid: control.valid,\n invalid: control.invalid,\n dirty: control.dirty,\n touched: control.touched\n });\n }\n \n // FormGroupの場合は再帰的に調べる\n if (control.controls) {\n invalidControls = invalidControls.concat(getInvalidControls(control, currentPath));\n }\n });\n \n return invalidControls;\n };\n\n const formValue_ = derivedAsync(() => getValue$(store.form()));\n \n effect(() => {\n const formValue = formValue_();\n const form = untracked(() => store.form());\n console.log('[CommandPage] Form value changed:', formValue);\n console.log('[CommandPage] CommandForm valid:', form?.valid);\n console.log('[CommandPage] CommandForm status:', form?.status);\n if (form) {\n const invalidControls = getInvalidControls(form);\n const invalidPaths = invalidControls.map(control => control.path);\n console.log(`[CommandPage] Found ${invalidControls.length} INVALID controls:`);\n console.log('[CommandPage] INVALID PATHS:', invalidPaths);\n }\n });\n });\n }\n\n static provideSelectedFileUploadEffect(\n callbackFactory: () => (result: {file: File, path: string, url: string}) => void | Promise<void>,\n {\n validator = () => null,\n getPath,\n }: {\n validator?: (file: File) => {type: boolean, size: boolean} | null,\n getPath: () => string,\n }\n ): Provider {\n return provideEffect(CommandPageStore.ActionId.FILE_SELECTED, () => {\n const storage = inject(CloudStorageService);\n const app = inject(AppService);\n const callback = callbackFactory();\n const errorMessageResolver = injectErrorMessageResolver();\n \n return (payload: { scope: string, files: File[]}) => {\n const file = payload.files?.[0];\n const errors = validator(file);\n if (errors && Object.keys(errors).length > 0) {\n app.snackBar.open(errorMessageResolver(errors));\n return;\n }\n return app.loading.await(() => {\n const path = getPath();\n return storage.upload(path, file).then(() => {\n app.snackBar.open('ファイルをアップロードしました');\n return storage.getDownloadUrl(path).then((imageUrl) => {\n return callback({file, path, url: imageUrl});\n });\n }).catch((error) => {\n console.error(error);\n app.snackBar.open('ファイルのアップロードに失敗しました');\n });\n });\n }\n });\n }\n\n readonly feature = inject(CommandFeature);\n readonly config = CommandPageStore.Config.inject();\n readonly queryFeature = inject(QueryFeature);\n readonly style = input(_computed(() => this.config().style));\n readonly #navStartActions = injectNavStartActionsV2();\n readonly navStartActions = input(_computed(() => this.#navStartActions()));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly command = input(_computed(() => this.config().command));\n readonly form = input(_computed(() => this.feature.form()));\n readonly extractedFormFieldMap = input(_computed(() => this.feature.extractedFormFieldMap()));\n readonly additionalFormFieldMap = input(_computed(() => this.config().additionalFormFieldMap));\n readonly formFieldMap = input(_computed<FormFieldMap>(() => ({\n ...this.extractedFormFieldMap(),\n ...this.additionalFormFieldMap()\n })));\n readonly formFieldKeys = input<string[]>(_computed(() => []));\n readonly formFlatExcludes = input<string[]>(_computed(() => []));\n protected readonly _initializeQuery = injectRouteData<Query>('query');\n readonly initializeQuery = input(_computed(() => this._initializeQuery()));\n protected readonly _data = injectUnflattenRouteParam('data');\n readonly data = input(_computed(() => this._data()));\n protected readonly formInvalid = derivedAsync(() => getInvalid$(this.form()));\n readonly title = input(_computed(() => (this.config() as any).title || this.feature.title()));\n readonly #actions = derivedAsync(() => buildActions(this.feature.hasPermission(this.command()), this.formInvalid()));\n readonly actions = input(_computed(() => this.#actions()));\n readonly skip = injectRouteSkip();\n\n constructor() {\n super();\n CommandPageStore.Initializer.initializeStore(this);\n }\n}\n\n@Component({\n selector: 'pages-command',\n imports: [\n RouterOutletFrame,\n FormTemplate,\n TabsFrame,\n CommandFormGroup,\n QueryFormGroup\n ],\n providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ],\n template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `,\n styleUrls: ['./command.page.scss'],\n hostDirectives: [\n {\n directive: CommandPageStore,\n inputs: [\n 'style',\n 'navEndActions',\n 'command',\n 'form',\n 'additionalFormFieldMap',\n 'formFieldMap',\n 'formFlatExcludes',\n 'initializeQuery',\n 'data',\n 'actions',\n ]\n },\n ]\n})\nexport class CommandPage extends NgAtomicComponent {\n protected readonly store = inject(CommandPageStore);\n readonly route = inject(ActivatedRoute);\n readonly app = inject(AppService);\n readonly parentRouterOutletFrame = inject(RouterOutletFrame, {optional: true});\n\n @Effect(FormTemplateStore.ActionId.FILE_SELECTED)\n protected onFileSelected(payload) {\n this.dispatch({ id: ActionId.FILE_SELECTED, payload });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}