@powerhousedao/network-admin 0.0.44 → 0.0.46

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 (168) hide show
  1. package/dist/document-models/builders/actions.d.ts +14 -0
  2. package/dist/document-models/builders/actions.d.ts.map +1 -0
  3. package/dist/document-models/builders/actions.js +4 -0
  4. package/dist/document-models/builders/gen/actions.d.ts +4 -0
  5. package/dist/document-models/builders/gen/actions.d.ts.map +1 -0
  6. package/dist/document-models/builders/gen/actions.js +1 -0
  7. package/dist/document-models/builders/gen/builders/actions.d.ts +12 -0
  8. package/dist/document-models/builders/gen/builders/actions.d.ts.map +1 -0
  9. package/dist/document-models/builders/gen/builders/actions.js +1 -0
  10. package/dist/document-models/builders/gen/builders/creators.d.ts +5 -0
  11. package/dist/document-models/builders/gen/builders/creators.d.ts.map +1 -0
  12. package/dist/document-models/builders/gen/builders/creators.js +4 -0
  13. package/dist/document-models/builders/gen/builders/error.d.ts +2 -0
  14. package/dist/document-models/builders/gen/builders/error.d.ts.map +1 -0
  15. package/dist/document-models/builders/gen/builders/error.js +1 -0
  16. package/dist/document-models/builders/gen/builders/operations.d.ts +8 -0
  17. package/dist/document-models/builders/gen/builders/operations.d.ts.map +1 -0
  18. package/dist/document-models/builders/gen/builders/operations.js +3 -0
  19. package/dist/document-models/builders/gen/creators.d.ts +3 -0
  20. package/dist/document-models/builders/gen/creators.d.ts.map +1 -0
  21. package/dist/document-models/builders/gen/creators.js +2 -0
  22. package/dist/document-models/builders/gen/document-model.d.ts +3 -0
  23. package/dist/document-models/builders/gen/document-model.d.ts.map +1 -0
  24. package/dist/document-models/builders/gen/document-model.js +59 -0
  25. package/dist/document-models/builders/gen/document-schema.d.ts +142 -0
  26. package/dist/document-models/builders/gen/document-schema.d.ts.map +1 -0
  27. package/dist/document-models/builders/gen/document-schema.js +33 -0
  28. package/dist/document-models/builders/gen/document-type.d.ts +2 -0
  29. package/dist/document-models/builders/gen/document-type.d.ts.map +1 -0
  30. package/dist/document-models/builders/gen/document-type.js +1 -0
  31. package/dist/document-models/builders/gen/index.d.ts +12 -0
  32. package/dist/document-models/builders/gen/index.d.ts.map +1 -0
  33. package/dist/document-models/builders/gen/index.js +11 -0
  34. package/dist/document-models/builders/gen/ph-factories.d.ts +23 -0
  35. package/dist/document-models/builders/gen/ph-factories.d.ts.map +1 -0
  36. package/dist/document-models/builders/gen/ph-factories.js +47 -0
  37. package/dist/document-models/builders/gen/reducer.d.ts +3 -0
  38. package/dist/document-models/builders/gen/reducer.d.ts.map +1 -0
  39. package/dist/document-models/builders/gen/reducer.js +21 -0
  40. package/dist/document-models/builders/gen/schema/index.d.ts +3 -0
  41. package/dist/document-models/builders/gen/schema/index.d.ts.map +1 -0
  42. package/dist/document-models/builders/gen/schema/index.js +2 -0
  43. package/dist/document-models/builders/gen/schema/types.d.ts +146 -0
  44. package/dist/document-models/builders/gen/schema/types.d.ts.map +1 -0
  45. package/dist/document-models/builders/gen/schema/types.js +1 -0
  46. package/dist/document-models/builders/gen/schema/zod.d.ts +13 -0
  47. package/dist/document-models/builders/gen/schema/zod.d.ts.map +1 -0
  48. package/dist/document-models/builders/gen/schema/zod.js +21 -0
  49. package/dist/document-models/builders/gen/types.d.ts +12 -0
  50. package/dist/document-models/builders/gen/types.d.ts.map +1 -0
  51. package/dist/document-models/builders/gen/types.js +1 -0
  52. package/dist/document-models/builders/gen/utils.d.ts +15 -0
  53. package/dist/document-models/builders/gen/utils.d.ts.map +1 -0
  54. package/dist/document-models/builders/gen/utils.js +51 -0
  55. package/dist/document-models/builders/hooks.d.ts +11 -0
  56. package/dist/document-models/builders/hooks.d.ts.map +1 -0
  57. package/dist/document-models/builders/hooks.js +26 -0
  58. package/dist/document-models/builders/index.d.ts +10 -0
  59. package/dist/document-models/builders/index.d.ts.map +1 -0
  60. package/dist/document-models/builders/index.js +9 -0
  61. package/dist/document-models/builders/module.d.ts +5 -0
  62. package/dist/document-models/builders/module.d.ts.map +1 -0
  63. package/dist/document-models/builders/module.js +10 -0
  64. package/dist/document-models/builders/src/index.d.ts +2 -0
  65. package/dist/document-models/builders/src/index.d.ts.map +1 -0
  66. package/dist/document-models/builders/src/index.js +1 -0
  67. package/dist/document-models/builders/src/reducers/builders.d.ts +3 -0
  68. package/dist/document-models/builders/src/reducers/builders.d.ts.map +1 -0
  69. package/dist/document-models/builders/src/reducers/builders.js +8 -0
  70. package/dist/document-models/builders/src/tests/builders.test.d.ts +6 -0
  71. package/dist/document-models/builders/src/tests/builders.test.d.ts.map +1 -0
  72. package/dist/document-models/builders/src/tests/builders.test.js +29 -0
  73. package/dist/document-models/builders/src/tests/document-model.test.d.ts +10 -0
  74. package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +1 -0
  75. package/dist/document-models/builders/src/tests/document-model.test.js +104 -0
  76. package/dist/document-models/builders/src/utils.d.ts +2 -0
  77. package/dist/document-models/builders/src/utils.d.ts.map +1 -0
  78. package/dist/document-models/builders/src/utils.js +1 -0
  79. package/dist/document-models/builders/utils.d.ts +14 -0
  80. package/dist/document-models/builders/utils.d.ts.map +1 -0
  81. package/dist/document-models/builders/utils.js +7 -0
  82. package/dist/document-models/document-models.d.ts.map +1 -1
  83. package/dist/document-models/document-models.js +2 -0
  84. package/dist/document-models/index.d.ts +1 -0
  85. package/dist/document-models/index.d.ts.map +1 -1
  86. package/dist/document-models/index.js +1 -0
  87. package/dist/document-models/network-profile/gen/document-model.d.ts.map +1 -1
  88. package/dist/document-models/network-profile/gen/document-model.js +6 -6
  89. package/dist/document-models/network-profile/gen/document-schema.d.ts +76 -38
  90. package/dist/document-models/network-profile/gen/document-schema.d.ts.map +1 -1
  91. package/dist/document-models/network-profile/gen/ph-factories.d.ts.map +1 -1
  92. package/dist/document-models/network-profile/gen/ph-factories.js +2 -0
  93. package/dist/document-models/network-profile/gen/schema/types.d.ts +6 -2
  94. package/dist/document-models/network-profile/gen/schema/types.d.ts.map +1 -1
  95. package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -1
  96. package/dist/document-models/network-profile/gen/schema/zod.js +6 -2
  97. package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -1
  98. package/dist/document-models/network-profile/gen/utils.js +3 -1
  99. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts.map +1 -1
  100. package/dist/document-models/network-profile/src/reducers/network-profile-management.js +2 -0
  101. package/dist/document-models/payment-terms/gen/document-schema.d.ts +6 -6
  102. package/dist/document-models/request-for-proposals/gen/document-schema.d.ts +6 -6
  103. package/dist/document-models/workstream/gen/document-schema.d.ts +6 -6
  104. package/dist/editors/builders/editor.d.ts +3 -0
  105. package/dist/editors/builders/editor.d.ts.map +1 -0
  106. package/dist/editors/builders/editor.js +204 -0
  107. package/dist/editors/builders/module.d.ts +4 -0
  108. package/dist/editors/builders/module.d.ts.map +1 -0
  109. package/dist/editors/builders/module.js +10 -0
  110. package/dist/editors/editors.d.ts.map +1 -1
  111. package/dist/editors/editors.js +2 -0
  112. package/dist/editors/index.d.ts +1 -0
  113. package/dist/editors/index.d.ts.map +1 -1
  114. package/dist/editors/index.js +1 -0
  115. package/dist/editors/network-admin/components/DriveExplorer.d.ts.map +1 -1
  116. package/dist/editors/network-admin/components/DriveExplorer.js +36 -3
  117. package/dist/editors/network-admin/components/builders.d.ts +2 -0
  118. package/dist/editors/network-admin/components/builders.d.ts.map +1 -0
  119. package/dist/editors/network-admin/components/builders.js +4 -0
  120. package/dist/editors/network-profile/editor.d.ts.map +1 -1
  121. package/dist/editors/network-profile/editor.js +28 -5
  122. package/dist/powerhouse.manifest.json +5 -5
  123. package/dist/style.css +67 -18
  124. package/dist/subgraphs/builders/index.d.ts +11 -0
  125. package/dist/subgraphs/builders/index.d.ts.map +1 -0
  126. package/dist/subgraphs/builders/index.js +11 -0
  127. package/dist/subgraphs/builders/resolvers.d.ts +3 -0
  128. package/dist/subgraphs/builders/resolvers.d.ts.map +1 -0
  129. package/dist/subgraphs/builders/resolvers.js +96 -0
  130. package/dist/subgraphs/builders/schema.d.ts +3 -0
  131. package/dist/subgraphs/builders/schema.d.ts.map +1 -0
  132. package/dist/subgraphs/builders/schema.js +42 -0
  133. package/dist/subgraphs/index.d.ts +1 -0
  134. package/dist/subgraphs/index.d.ts.map +1 -1
  135. package/dist/subgraphs/index.js +1 -0
  136. package/dist/subgraphs/network-profile/schema.d.ts.map +1 -1
  137. package/dist/subgraphs/network-profile/schema.js +4 -2
  138. package/dist/subgraphs/networks/resolvers.d.ts.map +1 -1
  139. package/dist/subgraphs/networks/resolvers.js +72 -8
  140. package/dist/subgraphs/networks/schema.d.ts.map +1 -1
  141. package/dist/subgraphs/networks/schema.js +10 -0
  142. package/dist/vite.config.d.ts.map +1 -1
  143. package/dist/vite.config.js +3 -0
  144. package/package.json +1 -1
  145. package/dist/editors/network-admin/components/CreateDocument.d.ts +0 -6
  146. package/dist/editors/network-admin/components/CreateDocument.d.ts.map +0 -1
  147. package/dist/editors/network-admin/components/CreateDocument.js +0 -18
  148. package/dist/editors/network-admin/components/DriveContents.d.ts +0 -3
  149. package/dist/editors/network-admin/components/DriveContents.d.ts.map +0 -1
  150. package/dist/editors/network-admin/components/DriveContents.js +0 -10
  151. package/dist/editors/network-admin/components/EmptyState.d.ts +0 -3
  152. package/dist/editors/network-admin/components/EmptyState.d.ts.map +0 -1
  153. package/dist/editors/network-admin/components/EmptyState.js +0 -10
  154. package/dist/editors/network-admin/components/Files.d.ts +0 -3
  155. package/dist/editors/network-admin/components/Files.d.ts.map +0 -1
  156. package/dist/editors/network-admin/components/Files.js +0 -12
  157. package/dist/editors/network-admin/components/FolderTree.d.ts +0 -6
  158. package/dist/editors/network-admin/components/FolderTree.d.ts.map +0 -1
  159. package/dist/editors/network-admin/components/FolderTree.js +0 -65
  160. package/dist/editors/network-admin/components/Folders.d.ts +0 -3
  161. package/dist/editors/network-admin/components/Folders.d.ts.map +0 -1
  162. package/dist/editors/network-admin/components/Folders.js +0 -12
  163. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts +0 -3
  164. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts.map +0 -1
  165. package/dist/editors/network-admin/components/NavigationBreadcrumbs.js +0 -6
  166. package/dist/editors/workstream/components/EditName.d.ts +0 -3
  167. package/dist/editors/workstream/components/EditName.d.ts.map +0 -1
  168. package/dist/editors/workstream/components/EditName.js +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"network-profile-management.d.ts","sourceRoot":"","sources":["../../../../../document-models/network-profile/src/reducers/network-profile-management.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gDAAgD,EAAE,MAAM,8DAA8D,CAAC;AAErI,eAAO,MAAM,gDAAgD,EAAE,gDAkC9D,CAAC"}
