@powerhousedao/renown-package 0.0.30 → 0.0.32

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 (191) hide show
  1. package/dist/document-models/index.d.ts +1 -0
  2. package/dist/document-models/index.d.ts.map +1 -0
  3. package/dist/document-models/index.js +1 -0
  4. package/dist/document-models/renown-credential/gen/actions.d.ts +1 -0
  5. package/dist/document-models/renown-credential/gen/actions.d.ts.map +1 -0
  6. package/dist/document-models/renown-credential/gen/creators.d.ts +1 -0
  7. package/dist/document-models/renown-credential/gen/creators.d.ts.map +1 -0
  8. package/dist/document-models/renown-credential/gen/document-model.d.ts +3 -2
  9. package/dist/document-models/renown-credential/gen/document-model.d.ts.map +1 -0
  10. package/dist/document-models/renown-credential/gen/document-model.js +3 -59
  11. package/dist/document-models/renown-credential/gen/index.d.ts +1 -2
  12. package/dist/document-models/renown-credential/gen/index.d.ts.map +1 -0
  13. package/dist/document-models/renown-credential/gen/index.js +0 -1
  14. package/dist/document-models/renown-credential/gen/manager/actions.d.ts +3 -14
  15. package/dist/document-models/renown-credential/gen/manager/actions.d.ts.map +1 -0
  16. package/dist/document-models/renown-credential/gen/manager/actions.js +1 -1
  17. package/dist/document-models/renown-credential/gen/manager/creators.d.ts +3 -5
  18. package/dist/document-models/renown-credential/gen/manager/creators.d.ts.map +1 -0
  19. package/dist/document-models/renown-credential/gen/manager/creators.js +3 -5
  20. package/dist/document-models/renown-credential/gen/manager/error.d.ts +2 -16
  21. package/dist/document-models/renown-credential/gen/manager/error.d.ts.map +1 -0
  22. package/dist/document-models/renown-credential/gen/manager/error.js +0 -19
  23. package/dist/document-models/renown-credential/gen/manager/operations.d.ts +2 -4
  24. package/dist/document-models/renown-credential/gen/manager/operations.d.ts.map +1 -0
  25. package/dist/document-models/renown-credential/gen/manager/operations.js +3 -1
  26. package/dist/document-models/renown-credential/gen/ph-factories.d.ts +7 -10
  27. package/dist/document-models/renown-credential/gen/ph-factories.d.ts.map +1 -0
  28. package/dist/document-models/renown-credential/gen/ph-factories.js +23 -13
  29. package/dist/document-models/renown-credential/gen/reducer.d.ts +3 -2
  30. package/dist/document-models/renown-credential/gen/reducer.d.ts.map +1 -0
  31. package/dist/document-models/renown-credential/gen/reducer.js +1 -16
  32. package/dist/document-models/renown-credential/gen/schema/index.d.ts +1 -0
  33. package/dist/document-models/renown-credential/gen/schema/index.d.ts.map +1 -0
  34. package/dist/document-models/renown-credential/gen/schema/types.d.ts +83 -115
  35. package/dist/document-models/renown-credential/gen/schema/types.d.ts.map +1 -0
  36. package/dist/document-models/renown-credential/gen/schema/zod.d.ts +15 -4
  37. package/dist/document-models/renown-credential/gen/schema/zod.d.ts.map +1 -0
  38. package/dist/document-models/renown-credential/gen/schema/zod.js +129 -33
  39. package/dist/document-models/renown-credential/gen/types.d.ts +10 -6
  40. package/dist/document-models/renown-credential/gen/types.d.ts.map +1 -0
  41. package/dist/document-models/renown-credential/gen/types.js +1 -0
  42. package/dist/document-models/renown-credential/gen/utils.d.ts +10 -19
  43. package/dist/document-models/renown-credential/gen/utils.d.ts.map +1 -0
  44. package/dist/document-models/renown-credential/gen/utils.js +48 -43
  45. package/dist/document-models/renown-credential/index.d.ts +13 -9
  46. package/dist/document-models/renown-credential/index.d.ts.map +1 -0
  47. package/dist/document-models/renown-credential/index.js +4 -3
  48. package/dist/document-models/renown-credential/src/reducers/manager.d.ts +1 -0
  49. package/dist/document-models/renown-credential/src/reducers/manager.d.ts.map +1 -0
  50. package/dist/document-models/renown-credential/src/reducers/manager.js +46 -108
  51. package/dist/document-models/renown-credential/src/tests/document-model.test.d.ts +1 -0
  52. package/dist/document-models/renown-credential/src/tests/document-model.test.d.ts.map +1 -0
  53. package/dist/document-models/renown-credential/src/tests/document-model.test.js +1 -1
  54. package/dist/document-models/renown-credential/src/tests/manager.test.d.ts +1 -0
  55. package/dist/document-models/renown-credential/src/tests/manager.test.d.ts.map +1 -0
  56. package/dist/document-models/renown-credential/src/utils.d.ts +1 -0
  57. package/dist/document-models/renown-credential/src/utils.d.ts.map +1 -0
  58. package/dist/document-models/renown-user/gen/actions.d.ts +1 -0
  59. package/dist/document-models/renown-user/gen/actions.d.ts.map +1 -0
  60. package/dist/document-models/renown-user/gen/creators.d.ts +1 -0
  61. package/dist/document-models/renown-user/gen/creators.d.ts.map +1 -0
  62. package/dist/document-models/renown-user/gen/document-model.d.ts +3 -2
  63. package/dist/document-models/renown-user/gen/document-model.d.ts.map +1 -0
  64. package/dist/document-models/renown-user/gen/index.d.ts +1 -2
  65. package/dist/document-models/renown-user/gen/index.d.ts.map +1 -0
  66. package/dist/document-models/renown-user/gen/index.js +0 -1
  67. package/dist/document-models/renown-user/gen/ph-factories.d.ts +7 -10
  68. package/dist/document-models/renown-user/gen/ph-factories.d.ts.map +1 -0
  69. package/dist/document-models/renown-user/gen/ph-factories.js +1 -4
  70. package/dist/document-models/renown-user/gen/profile/actions.d.ts +1 -0
  71. package/dist/document-models/renown-user/gen/profile/actions.d.ts.map +1 -0
  72. package/dist/document-models/renown-user/gen/profile/actions.js +1 -1
  73. package/dist/document-models/renown-user/gen/profile/creators.d.ts +1 -0
  74. package/dist/document-models/renown-user/gen/profile/creators.d.ts.map +1 -0
  75. package/dist/document-models/renown-user/gen/profile/creators.js +2 -1
  76. package/dist/document-models/renown-user/gen/profile/error.d.ts +1 -0
  77. package/dist/document-models/renown-user/gen/profile/error.d.ts.map +1 -0
  78. package/dist/document-models/renown-user/gen/profile/operations.d.ts +1 -0
  79. package/dist/document-models/renown-user/gen/profile/operations.d.ts.map +1 -0
  80. package/dist/document-models/renown-user/gen/profile/operations.js +3 -1
  81. package/dist/document-models/renown-user/gen/reducer.d.ts +3 -2
  82. package/dist/document-models/renown-user/gen/reducer.d.ts.map +1 -0
  83. package/dist/document-models/renown-user/gen/reducer.js +1 -4
  84. package/dist/document-models/renown-user/gen/schema/index.d.ts +1 -0
  85. package/dist/document-models/renown-user/gen/schema/index.d.ts.map +1 -0
  86. package/dist/document-models/renown-user/gen/schema/types.d.ts +1 -0
  87. package/dist/document-models/renown-user/gen/schema/types.d.ts.map +1 -0
  88. package/dist/document-models/renown-user/gen/schema/zod.d.ts +1 -0
  89. package/dist/document-models/renown-user/gen/schema/zod.d.ts.map +1 -0
  90. package/dist/document-models/renown-user/gen/types.d.ts +10 -6
  91. package/dist/document-models/renown-user/gen/types.d.ts.map +1 -0
  92. package/dist/document-models/renown-user/gen/types.js +1 -0
  93. package/dist/document-models/renown-user/gen/utils.d.ts +10 -19
  94. package/dist/document-models/renown-user/gen/utils.d.ts.map +1 -0
  95. package/dist/document-models/renown-user/gen/utils.js +26 -34
  96. package/dist/document-models/renown-user/index.d.ts +14 -7
  97. package/dist/document-models/renown-user/index.d.ts.map +1 -0
  98. package/dist/document-models/renown-user/index.js +4 -3
  99. package/dist/document-models/renown-user/src/reducers/profile.d.ts +1 -0
  100. package/dist/document-models/renown-user/src/reducers/profile.d.ts.map +1 -0
  101. package/dist/document-models/renown-user/src/tests/document-model.test.d.ts +1 -0
  102. package/dist/document-models/renown-user/src/tests/document-model.test.d.ts.map +1 -0
  103. package/dist/document-models/renown-user/src/tests/document-model.test.js +1 -1
  104. package/dist/document-models/renown-user/src/tests/profile.test.d.ts +1 -0
  105. package/dist/document-models/renown-user/src/tests/profile.test.d.ts.map +1 -0
  106. package/dist/document-models/renown-user/src/utils.d.ts +1 -0
  107. package/dist/document-models/renown-user/src/utils.d.ts.map +1 -0
  108. package/dist/editors/hooks/useRenownCredentialDocument.d.ts +1 -0
  109. package/dist/editors/hooks/useRenownCredentialDocument.d.ts.map +1 -0
  110. package/dist/editors/hooks/useRenownUserDocument.d.ts +1 -0
  111. package/dist/editors/hooks/useRenownUserDocument.d.ts.map +1 -0
  112. package/dist/editors/index.d.ts +1 -0
  113. package/dist/editors/index.d.ts.map +1 -0
  114. package/dist/editors/index.js +1 -0
  115. package/dist/editors/renown-credential-editor/editor.d.ts +1 -0
  116. package/dist/editors/renown-credential-editor/editor.d.ts.map +1 -0
  117. package/dist/editors/renown-credential-editor/editor.js +7 -71
  118. package/dist/editors/renown-credential-editor/index.d.ts +1 -0
  119. package/dist/editors/renown-credential-editor/index.d.ts.map +1 -0
  120. package/dist/editors/renown-credential-editor/index.js +1 -3
  121. package/dist/editors/renown-user-editor/editor.d.ts +1 -0
  122. package/dist/editors/renown-user-editor/editor.d.ts.map +1 -0
  123. package/dist/editors/renown-user-editor/editor.js +1 -1
  124. package/dist/editors/renown-user-editor/index.d.ts +1 -0
  125. package/dist/editors/renown-user-editor/index.d.ts.map +1 -0
  126. package/dist/editors/renown-user-editor/index.js +1 -3
  127. package/dist/index.d.ts +2 -1
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/processors/factory.d.ts +4 -2
  130. package/dist/processors/factory.d.ts.map +1 -0
  131. package/dist/processors/factory.js +4 -0
  132. package/dist/processors/index.d.ts +2 -0
  133. package/dist/processors/index.d.ts.map +1 -0
  134. package/dist/processors/index.js +2 -0
  135. package/dist/processors/renown-credential/factory.d.ts +8 -0
  136. package/dist/processors/renown-credential/factory.d.ts.map +1 -0
  137. package/dist/processors/renown-credential/factory.js +25 -0
  138. package/dist/processors/renown-credential/index.d.ts +8 -2
  139. package/dist/processors/renown-credential/index.d.ts.map +1 -0
  140. package/dist/processors/renown-credential/index.js +77 -69
  141. package/dist/processors/renown-credential/migrations.d.ts +2 -1
  142. package/dist/processors/renown-credential/migrations.d.ts.map +1 -0
  143. package/dist/processors/renown-credential/migrations.js +53 -21
  144. package/dist/processors/renown-credential/schema.d.ts +19 -12
  145. package/dist/processors/renown-credential/schema.d.ts.map +1 -0
  146. package/dist/processors/renown-user/factory.d.ts +2 -1
  147. package/dist/processors/renown-user/factory.d.ts.map +1 -0
  148. package/dist/processors/renown-user/factory.js +4 -1
  149. package/dist/processors/renown-user/index.d.ts +3 -2
  150. package/dist/processors/renown-user/index.d.ts.map +1 -0
  151. package/dist/processors/renown-user/index.js +3 -1
  152. package/dist/processors/renown-user/migrations.d.ts +2 -1
  153. package/dist/processors/renown-user/migrations.d.ts.map +1 -0
  154. package/dist/processors/renown-user/migrations.js +1 -0
  155. package/dist/processors/renown-user/schema.d.ts +1 -0
  156. package/dist/processors/renown-user/schema.d.ts.map +1 -0
  157. package/dist/style.css +132 -17100
  158. package/dist/subgraphs/index.d.ts +1 -0
  159. package/dist/subgraphs/index.d.ts.map +1 -0
  160. package/dist/subgraphs/index.js +1 -0
  161. package/dist/subgraphs/renown-credential/index.d.ts +3 -2
  162. package/dist/subgraphs/renown-credential/index.d.ts.map +1 -0
  163. package/dist/subgraphs/renown-credential/index.js +2 -2
  164. package/dist/subgraphs/renown-credential/resolvers.d.ts +3 -2
  165. package/dist/subgraphs/renown-credential/resolvers.d.ts.map +1 -0
  166. package/dist/subgraphs/renown-credential/resolvers.js +0 -36
  167. package/dist/subgraphs/renown-credential/schema.d.ts +1 -0
  168. package/dist/subgraphs/renown-credential/schema.d.ts.map +1 -0
  169. package/dist/subgraphs/renown-credential/schema.js +96 -47
  170. package/dist/subgraphs/renown-read-model/index.d.ts +3 -2
  171. package/dist/subgraphs/renown-read-model/index.d.ts.map +1 -0
  172. package/dist/subgraphs/renown-read-model/index.js +2 -2
  173. package/dist/subgraphs/renown-read-model/resolvers.d.ts +3 -2
  174. package/dist/subgraphs/renown-read-model/resolvers.d.ts.map +1 -0
  175. package/dist/subgraphs/renown-read-model/resolvers.js +35 -35
  176. package/dist/subgraphs/renown-read-model/schema.d.ts +1 -0
  177. package/dist/subgraphs/renown-read-model/schema.d.ts.map +1 -0
  178. package/dist/subgraphs/renown-read-model/schema.js +20 -18
  179. package/dist/subgraphs/renown-user/index.d.ts +3 -2
  180. package/dist/subgraphs/renown-user/index.d.ts.map +1 -0
  181. package/dist/subgraphs/renown-user/index.js +2 -2
  182. package/dist/subgraphs/renown-user/resolvers.d.ts +3 -2
  183. package/dist/subgraphs/renown-user/resolvers.d.ts.map +1 -0
  184. package/dist/subgraphs/renown-user/schema.d.ts +1 -0
  185. package/dist/subgraphs/renown-user/schema.d.ts.map +1 -0
  186. package/dist/vite.config.d.ts +3 -0
  187. package/dist/vite.config.d.ts.map +1 -0
  188. package/dist/vite.config.js +13 -0
  189. package/dist/vitest.config.d.ts +1 -0
  190. package/dist/vitest.config.d.ts.map +1 -0
  191. package/package.json +52 -39
