@powerhousedao/network-admin 0.0.64 → 1.0.0-dev.2

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 (481) hide show
  1. package/dist/document-models/document-models.d.ts.map +1 -1
  2. package/dist/document-models/document-models.js +0 -2
  3. package/dist/document-models/index.d.ts +0 -1
  4. package/dist/document-models/index.d.ts.map +1 -1
  5. package/dist/document-models/index.js +0 -1
  6. package/dist/document-models/network-profile/gen/document-model.d.ts.map +1 -1
  7. package/dist/document-models/network-profile/gen/document-model.js +84 -84
  8. package/dist/document-models/network-profile/gen/ph-factories.d.ts.map +1 -1
  9. package/dist/document-models/network-profile/gen/ph-factories.js +0 -2
  10. package/dist/document-models/network-profile/gen/reducer.d.ts +0 -1
  11. package/dist/document-models/network-profile/gen/reducer.d.ts.map +1 -1
  12. package/dist/document-models/network-profile/gen/schema/types.d.ts +2 -6
  13. package/dist/document-models/network-profile/gen/schema/types.d.ts.map +1 -1
  14. package/dist/document-models/network-profile/gen/schema/zod.d.ts +2 -8
  15. package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -1
  16. package/dist/document-models/network-profile/gen/schema/zod.js +2 -6
  17. package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -1
  18. package/dist/document-models/network-profile/gen/utils.js +1 -3
  19. package/dist/document-models/network-profile/hooks.d.ts +2 -2
  20. package/dist/document-models/network-profile/hooks.d.ts.map +1 -1
  21. package/dist/document-models/network-profile/module.d.ts +1 -1
  22. package/dist/document-models/network-profile/module.d.ts.map +1 -1
  23. package/dist/document-models/network-profile/module.js +1 -1
  24. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts +1 -0
  25. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts.map +1 -1
  26. package/dist/document-models/network-profile/src/reducers/network-profile-management.js +18 -27
  27. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts +0 -4
  28. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts.map +1 -1
  29. package/dist/document-models/network-profile/src/tests/document-model.test.js +6 -92
  30. package/dist/document-models/network-profile/src/tests/network-profile-management.test.js +115 -69
  31. package/dist/document-models/payment-terms/actions.d.ts +2 -1
  32. package/dist/document-models/payment-terms/actions.d.ts.map +1 -1
  33. package/dist/document-models/payment-terms/gen/clauses/error.d.ts +40 -1
  34. package/dist/document-models/payment-terms/gen/clauses/error.d.ts.map +1 -1
  35. package/dist/document-models/payment-terms/gen/clauses/error.js +32 -1
  36. package/dist/document-models/payment-terms/gen/document-model.d.ts.map +1 -1
  37. package/dist/document-models/payment-terms/gen/document-model.js +180 -89
  38. package/dist/document-models/payment-terms/gen/milestones/error.d.ts +26 -1
  39. package/dist/document-models/payment-terms/gen/milestones/error.d.ts.map +1 -1
  40. package/dist/document-models/payment-terms/gen/milestones/error.js +18 -1
  41. package/dist/document-models/payment-terms/gen/ph-factories.d.ts.map +1 -1
  42. package/dist/document-models/payment-terms/gen/ph-factories.js +2 -1
  43. package/dist/document-models/payment-terms/gen/reducer.d.ts +0 -1
  44. package/dist/document-models/payment-terms/gen/reducer.d.ts.map +1 -1
  45. package/dist/document-models/payment-terms/gen/reducer.js +9 -4
  46. package/dist/document-models/payment-terms/gen/schema/types.d.ts +29 -14
  47. package/dist/document-models/payment-terms/gen/schema/types.d.ts.map +1 -1
  48. package/dist/document-models/payment-terms/gen/schema/zod.d.ts +12 -36
  49. package/dist/document-models/payment-terms/gen/schema/zod.d.ts.map +1 -1
  50. package/dist/document-models/payment-terms/gen/schema/zod.js +55 -29
  51. package/dist/document-models/payment-terms/gen/terms/actions.d.ts +9 -5
  52. package/dist/document-models/payment-terms/gen/terms/actions.d.ts.map +1 -1
  53. package/dist/document-models/payment-terms/gen/terms/creators.d.ts +4 -3
  54. package/dist/document-models/payment-terms/gen/terms/creators.d.ts.map +1 -1
  55. package/dist/document-models/payment-terms/gen/terms/creators.js +3 -2
  56. package/dist/document-models/payment-terms/gen/terms/operations.d.ts +3 -2
  57. package/dist/document-models/payment-terms/gen/terms/operations.d.ts.map +1 -1
  58. package/dist/document-models/payment-terms/gen/utils.d.ts.map +1 -1
  59. package/dist/document-models/payment-terms/gen/utils.js +3 -2
  60. package/dist/document-models/payment-terms/hooks.d.ts +2 -2
  61. package/dist/document-models/payment-terms/hooks.d.ts.map +1 -1
  62. package/dist/document-models/payment-terms/module.d.ts +1 -1
  63. package/dist/document-models/payment-terms/module.d.ts.map +1 -1
  64. package/dist/document-models/payment-terms/module.js +1 -1
  65. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts +1 -0
  66. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts.map +1 -1
  67. package/dist/document-models/payment-terms/src/reducers/clauses.js +15 -13
  68. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts +1 -0
  69. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts.map +1 -1
  70. package/dist/document-models/payment-terms/src/reducers/milestones.js +12 -10
  71. package/dist/document-models/payment-terms/src/reducers/terms.d.ts +1 -0
  72. package/dist/document-models/payment-terms/src/reducers/terms.d.ts.map +1 -1
  73. package/dist/document-models/payment-terms/src/reducers/terms.js +24 -14
  74. package/dist/document-models/payment-terms/src/tests/clauses.test.js +21 -26
  75. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts +0 -4
  76. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts.map +1 -1
  77. package/dist/document-models/payment-terms/src/tests/document-model.test.js +6 -92
  78. package/dist/document-models/payment-terms/src/tests/milestones.test.js +19 -22
  79. package/dist/document-models/payment-terms/src/tests/terms.test.js +29 -24
  80. package/dist/document-models/payment-terms/tests/terms.test.js +15 -5
  81. package/dist/document-models/request-for-proposals/gen/document-model.js +4 -4
  82. package/dist/document-models/request-for-proposals/gen/ph-factories.d.ts.map +1 -1
  83. package/dist/document-models/request-for-proposals/gen/ph-factories.js +4 -6
  84. package/dist/document-models/request-for-proposals/gen/reducer.d.ts +0 -1
  85. package/dist/document-models/request-for-proposals/gen/reducer.d.ts.map +1 -1
  86. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts +9 -64
  87. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts.map +1 -1
  88. package/dist/document-models/request-for-proposals/gen/utils.d.ts.map +1 -1
  89. package/dist/document-models/request-for-proposals/gen/utils.js +5 -7
  90. package/dist/document-models/request-for-proposals/hooks.d.ts +2 -2
  91. package/dist/document-models/request-for-proposals/hooks.d.ts.map +1 -1
  92. package/dist/document-models/request-for-proposals/module.d.ts +1 -1
  93. package/dist/document-models/request-for-proposals/module.d.ts.map +1 -1
  94. package/dist/document-models/request-for-proposals/module.js +1 -1
  95. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts +1 -0
  96. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts.map +1 -1
  97. package/dist/document-models/request-for-proposals/src/reducers/contex-document.js +4 -3
  98. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts +1 -0
  99. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts.map +1 -1
  100. package/dist/document-models/request-for-proposals/src/reducers/proposals.js +5 -4
  101. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts +1 -0
  102. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts.map +1 -1
  103. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.js +3 -2
  104. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts +1 -2
  105. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts.map +1 -1
  106. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.js +181 -24
  107. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts +0 -4
  108. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts.map +1 -1
  109. package/dist/document-models/request-for-proposals/src/tests/document-model.test.js +6 -92
  110. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts +1 -2
  111. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts.map +1 -1
  112. package/dist/document-models/request-for-proposals/src/tests/proposals.test.js +327 -33
  113. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts +1 -2
  114. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts.map +1 -1
  115. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.js +240 -15
  116. package/dist/document-models/workstream/gen/document-model.d.ts.map +1 -1
  117. package/dist/document-models/workstream/gen/document-model.js +16 -16
  118. package/dist/document-models/workstream/gen/reducer.d.ts +0 -1
  119. package/dist/document-models/workstream/gen/reducer.d.ts.map +1 -1
  120. package/dist/document-models/workstream/gen/schema/types.d.ts +1 -1
  121. package/dist/document-models/workstream/gen/schema/types.d.ts.map +1 -1
  122. package/dist/document-models/workstream/gen/schema/zod.d.ts +5 -35
  123. package/dist/document-models/workstream/gen/schema/zod.d.ts.map +1 -1
  124. package/dist/document-models/workstream/gen/utils.js +1 -1
  125. package/dist/document-models/workstream/hooks.d.ts +2 -2
  126. package/dist/document-models/workstream/hooks.d.ts.map +1 -1
  127. package/dist/document-models/workstream/module.d.ts +1 -1
  128. package/dist/document-models/workstream/module.d.ts.map +1 -1
  129. package/dist/document-models/workstream/module.js +1 -1
  130. package/dist/document-models/workstream/src/reducers/proposals.d.ts +1 -0
  131. package/dist/document-models/workstream/src/reducers/proposals.d.ts.map +1 -1
  132. package/dist/document-models/workstream/src/reducers/proposals.js +6 -83
  133. package/dist/document-models/workstream/src/reducers/workstream.d.ts +1 -0
  134. package/dist/document-models/workstream/src/reducers/workstream.d.ts.map +1 -1
  135. package/dist/document-models/workstream/src/reducers/workstream.js +7 -6
  136. package/dist/document-models/workstream/src/tests/document-model.test.d.ts +0 -4
  137. package/dist/document-models/workstream/src/tests/document-model.test.d.ts.map +1 -1
  138. package/dist/document-models/workstream/src/tests/document-model.test.js +3 -89
  139. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts +5 -0
  140. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts.map +1 -0
  141. package/dist/document-models/workstream/src/tests/proposals-reducers.test.js +318 -0
  142. package/dist/document-models/workstream/src/tests/proposals.test.js +25 -26
  143. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts +5 -0
  144. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts.map +1 -0
  145. package/dist/document-models/workstream/src/tests/workstream-reducers.test.js +210 -0
  146. package/dist/document-models/workstream/src/tests/workstream.test.js +29 -34
  147. package/dist/editors/hooks/useNetworkProfileDocument.d.ts +4 -0
  148. package/dist/editors/hooks/useNetworkProfileDocument.d.ts.map +1 -0
  149. package/dist/editors/hooks/useNetworkProfileDocument.js +8 -0
  150. package/dist/editors/hooks/usePaymentTermsDocument.d.ts +4 -0
  151. package/dist/editors/hooks/usePaymentTermsDocument.d.ts.map +1 -0
  152. package/dist/editors/hooks/usePaymentTermsDocument.js +8 -0
  153. package/dist/editors/hooks/useRequestForProposalsDocument.d.ts +4 -0
  154. package/dist/editors/hooks/useRequestForProposalsDocument.d.ts.map +1 -0
  155. package/dist/editors/hooks/useRequestForProposalsDocument.js +8 -0
  156. package/dist/editors/hooks/useWorkstreamDocument.d.ts +4 -0
  157. package/dist/editors/hooks/useWorkstreamDocument.d.ts.map +1 -0
  158. package/dist/editors/hooks/useWorkstreamDocument.js +8 -0
  159. package/dist/editors/index.d.ts +6 -6
  160. package/dist/editors/index.d.ts.map +1 -1
  161. package/dist/editors/index.js +6 -6
  162. package/dist/editors/network-admin/components/CreateDocument.d.ts.map +1 -1
  163. package/dist/editors/network-admin/components/CreateDocument.js +12 -8
  164. package/dist/editors/network-admin/components/DriveExplorer.d.ts +1 -1
  165. package/dist/editors/network-admin/components/DriveExplorer.d.ts.map +1 -1
  166. package/dist/editors/network-admin/components/DriveExplorer.js +230 -53
  167. package/dist/editors/network-admin/components/FolderTree.d.ts +1 -9
  168. package/dist/editors/network-admin/components/FolderTree.d.ts.map +1 -1
  169. package/dist/editors/network-admin/components/FolderTree.js +55 -216
  170. package/dist/editors/network-admin/components/icons/PaymentIcon.d.ts.map +1 -1
  171. package/dist/editors/network-admin/components/icons/RfpIcon.d.ts.map +1 -1
  172. package/dist/editors/network-admin/components/icons/SowIcon.d.ts.map +1 -1
  173. package/dist/editors/network-admin/components/icons/WorkstreamIcon.d.ts.map +1 -1
  174. package/dist/editors/network-admin/config.d.ts +0 -1
  175. package/dist/editors/network-admin/config.d.ts.map +1 -1
  176. package/dist/editors/network-admin/config.js +1 -1
  177. package/dist/editors/network-admin/editor.d.ts +1 -2
  178. package/dist/editors/network-admin/editor.d.ts.map +1 -1
  179. package/dist/editors/network-admin/editor.js +1 -4
  180. package/dist/editors/network-admin/index.d.ts +3 -0
  181. package/dist/editors/network-admin/index.d.ts.map +1 -0
  182. package/dist/editors/network-admin/index.js +10 -0
  183. package/dist/editors/network-profile/editor.d.ts +1 -1
  184. package/dist/editors/network-profile/editor.d.ts.map +1 -1
  185. package/dist/editors/network-profile/editor.js +13 -45
  186. package/dist/editors/network-profile/index.d.ts +4 -0
  187. package/dist/editors/network-profile/index.d.ts.map +1 -0
  188. package/dist/editors/network-profile/index.js +10 -0
  189. package/dist/editors/payment-terms/basic-terms-tab.d.ts +10 -0
  190. package/dist/editors/payment-terms/basic-terms-tab.d.ts.map +1 -0
  191. package/dist/editors/payment-terms/basic-terms-tab.js +89 -0
  192. package/dist/editors/payment-terms/clauses-tab.d.ts +12 -0
  193. package/dist/editors/payment-terms/clauses-tab.d.ts.map +1 -0
  194. package/dist/editors/payment-terms/clauses-tab.js +213 -0
  195. package/dist/editors/payment-terms/cost-materials-tab.d.ts +10 -0
  196. package/dist/editors/payment-terms/cost-materials-tab.d.ts.map +1 -0
  197. package/dist/editors/payment-terms/cost-materials-tab.js +63 -0
  198. package/dist/editors/payment-terms/editor.d.ts +2 -0
  199. package/dist/editors/payment-terms/editor.d.ts.map +1 -1
  200. package/dist/editors/payment-terms/editor.js +55 -39
  201. package/dist/editors/payment-terms/escrow-tab.d.ts +10 -0
  202. package/dist/editors/payment-terms/escrow-tab.d.ts.map +1 -0
  203. package/dist/editors/payment-terms/escrow-tab.js +57 -0
  204. package/dist/editors/payment-terms/evaluation-tab.d.ts +10 -0
  205. package/dist/editors/payment-terms/evaluation-tab.d.ts.map +1 -0
  206. package/dist/editors/payment-terms/evaluation-tab.js +63 -0
  207. package/dist/editors/payment-terms/index.d.ts +4 -0
  208. package/dist/editors/payment-terms/index.d.ts.map +1 -0
  209. package/dist/editors/payment-terms/index.js +10 -0
  210. package/dist/editors/payment-terms/milestones-tab.d.ts +10 -0
  211. package/dist/editors/payment-terms/milestones-tab.d.ts.map +1 -0
  212. package/dist/editors/payment-terms/milestones-tab.js +205 -0
  213. package/dist/editors/payment-terms/retainer-tab.d.ts +10 -0
  214. package/dist/editors/payment-terms/retainer-tab.d.ts.map +1 -0
  215. package/dist/editors/payment-terms/retainer-tab.js +91 -0
  216. package/dist/editors/request-for-proposals/editor.d.ts.map +1 -1
  217. package/dist/editors/request-for-proposals/editor.js +4 -4
  218. package/dist/editors/request-for-proposals/index.d.ts +4 -0
  219. package/dist/editors/request-for-proposals/index.d.ts.map +1 -0
  220. package/dist/editors/request-for-proposals/index.js +10 -0
  221. package/dist/editors/request-for-proposals/markdown-editor.d.ts.map +1 -1
  222. package/dist/editors/request-for-proposals/markdown-editor.js +3 -3
  223. package/dist/editors/workstream/editor.d.ts.map +1 -1
  224. package/dist/editors/workstream/editor.js +165 -290
  225. package/dist/editors/workstream/index.d.ts +4 -0
  226. package/dist/editors/workstream/index.d.ts.map +1 -0
  227. package/dist/editors/workstream/index.js +10 -0
  228. package/dist/editors/workstream/project-management-import.d.ts +3 -0
  229. package/dist/editors/workstream/project-management-import.d.ts.map +1 -0
  230. package/dist/editors/workstream/project-management-import.js +5 -0
  231. package/dist/index.d.ts +2 -2
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +4 -2
  234. package/dist/powerhouse.manifest.json +6 -27
  235. package/dist/processors/factory.d.ts +1 -1
  236. package/dist/processors/factory.d.ts.map +1 -1
  237. package/dist/processors/factory.js +1 -1
  238. package/dist/processors/index.d.ts +1 -1
  239. package/dist/processors/index.d.ts.map +1 -1
  240. package/dist/processors/index.js +1 -1
  241. package/dist/processors/workstreams/factory.d.ts.map +1 -1
  242. package/dist/processors/workstreams/factory.js +1 -4
  243. package/dist/processors/workstreams/index.d.ts +2 -4
  244. package/dist/processors/workstreams/index.d.ts.map +1 -1
  245. package/dist/processors/workstreams/index.js +43 -102
  246. package/dist/processors/workstreams/migrations.d.ts.map +1 -1
  247. package/dist/processors/workstreams/migrations.js +15 -12
  248. package/dist/scripts/sow-mirror/mirror_sow_state.js +114 -119
  249. package/dist/style.css +6885 -6085
  250. package/dist/subgraphs/index.d.ts +5 -1
  251. package/dist/subgraphs/index.d.ts.map +1 -1
  252. package/dist/subgraphs/index.js +5 -1
  253. package/dist/subgraphs/network-profile/index.d.ts +11 -0
  254. package/dist/subgraphs/network-profile/index.d.ts.map +1 -0
  255. package/dist/subgraphs/network-profile/index.js +11 -0
  256. package/dist/subgraphs/network-profile/resolvers.d.ts.map +1 -0
  257. package/dist/subgraphs/network-profile/resolvers.js +205 -0
  258. package/dist/subgraphs/network-profile/schema.d.ts.map +1 -0
  259. package/dist/subgraphs/network-profile/schema.js +139 -0
  260. package/dist/subgraphs/networks/resolvers.d.ts +2 -2
  261. package/dist/subgraphs/networks/resolvers.d.ts.map +1 -1
  262. package/dist/subgraphs/networks/resolvers.js +8 -138
  263. package/dist/subgraphs/networks/schema.d.ts.map +1 -1
  264. package/dist/subgraphs/networks/schema.js +1 -66
  265. package/dist/subgraphs/{builders-addon → payment-terms}/index.d.ts +1 -1
  266. package/dist/subgraphs/payment-terms/index.d.ts.map +1 -0
  267. package/dist/subgraphs/{builders-addon → payment-terms}/index.js +2 -2
  268. package/dist/subgraphs/payment-terms/resolvers.d.ts +3 -0
  269. package/dist/subgraphs/payment-terms/resolvers.d.ts.map +1 -0
  270. package/dist/subgraphs/payment-terms/resolvers.js +277 -0
  271. package/dist/subgraphs/payment-terms/schema.d.ts +3 -0
  272. package/dist/subgraphs/payment-terms/schema.d.ts.map +1 -0
  273. package/dist/subgraphs/payment-terms/schema.js +324 -0
  274. package/dist/subgraphs/request-for-proposals/index.d.ts +11 -0
  275. package/dist/subgraphs/request-for-proposals/index.d.ts.map +1 -0
  276. package/dist/subgraphs/request-for-proposals/index.js +11 -0
  277. package/dist/subgraphs/request-for-proposals/resolvers.d.ts +3 -0
  278. package/dist/subgraphs/request-for-proposals/resolvers.d.ts.map +1 -0
  279. package/dist/subgraphs/request-for-proposals/resolvers.js +145 -0
  280. package/dist/subgraphs/request-for-proposals/schema.d.ts +3 -0
  281. package/dist/subgraphs/request-for-proposals/schema.d.ts.map +1 -0
  282. package/dist/subgraphs/request-for-proposals/schema.js +232 -0
  283. package/dist/subgraphs/workstream/index.d.ts +11 -0
  284. package/dist/subgraphs/workstream/index.d.ts.map +1 -0
  285. package/dist/subgraphs/workstream/index.js +11 -0
  286. package/dist/subgraphs/workstream/resolvers.d.ts +3 -0
  287. package/dist/subgraphs/workstream/resolvers.d.ts.map +1 -0
  288. package/dist/subgraphs/workstream/resolvers.js +181 -0
  289. package/dist/subgraphs/workstream/schema.d.ts +3 -0
  290. package/dist/subgraphs/workstream/schema.d.ts.map +1 -0
  291. package/dist/subgraphs/workstream/schema.js +206 -0
  292. package/dist/subgraphs/workstreams/index.d.ts +1 -4
  293. package/dist/subgraphs/workstreams/index.d.ts.map +1 -1
  294. package/dist/subgraphs/workstreams/index.js +0 -6
  295. package/dist/subgraphs/workstreams/resolvers.d.ts.map +1 -1
  296. package/dist/subgraphs/workstreams/resolvers.js +30 -495
  297. package/dist/subgraphs/workstreams/schema.d.ts.map +1 -1
  298. package/dist/subgraphs/workstreams/schema.js +35 -228
  299. package/dist/vite.config.d.ts.map +1 -1
  300. package/dist/vite.config.js +1 -6
  301. package/dist/vitest.config.d.ts +3 -0
  302. package/dist/vitest.config.d.ts.map +1 -0
  303. package/dist/vitest.config.js +8 -0
  304. package/package.json +90 -56
  305. package/dist/document-models/builders/actions.d.ts +0 -14
  306. package/dist/document-models/builders/actions.d.ts.map +0 -1
  307. package/dist/document-models/builders/actions.js +0 -4
  308. package/dist/document-models/builders/gen/actions.d.ts +0 -4
  309. package/dist/document-models/builders/gen/actions.d.ts.map +0 -1
  310. package/dist/document-models/builders/gen/actions.js +0 -1
  311. package/dist/document-models/builders/gen/builders/actions.d.ts +0 -12
  312. package/dist/document-models/builders/gen/builders/actions.d.ts.map +0 -1
  313. package/dist/document-models/builders/gen/builders/actions.js +0 -1
  314. package/dist/document-models/builders/gen/builders/creators.d.ts +0 -5
  315. package/dist/document-models/builders/gen/builders/creators.d.ts.map +0 -1
  316. package/dist/document-models/builders/gen/builders/creators.js +0 -4
  317. package/dist/document-models/builders/gen/builders/error.d.ts +0 -2
  318. package/dist/document-models/builders/gen/builders/error.d.ts.map +0 -1
  319. package/dist/document-models/builders/gen/builders/error.js +0 -1
  320. package/dist/document-models/builders/gen/builders/operations.d.ts +0 -8
  321. package/dist/document-models/builders/gen/builders/operations.d.ts.map +0 -1
  322. package/dist/document-models/builders/gen/builders/operations.js +0 -1
  323. package/dist/document-models/builders/gen/creators.d.ts +0 -3
  324. package/dist/document-models/builders/gen/creators.d.ts.map +0 -1
  325. package/dist/document-models/builders/gen/creators.js +0 -2
  326. package/dist/document-models/builders/gen/document-model.d.ts +0 -3
  327. package/dist/document-models/builders/gen/document-model.d.ts.map +0 -1
  328. package/dist/document-models/builders/gen/document-model.js +0 -59
  329. package/dist/document-models/builders/gen/document-schema.d.ts +0 -44
  330. package/dist/document-models/builders/gen/document-schema.d.ts.map +0 -1
  331. package/dist/document-models/builders/gen/document-schema.js +0 -33
  332. package/dist/document-models/builders/gen/document-type.d.ts +0 -2
  333. package/dist/document-models/builders/gen/document-type.d.ts.map +0 -1
  334. package/dist/document-models/builders/gen/document-type.js +0 -1
  335. package/dist/document-models/builders/gen/index.d.ts +0 -12
  336. package/dist/document-models/builders/gen/index.d.ts.map +0 -1
  337. package/dist/document-models/builders/gen/index.js +0 -11
  338. package/dist/document-models/builders/gen/ph-factories.d.ts +0 -23
  339. package/dist/document-models/builders/gen/ph-factories.d.ts.map +0 -1
  340. package/dist/document-models/builders/gen/ph-factories.js +0 -47
  341. package/dist/document-models/builders/gen/reducer.d.ts +0 -3
  342. package/dist/document-models/builders/gen/reducer.d.ts.map +0 -1
  343. package/dist/document-models/builders/gen/reducer.js +0 -23
  344. package/dist/document-models/builders/gen/schema/index.d.ts +0 -3
  345. package/dist/document-models/builders/gen/schema/index.d.ts.map +0 -1
  346. package/dist/document-models/builders/gen/schema/index.js +0 -2
  347. package/dist/document-models/builders/gen/schema/types.d.ts +0 -158
  348. package/dist/document-models/builders/gen/schema/types.d.ts.map +0 -1
  349. package/dist/document-models/builders/gen/schema/types.js +0 -1
  350. package/dist/document-models/builders/gen/schema/zod.d.ts +0 -13
  351. package/dist/document-models/builders/gen/schema/zod.d.ts.map +0 -1
  352. package/dist/document-models/builders/gen/schema/zod.js +0 -21
  353. package/dist/document-models/builders/gen/types.d.ts +0 -12
  354. package/dist/document-models/builders/gen/types.d.ts.map +0 -1
  355. package/dist/document-models/builders/gen/types.js +0 -1
  356. package/dist/document-models/builders/gen/utils.d.ts +0 -15
  357. package/dist/document-models/builders/gen/utils.d.ts.map +0 -1
  358. package/dist/document-models/builders/gen/utils.js +0 -51
  359. package/dist/document-models/builders/hooks.d.ts +0 -14
  360. package/dist/document-models/builders/hooks.d.ts.map +0 -1
  361. package/dist/document-models/builders/hooks.js +0 -25
  362. package/dist/document-models/builders/index.d.ts +0 -6
  363. package/dist/document-models/builders/index.d.ts.map +0 -1
  364. package/dist/document-models/builders/index.js +0 -5
  365. package/dist/document-models/builders/module.d.ts +0 -5
  366. package/dist/document-models/builders/module.d.ts.map +0 -1
  367. package/dist/document-models/builders/module.js +0 -11
  368. package/dist/document-models/builders/src/index.d.ts +0 -2
  369. package/dist/document-models/builders/src/index.d.ts.map +0 -1
  370. package/dist/document-models/builders/src/index.js +0 -1
  371. package/dist/document-models/builders/src/reducers/builders.d.ts +0 -3
  372. package/dist/document-models/builders/src/reducers/builders.d.ts.map +0 -1
  373. package/dist/document-models/builders/src/reducers/builders.js +0 -8
  374. package/dist/document-models/builders/src/tests/builders.test.d.ts +0 -6
  375. package/dist/document-models/builders/src/tests/builders.test.d.ts.map +0 -1
  376. package/dist/document-models/builders/src/tests/builders.test.js +0 -29
  377. package/dist/document-models/builders/src/tests/document-model.test.d.ts +0 -10
  378. package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +0 -1
  379. package/dist/document-models/builders/src/tests/document-model.test.js +0 -104
  380. package/dist/document-models/builders/src/utils.d.ts +0 -2
  381. package/dist/document-models/builders/src/utils.d.ts.map +0 -1
  382. package/dist/document-models/builders/src/utils.js +0 -1
  383. package/dist/document-models/builders/tests/builders.test.d.ts +0 -2
  384. package/dist/document-models/builders/tests/builders.test.d.ts.map +0 -1
  385. package/dist/document-models/builders/tests/builders.test.js +0 -25
  386. package/dist/document-models/builders/tests/document-model.test.d.ts +0 -10
  387. package/dist/document-models/builders/tests/document-model.test.d.ts.map +0 -1
  388. package/dist/document-models/builders/tests/document-model.test.js +0 -104
  389. package/dist/document-models/builders/utils.d.ts +0 -14
  390. package/dist/document-models/builders/utils.d.ts.map +0 -1
  391. package/dist/document-models/builders/utils.js +0 -7
  392. package/dist/document-models/network-profile/gen/document-schema.d.ts +0 -80
  393. package/dist/document-models/network-profile/gen/document-schema.d.ts.map +0 -1
  394. package/dist/document-models/payment-terms/gen/document-schema.d.ts +0 -95
  395. package/dist/document-models/payment-terms/gen/document-schema.d.ts.map +0 -1
  396. package/dist/document-models/request-for-proposals/gen/document-schema.d.ts +0 -83
  397. package/dist/document-models/request-for-proposals/gen/document-schema.d.ts.map +0 -1
  398. package/dist/document-models/workstream/gen/document-schema.d.ts +0 -71
  399. package/dist/document-models/workstream/gen/document-schema.d.ts.map +0 -1
  400. package/dist/editors/builders/editor.d.ts +0 -3
  401. package/dist/editors/builders/editor.d.ts.map +0 -1
  402. package/dist/editors/builders/editor.js +0 -285
  403. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts +0 -20
  404. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts.map +0 -1
  405. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.js +0 -57
  406. package/dist/editors/builders/module.d.ts +0 -4
  407. package/dist/editors/builders/module.d.ts.map +0 -1
  408. package/dist/editors/builders/module.js +0 -10
  409. package/dist/editors/builders/utils/graphql-client.d.ts +0 -41
  410. package/dist/editors/builders/utils/graphql-client.d.ts.map +0 -1
  411. package/dist/editors/builders/utils/graphql-client.js +0 -189
  412. package/dist/editors/editors.d.ts +0 -3
  413. package/dist/editors/editors.d.ts.map +0 -1
  414. package/dist/editors/editors.js +0 -14
  415. package/dist/editors/network-admin/components/DriveContents.d.ts +0 -3
  416. package/dist/editors/network-admin/components/DriveContents.d.ts.map +0 -1
  417. package/dist/editors/network-admin/components/DriveContents.js +0 -10
  418. package/dist/editors/network-admin/components/EmptyState.d.ts +0 -3
  419. package/dist/editors/network-admin/components/EmptyState.d.ts.map +0 -1
  420. package/dist/editors/network-admin/components/EmptyState.js +0 -10
  421. package/dist/editors/network-admin/components/Files.d.ts +0 -3
  422. package/dist/editors/network-admin/components/Files.d.ts.map +0 -1
  423. package/dist/editors/network-admin/components/Files.js +0 -12
  424. package/dist/editors/network-admin/components/Folders.d.ts +0 -3
  425. package/dist/editors/network-admin/components/Folders.d.ts.map +0 -1
  426. package/dist/editors/network-admin/components/Folders.js +0 -12
  427. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts +0 -3
  428. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts.map +0 -1
  429. package/dist/editors/network-admin/components/NavigationBreadcrumbs.js +0 -6
  430. package/dist/editors/network-admin/module.d.ts +0 -4
  431. package/dist/editors/network-admin/module.d.ts.map +0 -1
  432. package/dist/editors/network-admin/module.js +0 -10
  433. package/dist/editors/network-profile/components/EditName.d.ts +0 -3
  434. package/dist/editors/network-profile/components/EditName.d.ts.map +0 -1
  435. package/dist/editors/network-profile/components/EditName.js +0 -31
  436. package/dist/editors/network-profile/module.d.ts +0 -4
  437. package/dist/editors/network-profile/module.d.ts.map +0 -1
  438. package/dist/editors/network-profile/module.js +0 -10
  439. package/dist/editors/payment-terms/components/clauses-section.d.ts +0 -12
  440. package/dist/editors/payment-terms/components/clauses-section.d.ts.map +0 -1
  441. package/dist/editors/payment-terms/components/clauses-section.js +0 -269
  442. package/dist/editors/payment-terms/components/escrow-section.d.ts +0 -13
  443. package/dist/editors/payment-terms/components/escrow-section.d.ts.map +0 -1
  444. package/dist/editors/payment-terms/components/escrow-section.js +0 -72
  445. package/dist/editors/payment-terms/components/evaluation-section.d.ts +0 -13
  446. package/dist/editors/payment-terms/components/evaluation-section.d.ts.map +0 -1
  447. package/dist/editors/payment-terms/components/evaluation-section.js +0 -94
  448. package/dist/editors/payment-terms/components/header-section.d.ts +0 -16
  449. package/dist/editors/payment-terms/components/header-section.d.ts.map +0 -1
  450. package/dist/editors/payment-terms/components/header-section.js +0 -67
  451. package/dist/editors/payment-terms/components/milestones-section.d.ts +0 -11
  452. package/dist/editors/payment-terms/components/milestones-section.d.ts.map +0 -1
  453. package/dist/editors/payment-terms/components/milestones-section.js +0 -236
  454. package/dist/editors/payment-terms/components/parties-section.d.ts +0 -11
  455. package/dist/editors/payment-terms/components/parties-section.d.ts.map +0 -1
  456. package/dist/editors/payment-terms/components/parties-section.js +0 -36
  457. package/dist/editors/payment-terms/components/payment-config-section.d.ts +0 -11
  458. package/dist/editors/payment-terms/components/payment-config-section.d.ts.map +0 -1
  459. package/dist/editors/payment-terms/components/payment-config-section.js +0 -68
  460. package/dist/editors/payment-terms/components/time-materials-section.d.ts +0 -11
  461. package/dist/editors/payment-terms/components/time-materials-section.d.ts.map +0 -1
  462. package/dist/editors/payment-terms/components/time-materials-section.js +0 -68
  463. package/dist/editors/payment-terms/module.d.ts +0 -4
  464. package/dist/editors/payment-terms/module.d.ts.map +0 -1
  465. package/dist/editors/payment-terms/module.js +0 -10
  466. package/dist/editors/request-for-proposals/components/EditName.d.ts +0 -3
  467. package/dist/editors/request-for-proposals/components/EditName.d.ts.map +0 -1
  468. package/dist/editors/request-for-proposals/components/EditName.js +0 -31
  469. package/dist/editors/request-for-proposals/module.d.ts +0 -4
  470. package/dist/editors/request-for-proposals/module.d.ts.map +0 -1
  471. package/dist/editors/request-for-proposals/module.js +0 -10
  472. package/dist/editors/workstream/module.d.ts +0 -4
  473. package/dist/editors/workstream/module.d.ts.map +0 -1
  474. package/dist/editors/workstream/module.js +0 -10
  475. package/dist/subgraphs/builders-addon/index.d.ts.map +0 -1
  476. package/dist/subgraphs/builders-addon/resolvers.d.ts.map +0 -1
  477. package/dist/subgraphs/builders-addon/resolvers.js +0 -376
  478. package/dist/subgraphs/builders-addon/schema.d.ts.map +0 -1
  479. package/dist/subgraphs/builders-addon/schema.js +0 -209
  480. /package/dist/subgraphs/{builders-addon → network-profile}/resolvers.d.ts +0 -0
  481. /package/dist/subgraphs/{builders-addon → network-profile}/schema.d.ts +0 -0
