@guildxyz/bev3
Version:
Schemas and types related to the Guild.xyz v3 API
625 lines (607 loc) • 31.3 kB
JavaScript
var __defProp = Object.defineProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
// schemas/index.ts
var schemas_exports = {};
__export(schemas_exports, {
GuildFullSchema: () => GuildFullSchema,
GuildInputSchema: () => GuildInputSchema,
GuildSystemSchema: () => GuildSystemSchema,
RewardFullSchema: () => RewardFullSchema,
RewardInputSchema: () => RewardInputSchema,
RewardSystemSchema: () => RewardSystemSchema,
RoleFullSchema: () => RoleFullSchema,
RoleGroupFullSchema: () => RoleGroupFullSchema,
RoleGroupInputSchema: () => RoleGroupInputSchema,
RoleGroupSystemSchema: () => RoleGroupSystemSchema,
RoleInputSchema: () => RoleInputSchema,
RoleSystemSchema: () => RoleSystemSchema,
UserFullSchema: () => UserFullSchema,
UserInputSchema: () => UserInputSchema,
UserSystemSchema: () => UserSystemSchema
});
// schemas/role-group.full.schema.ts
import { z } from "zod";
var RoleGroupFullSchema = z.object({
id: z.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Unique identifier (UUID v4 or v5 format)"),
legacyId: z.string().max(50).describe("Legacy system unique identifier for backward compatibility").optional(),
createdAt: z.number().int().gte(1).describe("Unix timestamp of creation date"),
updatedAt: z.number().int().gte(1).describe("Unix timestamp of last update"),
system: z.object({}).catchall(z.any()).describe("System-managed settings for internal classification").optional(),
name: z.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z.string().max(255).describe("URL to the template's background image").optional(),
visibility: z.object({}).catchall(z.any()).describe("Conditions that determine template visibility").optional(),
settings: z.object({}).catchall(z.any()).describe("Template-specific settings").optional(),
searchTags: z.array(z.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z.array(z.string().max(30)).max(10).describe("Category classification tags").optional(),
guildId: z.string().describe("The ID of the guild").optional(),
adminRoleId: z.string().describe("An admin role that accumulates all the privileges.").optional(),
type: z.enum(["CATEGORY", "QUEST", "CAMPAIGN", "EVENT"]).describe("The type of role group").optional(),
permissions: z.object({
read: z.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
update: z.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
delete: z.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional()
}).optional()
}).strict().describe("A collection of related roles within a guild");
// schemas/role-group.system.schema.ts
import { z as z2 } from "zod";
var RoleGroupSystemSchema = z2.object({
permissions: z2.object({
read: z2.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
update: z2.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
delete: z2.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional()
}).optional()
});
// schemas/role.input.schema.ts
import { z as z3 } from "zod";
var RoleInputSchema = z3.object({
name: z3.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z3.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z3.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z3.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z3.string().max(255).describe("URL to the template's background image").optional(),
visibility: z3.object({}).catchall(z3.any()).describe("Conditions that determine template visibility").optional(),
settings: z3.object({}).catchall(z3.any()).describe("Template-specific settings").optional(),
searchTags: z3.array(z3.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z3.array(z3.string().max(30)).max(10).describe("Category classification tags").optional(),
guildId: z3.string().nullable().optional(),
groupId: z3.string().nullable().optional()
}).strict();
// schemas/role.full.schema.ts
import { z as z4 } from "zod";
var RoleFullSchema = z4.object({
id: z4.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Unique identifier (UUID v4 or v5 format)"),
legacyId: z4.string().max(50).describe("Legacy system unique identifier for backward compatibility").optional(),
createdAt: z4.number().int().gte(1).describe("Unix timestamp of creation date"),
updatedAt: z4.number().int().gte(1).describe("Unix timestamp of last update"),
system: z4.object({}).catchall(z4.any()).describe("System-managed settings for internal classification").optional(),
name: z4.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z4.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z4.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z4.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z4.string().max(255).describe("URL to the template's background image").optional(),
visibility: z4.object({}).catchall(z4.any()).describe("Conditions that determine template visibility").optional(),
settings: z4.object({}).catchall(z4.any()).describe("Template-specific settings").optional(),
searchTags: z4.array(z4.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z4.array(z4.string().max(30)).max(10).describe("Category classification tags").optional(),
guildId: z4.string().nullable().optional(),
groupId: z4.string().nullable().optional(),
permissionsAncestor: z4.boolean().describe("Whether the role is an ancestor role").optional(),
permissions: z4.object({
read: z4.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
update: z4.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
delete: z4.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional()
}).optional(),
memberCount: z4.number().int().gte(0).describe("The number of members assigned to this role"),
rewards: z4.array(
z4.object({
rewardId: z4.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional()
})
).optional(),
topLevelAccessGroupId: z4.string().describe("The ID of the top-level access group"),
accessGroups: z4.array(
z4.object({
accessGroupId: z4.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Access group ID").optional(),
gate: z4.enum(["AND", "OR", "ANY_OF"]).describe("Access group gate").optional(),
rules: z4.array(
z4.object({
accessRuleId: z4.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Access rule ID").optional(),
integrationId: z4.string().describe("Integration ID").optional(),
params: z4.record(z4.any()).describe("Access rule parameters").optional()
})
).optional()
})
)
}).strict().describe(
"A role represents a grouping mechanism that can be assigned to members"
);
// schemas/user.input.schema.ts
import { z as z5 } from "zod";
var UserInputSchema = z5.object({
name: z5.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z5.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z5.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z5.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z5.string().max(255).describe("URL to the template's background image").optional(),
visibility: z5.object({}).catchall(z5.any()).describe("Conditions that determine template visibility").optional(),
settings: z5.object({}).catchall(z5.any()).describe("Template-specific settings").optional(),
searchTags: z5.array(z5.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z5.array(z5.string().max(30)).max(10).describe("Category classification tags").optional()
}).strict();
// schemas/reward.input.schema.ts
import { z as z6 } from "zod";
var RewardInputSchema = z6.object({
name: z6.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z6.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z6.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z6.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z6.string().max(255).describe("URL to the template's background image").optional(),
visibility: z6.object({}).catchall(z6.any()).describe("Conditions that determine template visibility").optional(),
settings: z6.object({}).catchall(z6.any()).describe("Template-specific settings").optional(),
searchTags: z6.array(z6.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z6.array(z6.string().max(30)).max(10).describe("Category classification tags").optional(),
roleId: z6.string().describe("ID of the associated role").optional(),
guildPlatformId: z6.string().describe("ID of the associated guild platform").optional(),
externalId: z6.string().describe("Platform-specific role ID").optional(),
foreignEntity: z6.string().describe("The entity that the reward is associated with").optional(),
foreignIdentifier: z6.string().describe("The identifier of the entity that the reward is associated with").optional(),
type: z6.enum(["GUILD", "POINTS", "DISCORD"]).describe("The type of reward")
}).strict().describe("User input for a reward");
// schemas/role.system.schema.ts
import { z as z7 } from "zod";
var RoleSystemSchema = z7.object({
permissionsAncestor: z7.boolean().describe("Whether the role is an ancestor role").optional(),
permissions: z7.object({
read: z7.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
update: z7.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
delete: z7.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional()
}).optional(),
memberCount: z7.number().int().gte(0).describe("The number of members assigned to this role"),
rewards: z7.array(
z7.object({
rewardId: z7.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional()
})
).optional(),
topLevelAccessGroupId: z7.string().describe("The ID of the top-level access group"),
accessGroups: z7.array(
z7.object({
accessGroupId: z7.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Access group ID").optional(),
gate: z7.enum(["AND", "OR", "ANY_OF"]).describe("Access group gate").optional(),
rules: z7.array(
z7.object({
accessRuleId: z7.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Access rule ID").optional(),
integrationId: z7.string().describe("Integration ID").optional(),
params: z7.record(z7.any()).describe("Access rule parameters").optional()
})
).optional()
})
)
});
// schemas/guild.input.schema.ts
import { z as z8 } from "zod";
var GuildInputSchema = z8.object({
name: z8.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z8.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z8.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z8.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z8.string().max(255).describe("URL to the template's background image").optional(),
visibility: z8.object({}).catchall(z8.any()).describe("Conditions that determine template visibility").optional(),
settings: z8.object({}).catchall(z8.any()).describe("Template-specific settings").optional(),
searchTags: z8.array(z8.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z8.array(z8.string().max(30)).max(10).describe("Category classification tags").optional(),
socialLinks: z8.record(z8.string()).optional()
}).strict().describe("The data required to create or update a guild");
// schemas/reward.full.schema.ts
import { z as z9 } from "zod";
var RewardFullSchema = z9.object({
id: z9.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Unique identifier (UUID v4 or v5 format)"),
legacyId: z9.string().max(50).describe("Legacy system unique identifier for backward compatibility").optional(),
createdAt: z9.number().int().gte(1).describe("Unix timestamp of creation date"),
updatedAt: z9.number().int().gte(1).describe("Unix timestamp of last update"),
system: z9.object({}).catchall(z9.any()).describe("System-managed settings for internal classification").optional(),
name: z9.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z9.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z9.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z9.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z9.string().max(255).describe("URL to the template's background image").optional(),
visibility: z9.object({}).catchall(z9.any()).describe("Conditions that determine template visibility").optional(),
settings: z9.object({}).catchall(z9.any()).describe("Template-specific settings").optional(),
searchTags: z9.array(z9.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z9.array(z9.string().max(30)).max(10).describe("Category classification tags").optional(),
roleId: z9.string().describe("ID of the associated role").optional(),
guildPlatformId: z9.string().describe("ID of the associated guild platform").optional(),
externalId: z9.string().describe("Platform-specific role ID").optional(),
foreignEntity: z9.string().describe("The entity that the reward is associated with").optional(),
foreignIdentifier: z9.string().describe("The identifier of the entity that the reward is associated with").optional(),
type: z9.enum(["GUILD", "POINTS", "DISCORD"]).describe("The type of reward"),
permissionsAncestor: z9.boolean().describe("Whether the permission is an ancestor permission").optional(),
guildId: z9.string().nullable(),
permissions: z9.object({
read: z9.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
update: z9.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
delete: z9.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional()
}).optional()
}).strict().describe(
"A reward represents a claimable item, permission, or action for users"
);
// schemas/reward.system.schema.ts
import { z as z10 } from "zod";
var RewardSystemSchema = z10.object({
permissionsAncestor: z10.boolean().describe("Whether the permission is an ancestor permission").optional(),
guildId: z10.string().nullable(),
permissions: z10.object({
read: z10.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
update: z10.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional(),
delete: z10.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("The reward ID that controls this permission action").optional()
}).optional()
});
// schemas/role-group.input.schema.ts
import { z as z11 } from "zod";
var RoleGroupInputSchema = z11.object({
name: z11.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z11.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z11.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z11.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z11.string().max(255).describe("URL to the template's background image").optional(),
visibility: z11.object({}).catchall(z11.any()).describe("Conditions that determine template visibility").optional(),
settings: z11.object({}).catchall(z11.any()).describe("Template-specific settings").optional(),
searchTags: z11.array(z11.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z11.array(z11.string().max(30)).max(10).describe("Category classification tags").optional(),
guildId: z11.string().describe("The ID of the guild").optional(),
adminRoleId: z11.string().describe("An admin role that accumulates all the privileges.").optional(),
type: z11.enum(["CATEGORY", "QUEST", "CAMPAIGN", "EVENT"]).describe("The type of role group").optional()
}).strict();
// schemas/guild.system.schema.ts
import { z as z12 } from "zod";
var GuildSystemSchema = z12.object({
owner: z12.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("User ID of the owner. Unique identifier (UUID v4 or v5 format)"),
permissions: z12.object({
read: z12.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional(),
update: z12.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional(),
delete: z12.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional()
}).optional(),
adminRoleId: z12.string().describe("An admin role that accumulates all the privileges."),
adminRoleGroupId: z12.string().describe("An admin role group that accumulates all the privileges."),
homeRoleGroupId: z12.string().nullable().optional(),
memberCount: z12.number().int().gte(0).describe("The number of members in the guild"),
roleCount: z12.number().int().gte(0).describe("The number of roles in the guild"),
platforms: z12.array(
z12.object({
platformId: z12.string().describe("The ID of the platform"),
externalId: z12.string().describe("The ID related to the external platform")
})
).optional()
});
// schemas/guild.full.schema.ts
import { z as z13 } from "zod";
var GuildFullSchema = z13.object({
id: z13.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Unique identifier (UUID v4 or v5 format)"),
legacyId: z13.string().max(50).describe("Legacy system unique identifier for backward compatibility").optional(),
createdAt: z13.number().int().gte(1).describe("Unix timestamp of creation date"),
updatedAt: z13.number().int().gte(1).describe("Unix timestamp of last update"),
system: z13.object({}).catchall(z13.any()).describe("System-managed settings for internal classification").optional(),
name: z13.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z13.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z13.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z13.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z13.string().max(255).describe("URL to the template's background image").optional(),
visibility: z13.object({}).catchall(z13.any()).describe("Conditions that determine template visibility").optional(),
settings: z13.object({}).catchall(z13.any()).describe("Template-specific settings").optional(),
searchTags: z13.array(z13.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z13.array(z13.string().max(30)).max(10).describe("Category classification tags").optional(),
socialLinks: z13.record(z13.string()).optional(),
owner: z13.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("User ID of the owner. Unique identifier (UUID v4 or v5 format)"),
permissions: z13.object({
read: z13.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional(),
update: z13.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional(),
delete: z13.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("TODO").optional()
}).optional(),
adminRoleId: z13.string().describe("An admin role that accumulates all the privileges."),
adminRoleGroupId: z13.string().describe("An admin role group that accumulates all the privileges."),
homeRoleGroupId: z13.string().nullable().optional(),
memberCount: z13.number().int().gte(0).describe("The number of members in the guild"),
roleCount: z13.number().int().gte(0).describe("The number of roles in the guild"),
platforms: z13.array(
z13.object({
platformId: z13.string().describe("The ID of the platform"),
externalId: z13.string().describe("The ID related to the external platform")
})
).optional()
}).strict().describe("A guild represents a community or organization");
// schemas/user.system.schema.ts
import { z as z14 } from "zod";
var UserSystemSchema = z14.object({
guilds: z14.array(
z14.object({
guildId: z14.string().describe("The ID of the guild the member belongs to").optional(),
roles: z14.array(
z14.object({
roleId: z14.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Roles assigned to the user").optional()
})
).optional(),
joinedAt: z14.number().int().describe("Timestamp of when the member joined the guild").optional(),
lastActive: z14.number().int().describe("Timestamp of when the member was last active in the guild").optional()
})
).optional(),
identities: z14.array(
z14.object({
identityId: z14.string().describe("The ID of the identity").optional()
}).catchall(z14.any())
).optional(),
farcaster: z14.array(
z14.object({
fid: z14.string().describe("The Farcaster ID"),
username: z14.string().describe("Farcaster username").optional(),
avatar: z14.string().max(255).describe("Farcaster avatar URL").optional(),
isPrimary: z14.boolean().optional()
})
).nullable().optional(),
ethereum: z14.array(
z14.object({
address: z14.string().describe("The Ethereum address of the user"),
isPrimary: z14.boolean().optional(),
isDelegated: z14.boolean().optional()
})
).nullable().optional(),
profiles: z14.array(
z14.object({
referrerUserId: z14.string().describe("The ID of the user who referred this user").optional(),
isPrimary: z14.boolean().optional()
})
).nullable().optional(),
verifications: z14.array(
z14.object({
dateVerified: z14.number().int().optional(),
type: z14.string().optional()
})
).nullable().optional()
});
// schemas/user.full.schema.ts
import { z as z15 } from "zod";
var UserFullSchema = z15.object({
id: z15.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Unique identifier (UUID v4 or v5 format)"),
legacyId: z15.string().max(50).describe("Legacy system unique identifier for backward compatibility").optional(),
createdAt: z15.number().int().gte(1).describe("Unix timestamp of creation date"),
updatedAt: z15.number().int().gte(1).describe("Unix timestamp of last update"),
system: z15.object({}).catchall(z15.any()).describe("System-managed settings for internal classification").optional(),
name: z15.string().min(1).max(255).describe("Name of the template (1-255 characters)"),
urlName: z15.string().max(255).describe("URL-friendly name (optional, max 255 characters)").optional(),
description: z15.string().max(3e3).describe(
"Detailed description of the template (optional, max 3000 characters)"
).optional(),
imageUrl: z15.string().max(255).describe("URL to the template's primary image").optional(),
backgroundImageUrl: z15.string().max(255).describe("URL to the template's background image").optional(),
visibility: z15.object({}).catchall(z15.any()).describe("Conditions that determine template visibility").optional(),
settings: z15.object({}).catchall(z15.any()).describe("Template-specific settings").optional(),
searchTags: z15.array(z15.string().max(50)).max(20).describe("Tags used for template search functionality").optional(),
categoryTags: z15.array(z15.string().max(30)).max(10).describe("Category classification tags").optional(),
guilds: z15.array(
z15.object({
guildId: z15.string().describe("The ID of the guild the member belongs to").optional(),
roles: z15.array(
z15.object({
roleId: z15.string().regex(
new RegExp(
"^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
)
).describe("Roles assigned to the user").optional()
})
).optional(),
joinedAt: z15.number().int().describe("Timestamp of when the member joined the guild").optional(),
lastActive: z15.number().int().describe("Timestamp of when the member was last active in the guild").optional()
})
).optional(),
identities: z15.array(
z15.object({
identityId: z15.string().describe("The ID of the identity").optional()
}).catchall(z15.any())
).optional(),
farcaster: z15.array(
z15.object({
fid: z15.string().describe("The Farcaster ID"),
username: z15.string().describe("Farcaster username").optional(),
avatar: z15.string().max(255).describe("Farcaster avatar URL").optional(),
isPrimary: z15.boolean().optional()
})
).nullable().optional(),
ethereum: z15.array(
z15.object({
address: z15.string().describe("The Ethereum address of the user"),
isPrimary: z15.boolean().optional(),
isDelegated: z15.boolean().optional()
})
).nullable().optional(),
profiles: z15.array(
z15.object({
referrerUserId: z15.string().describe("The ID of the user who referred this user").optional(),
isPrimary: z15.boolean().optional()
})
).nullable().optional(),
verifications: z15.array(
z15.object({
dateVerified: z15.number().int().optional(),
type: z15.string().optional()
})
).nullable().optional()
}).strict().describe("A user profile in the system");
// types.ts
var types_exports = {};
export {
schemas_exports as schemas,
types_exports as types
};