@@ -1,4 +1,4 @@
1
- import { baseCreateDocument, baseSaveToFile, baseSaveToFileHandle, baseLoadFromFile, baseLoadFromInput, defaultBaseState, generateId, } from "document-model";
1
+ import { baseCreateDocument, baseSaveToFileHandle, baseLoadFromInput, defaultBaseState, generateId, } from "document-model/core";
2
2
  import { reducer } from "./reducer.js";
3
3
  export const initialGlobalState = {
4
4
  username: null,
@@ -6,39 +6,31 @@ export const initialGlobalState = {
6
6
  userImage: null,
7
7
  };
8
8
  export const initialLocalState = {};
9
- export const createState = (state) => {
10
- return {
11
- ...defaultBaseState(),
12
- global: { ...initialGlobalState, ...(state?.global ?? {}) },
13
- local: { ...initialLocalState, ...(state?.local ?? {}) },
14
- };
15
- };
16
- export const createDocument = (state) => {
17
- const document = baseCreateDocument(createState, state);
18
- document.header.documentType = "powerhouse/renown-user";
19
- // for backwards compatibility, but this is NOT a valid signed document id
20
- document.header.id = generateId();
21
- return document;
22
- };
23
- export const saveToFile = (document, path, name) => {
24
- return baseSaveToFile(document, path, "phru", name);
25
- };
26
- export const saveToFileHandle = (document, input) => {
27
- return baseSaveToFileHandle(document, input);
28
- };
29
- export const loadFromFile = (path) => {
30
- return baseLoadFromFile(path, reducer);
31
- };
32
- export const loadFromInput = (input) => {
33
- return baseLoadFromInput(input, reducer);
34
- };
35
9
  const utils = {
36
10
  fileExtension: "phru",
37
- createState,
38
- createDocument,
39
- saveToFile,
40
- saveToFileHandle,
41
- loadFromFile,
42
- loadFromInput,
43
- };
11
+ createState(state) {
12
+ return {
13
+ ...defaultBaseState(),
14
+ global: { ...initialGlobalState, ...state?.global },
15
+ local: { ...initialLocalState, ...state?.local },
16
+ };
17
+ },
18
+ createDocument(state) {
19
+ const document = baseCreateDocument(utils.createState, state);
20
+ document.header.documentType = "powerhouse/renown-user";
21
+ // for backwards compatibility, but this is NOT a valid signed document id
22
+ document.header.id = generateId();
23
+ return document;
24
+ },
25
+ saveToFileHandle(document, input) {
26
+ return baseSaveToFileHandle(document, input);
27
+ },
28
+ loadFromInput(input) {
29
+ return baseLoadFromInput(input, reducer);
30
+ },
31
+ };
32
+ export const createDocument = utils.createDocument;
33
+ export const createState = utils.createState;
34
+ export const saveToFileHandle = utils.saveToFileHandle;
35
+ export const loadFromInput = utils.loadFromInput;
44
36
  export default utils;
