@pkcprotocol/pkc-js 0.0.44 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +41 -0
  2. package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +2 -1
  3. package/dist/browser/clients/rpc-client/pkc-rpc-client.js +5 -1
  4. package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  5. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +96 -0
  6. package/dist/browser/clients/rpc-client/rpc-schema-util.js +4 -1
  7. package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
  8. package/dist/browser/clients/rpc-client/schema.d.ts +89 -2
  9. package/dist/browser/clients/rpc-client/schema.js +10 -1
  10. package/dist/browser/clients/rpc-client/schema.js.map +1 -1
  11. package/dist/browser/clients/rpc-client/types.d.ts +3 -1
  12. package/dist/browser/community/remote-community.d.ts +5 -1
  13. package/dist/browser/community/remote-community.js +6 -0
  14. package/dist/browser/community/remote-community.js.map +1 -1
  15. package/dist/browser/community/rpc-local-community.d.ts +5 -1
  16. package/dist/browser/community/rpc-local-community.js +3 -0
  17. package/dist/browser/community/rpc-local-community.js.map +1 -1
  18. package/dist/browser/community/schema.d.ts +28 -18
  19. package/dist/browser/community/schema.js +8 -0
  20. package/dist/browser/community/schema.js.map +1 -1
  21. package/dist/browser/community/types.d.ts +2 -1
  22. package/dist/browser/generated-version.d.ts +1 -1
  23. package/dist/browser/generated-version.js +1 -1
  24. package/dist/browser/index-with-compile-cache.d.ts +254 -0
  25. package/dist/browser/index-with-compile-cache.js +25 -0
  26. package/dist/browser/index-with-compile-cache.js.map +1 -0
  27. package/dist/browser/pages/schema.d.ts +5 -5
  28. package/dist/browser/pkc/pkc.d.ts +3 -4
  29. package/dist/browser/pkc/pkc.js +16 -19
  30. package/dist/browser/pkc/pkc.js.map +1 -1
  31. package/dist/browser/publications/comment/schema.d.ts +2 -2
  32. package/dist/browser/publications/comment/schema.js +7 -1
  33. package/dist/browser/publications/comment/schema.js.map +1 -1
  34. package/dist/browser/rpc/src/index.d.ts +2 -1
  35. package/dist/browser/rpc/src/index.js +30 -2
  36. package/dist/browser/rpc/src/index.js.map +1 -1
  37. package/dist/browser/runtime/browser/compile-cache.d.ts +1 -0
  38. package/dist/browser/runtime/browser/compile-cache.js +7 -0
  39. package/dist/browser/runtime/browser/compile-cache.js.map +1 -0
  40. package/dist/browser/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  41. package/dist/browser/runtime/browser/setup-kubo-http-routers.js +4 -0
  42. package/dist/browser/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  43. package/dist/browser/runtime/node/community/db-handler.d.ts +4 -2
  44. package/dist/browser/runtime/node/community/db-handler.js +30 -1
  45. package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
  46. package/dist/browser/runtime/node/community/db-row-parser.d.ts +2 -0
  47. package/dist/browser/runtime/node/community/db-row-parser.js +6 -0
  48. package/dist/browser/runtime/node/community/db-row-parser.js.map +1 -1
  49. package/dist/browser/runtime/node/community/local-community.d.ts +5 -1
  50. package/dist/browser/runtime/node/community/local-community.js +12 -0
  51. package/dist/browser/runtime/node/community/local-community.js.map +1 -1
  52. package/dist/browser/runtime/node/compile-cache.d.ts +1 -0
  53. package/dist/browser/runtime/node/compile-cache.js +29 -0
  54. package/dist/browser/runtime/node/compile-cache.js.map +1 -0
  55. package/dist/browser/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  56. package/dist/browser/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +10 -79
  57. package/dist/browser/runtime/node/setup-kubo-http-routers.js.map +1 -0
  58. package/dist/bundled/bundle-manifest.json +1288 -0
  59. package/dist/bundled/challenges.js +1 -0
  60. package/dist/bundled/chunks/helia-for-pkc-uRINWDzG.js +281 -0
  61. package/dist/bundled/chunks/local-community-CCSP8e6_.js +2 -0
  62. package/dist/bundled/chunks/local-community-iVvgerOY.js +7218 -0
  63. package/dist/bundled/chunks/node-DMNVMYGv.js +7567 -0
  64. package/dist/bundled/chunks/rpc-local-community-DG6G0xL6.js +128945 -0
  65. package/dist/bundled/chunks/schema-Bo3XK8Oe.js +34342 -0
  66. package/dist/bundled/chunks/util-I3gVOp6w.js +200 -0
  67. package/dist/bundled/index-with-compile-cache.js +19 -0
  68. package/dist/bundled/index.js +2 -0
  69. package/dist/bundled/rpc/src/index.js +1473 -0
  70. package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +2 -1
  71. package/dist/node/clients/rpc-client/pkc-rpc-client.js +5 -1
  72. package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  73. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +96 -0
  74. package/dist/node/clients/rpc-client/rpc-schema-util.js +4 -1
  75. package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
  76. package/dist/node/clients/rpc-client/schema.d.ts +89 -2
  77. package/dist/node/clients/rpc-client/schema.js +10 -1
  78. package/dist/node/clients/rpc-client/schema.js.map +1 -1
  79. package/dist/node/clients/rpc-client/types.d.ts +3 -1
  80. package/dist/node/community/remote-community.d.ts +5 -1
  81. package/dist/node/community/remote-community.js +6 -0
  82. package/dist/node/community/remote-community.js.map +1 -1
  83. package/dist/node/community/rpc-local-community.d.ts +5 -1
  84. package/dist/node/community/rpc-local-community.js +3 -0
  85. package/dist/node/community/rpc-local-community.js.map +1 -1
  86. package/dist/node/community/schema.d.ts +28 -18
  87. package/dist/node/community/schema.js +8 -0
  88. package/dist/node/community/schema.js.map +1 -1
  89. package/dist/node/community/types.d.ts +2 -1
  90. package/dist/node/generated-version.d.ts +1 -1
  91. package/dist/node/generated-version.js +1 -1
  92. package/dist/node/index-with-compile-cache.d.ts +254 -0
  93. package/dist/node/index-with-compile-cache.js +25 -0
  94. package/dist/node/index-with-compile-cache.js.map +1 -0
  95. package/dist/node/pages/schema.d.ts +5 -5
  96. package/dist/node/pkc/pkc.d.ts +3 -4
  97. package/dist/node/pkc/pkc.js +16 -19
  98. package/dist/node/pkc/pkc.js.map +1 -1
  99. package/dist/node/publications/comment/schema.d.ts +2 -2
  100. package/dist/node/publications/comment/schema.js +7 -1
  101. package/dist/node/publications/comment/schema.js.map +1 -1
  102. package/dist/node/rpc/src/index.d.ts +2 -1
  103. package/dist/node/rpc/src/index.js +30 -2
  104. package/dist/node/rpc/src/index.js.map +1 -1
  105. package/dist/node/runtime/browser/compile-cache.d.ts +1 -0
  106. package/dist/node/runtime/browser/compile-cache.js +7 -0
  107. package/dist/node/runtime/browser/compile-cache.js.map +1 -0
  108. package/dist/node/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  109. package/dist/node/runtime/browser/setup-kubo-http-routers.js +4 -0
  110. package/dist/node/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  111. package/dist/node/runtime/node/community/db-handler.d.ts +4 -2
  112. package/dist/node/runtime/node/community/db-handler.js +30 -1
  113. package/dist/node/runtime/node/community/db-handler.js.map +1 -1
  114. package/dist/node/runtime/node/community/db-row-parser.d.ts +2 -0
  115. package/dist/node/runtime/node/community/db-row-parser.js +6 -0
  116. package/dist/node/runtime/node/community/db-row-parser.js.map +1 -1
  117. package/dist/node/runtime/node/community/local-community.d.ts +5 -1
  118. package/dist/node/runtime/node/community/local-community.js +12 -0
  119. package/dist/node/runtime/node/community/local-community.js.map +1 -1
  120. package/dist/node/runtime/node/compile-cache.d.ts +1 -0
  121. package/dist/node/runtime/node/compile-cache.js +29 -0
  122. package/dist/node/runtime/node/compile-cache.js.map +1 -0
  123. package/dist/node/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  124. package/dist/node/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +10 -79
  125. package/dist/node/runtime/node/setup-kubo-http-routers.js.map +1 -0
  126. package/package.json +18 -9
  127. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  128. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  129. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  130. package/dist/browser/runtime/node/address-rewriter-db.d.ts +0 -31
  131. package/dist/browser/runtime/node/address-rewriter-db.js +0 -156
  132. package/dist/browser/runtime/node/address-rewriter-db.js.map +0 -1
  133. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -45
  134. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +0 -493
  135. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  136. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  137. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  138. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  139. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  140. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  141. package/dist/node/runtime/node/address-rewriter-db.d.ts +0 -31
  142. package/dist/node/runtime/node/address-rewriter-db.js +0 -156
  143. package/dist/node/runtime/node/address-rewriter-db.js.map +0 -1
  144. package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -45
  145. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +0 -493
  146. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  147. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  148. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
