@task-shepherd/agent 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/meta.json +5 -5
  4. package/package.json +3 -2
  5. package/shared/dist/index.d.ts +15 -0
  6. package/shared/dist/index.js +12 -0
  7. package/shared/dist/mcp-client/client.d.ts +18 -0
  8. package/shared/dist/mcp-client/client.js +49 -0
  9. package/shared/dist/mcp-client/index.d.ts +7 -0
  10. package/shared/dist/mcp-client/index.js +7 -0
  11. package/shared/dist/mcp-client/types.d.ts +822 -0
  12. package/shared/dist/mcp-client/types.js +193 -0
  13. package/shared/dist/schema/index.d.ts +189 -0
  14. package/shared/dist/schema/index.js +142 -0
  15. package/shared/dist/schema/mcp-mappings.d.ts +50 -0
  16. package/shared/dist/schema/mcp-mappings.js +563 -0
  17. package/shared/dist/schema/validation.d.ts +91 -0
  18. package/shared/dist/schema/validation.js +282 -0
  19. package/shared/dist/work-queue/index.d.ts +7 -0
  20. package/shared/dist/work-queue/index.js +7 -0
  21. package/shared/dist/work-queue/types.d.ts +147 -0
  22. package/shared/dist/work-queue/types.js +4 -0
  23. package/shared/dist/work-queue/validation.d.ts +24 -0
  24. package/shared/dist/work-queue/validation.js +160 -0
  25. package/shared/dist/workspace/constants.d.ts +148 -0
  26. package/shared/dist/workspace/constants.js +432 -0
  27. package/shared/dist/workspace/index.d.ts +10 -0
  28. package/shared/dist/workspace/index.js +10 -0
  29. package/shared/dist/workspace/types.d.ts +477 -0
  30. package/shared/dist/workspace/types.js +9 -0
  31. package/shared/dist/workspace/utils.d.ts +79 -0
  32. package/shared/dist/workspace/utils.js +334 -0
  33. package/shared/dist/workspace/validation.d.ts +1312 -0
  34. package/shared/dist/workspace/validation.js +467 -0
  35. package/shared/graphql/generated-internal.ts +3629 -0
  36. package/shared/graphql/generated-public.ts +773 -0
  37. package/shared/graphql/generated.d.ts +7456 -0
  38. package/shared/graphql/generated.js +11799 -0
  39. package/shared/graphql/generated.ts +27569 -0
  40. package/shared/graphql/generated.ts.backup +16531 -0
  41. package/shared/graphql/generated.ts.working +4828 -0
  42. package/shared/graphql/introspection-internal.json +15845 -0
  43. package/shared/graphql/introspection-public.json +9658 -0
  44. package/shared/graphql/introspection.json +44263 -0
  45. package/shared/graphql/operations/ai-service.graphql +131 -0
  46. package/shared/graphql/operations/ai-work-queue.graphql +31 -0
  47. package/shared/graphql/operations/analytics.graphql +283 -0
  48. package/shared/graphql/operations/analytics.ts +3 -0
  49. package/shared/graphql/operations/api-keys.graphql +126 -0
  50. package/shared/graphql/operations/attachments.graphql +53 -0
  51. package/shared/graphql/operations/attachments.ts +39 -0
  52. package/shared/graphql/operations/audit.graphql +46 -0
  53. package/shared/graphql/operations/auth.graphql +83 -0
  54. package/shared/graphql/operations/claude-usage.graphql +178 -0
  55. package/shared/graphql/operations/comments.graphql +4 -0
  56. package/shared/graphql/operations/dashboard.graphql +29 -0
  57. package/shared/graphql/operations/development-plans.graphql +408 -0
  58. package/shared/graphql/operations/early-access.graphql.disabled +21 -0
  59. package/shared/graphql/operations/errors.graphql.disabled +83 -0
  60. package/shared/graphql/operations/internal-api.graphql +931 -0
  61. package/shared/graphql/operations/notifications.graphql +4 -0
  62. package/shared/graphql/operations/organization-invites.graphql.disabled +32 -0
  63. package/shared/graphql/operations/performance.graphql +4 -0
  64. package/shared/graphql/operations/project-reviews.graphql +610 -0
  65. package/shared/graphql/operations/projects.graphql +98 -0
  66. package/shared/graphql/operations/settings.graphql +4 -0
  67. package/shared/graphql/operations/stories.graphql +113 -0
  68. package/shared/graphql/operations/subscriptions.graphql +235 -0
  69. package/shared/graphql/operations/subscriptions.graphql.disabled +96 -0
  70. package/shared/graphql/operations/tasks.graphql +257 -0
  71. package/shared/graphql/operations/team.graphql +111 -0
  72. package/shared/graphql/operations/team.ts +226 -0
  73. package/shared/graphql/operations/time-tracking.graphql.disabled +96 -0
  74. package/shared/graphql/operations/work-queue.graphql +210 -0
  75. package/shared/graphql/operations/work-queue.graphql.disabled +474 -0
  76. package/shared/graphql/operations/workspace.graphql +146 -0
  77. package/shared/graphql/schema-internal.graphql +1085 -0
  78. package/shared/graphql/schema-public.graphql +709 -0
  79. package/shared/graphql/schema.graphql +3473 -0
  80. package/shared/package.json +23 -0
  81. package/web/README.md +68 -0
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Generated MCP Client Types
3
+ *
4
+ * This file is auto-generated from MCP tool mappings.
5
+ * Do not modify directly - run npm run generate:mcp-client instead.
6
+ */
7
+ /**
8
+ * Tool registry for type-safe tool execution
9
+ */
10
+ export const MCP_TOOL_REGISTRY = {
11
+ 'list_projects': {
12
+ name: 'list_projects',
13
+ description: 'List all projects with optional filtering',
14
+ operationType: 'query',
15
+ graphqlOperation: 'projects',
16
+ requiredPermissions: ["VIEW"],
17
+ },
18
+ 'get_project': {
19
+ name: 'get_project',
20
+ description: 'Get a specific project by ID',
21
+ operationType: 'query',
22
+ graphqlOperation: 'project',
23
+ requiredPermissions: ["VIEW"],
24
+ },
25
+ 'create_project': {
26
+ name: 'create_project',
27
+ description: 'Create a new project',
28
+ operationType: 'mutation',
29
+ graphqlOperation: 'createProject',
30
+ requiredPermissions: ["PRODUCT", "ADMIN"],
31
+ },
32
+ 'update_project': {
33
+ name: 'update_project',
34
+ description: 'Update an existing project',
35
+ operationType: 'mutation',
36
+ graphqlOperation: 'updateProject',
37
+ requiredPermissions: ["PRODUCT", "ADMIN"],
38
+ },
39
+ 'delete_project': {
40
+ name: 'delete_project',
41
+ description: 'Delete a project',
42
+ operationType: 'mutation',
43
+ graphqlOperation: 'deleteProject',
44
+ requiredPermissions: ["PRODUCT", "ADMIN"],
45
+ },
46
+ 'list_stories': {
47
+ name: 'list_stories',
48
+ description: 'List stories with filtering and pagination',
49
+ operationType: 'query',
50
+ graphqlOperation: 'stories',
51
+ requiredPermissions: ["VIEW"],
52
+ },
53
+ 'get_story': {
54
+ name: 'get_story',
55
+ description: 'Get a specific story by ID',
56
+ operationType: 'query',
57
+ graphqlOperation: 'story',
58
+ requiredPermissions: ["VIEW"],
59
+ },
60
+ 'create_story': {
61
+ name: 'create_story',
62
+ description: 'Create a new story',
63
+ operationType: 'mutation',
64
+ graphqlOperation: 'createStory',
65
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
66
+ },
67
+ 'update_story': {
68
+ name: 'update_story',
69
+ description: 'Update an existing story',
70
+ operationType: 'mutation',
71
+ graphqlOperation: 'updateStory',
72
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
73
+ },
74
+ 'claim_story': {
75
+ name: 'claim_story',
76
+ description: 'Claim a story for work',
77
+ operationType: 'mutation',
78
+ graphqlOperation: 'claimStory',
79
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
80
+ },
81
+ 'unclaim_story': {
82
+ name: 'unclaim_story',
83
+ description: 'Unclaim a previously claimed story',
84
+ operationType: 'mutation',
85
+ graphqlOperation: 'releaseStory',
86
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
87
+ },
88
+ 'complete_story': {
89
+ name: 'complete_story',
90
+ description: 'Mark a story as complete',
91
+ operationType: 'mutation',
92
+ graphqlOperation: 'completeStory',
93
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
94
+ },
95
+ 'review_story': {
96
+ name: 'review_story',
97
+ description: 'Review a completed story',
98
+ operationType: 'mutation',
99
+ graphqlOperation: 'reviewStory',
100
+ requiredPermissions: ["PRODUCT", "ADMIN"],
101
+ },
102
+ 'list_tasks': {
103
+ name: 'list_tasks',
104
+ description: 'List tasks with filtering and pagination',
105
+ operationType: 'query',
106
+ graphqlOperation: 'tasks',
107
+ requiredPermissions: ["VIEW"],
108
+ },
109
+ 'get_task': {
110
+ name: 'get_task',
111
+ description: 'Get a specific task by ID',
112
+ operationType: 'query',
113
+ graphqlOperation: 'task',
114
+ requiredPermissions: ["VIEW"],
115
+ },
116
+ 'create_task': {
117
+ name: 'create_task',
118
+ description: 'Create a new task',
119
+ operationType: 'mutation',
120
+ graphqlOperation: 'createTask',
121
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
122
+ },
123
+ 'update_task': {
124
+ name: 'update_task',
125
+ description: 'Update an existing task',
126
+ operationType: 'mutation',
127
+ graphqlOperation: 'updateTask',
128
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
129
+ },
130
+ 'claim_task': {
131
+ name: 'claim_task',
132
+ description: 'Claim a task for work',
133
+ operationType: 'mutation',
134
+ graphqlOperation: 'claimTask',
135
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
136
+ },
137
+ 'unclaim_task': {
138
+ name: 'unclaim_task',
139
+ description: 'Unclaim a previously claimed task',
140
+ operationType: 'mutation',
141
+ graphqlOperation: 'unclaimTask',
142
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
143
+ },
144
+ 'complete_task': {
145
+ name: 'complete_task',
146
+ description: 'Mark a task as complete with implementation details',
147
+ operationType: 'mutation',
148
+ graphqlOperation: 'completeTask',
149
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
150
+ },
151
+ 'register_worker': {
152
+ name: 'register_worker',
153
+ description: 'Register a new worker (human or AI) with the system',
154
+ operationType: 'mutation',
155
+ graphqlOperation: 'register',
156
+ requiredPermissions: [],
157
+ },
158
+ 'list_workers': {
159
+ name: 'list_workers',
160
+ description: 'List all registered workers',
161
+ operationType: 'query',
162
+ graphqlOperation: 'users',
163
+ requiredPermissions: ["ADMIN"],
164
+ },
165
+ 'create_story_dependency': {
166
+ name: 'create_story_dependency',
167
+ description: 'Create a dependency between two stories',
168
+ operationType: 'mutation',
169
+ graphqlOperation: 'createStoryDependency',
170
+ requiredPermissions: ["WORKER", "PRODUCT", "ADMIN"],
171
+ },
172
+ 'get_dependency_graph': {
173
+ name: 'get_dependency_graph',
174
+ description: 'Get the complete dependency graph for a project',
175
+ operationType: 'query',
176
+ graphqlOperation: 'project',
177
+ requiredPermissions: ["VIEW"],
178
+ },
179
+ 'get_available_stories': {
180
+ name: 'get_available_stories',
181
+ description: 'Find stories available for claiming',
182
+ operationType: 'query',
183
+ graphqlOperation: 'stories',
184
+ requiredPermissions: ["VIEW"],
185
+ },
186
+ 'get_available_tasks': {
187
+ name: 'get_available_tasks',
188
+ description: 'Find tasks available for claiming',
189
+ operationType: 'query',
190
+ graphqlOperation: 'tasks',
191
+ requiredPermissions: ["VIEW"],
192
+ }
193
+ };
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Centralized Schema Management System
3
+ *
4
+ * This module serves as the single source of truth for all schema-related
5
+ * operations across TasqHub components.
6
+ */
7
+ export * from './mcp-mappings.js';
8
+ export * from './validation.js';
9
+ export interface GraphQLOperation {
10
+ name: string;
11
+ type: 'query' | 'mutation' | 'subscription';
12
+ description?: string;
13
+ deprecated?: boolean;
14
+ }
15
+ export interface TypeDefinition {
16
+ name: string;
17
+ kind: 'object' | 'interface' | 'union' | 'enum' | 'input' | 'scalar';
18
+ fields?: FieldDefinition[];
19
+ description?: string;
20
+ }
21
+ export interface FieldDefinition {
22
+ name: string;
23
+ type: string;
24
+ nullable: boolean;
25
+ description?: string;
26
+ deprecated?: boolean;
27
+ }
28
+ export declare enum UserRole {
29
+ VIEW = 0,
30
+ WORKER = 1,
31
+ PRODUCT = 2,
32
+ ADMIN = 3
33
+ }
34
+ export declare enum UserStatus {
35
+ ACTIVE = "ACTIVE",
36
+ DISABLED = "DISABLED"
37
+ }
38
+ export declare enum ProjectStage {
39
+ REQUIREMENTS = "REQUIREMENTS",
40
+ DESIGN = "DESIGN",
41
+ IMPLEMENTATION = "IMPLEMENTATION",
42
+ COMPLETE = "COMPLETE",
43
+ ARCHIVED = "ARCHIVED"
44
+ }
45
+ export declare enum StoryState {
46
+ PENDING = "PENDING",
47
+ IMPLEMENTATION = "IMPLEMENTATION",
48
+ REVIEW = "REVIEW",
49
+ COMPLETE = "COMPLETE",
50
+ BLOCKED = "BLOCKED"
51
+ }
52
+ export declare enum TaskState {
53
+ PENDING = "PENDING",
54
+ IMPLEMENTATION = "IMPLEMENTATION",
55
+ COMPLETE = "COMPLETE",
56
+ BLOCKED = "BLOCKED"
57
+ }
58
+ export declare enum TaskType {
59
+ PLANNED = "PLANNED",
60
+ FOLLOWUP = "FOLLOWUP",
61
+ ASK = "ASK"
62
+ }
63
+ export declare enum PriorityLevel {
64
+ LOW = "LOW",
65
+ MEDIUM = "MEDIUM",
66
+ HIGH = "HIGH",
67
+ CRITICAL = "CRITICAL"
68
+ }
69
+ export declare enum NotificationType {
70
+ ASSIGNMENT = "ASSIGNMENT",
71
+ MENTION = "MENTION",
72
+ STATUS_CHANGE = "STATUS_CHANGE",
73
+ COMMENT = "COMMENT",
74
+ DEADLINE = "DEADLINE"
75
+ }
76
+ export declare enum AuditAction {
77
+ CREATED = "CREATED",
78
+ UPDATED = "UPDATED",
79
+ DELETED = "DELETED",
80
+ STATE_CHANGED = "STATE_CHANGED",
81
+ ASSIGNED = "ASSIGNED",
82
+ UNASSIGNED = "UNASSIGNED"
83
+ }
84
+ export declare enum InvitationStatus {
85
+ PENDING = "PENDING",
86
+ ACCEPTED = "ACCEPTED",
87
+ DECLINED = "DECLINED",
88
+ EXPIRED = "EXPIRED"
89
+ }
90
+ export declare enum AIWorkType {
91
+ PROJECT_REVIEW = "project_review",
92
+ IMPLEMENTATION_PLAN = "implementation_plan",
93
+ STORY_IMPLEMENTATION = "story_implementation",
94
+ TASK_COMPLETION = "task_completion",
95
+ CODE_REVIEW = "code_review",
96
+ REVIEW_APPLICATION = "review_application"
97
+ }
98
+ export declare enum AIWorkerType {
99
+ PROJECT_REVIEWER = "project_reviewer",
100
+ DEVELOPMENT_PLANNER = "development_planner",
101
+ STORY_DEVELOPER = "story_developer",
102
+ CODE_REVIEWER = "code_reviewer",
103
+ REVIEW_APPLICATION_AGENT = "review_application_agent"
104
+ }
105
+ export declare enum AIWorkStatus {
106
+ QUEUED = "QUEUED",
107
+ CLAIMED = "CLAIMED",
108
+ IN_PROGRESS = "IN_PROGRESS",
109
+ COMPLETED = "COMPLETED",
110
+ FAILED = "FAILED",
111
+ CANCELLED = "CANCELLED"
112
+ }
113
+ export interface User {
114
+ id: string;
115
+ email: string;
116
+ firstName?: string;
117
+ lastName?: string;
118
+ role: UserRole;
119
+ status: UserStatus;
120
+ avatarUrl?: string;
121
+ timezone?: string;
122
+ lastLoginAt?: Date;
123
+ createdAt: Date;
124
+ updatedAt: Date;
125
+ }
126
+ export interface Project {
127
+ id: string;
128
+ name: string;
129
+ description?: string;
130
+ stage: ProjectStage;
131
+ isArchived: boolean;
132
+ isPublic: boolean;
133
+ repositoryUrl?: string;
134
+ documentationUrl?: string;
135
+ startDate?: Date;
136
+ targetCompletionDate?: Date;
137
+ createdAt: Date;
138
+ updatedAt: Date;
139
+ createdBy?: string;
140
+ }
141
+ export interface Story {
142
+ id: string;
143
+ title: string;
144
+ description?: string;
145
+ status: StoryState;
146
+ priority: PriorityLevel;
147
+ estimate?: number;
148
+ acceptanceCriteria: string[];
149
+ tags: string[];
150
+ projectId: string;
151
+ assignedTo?: string;
152
+ claimedAt?: Date;
153
+ startedAt?: Date;
154
+ completedAt?: Date;
155
+ createdAt: Date;
156
+ updatedAt: Date;
157
+ }
158
+ export interface Task {
159
+ id: string;
160
+ title: string;
161
+ description?: string;
162
+ status: TaskState;
163
+ type: TaskType;
164
+ priority: PriorityLevel;
165
+ areas: string[];
166
+ estimate?: number;
167
+ storyId: string;
168
+ assignedTo?: string;
169
+ claimedAt?: Date;
170
+ startedAt?: Date;
171
+ completedAt?: Date;
172
+ createdAt: Date;
173
+ updatedAt: Date;
174
+ }
175
+ export declare const SCHEMA_VERSION = "1.0.0";
176
+ export declare const SCHEMA_COMPATIBILITY_VERSION = "1.0";
177
+ /**
178
+ * Schema registry for tracking changes and versions
179
+ */
180
+ export declare class SchemaRegistry {
181
+ private static instance;
182
+ private version;
183
+ private compatibilityVersion;
184
+ private constructor();
185
+ static getInstance(): SchemaRegistry;
186
+ getVersion(): string;
187
+ getCompatibilityVersion(): string;
188
+ isCompatible(clientVersion: string): boolean;
189
+ }
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Centralized Schema Management System
3
+ *
4
+ * This module serves as the single source of truth for all schema-related
5
+ * operations across TasqHub components.
6
+ */
7
+ export * from './mcp-mappings.js';
8
+ export * from './validation.js';
9
+ // Core enums that all components should use
10
+ export var UserRole;
11
+ (function (UserRole) {
12
+ UserRole[UserRole["VIEW"] = 0] = "VIEW";
13
+ UserRole[UserRole["WORKER"] = 1] = "WORKER";
14
+ UserRole[UserRole["PRODUCT"] = 2] = "PRODUCT";
15
+ UserRole[UserRole["ADMIN"] = 3] = "ADMIN";
16
+ })(UserRole || (UserRole = {}));
17
+ export var UserStatus;
18
+ (function (UserStatus) {
19
+ UserStatus["ACTIVE"] = "ACTIVE";
20
+ UserStatus["DISABLED"] = "DISABLED";
21
+ })(UserStatus || (UserStatus = {}));
22
+ export var ProjectStage;
23
+ (function (ProjectStage) {
24
+ ProjectStage["REQUIREMENTS"] = "REQUIREMENTS";
25
+ ProjectStage["DESIGN"] = "DESIGN";
26
+ ProjectStage["IMPLEMENTATION"] = "IMPLEMENTATION";
27
+ ProjectStage["COMPLETE"] = "COMPLETE";
28
+ ProjectStage["ARCHIVED"] = "ARCHIVED";
29
+ })(ProjectStage || (ProjectStage = {}));
30
+ export var StoryState;
31
+ (function (StoryState) {
32
+ StoryState["PENDING"] = "PENDING";
33
+ StoryState["IMPLEMENTATION"] = "IMPLEMENTATION";
34
+ StoryState["REVIEW"] = "REVIEW";
35
+ StoryState["COMPLETE"] = "COMPLETE";
36
+ StoryState["BLOCKED"] = "BLOCKED";
37
+ })(StoryState || (StoryState = {}));
38
+ export var TaskState;
39
+ (function (TaskState) {
40
+ TaskState["PENDING"] = "PENDING";
41
+ TaskState["IMPLEMENTATION"] = "IMPLEMENTATION";
42
+ TaskState["COMPLETE"] = "COMPLETE";
43
+ TaskState["BLOCKED"] = "BLOCKED";
44
+ })(TaskState || (TaskState = {}));
45
+ export var TaskType;
46
+ (function (TaskType) {
47
+ TaskType["PLANNED"] = "PLANNED";
48
+ TaskType["FOLLOWUP"] = "FOLLOWUP";
49
+ TaskType["ASK"] = "ASK";
50
+ })(TaskType || (TaskType = {}));
51
+ export var PriorityLevel;
52
+ (function (PriorityLevel) {
53
+ PriorityLevel["LOW"] = "LOW";
54
+ PriorityLevel["MEDIUM"] = "MEDIUM";
55
+ PriorityLevel["HIGH"] = "HIGH";
56
+ PriorityLevel["CRITICAL"] = "CRITICAL";
57
+ })(PriorityLevel || (PriorityLevel = {}));
58
+ export var NotificationType;
59
+ (function (NotificationType) {
60
+ NotificationType["ASSIGNMENT"] = "ASSIGNMENT";
61
+ NotificationType["MENTION"] = "MENTION";
62
+ NotificationType["STATUS_CHANGE"] = "STATUS_CHANGE";
63
+ NotificationType["COMMENT"] = "COMMENT";
64
+ NotificationType["DEADLINE"] = "DEADLINE";
65
+ })(NotificationType || (NotificationType = {}));
66
+ export var AuditAction;
67
+ (function (AuditAction) {
68
+ AuditAction["CREATED"] = "CREATED";
69
+ AuditAction["UPDATED"] = "UPDATED";
70
+ AuditAction["DELETED"] = "DELETED";
71
+ AuditAction["STATE_CHANGED"] = "STATE_CHANGED";
72
+ AuditAction["ASSIGNED"] = "ASSIGNED";
73
+ AuditAction["UNASSIGNED"] = "UNASSIGNED";
74
+ })(AuditAction || (AuditAction = {}));
75
+ export var InvitationStatus;
76
+ (function (InvitationStatus) {
77
+ InvitationStatus["PENDING"] = "PENDING";
78
+ InvitationStatus["ACCEPTED"] = "ACCEPTED";
79
+ InvitationStatus["DECLINED"] = "DECLINED";
80
+ InvitationStatus["EXPIRED"] = "EXPIRED";
81
+ })(InvitationStatus || (InvitationStatus = {}));
82
+ // AI Work Types - Single source of truth for all AI work operations
83
+ export var AIWorkType;
84
+ (function (AIWorkType) {
85
+ // Project-related work
86
+ AIWorkType["PROJECT_REVIEW"] = "project_review";
87
+ AIWorkType["IMPLEMENTATION_PLAN"] = "implementation_plan";
88
+ // Story and task work
89
+ AIWorkType["STORY_IMPLEMENTATION"] = "story_implementation";
90
+ AIWorkType["TASK_COMPLETION"] = "task_completion";
91
+ // Code review
92
+ AIWorkType["CODE_REVIEW"] = "code_review";
93
+ // Review application
94
+ AIWorkType["REVIEW_APPLICATION"] = "review_application";
95
+ })(AIWorkType || (AIWorkType = {}));
96
+ // AI Worker Types - Types of AI workers that can perform work
97
+ export var AIWorkerType;
98
+ (function (AIWorkerType) {
99
+ AIWorkerType["PROJECT_REVIEWER"] = "project_reviewer";
100
+ AIWorkerType["DEVELOPMENT_PLANNER"] = "development_planner";
101
+ AIWorkerType["STORY_DEVELOPER"] = "story_developer";
102
+ AIWorkerType["CODE_REVIEWER"] = "code_reviewer";
103
+ AIWorkerType["REVIEW_APPLICATION_AGENT"] = "review_application_agent";
104
+ })(AIWorkerType || (AIWorkerType = {}));
105
+ // Work Queue Status
106
+ export var AIWorkStatus;
107
+ (function (AIWorkStatus) {
108
+ AIWorkStatus["QUEUED"] = "QUEUED";
109
+ AIWorkStatus["CLAIMED"] = "CLAIMED";
110
+ AIWorkStatus["IN_PROGRESS"] = "IN_PROGRESS";
111
+ AIWorkStatus["COMPLETED"] = "COMPLETED";
112
+ AIWorkStatus["FAILED"] = "FAILED";
113
+ AIWorkStatus["CANCELLED"] = "CANCELLED";
114
+ })(AIWorkStatus || (AIWorkStatus = {}));
115
+ // Schema version information for compatibility tracking
116
+ export const SCHEMA_VERSION = '1.0.0';
117
+ export const SCHEMA_COMPATIBILITY_VERSION = '1.0';
118
+ /**
119
+ * Schema registry for tracking changes and versions
120
+ */
121
+ export class SchemaRegistry {
122
+ constructor() {
123
+ this.version = SCHEMA_VERSION;
124
+ this.compatibilityVersion = SCHEMA_COMPATIBILITY_VERSION;
125
+ }
126
+ static getInstance() {
127
+ if (!SchemaRegistry.instance) {
128
+ SchemaRegistry.instance = new SchemaRegistry();
129
+ }
130
+ return SchemaRegistry.instance;
131
+ }
132
+ getVersion() {
133
+ return this.version;
134
+ }
135
+ getCompatibilityVersion() {
136
+ return this.compatibilityVersion;
137
+ }
138
+ isCompatible(clientVersion) {
139
+ // Simple compatibility check - in practice, this would be more sophisticated
140
+ return clientVersion.startsWith(this.compatibilityVersion);
141
+ }
142
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * MCP Tool Mappings Configuration
3
+ *
4
+ * This file serves as the centralized mapping between MCP tools and GraphQL operations,
5
+ * ensuring consistency across all TasqHub components. It defines which GraphQL
6
+ * operations each MCP tool corresponds to and validates the interfaces.
7
+ */
8
+ export interface MCPToolMapping {
9
+ toolName: string;
10
+ description: string;
11
+ graphqlOperation: string;
12
+ operationType: 'query' | 'mutation' | 'subscription';
13
+ requiredPermissions?: string[];
14
+ inputSchema?: Record<string, any>;
15
+ outputSchema?: Record<string, any>;
16
+ deprecated?: boolean;
17
+ deprecationReason?: string;
18
+ }
19
+ export interface MCPToolCategory {
20
+ name: string;
21
+ description: string;
22
+ tools: MCPToolMapping[];
23
+ }
24
+ /**
25
+ * Centralized MCP tool mappings organized by functional categories
26
+ */
27
+ export declare const MCP_TOOL_MAPPINGS: MCPToolCategory[];
28
+ /**
29
+ * Get MCP tool mapping by tool name
30
+ */
31
+ export declare function getMCPToolMapping(toolName: string): MCPToolMapping | undefined;
32
+ /**
33
+ * Get all MCP tool names
34
+ */
35
+ export declare function getAllMCPToolNames(): string[];
36
+ /**
37
+ * Get tools by GraphQL operation
38
+ */
39
+ export declare function getToolsByGraphQLOperation(operationName: string): MCPToolMapping[];
40
+ /**
41
+ * Get tools by category
42
+ */
43
+ export declare function getToolsByCategory(categoryName: string): MCPToolMapping[];
44
+ /**
45
+ * Validate that a tool operation matches its GraphQL schema
46
+ */
47
+ export declare function validateToolOperation(toolName: string, input: any): {
48
+ valid: boolean;
49
+ errors: string[];
50
+ };