@@ -5,22 +5,29 @@
5
5
  import { type DocumentModelModule } from "document-model";
6
6
  import { reducer } from "./gen/reducer.js";
7
7
  import { documentModel } from "./gen/document-model.js";
8
- import type { RenownUserPHState } from "./gen/ph-factories.js";
8
+ import type { RenownUserPHState } from "./gen/types.js";
9
9
  declare const utils: {
10
10
  fileExtension: string;
11
11
  createState: import("document-model").CreateState<RenownUserPHState>;
12
12
  createDocument: import("document-model").CreateDocument<RenownUserPHState>;
13
- saveToFile: (document: any, path: string, name?: string) => Promise<string>;
14
- saveToFileHandle: (document: any, input: any) => Promise<void>;
15
- loadFromFile: import("document-model").LoadFromFile<RenownUserPHState>;
16
13
  loadFromInput: import("document-model").LoadFromInput<RenownUserPHState>;
14
+ saveToFileHandle: import("document-model").SaveToFileHandle;
17
15
  };
18
16
  declare const actions: {
19
- setUsername: (input: import("./index.js").SetUsernameInput) => import("./gen/actions.js").SetUsernameAction;
20
- setEthAddress: (input: import("./index.js").SetEthAddressInput) => import("./gen/actions.js").SetEthAddressAction;
21
- setUserImage: (input: import("./index.js").SetUserImageInput) => import("./gen/actions.js").SetUserImageAction;
17
+ setUsername: (input: import("./gen/index.js").SetUsernameInput) => import("./gen/index.js").SetUsernameAction;
18
+ setEthAddress: (input: import("./gen/index.js").SetEthAddressInput) => import("./gen/index.js").SetEthAddressAction;
19
+ setUserImage: (input: import("./gen/index.js").SetUserImageInput) => import("./gen/index.js").SetUserImageAction;
20
+ setName: (name: string) => import("document-model").SetNameAction;
21
+ undo: (skip?: number, scope?: string) => import("document-model").UndoAction;
22
+ redo: (count?: number, scope?: string) => import("document-model").RedoAction;
23
+ prune: (start?: number, end?: number, scope?: string) => import("document-model").SchemaPruneAction;
24
+ loadState: <TState extends import("document-model").PHBaseState = import("document-model").PHBaseState>(state: TState & {
25
+ name: string;
26
+ }, operations: number) => import("document-model").LoadStateAction;
27
+ noop: (scope?: string) => import("document-model").NOOPAction;
22
28
  };
