@socialproof/sub-agents 0.0.1

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 (85) hide show
  1. package/dist/action-registry/canonical.d.ts +6 -0
  2. package/dist/action-registry/canonical.d.ts.map +1 -0
  3. package/dist/action-registry/canonical.js +50 -0
  4. package/dist/action-registry/canonical.js.map +1 -0
  5. package/dist/action-registry/index.d.ts +6 -0
  6. package/dist/action-registry/index.d.ts.map +1 -0
  7. package/dist/action-registry/index.js +6 -0
  8. package/dist/action-registry/index.js.map +1 -0
  9. package/dist/action-registry/production-catalog.d.ts +20 -0
  10. package/dist/action-registry/production-catalog.d.ts.map +1 -0
  11. package/dist/action-registry/production-catalog.js +205 -0
  12. package/dist/action-registry/production-catalog.js.map +1 -0
  13. package/dist/action-registry/production-catalog.test.d.ts +2 -0
  14. package/dist/action-registry/production-catalog.test.d.ts.map +1 -0
  15. package/dist/action-registry/production-catalog.test.js +50 -0
  16. package/dist/action-registry/production-catalog.test.js.map +1 -0
  17. package/dist/action-registry/registry.d.ts +23 -0
  18. package/dist/action-registry/registry.d.ts.map +1 -0
  19. package/dist/action-registry/registry.js +642 -0
  20. package/dist/action-registry/registry.js.map +1 -0
  21. package/dist/action-registry/registry.test.d.ts +2 -0
  22. package/dist/action-registry/registry.test.d.ts.map +1 -0
  23. package/dist/action-registry/registry.test.js +336 -0
  24. package/dist/action-registry/registry.test.js.map +1 -0
  25. package/dist/action-registry/types.d.ts +142 -0
  26. package/dist/action-registry/types.d.ts.map +1 -0
  27. package/dist/action-registry/types.js +38 -0
  28. package/dist/action-registry/types.js.map +1 -0
  29. package/dist/action-registry/validation.d.ts +3 -0
  30. package/dist/action-registry/validation.d.ts.map +1 -0
  31. package/dist/action-registry/validation.js +108 -0
  32. package/dist/action-registry/validation.js.map +1 -0
  33. package/dist/client.d.ts +51 -0
  34. package/dist/client.d.ts.map +1 -0
  35. package/dist/client.js +412 -0
  36. package/dist/client.js.map +1 -0
  37. package/dist/client.test.d.ts +2 -0
  38. package/dist/client.test.d.ts.map +1 -0
  39. package/dist/client.test.js +203 -0
  40. package/dist/client.test.js.map +1 -0
  41. package/dist/contract.d.ts +23 -0
  42. package/dist/contract.d.ts.map +1 -0
  43. package/dist/contract.js +27 -0
  44. package/dist/contract.js.map +1 -0
  45. package/dist/effects.d.ts +11 -0
  46. package/dist/effects.d.ts.map +1 -0
  47. package/dist/effects.js +73 -0
  48. package/dist/effects.js.map +1 -0
  49. package/dist/index.d.ts +7 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +7 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/ptb/helpers.d.ts +11 -0
  54. package/dist/ptb/helpers.d.ts.map +1 -0
  55. package/dist/ptb/helpers.js +26 -0
  56. package/dist/ptb/helpers.js.map +1 -0
  57. package/dist/ptb/index.d.ts +5 -0
  58. package/dist/ptb/index.d.ts.map +1 -0
  59. package/dist/ptb/index.js +5 -0
  60. package/dist/ptb/index.js.map +1 -0
  61. package/dist/ptb/organization.d.ts +22 -0
  62. package/dist/ptb/organization.d.ts.map +1 -0
  63. package/dist/ptb/organization.js +326 -0
  64. package/dist/ptb/organization.js.map +1 -0
  65. package/dist/ptb/post.d.ts +26 -0
  66. package/dist/ptb/post.d.ts.map +1 -0
  67. package/dist/ptb/post.js +233 -0
  68. package/dist/ptb/post.js.map +1 -0
  69. package/dist/ptb/post.test.d.ts +2 -0
  70. package/dist/ptb/post.test.d.ts.map +1 -0
  71. package/dist/ptb/post.test.js +188 -0
  72. package/dist/ptb/post.test.js.map +1 -0
  73. package/dist/ptb/tier1.d.ts +14 -0
  74. package/dist/ptb/tier1.d.ts.map +1 -0
  75. package/dist/ptb/tier1.js +189 -0
  76. package/dist/ptb/tier1.js.map +1 -0
  77. package/dist/signing.d.ts +5 -0
  78. package/dist/signing.d.ts.map +1 -0
  79. package/dist/signing.js +31 -0
  80. package/dist/signing.js.map +1 -0
  81. package/dist/types.d.ts +261 -0
  82. package/dist/types.d.ts.map +1 -0
  83. package/dist/types.js +2 -0
  84. package/dist/types.js.map +1 -0
  85. package/package.json +48 -0
