@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.
- package/dist/action-registry/canonical.d.ts +6 -0
- package/dist/action-registry/canonical.d.ts.map +1 -0
- package/dist/action-registry/canonical.js +50 -0
- package/dist/action-registry/canonical.js.map +1 -0
- package/dist/action-registry/index.d.ts +6 -0
- package/dist/action-registry/index.d.ts.map +1 -0
- package/dist/action-registry/index.js +6 -0
- package/dist/action-registry/index.js.map +1 -0
- package/dist/action-registry/production-catalog.d.ts +20 -0
- package/dist/action-registry/production-catalog.d.ts.map +1 -0
- package/dist/action-registry/production-catalog.js +205 -0
- package/dist/action-registry/production-catalog.js.map +1 -0
- package/dist/action-registry/production-catalog.test.d.ts +2 -0
- package/dist/action-registry/production-catalog.test.d.ts.map +1 -0
- package/dist/action-registry/production-catalog.test.js +50 -0
- package/dist/action-registry/production-catalog.test.js.map +1 -0
- package/dist/action-registry/registry.d.ts +23 -0
- package/dist/action-registry/registry.d.ts.map +1 -0
- package/dist/action-registry/registry.js +642 -0
- package/dist/action-registry/registry.js.map +1 -0
- package/dist/action-registry/registry.test.d.ts +2 -0
- package/dist/action-registry/registry.test.d.ts.map +1 -0
- package/dist/action-registry/registry.test.js +336 -0
- package/dist/action-registry/registry.test.js.map +1 -0
- package/dist/action-registry/types.d.ts +142 -0
- package/dist/action-registry/types.d.ts.map +1 -0
- package/dist/action-registry/types.js +38 -0
- package/dist/action-registry/types.js.map +1 -0
- package/dist/action-registry/validation.d.ts +3 -0
- package/dist/action-registry/validation.d.ts.map +1 -0
- package/dist/action-registry/validation.js +108 -0
- package/dist/action-registry/validation.js.map +1 -0
- package/dist/client.d.ts +51 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +412 -0
- package/dist/client.js.map +1 -0
- package/dist/client.test.d.ts +2 -0
- package/dist/client.test.d.ts.map +1 -0
- package/dist/client.test.js +203 -0
- package/dist/client.test.js.map +1 -0
- package/dist/contract.d.ts +23 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +27 -0
- package/dist/contract.js.map +1 -0
- package/dist/effects.d.ts +11 -0
- package/dist/effects.d.ts.map +1 -0
- package/dist/effects.js +73 -0
- package/dist/effects.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/ptb/helpers.d.ts +11 -0
- package/dist/ptb/helpers.d.ts.map +1 -0
- package/dist/ptb/helpers.js +26 -0
- package/dist/ptb/helpers.js.map +1 -0
- package/dist/ptb/index.d.ts +5 -0
- package/dist/ptb/index.d.ts.map +1 -0
- package/dist/ptb/index.js +5 -0
- package/dist/ptb/index.js.map +1 -0
- package/dist/ptb/organization.d.ts +22 -0
- package/dist/ptb/organization.d.ts.map +1 -0
- package/dist/ptb/organization.js +326 -0
- package/dist/ptb/organization.js.map +1 -0
- package/dist/ptb/post.d.ts +26 -0
- package/dist/ptb/post.d.ts.map +1 -0
- package/dist/ptb/post.js +233 -0
- package/dist/ptb/post.js.map +1 -0
- package/dist/ptb/post.test.d.ts +2 -0
- package/dist/ptb/post.test.d.ts.map +1 -0
- package/dist/ptb/post.test.js +188 -0
- package/dist/ptb/post.test.js.map +1 -0
- package/dist/ptb/tier1.d.ts +14 -0
- package/dist/ptb/tier1.d.ts.map +1 -0
- package/dist/ptb/tier1.js +189 -0
- package/dist/ptb/tier1.js.map +1 -0
- package/dist/signing.d.ts +5 -0
- package/dist/signing.d.ts.map +1 -0
- package/dist/signing.js +31 -0
- package/dist/signing.js.map +1 -0
- package/dist/types.d.ts +261 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
function isPlainObject(value) {
|
|
2
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
3
|
+
return false;
|
|
4
|
+
}
|
|
5
|
+
const prototype = Object.getPrototypeOf(value);
|
|
6
|
+
return prototype === Object.prototype || prototype === null;
|
|
7
|
+
}
|
|
8
|
+
function validateProperty(path, value, schema) {
|
|
9
|
+
if (schema.type === "string") {
|
|
10
|
+
if (typeof value !== "string") {
|
|
11
|
+
return [{ code: "invalid_type", path, message: `${path} must be a string` }];
|
|
12
|
+
}
|
|
13
|
+
if (schema.minLength !== undefined && value.length < schema.minLength) {
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
code: "min_length",
|
|
17
|
+
path,
|
|
18
|
+
message: `${path} must contain at least ${schema.minLength} character(s)`,
|
|
19
|
+
},
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
if (schema.type === "boolean") {
|
|
25
|
+
return typeof value === "boolean"
|
|
26
|
+
? []
|
|
27
|
+
: [{ code: "invalid_type", path, message: `${path} must be a boolean` }];
|
|
28
|
+
}
|
|
29
|
+
if (schema.type === "integer") {
|
|
30
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value)) {
|
|
31
|
+
return [
|
|
32
|
+
{
|
|
33
|
+
code: "invalid_type",
|
|
34
|
+
path,
|
|
35
|
+
message: `${path} must be a safe integer`,
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
if ((schema.minimum !== undefined && value < schema.minimum) ||
|
|
40
|
+
(schema.maximum !== undefined && value > schema.maximum) ||
|
|
41
|
+
(schema.enum !== undefined && !schema.enum.includes(value))) {
|
|
42
|
+
return [
|
|
43
|
+
{
|
|
44
|
+
code: "invalid_value",
|
|
45
|
+
path,
|
|
46
|
+
message: `${path} is outside the accepted integer values`,
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
if (!Array.isArray(value)) {
|
|
53
|
+
return [{ code: "invalid_type", path, message: `${path} must be an array` }];
|
|
54
|
+
}
|
|
55
|
+
if (schema.maxItems !== undefined && value.length > schema.maxItems) {
|
|
56
|
+
return [
|
|
57
|
+
{
|
|
58
|
+
code: "max_items",
|
|
59
|
+
path,
|
|
60
|
+
message: `${path} must contain no more than ${schema.maxItems} item(s)`,
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
return value.flatMap((item, index) => validateProperty(`${path}[${index}]`, item, schema.items));
|
|
65
|
+
}
|
|
66
|
+
export function createSocialActionValidator(schema) {
|
|
67
|
+
return (input) => {
|
|
68
|
+
if (!isPlainObject(input)) {
|
|
69
|
+
return {
|
|
70
|
+
success: false,
|
|
71
|
+
issues: [
|
|
72
|
+
{
|
|
73
|
+
code: "invalid_object",
|
|
74
|
+
path: "$",
|
|
75
|
+
message: "Action parameters must be a plain JSON object",
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const issues = [];
|
|
81
|
+
const allowedKeys = new Set(Object.keys(schema.properties));
|
|
82
|
+
for (const requiredKey of schema.required) {
|
|
83
|
+
if (!Object.hasOwn(input, requiredKey)) {
|
|
84
|
+
issues.push({
|
|
85
|
+
code: "required",
|
|
86
|
+
path: `$.${requiredKey}`,
|
|
87
|
+
message: `${requiredKey} is required`,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
for (const [key, value] of Object.entries(input)) {
|
|
92
|
+
const propertySchema = schema.properties[key];
|
|
93
|
+
if (!allowedKeys.has(key) || propertySchema === undefined) {
|
|
94
|
+
issues.push({
|
|
95
|
+
code: "additional_property",
|
|
96
|
+
path: `$.${key}`,
|
|
97
|
+
message: `${key} is not accepted for this action`,
|
|
98
|
+
});
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
issues.push(...validateProperty(`$.${key}`, value, propertySchema));
|
|
102
|
+
}
|
|
103
|
+
return issues.length > 0
|
|
104
|
+
? { success: false, issues }
|
|
105
|
+
: { success: true, value: input };
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/action-registry/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { CreateCommentParams, CreatePostParams, CreateRepostParams, DeleteCommentParams, ReactToCommentParams, ReactToPostParams, RemovePostReactionParams, RemoveCommentReactionParams, EditPostParams, EditCommentParams, RemoveRepostParams, ProfileRelationParams, SendMessageParams, CreateMessagingGroupParams, CreateOrganizationParams, UpdateOrganizationMetadataParams, UpdateOrganizationCategoryParams, OrganizationObjectParams, DefineOrganizationRoleParams, OrganizationRoleParams, CreateOrganizationInvitationParams, OrganizationInvitationDecisionParams, RegisterRootAgentParams, RegisterChildAgentParams, UpdateManagedAgentParams, ManagedAgentParams, SocialActionResult, SocialActionOptions, SocialClientConfig } from "./types.js";
|
|
2
|
+
export declare class SocialClient {
|
|
3
|
+
private privateKey;
|
|
4
|
+
private publicKey;
|
|
5
|
+
private serverUrl;
|
|
6
|
+
private accountId;
|
|
7
|
+
private platformId?;
|
|
8
|
+
private ownerWallet?;
|
|
9
|
+
private constructor();
|
|
10
|
+
static create(config: SocialClientConfig): SocialClient;
|
|
11
|
+
createPost(params: CreatePostParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
12
|
+
createComment(params: CreateCommentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
13
|
+
reactToPost(params: ReactToPostParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
14
|
+
reactToComment(params: ReactToCommentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
15
|
+
createRepost(params: CreateRepostParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
16
|
+
removePostReaction(params: RemovePostReactionParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
17
|
+
removeCommentReaction(params: RemoveCommentReactionParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
18
|
+
editPost(params: EditPostParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
19
|
+
editComment(params: EditCommentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
20
|
+
removeRepost(params: RemoveRepostParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
21
|
+
followProfile(params: ProfileRelationParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
22
|
+
unfollowProfile(params: ProfileRelationParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
23
|
+
blockProfile(params: ProfileRelationParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
24
|
+
unblockProfile(params: ProfileRelationParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
25
|
+
sendMessage(params: SendMessageParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
26
|
+
createMessagingGroup(params: CreateMessagingGroupParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
27
|
+
createOrganization(params: CreateOrganizationParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
28
|
+
updateOrganizationMetadata(params: UpdateOrganizationMetadataParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
29
|
+
updateOrganizationCategory(params: UpdateOrganizationCategoryParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
30
|
+
deactivateOrganization(params: OrganizationObjectParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
31
|
+
ensureOrganizationMemoryGroup(params: OrganizationObjectParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
32
|
+
defineOrganizationRole(params: DefineOrganizationRoleParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
33
|
+
assignOrganizationRole(params: OrganizationRoleParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
34
|
+
revokeOrganizationRole(params: OrganizationRoleParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
35
|
+
createOrganizationInvitation(params: CreateOrganizationInvitationParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
36
|
+
acceptOrganizationInvitation(params: OrganizationInvitationDecisionParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
37
|
+
declineOrganizationInvitation(params: OrganizationInvitationDecisionParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
38
|
+
registerRootAgent(params: RegisterRootAgentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
39
|
+
registerChildAgent(params: RegisterChildAgentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
40
|
+
updateChildAgent(params: UpdateManagedAgentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
41
|
+
deactivateChildAgent(params: ManagedAgentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
42
|
+
revokeChildAgent(params: ManagedAgentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
43
|
+
deletePost(postId: string, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
44
|
+
deleteComment(params: DeleteCommentParams, options?: SocialActionOptions): Promise<SocialActionResult>;
|
|
45
|
+
private executeRegistered;
|
|
46
|
+
private executeOwnerApproved;
|
|
47
|
+
private fetchDeploymentConfig;
|
|
48
|
+
private getPublicKey;
|
|
49
|
+
private signedRequest;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
import { sha256hex, hexToBytes, bytesToHex, normalizeServerUrl } from "./signing.js";
|
|
2
|
+
import { MEMORY_TYPESCRIPT_COMPATIBILITY_VERSION } from "@socialproof/memory";
|
|
3
|
+
import { SOCIAL_ACTION_REGISTRY_VERSION, getSocialActionDescriptor, } from "./action-registry/index.js";
|
|
4
|
+
let _ed = null;
|
|
5
|
+
async function getEd() {
|
|
6
|
+
if (!_ed)
|
|
7
|
+
_ed = await import("@noble/ed25519");
|
|
8
|
+
return _ed;
|
|
9
|
+
}
|
|
10
|
+
function normalizedAddress(value) {
|
|
11
|
+
const hex = value.trim().toLowerCase().replace(/^0x/, "");
|
|
12
|
+
return /^[0-9a-f]{1,64}$/.test(hex) ? `0x${hex.padStart(64, "0")}` : "";
|
|
13
|
+
}
|
|
14
|
+
function normalizedUrl(value) {
|
|
15
|
+
try {
|
|
16
|
+
const parsed = new URL(value);
|
|
17
|
+
if (parsed.protocol !== "https:" && parsed.protocol !== "http:")
|
|
18
|
+
return "";
|
|
19
|
+
return parsed.toString().replace(/\/$/, "");
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return "";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function assertAuthenticatedDeployment(deployment, context) {
|
|
26
|
+
if (context.network !== deployment.network ||
|
|
27
|
+
normalizedUrl(context.rpcUrl) !== normalizedUrl(deployment.mysoRpcUrl)) {
|
|
28
|
+
throw new Error("Authenticated network context differs from public deployment config");
|
|
29
|
+
}
|
|
30
|
+
const fields = [
|
|
31
|
+
"packageId",
|
|
32
|
+
"usernameRegistryId",
|
|
33
|
+
"platformRegistryId",
|
|
34
|
+
"platformObjectId",
|
|
35
|
+
"blockListRegistryId",
|
|
36
|
+
"postConfigId",
|
|
37
|
+
"memoryConfigId",
|
|
38
|
+
"mydataRegistryId",
|
|
39
|
+
"clockId",
|
|
40
|
+
];
|
|
41
|
+
for (const field of fields) {
|
|
42
|
+
const publicValue = deployment.socialChain[field] ?? (field === "clockId" ? "0x6" : "");
|
|
43
|
+
const authenticatedValue = context.socialChain[field] ?? (field === "clockId" ? "0x6" : "");
|
|
44
|
+
const publicAddress = normalizedAddress(publicValue);
|
|
45
|
+
const authenticatedAddress = normalizedAddress(authenticatedValue);
|
|
46
|
+
if (!publicAddress || !authenticatedAddress || publicAddress !== authenticatedAddress) {
|
|
47
|
+
throw new Error(`Authenticated socialChain.${field} differs from public deployment config`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
for (const field of [
|
|
51
|
+
"socialGraphId",
|
|
52
|
+
"messagingPackageId",
|
|
53
|
+
"messagingVersionId",
|
|
54
|
+
"messagingConfigId",
|
|
55
|
+
"messagingNamespaceId",
|
|
56
|
+
"messagingGroupManagerId",
|
|
57
|
+
"messagingGroupLeaverId",
|
|
58
|
+
]) {
|
|
59
|
+
const publicValue = deployment.socialChain[field];
|
|
60
|
+
const authenticatedValue = context.socialChain[field];
|
|
61
|
+
if (publicValue === undefined && authenticatedValue === undefined)
|
|
62
|
+
continue;
|
|
63
|
+
if (typeof publicValue !== "string" ||
|
|
64
|
+
typeof authenticatedValue !== "string" ||
|
|
65
|
+
normalizedAddress(publicValue) !== normalizedAddress(authenticatedValue)) {
|
|
66
|
+
throw new Error(`Authenticated socialChain.${field} differs from public deployment config`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (context.packageId &&
|
|
70
|
+
normalizedAddress(context.packageId) !== normalizedAddress(context.socialChain.packageId)) {
|
|
71
|
+
throw new Error("Authenticated packageId differs from authenticated social chain");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function base64ToBytes(value) {
|
|
75
|
+
const binary = atob(value);
|
|
76
|
+
return Uint8Array.from(binary, (char) => char.charCodeAt(0));
|
|
77
|
+
}
|
|
78
|
+
function actionIdempotencyKey(requested) {
|
|
79
|
+
const key = requested ?? globalThis.crypto?.randomUUID?.();
|
|
80
|
+
if (!key || !/^[A-Za-z0-9._:/-]{8,128}$/.test(key)) {
|
|
81
|
+
throw new Error("idempotencyKey must be 8-128 URL-safe characters");
|
|
82
|
+
}
|
|
83
|
+
return key;
|
|
84
|
+
}
|
|
85
|
+
export class SocialClient {
|
|
86
|
+
privateKey;
|
|
87
|
+
publicKey = null;
|
|
88
|
+
serverUrl;
|
|
89
|
+
accountId;
|
|
90
|
+
platformId;
|
|
91
|
+
ownerWallet;
|
|
92
|
+
constructor(config) {
|
|
93
|
+
if (!normalizedAddress(config.accountId)) {
|
|
94
|
+
throw new Error("accountId must be a valid MySo object ID");
|
|
95
|
+
}
|
|
96
|
+
this.privateKey =
|
|
97
|
+
typeof config.key === "string" ? hexToBytes(config.key) : config.key;
|
|
98
|
+
this.accountId = config.accountId;
|
|
99
|
+
this.serverUrl = normalizeServerUrl(config.serverUrl ?? "https://memory.mysocial.network/");
|
|
100
|
+
this.platformId = config.platformId;
|
|
101
|
+
this.ownerWallet = config.ownerWallet;
|
|
102
|
+
}
|
|
103
|
+
static create(config) {
|
|
104
|
+
if (config.ownerCoSignKey) {
|
|
105
|
+
throw new Error("ownerCoSignKey is no longer accepted; owner operations require a wallet approval flow");
|
|
106
|
+
}
|
|
107
|
+
return new SocialClient(config);
|
|
108
|
+
}
|
|
109
|
+
async createPost(params, options) {
|
|
110
|
+
return this.executeRegistered("social.create_post.v1", params, options);
|
|
111
|
+
}
|
|
112
|
+
async createComment(params, options) {
|
|
113
|
+
return this.executeRegistered("social.create_comment.v1", params, options);
|
|
114
|
+
}
|
|
115
|
+
async reactToPost(params, options) {
|
|
116
|
+
return this.executeRegistered("social.react_to_post.v1", params, options);
|
|
117
|
+
}
|
|
118
|
+
async reactToComment(params, options) {
|
|
119
|
+
return this.executeRegistered("social.react_to_comment.v1", params, options);
|
|
120
|
+
}
|
|
121
|
+
async createRepost(params, options) {
|
|
122
|
+
return this.executeRegistered("social.create_repost.v1", params, options);
|
|
123
|
+
}
|
|
124
|
+
async removePostReaction(params, options) {
|
|
125
|
+
return this.executeRegistered("social.remove_post_reaction.v1", params, options);
|
|
126
|
+
}
|
|
127
|
+
async removeCommentReaction(params, options) {
|
|
128
|
+
return this.executeRegistered("social.remove_comment_reaction.v1", params, options);
|
|
129
|
+
}
|
|
130
|
+
async editPost(params, options) {
|
|
131
|
+
return this.executeRegistered("social.edit_post.v1", params, options);
|
|
132
|
+
}
|
|
133
|
+
async editComment(params, options) {
|
|
134
|
+
return this.executeRegistered("social.edit_comment.v1", params, options);
|
|
135
|
+
}
|
|
136
|
+
async removeRepost(params, options) {
|
|
137
|
+
return this.executeRegistered("social.remove_repost.v1", params, options);
|
|
138
|
+
}
|
|
139
|
+
async followProfile(params, options) {
|
|
140
|
+
return this.executeRegistered("social.follow_profile.v1", params, options);
|
|
141
|
+
}
|
|
142
|
+
async unfollowProfile(params, options) {
|
|
143
|
+
return this.executeRegistered("social.unfollow_profile.v1", params, options);
|
|
144
|
+
}
|
|
145
|
+
async blockProfile(params, options) {
|
|
146
|
+
return this.executeRegistered("social.block_profile.v1", params, options);
|
|
147
|
+
}
|
|
148
|
+
async unblockProfile(params, options) {
|
|
149
|
+
return this.executeRegistered("social.unblock_profile.v1", params, options);
|
|
150
|
+
}
|
|
151
|
+
async sendMessage(params, options) {
|
|
152
|
+
return this.executeRegistered("messaging.send_message.v1", params, options);
|
|
153
|
+
}
|
|
154
|
+
async createMessagingGroup(params, options) {
|
|
155
|
+
return this.executeRegistered("messaging.create_group.v1", params, options);
|
|
156
|
+
}
|
|
157
|
+
async createOrganization(params, options) {
|
|
158
|
+
return this.executeRegistered("organization.create.v1", params, options);
|
|
159
|
+
}
|
|
160
|
+
async updateOrganizationMetadata(params, options) {
|
|
161
|
+
return this.executeRegistered("organization.update_metadata.v1", params, options);
|
|
162
|
+
}
|
|
163
|
+
async updateOrganizationCategory(params, options) {
|
|
164
|
+
return this.executeRegistered("organization.update_category.v1", params, options);
|
|
165
|
+
}
|
|
166
|
+
async deactivateOrganization(params, options) {
|
|
167
|
+
return this.executeRegistered("organization.deactivate.v1", params, options);
|
|
168
|
+
}
|
|
169
|
+
async ensureOrganizationMemoryGroup(params, options) {
|
|
170
|
+
return this.executeRegistered("organization.ensure_memory_group.v1", params, options);
|
|
171
|
+
}
|
|
172
|
+
async defineOrganizationRole(params, options) {
|
|
173
|
+
return this.executeRegistered("organization.define_role.v1", params, options);
|
|
174
|
+
}
|
|
175
|
+
async assignOrganizationRole(params, options) {
|
|
176
|
+
return this.executeRegistered("organization.assign_role.v1", params, options);
|
|
177
|
+
}
|
|
178
|
+
async revokeOrganizationRole(params, options) {
|
|
179
|
+
return this.executeRegistered("organization.revoke_role.v1", params, options);
|
|
180
|
+
}
|
|
181
|
+
async createOrganizationInvitation(params, options) {
|
|
182
|
+
return this.executeRegistered("organization.create_invitation.v1", params, options);
|
|
183
|
+
}
|
|
184
|
+
async acceptOrganizationInvitation(params, options) {
|
|
185
|
+
return this.executeRegistered("organization.accept_invitation.v1", params, options);
|
|
186
|
+
}
|
|
187
|
+
async declineOrganizationInvitation(params, options) {
|
|
188
|
+
return this.executeRegistered("organization.decline_invitation.v1", params, options);
|
|
189
|
+
}
|
|
190
|
+
async registerRootAgent(params, options) {
|
|
191
|
+
return this.executeRegistered("agent.register_agent.v1", params, options);
|
|
192
|
+
}
|
|
193
|
+
async registerChildAgent(params, options) {
|
|
194
|
+
return this.executeRegistered("agent.register_child.v1", params, options);
|
|
195
|
+
}
|
|
196
|
+
async updateChildAgent(params, options) {
|
|
197
|
+
return this.executeRegistered("agent.update_child.v1", params, options);
|
|
198
|
+
}
|
|
199
|
+
async deactivateChildAgent(params, options) {
|
|
200
|
+
return this.executeRegistered("agent.deactivate_child.v1", params, options);
|
|
201
|
+
}
|
|
202
|
+
async revokeChildAgent(params, options) {
|
|
203
|
+
return this.executeRegistered("agent.revoke_child.v1", params, options);
|
|
204
|
+
}
|
|
205
|
+
async deletePost(postId, options) {
|
|
206
|
+
return this.executeOwnerApproved("social.delete_post.v1", { postId }, options);
|
|
207
|
+
}
|
|
208
|
+
async deleteComment(params, options) {
|
|
209
|
+
return this.executeOwnerApproved("social.delete_comment.v1", params, options);
|
|
210
|
+
}
|
|
211
|
+
async executeRegistered(actionId, parameters, options) {
|
|
212
|
+
const deployment = await this.fetchDeploymentConfig();
|
|
213
|
+
this.platformId ??= deployment.socialChain.platformObjectId;
|
|
214
|
+
const context = await this.signedRequest("GET", "/api/agent/context", {});
|
|
215
|
+
const contextAccount = normalizedAddress(context.memoryAccountId);
|
|
216
|
+
const configuredAccount = normalizedAddress(this.accountId);
|
|
217
|
+
if (!contextAccount || !configuredAccount || contextAccount !== configuredAccount) {
|
|
218
|
+
throw new Error("Authenticated agent context does not match accountId");
|
|
219
|
+
}
|
|
220
|
+
assertAuthenticatedDeployment(deployment, context);
|
|
221
|
+
const descriptor = getSocialActionDescriptor(actionId);
|
|
222
|
+
const capability = BigInt(descriptor.requiredCapability);
|
|
223
|
+
if ((BigInt(context.capabilities) & capability) !== capability) {
|
|
224
|
+
throw new Error(`Agent lacks capability required by ${actionId}`);
|
|
225
|
+
}
|
|
226
|
+
if ((descriptor.riskTier !== "1A" && descriptor.riskTier !== "1B") ||
|
|
227
|
+
(BigInt(context.approvalRequiredCapabilities) & capability) === capability) {
|
|
228
|
+
return this.executeOwnerApproved(actionId, parameters, options, context);
|
|
229
|
+
}
|
|
230
|
+
if (context.permittedRegistryActions &&
|
|
231
|
+
!context.permittedRegistryActions.includes(actionId)) {
|
|
232
|
+
throw new Error(`${actionId} is not present in the authenticated action catalog`);
|
|
233
|
+
}
|
|
234
|
+
if (context.platformScope &&
|
|
235
|
+
normalizedAddress(context.platformScope) !==
|
|
236
|
+
normalizedAddress(deployment.socialChain.platformObjectId)) {
|
|
237
|
+
throw new Error("Social action is outside the agent platform scope");
|
|
238
|
+
}
|
|
239
|
+
const { Ed25519Keypair } = await import("@socialproof/myso/keypairs/ed25519");
|
|
240
|
+
const signer = Ed25519Keypair.fromSecretKey(this.privateKey);
|
|
241
|
+
const sender = signer.toMySoAddress();
|
|
242
|
+
if (normalizedAddress(sender) !== normalizedAddress(context.derivedAddress)) {
|
|
243
|
+
throw new Error("Local signer does not match authenticated sub-agent address");
|
|
244
|
+
}
|
|
245
|
+
const idempotencyKey = actionIdempotencyKey(options?.idempotencyKey);
|
|
246
|
+
const prepared = await this.signedRequest("POST", "/api/chain/actions/prepare", {
|
|
247
|
+
registryAction: actionId,
|
|
248
|
+
registryVersion: SOCIAL_ACTION_REGISTRY_VERSION,
|
|
249
|
+
idempotencyKey,
|
|
250
|
+
parameters,
|
|
251
|
+
});
|
|
252
|
+
if (prepared.registryAction !== actionId ||
|
|
253
|
+
prepared.registryVersion !== SOCIAL_ACTION_REGISTRY_VERSION ||
|
|
254
|
+
prepared.idempotencyKey !== idempotencyKey ||
|
|
255
|
+
typeof prepared.bytes !== "string" ||
|
|
256
|
+
typeof prepared.digest !== "string" ||
|
|
257
|
+
!Number.isSafeInteger(prepared.expiresAtMs) ||
|
|
258
|
+
prepared.expiresAtMs <= Date.now()) {
|
|
259
|
+
throw new Error("Registered action gateway returned invalid preparation metadata");
|
|
260
|
+
}
|
|
261
|
+
const signed = await signer.signTransaction(base64ToBytes(prepared.bytes));
|
|
262
|
+
const executed = await this.signedRequest("POST", "/api/chain/actions/submit", {
|
|
263
|
+
registryAction: actionId,
|
|
264
|
+
registryVersion: SOCIAL_ACTION_REGISTRY_VERSION,
|
|
265
|
+
idempotencyKey,
|
|
266
|
+
digest: prepared.digest,
|
|
267
|
+
signature: signed.signature,
|
|
268
|
+
});
|
|
269
|
+
if (executed.digest !== prepared.digest) {
|
|
270
|
+
throw new Error("Sponsored execution returned an unexpected digest");
|
|
271
|
+
}
|
|
272
|
+
return { digest: prepared.digest };
|
|
273
|
+
}
|
|
274
|
+
async executeOwnerApproved(actionId, parameters, options, knownContext) {
|
|
275
|
+
const wallet = this.ownerWallet;
|
|
276
|
+
if (!wallet) {
|
|
277
|
+
throw new Error(`${actionId} requires the wallet approval flow and an ownerWallet adapter`);
|
|
278
|
+
}
|
|
279
|
+
const deployment = await this.fetchDeploymentConfig();
|
|
280
|
+
this.platformId ??= deployment.socialChain.platformObjectId;
|
|
281
|
+
const context = knownContext ?? await this.signedRequest("GET", "/api/agent/context", {});
|
|
282
|
+
assertAuthenticatedDeployment(deployment, context);
|
|
283
|
+
const walletAddress = await wallet.getAddress();
|
|
284
|
+
if (normalizedAddress(walletAddress) !== normalizedAddress(context.owner)) {
|
|
285
|
+
throw new Error("Configured owner wallet does not own the authenticated MemoryAccount");
|
|
286
|
+
}
|
|
287
|
+
const descriptor = getSocialActionDescriptor(actionId);
|
|
288
|
+
const capability = BigInt(descriptor.requiredCapability);
|
|
289
|
+
if ((BigInt(context.capabilities) & capability) !== capability) {
|
|
290
|
+
throw new Error(`Agent lacks capability required by ${actionId}`);
|
|
291
|
+
}
|
|
292
|
+
if (context.permittedRegistryActions && !context.permittedRegistryActions.includes(actionId)) {
|
|
293
|
+
throw new Error(`${actionId} is not present in the authenticated action catalog`);
|
|
294
|
+
}
|
|
295
|
+
if (context.platformScope &&
|
|
296
|
+
normalizedAddress(context.platformScope) !== normalizedAddress(deployment.socialChain.platformObjectId)) {
|
|
297
|
+
throw new Error("Approved social action is outside the agent platform scope");
|
|
298
|
+
}
|
|
299
|
+
const validation = descriptor.validate(parameters);
|
|
300
|
+
if (!validation.success) {
|
|
301
|
+
throw new Error(`Invalid ${actionId} parameters`);
|
|
302
|
+
}
|
|
303
|
+
const idempotencyKey = actionIdempotencyKey(options?.idempotencyKey);
|
|
304
|
+
const approval = await this.signedRequest("POST", "/api/chain/approvals/request", {
|
|
305
|
+
registryAction: actionId,
|
|
306
|
+
registryVersion: SOCIAL_ACTION_REGISTRY_VERSION,
|
|
307
|
+
idempotencyKey,
|
|
308
|
+
parameters,
|
|
309
|
+
expiresInSeconds: 600,
|
|
310
|
+
});
|
|
311
|
+
if (approval.registryAction !== actionId ||
|
|
312
|
+
approval.registryVersion !== SOCIAL_ACTION_REGISTRY_VERSION ||
|
|
313
|
+
approval.idempotencyKey !== idempotencyKey ||
|
|
314
|
+
!approval.approvalIntent.startsWith("mysocial-action-approval-v1|") ||
|
|
315
|
+
approval.expiresAtMs <= Date.now()) {
|
|
316
|
+
throw new Error("Action approval gateway returned invalid binding metadata");
|
|
317
|
+
}
|
|
318
|
+
if (approval.status === "pending") {
|
|
319
|
+
const walletApproval = await wallet.signPersonalMessage({
|
|
320
|
+
message: new TextEncoder().encode(approval.approvalIntent),
|
|
321
|
+
});
|
|
322
|
+
const response = await fetch(`${this.serverUrl}/api/chain/approvals/${encodeURIComponent(approval.approvalId)}/approve`, {
|
|
323
|
+
method: "POST",
|
|
324
|
+
headers: { "content-type": "application/json" },
|
|
325
|
+
body: JSON.stringify({ walletSignature: walletApproval.signature }),
|
|
326
|
+
});
|
|
327
|
+
if (!response.ok) {
|
|
328
|
+
throw new Error(`Owner action approval failed (${response.status})`);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
const prepared = await this.signedRequest("POST", "/api/chain/actions/prepare", {
|
|
332
|
+
registryAction: actionId,
|
|
333
|
+
registryVersion: SOCIAL_ACTION_REGISTRY_VERSION,
|
|
334
|
+
idempotencyKey,
|
|
335
|
+
parameters,
|
|
336
|
+
approvalId: approval.approvalId,
|
|
337
|
+
});
|
|
338
|
+
if (prepared.digest.length < 43 || prepared.expiresAtMs <= Date.now()) {
|
|
339
|
+
throw new Error("Approved action preparation is invalid or expired");
|
|
340
|
+
}
|
|
341
|
+
const walletTransaction = await wallet.signTransaction({
|
|
342
|
+
transaction: base64ToBytes(prepared.bytes),
|
|
343
|
+
});
|
|
344
|
+
const executed = await this.signedRequest("POST", "/api/chain/actions/submit", {
|
|
345
|
+
registryAction: actionId,
|
|
346
|
+
registryVersion: SOCIAL_ACTION_REGISTRY_VERSION,
|
|
347
|
+
idempotencyKey,
|
|
348
|
+
approvalId: approval.approvalId,
|
|
349
|
+
digest: prepared.digest,
|
|
350
|
+
signature: walletTransaction.signature,
|
|
351
|
+
});
|
|
352
|
+
if (executed.digest !== prepared.digest) {
|
|
353
|
+
throw new Error("Approved sponsored execution returned an unexpected digest");
|
|
354
|
+
}
|
|
355
|
+
return { digest: prepared.digest, deleted: descriptor.riskTier === "3" };
|
|
356
|
+
}
|
|
357
|
+
async fetchDeploymentConfig() {
|
|
358
|
+
const response = await fetch(`${this.serverUrl}/config`);
|
|
359
|
+
if (!response.ok) {
|
|
360
|
+
throw new Error(`Deployment config failed (${response.status})`);
|
|
361
|
+
}
|
|
362
|
+
const config = (await response.json());
|
|
363
|
+
if (!config.socialChain ||
|
|
364
|
+
typeof config.mysoRpcUrl !== "string" ||
|
|
365
|
+
!["mainnet", "testnet", "devnet", "localnet"].includes(String(config.network))) {
|
|
366
|
+
throw new Error("Deployment config does not expose a valid social chain");
|
|
367
|
+
}
|
|
368
|
+
return config;
|
|
369
|
+
}
|
|
370
|
+
async getPublicKey() {
|
|
371
|
+
if (!this.publicKey) {
|
|
372
|
+
const ed = await getEd();
|
|
373
|
+
this.publicKey = await ed.getPublicKeyAsync(this.privateKey);
|
|
374
|
+
}
|
|
375
|
+
return this.publicKey;
|
|
376
|
+
}
|
|
377
|
+
async signedRequest(method, path, body) {
|
|
378
|
+
const ed = await getEd();
|
|
379
|
+
const timestamp = Math.floor(Date.now() / 1000).toString();
|
|
380
|
+
const bodyStr = method === "GET" ? "" : JSON.stringify(body);
|
|
381
|
+
const bodySha256 = await sha256hex(bodyStr);
|
|
382
|
+
const nonce = crypto.randomUUID();
|
|
383
|
+
const message = `${timestamp}.${method}.${path}.${bodySha256}.${nonce}.${this.accountId}`;
|
|
384
|
+
const msgBytes = new TextEncoder().encode(message);
|
|
385
|
+
const signature = await ed.signAsync(msgBytes, this.privateKey);
|
|
386
|
+
const publicKey = await this.getPublicKey();
|
|
387
|
+
const headers = {
|
|
388
|
+
"Content-Type": "application/json",
|
|
389
|
+
"x-public-key": bytesToHex(publicKey),
|
|
390
|
+
"x-signature": bytesToHex(signature),
|
|
391
|
+
"x-timestamp": timestamp,
|
|
392
|
+
"x-nonce": nonce,
|
|
393
|
+
"x-account-id": this.accountId,
|
|
394
|
+
"x-sdk-compatibility": MEMORY_TYPESCRIPT_COMPATIBILITY_VERSION,
|
|
395
|
+
};
|
|
396
|
+
if (this.platformId) {
|
|
397
|
+
headers["x-platform-id"] = this.platformId;
|
|
398
|
+
}
|
|
399
|
+
const url = `${this.serverUrl}${path}`;
|
|
400
|
+
const res = await fetch(url, {
|
|
401
|
+
method,
|
|
402
|
+
headers,
|
|
403
|
+
body: method === "GET" || bodyStr === "" ? undefined : bodyStr,
|
|
404
|
+
});
|
|
405
|
+
if (!res.ok) {
|
|
406
|
+
const raw = await res.text();
|
|
407
|
+
throw new Error(`Social API ${method} ${path} failed (${res.status}): ${raw}`);
|
|
408
|
+
}
|
|
409
|
+
return res.json();
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":""}
|