@task-mcp/shared 1.0.22 → 1.0.24

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 (184) hide show
  1. package/dist/algorithms/critical-path.d.ts +47 -0
  2. package/dist/algorithms/critical-path.d.ts.map +1 -0
  3. package/dist/algorithms/critical-path.js +340 -0
  4. package/dist/algorithms/critical-path.js.map +1 -0
  5. package/dist/algorithms/critical-path.test.d.ts +2 -0
  6. package/dist/algorithms/critical-path.test.d.ts.map +1 -0
  7. package/dist/algorithms/critical-path.test.js +184 -0
  8. package/dist/algorithms/critical-path.test.js.map +1 -0
  9. package/dist/algorithms/dependency-integrity.d.ts +81 -0
  10. package/dist/algorithms/dependency-integrity.d.ts.map +1 -0
  11. package/dist/algorithms/dependency-integrity.js +209 -0
  12. package/dist/algorithms/dependency-integrity.js.map +1 -0
  13. package/dist/algorithms/dependency-integrity.test.d.ts +2 -0
  14. package/dist/algorithms/dependency-integrity.test.d.ts.map +1 -0
  15. package/dist/algorithms/dependency-integrity.test.js +296 -0
  16. package/dist/algorithms/dependency-integrity.test.js.map +1 -0
  17. package/dist/algorithms/index.d.ts +5 -0
  18. package/dist/algorithms/index.d.ts.map +1 -0
  19. package/dist/algorithms/index.js +5 -0
  20. package/dist/algorithms/index.js.map +1 -0
  21. package/dist/algorithms/tech-analysis.d.ts +106 -0
  22. package/dist/algorithms/tech-analysis.d.ts.map +1 -0
  23. package/dist/algorithms/tech-analysis.js +351 -0
  24. package/dist/algorithms/tech-analysis.js.map +1 -0
  25. package/dist/algorithms/tech-analysis.test.d.ts +2 -0
  26. package/dist/algorithms/tech-analysis.test.d.ts.map +1 -0
  27. package/dist/algorithms/tech-analysis.test.js +330 -0
  28. package/dist/algorithms/tech-analysis.test.js.map +1 -0
  29. package/dist/algorithms/topological-sort.d.ts +58 -0
  30. package/dist/algorithms/topological-sort.d.ts.map +1 -0
  31. package/dist/algorithms/topological-sort.js +201 -0
  32. package/dist/algorithms/topological-sort.js.map +1 -0
  33. package/dist/algorithms/topological-sort.test.d.ts +2 -0
  34. package/dist/algorithms/topological-sort.test.d.ts.map +1 -0
  35. package/dist/algorithms/topological-sort.test.js +154 -0
  36. package/dist/algorithms/topological-sort.test.js.map +1 -0
  37. package/dist/index.d.ts +4 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +7 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/schemas/inbox.d.ts +55 -0
  42. package/dist/schemas/inbox.d.ts.map +1 -0
  43. package/dist/schemas/inbox.js +25 -0
  44. package/dist/schemas/inbox.js.map +1 -0
  45. package/dist/schemas/index.d.ts +7 -0
  46. package/dist/schemas/index.d.ts.map +1 -0
  47. package/dist/schemas/index.js +17 -0
  48. package/dist/schemas/index.js.map +1 -0
  49. package/dist/schemas/llm-guide.d.ts +147 -0
  50. package/dist/schemas/llm-guide.d.ts.map +1 -0
  51. package/dist/schemas/llm-guide.js +72 -0
  52. package/dist/schemas/llm-guide.js.map +1 -0
  53. package/dist/schemas/project.d.ts +177 -0
  54. package/dist/schemas/project.d.ts.map +1 -0
  55. package/dist/schemas/project.js +56 -0
  56. package/dist/schemas/project.js.map +1 -0
  57. package/dist/schemas/response-format.d.ts +148 -0
  58. package/dist/schemas/response-format.d.ts.map +1 -0
  59. package/dist/schemas/response-format.js +18 -0
  60. package/dist/schemas/response-format.js.map +1 -0
  61. package/dist/schemas/response-schema.d.ts +307 -0
  62. package/dist/schemas/response-schema.d.ts.map +1 -0
  63. package/dist/schemas/response-schema.js +78 -0
  64. package/dist/schemas/response-schema.js.map +1 -0
  65. package/dist/schemas/response-schema.test.d.ts +2 -0
  66. package/dist/schemas/response-schema.test.d.ts.map +1 -0
  67. package/dist/schemas/response-schema.test.js +256 -0
  68. package/dist/schemas/response-schema.test.js.map +1 -0
  69. package/dist/schemas/state.d.ts +17 -0
  70. package/dist/schemas/state.d.ts.map +1 -0
  71. package/dist/schemas/state.js +17 -0
  72. package/dist/schemas/state.js.map +1 -0
  73. package/dist/schemas/task.d.ts +881 -0
  74. package/dist/schemas/task.d.ts.map +1 -0
  75. package/dist/schemas/task.js +177 -0
  76. package/dist/schemas/task.js.map +1 -0
  77. package/dist/schemas/view.d.ts +143 -0
  78. package/dist/schemas/view.d.ts.map +1 -0
  79. package/dist/schemas/view.js +48 -0
  80. package/dist/schemas/view.js.map +1 -0
  81. package/dist/utils/dashboard-renderer.d.ts +93 -0
  82. package/dist/utils/dashboard-renderer.d.ts.map +1 -0
  83. package/dist/utils/dashboard-renderer.js +416 -0
  84. package/dist/utils/dashboard-renderer.js.map +1 -0
  85. package/dist/utils/dashboard-renderer.test.d.ts +2 -0
  86. package/dist/utils/dashboard-renderer.test.d.ts.map +1 -0
  87. package/dist/utils/dashboard-renderer.test.js +772 -0
  88. package/dist/utils/dashboard-renderer.test.js.map +1 -0
  89. package/dist/utils/date.d.ts +94 -0
  90. package/dist/utils/date.d.ts.map +1 -0
  91. package/dist/utils/date.js +323 -0
  92. package/dist/utils/date.js.map +1 -0
  93. package/dist/utils/date.test.d.ts +2 -0
  94. package/dist/utils/date.test.d.ts.map +1 -0
  95. package/dist/utils/date.test.js +276 -0
  96. package/dist/utils/date.test.js.map +1 -0
  97. package/dist/utils/hierarchy.d.ts +102 -0
  98. package/dist/utils/hierarchy.d.ts.map +1 -0
  99. package/dist/utils/hierarchy.js +236 -0
  100. package/dist/utils/hierarchy.js.map +1 -0
  101. package/dist/utils/hierarchy.test.d.ts +2 -0
  102. package/dist/utils/hierarchy.test.d.ts.map +1 -0
  103. package/dist/utils/hierarchy.test.js +423 -0
  104. package/dist/utils/hierarchy.test.js.map +1 -0
  105. package/dist/utils/id.d.ts +60 -0
  106. package/dist/utils/id.d.ts.map +1 -0
  107. package/dist/utils/id.js +118 -0
  108. package/dist/utils/id.js.map +1 -0
  109. package/dist/utils/id.test.d.ts +2 -0
  110. package/dist/utils/id.test.d.ts.map +1 -0
  111. package/dist/utils/id.test.js +193 -0
  112. package/dist/utils/id.test.js.map +1 -0
  113. package/dist/utils/index.d.ts +12 -0
  114. package/dist/utils/index.d.ts.map +1 -0
  115. package/dist/utils/index.js +34 -0
  116. package/dist/utils/index.js.map +1 -0
  117. package/dist/utils/natural-language.d.ts +111 -0
  118. package/dist/utils/natural-language.d.ts.map +1 -0
  119. package/dist/utils/natural-language.js +297 -0
  120. package/dist/utils/natural-language.js.map +1 -0
  121. package/dist/utils/natural-language.test.d.ts +2 -0
  122. package/dist/utils/natural-language.test.d.ts.map +1 -0
  123. package/dist/utils/natural-language.test.js +197 -0
  124. package/dist/utils/natural-language.test.js.map +1 -0
  125. package/dist/utils/priority-queue.d.ts +17 -0
  126. package/dist/utils/priority-queue.d.ts.map +1 -0
  127. package/dist/utils/priority-queue.js +62 -0
  128. package/dist/utils/priority-queue.js.map +1 -0
  129. package/dist/utils/priority-queue.test.d.ts +2 -0
  130. package/dist/utils/priority-queue.test.d.ts.map +1 -0
  131. package/dist/utils/priority-queue.test.js +82 -0
  132. package/dist/utils/priority-queue.test.js.map +1 -0
  133. package/dist/utils/projection.d.ts +65 -0
  134. package/dist/utils/projection.d.ts.map +1 -0
  135. package/dist/utils/projection.js +180 -0
  136. package/dist/utils/projection.js.map +1 -0
  137. package/dist/utils/projection.test.d.ts +2 -0
  138. package/dist/utils/projection.test.d.ts.map +1 -0
  139. package/dist/utils/projection.test.js +341 -0
  140. package/dist/utils/projection.test.js.map +1 -0
  141. package/dist/utils/terminal-ui.d.ts +208 -0
  142. package/dist/utils/terminal-ui.d.ts.map +1 -0
  143. package/dist/utils/terminal-ui.js +614 -0
  144. package/dist/utils/terminal-ui.js.map +1 -0
  145. package/dist/utils/terminal-ui.test.d.ts +2 -0
  146. package/dist/utils/terminal-ui.test.d.ts.map +1 -0
  147. package/dist/utils/terminal-ui.test.js +683 -0
  148. package/dist/utils/terminal-ui.test.js.map +1 -0
  149. package/dist/utils/workspace.d.ts +102 -0
  150. package/dist/utils/workspace.d.ts.map +1 -0
  151. package/dist/utils/workspace.js +183 -0
  152. package/dist/utils/workspace.js.map +1 -0
  153. package/dist/utils/workspace.test.d.ts +2 -0
  154. package/dist/utils/workspace.test.d.ts.map +1 -0
  155. package/dist/utils/workspace.test.js +97 -0
  156. package/dist/utils/workspace.test.js.map +1 -0
  157. package/package.json +5 -1
  158. package/src/algorithms/critical-path.test.ts +227 -0
  159. package/src/algorithms/critical-path.ts +14 -34
  160. package/src/algorithms/dependency-integrity.test.ts +335 -0
  161. package/src/algorithms/dependency-integrity.ts +4 -13
  162. package/src/algorithms/tech-analysis.test.ts +405 -0
  163. package/src/algorithms/tech-analysis.ts +27 -27
  164. package/src/algorithms/topological-sort.test.ts +182 -0
  165. package/src/algorithms/topological-sort.ts +6 -10
  166. package/src/schemas/index.ts +2 -13
  167. package/src/schemas/response-format.ts +6 -6
  168. package/src/schemas/response-schema.test.ts +314 -0
  169. package/src/schemas/response-schema.ts +25 -20
  170. package/src/schemas/task.ts +4 -22
  171. package/src/utils/dashboard-renderer.test.ts +976 -0
  172. package/src/utils/dashboard-renderer.ts +27 -59
  173. package/src/utils/date.test.ts +329 -0
  174. package/src/utils/date.ts +2 -10
  175. package/src/utils/hierarchy.test.ts +488 -0
  176. package/src/utils/hierarchy.ts +4 -5
  177. package/src/utils/id.test.ts +235 -0
  178. package/src/utils/index.ts +7 -1
  179. package/src/utils/natural-language.test.ts +234 -0
  180. package/src/utils/priority-queue.test.ts +103 -0
  181. package/src/utils/projection.test.ts +430 -0
  182. package/src/utils/terminal-ui.test.ts +831 -0
  183. package/src/utils/terminal-ui.ts +53 -54
  184. package/src/utils/workspace.test.ts +125 -0
