@mtaap/mcp 0.1.2 → 0.1.3

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.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/core/dist/constants/enums.js","../../../packages/core/dist/constants/state-machine.js","../../../packages/core/dist/version.js","../../../packages/core/dist/config/index.js","../../../packages/core/dist/types/index.js","../../../packages/core/dist/validation/index.js","../../../packages/core/dist/validation/tier-validation.js","../../../packages/core/dist/logging/logger.js","../../../packages/core/dist/logging/metrics.js","../../../packages/core/dist/logging/performance-monitor.js","../../../packages/core/dist/logging/error-tracker.js","../../../packages/core/dist/utils/slug.js"],"sourcesContent":["/**\n * Task State Enum\n */\nexport var TaskState;\n(function (TaskState) {\n TaskState[\"BACKLOG\"] = \"BACKLOG\";\n TaskState[\"READY\"] = \"READY\";\n TaskState[\"IN_PROGRESS\"] = \"IN_PROGRESS\";\n TaskState[\"REVIEW\"] = \"REVIEW\";\n TaskState[\"DONE\"] = \"DONE\";\n})(TaskState || (TaskState = {}));\n/**\n * User Role Enum\n */\nexport var UserRole;\n(function (UserRole) {\n UserRole[\"ADMIN\"] = \"ADMIN\";\n UserRole[\"MEMBER\"] = \"MEMBER\";\n})(UserRole || (UserRole = {}));\n/**\n * Project Type Enum\n */\nexport var ProjectType;\n(function (ProjectType) {\n ProjectType[\"TEAM\"] = \"TEAM\";\n ProjectType[\"PERSONAL\"] = \"PERSONAL\";\n})(ProjectType || (ProjectType = {}));\n/**\n * Project Origin Enum\n */\nexport var ProjectOrigin;\n(function (ProjectOrigin) {\n ProjectOrigin[\"CREATED\"] = \"CREATED\";\n ProjectOrigin[\"PROMOTED\"] = \"PROMOTED\";\n})(ProjectOrigin || (ProjectOrigin = {}));\n/**\n * Task Priority Enum\n */\nexport var TaskPriority;\n(function (TaskPriority) {\n TaskPriority[\"LOW\"] = \"LOW\";\n TaskPriority[\"MEDIUM\"] = \"MEDIUM\";\n TaskPriority[\"HIGH\"] = \"HIGH\";\n TaskPriority[\"CRITICAL\"] = \"CRITICAL\";\n})(TaskPriority || (TaskPriority = {}));\n/**\n * Deployment Mode Enum\n */\nexport var DeploymentMode;\n(function (DeploymentMode) {\n DeploymentMode[\"SAAS\"] = \"saas\";\n DeploymentMode[\"ONPREM\"] = \"onprem\";\n})(DeploymentMode || (DeploymentMode = {}));\n/**\n * Error Type Enum (for agent error reporting)\n */\nexport var ErrorType;\n(function (ErrorType) {\n ErrorType[\"BUILD_FAILURE\"] = \"BUILD_FAILURE\";\n ErrorType[\"TEST_FAILURE\"] = \"TEST_FAILURE\";\n ErrorType[\"CONFLICT\"] = \"CONFLICT\";\n ErrorType[\"AUTH_ERROR\"] = \"AUTH_ERROR\";\n ErrorType[\"OTHER\"] = \"OTHER\";\n})(ErrorType || (ErrorType = {}));\n/**\n * Pull Request Status Enum\n */\nexport var PRStatus;\n(function (PRStatus) {\n PRStatus[\"OPEN\"] = \"OPEN\";\n PRStatus[\"CLOSED\"] = \"CLOSED\";\n PRStatus[\"MERGED\"] = \"MERGED\";\n PRStatus[\"DELETED\"] = \"DELETED\";\n})(PRStatus || (PRStatus = {}));\n/**\n * Pricing Tier Enum\n */\nexport var PricingTier;\n(function (PricingTier) {\n PricingTier[\"FREE\"] = \"FREE\";\n PricingTier[\"PRO\"] = \"PRO\";\n PricingTier[\"ENTERPRISE\"] = \"ENTERPRISE\";\n})(PricingTier || (PricingTier = {}));\n/**\n * API Key Permission Levels\n */\nexport var ApiKeyPermission;\n(function (ApiKeyPermission) {\n ApiKeyPermission[\"READ\"] = \"READ\";\n ApiKeyPermission[\"WRITE\"] = \"WRITE\";\n ApiKeyPermission[\"ADMIN\"] = \"ADMIN\";\n})(ApiKeyPermission || (ApiKeyPermission = {}));\n/**\n * WebSocket Event Types\n */\nexport var WebSocketEventType;\n(function (WebSocketEventType) {\n WebSocketEventType[\"TASK_ASSIGNED\"] = \"task.assigned\";\n WebSocketEventType[\"TASK_ABANDONED\"] = \"task.abandoned\";\n WebSocketEventType[\"TASK_PROGRESS\"] = \"task.progress\";\n WebSocketEventType[\"TASK_PR_CREATED\"] = \"task.pr_created\";\n WebSocketEventType[\"TASK_REVIEW_REQUESTED\"] = \"task.review_requested\";\n WebSocketEventType[\"TASK_COMPLETED\"] = \"task.completed\";\n WebSocketEventType[\"TASK_ERROR\"] = \"task.error\";\n WebSocketEventType[\"TASK_STATE_CHANGED\"] = \"task.state_changed\";\n WebSocketEventType[\"MEMBER_JOINED\"] = \"member.joined\";\n})(WebSocketEventType || (WebSocketEventType = {}));\n/**\n * Authentication Provider Types\n */\nexport var AuthProvider;\n(function (AuthProvider) {\n AuthProvider[\"CREDENTIALS\"] = \"credentials\";\n AuthProvider[\"LDAP\"] = \"ldap\";\n AuthProvider[\"SSO\"] = \"sso\";\n})(AuthProvider || (AuthProvider = {}));\n/**\n * Subscription Status Enum\n */\nexport var SubscriptionStatus;\n(function (SubscriptionStatus) {\n SubscriptionStatus[\"ACTIVE\"] = \"ACTIVE\";\n SubscriptionStatus[\"INACTIVE\"] = \"INACTIVE\";\n SubscriptionStatus[\"PAST_DUE\"] = \"PAST_DUE\";\n SubscriptionStatus[\"CANCELED\"] = \"CANCELED\";\n SubscriptionStatus[\"INCOMPLETE\"] = \"INCOMPLETE\";\n})(SubscriptionStatus || (SubscriptionStatus = {}));\n/**\n * Audit Event Types\n */\nexport var EventType;\n(function (EventType) {\n EventType[\"AUTH\"] = \"AUTH\";\n EventType[\"AUTHORIZATION\"] = \"AUTHORIZATION\";\n EventType[\"ACCESS\"] = \"ACCESS\";\n EventType[\"MODIFICATION\"] = \"MODIFICATION\";\n})(EventType || (EventType = {}));\n","import { TaskState } from \"./enums\";\n// Valid state transitions for Kanban board drag-and-drop\n// Forward: BACKLOG -> READY -> IN_PROGRESS -> REVIEW -> DONE\n// Backward: Any state can move back to earlier states (except DONE which is final)\n// DONE is terminal - cannot be changed once completed\nconst VALID_TRANSITIONS = {\n [TaskState.BACKLOG]: [TaskState.READY],\n [TaskState.READY]: [TaskState.BACKLOG, TaskState.IN_PROGRESS],\n [TaskState.IN_PROGRESS]: [\n TaskState.BACKLOG,\n TaskState.READY,\n TaskState.REVIEW,\n ],\n [TaskState.REVIEW]: [\n TaskState.BACKLOG,\n TaskState.READY,\n TaskState.IN_PROGRESS,\n TaskState.DONE,\n ],\n [TaskState.DONE]: [],\n};\nexport function isValidStateTransition(from, to) {\n if (from === to)\n return true;\n return VALID_TRANSITIONS[from]?.includes(to) ?? false;\n}\nexport function getValidNextStates(current) {\n return VALID_TRANSITIONS[current] ?? [];\n}\nexport function validateStateTransition(from, to) {\n if (from === to) {\n return { valid: true };\n }\n if (!isValidStateTransition(from, to)) {\n const validNext = getValidNextStates(from);\n const validStates = validNext.length > 0 ? validNext.join(\", \") : \"none\";\n return {\n valid: false,\n error: `Invalid state transition from ${from} to ${to}. Valid transitions: ${validStates}`,\n };\n }\n return { valid: true };\n}\n","export const VERSION = \"0.1.0\";\n","import { PricingTier } from \"../constants/enums\";\nimport { VERSION } from \"../version\";\nconst DEPLOYMENT_MODE = (process.env.DEPLOYMENT_MODE ||\n \"saas\");\nexport const config = {\n version: VERSION,\n deploymentMode: DEPLOYMENT_MODE,\n billing: {\n enabled: DEPLOYMENT_MODE === \"saas\",\n revenuecat: {\n publicKey: process.env.REVENUECAT_PUBLIC_API_KEY,\n stripeKey: process.env.STRIPE_SECRET_KEY, // Required by RevenueCat Web Billing\n },\n },\n licensing: {\n enabled: DEPLOYMENT_MODE === \"onprem\",\n licenseKey: process.env.LICENSE_KEY,\n },\n auth: {\n credentials: true,\n ldap: process.env.LDAP_ENABLED === \"true\",\n },\n git: {\n deleteMergedBranches: process.env.DELETE_MERGED_BRANCHES !== \"false\",\n enforceConventionalCommits: process.env.ENFORCE_CONVENTIONAL_COMMITS === \"true\",\n defaultBaseBranch: process.env.DEFAULT_BASE_BRANCH || \"develop\",\n },\n pricing: {\n maxPersonalProjects: {\n FREE: 2,\n PRO: 5,\n ENTERPRISE: 10,\n },\n maxCollaboratorsPerProject: {\n FREE: 3,\n PRO: -1,\n ENTERPRISE: -1,\n },\n maxProjectsPerOrg: {\n FREE: 5,\n PRO: -1,\n ENTERPRISE: -1,\n },\n maxSeats: {\n FREE: 3,\n PRO: -1,\n ENTERPRISE: -1,\n },\n // Default seats when subscription doesn't specify an explicit seat count\n defaultSeats: {\n FREE: 3,\n PRO: 10,\n ENTERPRISE: 999999,\n },\n },\n features: {\n stripe: {\n enabled: DEPLOYMENT_MODE === \"saas\",\n },\n gitlab: {\n enabled: true,\n },\n ldap: {\n enabled: process.env.LDAP_ENABLED === \"true\",\n },\n auditLogs: {\n enabled: process.env.AUDIT_LOGS_ENABLED === \"true\",\n },\n },\n api: {\n apiKey: {\n defaultExpiryDays: 90,\n prefix: \"usr_\",\n },\n rateLimit: {\n requestsPerMinute: 100,\n requestsPerHour: 1000,\n },\n },\n limits: {\n projectNameMaxLength: 100,\n taskDescriptionMaxLength: 5000,\n notesMaxLength: 500,\n conventionsNotesMaxLength: 500,\n recentCompletedTasksLimit: 10,\n },\n};\nexport function getConfig(key) {\n return config[key];\n}\nexport function isFeatureEnabled(feature) {\n const featureConfig = config.features[feature];\n if (typeof featureConfig === \"object\" && \"enabled\" in featureConfig) {\n return featureConfig.enabled;\n }\n return true;\n}\nexport function getPricingLimits(tier) {\n return {\n maxPersonalProjects: config.pricing.maxPersonalProjects[tier],\n maxCollaboratorsPerProject: config.pricing.maxCollaboratorsPerProject[tier],\n maxProjectsPerOrg: config.pricing.maxProjectsPerOrg[tier],\n maxSeats: config.pricing.maxSeats[tier],\n };\n}\n/**\n * Default seat allocations per pricing tier.\n * Used when a subscription doesn't specify an explicit seat count.\n */\nexport const DEFAULT_SEAT_LIMITS = {\n [PricingTier.FREE]: config.pricing.defaultSeats.FREE,\n [PricingTier.PRO]: config.pricing.defaultSeats.PRO,\n [PricingTier.ENTERPRISE]: config.pricing.defaultSeats.ENTERPRISE,\n};\n","import { z } from \"zod\";\nimport { TaskState, TaskPriority, UserRole, ProjectType, ProjectOrigin, ErrorType, PRStatus, PricingTier, ApiKeyPermission, } from \"../constants/enums\";\nexport * from \"../constants/enums\";\n// Note: z is exported from validation/index.ts - do not export here to avoid ambiguity\n/**\n * User Types\n */\nexport const UserIdSchema = z.string().regex(/^usr_[a-zA-Z0-9]+$/);\nexport const UserSchema = z.object({\n id: UserIdSchema,\n email: z.string().email(),\n name: z.string().min(1).max(255),\n role: z.nativeEnum(UserRole),\n organizationId: z.string().optional(),\n lastActiveAt: z.coerce.date().optional(),\n createdAt: z.coerce.date(),\n});\nexport const OrganizationUserSchema = z.object({\n id: z.number().int(),\n userId: UserIdSchema,\n organizationId: z.string(),\n roleId: z.nativeEnum(UserRole).optional(),\n user: UserSchema.pick({ id: true, email: true, name: true, role: true }),\n createdAt: z.coerce.date(),\n});\n/**\n * Organization/Tenant Types\n */\nexport const OrganizationIdSchema = z.string().regex(/^org_[a-zA-Z0-9]+$/);\nexport const OrganizationSchema = z.object({\n id: OrganizationIdSchema,\n name: z.string().min(1).max(255),\n slug: z\n .string()\n .min(1)\n .max(100)\n .regex(/^[a-z0-9-]+$/),\n logoUrl: z.string().url().nullable(),\n accentColor: z\n .string()\n .regex(/^#[0-9A-Fa-f]{6}$/)\n .nullable(),\n tenantName: z.string().nullable(),\n pricingTier: z.nativeEnum(PricingTier),\n createdAt: z.coerce.date(),\n});\nexport const OrganizationSettingsSchema = z.object({\n organizationId: OrganizationIdSchema,\n ldapEnabled: z.boolean(),\n ldapUrl: z.string().url().nullable(),\n ldapBindDN: z.string().nullable(),\n ldapSearchBase: z.string().nullable(),\n deleteMergedBranches: z.boolean(),\n enforceConventionalCommits: z.boolean(),\n maxPersonalProjectsPerUser: z.number().int().min(0),\n});\n/**\n * Tag Types (for access control)\n */\nexport const TagSchema = z.object({\n id: z.string(),\n name: z.string().min(1).max(50),\n organizationId: OrganizationIdSchema,\n createdAt: z.coerce.date(),\n});\n/**\n * Project Types\n */\nexport const ProjectIdSchema = z.string().regex(/^prj_[a-zA-Z0-9]+$/);\nexport const ProjectSchema = z.object({\n id: ProjectIdSchema,\n name: z.string().min(1).max(100),\n description: z.string().max(500).nullable(),\n type: z.nativeEnum(ProjectType),\n origin: z.nativeEnum(ProjectOrigin),\n organizationId: OrganizationIdSchema,\n ownerId: UserIdSchema.nullable(),\n repositoryUrl: z.string().url(),\n baseBranch: z.string().default(\"develop\"),\n tags: z.array(z.string()),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n/**\n * Epic Types\n */\nexport const EpicIdSchema = z.string().regex(/^epc_[a-zA-Z0-9]+$/);\nexport const EpicSchema = z.object({\n id: EpicIdSchema,\n projectId: ProjectIdSchema,\n name: z.string().min(1).max(200),\n description: z.string().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n/**\n * Task/User Story Types\n */\nexport const TaskIdSchema = z.string().regex(/^tsk_[a-zA-Z0-9]+$/);\nexport function generateTaskDisplayId(taskCuid) {\n const lastChars = taskCuid.slice(-3).toUpperCase();\n return `TASK-${lastChars}`;\n}\nexport const TaskSchema = z.object({\n id: TaskIdSchema,\n projectId: ProjectIdSchema,\n epicId: EpicIdSchema.nullable(),\n title: z.string().min(1).max(200),\n description: z.string().max(5000),\n state: z.nativeEnum(TaskState),\n priority: z.nativeEnum(TaskPriority),\n assigneeId: UserIdSchema.nullable(),\n createdBy: UserIdSchema.nullable(),\n assignedAt: z.coerce.date().nullable(),\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n branchName: z.string().nullable(),\n pullRequestUrl: z.string().url().nullable(),\n pullRequestNumber: z.number().int().nullable(),\n pullRequestStatus: z.nativeEnum(PRStatus).nullable(),\n errorType: z.nativeEnum(ErrorType).nullable(),\n errorMessage: z.string().max(1000).nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\nexport const AcceptanceCriterionSchema = z.object({\n id: z.string(),\n taskId: TaskIdSchema,\n description: z.string().min(1).max(500),\n completed: z.boolean(),\n completedAt: z.coerce.date().nullable(),\n order: z.number().int(),\n createdAt: z.coerce.date(),\n});\nexport const ProgressUpdateSchema = z.object({\n id: z.string(),\n taskId: TaskIdSchema,\n userId: UserIdSchema,\n message: z.string().max(2000),\n checkpoints: z.array(z.string()).optional(),\n createdAt: z.coerce.date(),\n});\nexport const TaskNoteSchema = z.object({\n id: z.string(),\n taskId: TaskIdSchema,\n userId: UserIdSchema,\n content: z.string().max(500),\n createdAt: z.coerce.date(),\n});\n/**\n * API Key Types\n */\nexport const ApiKeyIdSchema = z.string().regex(/^key_[a-zA-Z0-9]+$/);\nexport const ApiKeySchema = z.object({\n id: ApiKeyIdSchema,\n userId: UserIdSchema,\n name: z.string().min(1).max(100),\n keyHash: z.string(),\n permissions: z.nativeEnum(ApiKeyPermission),\n lastUsedAt: z.coerce.date().nullable(),\n expiresAt: z.coerce.date().nullable(),\n revoked: z.boolean(),\n createdAt: z.coerce.date(),\n});\n/**\n * Subscription/Seat Types\n */\nexport const SubscriptionIdSchema = z.string();\nexport const SubscriptionSchema = z.object({\n id: SubscriptionIdSchema,\n organizationId: OrganizationIdSchema,\n pricingTier: z.nativeEnum(PricingTier),\n seats: z.number().int().min(0),\n stripeSubscriptionId: z.string().nullable(),\n stripeCustomerId: z.string().nullable(),\n status: z.enum([\"active\", \"past_due\", \"canceled\", \"incomplete\"]),\n currentPeriodStart: z.coerce.date(),\n currentPeriodEnd: z.coerce.date(),\n createdAt: z.coerce.date(),\n});\n/**\n * Collaboration Types\n */\nexport const ProjectCollaboratorSchema = z.object({\n id: z.string(),\n projectId: ProjectIdSchema,\n userId: UserIdSchema,\n addedBy: UserIdSchema,\n createdAt: z.coerce.date(),\n});\n","import { z } from \"zod\";\nimport { TaskState, TaskPriority, UserRole, ProjectType, ErrorType, ApiKeyPermission, } from \"../constants/enums\";\nexport * from \"../constants/enums\";\nexport * from \"./tier-validation\";\nexport { z };\n/**\n * Validation Schemas for MCP Server Tools\n */\nexport const ListProjectsInputSchema = z.object({\n workspaceType: z.preprocess((val) => (typeof val === \"string\" ? val.toUpperCase() : val), z.enum([\"TEAM\", \"PERSONAL\", \"ALL\"]).optional()),\n});\nexport const ListTasksInputSchema = z.object({\n projectId: z.string().optional(),\n state: z.nativeEnum(TaskState).optional(),\n assigneeId: z.string().optional(),\n});\nexport const GetTaskInputSchema = z.object({\n taskId: z.string().regex(/^tsk_[a-zA-Z0-9]+$/),\n});\nexport const AssignTaskInputSchema = z.object({\n projectId: z.string().regex(/^prj_[a-zA-Z0-9]+$/),\n taskId: z.string().regex(/^tsk_[a-zA-Z0-9]+$/),\n expectedState: z.nativeEnum(TaskState).default(TaskState.READY),\n});\nexport const UpdateProgressInputSchema = z.object({\n taskId: z.string().regex(/^tsk_[a-zA-Z0-9]+$/),\n statusMessage: z.string().max(1000).optional(),\n completedCheckpointIds: z.array(z.string()).optional(),\n currentCheckpointIndex: z.number().int().optional(),\n});\nexport const CompleteTaskInputSchema = z.object({\n projectId: z.string().regex(/^prj_[a-zA-Z0-9]+$/),\n taskId: z.string().regex(/^tsk_[a-zA-Z0-9]+$/),\n pullRequestTitle: z.string().min(1).max(300).optional(),\n pullRequestBody: z.string().max(10000).optional(),\n});\nexport const ReportErrorInputSchema = z.object({\n taskId: z.string().regex(/^tsk_[a-zA-Z0-9]+$/),\n errorType: z.nativeEnum(ErrorType),\n errorMessage: z.string().min(1).max(1000),\n context: z.string().max(2000).optional(),\n});\nexport const GetProjectContextInputSchema = z.object({\n projectId: z.string().regex(/^prj_[a-zA-Z0-9]+$/),\n});\nexport const AddNoteInputSchema = z.object({\n taskId: z.string().regex(/^tsk_[a-zA-Z0-9]+$/),\n content: z.string().min(1).max(500),\n});\nexport const AbandonTaskInputSchema = z.object({\n projectId: z.string().regex(/^prj_[a-zA-Z0-9]+$/),\n taskId: z.string().regex(/^tsk_[a-zA-Z0-9]+$/),\n deleteBranch: z.boolean().optional(),\n});\nexport const CreatePersonalProjectInputSchema = z.object({\n name: z.string().min(1).max(100),\n description: z.string().max(500).optional(),\n repositoryUrl: z.string().url(),\n});\nexport const CheckActiveTaskInputSchema = z.object({});\n/**\n * Validation Schemas for Webapp API Routes\n */\nexport const CreateOrganizationInputSchema = z.object({\n name: z.string().min(1).max(255),\n slug: z\n .string()\n .min(1)\n .max(100)\n .regex(/^[a-z0-9-]+$/)\n .optional(),\n});\nexport const UpdateOrganizationInputSchema = z.object({\n organizationId: z.string().regex(/^org_[a-zA-Z0-9]+$/),\n name: z.string().min(1).max(255).optional(),\n logoUrl: z.string().url().nullable().optional(),\n accentColor: z\n .string()\n .regex(/^#[0-9A-Fa-f]{6}$/, \"Invalid hex color format. Expected #RRGGBB\")\n .nullable()\n .optional(),\n tenantName: z.string().max(255).nullable().optional(),\n});\nexport const CreateProjectInputSchema = z.object({\n name: z.string().min(1).max(100),\n description: z.string().max(500).optional(),\n type: z.nativeEnum(ProjectType),\n repositoryUrl: z.string().url(),\n baseBranch: z.string().default(\"develop\").optional(),\n tags: z.array(z.string()).default([]),\n});\nexport const UpdateProjectInputSchema = z.object({\n projectId: z.string().min(1).optional(),\n name: z.string().min(1).max(100).optional(),\n description: z.string().max(500).optional(),\n repositoryUrl: z.string().url().optional(),\n baseBranch: z.string().optional(),\n tags: z.array(z.string()).optional(),\n});\nexport const CreateEpicInputSchema = z.object({\n projectId: z.string().regex(/^prj_[a-zA-Z0-9]+$/),\n name: z.string().min(1).max(200),\n description: z.string().max(2000).optional(),\n});\nexport const CreateTaskInputSchema = z.object({\n projectId: z.string().min(1),\n epicId: z.string().min(1).nullable().optional(),\n title: z.string().min(1).max(200),\n description: z.string().max(5000),\n priority: z.nativeEnum(TaskPriority).default(TaskPriority.MEDIUM),\n acceptanceCriteria: z\n .array(z.object({\n description: z.string().min(1).max(500),\n }))\n .min(1),\n});\nexport const UpdateTaskInputSchema = z.object({\n taskId: z.string().min(1),\n title: z.string().min(1).max(200).optional(),\n description: z.string().max(5000).optional(),\n priority: z.nativeEnum(TaskPriority).optional(),\n state: z.nativeEnum(TaskState).optional(),\n assigneeId: z.string().nullable().optional(),\n acceptanceCriteria: z\n .array(z.object({\n id: z.string().optional(),\n description: z.string().min(1).max(500),\n completed: z.boolean().optional(),\n }))\n .optional(),\n});\nexport const AssignTaskWebappInputSchema = z.object({\n taskId: z.string().min(1),\n userId: z.string().min(1),\n});\nexport const CreateTagInputSchema = z.object({\n organizationId: z.string().regex(/^org_[a-zA-Z0-9]+$/),\n name: z\n .string()\n .min(1)\n .max(50)\n .regex(/^[a-zA-Z0-9\\s-]+$/),\n});\nexport const UpdateTagInputSchema = z.object({\n name: z\n .string()\n .min(1)\n .max(50)\n .regex(/^[a-zA-Z0-9\\s-]+$/),\n});\nexport const UpdateOrganizationSettingsInputSchema = z.object({\n organizationId: z.string().regex(/^org_[a-zA-Z0-9]+$/),\n ldapEnabled: z.boolean().optional(),\n ldapUrl: z.string().url().nullable().optional(),\n ldapBindDN: z.string().nullable().optional(),\n ldapSearchBase: z.string().nullable().optional(),\n deleteMergedBranches: z.boolean().optional(),\n enforceConventionalCommits: z.boolean().optional(),\n maxPersonalProjectsPerUser: z.number().int().min(0).optional(),\n logoUrl: z.string().url().nullable().optional(),\n accentColor: z\n .string()\n .regex(/^#[0-9A-Fa-f]{6}$/, \"Invalid hex color format. Expected #RRGGBB\")\n .nullable()\n .optional(),\n tenantName: z.string().max(255).nullable().optional(),\n});\nexport const InviteUserInputSchema = z.object({\n organizationId: z.string().regex(/^org_[a-zA-Z0-9]+$/),\n email: z.string().email(),\n role: z.nativeEnum(UserRole).default(UserRole.MEMBER),\n tags: z.array(z.string()).default([]),\n});\nexport const AssignUserTagsInputSchema = z.object({\n userId: z.string().regex(/^usr_[a-zA-Z0-9]+$/),\n tags: z.array(z.string()).min(0),\n});\nexport const InviteCollaboratorInputSchema = z.object({\n projectId: z.string().regex(/^prj_[a-zA-Z0-9]+$/),\n email: z.string().email(),\n});\nexport const PublishProjectInputSchema = z.object({\n projectId: z.string().regex(/^prj_[a-zA-Z0-9]+$/),\n transferOwnership: z.boolean().default(false),\n tags: z.array(z.string()).min(1),\n});\nexport const GenerateApiKeyInputSchema = z.object({\n name: z.string().min(1).max(100),\n expiresInDays: z.number().int().min(1).max(365).default(90),\n permissions: z.nativeEnum(ApiKeyPermission).default(ApiKeyPermission.WRITE),\n});\nexport const RevokeApiKeyInputSchema = z.object({\n keyId: z.string().regex(/^key_[a-zA-Z0-9]+$/),\n});\n/**\n * Validation Schemas for Authentication\n */\nexport const LoginInputSchema = z.object({\n email: z.string().email(),\n password: z.string().min(8).max(255),\n});\nexport const RegisterInputSchema = z.object({\n email: z.string().email(),\n password: z.string().min(8).max(255),\n name: z.string().min(1).max(255),\n organizationSlug: z\n .string()\n .min(1)\n .max(100)\n .regex(/^[a-z0-9-]+$/)\n .optional(),\n});\n","import { PricingTier } from \"../constants/enums\";\nimport { getPricingLimits } from \"../config\";\nexport function validateTierLimit(context) {\n const limits = getPricingLimits(context.tier);\n let limit;\n let resourceName;\n switch (context.resourceType) {\n case \"organization\":\n case \"seat\":\n limit = limits.maxSeats;\n resourceName = \"seats\";\n break;\n case \"personal_project\":\n limit = limits.maxPersonalProjects;\n resourceName = \"personal projects\";\n break;\n case \"team_project\":\n limit = limits.maxProjectsPerOrg;\n resourceName = \"team projects\";\n break;\n case \"collaborator\":\n limit = limits.maxCollaboratorsPerProject;\n resourceName = \"collaborators per project\";\n break;\n default:\n throw new Error(`Unknown resource type: ${context.resourceType}`);\n }\n const isUnlimited = limit === -1;\n const allowed = isUnlimited || context.currentCount < limit;\n const available = isUnlimited\n ? -1\n : Math.max(0, limit - context.currentCount);\n let message;\n if (allowed) {\n if (isUnlimited) {\n message = `Unlimited ${resourceName} available on ${context.tier} tier`;\n }\n else {\n message = `${available} of ${limit} ${resourceName} available`;\n }\n }\n else {\n message = `${context.tier} tier limit reached: ${context.currentCount}/${limit} ${resourceName}. Upgrade to increase limit.`;\n }\n return {\n allowed,\n limit: isUnlimited ? -1 : limit,\n current: context.currentCount,\n available,\n upgradeRequired: !allowed,\n message,\n };\n}\nexport function calculateTierUsagePercentage(current, limit) {\n if (limit === -1)\n return 0;\n if (limit === 0)\n return 100;\n return Math.round((current / limit) * 100);\n}\nexport function shouldShowUpgradePrompt(current, limit, threshold = 80) {\n if (limit === -1)\n return false;\n const percentage = calculateTierUsagePercentage(current, limit);\n return percentage >= threshold;\n}\nexport function getUpgradeMessage(tier) {\n switch (tier) {\n case PricingTier.FREE:\n return \"Upgrade to PRO for unlimited projects and collaborators\";\n case PricingTier.PRO:\n return \"Upgrade to ENTERPRISE for priority support and advanced features\";\n case PricingTier.ENTERPRISE:\n return \"Contact us for custom enterprise solutions\";\n }\n}\n","const LOG_LEVELS = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3,\n};\nfunction getMinLogLevel() {\n const env = process.env.LOG_LEVEL?.toLowerCase();\n if (env && env in LOG_LEVELS) {\n return env;\n }\n return process.env.NODE_ENV === \"production\" ? \"info\" : \"debug\";\n}\nfunction shouldLog(level) {\n return LOG_LEVELS[level] >= LOG_LEVELS[getMinLogLevel()];\n}\nfunction formatError(error) {\n if (!error)\n return undefined;\n if (error instanceof Error) {\n return {\n name: error.name,\n message: error.message,\n stack: error.stack,\n };\n }\n return {\n name: \"UnknownError\",\n message: String(error),\n };\n}\nfunction createLogEntry(level, message, context, error) {\n const entry = {\n timestamp: new Date().toISOString(),\n level,\n message,\n };\n if (context && Object.keys(context).length > 0) {\n entry.context = context;\n }\n if (error) {\n entry.error = formatError(error);\n }\n return entry;\n}\nfunction outputLog(entry) {\n const isProduction = process.env.NODE_ENV === \"production\";\n if (isProduction) {\n console[entry.level === \"debug\" ? \"log\" : entry.level](JSON.stringify(entry));\n }\n else {\n const prefix = `[${entry.timestamp}] [${entry.level.toUpperCase()}]`;\n const contextStr = entry.context ? ` ${JSON.stringify(entry.context)}` : \"\";\n if (entry.error) {\n console[entry.level === \"debug\" ? \"log\" : entry.level](`${prefix} ${entry.message}${contextStr}`, entry.error);\n }\n else {\n console[entry.level === \"debug\" ? \"log\" : entry.level](`${prefix} ${entry.message}${contextStr}`);\n }\n }\n}\nexport const logger = {\n debug(message, context) {\n if (shouldLog(\"debug\")) {\n outputLog(createLogEntry(\"debug\", message, context));\n }\n },\n info(message, context) {\n if (shouldLog(\"info\")) {\n outputLog(createLogEntry(\"info\", message, context));\n }\n },\n warn(message, context, error) {\n if (shouldLog(\"warn\")) {\n outputLog(createLogEntry(\"warn\", message, context, error));\n }\n },\n error(message, context, error) {\n if (shouldLog(\"error\")) {\n outputLog(createLogEntry(\"error\", message, context, error));\n }\n },\n withContext(baseContext) {\n return {\n debug: (message, context) => logger.debug(message, { ...baseContext, ...context }),\n info: (message, context) => logger.info(message, { ...baseContext, ...context }),\n warn: (message, context, error) => logger.warn(message, { ...baseContext, ...context }, error),\n error: (message, context, error) => logger.error(message, { ...baseContext, ...context }, error),\n };\n },\n};\nexport function createRequestLogger(requestId) {\n return logger.withContext({ requestId });\n}\n","/**\n * In-memory metrics storage.\n *\n * Note: Metric retention is intentionally handled by the external Prometheus scraper,\n * not at the application level. This is standard practice - the application exposes\n * current metric values, and Prometheus handles time-series storage, retention policies,\n * and historical queries. See Prometheus documentation for configuring retention periods.\n */\nconst metrics = new Map();\nfunction labelsToKey(labels) {\n if (!labels || Object.keys(labels).length === 0)\n return \"\";\n return Object.entries(labels)\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([k, v]) => `${k}=\"${v}\"`)\n .join(\",\");\n}\nexport function createCounter(name, help) {\n const data = {\n name,\n type: \"counter\",\n help,\n values: new Map(),\n };\n metrics.set(name, data);\n return {\n inc(labels, value = 1) {\n const key = labelsToKey(labels);\n const current = data.values.get(key) || 0;\n data.values.set(key, current + value);\n },\n };\n}\nexport function createGauge(name, help) {\n const data = {\n name,\n type: \"gauge\",\n help,\n values: new Map(),\n };\n metrics.set(name, data);\n return {\n set(labels, value) {\n const key = labelsToKey(labels);\n data.values.set(key, value);\n },\n inc(labels, value = 1) {\n const key = labelsToKey(labels);\n const current = data.values.get(key) || 0;\n data.values.set(key, current + value);\n },\n dec(labels, value = 1) {\n const key = labelsToKey(labels);\n const current = data.values.get(key) || 0;\n data.values.set(key, current - value);\n },\n };\n}\nexport function createHistogram(name, help, buckets = [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]) {\n const data = {\n name,\n type: \"histogram\",\n help,\n values: new Map(),\n buckets,\n };\n metrics.set(name, data);\n return {\n observe(labels, value) {\n const baseKey = labelsToKey(labels);\n const sumKey = `${baseKey}|sum`;\n const countKey = `${baseKey}|count`;\n data.values.set(sumKey, (data.values.get(sumKey) || 0) + value);\n data.values.set(countKey, (data.values.get(countKey) || 0) + 1);\n for (const bucket of buckets) {\n const bucketKey = `${baseKey}|le=\"${bucket}\"`;\n if (value <= bucket) {\n data.values.set(bucketKey, (data.values.get(bucketKey) || 0) + 1);\n }\n }\n const infKey = `${baseKey}|le=\"+Inf\"`;\n data.values.set(infKey, (data.values.get(infKey) || 0) + 1);\n },\n };\n}\nexport function getMetricsAsPrometheus() {\n const lines = [];\n for (const [, data] of metrics) {\n lines.push(`# HELP ${data.name} ${data.help}`);\n lines.push(`# TYPE ${data.name} ${data.type}`);\n if (data.type === \"histogram\") {\n const grouped = new Map();\n for (const [key, value] of data.values) {\n const [baseLabels, suffix] = key.split(\"|\");\n if (!grouped.has(baseLabels)) {\n grouped.set(baseLabels, new Map());\n }\n grouped.get(baseLabels).set(suffix, value);\n }\n for (const [baseLabels, suffixes] of grouped) {\n const labelStr = baseLabels ? `{${baseLabels}}` : \"\";\n for (const [suffix, value] of suffixes) {\n if (suffix.startsWith(\"le=\")) {\n const le = suffix.replace(\"le=\", \"\");\n const fullLabels = baseLabels\n ? `{${baseLabels},le=${le}}`\n : `{le=${le}}`;\n lines.push(`${data.name}_bucket${fullLabels} ${value}`);\n }\n }\n lines.push(`${data.name}_sum${labelStr} ${suffixes.get(\"sum\") || 0}`);\n lines.push(`${data.name}_count${labelStr} ${suffixes.get(\"count\") || 0}`);\n }\n }\n else {\n for (const [key, value] of data.values) {\n const labelStr = key ? `{${key}}` : \"\";\n lines.push(`${data.name}${labelStr} ${value}`);\n }\n }\n lines.push(\"\");\n }\n return lines.join(\"\\n\");\n}\nexport function resetMetrics() {\n for (const data of metrics.values()) {\n data.values.clear();\n }\n}\nexport const httpRequestsTotal = createCounter(\"mtaap_http_requests_total\", \"Total number of HTTP requests\");\nexport const httpRequestDuration = createHistogram(\"mtaap_http_request_duration_seconds\", \"HTTP request duration in seconds\");\nexport const activeUsers = createGauge(\"mtaap_active_users\", \"Number of active users\");\nexport const tasksTotal = createCounter(\"mtaap_tasks_total\", \"Total number of tasks by state\");\nexport const taskStateChanges = createCounter(\"mtaap_task_state_changes_total\", \"Total number of task state changes\");\nexport const httpErrorsTotal = createCounter(\"mtaap_http_errors_total\", \"Total number of HTTP errors\");\nexport const httpActiveConnections = createGauge(\"mtaap_http_active_connections\", \"Number of active HTTP connections\");\nexport const newSignupsTotal = createCounter(\"mtaap_new_signups_total\", \"Total number of new user signups\");\nexport const loginSuccessTotal = createCounter(\"mtaap_login_success_total\", \"Total number of successful logins\");\nexport const loginFailureTotal = createCounter(\"mtaap_login_failure_total\", \"Total number of failed logins\");\nexport const dbConnectionPoolActive = createGauge(\"mtaap_db_connection_pool_active\", \"Number of active database connections\");\nexport const dbConnectionPoolIdle = createGauge(\"mtaap_db_connection_pool_idle\", \"Number of idle database connections\");\nexport const dbConnectionPoolMax = createGauge(\"mtaap_db_connection_pool_max\", \"Maximum number of database connections\");\nexport const dbQueryDuration = createHistogram(\"mtaap_db_query_duration_seconds\", \"Database query duration in seconds\");\nexport const dbSlowQueriesTotal = createCounter(\"mtaap_db_slow_queries_total\", \"Total number of slow database queries (>1s)\");\nexport const dbErrorsTotal = createCounter(\"mtaap_db_errors_total\", \"Total number of database errors\");\nexport const tasksCreatedTotal = createCounter(\"mtaap_tasks_created_total\", \"Total number of tasks created\");\nexport const tasksAssignedTotal = createCounter(\"mtaap_tasks_assigned_total\", \"Total number of tasks assigned\");\nexport const tasksCompletedTotal = createCounter(\"mtaap_tasks_completed_total\", \"Total number of tasks completed\");\nexport const tasksByState = createGauge(\"mtaap_tasks_by_state\", \"Number of tasks by state\");\n","const MAX_SAMPLES = 1000;\nconst ALERT_COOLDOWN_MS = 5 * 60 * 1000;\nconst DEFAULT_THRESHOLDS = {\n api: {\n p50: 100,\n p95: 500,\n p99: 1000,\n },\n db: {\n p95: 100,\n p99: 500,\n },\n webvitals: {\n FCP: 2000,\n LCP: 2500,\n FID: 100,\n CLS: 0.1,\n },\n};\nfunction cloneThresholds() {\n return Object.fromEntries(Object.entries(DEFAULT_THRESHOLDS).map(([category, metrics]) => [\n category,\n { ...metrics },\n ]));\n}\nfunction labelsToKey(labels) {\n if (!labels || Object.keys(labels).length === 0)\n return \"\";\n return Object.entries(labels)\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\",\");\n}\nfunction percentile(sortedValues, percentileValue) {\n if (sortedValues.length === 0)\n return 0;\n const rank = Math.ceil((percentileValue / 100) * sortedValues.length);\n const index = Math.min(Math.max(rank - 1, 0), sortedValues.length - 1);\n return sortedValues[index];\n}\nclass CircularBuffer {\n capacity;\n values = [];\n index = 0;\n size = 0;\n constructor(capacity) {\n this.capacity = capacity;\n }\n add(value) {\n if (this.size < this.capacity) {\n this.values.push(value);\n this.size += 1;\n this.index = this.size % this.capacity;\n return;\n }\n this.values[this.index] = value;\n this.index = (this.index + 1) % this.capacity;\n }\n getValues() {\n if (this.size < this.capacity) {\n return this.values.slice(0, this.size);\n }\n return this.values.slice();\n }\n}\nexport class PerformanceMonitor {\n samples = new Map();\n thresholds = cloneThresholds();\n alertCallback;\n lastAlertTimestamps = new Map();\n recordTiming(category, name, durationMs, labels) {\n if (!Number.isFinite(durationMs))\n return;\n const categoryMap = this.getCategoryMap(category);\n const nameMap = this.getNameMap(categoryMap, name);\n const labelKey = labelsToKey(labels);\n const buffer = nameMap.get(labelKey) ?? new CircularBuffer(MAX_SAMPLES);\n buffer.add(durationMs);\n nameMap.set(labelKey, buffer);\n }\n getPercentiles(category, name) {\n const samples = this.collectSamples(category, name);\n if (samples.length === 0) {\n return { p50: 0, p95: 0, p99: 0 };\n }\n const sorted = [...samples].sort((a, b) => a - b);\n return {\n p50: percentile(sorted, 50),\n p95: percentile(sorted, 95),\n p99: percentile(sorted, 99),\n };\n }\n checkThresholds() {\n const alerts = [];\n const now = Date.now();\n const callbackAlerts = [];\n for (const [category, nameMap] of this.samples) {\n const thresholds = this.thresholds[category];\n if (!thresholds)\n continue;\n for (const name of nameMap.keys()) {\n const percentiles = this.getPercentiles(category, name);\n for (const [metric, threshold] of Object.entries(thresholds)) {\n const value = this.resolveMetricValue(metric, name, percentiles);\n if (value === undefined || value <= threshold)\n continue;\n const alert = {\n category,\n name,\n metric,\n value,\n threshold,\n };\n alerts.push(alert);\n const alertKey = `${category}|${name}|${metric}`;\n const lastAlertTime = this.lastAlertTimestamps.get(alertKey);\n if (!lastAlertTime || now - lastAlertTime >= ALERT_COOLDOWN_MS) {\n this.lastAlertTimestamps.set(alertKey, now);\n callbackAlerts.push(alert);\n }\n }\n }\n }\n if (callbackAlerts.length > 0 && this.alertCallback) {\n this.alertCallback(callbackAlerts);\n }\n return alerts;\n }\n setAlertCallback(callback) {\n this.alertCallback = callback;\n }\n setThreshold(category, metric, value) {\n if (!this.thresholds[category]) {\n this.thresholds[category] = {};\n }\n this.thresholds[category][metric] = value;\n }\n collectSamples(category, name) {\n const categoryMap = this.samples.get(category);\n if (!categoryMap)\n return [];\n const entries = name\n ? [[name, categoryMap.get(name)]]\n : Array.from(categoryMap.entries());\n const samples = [];\n for (const [, labelMap] of entries) {\n if (!labelMap)\n continue;\n for (const buffer of labelMap.values()) {\n samples.push(...buffer.getValues());\n }\n }\n return samples;\n }\n resolveMetricValue(metric, name, percentiles) {\n if (metric === \"p50\")\n return percentiles.p50;\n if (metric === \"p95\")\n return percentiles.p95;\n if (metric === \"p99\")\n return percentiles.p99;\n if (metric === name)\n return percentiles.p95;\n return undefined;\n }\n getCategoryMap(category) {\n const existing = this.samples.get(category);\n if (existing)\n return existing;\n const created = new Map();\n this.samples.set(category, created);\n return created;\n }\n getNameMap(categoryMap, name) {\n const existing = categoryMap.get(name);\n if (existing)\n return existing;\n const created = new Map();\n categoryMap.set(name, created);\n return created;\n }\n}\nconst defaultMonitor = new PerformanceMonitor();\nexport function recordTiming(category, name, durationMs, labels) {\n defaultMonitor.recordTiming(category, name, durationMs, labels);\n}\nexport function getPercentiles(category, name) {\n return defaultMonitor.getPercentiles(category, name);\n}\nexport function checkThresholds() {\n return defaultMonitor.checkThresholds();\n}\nexport function setAlertCallback(callback) {\n defaultMonitor.setAlertCallback(callback);\n}\nexport function setThreshold(category, metric, value) {\n defaultMonitor.setThreshold(category, metric, value);\n}\n","export class NoOpErrorTracker {\n captureError(error, context) {\n console.error(\"Error captured:\", error.message, context);\n }\n captureException(error, context) {\n console.error(\"Exception captured:\", error, context);\n }\n captureMessage(message, level, context) {\n console[level === \"warning\" ? \"warn\" : level](`Message captured [${level}]:`, message, context);\n }\n setUser(user) {\n console.log(\"User set:\", user);\n }\n clearUser() {\n console.log(\"User cleared\");\n }\n}\nlet errorTrackerInstance = new NoOpErrorTracker();\nexport function initializeErrorTracker(tracker) {\n errorTrackerInstance = tracker;\n}\nexport function getErrorTracker() {\n return errorTrackerInstance;\n}\nexport function captureError(error, context) {\n errorTrackerInstance.captureError(error, context);\n}\nexport function captureException(error, context) {\n errorTrackerInstance.captureException(error, context);\n}\nexport function captureMessage(message, level = \"error\", context) {\n errorTrackerInstance.captureMessage(message, level, context);\n}\nexport function setErrorUser(user) {\n errorTrackerInstance.setUser(user);\n}\nexport function clearErrorUser() {\n errorTrackerInstance.clearUser();\n}\nexport function shouldIgnoreError(statusCode) {\n if (!statusCode) {\n return false;\n }\n const ignoredStatusCodes = [404, 401];\n return ignoredStatusCodes.includes(statusCode);\n}\nexport function shouldIgnoreErrorByMessage(error) {\n const ignoredMessages = [\n \"ResizeObserver loop\",\n \"ResizeObserver loop limit exceeded\",\n \"Non-Error promise rejection captured\",\n \"NEXT_NOT_FOUND\",\n \"NEXT_REDIRECT\",\n ];\n return ignoredMessages.some((msg) => error.message.toLowerCase().includes(msg.toLowerCase()));\n}\n","/**\n * Generate a URL-safe slug from a string.\n *\n * Converts to lowercase, replaces spaces with hyphens, removes special characters.\n *\n * @param input - The input string to slugify (e.g., organization name)\n * @returns URL-safe slug\n *\n * @example\n * ```ts\n * generateSlug(\"My Awesome Organization\") // \"my-awesome-organization\"\n * generateSlug(\"Hello World! 123\") // \"hello-world-123\"\n * ```\n */\nexport function generateSlug(input) {\n const normalized = input.toLowerCase();\n const alphanumeric = normalized.replace(/[^a-z0-9\\s-]/g, \"\");\n const withHyphens = alphanumeric.replace(/\\s+/g, \"-\");\n const singleHyphens = withHyphens.replace(/-+/g, \"-\");\n const trimmedHyphens = singleHyphens.replace(/^-+|-+$/g, \"\");\n return trimmedHyphens.slice(0, 100);\n}\n"],"mappings":"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","names":["TaskState","UserRole","ProjectType","ProjectOrigin","TaskPriority","DeploymentMode","ErrorType","PRStatus","PricingTier","ApiKeyPermission","WebSocketEventType","AuthProvider","SubscriptionStatus","EventType","z","z","metrics","labelsToKey"]}