23
29
  export declare const module: DocumentModelModule<RenownUserPHState>;
24
30
  export { reducer, actions, utils, documentModel };
25
31
  export * from "./gen/types.js";
26
32
  export * from "./src/utils.js";
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../document-models/renown-user/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,QAAA,MAAM,KAAK;;;;;;CAAkC,CAAC;AAC9C,QAAA,MAAM,OAAO;kBARiB,gDAAuB;oBAI7B,kDACvB;mBAKe,iDAAwB;;eAW2oM,CAAC,eAAe,CAAC;gBAAkE,CAAC,eAAe,CAAC;iBAAmE,CAAC,aAAa,CAAC,eAAe,CAAC;;;;gBAAqS,CAAC;CAbvmN,CAAC;AAEzD,eAAO,MAAM,MAAM,EAAE,mBAAmB,CAAC,iBAAiB,CAKzD,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -2,19 +2,20 @@
2
2
  * This is a scaffold file meant for customization.
3
3
  * Delete the file and run the code generator again to have it reset
4
4
  */
5
- import { actions as BaseActions, } from "document-model";
5
+ import { createState, baseActions, } from "document-model";
6
+ import { defaultBaseState } from "document-model/core";
6
7
  import { actions as RenownUserActions } from "./gen/index.js";
7
8
  import { reducer } from "./gen/reducer.js";
8
9
  import { documentModel } from "./gen/document-model.js";
9
10
  import genUtils from "./gen/utils.js";
10
11
  import * as customUtils from "./src/utils.js";
11
12
  const utils = { ...genUtils, ...customUtils };
12
- const actions = { ...BaseActions, ...RenownUserActions };
13
+ const actions = { ...baseActions, ...RenownUserActions };
13
14
  export const module = {
14
15
  reducer,
15
16
  actions,
16
17
  utils,
17
- documentModel,
18
+ documentModel: createState(defaultBaseState(), documentModel),
18
19
  };
19
20
  export { reducer, actions, utils, documentModel };
20
21
  export * from "./gen/types.js";
@@ -1,2 +1,3 @@
1
1
  import type { RenownUserProfileOperations } from "../../gen/profile/operations.js";
2
2
  export declare const reducer: RenownUserProfileOperations;
3
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../../document-models/renown-user/src/reducers/profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAEnF,eAAO,MAAM,OAAO,EAAE,2BAUrB,CAAC"}
@@ -3,3 +3,4 @@
3
3
  * - change it by adding new tests or modifying the existing ones
4
4
  */
5
5
  export {};
6
+ //# sourceMappingURL=document-model.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/renown-user/src/tests/document-model.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -2,7 +2,7 @@
2
2
  * This is a scaffold file meant for customization:
3
3
  * - change it by adding new tests or modifying the existing ones
4
4
  */
5
- import { describe, it, expect } from "vitest";
5
+ import { describe, it, expect, beforeEach } from "vitest";
6
6
  import utils, { initialGlobalState, initialLocalState, } from "../../gen/utils.js";
