@powerhousedao/network-admin 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +179 -0
  3. package/dist/document-models/index.d.ts +6 -0
  4. package/dist/document-models/index.d.ts.map +1 -0
  5. package/dist/document-models/index.js +4 -0
  6. package/dist/document-models/network-profile/gen/actions.d.ts +4 -0
  7. package/dist/document-models/network-profile/gen/actions.d.ts.map +1 -0
  8. package/dist/document-models/network-profile/gen/actions.js +1 -0
  9. package/dist/document-models/network-profile/gen/creators.d.ts +2 -0
  10. package/dist/document-models/network-profile/gen/creators.d.ts.map +1 -0
  11. package/dist/document-models/network-profile/gen/creators.js +1 -0
  12. package/dist/document-models/network-profile/gen/document-model.d.ts +3 -0
  13. package/dist/document-models/network-profile/gen/document-model.d.ts.map +1 -0
  14. package/dist/document-models/network-profile/gen/document-model.js +158 -0
  15. package/dist/document-models/network-profile/gen/index.d.ts +6 -0
  16. package/dist/document-models/network-profile/gen/index.d.ts.map +1 -0
  17. package/dist/document-models/network-profile/gen/index.js +5 -0
  18. package/dist/document-models/network-profile/gen/network-profile-management/actions.d.ts +48 -0
  19. package/dist/document-models/network-profile/gen/network-profile-management/actions.d.ts.map +1 -0
  20. package/dist/document-models/network-profile/gen/network-profile-management/actions.js +1 -0
  21. package/dist/document-models/network-profile/gen/network-profile-management/creators.d.ts +14 -0
  22. package/dist/document-models/network-profile/gen/network-profile-management/creators.d.ts.map +1 -0
  23. package/dist/document-models/network-profile/gen/network-profile-management/creators.js +13 -0
  24. package/dist/document-models/network-profile/gen/network-profile-management/error.d.ts +2 -0
  25. package/dist/document-models/network-profile/gen/network-profile-management/error.d.ts.map +1 -0
  26. package/dist/document-models/network-profile/gen/network-profile-management/error.js +1 -0
  27. package/dist/document-models/network-profile/gen/network-profile-management/object.d.ts +17 -0
  28. package/dist/document-models/network-profile/gen/network-profile-management/object.d.ts.map +1 -0
  29. package/dist/document-models/network-profile/gen/network-profile-management/object.js +37 -0
  30. package/dist/document-models/network-profile/gen/network-profile-management/operations.d.ts +17 -0
  31. package/dist/document-models/network-profile/gen/network-profile-management/operations.d.ts.map +1 -0
  32. package/dist/document-models/network-profile/gen/network-profile-management/operations.js +1 -0
  33. package/dist/document-models/network-profile/gen/object.d.ts +16 -0
  34. package/dist/document-models/network-profile/gen/object.d.ts.map +1 -0
  35. package/dist/document-models/network-profile/gen/object.js +25 -0
  36. package/dist/document-models/network-profile/gen/reducer.d.ts +3 -0
  37. package/dist/document-models/network-profile/gen/reducer.d.ts.map +1 -0
  38. package/dist/document-models/network-profile/gen/reducer.js +60 -0
  39. package/dist/document-models/network-profile/gen/schema/index.d.ts +3 -0
  40. package/dist/document-models/network-profile/gen/schema/index.d.ts.map +1 -0
  41. package/dist/document-models/network-profile/gen/schema/index.js +2 -0
  42. package/dist/document-models/network-profile/gen/schema/types.d.ts +184 -0
  43. package/dist/document-models/network-profile/gen/schema/types.d.ts.map +1 -0
  44. package/dist/document-models/network-profile/gen/schema/types.js +1 -0
  45. package/dist/document-models/network-profile/gen/schema/zod.d.ts +23 -0
  46. package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -0
  47. package/dist/document-models/network-profile/gen/schema/zod.js +83 -0
  48. package/dist/document-models/network-profile/gen/types.d.ts +10 -0
  49. package/dist/document-models/network-profile/gen/types.d.ts.map +1 -0
  50. package/dist/document-models/network-profile/gen/types.js +1 -0
  51. package/dist/document-models/network-profile/gen/utils.d.ts +13 -0
  52. package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -0
  53. package/dist/document-models/network-profile/gen/utils.js +52 -0
  54. package/dist/document-models/network-profile/index.d.ts +35 -0
  55. package/dist/document-models/network-profile/index.d.ts.map +1 -0
  56. package/dist/document-models/network-profile/index.js +21 -0
  57. package/dist/document-models/network-profile/ph-factories.d.ts +27 -0
  58. package/dist/document-models/network-profile/ph-factories.d.ts.map +1 -0
  59. package/dist/document-models/network-profile/ph-factories.js +60 -0
  60. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts +8 -0
  61. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts.map +1 -0
  62. package/dist/document-models/network-profile/src/reducers/network-profile-management.js +40 -0
  63. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts +6 -0
  64. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts.map +1 -0
  65. package/dist/document-models/network-profile/src/tests/document-model.test.js +18 -0
  66. package/dist/document-models/network-profile/src/tests/network-profile-management.test.d.ts +6 -0
  67. package/dist/document-models/network-profile/src/tests/network-profile-management.test.d.ts.map +1 -0
  68. package/dist/document-models/network-profile/src/tests/network-profile-management.test.js +164 -0
  69. package/dist/document-models/network-profile/src/utils.d.ts +2 -0
  70. package/dist/document-models/network-profile/src/utils.d.ts.map +1 -0
  71. package/dist/document-models/network-profile/src/utils.js +1 -0
  72. package/dist/document-models/payment-terms/gen/actions.d.ts +8 -0
  73. package/dist/document-models/payment-terms/gen/actions.d.ts.map +1 -0
  74. package/dist/document-models/payment-terms/gen/actions.js +3 -0
  75. package/dist/document-models/payment-terms/gen/clauses/actions.d.ts +28 -0
  76. package/dist/document-models/payment-terms/gen/clauses/actions.d.ts.map +1 -0
  77. package/dist/document-models/payment-terms/gen/clauses/actions.js +1 -0
  78. package/dist/document-models/payment-terms/gen/clauses/creators.d.ts +9 -0
  79. package/dist/document-models/payment-terms/gen/clauses/creators.d.ts.map +1 -0
  80. package/dist/document-models/payment-terms/gen/clauses/creators.js +8 -0
  81. package/dist/document-models/payment-terms/gen/clauses/error.d.ts +41 -0
  82. package/dist/document-models/payment-terms/gen/clauses/error.d.ts.map +1 -0
  83. package/dist/document-models/payment-terms/gen/clauses/error.js +44 -0
  84. package/dist/document-models/payment-terms/gen/clauses/object.d.ts +12 -0
  85. package/dist/document-models/payment-terms/gen/clauses/object.d.ts.map +1 -0
  86. package/dist/document-models/payment-terms/gen/clauses/object.js +22 -0
  87. package/dist/document-models/payment-terms/gen/clauses/operations.d.ts +12 -0
  88. package/dist/document-models/payment-terms/gen/clauses/operations.d.ts.map +1 -0
  89. package/dist/document-models/payment-terms/gen/clauses/operations.js +1 -0
  90. package/dist/document-models/payment-terms/gen/creators.d.ts +4 -0
  91. package/dist/document-models/payment-terms/gen/creators.d.ts.map +1 -0
  92. package/dist/document-models/payment-terms/gen/creators.js +3 -0
  93. package/dist/document-models/payment-terms/gen/document-model.d.ts +3 -0
  94. package/dist/document-models/payment-terms/gen/document-model.d.ts.map +1 -0
  95. package/dist/document-models/payment-terms/gen/document-model.js +318 -0
  96. package/dist/document-models/payment-terms/gen/index.d.ts +6 -0
  97. package/dist/document-models/payment-terms/gen/index.d.ts.map +1 -0
  98. package/dist/document-models/payment-terms/gen/index.js +5 -0
  99. package/dist/document-models/payment-terms/gen/milestones/actions.d.ts +24 -0
  100. package/dist/document-models/payment-terms/gen/milestones/actions.d.ts.map +1 -0
  101. package/dist/document-models/payment-terms/gen/milestones/actions.js +1 -0
  102. package/dist/document-models/payment-terms/gen/milestones/creators.d.ts +8 -0
  103. package/dist/document-models/payment-terms/gen/milestones/creators.d.ts.map +1 -0
  104. package/dist/document-models/payment-terms/gen/milestones/creators.js +7 -0
  105. package/dist/document-models/payment-terms/gen/milestones/error.d.ts +27 -0
  106. package/dist/document-models/payment-terms/gen/milestones/error.d.ts.map +1 -0
  107. package/dist/document-models/payment-terms/gen/milestones/error.js +26 -0
  108. package/dist/document-models/payment-terms/gen/milestones/object.d.ts +11 -0
  109. package/dist/document-models/payment-terms/gen/milestones/object.d.ts.map +1 -0
  110. package/dist/document-models/payment-terms/gen/milestones/object.js +19 -0
  111. package/dist/document-models/payment-terms/gen/milestones/operations.d.ts +11 -0
  112. package/dist/document-models/payment-terms/gen/milestones/operations.d.ts.map +1 -0
  113. package/dist/document-models/payment-terms/gen/milestones/operations.js +1 -0
  114. package/dist/document-models/payment-terms/gen/object.d.ts +20 -0
  115. package/dist/document-models/payment-terms/gen/object.d.ts.map +1 -0
  116. package/dist/document-models/payment-terms/gen/object.js +33 -0
  117. package/dist/document-models/payment-terms/gen/reducer.d.ts +3 -0
  118. package/dist/document-models/payment-terms/gen/reducer.d.ts.map +1 -0
  119. package/dist/document-models/payment-terms/gen/reducer.js +86 -0
  120. package/dist/document-models/payment-terms/gen/schema/index.d.ts +3 -0
  121. package/dist/document-models/payment-terms/gen/schema/index.d.ts.map +1 -0
  122. package/dist/document-models/payment-terms/gen/schema/index.js +2 -0
  123. package/dist/document-models/payment-terms/gen/schema/types.d.ts +298 -0
  124. package/dist/document-models/payment-terms/gen/schema/types.d.ts.map +1 -0
  125. package/dist/document-models/payment-terms/gen/schema/types.js +1 -0
  126. package/dist/document-models/payment-terms/gen/schema/zod.d.ts +41 -0
  127. package/dist/document-models/payment-terms/gen/schema/zod.d.ts.map +1 -0
  128. package/dist/document-models/payment-terms/gen/schema/zod.js +291 -0
  129. package/dist/document-models/payment-terms/gen/terms/actions.d.ts +28 -0
  130. package/dist/document-models/payment-terms/gen/terms/actions.d.ts.map +1 -0
  131. package/dist/document-models/payment-terms/gen/terms/actions.js +1 -0
  132. package/dist/document-models/payment-terms/gen/terms/creators.d.ts +9 -0
  133. package/dist/document-models/payment-terms/gen/terms/creators.d.ts.map +1 -0
  134. package/dist/document-models/payment-terms/gen/terms/creators.js +8 -0
  135. package/dist/document-models/payment-terms/gen/terms/error.d.ts +2 -0
  136. package/dist/document-models/payment-terms/gen/terms/error.d.ts.map +1 -0
  137. package/dist/document-models/payment-terms/gen/terms/error.js +1 -0
  138. package/dist/document-models/payment-terms/gen/terms/object.d.ts +12 -0
  139. package/dist/document-models/payment-terms/gen/terms/object.d.ts.map +1 -0
  140. package/dist/document-models/payment-terms/gen/terms/object.js +22 -0
  141. package/dist/document-models/payment-terms/gen/terms/operations.d.ts +12 -0
  142. package/dist/document-models/payment-terms/gen/terms/operations.d.ts.map +1 -0
  143. package/dist/document-models/payment-terms/gen/terms/operations.js +1 -0
  144. package/dist/document-models/payment-terms/gen/types.d.ts +10 -0
  145. package/dist/document-models/payment-terms/gen/types.d.ts.map +1 -0
  146. package/dist/document-models/payment-terms/gen/types.js +1 -0
  147. package/dist/document-models/payment-terms/gen/utils.d.ts +13 -0
  148. package/dist/document-models/payment-terms/gen/utils.d.ts.map +1 -0
  149. package/dist/document-models/payment-terms/gen/utils.js +54 -0
  150. package/dist/document-models/payment-terms/index.d.ts +41 -0
  151. package/dist/document-models/payment-terms/index.d.ts.map +1 -0
  152. package/dist/document-models/payment-terms/index.js +21 -0
  153. package/dist/document-models/payment-terms/ph-factories.d.ts +27 -0
  154. package/dist/document-models/payment-terms/ph-factories.d.ts.map +1 -0
  155. package/dist/document-models/payment-terms/ph-factories.js +62 -0
  156. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts +3 -0
  157. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts.map +1 -0
  158. package/dist/document-models/payment-terms/src/reducers/clauses.js +69 -0
  159. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts +3 -0
  160. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts.map +1 -0
  161. package/dist/document-models/payment-terms/src/reducers/milestones.js +57 -0
  162. package/dist/document-models/payment-terms/src/reducers/terms.d.ts +3 -0
  163. package/dist/document-models/payment-terms/src/reducers/terms.d.ts.map +1 -0
  164. package/dist/document-models/payment-terms/src/reducers/terms.js +48 -0
  165. package/dist/document-models/payment-terms/src/tests/clauses.test.d.ts +6 -0
  166. package/dist/document-models/payment-terms/src/tests/clauses.test.d.ts.map +1 -0
  167. package/dist/document-models/payment-terms/src/tests/clauses.test.js +64 -0
  168. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts +6 -0
  169. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts.map +1 -0
  170. package/dist/document-models/payment-terms/src/tests/document-model.test.js +18 -0
  171. package/dist/document-models/payment-terms/src/tests/milestones.test.d.ts +6 -0
  172. package/dist/document-models/payment-terms/src/tests/milestones.test.d.ts.map +1 -0
  173. package/dist/document-models/payment-terms/src/tests/milestones.test.js +56 -0
  174. package/dist/document-models/payment-terms/src/tests/terms.test.d.ts +6 -0
  175. package/dist/document-models/payment-terms/src/tests/terms.test.d.ts.map +1 -0
  176. package/dist/document-models/payment-terms/src/tests/terms.test.js +64 -0
  177. package/dist/document-models/payment-terms/src/utils.d.ts +2 -0
  178. package/dist/document-models/payment-terms/src/utils.d.ts.map +1 -0
  179. package/dist/document-models/payment-terms/src/utils.js +1 -0
  180. package/dist/document-models/request-for-proposals/gen/actions.d.ts +8 -0
  181. package/dist/document-models/request-for-proposals/gen/actions.d.ts.map +1 -0
  182. package/dist/document-models/request-for-proposals/gen/actions.js +3 -0
  183. package/dist/document-models/request-for-proposals/gen/contex-document/actions.d.ts +12 -0
  184. package/dist/document-models/request-for-proposals/gen/contex-document/actions.d.ts.map +1 -0
  185. package/dist/document-models/request-for-proposals/gen/contex-document/actions.js +1 -0
  186. package/dist/document-models/request-for-proposals/gen/contex-document/creators.d.ts +5 -0
  187. package/dist/document-models/request-for-proposals/gen/contex-document/creators.d.ts.map +1 -0
  188. package/dist/document-models/request-for-proposals/gen/contex-document/creators.js +4 -0
  189. package/dist/document-models/request-for-proposals/gen/contex-document/error.d.ts +2 -0
  190. package/dist/document-models/request-for-proposals/gen/contex-document/error.d.ts.map +1 -0
  191. package/dist/document-models/request-for-proposals/gen/contex-document/error.js +1 -0
  192. package/dist/document-models/request-for-proposals/gen/contex-document/object.d.ts +8 -0
  193. package/dist/document-models/request-for-proposals/gen/contex-document/object.d.ts.map +1 -0
  194. package/dist/document-models/request-for-proposals/gen/contex-document/object.js +10 -0
  195. package/dist/document-models/request-for-proposals/gen/contex-document/operations.d.ts +8 -0
  196. package/dist/document-models/request-for-proposals/gen/contex-document/operations.d.ts.map +1 -0
  197. package/dist/document-models/request-for-proposals/gen/contex-document/operations.js +1 -0
  198. package/dist/document-models/request-for-proposals/gen/creators.d.ts +4 -0
  199. package/dist/document-models/request-for-proposals/gen/creators.d.ts.map +1 -0
  200. package/dist/document-models/request-for-proposals/gen/creators.js +3 -0
  201. package/dist/document-models/request-for-proposals/gen/document-model.d.ts +3 -0
  202. package/dist/document-models/request-for-proposals/gen/document-model.d.ts.map +1 -0
  203. package/dist/document-models/request-for-proposals/gen/document-model.js +117 -0
  204. package/dist/document-models/request-for-proposals/gen/index.d.ts +6 -0
  205. package/dist/document-models/request-for-proposals/gen/index.d.ts.map +1 -0
  206. package/dist/document-models/request-for-proposals/gen/index.js +5 -0
  207. package/dist/document-models/request-for-proposals/gen/object.d.ts +20 -0
  208. package/dist/document-models/request-for-proposals/gen/object.d.ts.map +1 -0
  209. package/dist/document-models/request-for-proposals/gen/object.js +33 -0
  210. package/dist/document-models/request-for-proposals/gen/proposals/actions.d.ts +16 -0
  211. package/dist/document-models/request-for-proposals/gen/proposals/actions.d.ts.map +1 -0
  212. package/dist/document-models/request-for-proposals/gen/proposals/actions.js +1 -0
  213. package/dist/document-models/request-for-proposals/gen/proposals/creators.d.ts +6 -0
  214. package/dist/document-models/request-for-proposals/gen/proposals/creators.d.ts.map +1 -0
  215. package/dist/document-models/request-for-proposals/gen/proposals/creators.js +5 -0
  216. package/dist/document-models/request-for-proposals/gen/proposals/error.d.ts +2 -0
  217. package/dist/document-models/request-for-proposals/gen/proposals/error.d.ts.map +1 -0
  218. package/dist/document-models/request-for-proposals/gen/proposals/error.js +1 -0
  219. package/dist/document-models/request-for-proposals/gen/proposals/object.d.ts +9 -0
  220. package/dist/document-models/request-for-proposals/gen/proposals/object.d.ts.map +1 -0
  221. package/dist/document-models/request-for-proposals/gen/proposals/object.js +13 -0
  222. package/dist/document-models/request-for-proposals/gen/proposals/operations.d.ts +9 -0
  223. package/dist/document-models/request-for-proposals/gen/proposals/operations.d.ts.map +1 -0
  224. package/dist/document-models/request-for-proposals/gen/proposals/operations.js +1 -0
  225. package/dist/document-models/request-for-proposals/gen/reducer.d.ts +3 -0
  226. package/dist/document-models/request-for-proposals/gen/reducer.d.ts.map +1 -0
  227. package/dist/document-models/request-for-proposals/gen/reducer.js +42 -0
  228. package/dist/document-models/request-for-proposals/gen/rfp-state/actions.d.ts +8 -0
  229. package/dist/document-models/request-for-proposals/gen/rfp-state/actions.d.ts.map +1 -0
  230. package/dist/document-models/request-for-proposals/gen/rfp-state/actions.js +1 -0
  231. package/dist/document-models/request-for-proposals/gen/rfp-state/creators.d.ts +4 -0
  232. package/dist/document-models/request-for-proposals/gen/rfp-state/creators.d.ts.map +1 -0
  233. package/dist/document-models/request-for-proposals/gen/rfp-state/creators.js +3 -0
  234. package/dist/document-models/request-for-proposals/gen/rfp-state/error.d.ts +2 -0
  235. package/dist/document-models/request-for-proposals/gen/rfp-state/error.d.ts.map +1 -0
  236. package/dist/document-models/request-for-proposals/gen/rfp-state/error.js +1 -0
  237. package/dist/document-models/request-for-proposals/gen/rfp-state/object.d.ts +7 -0
  238. package/dist/document-models/request-for-proposals/gen/rfp-state/object.d.ts.map +1 -0
  239. package/dist/document-models/request-for-proposals/gen/rfp-state/object.js +7 -0
  240. package/dist/document-models/request-for-proposals/gen/rfp-state/operations.d.ts +7 -0
  241. package/dist/document-models/request-for-proposals/gen/rfp-state/operations.d.ts.map +1 -0
  242. package/dist/document-models/request-for-proposals/gen/rfp-state/operations.js +1 -0
  243. package/dist/document-models/request-for-proposals/gen/schema/index.d.ts +3 -0
  244. package/dist/document-models/request-for-proposals/gen/schema/index.d.ts.map +1 -0
  245. package/dist/document-models/request-for-proposals/gen/schema/index.js +2 -0
  246. package/dist/document-models/request-for-proposals/gen/schema/types.d.ts +231 -0
  247. package/dist/document-models/request-for-proposals/gen/schema/types.d.ts.map +1 -0
  248. package/dist/document-models/request-for-proposals/gen/schema/types.js +1 -0
  249. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts +30 -0
  250. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts.map +1 -0
  251. package/dist/document-models/request-for-proposals/gen/schema/zod.js +176 -0
  252. package/dist/document-models/request-for-proposals/gen/types.d.ts +10 -0
  253. package/dist/document-models/request-for-proposals/gen/types.d.ts.map +1 -0
  254. package/dist/document-models/request-for-proposals/gen/types.js +1 -0
  255. package/dist/document-models/request-for-proposals/gen/utils.d.ts +13 -0
  256. package/dist/document-models/request-for-proposals/gen/utils.d.ts.map +1 -0
  257. package/dist/document-models/request-for-proposals/gen/utils.js +59 -0
  258. package/dist/document-models/request-for-proposals/index.d.ts +30 -0
  259. package/dist/document-models/request-for-proposals/index.d.ts.map +1 -0
  260. package/dist/document-models/request-for-proposals/index.js +21 -0
  261. package/dist/document-models/request-for-proposals/ph-factories.d.ts +27 -0
  262. package/dist/document-models/request-for-proposals/ph-factories.d.ts.map +1 -0
  263. package/dist/document-models/request-for-proposals/ph-factories.js +67 -0
  264. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts +8 -0
  265. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts.map +1 -0
  266. package/dist/document-models/request-for-proposals/src/reducers/contex-document.js +27 -0
  267. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts +8 -0
  268. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts.map +1 -0
  269. package/dist/document-models/request-for-proposals/src/reducers/proposals.js +56 -0
  270. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts +8 -0
  271. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts.map +1 -0
  272. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.js +24 -0
  273. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts +5 -0
  274. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts.map +1 -0
  275. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.js +185 -0
  276. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts +6 -0
  277. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts.map +1 -0
  278. package/dist/document-models/request-for-proposals/src/tests/document-model.test.js +18 -0
  279. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts +5 -0
  280. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts.map +1 -0
  281. package/dist/document-models/request-for-proposals/src/tests/proposals.test.js +332 -0
  282. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts +5 -0
  283. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts.map +1 -0
  284. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.js +243 -0
  285. package/dist/document-models/request-for-proposals/src/utils.d.ts +2 -0
  286. package/dist/document-models/request-for-proposals/src/utils.d.ts.map +1 -0
  287. package/dist/document-models/request-for-proposals/src/utils.js +1 -0
  288. package/dist/document-models/workstream/gen/actions.d.ts +6 -0
  289. package/dist/document-models/workstream/gen/actions.d.ts.map +1 -0
  290. package/dist/document-models/workstream/gen/actions.js +2 -0
  291. package/dist/document-models/workstream/gen/creators.d.ts +3 -0
  292. package/dist/document-models/workstream/gen/creators.d.ts.map +1 -0
  293. package/dist/document-models/workstream/gen/creators.js +2 -0
  294. package/dist/document-models/workstream/gen/document-model.d.ts +3 -0
  295. package/dist/document-models/workstream/gen/document-model.d.ts.map +1 -0
  296. package/dist/document-models/workstream/gen/document-model.js +143 -0
  297. package/dist/document-models/workstream/gen/index.d.ts +6 -0
  298. package/dist/document-models/workstream/gen/index.d.ts.map +1 -0
  299. package/dist/document-models/workstream/gen/index.js +5 -0
  300. package/dist/document-models/workstream/gen/object.d.ts +18 -0
  301. package/dist/document-models/workstream/gen/object.d.ts.map +1 -0
  302. package/dist/document-models/workstream/gen/object.js +27 -0
  303. package/dist/document-models/workstream/gen/proposals/actions.d.ts +20 -0
  304. package/dist/document-models/workstream/gen/proposals/actions.d.ts.map +1 -0
  305. package/dist/document-models/workstream/gen/proposals/actions.js +1 -0
  306. package/dist/document-models/workstream/gen/proposals/creators.d.ts +7 -0
  307. package/dist/document-models/workstream/gen/proposals/creators.d.ts.map +1 -0
  308. package/dist/document-models/workstream/gen/proposals/creators.js +6 -0
  309. package/dist/document-models/workstream/gen/proposals/error.d.ts +2 -0
  310. package/dist/document-models/workstream/gen/proposals/error.d.ts.map +1 -0
  311. package/dist/document-models/workstream/gen/proposals/error.js +1 -0
  312. package/dist/document-models/workstream/gen/proposals/object.d.ts +10 -0
  313. package/dist/document-models/workstream/gen/proposals/object.d.ts.map +1 -0
  314. package/dist/document-models/workstream/gen/proposals/object.js +16 -0
  315. package/dist/document-models/workstream/gen/proposals/operations.d.ts +10 -0
  316. package/dist/document-models/workstream/gen/proposals/operations.d.ts.map +1 -0
  317. package/dist/document-models/workstream/gen/proposals/operations.js +1 -0
  318. package/dist/document-models/workstream/gen/reducer.d.ts +3 -0
  319. package/dist/document-models/workstream/gen/reducer.d.ts.map +1 -0
  320. package/dist/document-models/workstream/gen/reducer.js +53 -0
  321. package/dist/document-models/workstream/gen/schema/index.d.ts +3 -0
  322. package/dist/document-models/workstream/gen/schema/index.d.ts.map +1 -0
  323. package/dist/document-models/workstream/gen/schema/index.js +2 -0
  324. package/dist/document-models/workstream/gen/schema/types.d.ts +225 -0
  325. package/dist/document-models/workstream/gen/schema/types.d.ts.map +1 -0
  326. package/dist/document-models/workstream/gen/schema/types.js +1 -0
  327. package/dist/document-models/workstream/gen/schema/zod.d.ts +29 -0
  328. package/dist/document-models/workstream/gen/schema/zod.d.ts.map +1 -0
  329. package/dist/document-models/workstream/gen/schema/zod.js +158 -0
  330. package/dist/document-models/workstream/gen/types.d.ts +10 -0
  331. package/dist/document-models/workstream/gen/types.d.ts.map +1 -0
  332. package/dist/document-models/workstream/gen/types.js +1 -0
  333. package/dist/document-models/workstream/gen/utils.d.ts +13 -0
  334. package/dist/document-models/workstream/gen/utils.d.ts.map +1 -0
  335. package/dist/document-models/workstream/gen/utils.js +51 -0
  336. package/dist/document-models/workstream/gen/workstream/actions.d.ts +24 -0
  337. package/dist/document-models/workstream/gen/workstream/actions.d.ts.map +1 -0
  338. package/dist/document-models/workstream/gen/workstream/actions.js +1 -0
  339. package/dist/document-models/workstream/gen/workstream/creators.d.ts +8 -0
  340. package/dist/document-models/workstream/gen/workstream/creators.d.ts.map +1 -0
  341. package/dist/document-models/workstream/gen/workstream/creators.js +7 -0
  342. package/dist/document-models/workstream/gen/workstream/error.d.ts +2 -0
  343. package/dist/document-models/workstream/gen/workstream/error.d.ts.map +1 -0
  344. package/dist/document-models/workstream/gen/workstream/error.js +1 -0
  345. package/dist/document-models/workstream/gen/workstream/object.d.ts +11 -0
  346. package/dist/document-models/workstream/gen/workstream/object.d.ts.map +1 -0
  347. package/dist/document-models/workstream/gen/workstream/object.js +19 -0
  348. package/dist/document-models/workstream/gen/workstream/operations.d.ts +11 -0
  349. package/dist/document-models/workstream/gen/workstream/operations.d.ts.map +1 -0
  350. package/dist/document-models/workstream/gen/workstream/operations.js +1 -0
  351. package/dist/document-models/workstream/index.d.ts +33 -0
  352. package/dist/document-models/workstream/index.d.ts.map +1 -0
  353. package/dist/document-models/workstream/index.js +21 -0
  354. package/dist/document-models/workstream/ph-factories.d.ts +27 -0
  355. package/dist/document-models/workstream/ph-factories.d.ts.map +1 -0
  356. package/dist/document-models/workstream/ph-factories.js +59 -0
  357. package/dist/document-models/workstream/src/reducers/proposals.d.ts +8 -0
  358. package/dist/document-models/workstream/src/reducers/proposals.d.ts.map +1 -0
  359. package/dist/document-models/workstream/src/reducers/proposals.js +106 -0
  360. package/dist/document-models/workstream/src/reducers/workstream.d.ts +8 -0
  361. package/dist/document-models/workstream/src/reducers/workstream.d.ts.map +1 -0
  362. package/dist/document-models/workstream/src/reducers/workstream.js +69 -0
  363. package/dist/document-models/workstream/src/tests/document-model.test.d.ts +6 -0
  364. package/dist/document-models/workstream/src/tests/document-model.test.d.ts.map +1 -0
  365. package/dist/document-models/workstream/src/tests/document-model.test.js +18 -0
  366. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts +5 -0
  367. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts.map +1 -0
  368. package/dist/document-models/workstream/src/tests/proposals-reducers.test.js +316 -0
  369. package/dist/document-models/workstream/src/tests/proposals.test.d.ts +6 -0
  370. package/dist/document-models/workstream/src/tests/proposals.test.d.ts.map +1 -0
  371. package/dist/document-models/workstream/src/tests/proposals.test.js +48 -0
  372. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts +5 -0
  373. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts.map +1 -0
  374. package/dist/document-models/workstream/src/tests/workstream-reducers.test.js +208 -0
  375. package/dist/document-models/workstream/src/tests/workstream.test.d.ts +6 -0
  376. package/dist/document-models/workstream/src/tests/workstream.test.d.ts.map +1 -0
  377. package/dist/document-models/workstream/src/tests/workstream.test.js +56 -0
  378. package/dist/document-models/workstream/src/utils.d.ts +2 -0
  379. package/dist/document-models/workstream/src/utils.d.ts.map +1 -0
  380. package/dist/document-models/workstream/src/utils.js +1 -0
  381. package/dist/editors/index.d.ts +7 -0
  382. package/dist/editors/index.d.ts.map +1 -0
  383. package/dist/editors/index.js +5 -0
  384. package/dist/editors/network-admin/components/CreateDocument.d.ts +6 -0
  385. package/dist/editors/network-admin/components/CreateDocument.d.ts.map +1 -0
  386. package/dist/editors/network-admin/components/CreateDocument.js +24 -0
  387. package/dist/editors/network-admin/components/DriveExplorer.d.ts +6 -0
  388. package/dist/editors/network-admin/components/DriveExplorer.d.ts.map +1 -0
  389. package/dist/editors/network-admin/components/DriveExplorer.js +460 -0
  390. package/dist/editors/network-admin/components/EditorContainer.d.ts +12 -0
  391. package/dist/editors/network-admin/components/EditorContainer.d.ts.map +1 -0
  392. package/dist/editors/network-admin/components/EditorContainer.js +81 -0
  393. package/dist/editors/network-admin/components/FolderTree.d.ts +15 -0
  394. package/dist/editors/network-admin/components/FolderTree.d.ts.map +1 -0
  395. package/dist/editors/network-admin/components/FolderTree.js +44 -0
  396. package/dist/editors/network-admin/components/IsolatedSidebar.d.ts +22 -0
  397. package/dist/editors/network-admin/components/IsolatedSidebar.d.ts.map +1 -0
  398. package/dist/editors/network-admin/components/IsolatedSidebar.js +106 -0
  399. package/dist/editors/network-admin/components/IsolatedSidebarProvider.d.ts +15 -0
  400. package/dist/editors/network-admin/components/IsolatedSidebarProvider.d.ts.map +1 -0
  401. package/dist/editors/network-admin/components/IsolatedSidebarProvider.js +367 -0
  402. package/dist/editors/network-admin/editor.d.ts +10 -0
  403. package/dist/editors/network-admin/editor.d.ts.map +1 -0
  404. package/dist/editors/network-admin/editor.js +22 -0
  405. package/dist/editors/network-admin/index.d.ts +4 -0
  406. package/dist/editors/network-admin/index.d.ts.map +1 -0
  407. package/dist/editors/network-admin/index.js +12 -0
  408. package/dist/editors/network-admin/utils.d.ts +60 -0
  409. package/dist/editors/network-admin/utils.d.ts.map +1 -0
  410. package/dist/editors/network-admin/utils.js +67 -0
  411. package/dist/editors/network-profile/editor.d.ts +4 -0
  412. package/dist/editors/network-profile/editor.d.ts.map +1 -0
  413. package/dist/editors/network-profile/editor.js +151 -0
  414. package/dist/editors/network-profile/index.d.ts +4 -0
  415. package/dist/editors/network-profile/index.d.ts.map +1 -0
  416. package/dist/editors/network-profile/index.js +12 -0
  417. package/dist/editors/payment-terms/basic-terms-tab.d.ts +8 -0
  418. package/dist/editors/payment-terms/basic-terms-tab.d.ts.map +1 -0
  419. package/dist/editors/payment-terms/basic-terms-tab.js +84 -0
  420. package/dist/editors/payment-terms/clauses-tab.d.ts +10 -0
  421. package/dist/editors/payment-terms/clauses-tab.d.ts.map +1 -0
  422. package/dist/editors/payment-terms/clauses-tab.js +208 -0
  423. package/dist/editors/payment-terms/cost-materials-tab.d.ts +8 -0
  424. package/dist/editors/payment-terms/cost-materials-tab.d.ts.map +1 -0
  425. package/dist/editors/payment-terms/cost-materials-tab.js +53 -0
  426. package/dist/editors/payment-terms/editor.d.ts +4 -0
  427. package/dist/editors/payment-terms/editor.d.ts.map +1 -0
  428. package/dist/editors/payment-terms/editor.js +45 -0
  429. package/dist/editors/payment-terms/escrow-tab.d.ts +8 -0
  430. package/dist/editors/payment-terms/escrow-tab.d.ts.map +1 -0
  431. package/dist/editors/payment-terms/escrow-tab.js +56 -0
  432. package/dist/editors/payment-terms/evaluation-tab.d.ts +8 -0
  433. package/dist/editors/payment-terms/evaluation-tab.d.ts.map +1 -0
  434. package/dist/editors/payment-terms/evaluation-tab.js +62 -0
  435. package/dist/editors/payment-terms/index.d.ts +4 -0
  436. package/dist/editors/payment-terms/index.d.ts.map +1 -0
  437. package/dist/editors/payment-terms/index.js +12 -0
  438. package/dist/editors/payment-terms/milestones-tab.d.ts +9 -0
  439. package/dist/editors/payment-terms/milestones-tab.d.ts.map +1 -0
  440. package/dist/editors/payment-terms/milestones-tab.js +193 -0
  441. package/dist/editors/payment-terms/retainer-tab.d.ts +8 -0
  442. package/dist/editors/payment-terms/retainer-tab.d.ts.map +1 -0
  443. package/dist/editors/payment-terms/retainer-tab.js +82 -0
  444. package/dist/editors/request-for-proposals/editor.d.ts +4 -0
  445. package/dist/editors/request-for-proposals/editor.d.ts.map +1 -0
  446. package/dist/editors/request-for-proposals/editor.js +42 -0
  447. package/dist/editors/request-for-proposals/index.d.ts +4 -0
  448. package/dist/editors/request-for-proposals/index.d.ts.map +1 -0
  449. package/dist/editors/request-for-proposals/index.js +12 -0
  450. package/dist/editors/request-for-proposals/markdown-editor.d.ts +12 -0
  451. package/dist/editors/request-for-proposals/markdown-editor.d.ts.map +1 -0
  452. package/dist/editors/request-for-proposals/markdown-editor.js +119 -0
  453. package/dist/editors/workstream/editor.d.ts +4 -0
  454. package/dist/editors/workstream/editor.d.ts.map +1 -0
  455. package/dist/editors/workstream/editor.js +450 -0
  456. package/dist/editors/workstream/index.d.ts +4 -0
  457. package/dist/editors/workstream/index.d.ts.map +1 -0
  458. package/dist/editors/workstream/index.js +12 -0
  459. package/dist/index.d.ts +5 -0
  460. package/dist/index.d.ts.map +1 -0
  461. package/dist/index.js +6 -0
  462. package/dist/powerhouse.manifest.json +65 -0
  463. package/dist/processors/index.d.ts +2 -0
  464. package/dist/processors/index.d.ts.map +1 -0
  465. package/dist/processors/index.js +1 -0
  466. package/dist/style.css +18384 -0
  467. package/dist/subgraphs/index.d.ts +6 -0
  468. package/dist/subgraphs/index.d.ts.map +1 -0
  469. package/dist/subgraphs/index.js +4 -0
  470. package/dist/subgraphs/network-profile/index.d.ts +10 -0
  471. package/dist/subgraphs/network-profile/index.d.ts.map +1 -0
  472. package/dist/subgraphs/network-profile/index.js +11 -0
  473. package/dist/subgraphs/network-profile/resolvers.d.ts +3 -0
  474. package/dist/subgraphs/network-profile/resolvers.d.ts.map +1 -0
  475. package/dist/subgraphs/network-profile/resolvers.js +145 -0
  476. package/dist/subgraphs/network-profile/schema.d.ts +3 -0
  477. package/dist/subgraphs/network-profile/schema.d.ts.map +1 -0
  478. package/dist/subgraphs/network-profile/schema.js +139 -0
  479. package/dist/subgraphs/payment-terms/index.d.ts +10 -0
  480. package/dist/subgraphs/payment-terms/index.d.ts.map +1 -0
  481. package/dist/subgraphs/payment-terms/index.js +11 -0
  482. package/dist/subgraphs/payment-terms/resolvers.d.ts +3 -0
  483. package/dist/subgraphs/payment-terms/resolvers.d.ts.map +1 -0
  484. package/dist/subgraphs/payment-terms/resolvers.js +260 -0
  485. package/dist/subgraphs/payment-terms/schema.d.ts +3 -0
  486. package/dist/subgraphs/payment-terms/schema.d.ts.map +1 -0
  487. package/dist/subgraphs/payment-terms/schema.js +302 -0
  488. package/dist/subgraphs/request-for-proposals/index.d.ts +10 -0
  489. package/dist/subgraphs/request-for-proposals/index.d.ts.map +1 -0
  490. package/dist/subgraphs/request-for-proposals/index.js +11 -0
  491. package/dist/subgraphs/request-for-proposals/resolvers.d.ts +3 -0
  492. package/dist/subgraphs/request-for-proposals/resolvers.d.ts.map +1 -0
  493. package/dist/subgraphs/request-for-proposals/resolvers.js +110 -0
  494. package/dist/subgraphs/request-for-proposals/schema.d.ts +3 -0
  495. package/dist/subgraphs/request-for-proposals/schema.d.ts.map +1 -0
  496. package/dist/subgraphs/request-for-proposals/schema.js +232 -0
  497. package/dist/subgraphs/workstream/index.d.ts +10 -0
  498. package/dist/subgraphs/workstream/index.d.ts.map +1 -0
  499. package/dist/subgraphs/workstream/index.js +11 -0
  500. package/dist/subgraphs/workstream/resolvers.d.ts +3 -0
  501. package/dist/subgraphs/workstream/resolvers.d.ts.map +1 -0
  502. package/dist/subgraphs/workstream/resolvers.js +131 -0
  503. package/dist/subgraphs/workstream/schema.d.ts +3 -0
  504. package/dist/subgraphs/workstream/schema.d.ts.map +1 -0
  505. package/dist/subgraphs/workstream/schema.js +206 -0
  506. package/dist/vitest.config.d.ts +3 -0
  507. package/dist/vitest.config.d.ts.map +1 -0
  508. package/dist/vitest.config.js +8 -0
  509. package/package.json +106 -0