@@ -0,0 +1,254 @@
1
+ declare const _default: {
2
+ (pkcOptions?: import("./types.js").InputPKCOptions): Promise<import("./pkc/pkc.js").PKC>;
3
+ setNativeFunctions: (newNativeFunctions: Partial<import("./types.js").NativeFunctions>) => void;
4
+ nativeFunctions: {
5
+ node: import("./types.js").NativeFunctions;
6
+ browser: import("./types.js").NativeFunctions;
7
+ };
8
+ getShortCid: (params: import("./clients/rpc-client/types.js").CidRpcParam) => string;
9
+ getShortAddress: (params: import("./clients/rpc-client/types.js").AuthorNameRpcParam) => string;
10
+ challenges: Record<string, import("zod/v4/core").$InferInnerFunctionType<import("zod").ZodTuple<readonly [import("zod").ZodObject<{
11
+ challengeSettings: import("zod").ZodObject<{
12
+ path: import("zod").ZodOptional<import("zod").ZodString>;
13
+ name: import("zod").ZodOptional<import("zod").ZodString>;
14
+ options: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
15
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
16
+ community: import("zod").ZodOptional<import("zod").ZodObject<{
17
+ addresses: import("zod").ZodArray<import("zod").ZodString>;
18
+ maxCommentCids: import("zod").ZodNumber;
19
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
20
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
21
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
22
+ }, import("zod/v4/core").$strict>>;
23
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
24
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
25
+ postCount: import("zod").ZodOptional<import("zod").ZodNumber>;
26
+ replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
27
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
28
+ challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
29
+ role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
30
+ owner: "owner";
31
+ admin: "admin";
32
+ moderator: "moderator";
33
+ }>, import("zod").ZodString]>>>;
34
+ address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
35
+ rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
36
+ rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
37
+ publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
38
+ post: import("zod").ZodOptional<import("zod").ZodBoolean>;
39
+ reply: import("zod").ZodOptional<import("zod").ZodBoolean>;
40
+ vote: import("zod").ZodOptional<import("zod").ZodBoolean>;
41
+ commentEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
42
+ commentModeration: import("zod").ZodOptional<import("zod").ZodBoolean>;
43
+ communityEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
44
+ }, import("zod/v4/core").$loose>>;
45
+ }, import("zod/v4/core").$loose>>>;
46
+ description: import("zod").ZodOptional<import("zod").ZodString>;
47
+ pendingApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
48
+ }, import("zod/v4/core").$strict>;
49
+ }, import("zod/v4/core").$strip>], null>, import("zod").ZodObject<{
50
+ optionInputs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
51
+ option: import("zod").ZodString;
52
+ label: import("zod").ZodString;
53
+ default: import("zod").ZodOptional<import("zod").ZodString>;
54
+ description: import("zod").ZodOptional<import("zod").ZodString>;
55
+ placeholder: import("zod").ZodOptional<import("zod").ZodString>;
56
+ required: import("zod").ZodOptional<import("zod").ZodBoolean>;
57
+ }, import("zod/v4/core").$loose>>>;
58
+ type: import("zod").ZodString;
59
+ challenge: import("zod").ZodOptional<import("zod").ZodString>;
60
+ caseInsensitive: import("zod").ZodOptional<import("zod").ZodBoolean>;
61
+ description: import("zod").ZodOptional<import("zod").ZodString>;
62
+ getChallenge: import("zod").ZodFunction<import("zod").ZodTuple<readonly [import("zod").ZodObject<{
63
+ challengeSettings: import("zod").ZodObject<{
64
+ path: import("zod").ZodOptional<import("zod").ZodString>;
65
+ name: import("zod").ZodOptional<import("zod").ZodString>;
66
+ options: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
67
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
68
+ community: import("zod").ZodOptional<import("zod").ZodObject<{
69
+ addresses: import("zod").ZodArray<import("zod").ZodString>;
70
+ maxCommentCids: import("zod").ZodNumber;
71
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
72
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
73
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
74
+ }, import("zod/v4/core").$strict>>;
75
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
76
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
77
+ postCount: import("zod").ZodOptional<import("zod").ZodNumber>;
78
+ replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
79
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
80
+ challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
81
+ role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
82
+ owner: "owner";
83
+ admin: "admin";
84
+ moderator: "moderator";
85
+ }>, import("zod").ZodString]>>>;
86
+ address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
87
+ rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
88
+ rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
89
+ publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
90
+ post: import("zod").ZodOptional<import("zod").ZodBoolean>;
91
+ reply: import("zod").ZodOptional<import("zod").ZodBoolean>;
92
+ vote: import("zod").ZodOptional<import("zod").ZodBoolean>;
93
+ commentEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
94
+ commentModeration: import("zod").ZodOptional<import("zod").ZodBoolean>;
95
+ communityEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
96
+ }, import("zod/v4/core").$loose>>;
97
+ }, import("zod/v4/core").$loose>>>;
98
+ description: import("zod").ZodOptional<import("zod").ZodString>;
99
+ pendingApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
100
+ }, import("zod/v4/core").$strict>;
101
+ challengeRequestMessage: import("zod").ZodCustom<import("./pubsub-messages/types.js").DecryptedChallengeRequestMessageTypeWithCommunityAuthor, import("./pubsub-messages/types.js").DecryptedChallengeRequestMessageTypeWithCommunityAuthor>;
102
+ challengeIndex: import("zod").ZodNumber;
103
+ community: import("zod").ZodCustom<import("./runtime/browser/community/local-community.js").LocalCommunity, import("./runtime/browser/community/local-community.js").LocalCommunity>;
104
+ }, import("zod/v4/core").$strip>], null>, import("zod").ZodPromise<import("zod").ZodUnion<[import("zod").ZodObject<{
105
+ challenge: import("zod").ZodString;
106
+ verify: import("zod").ZodFunction<import("zod").ZodTuple<readonly [import("zod").ZodLazy<import("zod").ZodString>], null>, import("zod").ZodPromise<import("zod").ZodUnion<[import("zod").ZodObject<{
107
+ success: import("zod").ZodLiteral<true>;
108
+ comment: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
109
+ commentUpdate: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
110
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
111
+ success: import("zod").ZodLiteral<false>;
112
+ error: import("zod").ZodString;
113
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
114
+ }, import("zod/v4/core").$strip>]>>>;
115
+ type: import("zod").ZodString;
116
+ caseInsensitive: import("zod").ZodOptional<import("zod").ZodBoolean>;
117
+ }, import("zod/v4/core").$strict>, import("zod").ZodUnion<[import("zod").ZodObject<{
118
+ success: import("zod").ZodLiteral<true>;
119
+ comment: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
120
+ commentUpdate: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
121
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
122
+ success: import("zod").ZodLiteral<false>;
123
+ error: import("zod").ZodString;
124
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
125
+ }, import("zod/v4/core").$strip>]>]>>>;
126
+ }, import("zod/v4/core").$strict>>>;
127
+ };
128
+ export default _default;
129
+ export declare const setNativeFunctions: (newNativeFunctions: Partial<import("./types.js").NativeFunctions>) => void;
130
+ export declare const nativeFunctions: {
131
+ node: import("./types.js").NativeFunctions;
132
+ browser: import("./types.js").NativeFunctions;
133
+ };
134
+ export declare const getShortCid: (params: import("./clients/rpc-client/types.js").CidRpcParam) => string;
135
+ export declare const getShortAddress: (params: import("./clients/rpc-client/types.js").AuthorNameRpcParam) => string;
136
+ export declare const challenges: Record<string, import("zod/v4/core").$InferInnerFunctionType<import("zod").ZodTuple<readonly [import("zod").ZodObject<{
137
+ challengeSettings: import("zod").ZodObject<{
138
+ path: import("zod").ZodOptional<import("zod").ZodString>;
139
+ name: import("zod").ZodOptional<import("zod").ZodString>;
140
+ options: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
141
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
142
+ community: import("zod").ZodOptional<import("zod").ZodObject<{
143
+ addresses: import("zod").ZodArray<import("zod").ZodString>;
144
+ maxCommentCids: import("zod").ZodNumber;
145
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
146
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
147
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
148
+ }, import("zod/v4/core").$strict>>;
149
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
150
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
151
+ postCount: import("zod").ZodOptional<import("zod").ZodNumber>;
152
+ replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
153
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
154
+ challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
155
+ role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
156
+ owner: "owner";
157
+ admin: "admin";
158
+ moderator: "moderator";
159
+ }>, import("zod").ZodString]>>>;
160
+ address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
161
+ rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
162
+ rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
163
+ publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
164
+ post: import("zod").ZodOptional<import("zod").ZodBoolean>;
165
+ reply: import("zod").ZodOptional<import("zod").ZodBoolean>;
166
+ vote: import("zod").ZodOptional<import("zod").ZodBoolean>;
167
+ commentEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
168
+ commentModeration: import("zod").ZodOptional<import("zod").ZodBoolean>;
169
+ communityEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
170
+ }, import("zod/v4/core").$loose>>;
171
+ }, import("zod/v4/core").$loose>>>;
172
+ description: import("zod").ZodOptional<import("zod").ZodString>;
173
+ pendingApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
174
+ }, import("zod/v4/core").$strict>;
175
+ }, import("zod/v4/core").$strip>], null>, import("zod").ZodObject<{
176
+ optionInputs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
177
+ option: import("zod").ZodString;
178
+ label: import("zod").ZodString;
179
+ default: import("zod").ZodOptional<import("zod").ZodString>;
180
+ description: import("zod").ZodOptional<import("zod").ZodString>;
181
+ placeholder: import("zod").ZodOptional<import("zod").ZodString>;
182
+ required: import("zod").ZodOptional<import("zod").ZodBoolean>;
183
+ }, import("zod/v4/core").$loose>>>;
184
+ type: import("zod").ZodString;
185
+ challenge: import("zod").ZodOptional<import("zod").ZodString>;
186
+ caseInsensitive: import("zod").ZodOptional<import("zod").ZodBoolean>;
187
+ description: import("zod").ZodOptional<import("zod").ZodString>;
188
+ getChallenge: import("zod").ZodFunction<import("zod").ZodTuple<readonly [import("zod").ZodObject<{
189
+ challengeSettings: import("zod").ZodObject<{
190
+ path: import("zod").ZodOptional<import("zod").ZodString>;
191
+ name: import("zod").ZodOptional<import("zod").ZodString>;
192
+ options: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
193
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
194
+ community: import("zod").ZodOptional<import("zod").ZodObject<{
195
+ addresses: import("zod").ZodArray<import("zod").ZodString>;
196
+ maxCommentCids: import("zod").ZodNumber;
197
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
198
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
199
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
200
+ }, import("zod/v4/core").$strict>>;
201
+ postScore: import("zod").ZodOptional<import("zod").ZodNumber>;
202
+ replyScore: import("zod").ZodOptional<import("zod").ZodNumber>;
203
+ postCount: import("zod").ZodOptional<import("zod").ZodNumber>;
204
+ replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
205
+ firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
206
+ challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
207
+ role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
208
+ owner: "owner";
209
+ admin: "admin";
210
+ moderator: "moderator";
211
+ }>, import("zod").ZodString]>>>;
212
+ address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
213
+ rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
214
+ rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
215
+ publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
216
+ post: import("zod").ZodOptional<import("zod").ZodBoolean>;
217
+ reply: import("zod").ZodOptional<import("zod").ZodBoolean>;
218
+ vote: import("zod").ZodOptional<import("zod").ZodBoolean>;
219
+ commentEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
220
+ commentModeration: import("zod").ZodOptional<import("zod").ZodBoolean>;
221
+ communityEdit: import("zod").ZodOptional<import("zod").ZodBoolean>;
222
+ }, import("zod/v4/core").$loose>>;
223
+ }, import("zod/v4/core").$loose>>>;
224
+ description: import("zod").ZodOptional<import("zod").ZodString>;
225
+ pendingApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
226
+ }, import("zod/v4/core").$strict>;
227
+ challengeRequestMessage: import("zod").ZodCustom<import("./pubsub-messages/types.js").DecryptedChallengeRequestMessageTypeWithCommunityAuthor, import("./pubsub-messages/types.js").DecryptedChallengeRequestMessageTypeWithCommunityAuthor>;
228
+ challengeIndex: import("zod").ZodNumber;
229
+ community: import("zod").ZodCustom<import("./runtime/browser/community/local-community.js").LocalCommunity, import("./runtime/browser/community/local-community.js").LocalCommunity>;
230
+ }, import("zod/v4/core").$strip>], null>, import("zod").ZodPromise<import("zod").ZodUnion<[import("zod").ZodObject<{
231
+ challenge: import("zod").ZodString;
232
+ verify: import("zod").ZodFunction<import("zod").ZodTuple<readonly [import("zod").ZodLazy<import("zod").ZodString>], null>, import("zod").ZodPromise<import("zod").ZodUnion<[import("zod").ZodObject<{
233
+ success: import("zod").ZodLiteral<true>;
234
+ comment: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
235
+ commentUpdate: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
236
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
237
+ success: import("zod").ZodLiteral<false>;
238
+ error: import("zod").ZodString;
239
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
240
+ }, import("zod/v4/core").$strip>]>>>;
241
+ type: import("zod").ZodString;
242
+ caseInsensitive: import("zod").ZodOptional<import("zod").ZodBoolean>;
243
+ }, import("zod/v4/core").$strict>, import("zod").ZodUnion<[import("zod").ZodObject<{
244
+ success: import("zod").ZodLiteral<true>;
245
+ comment: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
246
+ commentUpdate: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
247
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
248
+ success: import("zod").ZodLiteral<false>;
249
+ error: import("zod").ZodString;
250
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
251
+ }, import("zod/v4/core").$strip>]>]>>>;
252
+ }, import("zod/v4/core").$strict>>>;
253
+ export type { NameResolverInterface } from "./schema.js";
254
+ export type { NameResolver } from "./types.js";
@@ -0,0 +1,25 @@
1
+ // Thin bootstrap entry for Node ESM consumers (the `"."` -> `import` condition in
2
+ // package.json). Part of issue #120: it enables Node's on-disk V8 compile cache and ONLY
3
+ // THEN dynamic-imports the real entry, so the whole module graph compiles with the cache
4
+ // active and runs after the first import reuse the cached bytecode (recovering the
5
+ // parse/compile ~29% of import time).
6
+ //
7
+ // Why a separate file instead of calling enableCompileCache() in index.ts: Node's ESM
8
+ // loader compiles the ENTIRE static import graph before any module body executes, and the
9
+ // compile cache only covers modules compiled after the call — so from inside index.ts it
10
+ // would always be too late. The dynamic import() below is what delays the graph's
11
+ // compilation until the cache is on.
12
+ //
13
+ // Why the `require` condition keeps pointing at plain index.js: this file uses top-level
14
+ // await, and require(esm) throws ERR_REQUIRE_ASYNC_MODULE on graphs containing TLA. CJS
15
+ // consumers simply keep the previous (uncached) behavior.
16
+ import { enableNodeCompileCache } from "./runtime/browser/compile-cache.js";
17
+ enableNodeCompileCache();
18
+ const index = await import("./index.js");
19
+ export default index.default;
20
+ export const setNativeFunctions = index.setNativeFunctions;
21
+ export const nativeFunctions = index.nativeFunctions;
22
+ export const getShortCid = index.getShortCid;
23
+ export const getShortAddress = index.getShortAddress;
24
+ export const challenges = index.challenges;
25
+ //# sourceMappingURL=index-with-compile-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-with-compile-cache.js","sourceRoot":"","sources":["../../src/index-with-compile-cache.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,yFAAyF;AACzF,yFAAyF;AACzF,mFAAmF;AACnF,sCAAsC;AACtC,EAAE;AACF,sFAAsF;AACtF,0FAA0F;AAC1F,yFAAyF;AACzF,kFAAkF;AAClF,qCAAqC;AACrC,EAAE;AACF,yFAAyF;AACzF,wFAAwF;AACxF,0DAA0D;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,sBAAsB,EAAE,CAAC;AAEzB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAEzC,eAAe,KAAK,CAAC,OAAO,CAAC;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC"}
@@ -169,7 +169,7 @@ export declare const PageIpfsSchema: z.ZodObject<{
169
169
  signedPropertyNames: z.ZodArray<z.ZodString>;
170
170
  }, z.core.$strip>;