7
7
  describe("Renown User Document Model", () => {
8
8
  it("should create a new Renown User document", () => {
@@ -3,3 +3,4 @@
3
3
  * - change it by adding new tests or modifying the existing ones
4
4
  */
5
5
  export {};
6
+ //# sourceMappingURL=profile.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/renown-user/src/tests/profile.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../document-models/renown-user/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { RenownCredentialDocument } from "../../document-models/renown-credential/index.js";
2
2
  export declare function useRenownCredentialDocument(documentId: string | null | undefined): never[] | [RenownCredentialDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-credential/gen/actions.js").RenownCredentialManagerAction>];
3
3
  export declare function useSelectedRenownCredentialDocument(): never[] | [RenownCredentialDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-credential/gen/actions.js").RenownCredentialManagerAction>];
4
+ //# sourceMappingURL=useRenownCredentialDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRenownCredentialDocument.d.ts","sourceRoot":"","sources":["../../../editors/hooks/useRenownCredentialDocument.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,kDAAkD,CAAC;AAE1D,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,mMAKhF;AAED,wBAAgB,mCAAmC,oMAGlD"}
@@ -1,3 +1,4 @@
1
1
  import type { RenownUserDocument } from "../../document-models/renown-user/index.js";
2
2
  export declare function useRenownUserDocument(documentId: string | null | undefined): never[] | [RenownUserDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-user/gen/actions.js").RenownUserProfileAction>];
3
3
  export declare function useSelectedRenownUserDocument(): never[] | [RenownUserDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-user/gen/actions.js").RenownUserProfileAction>];
4
+ //# sourceMappingURL=useRenownUserDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRenownUserDocument.d.ts","sourceRoot":"","sources":["../../../editors/hooks/useRenownUserDocument.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,4CAA4C,CAAC;AAEpD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iLAK1E;AAED,wBAAgB,6BAA6B,kLAG5C"}
@@ -1,3 +1,4 @@
1
1
  export {};
2
2
  export { module as RenownUserEditor } from "./renown-user-editor/index.js";
3
3
  export { module as RenownCredentialEditor } from "./renown-credential-editor/index.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AACV,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,sBAAsB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,2 +1,3 @@
1
+ export {};
1
2
  export { module as RenownUserEditor } from "./renown-user-editor/index.js";
2
3
  export { module as RenownCredentialEditor } from "./renown-credential-editor/index.js";
@@ -1,3 +1,4 @@
1
1
  import type { EditorProps } from "document-model";
2
2
  export type IProps = EditorProps;
3
3
  export declare function Editor(props: IProps): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/renown-credential-editor/editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQlD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAEjC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,2CA4VnC"}
@@ -1,55 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useSelectedDocument } from "@powerhousedao/reactor-browser";
3
- import { useCallback, useState } from "react";
3
+ import { useCallback } from "react";
4
4
  import { actions, } from "../../document-models/renown-credential/index.js";
5
- import { Form, StringField, TextareaField, Button, } from "@powerhousedao/document-engineering";
5
+ import { Button } from "@powerhousedao/document-engineering";
6
6
  export function Editor(props) {
7
7
  const [document, dispatch] = useSelectedDocument();
8
8
  if (!document) {
9
9
  return _jsx("div", { children: "Loading..." });
10
10
  }
11
11
  const typedDocument = document;
12
- // Local form state
13
- const [isInitializing, setIsInitializing] = useState(false);
14
- const [isEditingSubject, setIsEditingSubject] = useState(false);
15
- const [isSettingJwt, setIsSettingJwt] = useState(false);
16
- const [isSettingStatus, setIsSettingStatus] = useState(false);
17
12
  const { state: { global }, } = typedDocument;
18
- const { vcPayload, context, id: credentialId, type, issuer, issuanceDate, credentialSubject, expirationDate, credentialStatus, jwt, revoked, revokedAt, revocationReason, } = global;
19
- const isInitialized = issuer && issuanceDate;
20
- // Initialize credential from JWT
21
- const handleInit = useCallback((values) => {
22
- try {
23
- dispatch(actions.init({
24
- jwt: values.jwt,
25
- }));
26
- setIsInitializing(false);
27
- }
28
- catch (error) {
29
- console.error("Error initializing credential:", error);
30
- }
31
- }, [dispatch]);
32
- // Update credential subject
33
- const handleUpdateSubject = useCallback((newSubject) => {
34
- try {
35
- JSON.parse(newSubject); // Validate JSON
36
- dispatch(actions.updateCredentialSubject({ credentialSubject: newSubject }));
37
- setIsEditingSubject(false);
38
- }
39
- catch (error) {
40
- console.error("Error updating credential subject:", error);
41
- }
42
- }, [dispatch]);
43
- // Set JWT
44
- const handleSetJwt = useCallback((newJwt) => {
45
- dispatch(actions.setJwt({ jwt: newJwt }));
46
- setIsSettingJwt(false);
47
- }, [dispatch]);
48
- // Set credential status
49
- const handleSetStatus = useCallback((values) => {
50
- dispatch(actions.setCredentialStatus(values));
51
- setIsSettingStatus(false);
52
- }, [dispatch]);
13
+ const { context, id: credentialId, type, issuer, issuanceDate, credentialSubject, credentialSchema, credentialStatus, expirationDate, proof, revoked, revokedAt, revocationReason, } = global;
14
+ const isInitialized = issuer?.id && issuanceDate;
53
15
  // Revoke credential
54
16
  const handleRevoke = useCallback((reason) => {
55
17
  if (window.confirm("Are you sure you want to revoke this credential?")) {
@@ -59,40 +21,14 @@ export function Editor(props) {
59
21
  }));
60
22
  }
61
23
  }, [dispatch]);
62
- return (_jsxs("div", { className: "html-defaults-container min-h-screen bg-gray-50", children: [_jsx("div", { className: "bg-white border-b border-gray-200", children: _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8", children: _jsx("div", { className: "py-8", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("h1", { className: "text-3xl font-bold text-gray-900", children: "Verifiable Credential" }), revoked && (_jsx("span", { className: "inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-red-100 text-red-800", children: "Revoked" })), !isInitialized && (_jsx("span", { className: "inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-yellow-100 text-yellow-800", children: "Not Initialized" }))] }), issuer && (_jsxs("p", { className: "text-gray-600 mt-2 text-sm", children: ["Issued by: ", _jsx("span", { className: "font-mono", children: issuer })] }))] }), isInitialized && !revoked && (_jsx(Button, { color: "danger", onClick: () => {
24
+ return (_jsxs("div", { className: "html-defaults-container min-h-screen bg-gray-50", children: [_jsx("div", { className: "bg-white border-b border-gray-200", children: _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8", children: _jsx("div", { className: "py-8", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("h1", { className: "text-3xl font-bold text-gray-900", children: "EIP-712 Signed Credential" }), revoked && (_jsx("span", { className: "inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-red-100 text-red-800", children: "Revoked" })), !isInitialized && (_jsx("span", { className: "inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-yellow-100 text-yellow-800", children: "Not Initialized" }))] }), issuer?.id && (_jsxs("p", { className: "text-gray-600 mt-2 text-sm", children: ["Issued by: ", _jsx("span", { className: "font-mono", children: issuer.id })] }))] }), isInitialized && !revoked && (_jsx(Button, { color: "danger", onClick: () => {
63
25
  const reason = window.prompt("Enter revocation reason (optional):");
64
26
  if (reason !== null) {
65
27
  handleRevoke(reason || undefined);
66
28
  }
67
- }, children: "Revoke Credential" }))] }) }) }) }), _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8", children: _jsx("div", { className: "grid grid-cols-1 gap-8", children: !isInitialized ? (
68
- /* Initialize Section */
69
- _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsxs("div", { className: "px-6 py-5 bg-blue-50", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Initialize Credential" }), _jsx("p", { className: "text-sm text-gray-600 mt-1", children: "Create a new W3C Verifiable Credential" })] }), _jsx("div", { className: "p-6", children: _jsx(Form, { onSubmit: (e) => {
70
- e.preventDefault();
71
- const formData = new FormData(e.target);
72
- handleInit({
73
- jwt: formData.get("jwt"),
74
- });
75
- }, children: _jsxs("div", { className: "space-y-6", children: [_jsx(TextareaField, { name: "jwt", label: "JWT (JSON Web Token)", required: true, placeholder: "eyJhbGciOiJFUzI1NksifQ.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6MTIzIn19LCJzdWIiOiJkaWQ6ZXhhbXBsZToxMjMiLCJuYmYiOjE3MDkyMDAwMDAsImlzcyI6ImRpZDpleGFtcGxlOmlzc3VlciJ9.signature", description: "Paste the signed JWT representing a W3C Verifiable Credential. The JWT should be cryptographically verified before submitting.", rows: 6 }), _jsx("div", { className: "flex justify-end pt-4", children: _jsx(Button, { type: "submit", children: "Initialize Credential from JWT" }) })] }) }) })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Information" }) }), _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Credential ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialId || (_jsx("span", { className: "text-gray-400 italic", children: "Not set" })) })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuer" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: issuer })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuance Date" }), _jsx("p", { className: "text-sm text-gray-900", children: issuanceDate
29
+ }, children: "Revoke Credential" }))] }) }) }) }), _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8", children: _jsx("div", { className: "grid grid-cols-1 gap-8", children: !isInitialized ? (_jsx("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden p-8", children: _jsxs("p", { className: "text-gray-500 text-center", children: ["This credential has not been initialized yet.", _jsx("br", {}), "Use the API or mutations to create an EIP-712 signed credential."] }) })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Information" }) }), _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Credential ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialId })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuer ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: issuer?.id })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuer Ethereum Address" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: issuer?.ethereumAddress })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuance Date" }), _jsx("p", { className: "text-sm text-gray-900", children: issuanceDate
76
30
  ? new Date(issuanceDate).toLocaleString()
77
- : "N/A" })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Expiration Date" }), _jsx("p", { className: "text-sm text-gray-900", children: expirationDate ? (new Date(expirationDate).toLocaleString()) : (_jsx("span", { className: "text-gray-400 italic", children: "No expiration" })) })] })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Context" }), _jsx("div", { className: "flex flex-wrap gap-2", children: context && context.map((ctx, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-blue-100 text-blue-800 rounded", children: ctx }, i))) })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("div", { className: "flex flex-wrap gap-2", children: type && type.map((t, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-green-100 text-green-800 rounded", children: t }, i))) })] })] })] }), vcPayload && (_jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsxs("div", { className: "px-6 py-5 bg-purple-50", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Complete Verifiable Credential" }), _jsx("p", { className: "text-sm text-gray-600 mt-1", children: "Full VC payload from JWT - supports any W3C VC structure" })] }), _jsx("div", { className: "p-6", children: _jsx("pre", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200 overflow-auto text-sm max-h-96", children: JSON.stringify(JSON.parse(vcPayload), null, 2) }) })] })), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Subject" }), !revoked && !isEditingSubject && (_jsx(Button, { color: "light", onClick: () => setIsEditingSubject(true), children: "Edit Subject" }))] }) }), _jsx("div", { className: "p-6", children: isEditingSubject ? (_jsx(Form, { onSubmit: (e) => {
78
- e.preventDefault();
79
- const formData = new FormData(e.target);
80
- handleUpdateSubject(formData.get("credentialSubject"));
81
- }, children: _jsxs("div", { className: "space-y-4", children: [_jsx(TextareaField, { name: "credentialSubject", label: "Credential Subject (JSON)", defaultValue: credentialSubject || "", required: true, rows: 8, description: "JSON object containing the claims about the subject" }), _jsxs("div", { className: "flex justify-end space-x-3", children: [_jsx(Button, { color: "light", onClick: () => setIsEditingSubject(false), children: "Cancel" }), _jsx(Button, { type: "submit", children: "Update Subject" })] })] }) })) : (_jsx("pre", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200 overflow-auto text-sm", children: JSON.stringify(JSON.parse(credentialSubject || "{}"), null, 2) })) })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "JWT Representation" }), !isSettingJwt && (_jsx(Button, { color: "light", onClick: () => setIsSettingJwt(true), children: jwt ? "Update JWT" : "Set JWT" }))] }) }), _jsx("div", { className: "p-6", children: isSettingJwt ? (_jsx(Form, { onSubmit: (e) => {
82
- e.preventDefault();
83
- const formData = new FormData(e.target);
84
- handleSetJwt(formData.get("jwt"));
85
- }, children: _jsxs("div", { className: "space-y-4", children: [_jsx(TextareaField, { name: "jwt", label: "JWT Token", defaultValue: jwt || "", required: true, rows: 6, description: "Signed JWT representation of the credential" }), _jsxs("div", { className: "flex justify-end space-x-3", children: [_jsx(Button, { color: "light", onClick: () => setIsSettingJwt(false), children: "Cancel" }), _jsx(Button, { type: "submit", children: "Set JWT" })] })] }) })) : jwt ? (_jsx(_Fragment, { children: _jsx("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: _jsx("p", { className: "text-xs font-mono text-gray-900 break-all", children: jwt }) }) })) : (_jsx("p", { className: "text-gray-500 italic", children: "No JWT set" })) })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Status (StatusList2021)" }), !credentialStatus && !isSettingStatus && (_jsx(Button, { color: "light", onClick: () => setIsSettingStatus(true), children: "Set Status" }))] }) }), _jsx("div", { className: "p-6", children: isSettingStatus ? (_jsx(Form, { onSubmit: (e) => {
86
- e.preventDefault();
87
- const formData = new FormData(e.target);
88
- handleSetStatus({
89
- statusId: formData.get("statusId"),
90
- statusType: formData.get("statusType"),
91
- statusPurpose: formData.get("statusPurpose"),
92
- statusListIndex: formData.get("statusListIndex"),
93
- statusListCredential: formData.get("statusListCredential"),
94
- });
95
- }, children: _jsxs("div", { className: "space-y-4", children: [_jsx(StringField, { name: "statusId", label: "Status ID", required: true, placeholder: "https://example.com/status/1" }), _jsx(StringField, { name: "statusType", label: "Status Type", required: true, placeholder: "StatusList2021Entry" }), _jsx(StringField, { name: "statusPurpose", label: "Status Purpose", required: true, placeholder: "revocation", description: "Either 'revocation' or 'suspension'" }), _jsx(StringField, { name: "statusListIndex", label: "Status List Index", required: true, placeholder: "12345" }), _jsx(TextareaField, { name: "statusListCredential", label: "Status List Credential URL", required: true, placeholder: "https://example.com/status-lists/1", rows: 2 }), _jsxs("div", { className: "flex justify-end space-x-3", children: [_jsx(Button, { color: "light", onClick: () => setIsSettingStatus(false), children: "Cancel" }), _jsx(Button, { type: "submit", children: "Set Status" })] })] }) })) : credentialStatus ? (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Status ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialStatus.id })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialStatus.type })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Purpose" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialStatus.statusPurpose })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "List Index" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialStatus.statusListIndex })] }), _jsxs("div", { className: "col-span-2 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Status List Credential" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialStatus.statusListCredential })] })] })) : (_jsx("p", { className: "text-gray-500 italic", children: "No credential status set" })) })] }), revoked && (_jsxs("div", { className: "bg-red-50 rounded-xl shadow-md border border-red-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-red-100", children: _jsx("h2", { className: "text-2xl font-bold text-red-900", children: "Revocation Information" }) }), _jsx("div", { className: "p-6", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "bg-white p-4 rounded-lg border border-red-200", children: [_jsx("label", { className: "block text-xs font-semibold text-red-600 uppercase tracking-wider mb-2", children: "Revoked At" }), _jsx("p", { className: "text-sm text-gray-900", children: revokedAt
31
+ : "N/A" })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Expiration Date" }), _jsx("p", { className: "text-sm text-gray-900", children: expirationDate ? (new Date(expirationDate).toLocaleString()) : (_jsx("span", { className: "text-gray-400 italic", children: "No expiration" })) })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Schema ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialSchema?.id })] })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Context" }), _jsx("div", { className: "flex flex-wrap gap-2", children: context && context.map((ctx, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-blue-100 text-blue-800 rounded", children: ctx }, i))) })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("div", { className: "flex flex-wrap gap-2", children: type && type.map((t, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-green-100 text-green-800 rounded", children: t }, i))) })] })] })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Subject" }) }), _jsx("div", { className: "p-6", children: _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Subject ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialSubject?.id || (_jsx("span", { className: "text-gray-400 italic", children: "Not set" })) })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "App" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialSubject?.app })] })] }) })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-purple-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "EIP-712 Proof" }) }), _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Verification Method" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: proof?.verificationMethod })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Ethereum Address" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: proof?.ethereumAddress })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Created" }), _jsx("p", { className: "text-sm text-gray-900", children: proof?.created ? new Date(proof.created).toLocaleString() : "N/A" })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("p", { className: "text-sm text-gray-900", children: proof?.type })] })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Signature (EIP-712)" }), _jsx("p", { className: "text-xs font-mono text-gray-900 break-all", children: proof?.proofValue })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "EIP-712 Domain" }), _jsx("pre", { className: "text-xs text-gray-900 overflow-auto", children: JSON.stringify(proof?.eip712?.domain, null, 2) })] })] })] }), revoked && (_jsxs("div", { className: "bg-red-50 rounded-xl shadow-md border border-red-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-red-100", children: _jsx("h2", { className: "text-2xl font-bold text-red-900", children: "Revocation Information" }) }), _jsx("div", { className: "p-6", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "bg-white p-4 rounded-lg border border-red-200", children: [_jsx("label", { className: "block text-xs font-semibold text-red-600 uppercase tracking-wider mb-2", children: "Revoked At" }), _jsx("p", { className: "text-sm text-gray-900", children: revokedAt
96
32
  ? new Date(revokedAt).toLocaleString()