1
+ {"version":3,"file":"network-profile-management.d.ts","sourceRoot":"","sources":["../../../../../document-models/network-profile/src/reducers/network-profile-management.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gDAAgD,EAAE,MAAM,8DAA8D,CAAC;AAErI,eAAO,MAAM,gDAAgD,EAAE,gDAoC9D,CAAC"}
@@ -1,9 +1,11 @@
1
1
  export const networkProfileNetworkProfileManagementOperations = {
2
2
  setIconOperation(state, action) {
3
3
  state.icon = action.input.icon || "";
4
+ state.darkThemeIcon = action.input.darkThemeIcon || "";
4
5
  },
5
6
  setLogoOperation(state, action) {
6
7
  state.logo = action.input.logo || "";
8
+ state.darkThemeLogo = action.input.darkThemeLogo || "";
7
9
  },
8
10
  setLogoBigOperation(state, action) {
9
11
  state.logoBig = action.input.logoBig || "";
@@ -9,15 +9,15 @@ export declare const PaymentTermsDocumentHeaderSchema: z.ZodObject<{
9
9
  } & {
10
10
  documentType: z.ZodLiteral<"payment-terms">;
11
11
  }, "strip", z.ZodTypeAny, {
12
- name: string;
13
12
  documentType: "payment-terms";
14
13
  id: string;
14
+ name: string;
15
15
  createdAtUtcIso: string;
16
16
  lastModifiedAtUtcIso: string;
17
17
  }, {
18
- name: string;
19
18
  documentType: "payment-terms";
20
19
  id: string;
20
+ name: string;
21
21
  createdAtUtcIso: string;
22
22
  lastModifiedAtUtcIso: string;
23
23
  }>;
@@ -109,15 +109,15 @@ export declare const PaymentTermsDocumentSchema: z.ZodObject<{
109
109
  } & {
110
110
  documentType: z.ZodLiteral<"payment-terms">;
111
111
  }, "strip", z.ZodTypeAny, {
112
- name: string;
113
112
  documentType: "payment-terms";
114
113
  id: string;
114
+ name: string;
115
115
  createdAtUtcIso: string;
116
116
  lastModifiedAtUtcIso: string;
117
117
  }, {
118
- name: string;
119
118
  documentType: "payment-terms";
120
119
  id: string;
120
+ name: string;
121
121
  createdAtUtcIso: string;
122
122
  lastModifiedAtUtcIso: string;
123
123
  }>;
@@ -279,9 +279,9 @@ export declare const PaymentTermsDocumentSchema: z.ZodObject<{
279
279
  }>;
280
280
  }, "strip", z.ZodTypeAny, {
281
281
  header: {
282
- name: string;
283
282
  documentType: "payment-terms";
284
283
  id: string;
284
+ name: string;
285
285
  createdAtUtcIso: string;
286
286
  lastModifiedAtUtcIso: string;
287
287
  };
@@ -319,9 +319,9 @@ export declare const PaymentTermsDocumentSchema: z.ZodObject<{
319
319
  };
320
320
  }, {
321
321
  header: {
322
- name: string;
323
322
  documentType: "payment-terms";
324
323
  id: string;
324
+ name: string;
325
325
  createdAtUtcIso: string;
326
326
  lastModifiedAtUtcIso: string;
327
327
  };
@@ -9,15 +9,15 @@ export declare const RequestForProposalsDocumentHeaderSchema: z.ZodObject<{
9
9
  } & {
10
10
  documentType: z.ZodLiteral<"powerhouse/rfp">;
11
11
  }, "strip", z.ZodTypeAny, {
12
- name: string;
13
12
  documentType: "powerhouse/rfp";
14
13
  id: string;
14
+ name: string;
15
15
  createdAtUtcIso: string;
16
16
  lastModifiedAtUtcIso: string;
17
17
  }, {
18
- name: string;
19
18
  documentType: "powerhouse/rfp";
20
19
  id: string;
20
+ name: string;
21
21
  createdAtUtcIso: string;
22
22
  lastModifiedAtUtcIso: string;
23
23
  }>;
@@ -113,15 +113,15 @@ export declare const RequestForProposalsDocumentSchema: z.ZodObject<{
113
113
  } & {
114
114
  documentType: z.ZodLiteral<"powerhouse/rfp">;
115
115
  }, "strip", z.ZodTypeAny, {
116
- name: string;
117
116
  documentType: "powerhouse/rfp";
118
117
  id: string;
118
+ name: string;
119
119
  createdAtUtcIso: string;
120
120
  lastModifiedAtUtcIso: string;
121
121
  }, {
122
- name: string;
123
122
  documentType: "powerhouse/rfp";
124
123
  id: string;
124
+ name: string;
125
125
  createdAtUtcIso: string;
126
126
  lastModifiedAtUtcIso: string;
127
127
  }>;
@@ -291,9 +291,9 @@ export declare const RequestForProposalsDocumentSchema: z.ZodObject<{
291
291
  }>;
292
292
  }, "strip", z.ZodTypeAny, {
293
293
  header: {
294
- name: string;
295
294
  documentType: "powerhouse/rfp";
296
295
  id: string;
296
+ name: string;
297
297
  createdAtUtcIso: string;
298
298
  lastModifiedAtUtcIso: string;
299
299
  };
@@ -335,9 +335,9 @@ export declare const RequestForProposalsDocumentSchema: z.ZodObject<{
335
335
  };
336
336
  }, {
337
337
  header: {
338
- name: string;
339
338
  documentType: "powerhouse/rfp";
340
339
  id: string;
340
+ name: string;
341
341
  createdAtUtcIso: string;
342
342
  lastModifiedAtUtcIso: string;
343
343
  };
@@ -9,15 +9,15 @@ export declare const WorkstreamDocumentHeaderSchema: z.ZodObject<{
9
9
  } & {
10
10
  documentType: z.ZodLiteral<"powerhouse/workstream">;
11
11
  }, "strip", z.ZodTypeAny, {
12
- name: string;
13
12
  documentType: "powerhouse/workstream";
14
13
  id: string;
14
+ name: string;
15
15
  createdAtUtcIso: string;
16
16
  lastModifiedAtUtcIso: string;
17
17
  }, {
18
- name: string;
19
18
  documentType: "powerhouse/workstream";
20
19
  id: string;
20
+ name: string;
21
21
  createdAtUtcIso: string;
22
22
  lastModifiedAtUtcIso: string;
23
23
  }>;
@@ -93,15 +93,15 @@ export declare const WorkstreamDocumentSchema: z.ZodObject<{
93
93
  } & {
94
94
  documentType: z.ZodLiteral<"powerhouse/workstream">;
95
95
  }, "strip", z.ZodTypeAny, {
96
- name: string;
97
96
  documentType: "powerhouse/workstream";
98
97
  id: string;
98
+ name: string;
99
99
  createdAtUtcIso: string;
100
100
  lastModifiedAtUtcIso: string;
101
101
  }, {
102
- name: string;
103
102
  documentType: "powerhouse/workstream";
104
103
  id: string;
104
+ name: string;
105
105
  createdAtUtcIso: string;
106
106
  lastModifiedAtUtcIso: string;
107
107
  }>;
@@ -231,9 +231,9 @@ export declare const WorkstreamDocumentSchema: z.ZodObject<{
231
231
  }>;
232
232
  }, "strip", z.ZodTypeAny, {
233
233
  header: {
234
- name: string;
235
234
  documentType: "powerhouse/workstream";
236
235
  id: string;
236
+ name: string;
237
237
  createdAtUtcIso: string;
238
238
  lastModifiedAtUtcIso: string;
239
239
  };
@@ -267,9 +267,9 @@ export declare const WorkstreamDocumentSchema: z.ZodObject<{
267
267
  };
268
268
  }, {
269
269
  header: {
270
- name: string;
271
270
  documentType: "powerhouse/workstream";
272
271
  id: string;
272
+ name: string;
273
273
  createdAtUtcIso: string;
274
274
  lastModifiedAtUtcIso: string;
275
275
  };
@@ -0,0 +1,3 @@
1
+ /** Implement your editor behavior here */
2
+ export default function Editor(): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/builders/editor.tsx"],"names":[],"mappings":"AA4BA,0CAA0C;AAC1C,MAAM,CAAC,OAAO,UAAU,MAAM,4CAsR7B"}
@@ -0,0 +1,204 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { DocumentToolbar } from "@powerhousedao/design-system/connect";
3
+ import { useSelectedBuildersDocument } from "../../document-models/builders/hooks.js";
4
+ import { actions as buildersActions } from "../../document-models/builders/actions.js";
5
+ import { setSelectedNode, useParentFolderForSelectedNode, useDocumentsInSelectedDrive, useDrives, useGetDocuments, } from "@powerhousedao/reactor-browser";
6
+ import { useMemo, useCallback } from "react";
7
+ import { ObjectSetTable, PHIDInput, } from "@powerhousedao/document-engineering";
8
+ /** Implement your editor behavior here */
9
+ export default function Editor() {
10
+ const [doc, dispatch] = useSelectedBuildersDocument();
11
+ // Get the parent folder node for the currently selected node
12
+ const parentFolder = useParentFolderForSelectedNode();
13
+ // Set the selected node to the parent folder node (close the editor)
14
+ function handleClose() {
15
+ setSelectedNode(parentFolder?.id);
16
+ }
17
+ const drives = useDrives();
18
+ // Map all builder profile FileNodes from all drives with their driveId
19
+ const builderProfileNodesWithDriveId = useMemo(() => {
20
+ if (!drives)
21
+ return [];
22
+ return drives.flatMap((drive) => {
23
+ const builderProfileNodes = drive.state.global.nodes.filter((node) => node.kind === "file" &&
24
+ "documentType" in node &&
25
+ node.documentType === "powerhouse/builder-profile");
26
+ return builderProfileNodes.map((node) => ({
27
+ node,
28
+ driveId: drive.header.id,
29
+ }));
30
+ });
31
+ }, [drives]);
32
+ // Get all unique builder PHIDs from the nodes
33
+ const builderPhids = useMemo(() => {
34
+ return builderProfileNodesWithDriveId.map(({ node }) => node.id);
35
+ }, [builderProfileNodesWithDriveId]);
36
+ // Fetch all builder profile documents from all drives
37
+ const builderProfileDocuments = useGetDocuments(builderPhids);
38
+ // Create a map of PHID to document for quick lookup
39
+ const builderProfileMap = useMemo(() => {
40
+ if (!builderProfileDocuments)
41
+ return new Map();
42
+ const map = new Map();
43
+ builderProfileDocuments.forEach((doc) => {
44
+ if (doc.header.documentType === "powerhouse/builder-profile") {
45
+ map.set(doc.header.id, doc);
46
+ }
47
+ });
48
+ return map;
49
+ }, [builderProfileDocuments]);
50
+ // Helper function to get builder profile documents from all drives
51
+ const getBuilderProfiles = useCallback(() => {
52
+ return builderProfileNodesWithDriveId.map(({ node }) => {
53
+ const doc = builderProfileMap.get(node.id);
54
+ const name = doc?.state?.global?.name || node.name || node.id;
55
+ return {
56
+ id: node.id,
57
+ label: name,
58
+ value: node.id,
59
+ title: name,
60
+ };
61
+ });
62
+ }, [builderProfileNodesWithDriveId, builderProfileMap]);
63
+ // Helper function to get builder profile data by PHID from all drives
64
+ const getBuilderProfileByPhid = (phid) => {
65
+ const doc = builderProfileMap.get(phid);
66
+ if (!doc)
67
+ return null;
68
+ return {
69
+ name: doc.state.global?.name || doc.header.id,
70
+ slug: doc.state.global?.slug || doc.header.id,
71
+ icon: doc.state.global?.icon || null,
72
+ };
73
+ };
74
+ const builders = useMemo(() => {
75
+ return doc?.state.global.builders.map((phid) => ({
76
+ phid: phid,
77
+ name: getBuilderProfileByPhid(phid)?.name || "",
78
+ slug: getBuilderProfileByPhid(phid)?.slug || "",
79
+ icon: getBuilderProfileByPhid(phid)?.icon || null,
80
+ }));
81
+ }, [doc, builderProfileMap]);
82
+ const columns = useMemo(() => [
83
+ {
84
+ field: "phid",
85
+ title: "PHID",
86
+ editable: true,
87
+ align: "center",
88
+ width: 200,
89
+ onSave: (newValue, context) => {
90
+ const currentId = context.row.phid || "";
91
+ if (newValue !== currentId && newValue && currentId) {
92
+ // First remove the old agent
93
+ dispatch(buildersActions.removeBuilder({ builderPhid: currentId }));
94
+ // Then add the new agent with the new PHID
95
+ dispatch(buildersActions.addBuilder({
96
+ builderPhid: newValue,
97
+ }));
98
+ return true;
99
+ }
100
+ return false;
101
+ },
102
+ renderCellEditor: (value, onChange, context) => (_jsx(PHIDInput, { value: value || "", onChange: (newValue) => {
103
+ onChange(newValue);
104
+ }, onBlur: (e) => {
105
+ const newValue = e.target.value;
106
+ const currentValue = value || "";
107
+ // If a PHID is entered and it's different from current value
108
+ if (newValue && newValue !== currentValue) {
109
+ const builderProfile = getBuilderProfileByPhid(newValue);
110
+ const existingBuilder = builders?.find((builder) => builder?.phid === newValue);
111
+ if (!existingBuilder) {
112
+ // If we're editing an existing row (has an ID), remove the old one first
113
+ if (context.row.phid && context.row.phid !== newValue) {
114
+ dispatch(buildersActions.removeBuilder({
115
+ builderPhid: context.row.phid,
116
+ }));
117
+ }
118
+ if (builderProfile) {
119
+ // Create new agent with data from builder profile
120
+ dispatch(buildersActions.addBuilder({
121
+ builderPhid: newValue,
122
+ }));
123
+ }
124
+ else {
125
+ // Manual PHID entry - create agent with empty data that user can fill
126
+ dispatch(buildersActions.addBuilder({
127
+ builderPhid: newValue,
128
+ }));
129
+ }
130
+ }
131
+ }
132
+ }, placeholder: "Enter PHID", className: "w-full", variant: "withValueAndTitle", initialOptions: getBuilderProfiles(), fetchOptionsCallback: async (userInput) => {
133
+ const builderProfiles = getBuilderProfiles();
134
+ // Filter profiles based on user input
135
+ if (!userInput.trim()) {
136
+ return builderProfiles;
137
+ }
138
+ const filteredProfiles = builderProfiles.filter((profile) => profile.label
139
+ .toLowerCase()
140
+ .includes(userInput.toLowerCase()) ||
141
+ profile.id.toLowerCase().includes(userInput.toLowerCase()));
142
+ return filteredProfiles;
143
+ } })),
144
+ renderCell: (value) => {
145
+ if (value === "" || !value) {
146
+ return (_jsx("div", { className: "font-light italic text-gray-500 text-center", children: "+ Double-click to add new builder (enter or click outside to save)" }));
147
+ }
148
+ return _jsx("div", { className: "text-center font-mono text-sm", children: value });
149
+ },
150
+ },
151
+ {
152
+ field: "name",
153
+ title: "Builder Name",
154
+ editable: false,
155
+ align: "center",
156
+ width: 200,
157
+ renderCell: (value) => {
158
+ return _jsx("div", { className: "text-center", children: value });
159
+ },
160
+ },
161
+ {
162
+ field: "slug",
163
+ title: "Builder Slug",
164
+ editable: false,
165
+ align: "center",
166
+ width: 200,
167
+ renderCell: (value) => {
168
+ return _jsx("div", { className: "text-center", children: value });
169
+ },
170
+ },
171
+ {
172
+ field: "icon",
173
+ title: "Icon",
174
+ editable: false,
175
+ align: "center",
176
+ width: 150,
177
+ renderCell: (value, context) => {
178
+ if (!context.row.icon) {
179
+ return null;
180
+ }
181
+ return (_jsx("div", { className: "text-center", children: _jsx("img", { src: context.row.icon, alt: "Agent icon", className: "w-10 h-10 rounded-sm mx-auto object-cover", onError: (e) => {
182
+ e.currentTarget.style.display = "none";
183
+ e.currentTarget.nextElementSibling?.classList.remove("hidden");
184
+ } }) }));
185
+ },
186
+ },
187
+ ], [builders, builderProfileMap, getBuilderProfiles]);
188
+ return (_jsxs("div", { className: "w-full bg-gray-50", children: [_jsx(DocumentToolbar, { document: doc, onClose: handleClose }), _jsxs("div", { className: "p-2 max-w-4xl mx-auto min-h-screen", children: [_jsx("div", { className: "bg-white rounded-lg p-6 mb-6 shadow-sm text-center", children: _jsx("h1", { className: "text-3xl font-bold text-gray-900 mb-2", children: "Builders" }) }), _jsx("div", { className: "mt-4 bg-white", children: _jsx(ObjectSetTable, { columns: columns, data: builders || [], allowRowSelection: true, onDelete: (data) => {
189
+ if (data.length > 0) {
190
+ data.forEach((d) => {
191
+ dispatch(buildersActions.removeBuilder({ builderPhid: d.phid }));
192
+ });
193
+ }
194
+ }, onAdd: (data) => {
195
+ // Only add if we have a title (name) - PHID will be handled by the PHIDInput onChange
196
+ if (data.title) {
197
+ // Generate a temporary ID if no PHID is provided
198
+ const tempId = data.id || `temp-${Date.now()}`;
199
+ dispatch(buildersActions.addBuilder({
200
+ builderPhid: tempId,
201
+ }));
202
+ }
203
+ } }) })] })] }));
204
+ }
@@ -0,0 +1,4 @@
1
+ import type { EditorModule } from "document-model";
2
+ /** Document editor module for the Todo List document type */
3
+ export declare const Builders: EditorModule;
4
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/builders/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,EAAE,YAOtB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { lazy } from "react";
2
+ /** Document editor module for the Todo List document type */
3
+ export const Builders = {
4
+ Component: lazy(() => import("./editor.js")),
5
+ documentTypes: ["powerhouse/builders"],
6
+ config: {
7
+ id: "builders-editor",
8
+ name: "builders",
9
+ },
10
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"editors.d.ts","sourceRoot":"","sources":["../../editors/editors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOnD,eAAO,MAAM,OAAO,EAAE,YAAY,EAMjC,CAAC"}
1
+ {"version":3,"file":"editors.d.ts","sourceRoot":"","sources":["../../editors/editors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQnD,eAAO,MAAM,OAAO,EAAE,YAAY,EAOjC,CAAC"}
@@ -3,10 +3,12 @@ import { NetworkProfileEditor } from "./network-profile/module.js";
3
3
  import { PaymentTermsEditor } from "./payment-terms/module.js";
4
4
  import { RequestForProposalsEditor } from "./request-for-proposals/module.js";
5
5
  import { WorkstreamEditor } from "./workstream/module.js";
6
+ import { Builders } from "./builders/module.js";
6
7
  export const editors = [
7
8
  NetworkAdmin,
8
9
  NetworkProfileEditor,
9
10
  PaymentTermsEditor,
10
11
  RequestForProposalsEditor,
11
12
  WorkstreamEditor,
13
+ Builders,
12
14
  ];
@@ -7,4 +7,5 @@ export { NetworkProfileEditor } from "./network-profile/module.js";
7
7
  export { PaymentTermsEditor } from "./payment-terms/module.js";
8
8
  export { RequestForProposalsEditor } from "./request-for-proposals/module.js";
9
9
  export { WorkstreamEditor } from "./workstream/module.js";
10
+ export { Builders } from "./builders/module.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../editors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../editors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
@@ -7,3 +7,4 @@ export { NetworkProfileEditor } from "./network-profile/module.js";
7
7
  export { PaymentTermsEditor } from "./payment-terms/module.js";
8
8
  export { RequestForProposalsEditor } from "./request-for-proposals/module.js";
9
9
  export { WorkstreamEditor } from "./workstream/module.js";
10
+ export { Builders } from "./builders/module.js";
@@ -1 +1 @@
1
- {"version":3,"file":"DriveExplorer.d.ts","sourceRoot":"","sources":["../../../../editors/network-admin/components/DriveExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAmDlD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAsmBtD"}
1
+ {"version":3,"file":"DriveExplorer.d.ts","sourceRoot":"","sources":["../../../../editors/network-admin/components/DriveExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqDlD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAkpBtD"}
@@ -11,6 +11,7 @@ import { SowIcon } from "./icons/SowIcon.js";
11
11
  import { WorkstreamIcon } from "./icons/WorkstreamIcon.js";
12
12
  import { Earth } from "lucide-react";
13
13
  import { editClientInfo, editWorkstream, } from "../../../document-models/workstream/gen/creators.js";
14
+ import Builders from "./builders.js";
14
15
  const WorkstreamStatusEnums = [
15
16
  "RFP_DRAFT",
16
17
  "PREWORK_RFC",
@@ -47,7 +48,8 @@ export function DriveExplorer({ children }) {
47
48
  doc.header.documentType === "powerhouse/workstream" ||
48
49
  doc.header.documentType === "powerhouse/scopeofwork" ||
49
50
  doc.header.documentType === "powerhouse/rfp" ||
50
- doc.header.documentType === "payment-terms");
51
+ doc.header.documentType === "payment-terms" ||
52
+ doc.header.documentType === "powerhouse/builders");
51
53
  //check if network profile doc is created, set isNetworkProfileCreated to true
52
54
  const isNetworkProfileCreated = networkAdminDocuments?.some((doc) => doc.header.documentType === "powerhouse/network-profile") || false;
53
55
  // Sync global selected document with local activeDocumentId
@@ -64,6 +66,7 @@ export function DriveExplorer({ children }) {
64
66
  // Group documents by type
65
67
  const workstreamDocs = (networkAdminDocuments?.filter((doc) => doc.header.documentType === "powerhouse/workstream") ?? []);
66
68
  const networkProfileDocs = (networkAdminDocuments?.filter((doc) => doc.header.documentType === "powerhouse/network-profile") ?? []);
69
+ const [buildersDoc] = (networkAdminDocuments?.filter((doc) => doc.header.documentType === "powerhouse/builders") ?? []);
67
70
  const workstreamsNode = {
68
71
  id: "workstreams",
69
72
  title: "Workstreams",
@@ -194,7 +197,12 @@ export function DriveExplorer({ children }) {
194
197
  })),
195
198
  ],
196
199
  };
197
- return [workstreamsNode, networkInfoNode];
200
+ const buildersNode = {
201
+ id: `editor-${buildersDoc?.header.id}`,
202
+ title: "Builders",
203
+ children: [],
204
+ };
205
+ return [workstreamsNode, networkInfoNode, buildersNode];
198
206
  }, [networkAdminDocuments]);
199
207
  // Handle sidebar node selection
200
208
  const handleActiveNodeChange = useCallback((nodeId) => {
@@ -228,6 +236,7 @@ export function DriveExplorer({ children }) {
228
236
  // Handle network information display
229
237
  }
230
238
  else if (newNode.id.startsWith("editor-")) {
239
+ createBuildersDocument();
231
240
  // Extract file ID from editor-{file.id} format
232
241
  const fileId = newNode.id.replace("editor-", "");
233
242
  setSelectedNode(fileId);
@@ -252,7 +261,8 @@ export function DriveExplorer({ children }) {
252
261
  const networkProfileDoc = networkAdminDocuments?.find((doc) => doc.header.documentType === "powerhouse/network-profile");
253
262
  switch (nodeType) {
254
263
  case "workstreams":
255
- return (_jsx("div", { className: "w-full h-full p-6 overflow-auto", children: _jsxs("div", { className: "max-w-7xl mx-auto", children: [_jsxs("div", { className: "space-y-6 flex flex-col items-center justify-center mb-10", children: [_jsx("h1", { className: "text-2xl font-bold", children: "Welcome to the Network Admin" }), isNetworkProfileCreated && networkProfileDoc?.state.global.logo && (_jsxs("div", { className: "bg-white rounded-lg shadow-md border border-gray-300 p-4 max-w-lg mx-auto text-sm", children: [_jsxs("div", { className: "flex items-start justify-between gap-4", children: [networkProfileDoc?.state.global.logo ? (_jsx("img", { src: networkProfileDoc?.state.global.logo, alt: "Network Profile Logo", className: "mb-4 max-w-64 max-h-12 w-auto h-auto object-contain flex-shrink-0" })) : (_jsx("div", {})), _jsx("div", { className: "flex flex-wrap gap-2 justify-end flex-shrink-0", children: networkProfileDoc?.state.global.category.map((category) => (_jsx("span", { className: `inline-flex items-center justify-center rounded-md w-fit whitespace-nowrap shrink-0 border-2 px-2 py-0 text-sm font-extrabold ${category.toLowerCase() === "oss"
264
+ return (_jsx("div", { className: "w-full h-full p-6 overflow-auto", children: _jsxs("div", { className: "max-w-7xl mx-auto", children: [_jsxs("div", { className: "space-y-6 flex flex-col items-center justify-center mb-10", children: [_jsx("h1", { className: "text-2xl font-bold", children: "Welcome to the Network Admin" }), isNetworkProfileCreated &&
265
+ networkProfileDoc?.state.global.logo && (_jsxs("div", { className: "bg-white rounded-lg shadow-md border border-gray-300 p-4 max-w-lg mx-auto text-sm", children: [_jsxs("div", { className: "flex items-start justify-between gap-4", children: [networkProfileDoc?.state.global.logo ? (_jsx("img", { src: networkProfileDoc?.state.global.logo, alt: "Network Profile Logo", className: "mb-4 max-w-64 max-h-12 w-auto h-auto object-contain flex-shrink-0" })) : (_jsx("div", {})), _jsx("div", { className: "flex flex-wrap gap-2 justify-end flex-shrink-0", children: networkProfileDoc?.state.global.category.map((category) => (_jsx("span", { className: `inline-flex items-center justify-center rounded-md w-fit whitespace-nowrap shrink-0 border-2 px-2 py-0 text-sm font-extrabold ${category.toLowerCase() === "oss"
256
266
  ? "bg-purple-600/30 text-purple-600 border-purple-600/70"
257
267
  : category.toLowerCase() === "defi"
258
268
  ? "bg-blue-600/30 text-blue-600 border-blue-600/70"
@@ -344,6 +354,29 @@ export function DriveExplorer({ children }) {
344
354
  console.error("Failed to create document:", error);
345
355
  }
346
356
  }, [selectedDrive?.header.id, modalDocumentType]);
357
+ // Create builders document
358
+ const createBuildersDocument = useCallback(async () => {
359
+ try {
360
+ const isCreated = allDocuments?.some((doc) => doc.header.documentType === "powerhouse/builders");
361
+ if (isCreated) {
362
+ return;
363
+ }
364
+ else {
365
+ console.log("Creating builders document");
366
+ const node = await addDocument(selectedDrive?.header.id || "", "Builders", "powerhouse/builders", undefined, // creating in root folder
367
+ undefined, undefined, "builders-editor");
368
+ if (!node?.id) {
369
+ console.error("Error creating builders document");
370
+ return;
371
+ }
372
+ return node;
373
+ }
374
+ }
375
+ catch (error) {
376
+ console.error("Failed to create builders document:", error);
377
+ return null;
378
+ }
379
+ }, [selectedDrive?.header.id, allDocuments]);
347
380
  // === RENDER ===
348
381
  return (_jsx(SidebarProvider, { nodes: sidebarNodes, children: isScopeOfWorkFullView && children ? (_jsx("div", { className: "h-full w-full", children: children })) : (
349
382
  /* === NORMAL VIEW WITH SIDEBAR === */
@@ -0,0 +1,2 @@
1
+ export default function Builders(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../../editors/network-admin/components/builders.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,4CAS/B"}
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export default function Builders() {
3
+ return (_jsx("div", { className: "w-full h-full p-6 overflow-auto", children: _jsx("div", { className: "max-w-7xl mx-auto", children: _jsx("h1", { className: "text-2xl font-bold", children: "Builders" }) }) }));
4
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/network-profile/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoBlD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AA8MjC,MAAM,CAAC,OAAO,UAAU,MAAM,mDAwP7B"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/network-profile/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoBlD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AA+RjC,MAAM,CAAC,OAAO,UAAU,MAAM,mDAgR7B"}