171
171
  protocolVersion: z.ZodString;
172
- replies: z.ZodOptional<z.ZodObject<{
172
+ replies: z.ZodOptional<z.ZodLazy<z.ZodObject<{
173
173
  pages: z.ZodRecord<z.ZodUnion<[z.ZodEnum<{
174
174
  new: "new";
175
175
  best: "best";
@@ -184,7 +184,7 @@ export declare const PageIpfsSchema: z.ZodObject<{
184
184
  newFlat: "newFlat";
185
185
  oldFlat: "oldFlat";
186
186
  }>, z.ZodString]>, z.ZodString>>;
187
- }, z.core.$strip>>;
187
+ }, z.core.$strip>>>;
188
188
  }, z.core.$loose>;
189
189
  }, z.core.$strip>>>;
190
190
  nextCid: z.ZodOptional<z.ZodString>;
@@ -388,7 +388,7 @@ export declare const PostsPagesIpfsSchema: z.ZodObject<{
388
388
  signedPropertyNames: z.ZodArray<z.ZodString>;
389
389
  }, z.core.$strip>;
390
390
  protocolVersion: z.ZodString;
391
- replies: z.ZodOptional<z.ZodObject<{
391
+ replies: z.ZodOptional<z.ZodLazy<z.ZodObject<{
392
392
  pages: z.ZodRecord<z.ZodUnion<[z.ZodEnum<{
393
393
  new: "new";
394
394
  best: "best";
@@ -403,7 +403,7 @@ export declare const PostsPagesIpfsSchema: z.ZodObject<{
403
403
  newFlat: "newFlat";
404
404
  oldFlat: "oldFlat";
405
405
  }>, z.ZodString]>, z.ZodString>>;
406
- }, z.core.$strip>>;
406
+ }, z.core.$strip>>>;
407
407
  }, z.core.$loose>;
