@powerhousedao/renown-package 0.0.7 → 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 -73
  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 +9 -23
  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 +19 -38
  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 -15
  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 -117
  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 -35
  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 -47
  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 -121
  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 -36
  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 -71
  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 -22
  144. package/dist/processors/renown-credential/schema.d.ts +19 -13
  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 -17106
  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 +97 -50
  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 -36
  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 -19
  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,14 +1,27 @@
1
- import { RelationalDbProcessor } from "document-drive/processors/relational";
1
+ import { RelationalDbProcessor, } from "document-drive";
2
+ import {} from "document-drive";
2
3
  import { up } from "./migrations.js";
4
+ import {} from "./schema.js";
3
5
  export class RenownCredentialProcessor extends RelationalDbProcessor {
6
+ reactor;
7
+ constructor(namespace, filter, relationalDb, reactor) {
8
+ super(namespace, filter, relationalDb);
9
+ this.reactor = reactor;
10
+ console.log(`[RenownCredentialProcessor] Constructor called - namespace: ${namespace}, has reactor: ${!!reactor}`);
11
+ }
4
12
  static getNamespace(driveId) {
5
13
  // Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`
6
- return super.getNamespace(driveId);
14
+ const namespace = super.getNamespace(driveId);
15
+ console.log(`[RenownCredentialProcessor] getNamespace called - driveId: ${driveId}, namespace: ${namespace}`);
16
+ return namespace;
7
17
  }
8
18
  async initAndUpgrade() {
19
+ console.log(`[RenownCredentialProcessor] initAndUpgrade called - running migrations`);
9
20
  await up(this.relationalDb);
21
+ console.log(`[RenownCredentialProcessor] initAndUpgrade completed`);
10
22
  }
11
23
  async onStrands(strands) {
24
+ console.log(`[RenownCredentialProcessor] onStrands called with ${strands.length} strands`);
12
25
  if (strands.length === 0) {
13
26
  return;
14
27
  }
@@ -17,6 +30,10 @@ export class RenownCredentialProcessor extends RelationalDbProcessor {
17
30
  continue;
18
31
  }
19
32
  const documentId = strand.documentId;
33
+ console.log(`[RenownCredentialProcessor] Processing document ${documentId} with ${strand.operations.length} operations`);
34
+ console.log(`[RenownCredentialProcessor] Strand keys:`, Object.keys(strand));
35
+ console.log(`[RenownCredentialProcessor] Has state:`, !!strand.state);
36
+ console.log(`[RenownCredentialProcessor] State type:`, typeof strand.state, strand.state);
20
37
  // Ensure the Credential exists in the database
21
38
  const existingCredential = await this.relationalDb
22
39
  .selectFrom("renown_credential")
@@ -25,102 +42,73 @@ export class RenownCredentialProcessor extends RelationalDbProcessor {
25
42
  .executeTakeFirst();
26
43
  // Process each operation
27
44
  for (const operation of strand.operations) {
45
+ console.log(`[RenownCredentialProcessor] Processing operation: ${operation.action.type}`);
28
46
  switch (operation.action.type) {
29
47
  case "INIT": {
30
- // INIT operation now only receives JWT, all fields are extracted by the reducer
31
- // Access the document state to get the extracted fields
32
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
33
- const state = (strand.state)?.global;
48
+ console.log(`[RenownCredentialProcessor] INIT - documentId: ${documentId}, existingCredential: ${!!existingCredential}`);
49
+ // INIT operation receives full EIP-712 credential structure
50
+ console.log(`[RenownCredentialProcessor] INIT - Processing state`);
51
+ // State is directly the global state, not wrapped in a .global property
52
+ const state = strand.state;
53
+ console.log(`[RenownCredentialProcessor] INIT - Credential ID:`, state?.id);
54
+ console.log(`[RenownCredentialProcessor] INIT - Issuer:`, state?.issuer?.id);
34
55
  if (state && !existingCredential) {
56
+ console.log(`[RenownCredentialProcessor] INIT - Inserting credential: issuer=${state.issuer?.id}, credentialId=${state.id}`);
35
57
  await this.relationalDb
36
58
  .insertInto("renown_credential")
37
59
  .values({
38
60
  document_id: documentId,
39
- vc_payload: state.vcPayload || null,
40
- context: state.context ? JSON.stringify(state.context) : null,
41
- credential_id: state.id || null,
42
- type: state.type ? JSON.stringify(state.type) : null,
43
- issuer: state.issuer || null,
61
+ context: state.context ? JSON.stringify(state.context) : "[]",
62
+ credential_id: state.id || "",
63
+ type: state.type ? JSON.stringify(state.type) : "[]",
64
+ issuer_id: state.issuer?.id || "",
65
+ issuer_ethereum_address: state.issuer?.ethereumAddress || "",
44
66
  issuance_date: state.issuanceDate
45
67
  ? new Date(state.issuanceDate)
46
- : null,
47
- credential_subject: state.credentialSubject || null,
68
+ : new Date(),
48
69
  expiration_date: state.expirationDate
49
70
  ? new Date(state.expirationDate)
50
71
  : null,
72
+ credential_subject_id: state.credentialSubject?.id || null,
73
+ credential_subject_app: state.credentialSubject?.app || "",
51
74
  credential_status_id: state.credentialStatus?.id || null,
52
75
  credential_status_type: state.credentialStatus?.type || null,
53
- credential_status_purpose: state.credentialStatus?.statusPurpose || null,
54
- credential_status_list_index: state.credentialStatus?.statusListIndex || null,
55
- credential_status_list_credential: state.credentialStatus?.statusListCredential || null,
56
- jwt: state.jwt || null,
57
- jwt_payload: state.jwtPayload || null,
58
- jwt_verified: state.jwtVerified || false,
76
+ credential_schema_id: state.credentialSchema?.id || "",
77
+ credential_schema_type: state.credentialSchema?.type || "",
78
+ proof_verification_method: state.proof?.verificationMethod || "",
79
+ proof_ethereum_address: state.proof?.ethereumAddress || "",
80
+ proof_created: state.proof?.created
81
+ ? new Date(state.proof.created)
82
+ : new Date(),
83
+ proof_purpose: state.proof?.proofPurpose || "",
84
+ proof_type: state.proof?.type || "",
85
+ proof_value: state.proof?.proofValue || "",
86
+ proof_eip712_domain: state.proof?.eip712?.domain
87
+ ? JSON.stringify(state.proof.eip712.domain)
88
+ : "{}",
89
+ proof_eip712_primary_type: state.proof?.eip712?.primaryType || "",
59
90
  revoked: state.revoked || false,
60
- revoked_at: state.revokedAt ? new Date(state.revokedAt) : null,
91
+ revoked_at: state.revokedAt
92
+ ? new Date(state.revokedAt)
93
+ : null,
61
94
  revocation_reason: state.revocationReason || null,
62
95
  created_at: new Date(),
63
96
  updated_at: new Date(),
64
97
  })
65
98
  .execute();
99
+ console.log(`[RenownCredentialProcessor] INIT - Credential inserted successfully`);
66
100
  }
67
- break;
68
- }
69
- case "UPDATE_CREDENTIAL_SUBJECT": {
70
- // Access the updated state to get the synced vcPayload
71
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
72
- const state = (strand.state)?.global;
73
- if (state && existingCredential) {
74
- await this.relationalDb
75
- .updateTable("renown_credential")
76
- .set({
77
- credential_subject: state.credentialSubject || null,
78
- vc_payload: state.vcPayload || null, // Sync vcPayload with updated credentialSubject
79
- jwt: null, // Clear JWT when content changes
80
- jwt_payload: null, // Also clear JWT payload
81
- jwt_verified: false, // Mark as unverified since content changed
82
- updated_at: new Date(),
83
- })
84
- .where("document_id", "=", documentId)
85
- .execute();
86
- }
87
- break;
88
- }
89
- case "SET_JWT": {
90
- const input = operation.action.input;
91
- if (input && existingCredential) {
92
- await this.relationalDb
93
- .updateTable("renown_credential")
94
- .set({
95
- jwt: input.jwt,
96
- updated_at: new Date(),
97
- })
98
- .where("document_id", "=", documentId)
99
- .execute();
100
- }
101
- break;
102
- }
103
- case "SET_CREDENTIAL_STATUS": {
104
- const input = operation.action.input;
105
- if (input && existingCredential) {
106
- await this.relationalDb
107
- .updateTable("renown_credential")
108
- .set({
109
- credential_status_id: input.statusId,
110
- credential_status_type: input.statusType,
111
- credential_status_purpose: input.statusPurpose,
112
- credential_status_list_index: input.statusListIndex,
113
- credential_status_list_credential: input.statusListCredential,
114
- updated_at: new Date(),
115
- })
116
- .where("document_id", "=", documentId)
117
- .execute();
101
+ else {
102
+ console.log(`[RenownCredentialProcessor] INIT - Skipped: state=${!!state}, existingCredential=${!!existingCredential}`);
118
103
  }
119
104
  break;
120
105
  }
121
106
  case "REVOKE": {
107
+ console.log(`[RenownCredentialProcessor] REVOKE - documentId: ${documentId}`);
122
108
  const input = operation.action.input;
123
109
  if (input && existingCredential) {
110
+ console.log(`[RenownCredentialProcessor] REVOKE - Marking as revoked and deleting document`);
111
+ // Update the database to mark as revoked
124
112
  await this.relationalDb
125
113
  .updateTable("renown_credential")
126
114
  .set({
@@ -131,6 +119,24 @@ export class RenownCredentialProcessor extends RelationalDbProcessor {
131
119
  })
132
120
  .where("document_id", "=", documentId)
133
121
  .execute();
122
+ // Delete the credential document using the reactor
123
+ if (this.reactor) {
124
+ try {
125
+ console.log(`[RenownCredentialProcessor] REVOKE - Calling reactor.deleteDocument`);
126
+ await this.reactor.deleteDocument(documentId);
127
+ console.log(`[RenownCredentialProcessor] REVOKE - Document deleted successfully`);
128
+ }
129
+ catch (error) {
130
+ // Log error but don't throw - database already updated
131
+ console.error(`[RenownCredentialProcessor] REVOKE - Failed to delete revoked credential document ${documentId}:`, error);
132
+ }
133
+ }
134
+ else {
135
+ console.log(`[RenownCredentialProcessor] REVOKE - No reactor available, skipping document deletion`);
136
+ }
137
+ }
138
+ else {
139
+ console.log(`[RenownCredentialProcessor] REVOKE - Skipped: input=${!!input}, existingCredential=${!!existingCredential}`);
134
140
  }
135
141
  break;
136
142
  }
@@ -1,3 +1,4 @@
1
- import { type IRelationalDb } from "document-drive/processors/types";
1
+ import { type IRelationalDb } from "document-drive";
2
2
  export declare function up(db: IRelationalDb<any>): Promise<void>;
3
3
  export declare function down(db: IRelationalDb<any>): Promise<void>;
4
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,wBAAsB,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF9D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhE"}
@@ -1,25 +1,34 @@
1
+ import {} from "document-drive";
1
2
  export async function up(db) {
2
3
  await down(db);
3
- // Create renown_credential table with flexible VC schema support
4
+ // Create renown_credential table with EIP-712 signed credential schema
4
5
  await db.schema
5
6
  .createTable("renown_credential")
6
7
  .addColumn("document_id", "varchar(255)")
7
- .addColumn("vc_payload", "text") // Complete VC JSON object
8
- .addColumn("context", "text") // JSON array - extracted for convenience
9
- .addColumn("credential_id", "varchar(255)")
10
- .addColumn("type", "text") // JSON array - extracted for convenience
11
- .addColumn("issuer", "varchar(255)") // Now nullable to support any VC structure
12
- .addColumn("issuance_date", "timestamp") // Now nullable
13
- .addColumn("credential_subject", "text") // JSON object - now nullable
8
+ // W3C VC Fields
9
+ .addColumn("context", "text", (col) => col.notNull()) // JSON array
10
+ .addColumn("credential_id", "varchar(255)", (col) => col.notNull())
11
+ .addColumn("type", "text", (col) => col.notNull()) // JSON array
12
+ .addColumn("issuer_id", "varchar(255)", (col) => col.notNull())
13
+ .addColumn("issuer_ethereum_address", "varchar(255)", (col) => col.notNull())
14
+ .addColumn("issuance_date", "timestamp", (col) => col.notNull())
14
15
  .addColumn("expiration_date", "timestamp")
16
+ .addColumn("credential_subject_id", "varchar(255)")
17
+ .addColumn("credential_subject_app", "varchar(255)", (col) => col.notNull())
15
18
  .addColumn("credential_status_id", "varchar(255)")
16
19
  .addColumn("credential_status_type", "varchar(255)")
17
- .addColumn("credential_status_purpose", "varchar(255)")
18
- .addColumn("credential_status_list_index", "varchar(255)")
19
- .addColumn("credential_status_list_credential", "text")
20
- .addColumn("jwt", "text")
21
- .addColumn("jwt_payload", "text") // Complete JWT payload JSON object
22
- .addColumn("jwt_verified", "boolean", (col) => col.notNull().defaultTo(false))
20
+ .addColumn("credential_schema_id", "varchar(255)", (col) => col.notNull())
21
+ .addColumn("credential_schema_type", "varchar(255)", (col) => col.notNull())
22
+ // Proof fields (EIP-712)
23
+ .addColumn("proof_verification_method", "text", (col) => col.notNull())
24
+ .addColumn("proof_ethereum_address", "varchar(255)", (col) => col.notNull())
25
+ .addColumn("proof_created", "timestamp", (col) => col.notNull())
26
+ .addColumn("proof_purpose", "varchar(255)", (col) => col.notNull())
27
+ .addColumn("proof_type", "varchar(255)", (col) => col.notNull())
28
+ .addColumn("proof_value", "text", (col) => col.notNull()) // EIP-712 signature
29
+ .addColumn("proof_eip712_domain", "text", (col) => col.notNull()) // JSON object
30
+ .addColumn("proof_eip712_primary_type", "varchar(255)", (col) => col.notNull())
31
+ // Revocation
23
32
  .addColumn("revoked", "boolean", (col) => col.notNull().defaultTo(false))
24
33
  .addColumn("revoked_at", "timestamp")
25
34
  .addColumn("revocation_reason", "text")
@@ -35,18 +44,32 @@ export async function up(db) {
35
44
  .column("credential_id")
36
45
  .ifNotExists()
37
46
  .execute();
38
- // Create index on issuer for faster lookups
47
+ // Create index on issuer_id for faster lookups
39
48
  await db.schema
40
- .createIndex("idx_renown_credential_issuer")
49
+ .createIndex("idx_renown_credential_issuer_id")
41
50
  .on("renown_credential")
42
- .column("issuer")
51
+ .column("issuer_id")
43
52
  .ifNotExists()
44
53
  .execute();
45
- // Create index on credential_subject for faster lookups (using GIN for JSONB-like searches)
54
+ // Create index on issuer_ethereum_address for faster lookups
46
55
  await db.schema
47
- .createIndex("idx_renown_credential_subject")
56
+ .createIndex("idx_renown_credential_issuer_eth")
48
57
  .on("renown_credential")
49
- .column("credential_subject")
58
+ .column("issuer_ethereum_address")
59
+ .ifNotExists()
60
+ .execute();
61
+ // Create index on credential_subject_app for faster lookups
62
+ await db.schema
63
+ .createIndex("idx_renown_credential_subject_app")
64
+ .on("renown_credential")
65
+ .column("credential_subject_app")
66
+ .ifNotExists()
67
+ .execute();
68
+ // Create index on proof_ethereum_address for faster lookups
69
+ await db.schema
70
+ .createIndex("idx_renown_credential_proof_eth")
71
+ .on("renown_credential")
72
+ .column("proof_ethereum_address")
50
73
  .ifNotExists()
51
74
  .execute();
52
75
  // Create index on revoked for faster validity checks
@@ -64,11 +87,19 @@ export async function down(db) {
64
87
  .ifExists()
65
88
  .execute();
66
89
  await db.schema
67
- .dropIndex("idx_renown_credential_subject")
90
+ .dropIndex("idx_renown_credential_proof_eth")
91
+ .ifExists()
92
+ .execute();
93
+ await db.schema
94
+ .dropIndex("idx_renown_credential_subject_app")
95
+ .ifExists()
96
+ .execute();
97
+ await db.schema
98
+ .dropIndex("idx_renown_credential_issuer_eth")
68
99
  .ifExists()
69
100
  .execute();
70
101
  await db.schema
71
- .dropIndex("idx_renown_credential_issuer")
102
+ .dropIndex("idx_renown_credential_issuer_id")
72
103
  .ifExists()
73
104
  .execute();
74
105
  await db.schema
@@ -3,22 +3,27 @@ export type Generated<T> = T extends ColumnType<infer S, infer I, infer U> ? Col
3
3
  export type Timestamp = ColumnType<Date, Date | string, Date | string>;
4
4
  export interface RenownCredential {
5
5
  document_id: string;
6
- vc_payload: string | null;
7
- context: string | null;
8
- credential_id: string | null;
9
- type: string | null;
10
- issuer: string | null;
11
- issuance_date: Timestamp | null;
12
- credential_subject: string | null;
6
+ context: string;
7
+ credential_id: string;
8
+ type: string;
9
+ issuer_id: string;
10
+ issuer_ethereum_address: string;
11
+ issuance_date: Timestamp;
13
12
  expiration_date: Timestamp | null;
13
+ credential_subject_id: string | null;
14
+ credential_subject_app: string;
14
15
  credential_status_id: string | null;
15
16
  credential_status_type: string | null;
16
- credential_status_purpose: string | null;
17
- credential_status_list_index: string | null;
18
- credential_status_list_credential: string | null;
19
- jwt: string | null;
20
- jwt_payload: string | null;
21
- jwt_verified: boolean;
17
+ credential_schema_id: string;
18
+ credential_schema_type: string;
19
+ proof_verification_method: string;
20
+ proof_ethereum_address: string;
21
+ proof_created: Timestamp;
22
+ proof_purpose: string;
23
+ proof_type: string;
24
+ proof_value: string;
25
+ proof_eip712_domain: string;
26
+ proof_eip712_primary_type: string;
22
27
  revoked: boolean;
23
28
  revoked_at: Timestamp | null;
24
29
  revocation_reason: string | null;
@@ -28,3 +33,4 @@ export interface RenownCredential {
28
33
  export interface DB {
29
34
  renown_credential: RenownCredential;
30
35
  }
36
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACtE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAE/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,SAAS,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAElC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,EAAE;IACjB,iBAAiB,EAAE,gBAAgB,CAAC;CACrC"}
@@ -1,3 +1,4 @@
1
- import { type ProcessorRecord, type IProcessorHostModule } from "document-drive/processors/types";
1
+ import { type ProcessorRecord, type IProcessorHostModule } from "document-drive";
2
2
  import { type PHDocumentHeader } from "document-model";
3
3
  export declare const renownUserProcessorFactory: (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
4
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/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;AAGvD,eAAO,MAAM,0BAA0B,GACpC,QAAQ,oBAAoB,MACtB,aAAa,gBAAgB,KAAG,OAAO,CAAC,eAAe,EAAE,CAwB/D,CAAC"}
@@ -1,7 +1,10 @@
1
+ import {} from "document-drive";
2
+ import {} from "document-drive";
3
+ import {} from "document-model";
1
4
  import { RenownUserProcessor } from "./index.js";
2
5
  export const renownUserProcessorFactory = (module) => async (driveHeader) => {
3
6
  // Create a namespace for the processor and the provided drive id
4
- const namespace = RenownUserProcessor.getNamespace(driveHeader.id);
7
+ const namespace = RenownUserProcessor.getNamespace("renown-user");
5
8
  // Create a namespaced db for the processor
6
9
  const store = await module.relationalDb.createNamespace(namespace);
7
10
  // Create a filter for the processor
@@ -1,5 +1,5 @@
1
- import { RelationalDbProcessor } from "document-drive/processors/relational";
2
- import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
1
+ import { RelationalDbProcessor } from "document-drive";
2
+ import { type InternalTransmitterUpdate } from "document-drive";
3
3
  import { type DB } from "./schema.js";
4
4
  export declare class RenownUserProcessor extends RelationalDbProcessor<DB> {
5
5
  static getNamespace(driveId: string): string;
@@ -7,3 +7,4 @@ export declare class RenownUserProcessor extends RelationalDbProcessor<DB> {
7
7
  onStrands(strands: InternalTransmitterUpdate[]): Promise<void>;
8
8
  onDisconnect(): Promise<void>;
9
9
  }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC,qBAAa,mBAAoB,SAAQ,qBAAqB,CAAC,EAAE,CAAC;WAChD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKtC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,SAAS,CACtB,OAAO,EAAE,yBAAyB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAwFV,YAAY;CACnB"}
@@ -1,5 +1,7 @@
1
- import { RelationalDbProcessor } from "document-drive/processors/relational";
1
+ import { RelationalDbProcessor } from "document-drive";
2
+ import {} from "document-drive";
2
3
  import { up } from "./migrations.js";
4
+ import {} from "./schema.js";
3
5
  export class RenownUserProcessor extends RelationalDbProcessor {
4
6
  static getNamespace(driveId) {
5
7
  // Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`
@@ -1,3 +1,4 @@
1
- import { type IRelationalDb } from "document-drive/processors/types";
1
+ import { type IRelationalDb } from "document-drive";
2
2
  export declare function up(db: IRelationalDb<any>): Promise<void>;
3
3
  export declare function down(db: IRelationalDb<any>): Promise<void>;
4
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,wBAAsB,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B9D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE"}
@@ -1,3 +1,4 @@
1
+ import {} from "document-drive";
1
2
  export async function up(db) {
2
3
  await down(db);
3
4
  // Create renown_user table
@@ -12,3 +12,4 @@ export interface RenownUser {
12
12
  export interface DB {
13
13
  renown_user: RenownUser;
14
14
  }
15
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACtE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,EAAE;IACjB,WAAW,EAAE,UAAU,CAAC;CACzB"}