@@ -0,0 +1,177 @@
1
+ import { z } from "zod";
2
+ export declare const ProjectStatus: z.ZodEnum<["active", "on_hold", "completed", "archived"]>;
3
+ export type ProjectStatus = z.infer<typeof ProjectStatus>;
4
+ export declare const Context: z.ZodObject<{
5
+ name: z.ZodString;
6
+ color: z.ZodOptional<z.ZodString>;
7
+ description: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ name: string;
10
+ description?: string | undefined;
11
+ color?: string | undefined;
12
+ }, {
13
+ name: string;
14
+ description?: string | undefined;
15
+ color?: string | undefined;
16
+ }>;
17
+ export type Context = z.infer<typeof Context>;
18
+ export declare const Project: z.ZodObject<{
19
+ id: z.ZodString;
20
+ name: z.ZodString;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ status: z.ZodEnum<["active", "on_hold", "completed", "archived"]>;
23
+ defaultPriority: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
24
+ contexts: z.ZodOptional<z.ZodArray<z.ZodObject<{
25
+ name: z.ZodString;
26
+ color: z.ZodOptional<z.ZodString>;
27
+ description: z.ZodOptional<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ name: string;
30
+ description?: string | undefined;
31
+ color?: string | undefined;
32
+ }, {
33
+ name: string;
34
+ description?: string | undefined;
35
+ color?: string | undefined;
36
+ }>, "many">>;
37
+ createdAt: z.ZodString;
38
+ updatedAt: z.ZodString;
39
+ targetDate: z.ZodOptional<z.ZodString>;
40
+ sortOrder: z.ZodOptional<z.ZodNumber>;
41
+ completionPercentage: z.ZodOptional<z.ZodNumber>;
42
+ criticalPathLength: z.ZodOptional<z.ZodNumber>;
43
+ blockedTaskCount: z.ZodOptional<z.ZodNumber>;
44
+ totalTasks: z.ZodOptional<z.ZodNumber>;
45
+ completedTasks: z.ZodOptional<z.ZodNumber>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ id: string;
48
+ status: "completed" | "active" | "on_hold" | "archived";
49
+ createdAt: string;
50
+ updatedAt: string;
51
+ name: string;
52
+ description?: string | undefined;
53
+ contexts?: {
54
+ name: string;
55
+ description?: string | undefined;
56
+ color?: string | undefined;
57
+ }[] | undefined;
58
+ sortOrder?: number | undefined;
59
+ defaultPriority?: "critical" | "high" | "medium" | "low" | undefined;
60
+ targetDate?: string | undefined;
61
+ completionPercentage?: number | undefined;
62
+ criticalPathLength?: number | undefined;
63
+ blockedTaskCount?: number | undefined;
64
+ totalTasks?: number | undefined;
65
+ completedTasks?: number | undefined;
66
+ }, {
67
+ id: string;
68
+ status: "completed" | "active" | "on_hold" | "archived";
69
+ createdAt: string;
70
+ updatedAt: string;
71
+ name: string;
72
+ description?: string | undefined;
73
+ contexts?: {
74
+ name: string;
75
+ description?: string | undefined;
76
+ color?: string | undefined;
77
+ }[] | undefined;
78
+ sortOrder?: number | undefined;
79
+ defaultPriority?: "critical" | "high" | "medium" | "low" | undefined;
80
+ targetDate?: string | undefined;
81
+ completionPercentage?: number | undefined;
82
+ criticalPathLength?: number | undefined;
83
+ blockedTaskCount?: number | undefined;
84
+ totalTasks?: number | undefined;
85
+ completedTasks?: number | undefined;
86
+ }>;
87
+ export type Project = z.infer<typeof Project>;
88
+ export declare const ProjectCreateInput: z.ZodObject<{
89
+ name: z.ZodString;
90
+ description: z.ZodOptional<z.ZodString>;
91
+ defaultPriority: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
92
+ contexts: z.ZodOptional<z.ZodArray<z.ZodObject<{
93
+ name: z.ZodString;
94
+ color: z.ZodOptional<z.ZodString>;
95
+ description: z.ZodOptional<z.ZodString>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ name: string;
98
+ description?: string | undefined;
99
+ color?: string | undefined;
100
+ }, {
101
+ name: string;
102
+ description?: string | undefined;
103
+ color?: string | undefined;
104
+ }>, "many">>;
105
+ targetDate: z.ZodOptional<z.ZodString>;
106
+ sortOrder: z.ZodOptional<z.ZodNumber>;
107
+ }, "strip", z.ZodTypeAny, {
108
+ name: string;
109
+ description?: string | undefined;
110
+ contexts?: {
111
+ name: string;
112
+ description?: string | undefined;
113
+ color?: string | undefined;
114
+ }[] | undefined;
115
+ sortOrder?: number | undefined;
116
+ defaultPriority?: "critical" | "high" | "medium" | "low" | undefined;
117
+ targetDate?: string | undefined;
118
+ }, {
119
+ name: string;
120
+ description?: string | undefined;
121
+ contexts?: {
122
+ name: string;
123
+ description?: string | undefined;
124
+ color?: string | undefined;
125
+ }[] | undefined;
126
+ sortOrder?: number | undefined;
127
+ defaultPriority?: "critical" | "high" | "medium" | "low" | undefined;
128
+ targetDate?: string | undefined;
129
+ }>;
130
+ export type ProjectCreateInput = z.infer<typeof ProjectCreateInput>;
131
+ export declare const ProjectUpdateInput: z.ZodObject<{
132
+ name: z.ZodOptional<z.ZodString>;
133
+ description: z.ZodOptional<z.ZodString>;
134
+ status: z.ZodOptional<z.ZodEnum<["active", "on_hold", "completed", "archived"]>>;
135
+ defaultPriority: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
136
+ contexts: z.ZodOptional<z.ZodArray<z.ZodObject<{
137
+ name: z.ZodString;
138
+ color: z.ZodOptional<z.ZodString>;
139
+ description: z.ZodOptional<z.ZodString>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ name: string;
142
+ description?: string | undefined;
143
+ color?: string | undefined;
144
+ }, {
145
+ name: string;
146
+ description?: string | undefined;
147
+ color?: string | undefined;
148
+ }>, "many">>;
149
+ targetDate: z.ZodOptional<z.ZodString>;
150
+ sortOrder: z.ZodOptional<z.ZodNumber>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ description?: string | undefined;
153
+ status?: "completed" | "active" | "on_hold" | "archived" | undefined;
154
+ contexts?: {
155
+ name: string;
156
+ description?: string | undefined;
157
+ color?: string | undefined;
158
+ }[] | undefined;
159
+ sortOrder?: number | undefined;
160
+ name?: string | undefined;
161
+ defaultPriority?: "critical" | "high" | "medium" | "low" | undefined;
162
+ targetDate?: string | undefined;
163
+ }, {
164
+ description?: string | undefined;
165
+ status?: "completed" | "active" | "on_hold" | "archived" | undefined;
166
+ contexts?: {
167
+ name: string;
168
+ description?: string | undefined;
169
+ color?: string | undefined;
170
+ }[] | undefined;
171
+ sortOrder?: number | undefined;
172
+ name?: string | undefined;
173
+ defaultPriority?: "critical" | "high" | "medium" | "low" | undefined;
174
+ targetDate?: string | undefined;
175
+ }>;
176
+ export type ProjectUpdateInput = z.infer<typeof ProjectUpdateInput>;
177
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/schemas/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa,2DAKxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAG1D,eAAO,MAAM,OAAO;;;;;;;;;;;;EAIlB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAG9C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBlB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAG9C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAGpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { z } from "zod";
2
+ import { Priority } from "./task.js";
3
+ // Project status
4
+ export const ProjectStatus = z.enum([
5
+ "active",
6
+ "on_hold",
7
+ "completed",
8
+ "archived",
9
+ ]);
10
+ // Context definition
11
+ export const Context = z.object({
12
+ name: z.string(),
13
+ color: z.string().optional(), // hex color
14
+ description: z.string().optional(),
15
+ });
16
+ // Project schema
17
+ export const Project = z.object({
18
+ id: z.string(),
19
+ name: z.string(),
20
+ description: z.string().optional(),
21
+ status: ProjectStatus,
22
+ // Project-level settings
23
+ defaultPriority: Priority.optional(),
24
+ contexts: z.array(Context).optional(),
25
+ // Metadata
26
+ createdAt: z.string(),
27
+ updatedAt: z.string(),
28
+ targetDate: z.string().optional(),
29
+ sortOrder: z.number().optional(), // User-defined display order (auto-assigned if not specified)
30
+ // Computed stats
31
+ completionPercentage: z.number().optional(),
32
+ criticalPathLength: z.number().optional(), // Total minutes on critical path
33
+ blockedTaskCount: z.number().optional(),
34
+ totalTasks: z.number().optional(),
35
+ completedTasks: z.number().optional(),
36
+ });
37
+ // Project creation input
38
+ export const ProjectCreateInput = z.object({
39
+ name: z.string(),
40
+ description: z.string().optional(),
41
+ defaultPriority: Priority.optional(),
42
+ contexts: z.array(Context).optional(),
43
+ targetDate: z.string().optional(),
44
+ sortOrder: z.number().optional(), // Auto-assigned if not specified
45
+ });
46
+ // Project update input
47
+ export const ProjectUpdateInput = z.object({
48
+ name: z.string().optional(),
49
+ description: z.string().optional(),
50
+ status: ProjectStatus.optional(),
51
+ defaultPriority: Priority.optional(),
52
+ contexts: z.array(Context).optional(),
53
+ targetDate: z.string().optional(),
54
+ sortOrder: z.number().optional(),
55
+ });
56
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/schemas/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Response Format Schema
4
+ *
5
+ * Token-efficient response formats for MCP tools.
6
+ * Based on Anthropic's recommended patterns for reducing token usage.
7
+ *
8
+ * - concise: Minimal fields (4-6), JSON format for machine processing
9
+ * - standard: Common fields (7-10), balanced for most use cases
10
+ * - detailed: Full object, human-readable format
11
+ */
12
+ export declare const ResponseFormat: z.ZodEnum<["concise", "standard", "detailed"]>;
13
+ export type ResponseFormat = z.infer<typeof ResponseFormat>;
14
+ export declare const DEFAULT_LIMIT = 20;
15
+ export declare const MAX_LIMIT = 100;
16
+ /**
17
+ * Paginated response wrapper
18
+ */
19
+ export interface PaginatedResponse<T> {
20
+ items: T[];
21
+ total: number;
22
+ limit: number;
23
+ offset: number;
24
+ hasMore: boolean;
25
+ }
26
+ /**
27
+ * Task projection types - progressively more detailed
28
+ */
29
+ export interface TaskSummary {
30
+ id: string;
31
+ title: string;
32
+ status: string;
33
+ priority: string;
34
+ }
35
+ export interface TaskPreview extends TaskSummary {
36
+ dueDate?: string;
37
+ tags?: string[];
38
+ contexts?: string[];
39
+ parentId?: string;
40
+ }
41
+ /**
42
+ * Workspace projection types
43
+ */
44
+ export interface WorkspaceSummary {
45
+ name: string;
46
+ taskCount: number;
47
+ completionPercentage: number;
48
+ }
49
+ export interface WorkspacePreview extends WorkspaceSummary {
50
+ pendingTasks: number;
51
+ blockedTasks: number;
52
+ }
53
+ /**
54
+ * Inbox projection types
55
+ */
56
+ export interface InboxSummary {
57
+ id: string;
58
+ content: string;
59
+ status: string;
60
+ }
61
+ export interface InboxPreview extends InboxSummary {
62
+ capturedAt: string;
63
+ tags?: string[];
64
+ }
65
+ /**
66
+ * Analysis result types - optimized for token efficiency
67
+ */
68
+ export interface CriticalPathSummary {
69
+ totalDuration: number;
70
+ taskCount: number;
71
+ taskIds: string[];
72
+ }
73
+ export interface BottleneckSummary {
74
+ taskId: string;
75
+ title: string;
76
+ blockedCount: number;
77
+ }
78
+ /**
79
+ * Dashboard response types - project_dashboard tool
80
+ *
81
+ * Provides unified project overview with progress, priority breakdown,
82
+ * dependency metrics, and next task recommendation.
83
+ */
84
+ export interface DashboardProgress {
85
+ completed: number;
86
+ total: number;
87
+ pct: number;
88
+ }
89
+ export interface DashboardPriorityBreakdown {
90
+ critical: number;
91
+ high: number;
92
+ medium: number;
93
+ low: number;
94
+ }
95
+ export interface DashboardDependencyMetrics {
96
+ ready: number;
97
+ blocked: number;
98
+ noDeps: number;
99
+ }
100
+ export interface DashboardNextTask {
101
+ id: string;
102
+ title: string;
103
+ priority: string;
104
+ reason: string;
105
+ }
106
+ export interface DashboardCriticalPath {
107
+ length: number;
108
+ taskCount: number;
109
+ }
110
+ export interface DashboardStatusBreakdown {
111
+ done: number;
112
+ inProgress: number;
113
+ pending: number;
114
+ blocked: number;
115
+ deferred: number;
116
+ cancelled: number;
117
+ }
118
+ export interface DashboardSubtaskProgress {
119
+ completed: number;
120
+ total: number;
121
+ pct: number;
122
+ inProgress: number;
123
+ pending: number;
124
+ blocked: number;
125
+ }
126
+ export interface DashboardDependencyStats {
127
+ mostDependedOn?: {
128
+ taskId: string;
129
+ title: string;
130
+ dependentCount: number;
131
+ };
132
+ avgDepsPerTask: number;
133
+ }
134
+ export interface DashboardConcise {
135
+ workspace: string;
136
+ progress: DashboardProgress;
137
+ statusBreakdown: DashboardStatusBreakdown;
138
+ subtaskProgress?: DashboardSubtaskProgress;
139
+ priority: DashboardPriorityBreakdown;
140
+ dependency: DashboardDependencyMetrics;
141
+ dependencyStats: DashboardDependencyStats;
142
+ nextTask?: DashboardNextTask;
143
+ }
144
+ export interface DashboardStandard extends DashboardConcise {
145
+ criticalPath?: DashboardCriticalPath;
146
+ tasks: TaskSummary[];
147
+ }
148
+ //# sourceMappingURL=response-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-format.d.ts","sourceRoot":"","sources":["../../src/schemas/response-format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Response Format Schema
4
+ *
5
+ * Token-efficient response formats for MCP tools.
6
+ * Based on Anthropic's recommended patterns for reducing token usage.
7
+ *
8
+ * - concise: Minimal fields (4-6), JSON format for machine processing
9
+ * - standard: Common fields (7-10), balanced for most use cases
10
+ * - detailed: Full object, human-readable format
11
+ */
12
+ // Response format options
13
+ export const ResponseFormat = z.enum(["concise", "standard", "detailed"]);
14
+ // Default limits for pagination
15
+ export const DEFAULT_LIMIT = 20;
16
+ export const MAX_LIMIT = 100;
17
+ // Detailed format - human-readable markdown (use string output)
18
+ //# sourceMappingURL=response-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-format.js","sourceRoot":"","sources":["../../src/schemas/response-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AAEH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAG1E,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAmL7B,gEAAgE"}