408
408
  }, z.core.$strip>>>;
409
409
  nextCid: z.ZodOptional<z.ZodString>;
@@ -597,7 +597,7 @@ export declare const RepliesPagesIpfsSchema: z.ZodObject<{
597
597
  signedPropertyNames: z.ZodArray<z.ZodString>;
598
598
  }, z.core.$strip>;
599
599
  protocolVersion: z.ZodString;
600
- replies: z.ZodOptional<z.ZodObject</*elided*/ any, z.core.$strip>>;
600
+ replies: z.ZodOptional<z.ZodLazy<z.ZodObject</*elided*/ any, z.core.$strip>>>;
601
601
  }, z.core.$loose>;
602
602
  }, z.core.$strip>>>;
603
603
  nextCid: z.ZodOptional<z.ZodString>;
@@ -10,7 +10,7 @@ import type { ChallengeFileFactoryInput, CreateRemoteCommunityOptions, Community
10
10
  import { RemoteCommunity } from "../community/remote-community.js";
11
11
  import { RpcRemoteCommunity } from "../community/rpc-remote-community.js";
12
12
  import { RpcLocalCommunity } from "../community/rpc-local-community.js";
13
- import { LocalCommunity } from "../runtime/browser/community/local-community.js";
13
+ import type { LocalCommunity } from "../runtime/browser/community/local-community.js";
14
14
  import { z } from "zod";
15
15
  import type { CreateSignerOptions } from "../signer/types.js";
16
16
  import type { CommentEditPubsubMessagePublication, CommentEditTypeJson, CreateCommentEditOptions } from "../publications/comment-edit/types.js";
@@ -23,7 +23,7 @@ import CommunityEdit from "../publications/community-edit/community-edit.js";
23
23
  import type { CreateCommunityEditPublicationOptions, CommunityEditJson, CommunityEditPubsubMessagePublication } from "../publications/community-edit/types.js";
24
24
  import { PKCTypedEmitter } from "../clients/pkc-typed-emitter.js";
25
25
  import type { PageTypeJson } from "../pages/types.js";
26
- import { Libp2pJsClient } from "../helia/libp2pjsClient.js";
26
+ import type { Libp2pJsClient } from "../helia/libp2pjsClient.js";
27
27
  import type { AuthorNameRpcParam, CidRpcParam, RpcFetchCidResult } from "../clients/rpc-client/types.js";
28
28
  import { IndexedTrackedInstanceRegistry } from "./tracked-instance-registry.js";
29
29
  export declare class PKC extends PKCTypedEmitter<PKCEvents> implements ParsedPKCOptions {
@@ -74,8 +74,7 @@ export declare class PKC extends PKCTypedEmitter<PKCEvents> implements ParsedPKC
74
74
  _startedCommunities: IndexedTrackedInstanceRegistry<LocalCommunity | RpcLocalCommunity>;
75
75
  private _communityFsWatchAbort?;
76
76
  private _destroyAbortController?;
77
- private _addressRewriterDestroy?;
78
- private _addressRewriterSetupPromise?;
77
+ private _httpRouterSetupPromise?;
79
78
  destroyed: boolean;
80
79
  private _promiseToWaitForFirstCommunitieschangeEvent;
81
80
  private _storageLRUs;
@@ -15,18 +15,16 @@ import { PKCError } from "../pkc-error.js";
15
15
  import { InflightFetchManager } from "../util/inflight-fetch-manager.js";
16
16
  import LRUStorage from "../runtime/browser/lru-storage.js";
17
17
  import { RemoteCommunity } from "../community/remote-community.js";
18
- import { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } from "../runtime/browser/community/local-community.js";
19
18
  import { extractCommunityRuntimeFieldsFromParsedPages } from "../pages/util.js";
20
19
  import pTimeout, { TimeoutError } from "p-timeout";
21
20
  import * as remeda from "remeda";
22
21
  import { PubsubTopicSchema, CommunityIpfsSchema } from "../community/schema.js";
23
22
  import { parseCidStringSchemaWithPKCErrorIfItFails, parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, parseCommentIpfsSchemaWithPKCErrorIfItFails, parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, parsePKCUserOptionsSchemaWithPKCErrorIfItFails, parseCommunityAddressWithPKCErrorIfItFails, parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails } from "../schema/schema-util.js";
24
23
  import { CommentModeration } from "../publications/comment-moderation/comment-moderation.js";
25
- import { setupKuboAddressesRewriterAndHttpRouters } from "../runtime/browser/setup-kubo-address-rewriter-and-http-router.js";
24
+ import { setupKuboHttpRouters } from "../runtime/browser/setup-kubo-http-routers.js";
26
25
  import CommunityEdit from "../publications/community-edit/community-edit.js";
27
26
  import { LRUCache } from "lru-cache";
28
27
  import { PKCTypedEmitter } from "../clients/pkc-typed-emitter.js";
29
- import { createLibp2pJsClientOrUseExistingOne } from "../helia/helia-for-pkc.js";
30
28
  import { parseRpcAuthorNameParam, parseRpcCidParam } from "../clients/rpc-client/rpc-schema-util.js";
31
29
  import { cleanWireAuthor, normalizeCreatePublicationAuthor } from "../publications/publication-author.js";
32
30
  import { TrackedInstanceRegistry } from "./tracked-instance-registry.js";
@@ -188,6 +186,9 @@ export class PKC extends PKCTypedEmitter {
188
186
  return;
189
187
  if (!this.httpRoutersOptions)
190
188
  throw Error("httpRoutersOptions is required for libp2pJsClient");
189
+ // Loaded here (not at the top of the file) so the large helia/libp2p graph is only imported
190
+ // when a libp2p-js node is actually started — RPC-only and gateway consumers never pay it.
191
+ const { createLibp2pJsClientOrUseExistingOne } = await import("../helia/helia-for-pkc.js");
191
192
  for (const clientOptions of this.libp2pJsClientsOptions) {
192
193
  const heliaNode = await createLibp2pJsClientOrUseExistingOne({
193
194
  ...clientOptions,
@@ -217,22 +218,19 @@ export class PKC extends PKCTypedEmitter {
217
218
  return;
218
219
  if (this.httpRoutersOptions?.length && this.kuboRpcClientsOptions?.length && this._canCreateNewLocalCommunity()) {
219
220
  // only for node
220
- const setupPromise = setupKuboAddressesRewriterAndHttpRouters(this)
221
- .then(async (addressesRewriterProxyServer) => {
222
- if (this.destroyed) {
223
- await addressesRewriterProxyServer.destroy();
221
+ const setupPromise = setupKuboHttpRouters(this)
222
+ .then(() => {
223
+ if (this.destroyed)
224
224
  return;
225
- }
226
- log("Set http router options and their proxies successfully on all connected ipfs", Object.keys(this.clients.kuboRpcClients));
227
- this._addressRewriterDestroy = addressesRewriterProxyServer.destroy;
225
+ log("Set http router options successfully on all connected ipfs", Object.keys(this.clients.kuboRpcClients));
228
226
  })
229
227
  .catch((e) => {
230
228
  if (this.destroyed)
231
229
  return;
232
- log.error("Failed to set http router options and their proxies on ipfs nodes due to error", e);
230
+ log.error("Failed to set http router options on ipfs nodes due to error", e);
233
231
  this.emit("error", e);
234
232
  });
235
- this._addressRewriterSetupPromise = setupPromise;
233
+ this._httpRouterSetupPromise = setupPromise;
236
234
  }
237
235
  }
238
236
  async _init() {
@@ -523,6 +521,9 @@ export class PKC extends PKCTypedEmitter {
523
521
  const canCreateLocalCommunity = this._canCreateNewLocalCommunity();
524
522
  if (!canCreateLocalCommunity)
525
523
  throw new PKCError("ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY", { pkcOptions: this._userPKCOptions });
524
+ // Loaded here (not at the top of the file) so the local-community -> better-sqlite3 graph is
525
+ // only imported when a local community is actually created — see issue #120.
526
+ const { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } = await import("../runtime/browser/community/local-community.js");
526
527
  const localCommunities = await nodeListCommunities(this);
527
528
  const isLocalCommunity = localCommunities.includes(options.address); // Community exists already, only pass address so we don't override other props
528
529
  const community = new LocalCommunity(this);
@@ -903,13 +904,9 @@ export class PKC extends PKCTypedEmitter {
903
904
  await Promise.all(listStartedCommunities(this).map((community) => community.stop()));
904
905
  if (this._communityFsWatchAbort)
905
906
  this._communityFsWatchAbort.abort();
906
- if (this._addressRewriterSetupPromise) {
907
- await this._addressRewriterSetupPromise;
908
- this._addressRewriterSetupPromise = undefined;
909
- }
910
- if (this._addressRewriterDestroy) {
911
- await this._addressRewriterDestroy();
912
- this._addressRewriterDestroy = undefined;
907
+ if (this._httpRouterSetupPromise) {
908
+ await this._httpRouterSetupPromise;
909
+ this._httpRouterSetupPromise = undefined;
913
910
  }
914
911
  await this._storage.destroy();
915
912
  for (const storage of Object.values(this._storageLRUs))