@@ -2,41 +2,15 @@ import {} from "@powerhousedao/reactor-api";
2
2
  import { WorkstreamsProcessor } from "../../processors/workstreams/index.js";
3
3
  import {} from "../../document-models/request-for-proposals/index.js";
4
4
  import {} from "../../document-models/workstream/index.js";
5
- import { sql } from "kysely";
6
5
  export const getResolvers = (subgraph) => {
7
6
  const reactor = subgraph.reactor;
8
7
  const db = subgraph.relationalDb;
9
- // Shared state for builder profile resolution (used by field resolvers)
10
- let getBuilderProfileByPhid = null;
11
8
  const deriveSlug = (name) => name.toLowerCase().trim().split(/\s+/).join("-");
12
- const extractPhid = (value) => {
13
- if (typeof value === "string") {
14
- // Return null for empty strings, otherwise return the string
15
- return value.trim() || null;
16
- }
17
- if (value &&
18
- typeof value === "object" &&
19
- "id" in value &&
20
- typeof value.id === "string") {
21
- const id = value.id;
22
- // Return null for empty strings
23
- return id.trim() || null;
24
- }
25
- return null;
26
- };
27
- // Normalize drive IDs to match the format used by the processor factory
28
- // reactor.getDrives() returns base64-like IDs (with + and =)
29
- // but driveHeader.id in the factory uses - instead of +
30
- // TODO: Report this inconsistency to @powerhousedao packages
31
- const normalizeDriveId = (driveId) => {
32
- return driveId.replace(/\+/g, "-").replace(/=+$/, "");
33
- };
34
9
  const getCandidateDrives = async () => {
35
10
  try {
36
11
  const drives = await reactor.getDrives?.();
37
- if (Array.isArray(drives) && drives.length > 0) {
38
- return drives.map(normalizeDriveId);
39
- }
12
+ if (Array.isArray(drives) && drives.length > 0)
13
+ return drives;
40
14
  }
41
15
  catch { }
42
16
  return [];
@@ -91,102 +65,6 @@ export const getResolvers = (subgraph) => {
91
65
  };
92
66
  }
93
67
  };