97
33
  : "N/A" })] }), revocationReason && (_jsxs("div", { className: "bg-white p-4 rounded-lg border border-red-200", children: [_jsx("label", { className: "block text-xs font-semibold text-red-600 uppercase tracking-wider mb-2", children: "Revocation Reason" }), _jsx("p", { className: "text-sm text-gray-900", children: revocationReason })] }))] }) })] }))] })) }) })] }));
98
34
  }
@@ -1,2 +1,3 @@
1
1
  import type { EditorModule } from "document-model";
2
2
  export declare const module: EditorModule;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/renown-credential-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YAOpB,CAAC"}
@@ -4,8 +4,6 @@ export const module = {
4
4
  documentTypes: ["powerhouse/renown-credential"],
5
5
  config: {
6
6
  id: "renown-credential-editor",
7
- disableExternalControls: true,
8
- documentToolbarEnabled: true,
9
- showSwitchboardLink: true,
7
+ name: "Renown Credential Editor",
10
8
  },
11
9
  };
@@ -1,3 +1,4 @@
1
1
  import type { EditorProps } from "document-model";
2
2
  export type IProps = EditorProps;
3
3
  export declare function Editor(props: IProps): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/renown-user-editor/editor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAalD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAEjC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,2CA8VnC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useSelectedDocument, } from "@powerhousedao/reactor-browser";
