@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,6 @@
|
|
|
1
|
+
import type { Sha256Digest } from "./types.js";
|
|
2
|
+
/** Canonical JSON with recursively sorted object keys and strict JSON values. */
|
|
3
|
+
export declare function canonicalizeActionParameters(value: unknown): string;
|
|
4
|
+
export declare function hashActionParameters(value: unknown): Promise<Sha256Digest>;
|
|
5
|
+
export declare function isSha256Digest(value: string): value is Sha256Digest;
|
|
6
|
+
//# sourceMappingURL=canonical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/action-registry/canonical.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA6C/C,iFAAiF;AACjF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEnE;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAGhF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { sha256hex } from "../signing.js";
|
|
2
|
+
function canonicalize(value, ancestors) {
|
|
3
|
+
if (value === null)
|
|
4
|
+
return "null";
|
|
5
|
+
if (typeof value === "string" || typeof value === "boolean") {
|
|
6
|
+
return JSON.stringify(value);
|
|
7
|
+
}
|
|
8
|
+
if (typeof value === "number") {
|
|
9
|
+
if (!Number.isFinite(value)) {
|
|
10
|
+
throw new TypeError("Canonical JSON does not support non-finite numbers");
|
|
11
|
+
}
|
|
12
|
+
return JSON.stringify(value);
|
|
13
|
+
}
|
|
14
|
+
if (typeof value !== "object") {
|
|
15
|
+
throw new TypeError(`Canonical JSON does not support ${typeof value}`);
|
|
16
|
+
}
|
|
17
|
+
if (ancestors.has(value)) {
|
|
18
|
+
throw new TypeError("Canonical JSON does not support cyclic values");
|
|
19
|
+
}
|
|
20
|
+
ancestors.add(value);
|
|
21
|
+
try {
|
|
22
|
+
if (Array.isArray(value)) {
|
|
23
|
+
return `[${value.map((item) => canonicalize(item, ancestors)).join(",")}]`;
|
|
24
|
+
}
|
|
25
|
+
const prototype = Object.getPrototypeOf(value);
|
|
26
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
27
|
+
throw new TypeError("Canonical JSON only supports plain objects");
|
|
28
|
+
}
|
|
29
|
+
const record = value;
|
|
30
|
+
const entries = Object.keys(record)
|
|
31
|
+
.sort()
|
|
32
|
+
.map((key) => `${JSON.stringify(key)}:${canonicalize(record[key], ancestors)}`);
|
|
33
|
+
return `{${entries.join(",")}}`;
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
ancestors.delete(value);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Canonical JSON with recursively sorted object keys and strict JSON values. */
|
|
40
|
+
export function canonicalizeActionParameters(value) {
|
|
41
|
+
return canonicalize(value, new Set());
|
|
42
|
+
}
|
|
43
|
+
export async function hashActionParameters(value) {
|
|
44
|
+
const hash = await sha256hex(canonicalizeActionParameters(value));
|
|
45
|
+
return `sha256:${hash}`;
|
|
46
|
+
}
|
|
47
|
+
export function isSha256Digest(value) {
|
|
48
|
+
return /^sha256:[a-f0-9]{64}$/.test(value);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=canonical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/action-registry/canonical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,SAAS,YAAY,CAAC,KAAc,EAAE,SAAsB;IACxD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,mCAAmC,OAAO,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC/E,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAC9B,IAAI,EAAE;aACN,GAAG,CACA,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,CACvE,CAAC;QACN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,CAAC;YAAS,CAAC;QACP,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACvD,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAc;IACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,OAAO,UAAU,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IACxC,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/action-registry/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/action-registry/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const PRODUCTION_ACTION_CATALOG_VERSION: "1.3.0";
|
|
2
|
+
export declare const TIER_1_ACTION_IDS: readonly ["social.react_to_post.v1", "social.remove_post_reaction.v1", "social.react_to_comment.v1", "social.remove_comment_reaction.v1", "social.create_post.v1", "social.edit_post.v1", "social.create_comment.v1", "social.edit_comment.v1", "social.create_repost.v1", "social.remove_repost.v1", "social.follow_profile.v1", "social.unfollow_profile.v1", "social.block_profile.v1", "social.unblock_profile.v1", "messaging.send_message.v1", "messaging.create_group.v1", "organization.accept_invitation.v1", "organization.decline_invitation.v1", "agent.register_child.v1", "agent.update_child.v1", "agent.deactivate_child.v1", "agent.revoke_child.v1"];
|
|
3
|
+
export declare const TIER_2_ACTION_IDS: readonly ["payments.tip_profile.v1", "payments.tip_post.v1", "payments.send_token.v1", "subscription.subscribe_to_plan.v1", "subscription.renew_subscription.v1", "subscription.cancel_subscription.v1", "subscription.enable_auto_renew.v1", "subscription.disable_auto_renew.v1", "access.purchase_post_access.v1", "access.purchase_mydata_access.v1", "access.share_mydata.v1", "access.revoke_mydata_share.v1", "spt.buy.v1", "spt.sell.v1", "spot.create_market.v1", "spot.place_bet.v1", "spot.claim_payout.v1", "storage.purchase_capacity.v1", "dex.swap.v1", "bridge.initiate_transfer.v1"];
|
|
4
|
+
export declare const TIER_3_ACTION_IDS: readonly ["organization.create.v1", "organization.update_metadata.v1", "organization.update_category.v1", "organization.deactivate.v1", "organization.ensure_memory_group.v1", "organization.define_role.v1", "organization.assign_role.v1", "organization.revoke_role.v1", "organization.create_invitation.v1", "agent.register_agent.v1", "agent.revoke_agent.v1", "agent.grant_capability.v1", "agent.revoke_capability.v1", "agent.raise_spending_limit.v1", "account.rotate_owner_key.v1", "account.configure_multisig.v1", "poc.claim_creator_vault.v1", "poc.transfer_beneficiary_rights.v1", "governance.vote.v1", "governance.delegate_vote.v1", "assets.transfer_object.v1", "assets.burn_object.v1", "platform.transfer_platform.v1", "platform.update_fee_recipient.v1", "organization.grant_treasury_access.v1", "organization.withdraw_treasury.v1", "subscription.change_service_payment_recipient.v1"];
|
|
5
|
+
export declare const PRODUCTION_ACTION_IDS: readonly ["social.react_to_post.v1", "social.remove_post_reaction.v1", "social.react_to_comment.v1", "social.remove_comment_reaction.v1", "social.create_post.v1", "social.edit_post.v1", "social.create_comment.v1", "social.edit_comment.v1", "social.create_repost.v1", "social.remove_repost.v1", "social.follow_profile.v1", "social.unfollow_profile.v1", "social.block_profile.v1", "social.unblock_profile.v1", "messaging.send_message.v1", "messaging.create_group.v1", "organization.accept_invitation.v1", "organization.decline_invitation.v1", "agent.register_child.v1", "agent.update_child.v1", "agent.deactivate_child.v1", "agent.revoke_child.v1", "payments.tip_profile.v1", "payments.tip_post.v1", "payments.send_token.v1", "subscription.subscribe_to_plan.v1", "subscription.renew_subscription.v1", "subscription.cancel_subscription.v1", "subscription.enable_auto_renew.v1", "subscription.disable_auto_renew.v1", "access.purchase_post_access.v1", "access.purchase_mydata_access.v1", "access.share_mydata.v1", "access.revoke_mydata_share.v1", "spt.buy.v1", "spt.sell.v1", "spot.create_market.v1", "spot.place_bet.v1", "spot.claim_payout.v1", "storage.purchase_capacity.v1", "dex.swap.v1", "bridge.initiate_transfer.v1", "organization.create.v1", "organization.update_metadata.v1", "organization.update_category.v1", "organization.deactivate.v1", "organization.ensure_memory_group.v1", "organization.define_role.v1", "organization.assign_role.v1", "organization.revoke_role.v1", "organization.create_invitation.v1", "agent.register_agent.v1", "agent.revoke_agent.v1", "agent.grant_capability.v1", "agent.revoke_capability.v1", "agent.raise_spending_limit.v1", "account.rotate_owner_key.v1", "account.configure_multisig.v1", "poc.claim_creator_vault.v1", "poc.transfer_beneficiary_rights.v1", "governance.vote.v1", "governance.delegate_vote.v1", "assets.transfer_object.v1", "assets.burn_object.v1", "platform.transfer_platform.v1", "platform.update_fee_recipient.v1", "organization.grant_treasury_access.v1", "organization.withdraw_treasury.v1", "subscription.change_service_payment_recipient.v1"];
|
|
6
|
+
export type ProductionActionId = (typeof PRODUCTION_ACTION_IDS)[number];
|
|
7
|
+
export type ProductionActionTier = "1" | "2" | "3";
|
|
8
|
+
export type ProductionActionApproval = "agent-capability" | "owner-wallet" | "owner-wallet-and-cosign";
|
|
9
|
+
export type ProductionActionAvailability = "enabled" | "contract-change-required" | "transaction-builder-required" | "protocol-adapter-required";
|
|
10
|
+
export interface ProductionActionDescriptor {
|
|
11
|
+
readonly id: ProductionActionId;
|
|
12
|
+
readonly tier: ProductionActionTier;
|
|
13
|
+
readonly approval: ProductionActionApproval;
|
|
14
|
+
readonly requiredCapability: number | null;
|
|
15
|
+
readonly availability: ProductionActionAvailability;
|
|
16
|
+
readonly blocker?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const PRODUCTION_ACTION_CATALOG: readonly ProductionActionDescriptor[];
|
|
19
|
+
export declare function getProductionActionDescriptor(id: string): ProductionActionDescriptor | undefined;
|
|
20
|
+
//# sourceMappingURL=production-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-catalog.d.ts","sourceRoot":"","sources":["../../src/action-registry/production-catalog.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,iCAAiC,EAAG,OAAgB,CAAC;AAElE,eAAO,MAAM,iBAAiB,woBAuBnB,CAAC;AAEZ,eAAO,MAAM,iBAAiB,ukBAqBnB,CAAC;AAEZ,eAAO,MAAM,iBAAiB,w3BA4BnB,CAAC;AAEZ,eAAO,MAAM,qBAAqB,ijEAIvB,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACnD,MAAM,MAAM,wBAAwB,GAC9B,kBAAkB,GAClB,cAAc,GACd,yBAAyB,CAAC;AAChC,MAAM,MAAM,4BAA4B,GAClC,SAAS,GACT,0BAA0B,GAC1B,8BAA8B,GAC9B,2BAA2B,CAAC;AAElC,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AA6HD,eAAO,MAAM,yBAAyB,EAAE,SAAS,0BAA0B,EAIzE,CAAC;AAIH,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,CAEhG"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { CAP_AGENT_REGISTER, CAP_AGENT_REVOKE, CAP_AGENT_UPDATE, CAP_BUDGET_MANAGE, CAP_COMMENT, CAP_MESSAGE_SEND, CAP_MEMORY_READ, CAP_MYDATA_READ, CAP_POST_PUBLISH, CAP_REACT, CAP_SOCIAL_GRAPH, CAP_TRADE_EXECUTE, } from "../contract.js";
|
|
2
|
+
export const PRODUCTION_ACTION_CATALOG_VERSION = "1.3.0";
|
|
3
|
+
export const TIER_1_ACTION_IDS = Object.freeze([
|
|
4
|
+
"social.react_to_post.v1",
|
|
5
|
+
"social.remove_post_reaction.v1",
|
|
6
|
+
"social.react_to_comment.v1",
|
|
7
|
+
"social.remove_comment_reaction.v1",
|
|
8
|
+
"social.create_post.v1",
|
|
9
|
+
"social.edit_post.v1",
|
|
10
|
+
"social.create_comment.v1",
|
|
11
|
+
"social.edit_comment.v1",
|
|
12
|
+
"social.create_repost.v1",
|
|
13
|
+
"social.remove_repost.v1",
|
|
14
|
+
"social.follow_profile.v1",
|
|
15
|
+
"social.unfollow_profile.v1",
|
|
16
|
+
"social.block_profile.v1",
|
|
17
|
+
"social.unblock_profile.v1",
|
|
18
|
+
"messaging.send_message.v1",
|
|
19
|
+
"messaging.create_group.v1",
|
|
20
|
+
"organization.accept_invitation.v1",
|
|
21
|
+
"organization.decline_invitation.v1",
|
|
22
|
+
"agent.register_child.v1",
|
|
23
|
+
"agent.update_child.v1",
|
|
24
|
+
"agent.deactivate_child.v1",
|
|
25
|
+
"agent.revoke_child.v1",
|
|
26
|
+
]);
|
|
27
|
+
export const TIER_2_ACTION_IDS = Object.freeze([
|
|
28
|
+
"payments.tip_profile.v1",
|
|
29
|
+
"payments.tip_post.v1",
|
|
30
|
+
"payments.send_token.v1",
|
|
31
|
+
"subscription.subscribe_to_plan.v1",
|
|
32
|
+
"subscription.renew_subscription.v1",
|
|
33
|
+
"subscription.cancel_subscription.v1",
|
|
34
|
+
"subscription.enable_auto_renew.v1",
|
|
35
|
+
"subscription.disable_auto_renew.v1",
|
|
36
|
+
"access.purchase_post_access.v1",
|
|
37
|
+
"access.purchase_mydata_access.v1",
|
|
38
|
+
"access.share_mydata.v1",
|
|
39
|
+
"access.revoke_mydata_share.v1",
|
|
40
|
+
"spt.buy.v1",
|
|
41
|
+
"spt.sell.v1",
|
|
42
|
+
"spot.create_market.v1",
|
|
43
|
+
"spot.place_bet.v1",
|
|
44
|
+
"spot.claim_payout.v1",
|
|
45
|
+
"storage.purchase_capacity.v1",
|
|
46
|
+
"dex.swap.v1",
|
|
47
|
+
"bridge.initiate_transfer.v1",
|
|
48
|
+
]);
|
|
49
|
+
export const TIER_3_ACTION_IDS = Object.freeze([
|
|
50
|
+
"organization.create.v1",
|
|
51
|
+
"organization.update_metadata.v1",
|
|
52
|
+
"organization.update_category.v1",
|
|
53
|
+
"organization.deactivate.v1",
|
|
54
|
+
"organization.ensure_memory_group.v1",
|
|
55
|
+
"organization.define_role.v1",
|
|
56
|
+
"organization.assign_role.v1",
|
|
57
|
+
"organization.revoke_role.v1",
|
|
58
|
+
"organization.create_invitation.v1",
|
|
59
|
+
"agent.register_agent.v1",
|
|
60
|
+
"agent.revoke_agent.v1",
|
|
61
|
+
"agent.grant_capability.v1",
|
|
62
|
+
"agent.revoke_capability.v1",
|
|
63
|
+
"agent.raise_spending_limit.v1",
|
|
64
|
+
"account.rotate_owner_key.v1",
|
|
65
|
+
"account.configure_multisig.v1",
|
|
66
|
+
"poc.claim_creator_vault.v1",
|
|
67
|
+
"poc.transfer_beneficiary_rights.v1",
|
|
68
|
+
"governance.vote.v1",
|
|
69
|
+
"governance.delegate_vote.v1",
|
|
70
|
+
"assets.transfer_object.v1",
|
|
71
|
+
"assets.burn_object.v1",
|
|
72
|
+
"platform.transfer_platform.v1",
|
|
73
|
+
"platform.update_fee_recipient.v1",
|
|
74
|
+
"organization.grant_treasury_access.v1",
|
|
75
|
+
"organization.withdraw_treasury.v1",
|
|
76
|
+
"subscription.change_service_payment_recipient.v1",
|
|
77
|
+
]);
|
|
78
|
+
export const PRODUCTION_ACTION_IDS = Object.freeze([
|
|
79
|
+
...TIER_1_ACTION_IDS,
|
|
80
|
+
...TIER_2_ACTION_IDS,
|
|
81
|
+
...TIER_3_ACTION_IDS,
|
|
82
|
+
]);
|
|
83
|
+
const enabled = new Set([
|
|
84
|
+
...TIER_1_ACTION_IDS,
|
|
85
|
+
"organization.create.v1",
|
|
86
|
+
"organization.update_metadata.v1",
|
|
87
|
+
"organization.update_category.v1",
|
|
88
|
+
"organization.deactivate.v1",
|
|
89
|
+
"organization.ensure_memory_group.v1",
|
|
90
|
+
"organization.define_role.v1",
|
|
91
|
+
"organization.assign_role.v1",
|
|
92
|
+
"organization.revoke_role.v1",
|
|
93
|
+
"organization.create_invitation.v1",
|
|
94
|
+
"agent.register_agent.v1",
|
|
95
|
+
]);
|
|
96
|
+
const tierOneCapabilities = Object.freeze({
|
|
97
|
+
"social.react_to_post.v1": CAP_REACT,
|
|
98
|
+
"social.remove_post_reaction.v1": CAP_REACT,
|
|
99
|
+
"social.react_to_comment.v1": CAP_REACT,
|
|
100
|
+
"social.remove_comment_reaction.v1": CAP_REACT,
|
|
101
|
+
"social.create_post.v1": CAP_POST_PUBLISH,
|
|
102
|
+
"social.edit_post.v1": CAP_POST_PUBLISH,
|
|
103
|
+
"social.create_comment.v1": CAP_COMMENT,
|
|
104
|
+
"social.edit_comment.v1": CAP_COMMENT,
|
|
105
|
+
"social.create_repost.v1": CAP_POST_PUBLISH,
|
|
106
|
+
"social.remove_repost.v1": CAP_POST_PUBLISH,
|
|
107
|
+
"social.follow_profile.v1": CAP_SOCIAL_GRAPH,
|
|
108
|
+
"social.unfollow_profile.v1": CAP_SOCIAL_GRAPH,
|
|
109
|
+
"social.block_profile.v1": CAP_SOCIAL_GRAPH,
|
|
110
|
+
"social.unblock_profile.v1": CAP_SOCIAL_GRAPH,
|
|
111
|
+
"messaging.send_message.v1": CAP_MESSAGE_SEND,
|
|
112
|
+
"messaging.create_group.v1": CAP_MESSAGE_SEND,
|
|
113
|
+
"organization.accept_invitation.v1": CAP_MEMORY_READ,
|
|
114
|
+
"organization.decline_invitation.v1": CAP_MEMORY_READ,
|
|
115
|
+
"agent.register_child.v1": CAP_AGENT_REGISTER,
|
|
116
|
+
"agent.update_child.v1": CAP_AGENT_UPDATE,
|
|
117
|
+
"agent.deactivate_child.v1": CAP_AGENT_REVOKE,
|
|
118
|
+
"agent.revoke_child.v1": CAP_AGENT_REVOKE,
|
|
119
|
+
});
|
|
120
|
+
const tierOneBlockers = Object.freeze({});
|
|
121
|
+
const tierTwoCapabilities = Object.freeze({
|
|
122
|
+
"access.purchase_mydata_access.v1": CAP_MYDATA_READ,
|
|
123
|
+
"access.share_mydata.v1": CAP_MYDATA_READ,
|
|
124
|
+
"access.revoke_mydata_share.v1": CAP_MYDATA_READ,
|
|
125
|
+
});
|
|
126
|
+
const tierThreeCapabilities = Object.freeze({
|
|
127
|
+
"organization.create.v1": CAP_AGENT_REGISTER,
|
|
128
|
+
"organization.update_metadata.v1": CAP_AGENT_UPDATE,
|
|
129
|
+
"organization.update_category.v1": CAP_AGENT_UPDATE,
|
|
130
|
+
"organization.deactivate.v1": CAP_AGENT_UPDATE,
|
|
131
|
+
"organization.ensure_memory_group.v1": CAP_AGENT_UPDATE,
|
|
132
|
+
"organization.define_role.v1": CAP_AGENT_UPDATE,
|
|
133
|
+
"organization.assign_role.v1": CAP_AGENT_UPDATE,
|
|
134
|
+
"organization.revoke_role.v1": CAP_AGENT_UPDATE,
|
|
135
|
+
"organization.create_invitation.v1": CAP_AGENT_UPDATE,
|
|
136
|
+
"agent.register_agent.v1": CAP_AGENT_REGISTER,
|
|
137
|
+
"agent.revoke_agent.v1": CAP_AGENT_REVOKE,
|
|
138
|
+
"agent.grant_capability.v1": CAP_AGENT_UPDATE,
|
|
139
|
+
"agent.revoke_capability.v1": CAP_AGENT_UPDATE,
|
|
140
|
+
"agent.raise_spending_limit.v1": CAP_BUDGET_MANAGE,
|
|
141
|
+
});
|
|
142
|
+
const protocolAdapters = new Set([
|
|
143
|
+
"payments.send_token.v1",
|
|
144
|
+
"storage.purchase_capacity.v1",
|
|
145
|
+
"dex.swap.v1",
|
|
146
|
+
"bridge.initiate_transfer.v1",
|
|
147
|
+
"assets.transfer_object.v1",
|
|
148
|
+
"assets.burn_object.v1",
|
|
149
|
+
"account.rotate_owner_key.v1",
|
|
150
|
+
"account.configure_multisig.v1",
|
|
151
|
+
]);
|
|
152
|
+
function descriptor(id, tier) {
|
|
153
|
+
if (tier === "1") {
|
|
154
|
+
const isEnabled = enabled.has(id);
|
|
155
|
+
return Object.freeze({
|
|
156
|
+
id,
|
|
157
|
+
tier,
|
|
158
|
+
approval: "agent-capability",
|
|
159
|
+
requiredCapability: tierOneCapabilities[id] ?? null,
|
|
160
|
+
availability: isEnabled ? "enabled" : "contract-change-required",
|
|
161
|
+
...(isEnabled ? {} : { blocker: tierOneBlockers[id] ?? "A bounded agent-aware Move entry point is required." }),
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
if (tier === "2") {
|
|
165
|
+
return Object.freeze({
|
|
166
|
+
id,
|
|
167
|
+
tier,
|
|
168
|
+
approval: "owner-wallet",
|
|
169
|
+
requiredCapability: tierTwoCapabilities[id] ?? CAP_TRADE_EXECUTE,
|
|
170
|
+
availability: protocolAdapters.has(id)
|
|
171
|
+
? "protocol-adapter-required"
|
|
172
|
+
: "transaction-builder-required",
|
|
173
|
+
blocker: protocolAdapters.has(id)
|
|
174
|
+
? "A protocol-specific allowlisted adapter, resolver, limits, and simulation policy are required."
|
|
175
|
+
: "A validated registry schema, deterministic PTB builder, object resolver, and event parser are required.",
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
const isEnabled = enabled.has(id);
|
|
179
|
+
return Object.freeze({
|
|
180
|
+
id,
|
|
181
|
+
tier,
|
|
182
|
+
approval: "owner-wallet-and-cosign",
|
|
183
|
+
requiredCapability: tierThreeCapabilities[id] ?? null,
|
|
184
|
+
availability: isEnabled
|
|
185
|
+
? "enabled"
|
|
186
|
+
: protocolAdapters.has(id)
|
|
187
|
+
? "protocol-adapter-required"
|
|
188
|
+
: "transaction-builder-required",
|
|
189
|
+
...(isEnabled ? {} : {
|
|
190
|
+
blocker: protocolAdapters.has(id)
|
|
191
|
+
? "This operation requires a narrowly allowlisted owner-controlled protocol adapter; arbitrary objects or calls are forbidden."
|
|
192
|
+
: "An exact-input owner co-sign flow and deterministic registry PTB builder are required.",
|
|
193
|
+
}),
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
export const PRODUCTION_ACTION_CATALOG = Object.freeze([
|
|
197
|
+
...TIER_1_ACTION_IDS.map((id) => descriptor(id, "1")),
|
|
198
|
+
...TIER_2_ACTION_IDS.map((id) => descriptor(id, "2")),
|
|
199
|
+
...TIER_3_ACTION_IDS.map((id) => descriptor(id, "3")),
|
|
200
|
+
]);
|
|
201
|
+
const catalogById = new Map(PRODUCTION_ACTION_CATALOG.map((action) => [action.id, action]));
|
|
202
|
+
export function getProductionActionDescriptor(id) {
|
|
203
|
+
return catalogById.get(id);
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=production-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-catalog.js","sourceRoot":"","sources":["../../src/action-registry/production-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,MAAM,iCAAiC,GAAG,OAAgB,CAAC;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,yBAAyB;IACzB,gCAAgC;IAChC,4BAA4B;IAC5B,mCAAmC;IACnC,uBAAuB;IACvB,qBAAqB;IACrB,0BAA0B;IAC1B,wBAAwB;IACxB,yBAAyB;IACzB,yBAAyB;IACzB,0BAA0B;IAC1B,4BAA4B;IAC5B,yBAAyB;IACzB,2BAA2B;IAC3B,2BAA2B;IAC3B,2BAA2B;IAC3B,mCAAmC;IACnC,oCAAoC;IACpC,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,uBAAuB;CACjB,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,yBAAyB;IACzB,sBAAsB;IACtB,wBAAwB;IACxB,mCAAmC;IACnC,oCAAoC;IACpC,qCAAqC;IACrC,mCAAmC;IACnC,oCAAoC;IACpC,gCAAgC;IAChC,kCAAkC;IAClC,wBAAwB;IACxB,+BAA+B;IAC/B,YAAY;IACZ,aAAa;IACb,uBAAuB;IACvB,mBAAmB;IACnB,sBAAsB;IACtB,8BAA8B;IAC9B,aAAa;IACb,6BAA6B;CACvB,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,wBAAwB;IACxB,iCAAiC;IACjC,iCAAiC;IACjC,4BAA4B;IAC5B,qCAAqC;IACrC,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,4BAA4B;IAC5B,+BAA+B;IAC/B,6BAA6B;IAC7B,+BAA+B;IAC/B,4BAA4B;IAC5B,oCAAoC;IACpC,oBAAoB;IACpB,6BAA6B;IAC7B,2BAA2B;IAC3B,uBAAuB;IACvB,+BAA+B;IAC/B,kCAAkC;IAClC,uCAAuC;IACvC,mCAAmC;IACnC,kDAAkD;CAC5C,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,GAAG,iBAAiB;IACpB,GAAG,iBAAiB;IACpB,GAAG,iBAAiB;CACd,CAAC,CAAC;AAuBZ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS;IAC5B,GAAG,iBAAiB;IACpB,wBAAwB;IACxB,iCAAiC;IACjC,iCAAiC;IACjC,4BAA4B;IAC5B,qCAAqC;IACrC,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;CAC5B,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACxE,yBAAyB,EAAE,SAAS;IACpC,gCAAgC,EAAE,SAAS;IAC3C,4BAA4B,EAAE,SAAS;IACvC,mCAAmC,EAAE,SAAS;IAC9C,uBAAuB,EAAE,gBAAgB;IACzC,qBAAqB,EAAE,gBAAgB;IACvC,0BAA0B,EAAE,WAAW;IACvC,wBAAwB,EAAE,WAAW;IACrC,yBAAyB,EAAE,gBAAgB;IAC3C,yBAAyB,EAAE,gBAAgB;IAC3C,0BAA0B,EAAE,gBAAgB;IAC5C,4BAA4B,EAAE,gBAAgB;IAC9C,yBAAyB,EAAE,gBAAgB;IAC3C,2BAA2B,EAAE,gBAAgB;IAC7C,2BAA2B,EAAE,gBAAgB;IAC7C,2BAA2B,EAAE,gBAAgB;IAC7C,mCAAmC,EAAE,eAAe;IACpD,oCAAoC,EAAE,eAAe;IACrD,yBAAyB,EAAE,kBAAkB;IAC7C,uBAAuB,EAAE,gBAAgB;IACzC,2BAA2B,EAAE,gBAAgB;IAC7C,uBAAuB,EAAE,gBAAgB;CAC5C,CAAC,CAAC;AAEH,MAAM,eAAe,GAAqC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,mBAAmB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACxE,kCAAkC,EAAE,eAAe;IACnD,wBAAwB,EAAE,eAAe;IACzC,+BAA+B,EAAE,eAAe;CACnD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC1E,wBAAwB,EAAE,kBAAkB;IAC5C,iCAAiC,EAAE,gBAAgB;IACnD,iCAAiC,EAAE,gBAAgB;IACnD,4BAA4B,EAAE,gBAAgB;IAC9C,qCAAqC,EAAE,gBAAgB;IACvD,6BAA6B,EAAE,gBAAgB;IAC/C,6BAA6B,EAAE,gBAAgB;IAC/C,6BAA6B,EAAE,gBAAgB;IAC/C,mCAAmC,EAAE,gBAAgB;IACrD,yBAAyB,EAAE,kBAAkB;IAC7C,uBAAuB,EAAE,gBAAgB;IACzC,2BAA2B,EAAE,gBAAgB;IAC7C,4BAA4B,EAAE,gBAAgB;IAC9C,+BAA+B,EAAE,iBAAiB;CACrD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACrC,wBAAwB;IACxB,8BAA8B;IAC9B,aAAa;IACb,6BAA6B;IAC7B,2BAA2B;IAC3B,uBAAuB;IACvB,6BAA6B;IAC7B,+BAA+B;CAClC,CAAC,CAAC;AAEH,SAAS,UAAU,CACf,EAAsB,EACtB,IAA0B;IAE1B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,EAAE;YACF,IAAI;YACJ,QAAQ,EAAE,kBAA2B;YACrC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE,CAAC,IAAI,IAAI;YACnD,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,0BAAmC;YAClF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,qDAAqD,EAAE,CAAC;SAClH,CAAC,CAAC;IACP,CAAC;IACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,EAAE;YACF,IAAI;YACJ,QAAQ,EAAE,cAAuB;YACjC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE,CAAC,IAAI,iBAAiB;YAChE,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,CAAC,CAAC,2BAAoC;gBACtC,CAAC,CAAC,8BAAuC;YAC7C,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,CAAC,CAAC,gGAAgG;gBAClG,CAAC,CAAC,yGAAyG;SAClH,CAAC,CAAC;IACP,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,EAAE;QACF,IAAI;QACJ,QAAQ,EAAE,yBAAkC;QAC5C,kBAAkB,EAAE,qBAAqB,CAAC,EAAE,CAAC,IAAI,IAAI;QACrD,YAAY,EAAE,SAAS;YACnB,CAAC,CAAC,SAAkB;YACpB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,CAAC,CAAC,2BAAoC;gBACtC,CAAC,CAAC,8BAAuC;QAC7C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,CAAC,CAAC,6HAA6H;gBAC/H,CAAC,CAAC,wFAAwF;SACjG,CAAC;KACL,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAA0C,MAAM,CAAC,MAAM,CAAC;IAC1F,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACrD,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACrD,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;CACxD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAE5F,MAAM,UAAU,6BAA6B,CAAC,EAAU;IACpD,OAAO,WAAW,CAAC,GAAG,CAAC,EAAwB,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-catalog.test.d.ts","sourceRoot":"","sources":["../../src/action-registry/production-catalog.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
import { PRODUCTION_ACTION_CATALOG, PRODUCTION_ACTION_IDS, TIER_1_ACTION_IDS, TIER_2_ACTION_IDS, TIER_3_ACTION_IDS, getProductionActionDescriptor, } from "./production-catalog.js";
|
|
4
|
+
import { isSocialActionId } from "./registry.js";
|
|
5
|
+
test("production catalog contains the exact unique organization-control release set", () => {
|
|
6
|
+
assert.equal(TIER_1_ACTION_IDS.length, 22);
|
|
7
|
+
assert.equal(TIER_2_ACTION_IDS.length, 20);
|
|
8
|
+
assert.equal(TIER_3_ACTION_IDS.length, 27);
|
|
9
|
+
assert.equal(PRODUCTION_ACTION_IDS.length, 69);
|
|
10
|
+
assert.equal(new Set(PRODUCTION_ACTION_IDS).size, 69);
|
|
11
|
+
assert.equal(PRODUCTION_ACTION_CATALOG.length, 69);
|
|
12
|
+
});
|
|
13
|
+
test("only implemented registry actions are reported as enabled", () => {
|
|
14
|
+
const enabled = PRODUCTION_ACTION_CATALOG.filter((action) => action.availability === "enabled");
|
|
15
|
+
assert.deepEqual(enabled.map((action) => action.id), [
|
|
16
|
+
...TIER_1_ACTION_IDS,
|
|
17
|
+
"organization.create.v1",
|
|
18
|
+
"organization.update_metadata.v1",
|
|
19
|
+
"organization.update_category.v1",
|
|
20
|
+
"organization.deactivate.v1",
|
|
21
|
+
"organization.ensure_memory_group.v1",
|
|
22
|
+
"organization.define_role.v1",
|
|
23
|
+
"organization.assign_role.v1",
|
|
24
|
+
"organization.revoke_role.v1",
|
|
25
|
+
"organization.create_invitation.v1",
|
|
26
|
+
"agent.register_agent.v1",
|
|
27
|
+
]);
|
|
28
|
+
assert.ok(enabled.every((action) => isSocialActionId(action.id)));
|
|
29
|
+
});
|
|
30
|
+
test("unimplemented actions carry an explicit production blocker", () => {
|
|
31
|
+
for (const action of PRODUCTION_ACTION_CATALOG) {
|
|
32
|
+
if (action.availability !== "enabled") {
|
|
33
|
+
assert.ok(action.blocker, `${action.id} is missing a blocker`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
assert.equal(getProductionActionDescriptor("social.edit_post.v1")?.availability, "enabled");
|
|
37
|
+
assert.equal(getProductionActionDescriptor("social.mute_profile.v1"), undefined);
|
|
38
|
+
assert.equal(getProductionActionDescriptor("arbitrary.move.call.v1"), undefined);
|
|
39
|
+
});
|
|
40
|
+
test("approval modes are tier-authoritative", () => {
|
|
41
|
+
for (const action of PRODUCTION_ACTION_CATALOG) {
|
|
42
|
+
if (action.tier === "1")
|
|
43
|
+
assert.equal(action.approval, "agent-capability");
|
|
44
|
+
if (action.tier === "2")
|
|
45
|
+
assert.equal(action.approval, "owner-wallet");
|
|
46
|
+
if (action.tier === "3")
|
|
47
|
+
assert.equal(action.approval, "owner-wallet-and-cosign");
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=production-catalog.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-catalog.test.js","sourceRoot":"","sources":["../../src/action-registry/production-catalog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BuildTxContext } from "../ptb/post.js";
|
|
2
|
+
import type { AnySocialActionDescriptor, FinalizeSocialActionPreparationOptions, PreparedSocialActionMetadata, SocialActionId, SocialActionRegistry, SocialActionRequestMetadata, SocialActionValidationIssue } from "./types.js";
|
|
3
|
+
export declare const SOCIAL_ACTION_REGISTRY: SocialActionRegistry;
|
|
4
|
+
export declare class UnsupportedSocialActionError extends Error {
|
|
5
|
+
readonly actionId: string;
|
|
6
|
+
readonly code = "unsupported_social_action";
|
|
7
|
+
constructor(actionId: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class InvalidSocialActionInputError extends Error {
|
|
10
|
+
readonly actionId: SocialActionId;
|
|
11
|
+
readonly issues: readonly SocialActionValidationIssue[];
|
|
12
|
+
readonly code = "invalid_social_action_input";
|
|
13
|
+
constructor(actionId: SocialActionId, issues: readonly SocialActionValidationIssue[]);
|
|
14
|
+
}
|
|
15
|
+
export declare function isSocialActionId(value: string): value is SocialActionId;
|
|
16
|
+
export declare function getSocialActionDescriptor<TId extends SocialActionId>(actionId: TId): SocialActionRegistry[TId];
|
|
17
|
+
export declare function getSocialActionDescriptor(actionId: string): AnySocialActionDescriptor;
|
|
18
|
+
/** Builds only registered actions; arbitrary Move targets and caller-supplied PTBs are impossible. */
|
|
19
|
+
export declare function buildRegisteredSocialAction(actionId: string, context: BuildTxContext, input: unknown): any;
|
|
20
|
+
export declare function createSocialActionRequestMetadata<TId extends SocialActionId>(actionId: TId, input: unknown, idempotencyKey: string): Promise<SocialActionRequestMetadata<TId>>;
|
|
21
|
+
export declare function createSocialActionRequestMetadata(actionId: string, input: unknown, idempotencyKey: string): Promise<SocialActionRequestMetadata>;
|
|
22
|
+
export declare function finalizeSocialActionPreparation<TId extends SocialActionId>(request: SocialActionRequestMetadata<TId>, options: FinalizeSocialActionPreparationOptions): PreparedSocialActionMetadata<TId>;
|
|
23
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/action-registry/registry.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,KAAK,EACR,yBAAyB,EACzB,sCAAsC,EACtC,4BAA4B,EAE5B,cAAc,EAGd,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC9B,MAAM,YAAY,CAAC;AAgpBpB,eAAO,MAAM,sBAAsB,EAAE,oBAmCnC,CAAC;AAIH,qBAAa,4BAA6B,SAAQ,KAAK;IAGvC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAFrC,QAAQ,CAAC,IAAI,+BAA+B;gBAEvB,QAAQ,EAAE,MAAM;CAIxC;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IAIhD,QAAQ,CAAC,QAAQ,EAAE,cAAc;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,2BAA2B,EAAE;IAJ3D,QAAQ,CAAC,IAAI,iCAAiC;gBAGjC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,SAAS,2BAA2B,EAAE;CAS9D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE;AAED,wBAAgB,yBAAyB,CAAC,GAAG,SAAS,cAAc,EAChE,QAAQ,EAAE,GAAG,GACd,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAC7B,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,CAAC;AAUvF,sGAAsG;AACtG,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,OAAO,GACf,GAAG,CAOL;AAED,wBAAsB,iCAAiC,CAAC,GAAG,SAAS,cAAc,EAC9E,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,wBAAsB,iCAAiC,CACnD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAgCxC,wBAAgB,+BAA+B,CAAC,GAAG,SAAS,cAAc,EACtE,OAAO,EAAE,2BAA2B,CAAC,GAAG,CAAC,EACzC,OAAO,EAAE,sCAAsC,GAChD,4BAA4B,CAAC,GAAG,CAAC,CAoBnC"}
|