94
- const loadNetworkProfile = async (networkId) => {
95
- if (!networkId) {
96
- return null;
97
- }
98
- try {
99
- const networkDoc = await reactor.getDocument(networkId);
100
- const state = networkDoc.state.global;
101
- return {
102
- name: state.name ?? null,
103
- slug: state.name
104
- ? state.name.toLowerCase().trim().split(/\s+/).join("-")
105
- : null,
106
- icon: state.icon ?? null,
107
- darkThemeIcon: state.darkThemeIcon ?? null,
108
- logo: state.logo ?? null,
109
- darkThemeLogo: state.darkThemeLogo ?? null,
110
- logoBig: state.logoBig ?? null,
111
- website: state.website ?? null,
112
- description: state.description ?? null,
113
- category: Array.isArray(state.category) ? state.category : null,
114
- x: state.x ?? null,
115
- github: state.github ?? null,
116
- discord: state.discord ?? null,
117
- youtube: state.youtube ?? null,
118
- };
119
- }
120
- catch {
121
- return null;
122
- }
123
- };
124
- // Helper function to collect SOWs from hydrated workstreams
125
- const collectSowsFromWorkstreams = (workstreams) => {
126
- const sowDocs = [];
127
- for (const workstream of workstreams) {
128
- if (workstream.sow) {
129
- sowDocs.push(workstream.sow);
130
- }
131
- if (workstream.initialProposal?.sow) {
132
- sowDocs.push(workstream.initialProposal.sow);
133
- }
134
- for (const altProposal of workstream.alternativeProposals || []) {
135
- if (altProposal.sow) {
136
- sowDocs.push(altProposal.sow);
137
- }
138
- }
139
- }
140
- return sowDocs;
141
- };
142
- // Helper function to fetch builder profiles for contributors
143
- const fetchBuilderProfilesForContributors = async (contributorPhids) => {
144
- const builderProfileMap = new Map();
145
- if (contributorPhids.size > 0) {
146
- const builderProfileDocs = await Promise.all(Array.from(contributorPhids).map(async (phid) => {
147
- try {
148
- return await reactor.getDocument(phid);
149
- }
150
- catch (error) {
151
- console.warn(`Failed to fetch builder profile ${phid}:`, error);
152
- return null;
153
- }
154
- }));
155
- builderProfileDocs.forEach((doc) => {
156
- if (doc && doc.header.documentType === "powerhouse/builder-profile") {
157
- builderProfileMap.set(doc.header.id, doc);
158
- // Also collect contributor PHIDs from these builder profiles
159
- const state = doc.state.global;
160
- if (state?.contributors && Array.isArray(state.contributors)) {
161
- state.contributors.forEach((phid) => {
162
- if (phid && !builderProfileMap.has(phid)) {
163
- contributorPhids.add(phid);
164
- }
165
- });
166
- }
167
- }
168
- });
169
- // Fetch nested contributors if any were found
170
- const nestedContributorPhids = Array.from(contributorPhids).filter((phid) => !builderProfileMap.has(phid));
171
- if (nestedContributorPhids.length > 0) {
172
- const nestedContributorDocs = await Promise.all(nestedContributorPhids.map(async (phid) => {
173
- try {
174
- return await reactor.getDocument(phid);
175
- }
176
- catch (error) {
177
- console.warn(`Failed to fetch contributor builder profile ${phid}:`, error);
178
- return null;
179
- }
180
- }));
181
- nestedContributorDocs.forEach((doc) => {
182
- if (doc && doc.header.documentType === "powerhouse/builder-profile") {
183
- builderProfileMap.set(doc.header.id, doc);
184
- }
185
- });
186
- }
187
- }
188
- return builderProfileMap;
189
- };
190
68
  const hydrateWorkstreamRow = async (row) => {
191
69
  try {
192
70
  const doc = await reactor.getDocument(row.workstream_phid);
@@ -203,16 +81,14 @@ export const getResolvers = (subgraph) => {
203
81
  status: p.status,
204
82
  author: p.author,
205
83
  }));