2
+ import { useDocumentById, useSelectedDocument, } from "@powerhousedao/reactor-browser";
3
3
  import { useCallback, useState } from "react";
4
4
  import { actions, } from "../../document-models/renown-user/index.js";
5
5
  import { Form, StringField, UrlField, Button, } from "@powerhousedao/document-engineering";
@@ -1,2 +1,3 @@
1
1
  import type { EditorModule } from "document-model";
2
2
  export declare const module: EditorModule;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/renown-user-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YAOpB,CAAC"}
@@ -4,8 +4,6 @@ export const module = {
4
4
  documentTypes: ["powerhouse/renown-user"],
5
5
  config: {
6
6
  id: "renown-user-editor",
7
- disableExternalControls: true,
8
- documentToolbarEnabled: true,
9
- showSwitchboardLink: true,
7
+ name: "Renown User Editor",
10
8
  },
11
9
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Manifest } from "document-model";
2
2
  export declare const manifest: Manifest;
3
- export declare const documentModels: (import("document-model").DocumentModelModule<import("./document-models/renown-user/gen").RenownUserPHState> | import("document-model").DocumentModelModule<import("./document-models/renown-credential/gen").RenownCredentialPHState>)[];
3
+ export declare const documentModels: (import("document-model").DocumentModelModule<import("./document-models/renown-user/index.js").RenownUserPHState> | import("document-model").DocumentModelModule<import("./document-models/renown-credential/index.js").RenownCredentialPHState>)[];
4
4
  export declare const editors: import("document-model").EditorModule[];
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,QAAQ,EAAE,QAAuB,CAAC;AAC/C,eAAO,MAAM,cAAc,qPAAuC,CAAC;AACnE,eAAO,MAAM,OAAO,yCAAgC,CAAC"}
@@ -2,6 +2,8 @@
2
2
  * This file aggregates all processor factories