@@ -0,0 +1,332 @@
1
+ /**
2
+ * Comprehensive tests for Proposals reducers
3
+ */
4
+ import { describe, it, expect, beforeEach } from "vitest";
5
+ import utils from "../../gen/utils.js";
6
+ import { reducer } from "../../gen/reducer.js";
7
+ import * as creators from "../../gen/proposals/creators.js";
8
+ describe("Proposals Reducers - State Changes", () => {
9
+ let document;
10
+ beforeEach(() => {
11
+ document = utils.createDocument();
12
+ });
13
+ describe("addProposal", () => {
14
+ it("should add new proposal with all required fields", () => {
15
+ const input = {
16
+ rfpId: "rfp-123",
17
+ id: "proposal-456",
18
+ title: "Technical Solution Proposal",
19
+ summary: "Comprehensive technical solution for the RFP requirements",
20
+ proposalStatus: "SUBMITTED",
21
+ budgetEstimate: "$50,000",
22
+ paymentTerms: "MILESTONE_BASED_FIXED_PRICE",
23
+ submittedby: "vendor-789",
24
+ };
25
+ const updatedDocument = reducer(document, creators.addProposal(input));
26
+ expect(updatedDocument.state.global.proposals).toHaveLength(1);
27
+ const proposal = updatedDocument.state.global.proposals[0];
28
+ expect(proposal.id).toBe("proposal-456");
29
+ expect(proposal.title).toBe("Technical Solution Proposal");
30
+ expect(proposal.summary).toBe("Comprehensive technical solution for the RFP requirements");
31
+ expect(proposal.proposalStatus).toBe("SUBMITTED");
32
+ expect(proposal.budgetEstimate).toBe("$50,000");
33
+ expect(proposal.paymentTerms).toBe("MILESTONE_BASED_FIXED_PRICE");
34
+ expect(proposal.submittedby).toBe("vendor-789");
35
+ });
36
+ it("should add proposal with optional submittedby field as null", () => {
37
+ const input = {
38
+ rfpId: "rfp-123",
39
+ id: "proposal-456",
40
+ title: "Anonymous Proposal",
41
+ summary: "Proposal without submitter information",
42
+ proposalStatus: "SUBMITTED",
43
+ budgetEstimate: "$25,000",
44
+ paymentTerms: "RETAINER_BASED",
45
+ submittedby: null,
46
+ };
47
+ const updatedDocument = reducer(document, creators.addProposal(input));
48
+ const proposal = updatedDocument.state.global.proposals[0];
49
+ expect(proposal.submittedby).toBe(null);
50
+ });
51
+ it("should add multiple proposals", () => {
52
+ let currentDocument = document;
53
+ // Add first proposal
54
+ currentDocument = reducer(currentDocument, creators.addProposal({
55
+ rfpId: "rfp-123",
56
+ id: "proposal-1",
57
+ title: "First Proposal",
58
+ summary: "First vendor's solution",
59
+ proposalStatus: "SUBMITTED",
60
+ budgetEstimate: "$40,000",
61
+ paymentTerms: "MILESTONE_BASED_FIXED_PRICE",
62
+ }));
63
+ // Add second proposal
64
+ currentDocument = reducer(currentDocument, creators.addProposal({
65
+ rfpId: "rfp-123",
66
+ id: "proposal-2",
67
+ title: "Second Proposal",
68
+ summary: "Second vendor's solution",
69
+ proposalStatus: "UNDER_REVIEW",
70
+ budgetEstimate: "$45,000",
71
+ paymentTerms: "ESCROW",
72
+ }));
73
+ expect(currentDocument.state.global.proposals).toHaveLength(2);
74
+ expect(currentDocument.state.global.proposals[0].title).toBe("First Proposal");
75
+ expect(currentDocument.state.global.proposals[1].title).toBe("Second Proposal");
76
+ });
77
+ it("should handle different payment terms", () => {
78
+ const paymentTerms = [
79
+ "MILESTONE_BASED_FIXED_PRICE",
80
+ "MILESTONE_BASED_ADVANCE_PAYMENT",
81
+ "RETAINER_BASED",
82
+ "VARIABLE_COST",
83
+ "ESCROW",
84
+ ];
85
+ let currentDocument = document;
86
+ paymentTerms.forEach((term, index) => {
87
+ currentDocument = reducer(currentDocument, creators.addProposal({
88
+ rfpId: "rfp-123",
89
+ id: `proposal-${index}`,
90
+ title: `Proposal ${index + 1}`,
91
+ summary: `Proposal with ${term}`,
92
+ proposalStatus: "SUBMITTED",
93
+ budgetEstimate: `$${(index + 1) * 10000}`,
94
+ paymentTerms: term,
95
+ }));
96
+ });
97
+ expect(currentDocument.state.global.proposals).toHaveLength(5);
98
+ currentDocument.state.global.proposals.forEach((proposal, index) => {
99
+ expect(proposal.paymentTerms).toBe(paymentTerms[index]);
100
+ });
101
+ });
102
+ it("should handle different proposal statuses", () => {
103
+ const statuses = [
104
+ "SUBMITTED",
105
+ "OPENED",
106
+ "UNDER_REVIEW",
107
+ "NEEDS_REVISION",
108
+ "REVISED",
109
+ "APPROVED",
110
+ "CONDITIONALLY_APPROVED",
111
+ "REJECTED",
112
+ "WITHDRAWN",
113
+ ];
114
+ let currentDocument = document;
115
+ statuses.forEach((status, index) => {
116
+ currentDocument = reducer(currentDocument, creators.addProposal({
117
+ rfpId: "rfp-123",
118
+ id: `proposal-${index}`,
119
+ title: `Proposal ${index + 1}`,
120
+ summary: `Proposal with status ${status}`,
121
+ proposalStatus: status,
122
+ budgetEstimate: `$${(index + 1) * 10000}`,
123
+ paymentTerms: "MILESTONE_BASED_FIXED_PRICE",
124
+ }));
125
+ });
126
+ expect(currentDocument.state.global.proposals).toHaveLength(9);
127
+ currentDocument.state.global.proposals.forEach((proposal, index) => {
128
+ expect(proposal.proposalStatus).toBe(statuses[index]);
129
+ });
130
+ });
131
+ it("should handle special characters in title and summary", () => {
132
+ const input = {
133
+ rfpId: "rfp-123",
134
+ id: "proposal-456",
135
+ title: "Proposal with special chars: & < > \" '",
136
+ summary: "Summary with emojis: 🚀 💡 📊 and symbols: © ® ™",
137
+ proposalStatus: "SUBMITTED",
138
+ budgetEstimate: "$50,000",
139
+ paymentTerms: "MILESTONE_BASED_FIXED_PRICE",
140
+ };
141
+ const updatedDocument = reducer(document, creators.addProposal(input));
142
+ const proposal = updatedDocument.state.global.proposals[0];
143
+ expect(proposal.title).toBe("Proposal with special chars: & < > \" '");
144
+ expect(proposal.summary).toBe("Summary with emojis: 🚀 💡 📊 and symbols: © ® ™");
145
+ });
146
+ });
147
+ describe("changeProposalStatus", () => {
148
+ beforeEach(() => {
149
+ // Add some proposals to test status changes
150
+ document = reducer(document, creators.addProposal({
151
+ rfpId: "rfp-123",
152
+ id: "proposal-1",
153
+ title: "Proposal 1",
154
+ summary: "First proposal",
155
+ proposalStatus: "SUBMITTED",
156
+ budgetEstimate: "$40,000",
157
+ paymentTerms: "MILESTONE_BASED_FIXED_PRICE",
158
+ }));
159
+ document = reducer(document, creators.addProposal({
160
+ rfpId: "rfp-123",
161
+ id: "proposal-2",
162
+ title: "Proposal 2",
163
+ summary: "Second proposal",
164
+ proposalStatus: "UNDER_REVIEW",
165
+ budgetEstimate: "$45,000",
166
+ paymentTerms: "ESCROW",
167
+ }));
168
+ });
169
+ it("should change status of existing proposal", () => {
170
+ const input = {
171
+ proposalId: "proposal-1",
172
+ status: "APPROVED",
173
+ };
174
+ const updatedDocument = reducer(document, creators.changeProposalStatus(input));
175
+ const proposal = updatedDocument.state.global.proposals.find(p => p.id === "proposal-1");
176
+ expect(proposal.proposalStatus).toBe("APPROVED");
177
+ // Other proposal should remain unchanged
178
+ const otherProposal = updatedDocument.state.global.proposals.find(p => p.id === "proposal-2");
179
+ expect(otherProposal.proposalStatus).toBe("UNDER_REVIEW");
180
+ });
181
+ it("should handle status change to all possible statuses", () => {
182
+ const statuses = [
183
+ "SUBMITTED",
184
+ "OPENED",
185
+ "UNDER_REVIEW",
186
+ "NEEDS_REVISION",
187
+ "REVISED",
188
+ "APPROVED",
189
+ "CONDITIONALLY_APPROVED",
190
+ "REJECTED",
191
+ "WITHDRAWN",
192
+ ];
193
+ let currentDocument = document;
194
+ statuses.forEach((status) => {
195
+ currentDocument = reducer(currentDocument, creators.changeProposalStatus({
196
+ proposalId: "proposal-1",
197
+ status: status,
198
+ }));
199
+ });
200
+ const proposal = currentDocument.state.global.proposals.find(p => p.id === "proposal-1");
201
+ expect(proposal.proposalStatus).toBe("WITHDRAWN"); // Final status
202
+ });
203
+ it("should handle non-existent proposal ID gracefully", () => {
204
+ const input = {
205
+ proposalId: "non-existent-proposal",
206
+ status: "APPROVED",
207
+ };
208
+ const updatedDocument = reducer(document, creators.changeProposalStatus(input));
209
+ // All proposals should remain unchanged
210
+ const proposal1 = updatedDocument.state.global.proposals.find(p => p.id === "proposal-1");
211
+ const proposal2 = updatedDocument.state.global.proposals.find(p => p.id === "proposal-2");
212
+ expect(proposal1.proposalStatus).toBe("SUBMITTED");
213
+ expect(proposal2.proposalStatus).toBe("UNDER_REVIEW");
214
+ });
215
+ it("should handle status change on empty proposals array gracefully", () => {
216
+ const emptyDocument = utils.createDocument();
217
+ const input = {
218
+ proposalId: "any-proposal",
219
+ status: "APPROVED",
220
+ };
221
+ const updatedDocument = reducer(emptyDocument, creators.changeProposalStatus(input));
222
+ expect(updatedDocument.state.global.proposals).toHaveLength(0);
223
+ });
224
+ it("should preserve all other proposal fields when changing status", () => {
225
+ const input = {
226
+ proposalId: "proposal-1",
227
+ status: "APPROVED",
228
+ };
229
+ const updatedDocument = reducer(document, creators.changeProposalStatus(input));
230
+ const proposal = updatedDocument.state.global.proposals.find(p => p.id === "proposal-1");
231
+ expect(proposal.title).toBe("Proposal 1");
232
+ expect(proposal.summary).toBe("First proposal");
233
+ expect(proposal.budgetEstimate).toBe("$40,000");
234
+ expect(proposal.paymentTerms).toBe("MILESTONE_BASED_FIXED_PRICE");
235
+ expect(proposal.proposalStatus).toBe("APPROVED"); // Only this should change
236
+ });
237
+ });
238
+ describe("removeProposal", () => {
239
+ beforeEach(() => {
240
+ // Add some proposals to test removal
241
+ document = reducer(document, creators.addProposal({
242
+ rfpId: "rfp-123",
243
+ id: "proposal-1",
244
+ title: "Proposal 1",
245
+ summary: "First proposal",
246
+ proposalStatus: "SUBMITTED",
247
+ budgetEstimate: "$40,000",
248
+ paymentTerms: "MILESTONE_BASED_FIXED_PRICE",
249
+ }));
250
+ document = reducer(document, creators.addProposal({
251
+ rfpId: "rfp-123",
252
+ id: "proposal-2",
253
+ title: "Proposal 2",
254
+ summary: "Second proposal",
255
+ proposalStatus: "UNDER_REVIEW",
256
+ budgetEstimate: "$45,000",
257
+ paymentTerms: "ESCROW",
258
+ }));
259
+ document = reducer(document, creators.addProposal({
260
+ rfpId: "rfp-123",
261
+ id: "proposal-3",
262
+ title: "Proposal 3",
263
+ summary: "Third proposal",
264
+ proposalStatus: "APPROVED",
265
+ budgetEstimate: "$50,000",
266
+ paymentTerms: "RETAINER_BASED",
267
+ }));
268
+ });
269
+ it("should remove existing proposal by ID", () => {
270
+ const input = {
271
+ rfpId: "rfp-123",
272
+ id: "proposal-2",
273
+ };
274
+ const updatedDocument = reducer(document, creators.removeProposal(input));
275
+ expect(updatedDocument.state.global.proposals).toHaveLength(2);
276
+ const remainingIds = updatedDocument.state.global.proposals.map(p => p.id);
277
+ expect(remainingIds).toContain("proposal-1");
278
+ expect(remainingIds).toContain("proposal-3");
279
+ expect(remainingIds).not.toContain("proposal-2");
280
+ });
281
+ it("should handle removal of non-existent proposal gracefully", () => {
282
+ const input = {
283
+ rfpId: "rfp-123",
284
+ id: "non-existent-proposal",
285
+ };
286
+ const updatedDocument = reducer(document, creators.removeProposal(input));
287
+ // All original proposals should remain
288
+ expect(updatedDocument.state.global.proposals).toHaveLength(3);
289
+ const remainingIds = updatedDocument.state.global.proposals.map(p => p.id);
290
+ expect(remainingIds).toContain("proposal-1");
291
+ expect(remainingIds).toContain("proposal-2");
292
+ expect(remainingIds).toContain("proposal-3");
293
+ });
294
+ it("should handle removal from empty array gracefully", () => {
295
+ const emptyDocument = utils.createDocument();
296
+ const input = {
297
+ rfpId: "rfp-123",
298
+ id: "any-proposal",
299
+ };
300
+ const updatedDocument = reducer(emptyDocument, creators.removeProposal(input));
301
+ expect(updatedDocument.state.global.proposals).toHaveLength(0);
302
+ });
303
+ it("should remove first proposal correctly", () => {
304
+ const input = {
305
+ rfpId: "rfp-123",
306
+ id: "proposal-1",
307
+ };
308
+ const updatedDocument = reducer(document, creators.removeProposal(input));
309
+ expect(updatedDocument.state.global.proposals).toHaveLength(2);
310
+ expect(updatedDocument.state.global.proposals[0].id).toBe("proposal-2");
311
+ expect(updatedDocument.state.global.proposals[1].id).toBe("proposal-3");
312
+ });
313
+ it("should remove last proposal correctly", () => {
314
+ const input = {
315
+ rfpId: "rfp-123",
316
+ id: "proposal-3",
317
+ };
318
+ const updatedDocument = reducer(document, creators.removeProposal(input));
319
+ expect(updatedDocument.state.global.proposals).toHaveLength(2);
320
+ expect(updatedDocument.state.global.proposals[0].id).toBe("proposal-1");
321
+ expect(updatedDocument.state.global.proposals[1].id).toBe("proposal-2");
322
+ });
323
+ it("should remove all proposals when removing each one", () => {
324
+ let currentDocument = document;
325
+ // Remove all proposals one by one
326
+ currentDocument = reducer(currentDocument, creators.removeProposal({ rfpId: "rfp-123", id: "proposal-1" }));
327
+ currentDocument = reducer(currentDocument, creators.removeProposal({ rfpId: "rfp-123", id: "proposal-2" }));
328
+ currentDocument = reducer(currentDocument, creators.removeProposal({ rfpId: "rfp-123", id: "proposal-3" }));
329
+ expect(currentDocument.state.global.proposals).toHaveLength(0);
330
+ });
331
+ });
332
+ });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Comprehensive tests for RFP State reducers
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=rfp-state.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfp-state.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/request-for-proposals/src/tests/rfp-state.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Comprehensive tests for RFP State reducers
3
+ */
4
+ import { describe, it, expect, beforeEach } from "vitest";
5
+ import utils from "../../gen/utils.js";
6
+ import { reducer } from "../../gen/reducer.js";
7
+ import * as creators from "../../gen/rfp-state/creators.js";
8
+ describe("RFP State Reducers - State Changes", () => {
9
+ let document;
10
+ beforeEach(() => {
11
+ document = utils.createDocument();
12
+ });
13
+ describe("editRfp", () => {
14
+ it("should update all RFP fields when provided", () => {
15
+ const input = {
16
+ title: "New RFP Title",
17
+ summary: "Updated description for the RFP",
18
+ eligibilityCriteria: "Criteria 1",
19
+ evaluationCriteria: "Evaluation 1",
20
+ status: "OPEN_FOR_PROPOSALS",
21
+ deadline: "2024-12-31T23:59:59Z",
22
+ tags: ["technical", "urgent"],
23
+ budgetRange: {
24
+ min: 10000,
25
+ max: 50000,
26
+ currency: "USD",
27
+ },
28
+ };
29
+ const updatedDocument = reducer(document, creators.editRfp(input));
30
+ expect(updatedDocument.state.global.title).toBe("New RFP Title");
31
+ expect(updatedDocument.state.global.summary).toBe("Updated description for the RFP");
32
+ expect(updatedDocument.state.global.eligibilityCriteria).toEqual(["Criteria 1", "Criteria 2"]);
33
+ expect(updatedDocument.state.global.evaluationCriteria).toEqual(["Evaluation 1", "Evaluation 2"]);
34
+ expect(updatedDocument.state.global.status).toBe("OPEN_FOR_PROPOSALS");
35
+ expect(updatedDocument.state.global.deadline).toBe("2024-12-31T23:59:59Z");
36
+ expect(updatedDocument.state.global.tags).toEqual(["technical", "urgent"]);
37
+ expect(updatedDocument.state.global.budgetRange.min).toBe(10000);
38
+ expect(updatedDocument.state.global.budgetRange.max).toBe(50000);
39
+ expect(updatedDocument.state.global.budgetRange.currency).toBe("USD");
40
+ });
41
+ it("should update only provided fields, leaving others unchanged", () => {
42
+ // First set some initial values
43
+ const firstUpdate = reducer(document, creators.editRfp({
44
+ title: "Initial Title",
45
+ summary: "Initial description",
46
+ status: "DRAFT",
47
+ eligibilityCriteria: "Initial criteria",
48
+ }));
49
+ // Then update only some fields
50
+ const input = {
51
+ title: "Updated Title",
52
+ status: "OPEN_FOR_PROPOSALS",
53
+ tags: ["new-tag"],
54
+ };
55
+ const finalDocument = reducer(firstUpdate, creators.editRfp(input));
56
+ expect(finalDocument.state.global.title).toBe("Updated Title"); // Changed
57
+ expect(finalDocument.state.global.status).toBe("OPEN_FOR_PROPOSALS"); // Changed
58
+ expect(finalDocument.state.global.tags).toEqual(["new-tag"]); // Changed
59
+ expect(finalDocument.state.global.summary).toBe("Initial description"); // Unchanged
60
+ expect(finalDocument.state.global.eligibilityCriteria).toEqual(["Initial criteria"]); // Unchanged
61
+ });
62
+ it("should handle null/undefined values correctly", () => {
63
+ const input = {
64
+ title: "Required Title", // Title is required by reducer
65
+ summary: undefined,
66
+ status: "DRAFT",
67
+ eligibilityCriteria: null,
68
+ evaluationCriteria: undefined,
69
+ tags: null,
70
+ budgetRange: {
71
+ min: null,
72
+ max: undefined,
73
+ currency: null,
74
+ },
75
+ };
76
+ const updatedDocument = reducer(document, creators.editRfp(input));
77
+ expect(updatedDocument.state.global.title).toBe("Required Title");
78
+ expect(updatedDocument.state.global.summary).toBe(""); // Default value
79
+ expect(updatedDocument.state.global.status).toBe("DRAFT");
80
+ expect(updatedDocument.state.global.eligibilityCriteria).toEqual([]); // Default value
81
+ expect(updatedDocument.state.global.evaluationCriteria).toEqual([]); // Default value
82
+ expect(updatedDocument.state.global.tags).toBe(null);
83
+ expect(updatedDocument.state.global.budgetRange.min).toBe(null);
84
+ expect(updatedDocument.state.global.budgetRange.max).toBe(null);
85
+ expect(updatedDocument.state.global.budgetRange.currency).toBe(null);
86
+ });
87
+ it("should handle empty string values", () => {
88
+ const input = {
89
+ title: "",
90
+ summary: "",
91
+ status: "DRAFT",
92
+ eligibilityCriteria: "",
93
+ evaluationCriteria: "",
94
+ tags: [],
95
+ };
96
+ const updatedDocument = reducer(document, creators.editRfp(input));
97
+ expect(updatedDocument.state.global.title).toBe("");
98
+ expect(updatedDocument.state.global.summary).toBe("");
99
+ expect(updatedDocument.state.global.eligibilityCriteria).toEqual([]);
100
+ expect(updatedDocument.state.global.evaluationCriteria).toEqual([]);
101
+ expect(updatedDocument.state.global.tags).toEqual([]);
102
+ });
103
+ it("should handle all possible RFP statuses", () => {
104
+ const statuses = [
105
+ "DRAFT",
106
+ "REQUEST_FOR_COMMMENTS",
107
+ "CANCELED",
108
+ "OPEN_FOR_PROPOSALS",
109
+ "AWARDED",
110
+ "NOT_AWARDED",
111
+ "CLOSED",
112
+ ];
113
+ let currentDocument = document;
114
+ statuses.forEach((status) => {
115
+ currentDocument = reducer(currentDocument, creators.editRfp({
116
+ title: "Test Title", // Required by reducer
117
+ status: status,
118
+ }));
119
+ });
120
+ expect(currentDocument.state.global.status).toBe("CLOSED"); // Final status
121
+ });
122
+ it("should handle budget range updates correctly", () => {
123
+ const input = {
124
+ title: "Test Title", // Required by reducer
125
+ status: "DRAFT",
126
+ budgetRange: {
127
+ min: 15000,
128
+ max: 75000,
129
+ currency: "EUR",
130
+ },
131
+ };
132
+ const updatedDocument = reducer(document, creators.editRfp(input));
133
+ expect(updatedDocument.state.global.budgetRange.min).toBe(15000);
134
+ expect(updatedDocument.state.global.budgetRange.max).toBe(75000);
135
+ expect(updatedDocument.state.global.budgetRange.currency).toBe("EUR");
136
+ });
137
+ it("should handle partial budget range updates", () => {
138
+ // First set a complete budget range
139
+ let currentDocument = reducer(document, creators.editRfp({
140
+ title: "Test Title", // Required by reducer
141
+ status: "DRAFT",
142
+ budgetRange: {
143
+ min: 10000,
144
+ max: 50000,
145
+ currency: "USD",
146
+ },
147
+ }));
148
+ // Then update only some budget range fields
149
+ currentDocument = reducer(currentDocument, creators.editRfp({
150
+ title: "Test Title", // Required by reducer
151
+ status: "DRAFT",
152
+ budgetRange: {
153
+ min: 20000,
154
+ currency: "EUR",
155
+ },
156
+ }));
157
+ expect(currentDocument.state.global.budgetRange.min).toBe(20000);
158
+ expect(currentDocument.state.global.budgetRange.max).toBe(null); // Undefined becomes null
159
+ expect(currentDocument.state.global.budgetRange.currency).toBe("EUR");
160
+ });
161
+ it("should handle special characters in text fields", () => {
162
+ const input = {
163
+ title: "RFP with special chars: & < > \" '",
164
+ summary: "Description with emojis: 🚀 💡 📊 and symbols: © ® ™",
165
+ status: "DRAFT",
166
+ eligibilityCriteria: "Criteria with spaces & symbols!",
167
+ evaluationCriteria: "Evaluation with numbers: 1, 2, 3",
168
+ tags: ["tag-with-dashes", "tag_with_underscores", "tag with spaces"],
169
+ };
170
+ const updatedDocument = reducer(document, creators.editRfp(input));
171
+ expect(updatedDocument.state.global.title).toBe("RFP with special chars: & < > \" '");
172
+ expect(updatedDocument.state.global.summary).toBe("Description with emojis: 🚀 💡 📊 and symbols: © ® ™");
173
+ expect(updatedDocument.state.global.eligibilityCriteria).toEqual(["Criteria with spaces & symbols!"]);
174
+ expect(updatedDocument.state.global.evaluationCriteria).toEqual(["Evaluation with numbers: 1, 2, 3"]);
175
+ expect(updatedDocument.state.global.tags).toEqual(["tag-with-dashes", "tag_with_underscores", "tag with spaces"]);
176
+ });
177
+ it("should handle large arrays of criteria and tags", () => {
178
+ const largeCriteria = Array.from({ length: 100 }, (_, i) => `Criteria ${i + 1}`);
179
+ const largeTags = Array.from({ length: 50 }, (_, i) => `tag-${i + 1}`);
180
+ const input = {
181
+ title: "Test Title", // Required by reducer
182
+ status: "DRAFT",
183
+ eligibilityCriteria: largeCriteria.join(", "),
184
+ evaluationCriteria: largeCriteria.slice(0, 50).join(", "), // Different size
185
+ tags: largeTags,
186
+ };
187
+ const updatedDocument = reducer(document, creators.editRfp(input));
188
+ expect(updatedDocument.state.global.eligibilityCriteria).toHaveLength(100);
189
+ expect(updatedDocument.state.global.evaluationCriteria).toHaveLength(50);
190
+ expect(updatedDocument.state.global.tags).toHaveLength(50);
191
+ expect(updatedDocument.state.global.eligibilityCriteria[0]).toBe("Criteria 1");
192
+ expect(updatedDocument.state.global.eligibilityCriteria[99]).toBe("Criteria 100");
193
+ expect(updatedDocument.state.global.tags[0]).toBe("tag-1");
194
+ expect(updatedDocument.state.global.tags[49]).toBe("tag-50");
195
+ });
196
+ it("should handle ISO date strings correctly", () => {
197
+ const input = {
198
+ title: "Test Title", // Required by reducer
199
+ status: "DRAFT",
200
+ deadline: "2024-12-31T23:59:59.999Z",
201
+ };
202
+ const updatedDocument = reducer(document, creators.editRfp(input));
203
+ expect(updatedDocument.state.global.deadline).toBe("2024-12-31T23:59:59.999Z");
204
+ });
205
+ it("should handle empty budget range", () => {
206
+ const input = {
207
+ title: "Test Title", // Required by reducer
208
+ status: "DRAFT",
209
+ budgetRange: {
210
+ min: null,
211
+ max: null,
212
+ currency: null,
213
+ },
214
+ };
215
+ const updatedDocument = reducer(document, creators.editRfp(input));
216
+ expect(updatedDocument.state.global.budgetRange.min).toBe(null);
217
+ expect(updatedDocument.state.global.budgetRange.max).toBe(null);
218
+ expect(updatedDocument.state.global.budgetRange.currency).toBe(null);
219
+ });
220
+ it("should preserve existing budget range when not provided", () => {
221
+ // First set a budget range
222
+ let currentDocument = reducer(document, creators.editRfp({
223
+ title: "Test Title", // Required by reducer
224
+ status: "DRAFT",
225
+ budgetRange: {
226
+ min: 10000,
227
+ max: 50000,
228
+ currency: "USD",
229
+ },
230
+ }));
231
+ // Then update without budget range
232
+ currentDocument = reducer(currentDocument, creators.editRfp({
233
+ title: "Test Title", // Required by reducer
234
+ status: "OPEN_FOR_PROPOSALS",
235
+ }));
236
+ // Budget range should remain unchanged
237
+ expect(currentDocument.state.global.budgetRange.min).toBe(10000);
238
+ expect(currentDocument.state.global.budgetRange.max).toBe(50000);
239
+ expect(currentDocument.state.global.budgetRange.currency).toBe("USD");
240
+ expect(currentDocument.state.global.status).toBe("OPEN_FOR_PROPOSALS"); // Only status changed
241
+ });
242
+ });
243
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../document-models/request-for-proposals/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { WorkstreamWorkstreamAction } from "./workstream/actions.js";
2
+ import type { WorkstreamProposalsAction } from "./proposals/actions.js";
3
+ export * from "./workstream/actions.js";
4
+ export * from "./proposals/actions.js";
5
+ export type WorkstreamAction = WorkstreamWorkstreamAction | WorkstreamProposalsAction;
6
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../document-models/workstream/gen/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./workstream/actions.js";
2
+ export * from "./proposals/actions.js";
@@ -0,0 +1,3 @@
1
+ export * from "./workstream/creators.js";
2
+ export * from "./proposals/creators.js";
3
+ //# sourceMappingURL=creators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../document-models/workstream/gen/creators.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./workstream/creators.js";
2
+ export * from "./proposals/creators.js";
@@ -0,0 +1,3 @@
1
+ import type { DocumentModelState } from "document-model";
2
+ export declare const documentModel: DocumentModelState;
3
+ //# sourceMappingURL=document-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model.d.ts","sourceRoot":"","sources":["../../../../document-models/workstream/gen/document-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,eAAO,MAAM,aAAa,EAAE,kBAsJ3B,CAAC"}