206
- const [topSowDoc, topPaymentTermsDoc, initialSowDoc, initialPaymentTermsDoc, altSowDocs, altPaymentDocs, rfpDetails, networkInfo,] = await Promise.all([
207
- // Use document state as source of truth - don't fallback to DB
208
- loadLinkedDocument(state.sow || null),
84
+ const [topSowDoc, topPaymentTermsDoc, initialSowDoc, initialPaymentTermsDoc, altSowDocs, altPaymentDocs, rfpDetails,] = await Promise.all([
85
+ loadLinkedDocument(state.sow || row.sow_phid || null),
209
86
  loadLinkedDocument(state.paymentTerms || null),
210
- loadLinkedDocument(state.initialProposal?.sow || null),
87
+ loadLinkedDocument(state.initialProposal?.sow || row.sow_phid || null),
211
88
  loadLinkedDocument(state.initialProposal?.paymentTerms || null),
212
89
  Promise.all((state.alternativeProposals || []).map((p) => loadLinkedDocument(p.sow || null))),
213
90
  Promise.all((state.alternativeProposals || []).map((p) => loadLinkedDocument(p.paymentTerms || null))),
214
91
  loadRfpDetails(state.rfp || null),
215
- loadNetworkProfile(state.client?.id || row.network_phid || null),
216
92
  ]);
217
93
  const client = state.client ??
218
94
  (row.network_phid
@@ -221,12 +97,8 @@ export const getResolvers = (subgraph) => {
221
97
  return {
222
98
  code: state.code || null,
223
99
  title: state.title || row.workstream_title || null,
224
- slug: state.title
225
- ? state.title.toLowerCase().trim().split(/\s+/).join("-")
226
- : null,
227
100
  status: state.status || row.workstream_status || null,
228
101
  client,
229
- network: networkInfo,
230
102
  rfp: rfpDetails,
231
103
  initialProposal: initialProposalBase
232
104
  ? {
@@ -246,16 +118,13 @@ export const getResolvers = (subgraph) => {
246
118
  };
247
119
  }
248
120
  catch {
249
- const networkInfo = await loadNetworkProfile(row.network_phid || null);
250
121
  return {
251
122
  code: row.workstream_title || null,
252
123
  title: row.workstream_title || null,
253
- slug: row.workstream_slug || null,
254
124
  status: row.workstream_status || null,
255
125
  client: row.network_phid
256
126
  ? { id: row.network_phid, name: row.network_slug, icon: null }
257
127
  : null,
258
- network: networkInfo,
259
128
  rfp: null,
260
129
  initialProposal: null,
261
130
  alternativeProposals: [],
@@ -266,22 +135,12 @@ export const getResolvers = (subgraph) => {
266
135
  }
267
136
  };
268
137
  const applyWorkstreamFilters = (qb, filters, wantedSlug) => {
269
- // Handle workstreamId and workstreamSlug (from WorkstreamFilter)
270
- if ("workstreamId" in filters && filters.workstreamId) {
138
+ if (filters.workstreamId) {
271
139
  qb = qb.where("workstream_phid", "=", filters.workstreamId);
272
140
  }
273
- else if ("workstreamSlug" in filters && filters.workstreamSlug) {
141
+ else if (filters.workstreamSlug) {
274
142
  qb = qb.where("workstream_slug", "=", filters.workstreamSlug);
275
143
  }
276
- // Handle workstreamTitle filter (from WorkstreamsFilter)
277
- if ("workstreamTitle" in filters && filters.workstreamTitle) {
278
- // Use case-insensitive partial match for workstream title
279
- // Filter out NULL values and do case-insensitive search
280
- const searchPattern = `%${filters.workstreamTitle.toLowerCase()}%`;
281
- qb = qb
282
- .where("workstream_title", "is not", null)
283
- .where((eb) => eb(sql `LOWER(workstream_title)`, "like", searchPattern));
284
- }
285
144
  if (filters.networkId) {
286
145
  qb = qb.where("network_phid", "=", filters.networkId);
287
146
  }
@@ -291,15 +150,6 @@ export const getResolvers = (subgraph) => {
291
150
  else if (filters.networkName && wantedSlug) {
292
151
  qb = qb.where("network_slug", "=", wantedSlug);
293
152
  }
294
- else if ("networkNames" in filters && filters.networkNames) {
295
- // Handle networkNames filter (from WorkstreamsFilter)
296
- const networkSlugs = filters.networkNames
297
- .filter((name) => Boolean(name))
298
- .map((name) => deriveSlug(name));
299
- if (networkSlugs.length > 0) {
300
- qb = qb.where("network_slug", "in", networkSlugs);
301
- }
302
- }
303
153
  const statuses = (filters.workstreamStatuses || []).filter((status) => Boolean(status));
304
154
  if (statuses.length > 0) {
305
155
  qb = qb.where("workstream_status", "in", statuses);
@@ -332,21 +182,13 @@ export const getResolvers = (subgraph) => {
332
182
  };
333
183
  return {
334
184
  Query: {
335
- processorWorkstreams: async () => {
185
+ processorWorkstreams: async (parent, args) => {
336
186
  const drives = await getCandidateDrives();
337
187
  const allProcessorWorkstreams = await Promise.all(drives.map(async (driveId) => {
338
- const namespace = WorkstreamsProcessor.getNamespace(driveId);
339
- console.log(`[WorkstreamsProcessor] Resolver querying drive: ${driveId}, namespace: ${namespace}`);
340
- try {
341
- return await WorkstreamsProcessor.query(driveId, db)
342
- .selectFrom("workstreams")
343
- .selectAll()
344
- .execute();
345
- }
346
- catch (error) {
347
- console.warn(`[WorkstreamsProcessor] Failed to query namespace ${namespace}:`, error);
348
- return []; // Return empty array if table doesn't exist for this drive
349
- }
188
+ return WorkstreamsProcessor.query(driveId, db)
189
+ .selectFrom("workstreams")
190
+ .selectAll()
191
+ .execute();
350
192
  }));
351
193
  // Flatten the array of arrays into a single array
352
194
  const flattenedWorkstreams = allProcessorWorkstreams.flat();
@@ -369,100 +211,18 @@ export const getResolvers = (subgraph) => {
369
211
  const candidateDrives = await getCandidateDrives();
370
212
  const wantedSlug = filters.networkSlug ||
371
213
  (filters.networkName ? deriveSlug(filters.networkName) : undefined);
372
- const resolved = [];
373
- const contributorPhids = new Set();
214
+ let resolved = null;
374
215
  for (const driveId of candidateDrives) {
375
216
  let qb = WorkstreamsProcessor.query(driveId, db)
376
217
  .selectFrom("workstreams")
377
218
  .selectAll();
378
219
  qb = applyWorkstreamFilters(qb, filters, wantedSlug);
379
- const rows = await qb.execute();
380
- if (rows.length === 0) {
220
+ const row = await qb.executeTakeFirst();
221
+ if (!row)
381
222
  continue;
382
- }
383
- for (const row of rows) {
384
- const hydrated = await hydrateWorkstreamRow(row);
385
- resolved.push(hydrated);
386
- }
223
+ resolved = await hydrateWorkstreamRow(row);
387
224
  break;
388
225
  }
389
- // Collect SOWs and their contributors
390
- const sowDocs = collectSowsFromWorkstreams(resolved);
391
- for (const sow of sowDocs) {
392
- if (!sow || typeof sow !== "object")
393
- continue;
394
- if (Array.isArray(sow.contributors)) {
395
- sow.contributors.forEach((contributor) => {
396
- const phid = extractPhid(contributor);
397
- if (phid)
398
- contributorPhids.add(phid);
399
- });
400
- }
401
- // Collect deliverable owners too so `SOW_Deliverable.owner` can resolve
402
- if (Array.isArray(sow.deliverables)) {
403
- sow.deliverables.forEach((deliverable) => {
404
- if (!deliverable || typeof deliverable !== "object")
405
- return;
406
- const phid = extractPhid(deliverable.owner);
407
- if (phid)
408
- contributorPhids.add(phid);
409
- });
410
- }
411
- // Collect project owners too so `SOW_Project.projectOwner` can resolve
412
- if (Array.isArray(sow.projects)) {
413
- sow.projects.forEach((project) => {
414
- if (!project || typeof project !== "object")
415
- return;
416
- const phid = extractPhid(project.projectOwner);
417
- if (phid)
418
- contributorPhids.add(phid);
419
- });
420
- }
421
- }
422
- // Fetch all builder profile documents for contributors
423
- const builderProfileMap = await fetchBuilderProfilesForContributors(contributorPhids);
424
- // Create helper function to get builder profile data by PHID
425
- getBuilderProfileByPhid = (phid) => {
426
- const doc = builderProfileMap.get(phid);
427
- if (!doc)
428
- return null;
429
- const state = doc.state.global;
430
- // Store contributor PHIDs separately - they'll be resolved by the field resolver
431
- const contributorPhids = state?.contributors ?? [];
432
- // Ensure all non-nullable Builder fields are properly handled
433
- // name: String! - non-nullable
434
- const name = String(state?.name ?? doc.header?.name ?? "");
435
- // icon: String! - non-nullable
436
- const icon = String(state?.icon ?? "");
437
- // description: String! - non-nullable
438
- const description = String(state?.description ?? state?.slug ?? "");
439
- // isOperator: Boolean! - non-nullable, default to false
440
- const isOperator = state?.isOperator ?? false;
441
- // operationalHubMember: OpHubMember! - non-nullable
442
- const operationalHubMember = state?.operationalHubMember ?? { name: null, phid: null };
443
- // skills: [BuilderSkill!]! - non-nullable array (document model uses 'skils' typo)
444
- const skills = Array.isArray(state?.skils) ? state.skils : Array.isArray(state?.skills) ? state.skills : [];
445
- // scopes: [BuilderScope!]! - non-nullable array
446
- const scopes = Array.isArray(state?.scopes) ? state.scopes : [];
447
- // links: [BuilderLink!]! - non-nullable array
448
- const links = Array.isArray(state?.links) ? state.links : [];
449
- return {
450
- id: doc.header.id,
451
- code: state?.code ?? null,
452
- slug: state?.slug ?? null,
453
- name,
454
- icon,
455
- description,
456
- lastModified: state?.lastModified ?? null,
457
- isOperator,
458
- operationalHubMember,
459
- _contributorPhids: contributorPhids, // Internal field for resolver
460
- status: state?.status ?? null,
461
- skills,
462
- scopes,
463
- links,
464
- };
465
- };
466
226
  return resolved;
467
227
  },
468
228
  workstreams: async (parent, args) => {
@@ -472,21 +232,26 @@ export const getResolvers = (subgraph) => {
472
232
  const hasFilters = filters.networkId ||
473
233
  filters.networkSlug ||
474
234
  filters.networkName ||
475
- (filters.networkNames && filters.networkNames.length > 0) ||
476
- filters.workstreamTitle ||
477
235
  filters.workstreamStatus ||
478
- (filters.workstreamStatuses && filters.workstreamStatuses.length > 0);
236
+ (filters.workstreamStatuses &&
237
+ filters.workstreamStatuses.length > 0);
479
238
  const wantedSlug = filters.networkSlug ||
480
239
  (filters.networkName ? deriveSlug(filters.networkName) : undefined);
481
240
  const results = [];
482
- const contributorPhids = new Set();
483
241
  for (const driveId of candidateDrives) {
484
242
  let qb = WorkstreamsProcessor.query(driveId, db)
485
243
  .selectFrom("workstreams")
486
244
  .selectAll();
487
245
  // Only apply filters if any are provided
488
246
  if (hasFilters) {
489
- qb = applyWorkstreamFilters(qb, filters, wantedSlug);
247
+ const filterArgs = {
248
+ networkId: filters.networkId,
249
+ networkSlug: filters.networkSlug,
250
+ networkName: filters.networkName,
251
+ workstreamStatus: filters.workstreamStatus,
252
+ workstreamStatuses: filters.workstreamStatuses,
253
+ };
254
+ qb = applyWorkstreamFilters(qb, filterArgs, wantedSlug);
490
255
  }
491
256
  const rows = await qb.execute();
492
257
  if (rows.length === 0) {
@@ -497,83 +262,6 @@ export const getResolvers = (subgraph) => {
497
262
  results.push(hydrated);
498
263
  }
499
264
  }
500
- // Collect SOWs and their contributors
501
- const sowDocs = collectSowsFromWorkstreams(results);
502
- for (const sow of sowDocs) {
503
- if (!sow || typeof sow !== "object")
504
- continue;
505
- if (Array.isArray(sow.contributors)) {
506
- sow.contributors.forEach((contributor) => {
507
- const phid = extractPhid(contributor);
508
- if (phid)
509
- contributorPhids.add(phid);
510
- });
511
- }
512
- // Collect deliverable owners too so `SOW_Deliverable.owner` can resolve
513
- if (Array.isArray(sow.deliverables)) {
514
- sow.deliverables.forEach((deliverable) => {
515
- if (!deliverable || typeof deliverable !== "object")
516
- return;
517
- const phid = extractPhid(deliverable.owner);
518
- if (phid)
519
- contributorPhids.add(phid);
520
- });
521
- }
522
- // Collect project owners too so `SOW_Project.projectOwner` can resolve
523
- if (Array.isArray(sow.projects)) {
524
- sow.projects.forEach((project) => {
525
- if (!project || typeof project !== "object")
526
- return;
527
- const phid = extractPhid(project.projectOwner);
528
- if (phid)
529
- contributorPhids.add(phid);
530
- });
531
- }
532
- }
533
- // Fetch all builder profile documents for contributors
534
- const builderProfileMap = await fetchBuilderProfilesForContributors(contributorPhids);
535
- // Create helper function to get builder profile data by PHID
536
- getBuilderProfileByPhid = (phid) => {
537
- const doc = builderProfileMap.get(phid);
538
- if (!doc)
539
- return null;
540
- const state = doc.state.global;
541
- // Store contributor PHIDs separately - they'll be resolved by the field resolver
542
- const contributorPhids = state?.contributors ?? [];
543
- // Ensure all non-nullable Builder fields are properly handled
544
- // name: String! - non-nullable
545
- const name = String(state?.name ?? doc.header?.name ?? "");
546
- // icon: String! - non-nullable
547
- const icon = String(state?.icon ?? "");
548
- // description: String! - non-nullable
549
- const description = String(state?.description ?? state?.slug ?? "");
550
- // isOperator: Boolean! - non-nullable, default to false
551
- const isOperator = state?.isOperator ?? false;
552
- // operationalHubMember: OpHubMember! - non-nullable
553
- const operationalHubMember = state?.operationalHubMember ?? { name: null, phid: null };
554
- // skills: [BuilderSkill!]! - non-nullable array (document model uses 'skils' typo)
555
- const skills = Array.isArray(state?.skils) ? state.skils : Array.isArray(state?.skills) ? state.skills : [];
556
- // scopes: [BuilderScope!]! - non-nullable array
557
- const scopes = Array.isArray(state?.scopes) ? state.scopes : [];
558
- // links: [BuilderLink!]! - non-nullable array
559
- const links = Array.isArray(state?.links) ? state.links : [];
560
- return {
561
- id: doc.header.id,
562
- code: state?.code ?? null,
563
- slug: state?.slug ?? null,
564
- name,
565
- icon,
566
- description,
567
- lastModified: state?.lastModified ?? null,
568
- isOperator,
569
- operationalHubMember,
570
- _contributorPhids: contributorPhids, // Internal field for resolver
571
- status: state?.status ?? null,
572
- skills,
573
- scopes,
574
- links,
575
- };
576
- };
577
265
  return results;
578
266
  },
579
267
  rfpByWorkstream: async (parent, args) => {
@@ -612,7 +300,6 @@ export const getResolvers = (subgraph) => {
612
300
  const wantedSlug = filters.networkSlug ||
613
301
  (filters.networkName ? deriveSlug(filters.networkName) : undefined);
614
302
  const results = [];
615
- const contributorPhids = new Set();
616
303
  for (const driveId of candidateDrives) {
617
304
  let qb = WorkstreamsProcessor.query(driveId, db)
618
305
  .selectFrom("workstreams")
@@ -655,43 +342,10 @@ export const getResolvers = (subgraph) => {
655
342
  else if (filters.proposalRole === "AWARDED") {
656
343
  // For AWARDED, we check if the workstream status is AWARDED
657
344
  // and return the initial proposal's SOW (as it's typically the awarded one)
658
- if (hydrated.status === "AWARDED" &&
659
- hydrated.initialProposal?.sow) {
345
+ if (hydrated.status === "AWARDED" && hydrated.initialProposal?.sow) {
660
346
  sowDocs.push(hydrated.initialProposal.sow);
661
347
  }
662
348
  }
663
- // Collect contributor PHIDs from all SOWs
664
- for (const sow of sowDocs) {
665
- if (!sow || typeof sow !== "object")
666
- continue;
667
- if (Array.isArray(sow.contributors)) {
668
- sow.contributors.forEach((contributor) => {
669
- const phid = extractPhid(contributor);
670
- if (phid)
671
- contributorPhids.add(phid);
672
- });
673
- }
674
- // Collect deliverable owners too so `SOW_Deliverable.owner` can resolve
675
- if (Array.isArray(sow.deliverables)) {
676
- sow.deliverables.forEach((deliverable) => {
677
- if (!deliverable || typeof deliverable !== "object")
678
- return;
679
- const phid = extractPhid(deliverable.owner);
680
- if (phid)
681
- contributorPhids.add(phid);
682
- });
683
- }
684
- // Collect project owners too so `SOW_Project.projectOwner` can resolve
685
- if (Array.isArray(sow.projects)) {
686
- sow.projects.forEach((project) => {
687
- if (!project || typeof project !== "object")
688
- return;
689
- const phid = extractPhid(project.projectOwner);
690
- if (phid)
691
- contributorPhids.add(phid);
692
- });
693
- }
694
- }
695
349
  // Filter out null/undefined SOWs and add to results
696
350
  for (const sow of sowDocs) {
697
351
  if (sow) {
@@ -703,58 +357,13 @@ export const getResolvers = (subgraph) => {
703
357
  break;
704
358
  }
705
359
  }
706
- // Fetch all builder profile documents for contributors
707
- const builderProfileMap = await fetchBuilderProfilesForContributors(contributorPhids);
708
- // Create helper function to get builder profile data by PHID
709
- getBuilderProfileByPhid = (phid) => {
710
- const doc = builderProfileMap.get(phid);
711
- if (!doc)
712
- return null;
713
- const state = doc.state.global;
714
- // Store contributor PHIDs separately - they'll be resolved by the field resolver
715
- const contributorPhids = state?.contributors ?? [];
716
- // Ensure all non-nullable Builder fields are properly handled
717
- // name: String! - non-nullable
718
- const name = String(state?.name ?? doc.header?.name ?? "");
719
- // icon: String! - non-nullable
720
- const icon = String(state?.icon ?? "");
721
- // description: String! - non-nullable
722
- const description = String(state?.description ?? state?.slug ?? "");
723
- // isOperator: Boolean! - non-nullable, default to false
724
- const isOperator = state?.isOperator ?? false;
725
- // operationalHubMember: OpHubMember! - non-nullable
726
- const operationalHubMember = state?.operationalHubMember ?? { name: null, phid: null };
727
- // skills: [BuilderSkill!]! - non-nullable array (document model uses 'skils' typo)
728
- const skills = Array.isArray(state?.skils) ? state.skils : Array.isArray(state?.skills) ? state.skills : [];
729
- // scopes: [BuilderScope!]! - non-nullable array
730
- const scopes = Array.isArray(state?.scopes) ? state.scopes : [];
731
- // links: [BuilderLink!]! - non-nullable array
732
- const links = Array.isArray(state?.links) ? state.links : [];
733
- return {
734
- id: doc.header.id,
735
- code: state?.code ?? null,
736
- slug: state?.slug ?? null,
737
- name,
738
- icon,
739
- description,
740
- lastModified: state?.lastModified ?? null,
741
- isOperator,
742
- operationalHubMember,
743
- _contributorPhids: contributorPhids, // Internal field for resolver
744
- status: state?.status ?? null,
745
- skills,
746
- scopes,
747
- links,
748
- };
749
- };
750
360
  return results;
751
361
  },
752
362
  },
753
363
  SOW_Progress: {
754
364
  __resolveType(obj) {
755
365
  if (obj && typeof obj === "object") {
756
- if (Object.prototype.hasOwnProperty.call(obj, "total") &&
757
- Object.prototype.hasOwnProperty.call(obj, "completed")) {
366
+ if (Object.prototype.hasOwnProperty.call(obj, "total") && Object.prototype.hasOwnProperty.call(obj, "completed")) {
758
367
  return "SOW_StoryPoint";
759
368
  }
760
369
  if (Object.prototype.hasOwnProperty.call(obj, "value")) {
@@ -765,81 +374,7 @@ export const getResolvers = (subgraph) => {
765
374
  }
766
375
  }
767
376
  return null;
768
- },
769
- },
770
- SOW_ScopeOfWorkState: {
771
- contributors: (parent) => {
772
- // Resolve contributor PHIDs to Builder objects
773
- if (!parent.contributors || parent.contributors.length === 0) {
774
- return [];
775
- }
776
- if (!getBuilderProfileByPhid) {
777
- return [];
778
- }
779
- return parent.contributors
780
- .map((contributor) => {
781
- // Handle both string PHIDs and objects with id property
782
- const phid = typeof contributor === "string" ? contributor : contributor?.id;
783
- if (!phid || typeof phid !== "string") {
784
- return null;
785
- }
786
- return getBuilderProfileByPhid(phid);
787
- })
788
- .filter((builder) => builder !== null);
789
- },
790
- },
791
- SOW_Deliverable: {
792
- owner: (parent) => {
793
- // Handle null, undefined, or empty string cases
794
- if (parent?.owner === null || parent?.owner === undefined) {
795
- return null;
796
- }
797
- // Check if it's an empty string
798
- if (typeof parent.owner === "string" && parent.owner.trim() === "") {
799
- return null;
800
- }
801
- if (!getBuilderProfileByPhid)
802
- return null;
803
- const phid = extractPhid(parent.owner);
804
- if (!phid)
805
- return null;
806
- return getBuilderProfileByPhid(phid);
807
- },
808
- },
809
- SOW_Project: {
810
- projectOwner: (parent) => {
811
- // Handle null, undefined, or empty string cases
812
- if (parent?.projectOwner === null ||
813
- parent?.projectOwner === undefined) {
814
- return null;
815
- }
816
- // Check if it's an empty string
817
- if (typeof parent.projectOwner === "string" &&
818
- parent.projectOwner.trim() === "") {
819
- return null;
820
- }
821
- if (!getBuilderProfileByPhid)
822
- return null;
823
- const phid = extractPhid(parent.projectOwner);
824
- if (!phid)
825
- return null;
826
- return getBuilderProfileByPhid(phid);
827
- },
828
- },
829
- Builder: {
830
- contributors: (parent) => {
831
- // Resolve contributor PHIDs to Builder objects
832
- if (!parent._contributorPhids ||
833
- parent._contributorPhids.length === 0) {
834
- return [];
835
- }
836
- if (!getBuilderProfileByPhid) {
837
- return [];
838
- }
839
- return parent._contributorPhids
840
- .map((phid) => getBuilderProfileByPhid(phid))
841
- .filter((builder) => builder !== null);
842
- },
843
- },
377
+ }
378
+ }
844
379
  };
845
380
  };