3
3
  * Auto-generated by codegen - DO NOT EDIT MANUALLY
4
4
  */
5
- import { type ProcessorRecord, type IProcessorHostModule } from "document-drive/processors/types";
5
+ import { type ProcessorRecord, type IProcessorHostModule } from "document-drive";
6
6
  import { type PHDocumentHeader } from "document-model";
7
- export declare const processorFactory: (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
7
+ import { type IProcessorHostModuleWithReactor } from "./renown-credential/factory.js";
8
+ export declare const processorFactory: (module: IProcessorHostModule | IProcessorHostModuleWithReactor) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
9
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../processors/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAE1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,oBAAoB,GAAG,+BAA+B,MAgBhD,aAAa,gBAAgB,KAAG,OAAO,CAAC,eAAe,EAAE,CAUxE,CAAC"}
@@ -2,13 +2,17 @@
2
2
  * This file aggregates all processor factories
3
3
  * Auto-generated by codegen - DO NOT EDIT MANUALLY
4
4
  */
5
+ import {} from "document-drive";
6
+ import {} from "document-model";
5
7
  // Import processor factories here as they are generated
6
8
  import { renownUserProcessorFactory } from "./renown-user/factory.js";
9
+ import { renownCredentialProcessorFactory, } from "./renown-credential/factory.js";
7
10
  export const processorFactory = (module) => {
8
11
  // Initialize all processor factories once with the module
9
12
  const factories = [];
10
13
  // Add processors here as they are generated
11
14
  factories.push(renownUserProcessorFactory(module));
15
+ factories.push(renownCredentialProcessorFactory(module));
12
16
  // Return the inner function that will be called for each drive
13
17
  return async (driveHeader) => {
14
18
  const processors = [];
@@ -2,4 +2,6 @@ export {};
2
2
  export * as RenownUserProcessor from "./renown-user/index.js";
3
3
  export { renownUserProcessorFactory } from "./renown-user/factory.js";
4
4
  export * as RenownCredentialProcessor from "./renown-credential/index.js";
5
+ export { renownCredentialProcessorFactory } from "./renown-credential/factory.js";
5
6
  export * from "./factory.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../processors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AACV,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,yBAAyB,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClF,cAAc,cAAc,CAAC"}
@@ -1,4 +1,6 @@
1
+ export {};
1
2
  export * as RenownUserProcessor from "./renown-user/index.js";
2
3
  export { renownUserProcessorFactory } from "./renown-user/factory.js";
3
4
  export * as RenownCredentialProcessor from "./renown-credential/index.js";
5
+ export { renownCredentialProcessorFactory } from "./renown-credential/factory.js";
4
6
  export * from "./factory.js";
@@ -0,0 +1,8 @@
1
+ import { type ProcessorRecord, type IProcessorHostModule } from "document-drive";
2
+ import { type PHDocumentHeader } from "document-model";
3
+ import { type IReactor } from "./index.js";
4
+ export interface IProcessorHostModuleWithReactor extends IProcessorHostModule {
5
+ reactor?: IReactor;
6
+ }
7
+ export declare const renownCredentialProcessorFactory: (module: IProcessorHostModuleWithReactor) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
8
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IAC3E,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,gCAAgC,GAC1C,QAAQ,+BAA+B,MACjC,aAAa,gBAAgB,KAAG,OAAO,CAAC,eAAe,EAAE,CAgC/D,CAAC"}
@@ -0,0 +1,25 @@
1
+ import {} from "document-drive";
2
+ import {} from "document-drive";
3
+ import {} from "document-model";
4
+ import { RenownCredentialProcessor } from "./index.js";
5
+ export const renownCredentialProcessorFactory = (module) => async (driveHeader) => {
6
+ // Create a namespace for the processor and the provided drive id
7
+ const namespace = RenownCredentialProcessor.getNamespace("renown-credential");
8
+ // Create a namespaced db for the processor
9
+ const store = await module.relationalDb.createNamespace(namespace);
10
+ // Create a filter for the processor
11
+ const filter = {
12
+ branch: ["main"],
13
+ documentId: ["*"],
14
+ documentType: ["powerhouse/renown-credential"],
15
+ scope: ["global"],
16
+ };
17
+ // Create the processor with reactor support
18
+ const processor = new RenownCredentialProcessor(namespace, filter, store, module.reactor);
19
+ return [
20
+ {
21
+ processor,
22
+ filter,
23
+ },
24
+ ];
25
+ };
@@ -1,9 +1,15 @@
1
- import { RelationalDbProcessor } from "document-drive/processors/relational";
2
- import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
1
+ import { RelationalDbProcessor, type RelationalDbProcessorFilter, type IRelationalDb } from "document-drive";
2
+ import { type InternalTransmitterUpdate } from "document-drive";
3
3
  import { type DB } from "./schema.js";
4
+ export interface IReactor {
5
+ deleteDocument(documentId: string): Promise<boolean>;
6
+ }
4
7
  export declare class RenownCredentialProcessor extends RelationalDbProcessor<DB> {
8
+ private reactor?;
9
+ constructor(namespace: string, filter: RelationalDbProcessorFilter, relationalDb: IRelationalDb<DB>, reactor?: IReactor);
5
10
  static getNamespace(driveId: string): string;
6
11
  initAndUpgrade(): Promise<void>;
7
12
  onStrands(strands: InternalTransmitterUpdate[]): Promise<void>;
8
13
  onDisconnect(): Promise<void>;
9
14
  }
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,QAAQ;IACvB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,qBAAa,yBAA0B,SAAQ,qBAAqB,CAAC,EAAE,CAAC;IACtE,OAAO,CAAC,OAAO,CAAC,CAAW;gBAGzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,2BAA2B,EACnC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC,EAC/B,OAAO,CAAC,EAAE,QAAQ;WASJ,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAStC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,SAAS,CACtB,OAAO,EAAE,yBAAyB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAmNV,YAAY;CACnB"}