@@ -0,0 +1,326 @@
1
+ import { blake2b } from "@noble/hashes/blake2.js";
2
+ import { MYSO_CLOCK, optString } from "./helpers.js";
3
+ const MAX_U64 = (1n << 64n) - 1n;
4
+ const ADDRESS = /^0x[0-9a-fA-F]{1,64}$/;
5
+ function requiredChainField(chain, field) {
6
+ const value = chain[field];
7
+ if (typeof value !== "string" || !value.trim()) {
8
+ throw new TypeError(`${String(field)} is required for this action`);
9
+ }
10
+ return value;
11
+ }
12
+ function memoryTarget(ctx, fn) {
13
+ return `${ctx.chain.packageId}::memory::${fn}`;
14
+ }
15
+ function hexBytes(value, label, exactBytes) {
16
+ if (!/^[0-9a-f]+$/.test(value) || value.length % 2 !== 0) {
17
+ throw new TypeError(`${label} must be lowercase even-length hex`);
18
+ }
19
+ if (exactBytes !== undefined && value.length !== exactBytes * 2) {
20
+ throw new TypeError(`${label} must contain exactly ${exactBytes} bytes`);
21
+ }
22
+ return Array.from({ length: value.length / 2 }, (_, index) => Number.parseInt(value.slice(index * 2, index * 2 + 2), 16));
23
+ }
24
+ function u64(value, fallback, label) {
25
+ const selected = value ?? fallback;
26
+ if (!/^(0|[1-9][0-9]{0,19})$/.test(selected) || BigInt(selected) > MAX_U64) {
27
+ throw new TypeError(`${label} must be an unsigned u64 decimal string`);
28
+ }
29
+ return selected;
30
+ }
31
+ function optU64String(tx, value, label) {
32
+ return tx.pure("option<u64>", value === undefined ? null : u64(value, "0", label));
33
+ }
34
+ function optAddressString(tx, value, label) {
35
+ if (value !== undefined && !ADDRESS.test(value))
36
+ throw new TypeError(`${label} must be an address`);
37
+ return tx.pure("option<address>", value ?? null);
38
+ }
39
+ function normalizeAddress(value) {
40
+ const raw = value.replace(/^0x/, "").toLowerCase();
41
+ return `0x${raw.padStart(64, "0")}`;
42
+ }
43
+ export function deriveAgentAddress(publicKeyHex) {
44
+ const publicKey = Uint8Array.from(hexBytes(publicKeyHex, "publicKeyHex", 32));
45
+ const input = new Uint8Array(33);
46
+ input[0] = 0;
47
+ input.set(publicKey, 1);
48
+ return `0x${Array.from(blake2b(input, { dkLen: 32 }))
49
+ .map((byte) => byte.toString(16).padStart(2, "0"))
50
+ .join("")}`;
51
+ }
52
+ export function validateAgentPolicy(params) {
53
+ const expected = deriveAgentAddress(params.publicKeyHex);
54
+ if (!ADDRESS.test(params.derivedAddress) || normalizeAddress(params.derivedAddress) !== expected) {
55
+ throw new TypeError("derivedAddress does not match publicKeyHex");
56
+ }
57
+ u64(params.roleTags, "0", "roleTags");
58
+ u64(params.capabilities, "3", "capabilities");
59
+ u64(params.delegatableCaps, "0", "delegatableCaps");
60
+ u64(params.approvalRequiredCaps, "0", "approvalRequiredCaps");
61
+ if (params.maxActionSpendMist !== undefined)
62
+ u64(params.maxActionSpendMist, "0", "maxActionSpendMist");
63
+ if (params.expiresAtMs !== undefined)
64
+ u64(params.expiresAtMs, "0", "expiresAtMs");
65
+ if (params.platformScope !== undefined && !ADDRESS.test(params.platformScope)) {
66
+ throw new TypeError("platformScope must be an address");
67
+ }
68
+ }
69
+ function agentPolicyArguments(tx, params) {
70
+ validateAgentPolicy(params);
71
+ return [
72
+ tx.pure("vector<u8>", hexBytes(params.publicKeyHex, "publicKeyHex", 32)),
73
+ tx.pure("address", params.derivedAddress),
74
+ tx.pure("string", params.label),
75
+ tx.pure("u8", params.identityClass ?? 1),
76
+ tx.pure("u64", u64(params.roleTags, "0", "roleTags")),
77
+ tx.pure("u64", u64(params.capabilities, "3", "capabilities")),
78
+ tx.pure("u64", u64(params.delegatableCaps, "0", "delegatableCaps")),
79
+ tx.pure("u8", params.registerScope ?? 3),
80
+ tx.pure("u64", u64(params.approvalRequiredCaps, "0", "approvalRequiredCaps")),
81
+ optU64String(tx, params.maxActionSpendMist, "maxActionSpendMist"),
82
+ optAddressString(tx, params.platformScope, "platformScope"),
83
+ optU64String(tx, params.expiresAtMs, "expiresAtMs"),
84
+ ];
85
+ }
86
+ export function buildCreateOrganizationTx(ctx, params) {
87
+ const tx = new ctx.Transaction();
88
+ tx.moveCall({
89
+ target: memoryTarget(ctx, "create_agentic_organization"),
90
+ arguments: [
91
+ tx.object(ctx.chain.memoryConfigId),
92
+ tx.object(ctx.memoryAccountId),
93
+ tx.pure("u8", params.orgType),
94
+ optString(tx, params.name),
95
+ optString(tx, params.description),
96
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
97
+ ],
98
+ });
99
+ return tx;
100
+ }
101
+ export function buildUpdateOrganizationMetadataTx(ctx, params) {
102
+ const tx = new ctx.Transaction();
103
+ tx.moveCall({
104
+ target: memoryTarget(ctx, "update_agentic_organization_metadata"),
105
+ arguments: [
106
+ tx.object(ctx.chain.memoryConfigId),
107
+ tx.object(ctx.memoryAccountId),
108
+ tx.object(params.organizationId),
109
+ optString(tx, params.name),
110
+ optString(tx, params.description),
111
+ ],
112
+ });
113
+ return tx;
114
+ }
115
+ export function buildUpdateOrganizationCategoryTx(ctx, params) {
116
+ const tx = new ctx.Transaction();
117
+ tx.moveCall({
118
+ target: memoryTarget(ctx, "update_agentic_organization_category"),
119
+ arguments: [
120
+ tx.object(ctx.chain.memoryConfigId),
121
+ tx.object(ctx.memoryAccountId),
122
+ tx.object(params.organizationId),
123
+ tx.pure("u8", params.orgType),
124
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
125
+ ],
126
+ });
127
+ return tx;
128
+ }
129
+ function organizationObjectAction(fn) {
130
+ return (ctx, params) => {
131
+ const tx = new ctx.Transaction();
132
+ tx.moveCall({
133
+ target: memoryTarget(ctx, fn),
134
+ arguments: [
135
+ tx.object(ctx.memoryAccountId),
136
+ tx.object(params.organizationId),
137
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
138
+ ],
139
+ });
140
+ return tx;
141
+ };
142
+ }
143
+ export const buildDeactivateOrganizationTx = organizationObjectAction("deactivate_agentic_organization");
144
+ export const buildEnsureOrganizationMemoryGroupTx = organizationObjectAction("ensure_org_memory_group");
145
+ export function buildDefineOrganizationRoleTx(ctx, params) {
146
+ const tx = new ctx.Transaction();
147
+ tx.moveCall({
148
+ target: memoryTarget(ctx, "define_custom_org_role"),
149
+ arguments: [
150
+ tx.object(ctx.chain.memoryConfigId),
151
+ tx.object(ctx.memoryAccountId),
152
+ tx.object(params.organizationId),
153
+ tx.object(params.orgMemoryGroupId),
154
+ tx.pure("string", params.roleName),
155
+ tx.pure("u64", u64(params.permissionsMask, "0", "permissionsMask")),
156
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
157
+ ],
158
+ });
159
+ return tx;
160
+ }
161
+ function organizationRoleAction(fn) {
162
+ return (ctx, params) => {
163
+ const tx = new ctx.Transaction();
164
+ tx.moveCall({
165
+ target: memoryTarget(ctx, fn),
166
+ arguments: [
167
+ tx.object(ctx.memoryAccountId),
168
+ tx.object(params.organizationId),
169
+ tx.object(params.orgMemoryGroupId),
170
+ tx.pure("address", params.memberAddress),
171
+ tx.pure("string", params.roleName),
172
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
173
+ ],
174
+ });
175
+ return tx;
176
+ };
177
+ }
178
+ export const buildAssignOrganizationRoleTx = organizationRoleAction("assign_org_role");
179
+ export const buildRevokeOrganizationRoleTx = organizationRoleAction("revoke_org_role");
180
+ export function buildCreateOrganizationInvitationTx(ctx, params) {
181
+ const tx = new ctx.Transaction();
182
+ tx.moveCall({
183
+ target: memoryTarget(ctx, "create_org_invitation"),
184
+ arguments: [
185
+ tx.object(ctx.memoryAccountId),
186
+ tx.object(params.organizationId),
187
+ tx.object(params.orgMemoryGroupId),
188
+ tx.pure("address", params.invitee),
189
+ optString(tx, params.roleName),
190
+ tx.pure("u64", u64(params.permissionsMask, "0", "permissionsMask")),
191
+ optU64String(tx, params.expiresAtMs, "expiresAtMs"),
192
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
193
+ ],
194
+ });
195
+ return tx;
196
+ }
197
+ export function buildAcceptOrganizationInvitationTx(ctx, params) {
198
+ if (!params.orgMemoryGroupId)
199
+ throw new TypeError("orgMemoryGroupId is required to accept an invitation");
200
+ const tx = new ctx.Transaction();
201
+ tx.moveCall({
202
+ target: memoryTarget(ctx, "accept_org_invitation"),
203
+ arguments: [
204
+ tx.object(params.organizationAccountId),
205
+ tx.object(params.organizationId),
206
+ tx.object(params.orgMemoryGroupId),
207
+ tx.pure("address", params.invitee),
208
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
209
+ ],
210
+ });
211
+ return tx;
212
+ }
213
+ export function buildDeclineOrganizationInvitationTx(ctx, params) {
214
+ const tx = new ctx.Transaction();
215
+ tx.moveCall({
216
+ target: memoryTarget(ctx, "decline_org_invitation"),
217
+ arguments: [
218
+ tx.object(params.organizationAccountId),
219
+ tx.object(params.organizationId),
220
+ tx.pure("address", params.invitee),
221
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
222
+ ],
223
+ });
224
+ return tx;
225
+ }
226
+ export function buildRegisterRootAgentTx(ctx, params) {
227
+ const tx = new ctx.Transaction();
228
+ tx.moveCall({
229
+ target: memoryTarget(ctx, "register_sub_agent"),
230
+ arguments: [
231
+ tx.object(ctx.chain.memoryConfigId),
232
+ tx.object(ctx.memoryAccountId),
233
+ tx.object(params.organizationId),
234
+ ...agentPolicyArguments(tx, params),
235
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
236
+ ],
237
+ });
238
+ return tx;
239
+ }
240
+ export function buildRegisterChildAgentTx(ctx, params) {
241
+ const tx = new ctx.Transaction();
242
+ tx.moveCall({
243
+ target: memoryTarget(ctx, "register_sub_agent_delegated"),
244
+ arguments: [
245
+ tx.object(ctx.chain.memoryConfigId),
246
+ tx.object(ctx.memoryAccountId),
247
+ tx.object(params.parentAgentObjectId),
248
+ ...agentPolicyArguments(tx, params),
249
+ tx.pure("u8", params.registerRelation),
250
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
251
+ ],
252
+ });
253
+ return tx;
254
+ }
255
+ export function buildUpdateManagedAgentTx(ctx, params) {
256
+ const tx = new ctx.Transaction();
257
+ tx.moveCall({
258
+ target: memoryTarget(ctx, "update_sub_agent"),
259
+ arguments: [
260
+ tx.object(ctx.memoryAccountId),
261
+ tx.object(params.agentObjectId),
262
+ tx.pure("u8", params.identityClass),
263
+ tx.pure("u64", u64(params.roleTags, "0", "roleTags")),
264
+ tx.pure("u64", u64(params.capabilities, "0", "capabilities")),
265
+ tx.pure("u64", u64(params.delegatableCaps, "0", "delegatableCaps")),
266
+ tx.pure("u8", params.registerScope),
267
+ tx.pure("u64", u64(params.approvalRequiredCaps, "0", "approvalRequiredCaps")),
268
+ optU64String(tx, params.maxActionSpendMist, "maxActionSpendMist"),
269
+ optAddressString(tx, params.platformScope, "platformScope"),
270
+ optU64String(tx, params.expiresAtMs, "expiresAtMs"),
271
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
272
+ ],
273
+ });
274
+ return tx;
275
+ }
276
+ function managedAgentAction(fn) {
277
+ return (ctx, params) => {
278
+ const tx = new ctx.Transaction();
279
+ tx.moveCall({
280
+ target: memoryTarget(ctx, fn),
281
+ arguments: [
282
+ tx.object(ctx.memoryAccountId),
283
+ tx.object(params.agentObjectId),
284
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
285
+ ],
286
+ });
287
+ return tx;
288
+ };
289
+ }
290
+ export const buildDeactivateManagedAgentTx = managedAgentAction("deactivate_sub_agent");
291
+ export const buildRevokeManagedAgentTx = managedAgentAction("revoke_sub_agent");
292
+ export function buildCreateMessagingGroupTx(ctx, params) {
293
+ if (params.initialMembers.length === 0 || params.initialMembers.length > 32) {
294
+ throw new TypeError("initialMembers must contain between 1 and 32 addresses");
295
+ }
296
+ if (!params.initialMembers.every((member) => ADDRESS.test(member))) {
297
+ throw new TypeError("initialMembers must contain only addresses");
298
+ }
299
+ const encryptedDek = hexBytes(params.encryptedDekHex, "encryptedDekHex");
300
+ if (encryptedDek.length === 0 || encryptedDek.length > 4096) {
301
+ throw new TypeError("encryptedDekHex must contain between 1 and 4096 bytes");
302
+ }
303
+ const tx = new ctx.Transaction();
304
+ const packageId = requiredChainField(ctx.chain, "messagingPackageId");
305
+ tx.moveCall({
306
+ target: `${packageId}::messaging::create_agent_and_share_group`,
307
+ arguments: [
308
+ tx.object(requiredChainField(ctx.chain, "messagingVersionId")),
309
+ tx.object(requiredChainField(ctx.chain, "messagingNamespaceId")),
310
+ tx.object(requiredChainField(ctx.chain, "messagingGroupManagerId")),
311
+ tx.object(requiredChainField(ctx.chain, "messagingGroupLeaverId")),
312
+ tx.object(ctx.chain.blockListRegistryId),
313
+ tx.object(params.platformObjectId ?? ctx.chain.platformObjectId),
314
+ tx.object(ctx.chain.memoryConfigId),
315
+ tx.object(ctx.memoryAccountId),
316
+ tx.object(params.crossPrincipalPeerAccountId ?? ctx.memoryAccountId),
317
+ tx.pure("string", params.name),
318
+ tx.pure("string", params.uuid),
319
+ tx.pure("vector<u8>", encryptedDek),
320
+ tx.pure("vector<address>", params.initialMembers),
321
+ tx.object(ctx.chain.clockId ?? MYSO_CLOCK),
322
+ ],
323
+ });
324
+ return tx;
325
+ }
326
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/ptb/organization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { SocialChainConfig } from "../types.js";
2
+ import type { CreateCommentParams, CreatePostParams, CreateRepostParams, ReactToCommentParams, ReactToPostParams } from "../types.js";
3
+ export interface BuildTxContext {
4
+ Transaction: new () => any;
5
+ chain: SocialChainConfig;
6
+ memoryAccountId: string;
7
+ }
8
+ interface ResolvedPostAccess {
9
+ accessKind: 1 | 2 | 3;
10
+ subscriptionServiceId?: string;
11
+ linkedMydataId?: string;
12
+ subscriptionMinTierLevel?: number;
13
+ }
14
+ /** Resolves legacy aliases and enforces the field combinations accepted by Move. */
15
+ export declare function resolveCreatePostAccess(params: CreatePostParams): ResolvedPostAccess;
16
+ export declare function buildCreatePostTx(ctx: BuildTxContext & {
17
+ memoryAccountId: string;
18
+ }, params: CreatePostParams): any;
19
+ export declare function buildCreateCommentTx(ctx: BuildTxContext, params: CreateCommentParams, platformObjectId?: string): any;
20
+ export declare function buildReactToPostTx(ctx: BuildTxContext, params: ReactToPostParams): any;
21
+ export declare function buildReactToCommentTx(ctx: BuildTxContext, params: ReactToCommentParams): any;
22
+ export declare function buildCreateRepostTx(ctx: BuildTxContext, params: CreateRepostParams): any;
23
+ export declare function buildDeletePostTx(chain: SocialChainConfig, postId: string, Transaction: new () => any): any;
24
+ export declare function buildDeleteCommentTx(chain: SocialChainConfig, postId: string, commentId: string, Transaction: new () => any): any;
25
+ export {};
26
+ //# sourceMappingURL=post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/ptb/post.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EACR,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACpB,MAAM,aAAa,CAAC;AAkBrB,MAAM,WAAW,cAAc;IAC3B,WAAW,EAAE,UAAU,GAAG,CAAC;IAC3B,KAAK,EAAE,iBAAiB,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAqBD,UAAU,kBAAkB;IACxB,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,gBAAgB,GACzB,kBAAkB,CAkEpB;AAED,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,cAAc,GAAG;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,EACjD,MAAM,EAAE,gBAAgB,GACzB,GAAG,CAqCL;AAED,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,mBAAmB,EAC3B,gBAAgB,CAAC,EAAE,MAAM,GAC1B,GAAG,CA0BL;AAED,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,iBAAiB,GAC1B,GAAG,CAsBL;AAED,wBAAgB,qBAAqB,CACjC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,oBAAoB,GAC7B,GAAG,CAsBL;AAED,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,kBAAkB,GAC3B,GAAG,CAmCL;AAED,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,UAAU,GAAG,GAC3B,GAAG,CAUL;AAED,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GAAG,GAC3B,GAAG,CAWL"}
@@ -0,0 +1,233 @@
1
+ import { POST_ACCESS_MARKETPLACE_ONE_TIME, POST_ACCESS_PROFILE_SUBSCRIPTION, POST_ACCESS_PUBLIC, } from "../contract.js";
2
+ import { MYSO_CLOCK, optAddress, optAddressVec, optBool, optString, optStringVec, optU64, postModuleTarget, resolvePlatformObjectId, } from "./helpers.js";
3
+ function sharedObjects(tx, chain, platformObjectId, memoryAccountId) {
4
+ return {
5
+ registry: tx.object(chain.usernameRegistryId),
6
+ platformRegistry: tx.object(chain.platformRegistryId),
7
+ platform: tx.object(platformObjectId),
8
+ blockList: tx.object(chain.blockListRegistryId),
9
+ postConfig: tx.object(chain.postConfigId),
10
+ memoryConfig: tx.object(chain.memoryConfigId),
11
+ mydataRegistry: tx.object(chain.mydataRegistryId),
12
+ memoryAccount: tx.object(memoryAccountId),
13
+ clock: tx.object(chain.clockId ?? MYSO_CLOCK),
14
+ };
15
+ }
16
+ /** Resolves legacy aliases and enforces the field combinations accepted by Move. */
17
+ export function resolveCreatePostAccess(params) {
18
+ if (params.enablePoc === true) {
19
+ throw new TypeError("enablePoc is no longer accepted by post::create_post");
20
+ }
21
+ if (params.mydataId !== undefined &&
22
+ params.linkedMydataId !== undefined &&
23
+ params.mydataId !== params.linkedMydataId) {
24
+ throw new TypeError("mydataId and linkedMydataId must not disagree");
25
+ }
26
+ const linkedMydataId = params.linkedMydataId ?? params.mydataId;
27
+ const hasAccessFields = params.subscriptionServiceId !== undefined ||
28
+ linkedMydataId !== undefined ||
29
+ params.subscriptionMinTierLevel !== undefined;
30
+ if (params.accessKind === undefined && hasAccessFields) {
31
+ throw new TypeError("accessKind is required when subscription or linked MyData fields are supplied");
32
+ }
33
+ const accessKind = params.accessKind ?? POST_ACCESS_PUBLIC;
34
+ if (accessKind === POST_ACCESS_PUBLIC) {
35
+ if (hasAccessFields) {
36
+ throw new TypeError("Public posts cannot include subscription or linked MyData fields");
37
+ }
38
+ }
39
+ else if (accessKind === POST_ACCESS_PROFILE_SUBSCRIPTION) {
40
+ if (!params.subscriptionServiceId) {
41
+ throw new TypeError("subscriptionServiceId is required for profile-subscription posts");
42
+ }
43
+ }
44
+ else if (accessKind === POST_ACCESS_MARKETPLACE_ONE_TIME) {
45
+ if (!linkedMydataId) {
46
+ throw new TypeError("linkedMydataId is required for marketplace one-time posts");
47
+ }
48
+ if (params.subscriptionServiceId !== undefined ||
49
+ params.subscriptionMinTierLevel !== undefined) {
50
+ throw new TypeError("Marketplace one-time posts cannot include subscription fields");
51
+ }
52
+ }
53
+ else {
54
+ throw new TypeError(`Unsupported post accessKind: ${String(accessKind)}`);
55
+ }
56
+ if (params.subscriptionMinTierLevel !== undefined &&
57
+ (!Number.isSafeInteger(params.subscriptionMinTierLevel) ||
58
+ params.subscriptionMinTierLevel < 0)) {
59
+ throw new TypeError("subscriptionMinTierLevel must be a non-negative safe integer");
60
+ }
61
+ return {
62
+ accessKind,
63
+ subscriptionServiceId: params.subscriptionServiceId,
64
+ linkedMydataId,
65
+ subscriptionMinTierLevel: params.subscriptionMinTierLevel,
66
+ };
67
+ }
68
+ export function buildCreatePostTx(ctx, params) {
69
+ const { Transaction, chain, memoryAccountId } = ctx;
70
+ const tx = new Transaction();
71
+ const platformId = resolvePlatformObjectId(chain, params.platformObjectId);
72
+ const objs = sharedObjects(tx, chain, platformId, memoryAccountId);
73
+ const access = resolveCreatePostAccess(params);
74
+ tx.moveCall({
75
+ target: postModuleTarget(chain, "create_post"),
76
+ arguments: [
77
+ objs.registry,
78
+ objs.platformRegistry,
79
+ objs.platform,
80
+ objs.blockList,
81
+ objs.postConfig,
82
+ objs.memoryConfig,
83
+ tx.pure("string", params.content),
84
+ optStringVec(tx, params.mediaUrls),
85
+ optAddressVec(tx, params.mentions),
86
+ optString(tx, params.metadataJson),
87
+ optBool(tx, params.allowComments),
88
+ optBool(tx, params.allowReactions),
89
+ optBool(tx, params.allowReposts),
90
+ optBool(tx, params.allowQuotes),
91
+ optBool(tx, params.allowTips),
92
+ optBool(tx, params.enableSpt),
93
+ optBool(tx, params.enableSpot),
94
+ tx.pure("u8", access.accessKind),
95
+ optAddress(tx, access.subscriptionServiceId),
96
+ optAddress(tx, access.linkedMydataId),
97
+ optU64(tx, access.subscriptionMinTierLevel),
98
+ objs.mydataRegistry,
99
+ objs.memoryAccount,
100
+ objs.clock,
101
+ ],
102
+ });
103
+ return tx;
104
+ }
105
+ export function buildCreateCommentTx(ctx, params, platformObjectId) {
106
+ const { Transaction, chain, memoryAccountId } = ctx;
107
+ const tx = new Transaction();
108
+ const platformId = resolvePlatformObjectId(chain, platformObjectId);
109
+ const objs = sharedObjects(tx, chain, platformId, memoryAccountId);
110
+ tx.moveCall({
111
+ target: postModuleTarget(chain, "create_comment"),
112
+ arguments: [
113
+ objs.registry,
114
+ objs.platformRegistry,
115
+ objs.platform,
116
+ objs.blockList,
117
+ objs.postConfig,
118
+ objs.memoryConfig,
119
+ objs.memoryAccount,
120
+ tx.object(params.postId),
121
+ optAddress(tx, params.parentCommentId),
122
+ tx.pure("string", params.content),
123
+ optStringVec(tx, params.mediaUrls),
124
+ optAddressVec(tx, params.mentions),
125
+ optString(tx, params.metadataJson),
126
+ objs.clock,
127
+ ],
128
+ });
129
+ return tx;
130
+ }
131
+ export function buildReactToPostTx(ctx, params) {
132
+ const { Transaction, chain, memoryAccountId } = ctx;
133
+ const tx = new Transaction();
134
+ const platformId = resolvePlatformObjectId(chain, params.platformObjectId);
135
+ const objs = sharedObjects(tx, chain, platformId, memoryAccountId);
136
+ tx.moveCall({
137
+ target: postModuleTarget(chain, "react_to_post"),
138
+ arguments: [
139
+ objs.registry,
140
+ tx.object(params.postId),
141
+ objs.platformRegistry,
142
+ objs.platform,
143
+ objs.blockList,
144
+ objs.postConfig,
145
+ objs.memoryConfig,
146
+ objs.memoryAccount,
147
+ tx.pure("string", params.reaction),
148
+ objs.clock,
149
+ ],
150
+ });
151
+ return tx;
152
+ }
153
+ export function buildReactToCommentTx(ctx, params) {
154
+ const { Transaction, chain, memoryAccountId } = ctx;
155
+ const tx = new Transaction();
156
+ const platformId = resolvePlatformObjectId(chain, params.platformObjectId);
157
+ const objs = sharedObjects(tx, chain, platformId, memoryAccountId);
158
+ tx.moveCall({
159
+ target: postModuleTarget(chain, "react_to_comment"),
160
+ arguments: [
161
+ objs.registry,
162
+ tx.object(params.commentId),
163
+ objs.platformRegistry,
164
+ objs.platform,
165
+ objs.blockList,
166
+ objs.postConfig,
167
+ objs.memoryConfig,
168
+ objs.memoryAccount,
169
+ tx.pure("string", params.reaction),
170
+ objs.clock,
171
+ ],
172
+ });
173
+ return tx;
174
+ }
175
+ export function buildCreateRepostTx(ctx, params) {
176
+ const { Transaction, chain, memoryAccountId } = ctx;
177
+ const tx = new Transaction();
178
+ const platformId = resolvePlatformObjectId(chain, params.platformObjectId);
179
+ const objs = sharedObjects(tx, chain, platformId, memoryAccountId);
180
+ if (params.enablePoc === true) {
181
+ throw new TypeError("enablePoc is no longer accepted by post::create_repost");
182
+ }
183
+ tx.moveCall({
184
+ target: postModuleTarget(chain, "create_repost"),
185
+ arguments: [
186
+ objs.registry,
187
+ objs.platformRegistry,
188
+ objs.platform,
189
+ objs.blockList,
190
+ objs.postConfig,
191
+ objs.memoryConfig,
192
+ tx.object(params.originalPostId),
193
+ optString(tx, params.content),
194
+ optStringVec(tx, params.mediaUrls),
195
+ optAddressVec(tx, params.mentions),
196
+ optString(tx, params.metadataJson),
197
+ optBool(tx, params.allowComments),
198
+ optBool(tx, params.allowReactions),
199
+ optBool(tx, params.allowReposts),
200
+ optBool(tx, params.allowQuotes),
201
+ optBool(tx, params.allowTips),
202
+ optBool(tx, params.enableSpt),
203
+ optBool(tx, params.enableSpot),
204
+ objs.memoryAccount,
205
+ objs.clock,
206
+ ],
207
+ });
208
+ return tx;
209
+ }
210
+ export function buildDeletePostTx(chain, postId, Transaction) {
211
+ const tx = new Transaction();
212
+ tx.moveCall({
213
+ target: postModuleTarget(chain, "delete_post"),
214
+ arguments: [
215
+ tx.object(postId),
216
+ tx.object(chain.clockId ?? MYSO_CLOCK),
217
+ ],
218
+ });
219
+ return tx;
220
+ }
221
+ export function buildDeleteCommentTx(chain, postId, commentId, Transaction) {
222
+ const tx = new Transaction();
223
+ tx.moveCall({
224
+ target: postModuleTarget(chain, "delete_comment"),
225
+ arguments: [
226
+ tx.object(postId),
227
+ tx.object(commentId),
228
+ tx.object(chain.clockId ?? MYSO_CLOCK),
229
+ ],
230
+ });
231
+ return tx;
232
+ }
233
+ //# sourceMappingURL=post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/ptb/post.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,gCAAgC,EAChC,gCAAgC,EAChC,kBAAkB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,UAAU,EACV,UAAU,EACV,aAAa,EACb,OAAO,EACP,SAAS,EACT,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,uBAAuB,GAC1B,MAAM,cAAc,CAAC;AAQtB,SAAS,aAAa,CAClB,EAAO,EACP,KAAwB,EACxB,gBAAwB,EACxB,eAAuB;IAEvB,OAAO;QACH,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC7C,gBAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACrD,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACrC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC/C,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;QAC7C,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACjD,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;QACzC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC;KAChD,CAAC;AACN,CAAC;AASD,oFAAoF;AACpF,MAAM,UAAU,uBAAuB,CACnC,MAAwB;IAExB,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAChF,CAAC;IACD,IACI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC7B,MAAM,CAAC,cAAc,KAAK,SAAS;QACnC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,cAAc,EAC3C,CAAC;QACC,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC;IAChE,MAAM,eAAe,GACjB,MAAM,CAAC,qBAAqB,KAAK,SAAS;QAC1C,cAAc,KAAK,SAAS;QAC5B,MAAM,CAAC,wBAAwB,KAAK,SAAS,CAAC;IAClD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,eAAe,EAAE,CAAC;QACrD,MAAM,IAAI,SAAS,CACf,+EAA+E,CAClF,CAAC;IACN,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAC3D,IAAI,UAAU,KAAK,kBAAkB,EAAE,CAAC;QACpC,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;SAAM,IAAI,UAAU,KAAK,gCAAgC,EAAE,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CACf,kEAAkE,CACrE,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,UAAU,KAAK,gCAAgC,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,SAAS,CACf,2DAA2D,CAC9D,CAAC;QACN,CAAC;QACD,IACI,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC1C,MAAM,CAAC,wBAAwB,KAAK,SAAS,EAC/C,CAAC;YACC,MAAM,IAAI,SAAS,CACf,+DAA+D,CAClE,CAAC;QACN,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,SAAS,CAAC,gCAAgC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IACI,MAAM,CAAC,wBAAwB,KAAK,SAAS;QAC7C,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,wBAAwB,CAAC;YACnD,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC,EAC1C,CAAC;QACC,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC,CAAC;IACxF,CAAC;IAED,OAAO;QACH,UAAU;QACV,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,cAAc;QACd,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;KAC5D,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,GAAiD,EACjD,MAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAE/C,EAAE,CAAC,QAAQ,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC;QAC9C,SAAS,EAAE;YACP,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,YAAY;YACjB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;YACjC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YAClC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;YAClC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC;YACjC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC;YAClC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC;YAChC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC;YAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC;YAChC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,qBAAqB,CAAC;YAC5C,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC;YACrC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,wBAAwB,CAAC;YAC3C,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,KAAK;SACb;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,GAAmB,EACnB,MAA2B,EAC3B,gBAAyB;IAEzB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAEnE,EAAE,CAAC,QAAQ,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACjD,SAAS,EAAE;YACP,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,aAAa;YAClB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACxB,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,eAAe,CAAC;YACtC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;YACjC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YAClC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;YAClC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,IAAI,CAAC,KAAK;SACb;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,GAAmB,EACnB,MAAyB;IAEzB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAEnE,EAAE,CAAC,QAAQ,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC;QAChD,SAAS,EAAE;YACP,IAAI,CAAC,QAAQ;YACb,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,aAAa;YAClB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,KAAK;SACb;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,GAAmB,EACnB,MAA4B;IAE5B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAEnE,EAAE,CAAC,QAAQ,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC;QACnD,SAAS,EAAE;YACP,IAAI,CAAC,QAAQ;YACb,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3B,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,aAAa;YAClB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,KAAK;SACb;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAC/B,GAAmB,EACnB,MAA0B;IAE1B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;IAClF,CAAC;IAED,EAAE,CAAC,QAAQ,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC;QAChD,SAAS,EAAE;YACP,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,YAAY;YACjB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;YAChC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC;YAC7B,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YAClC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;YAClC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC;YACjC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC;YAClC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC;YAChC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC;YAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,KAAK;SACb;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,KAAwB,EACxB,MAAc,EACd,WAA0B;IAE1B,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,EAAE,CAAC,QAAQ,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC;QAC9C,SAAS,EAAE;YACP,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACjB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC;SACzC;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,KAAwB,EACxB,MAAc,EACd,SAAiB,EACjB,WAA0B;IAE1B,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,EAAE,CAAC,QAAQ,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACjD,SAAS,EAAE;YACP,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACjB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC;SACzC;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=post.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.test.d.ts","sourceRoot":"","sources":["../../src/ptb/post.test.ts"],"names":[],"mappings":""}