@uluops/ops-mcp 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/CHANGELOG.md +383 -0
  2. package/LICENSE +21 -0
  3. package/README.md +272 -0
  4. package/dist/client/sdk-error-mapper.d.ts +24 -0
  5. package/dist/client/sdk-error-mapper.d.ts.map +1 -0
  6. package/dist/client/sdk-error-mapper.js +205 -0
  7. package/dist/client/sdk-error-mapper.js.map +1 -0
  8. package/dist/config/index.d.ts +26 -0
  9. package/dist/config/index.d.ts.map +1 -0
  10. package/dist/config/index.js +121 -0
  11. package/dist/config/index.js.map +1 -0
  12. package/dist/config/tool-registry.d.ts +25 -0
  13. package/dist/config/tool-registry.d.ts.map +1 -0
  14. package/dist/config/tool-registry.js +439 -0
  15. package/dist/config/tool-registry.js.map +1 -0
  16. package/dist/index.d.ts +13 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +245 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/resources/index.d.ts +12 -0
  21. package/dist/resources/index.d.ts.map +1 -0
  22. package/dist/resources/index.js +16 -0
  23. package/dist/resources/index.js.map +1 -0
  24. package/dist/resources/projects.d.ts +12 -0
  25. package/dist/resources/projects.d.ts.map +1 -0
  26. package/dist/resources/projects.js +45 -0
  27. package/dist/resources/projects.js.map +1 -0
  28. package/dist/resources/response-helpers.d.ts +15 -0
  29. package/dist/resources/response-helpers.d.ts.map +1 -0
  30. package/dist/resources/response-helpers.js +34 -0
  31. package/dist/resources/response-helpers.js.map +1 -0
  32. package/dist/resources/taxonomy.d.ts +19 -0
  33. package/dist/resources/taxonomy.d.ts.map +1 -0
  34. package/dist/resources/taxonomy.js +45 -0
  35. package/dist/resources/taxonomy.js.map +1 -0
  36. package/dist/tools/add-issue-note.d.ts +25 -0
  37. package/dist/tools/add-issue-note.d.ts.map +1 -0
  38. package/dist/tools/add-issue-note.js +19 -0
  39. package/dist/tools/add-issue-note.js.map +1 -0
  40. package/dist/tools/archive-runs.d.ts +33 -0
  41. package/dist/tools/archive-runs.d.ts.map +1 -0
  42. package/dist/tools/archive-runs.js +21 -0
  43. package/dist/tools/archive-runs.js.map +1 -0
  44. package/dist/tools/bulk-update-status.d.ts +54 -0
  45. package/dist/tools/bulk-update-status.d.ts.map +1 -0
  46. package/dist/tools/bulk-update-status.js +22 -0
  47. package/dist/tools/bulk-update-status.js.map +1 -0
  48. package/dist/tools/create-issue.d.ts +52 -0
  49. package/dist/tools/create-issue.d.ts.map +1 -0
  50. package/dist/tools/create-issue.js +25 -0
  51. package/dist/tools/create-issue.js.map +1 -0
  52. package/dist/tools/create-project.d.ts +21 -0
  53. package/dist/tools/create-project.d.ts.map +1 -0
  54. package/dist/tools/create-project.js +17 -0
  55. package/dist/tools/create-project.js.map +1 -0
  56. package/dist/tools/delete-project.d.ts +28 -0
  57. package/dist/tools/delete-project.d.ts.map +1 -0
  58. package/dist/tools/delete-project.js +34 -0
  59. package/dist/tools/delete-project.js.map +1 -0
  60. package/dist/tools/delete-run.d.ts +24 -0
  61. package/dist/tools/delete-run.d.ts.map +1 -0
  62. package/dist/tools/delete-run.js +18 -0
  63. package/dist/tools/delete-run.js.map +1 -0
  64. package/dist/tools/diff-runs.d.ts +30 -0
  65. package/dist/tools/diff-runs.d.ts.map +1 -0
  66. package/dist/tools/diff-runs.js +20 -0
  67. package/dist/tools/diff-runs.js.map +1 -0
  68. package/dist/tools/edit-issue.d.ts +34 -0
  69. package/dist/tools/edit-issue.d.ts.map +1 -0
  70. package/dist/tools/edit-issue.js +25 -0
  71. package/dist/tools/edit-issue.js.map +1 -0
  72. package/dist/tools/get-agent-lifecycle.d.ts +10 -0
  73. package/dist/tools/get-agent-lifecycle.d.ts.map +1 -0
  74. package/dist/tools/get-agent-lifecycle.js +20 -0
  75. package/dist/tools/get-agent-lifecycle.js.map +1 -0
  76. package/dist/tools/get-agent-matrix.d.ts +24 -0
  77. package/dist/tools/get-agent-matrix.d.ts.map +1 -0
  78. package/dist/tools/get-agent-matrix.js +29 -0
  79. package/dist/tools/get-agent-matrix.js.map +1 -0
  80. package/dist/tools/get-agent-reliability.d.ts +22 -0
  81. package/dist/tools/get-agent-reliability.d.ts.map +1 -0
  82. package/dist/tools/get-agent-reliability.js +14 -0
  83. package/dist/tools/get-agent-reliability.js.map +1 -0
  84. package/dist/tools/get-agent-runs-analysis.d.ts +33 -0
  85. package/dist/tools/get-agent-runs-analysis.d.ts.map +1 -0
  86. package/dist/tools/get-agent-runs-analysis.js +26 -0
  87. package/dist/tools/get-agent-runs-analysis.js.map +1 -0
  88. package/dist/tools/get-analytics.d.ts +30 -0
  89. package/dist/tools/get-analytics.d.ts.map +1 -0
  90. package/dist/tools/get-analytics.js +29 -0
  91. package/dist/tools/get-analytics.js.map +1 -0
  92. package/dist/tools/get-burndown.d.ts +24 -0
  93. package/dist/tools/get-burndown.d.ts.map +1 -0
  94. package/dist/tools/get-burndown.js +26 -0
  95. package/dist/tools/get-burndown.js.map +1 -0
  96. package/dist/tools/get-discovery.d.ts +24 -0
  97. package/dist/tools/get-discovery.d.ts.map +1 -0
  98. package/dist/tools/get-discovery.js +26 -0
  99. package/dist/tools/get-discovery.js.map +1 -0
  100. package/dist/tools/get-full-taxonomy-analytics.d.ts +27 -0
  101. package/dist/tools/get-full-taxonomy-analytics.d.ts.map +1 -0
  102. package/dist/tools/get-full-taxonomy-analytics.js +19 -0
  103. package/dist/tools/get-full-taxonomy-analytics.js.map +1 -0
  104. package/dist/tools/get-issue-by-fingerprint.d.ts +24 -0
  105. package/dist/tools/get-issue-by-fingerprint.d.ts.map +1 -0
  106. package/dist/tools/get-issue-by-fingerprint.js +18 -0
  107. package/dist/tools/get-issue-by-fingerprint.js.map +1 -0
  108. package/dist/tools/get-issue-details.d.ts +27 -0
  109. package/dist/tools/get-issue-details.d.ts.map +1 -0
  110. package/dist/tools/get-issue-details.js +19 -0
  111. package/dist/tools/get-issue-details.js.map +1 -0
  112. package/dist/tools/get-issue-history.d.ts +19 -0
  113. package/dist/tools/get-issue-history.d.ts.map +1 -0
  114. package/dist/tools/get-issue-history.js +13 -0
  115. package/dist/tools/get-issue-history.js.map +1 -0
  116. package/dist/tools/get-latest-run.d.ts +24 -0
  117. package/dist/tools/get-latest-run.d.ts.map +1 -0
  118. package/dist/tools/get-latest-run.js +18 -0
  119. package/dist/tools/get-latest-run.js.map +1 -0
  120. package/dist/tools/get-project-analysis.d.ts +36 -0
  121. package/dist/tools/get-project-analysis.d.ts.map +1 -0
  122. package/dist/tools/get-project-analysis.js +28 -0
  123. package/dist/tools/get-project-analysis.js.map +1 -0
  124. package/dist/tools/get-project-summary.d.ts +21 -0
  125. package/dist/tools/get-project-summary.d.ts.map +1 -0
  126. package/dist/tools/get-project-summary.js +17 -0
  127. package/dist/tools/get-project-summary.js.map +1 -0
  128. package/dist/tools/get-project-trends.d.ts +24 -0
  129. package/dist/tools/get-project-trends.d.ts.map +1 -0
  130. package/dist/tools/get-project-trends.js +27 -0
  131. package/dist/tools/get-project-trends.js.map +1 -0
  132. package/dist/tools/get-project.d.ts +21 -0
  133. package/dist/tools/get-project.d.ts.map +1 -0
  134. package/dist/tools/get-project.js +17 -0
  135. package/dist/tools/get-project.js.map +1 -0
  136. package/dist/tools/get-run-analysis.d.ts +21 -0
  137. package/dist/tools/get-run-analysis.d.ts.map +1 -0
  138. package/dist/tools/get-run-analysis.js +17 -0
  139. package/dist/tools/get-run-analysis.js.map +1 -0
  140. package/dist/tools/get-run-details.d.ts +27 -0
  141. package/dist/tools/get-run-details.d.ts.map +1 -0
  142. package/dist/tools/get-run-details.js +19 -0
  143. package/dist/tools/get-run-details.js.map +1 -0
  144. package/dist/tools/get-run.d.ts +21 -0
  145. package/dist/tools/get-run.d.ts.map +1 -0
  146. package/dist/tools/get-run.js +17 -0
  147. package/dist/tools/get-run.js.map +1 -0
  148. package/dist/tools/get-taxonomy.d.ts +15 -0
  149. package/dist/tools/get-taxonomy.d.ts.map +1 -0
  150. package/dist/tools/get-taxonomy.js +15 -0
  151. package/dist/tools/get-taxonomy.js.map +1 -0
  152. package/dist/tools/get-velocity.d.ts +24 -0
  153. package/dist/tools/get-velocity.d.ts.map +1 -0
  154. package/dist/tools/get-velocity.js +28 -0
  155. package/dist/tools/get-velocity.js.map +1 -0
  156. package/dist/tools/index.d.ts +10 -0
  157. package/dist/tools/index.d.ts.map +1 -0
  158. package/dist/tools/index.js +119 -0
  159. package/dist/tools/index.js.map +1 -0
  160. package/dist/tools/list-agents.d.ts +15 -0
  161. package/dist/tools/list-agents.d.ts.map +1 -0
  162. package/dist/tools/list-agents.js +29 -0
  163. package/dist/tools/list-agents.js.map +1 -0
  164. package/dist/tools/list-projects.d.ts +15 -0
  165. package/dist/tools/list-projects.d.ts.map +1 -0
  166. package/dist/tools/list-projects.js +15 -0
  167. package/dist/tools/list-projects.js.map +1 -0
  168. package/dist/tools/list-runs.d.ts +30 -0
  169. package/dist/tools/list-runs.d.ts.map +1 -0
  170. package/dist/tools/list-runs.js +23 -0
  171. package/dist/tools/list-runs.js.map +1 -0
  172. package/dist/tools/merge-issues.d.ts +25 -0
  173. package/dist/tools/merge-issues.d.ts.map +1 -0
  174. package/dist/tools/merge-issues.js +19 -0
  175. package/dist/tools/merge-issues.js.map +1 -0
  176. package/dist/tools/query-analysis-records.d.ts +39 -0
  177. package/dist/tools/query-analysis-records.d.ts.map +1 -0
  178. package/dist/tools/query-analysis-records.js +31 -0
  179. package/dist/tools/query-analysis-records.js.map +1 -0
  180. package/dist/tools/query-issues.d.ts +54 -0
  181. package/dist/tools/query-issues.d.ts.map +1 -0
  182. package/dist/tools/query-issues.js +41 -0
  183. package/dist/tools/query-issues.js.map +1 -0
  184. package/dist/tools/restore-issue.d.ts +21 -0
  185. package/dist/tools/restore-issue.d.ts.map +1 -0
  186. package/dist/tools/restore-issue.js +17 -0
  187. package/dist/tools/restore-issue.js.map +1 -0
  188. package/dist/tools/restore-project.d.ts +21 -0
  189. package/dist/tools/restore-project.d.ts.map +1 -0
  190. package/dist/tools/restore-project.js +17 -0
  191. package/dist/tools/restore-project.js.map +1 -0
  192. package/dist/tools/save-run.d.ts +1570 -0
  193. package/dist/tools/save-run.d.ts.map +1 -0
  194. package/dist/tools/save-run.js +50 -0
  195. package/dist/tools/save-run.js.map +1 -0
  196. package/dist/tools/search-issues.d.ts +42 -0
  197. package/dist/tools/search-issues.d.ts.map +1 -0
  198. package/dist/tools/search-issues.js +25 -0
  199. package/dist/tools/search-issues.js.map +1 -0
  200. package/dist/tools/soft-delete-issue.d.ts +21 -0
  201. package/dist/tools/soft-delete-issue.d.ts.map +1 -0
  202. package/dist/tools/soft-delete-issue.js +17 -0
  203. package/dist/tools/soft-delete-issue.js.map +1 -0
  204. package/dist/tools/soft-delete-project.d.ts +27 -0
  205. package/dist/tools/soft-delete-project.d.ts.map +1 -0
  206. package/dist/tools/soft-delete-project.js +22 -0
  207. package/dist/tools/soft-delete-project.js.map +1 -0
  208. package/dist/tools/undo-issue-status.d.ts +21 -0
  209. package/dist/tools/undo-issue-status.d.ts.map +1 -0
  210. package/dist/tools/undo-issue-status.js +17 -0
  211. package/dist/tools/undo-issue-status.js.map +1 -0
  212. package/dist/tools/update-issue-by-fingerprint.d.ts +30 -0
  213. package/dist/tools/update-issue-by-fingerprint.d.ts.map +1 -0
  214. package/dist/tools/update-issue-by-fingerprint.js +24 -0
  215. package/dist/tools/update-issue-by-fingerprint.js.map +1 -0
  216. package/dist/tools/update-project.d.ts +24 -0
  217. package/dist/tools/update-project.d.ts.map +1 -0
  218. package/dist/tools/update-project.js +21 -0
  219. package/dist/tools/update-project.js.map +1 -0
  220. package/dist/tools/update-run.d.ts +1495 -0
  221. package/dist/tools/update-run.d.ts.map +1 -0
  222. package/dist/tools/update-run.js +60 -0
  223. package/dist/tools/update-run.js.map +1 -0
  224. package/dist/tools/update-status.d.ts +64 -0
  225. package/dist/tools/update-status.d.ts.map +1 -0
  226. package/dist/tools/update-status.js +28 -0
  227. package/dist/tools/update-status.js.map +1 -0
  228. package/dist/tools/validate-run.d.ts +228 -0
  229. package/dist/tools/validate-run.d.ts.map +1 -0
  230. package/dist/tools/validate-run.js +25 -0
  231. package/dist/tools/validate-run.js.map +1 -0
  232. package/dist/types/config.d.ts +33 -0
  233. package/dist/types/config.d.ts.map +1 -0
  234. package/dist/types/config.js +5 -0
  235. package/dist/types/config.js.map +1 -0
  236. package/dist/types/index.d.ts +12 -0
  237. package/dist/types/index.d.ts.map +1 -0
  238. package/dist/types/index.js +12 -0
  239. package/dist/types/index.js.map +1 -0
  240. package/dist/types/mcp.d.ts +21 -0
  241. package/dist/types/mcp.d.ts.map +1 -0
  242. package/dist/types/mcp.js +30 -0
  243. package/dist/types/mcp.js.map +1 -0
  244. package/dist/types/run-schemas.d.ts +996 -0
  245. package/dist/types/run-schemas.d.ts.map +1 -0
  246. package/dist/types/run-schemas.js +91 -0
  247. package/dist/types/run-schemas.js.map +1 -0
  248. package/dist/types/schemas.d.ts +288 -0
  249. package/dist/types/schemas.d.ts.map +1 -0
  250. package/dist/types/schemas.js +218 -0
  251. package/dist/types/schemas.js.map +1 -0
  252. package/dist/types/server.d.ts +59 -0
  253. package/dist/types/server.d.ts.map +1 -0
  254. package/dist/types/server.js +7 -0
  255. package/dist/types/server.js.map +1 -0
  256. package/dist/utils/logger.d.ts +24 -0
  257. package/dist/utils/logger.d.ts.map +1 -0
  258. package/dist/utils/logger.js +90 -0
  259. package/dist/utils/logger.js.map +1 -0
  260. package/dist/utils/normalize-keys.d.ts +20 -0
  261. package/dist/utils/normalize-keys.d.ts.map +1 -0
  262. package/dist/utils/normalize-keys.js +38 -0
  263. package/dist/utils/normalize-keys.js.map +1 -0
  264. package/dist/utils/tool-handler.d.ts +64 -0
  265. package/dist/utils/tool-handler.d.ts.map +1 -0
  266. package/dist/utils/tool-handler.js +138 -0
  267. package/dist/utils/tool-handler.js.map +1 -0
  268. package/package.json +83 -0
  269. package/tool-policies.json +96 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-run.d.ts","sourceRoot":"","sources":["../../src/tools/update-run.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAgCnE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,SAAS,GACnB,IAAI,CAeN"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * update_run tool
3
+ *
4
+ * Update run metadata post-hoc (tokens, scores, timestamps, recommendations).
5
+ * Supports identification by run_id OR (project + run_number).
6
+ */
7
+ import { z } from 'zod';
8
+ import { createToolHandler } from '../utils/tool-handler.js';
9
+ import { RecommendationSchema } from '../types/schemas.js';
10
+ import { AnalysisRecordBaseSchema, AnalysisSummaryBaseSchema, } from '../types/run-schemas.js';
11
+ const AgentUpdateSchema = z.object({
12
+ name: z.string().min(1),
13
+ score: z.number().min(0).max(100).optional(),
14
+ decision: z
15
+ .string()
16
+ .optional()
17
+ .describe('Agent decision (e.g., PASS, FAIL, CLEAR, BEWITCHED, VITAL)'),
18
+ input_tokens: z.number().int().nonnegative().optional(),
19
+ output_tokens: z.number().int().nonnegative().optional(),
20
+ cache_creation_tokens: z.number().int().nonnegative().optional(),
21
+ cache_read_tokens: z.number().int().nonnegative().optional(),
22
+ total_effective_tokens: z.number().int().nonnegative().optional(),
23
+ duration_ms: z.number().int().nonnegative().optional(),
24
+ model: z.string().optional(),
25
+ });
26
+ const AnalysisRecordSchema = AnalysisRecordBaseSchema.extend({
27
+ agent_name: z.string().max(100).optional().describe('Agent name — overrides run-level default'),
28
+ });
29
+ const AnalysisSummarySchema = AnalysisSummaryBaseSchema.extend({
30
+ agent_name: z.string().max(100).optional().describe('Agent name — overrides run-level default'),
31
+ });
32
+ export const UpdateRunInputSchema = z.object({
33
+ project: z.string().min(1),
34
+ run_id: z.string().uuid().optional(),
35
+ run_number: z.number().int().positive().optional(),
36
+ workflow_type: z.string().optional(),
37
+ agents: z.array(AgentUpdateSchema).optional(),
38
+ timestamp: z.string().optional(),
39
+ all_gates_passed: z.boolean().optional(),
40
+ average_score: z.number().min(0).max(100).optional(),
41
+ raw_markdown: z.string().max(100000).optional(),
42
+ recommendations: z.array(RecommendationSchema).optional().describe('Array of issues/recommendations to correlate with this run'),
43
+ analysis_records: z.array(AnalysisRecordSchema).max(100).optional().describe('Structured analysis records — replaces existing if present'),
44
+ analysis_summary: z.union([
45
+ AnalysisSummarySchema,
46
+ z.array(AnalysisSummarySchema).max(20),
47
+ ]).optional().describe('Analysis summary — single object or per-agent array. Replaces existing.'),
48
+ });
49
+ export function registerUpdateRunTool(server, opsClient) {
50
+ server.tool('update_run', 'Update run metadata post-hoc (tokens, scores, timestamps). Also supports adding recommendations/issues and analysis records/summary after initial save. Identify run by either run_id OR (project + run_number).', UpdateRunInputSchema.shape, createToolHandler(UpdateRunInputSchema, (n) => {
51
+ const runId = n['runId'];
52
+ if (typeof runId === 'string') {
53
+ // Use direct run ID path
54
+ return opsClient.runs.updateById(runId, n, { _skipClientValidation: true });
55
+ }
56
+ // Use project + run_number path
57
+ return opsClient.runs.update(n, { _skipClientValidation: true });
58
+ }, { toolName: 'update_run' }));
59
+ }
60
+ //# sourceMappingURL=update-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-run.js","sourceRoot":"","sources":["../../src/tools/update-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * update_status tool
3
+ *
4
+ * Update issue status (mark completed, deferred, etc.).
5
+ */
6
+ import { z } from 'zod';
7
+ import type { OpsClient } from '@uluops/ops-sdk';
8
+ import { type McpServerToolRegistration } from '../types/index.js';
9
+ export declare const UpdateStatusInputSchema: z.ZodObject<{
10
+ project: z.ZodString;
11
+ updates: z.ZodArray<z.ZodObject<{
12
+ id: z.ZodOptional<z.ZodString>;
13
+ issue_id: z.ZodOptional<z.ZodString>;
14
+ fingerprint: z.ZodOptional<z.ZodString>;
15
+ file_path: z.ZodOptional<z.ZodString>;
16
+ title: z.ZodOptional<z.ZodString>;
17
+ status: z.ZodEnum<["open", "completed", "deferred", "wontfix", "merged", "false-positive", "observation"]>;
18
+ reason: z.ZodOptional<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ status: "open" | "completed" | "deferred" | "wontfix" | "merged" | "false-positive" | "observation";
21
+ title?: string | undefined;
22
+ file_path?: string | undefined;
23
+ id?: string | undefined;
24
+ fingerprint?: string | undefined;
25
+ issue_id?: string | undefined;
26
+ reason?: string | undefined;
27
+ }, {
28
+ status: "open" | "completed" | "deferred" | "wontfix" | "merged" | "false-positive" | "observation";
29
+ title?: string | undefined;
30
+ file_path?: string | undefined;
31
+ id?: string | undefined;
32
+ fingerprint?: string | undefined;
33
+ issue_id?: string | undefined;
34
+ reason?: string | undefined;
35
+ }>, "many">;
36
+ }, "strip", z.ZodTypeAny, {
37
+ project: string;
38
+ updates: {
39
+ status: "open" | "completed" | "deferred" | "wontfix" | "merged" | "false-positive" | "observation";
40
+ title?: string | undefined;
41
+ file_path?: string | undefined;
42
+ id?: string | undefined;
43
+ fingerprint?: string | undefined;
44
+ issue_id?: string | undefined;
45
+ reason?: string | undefined;
46
+ }[];
47
+ }, {
48
+ project: string;
49
+ updates: {
50
+ status: "open" | "completed" | "deferred" | "wontfix" | "merged" | "false-positive" | "observation";
51
+ title?: string | undefined;
52
+ file_path?: string | undefined;
53
+ id?: string | undefined;
54
+ fingerprint?: string | undefined;
55
+ issue_id?: string | undefined;
56
+ reason?: string | undefined;
57
+ }[];
58
+ }>;
59
+ export type UpdateStatusInput = z.infer<typeof UpdateStatusInputSchema>;
60
+ /**
61
+ * Register update_status tool
62
+ */
63
+ export declare function registerUpdateStatusTool(server: McpServerToolRegistration, opsClient: OpsClient): void;
64
+ //# sourceMappingURL=update-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-status.d.ts","sourceRoot":"","sources":["../../src/tools/update-status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAqB,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAatF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,SAAS,GACnB,IAAI,CAUN"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * update_status tool
3
+ *
4
+ * Update issue status (mark completed, deferred, etc.).
5
+ */
6
+ import { z } from 'zod';
7
+ import { IssueStatusSchema } from '../types/index.js';
8
+ import { createToolHandler } from '../utils/tool-handler.js';
9
+ const StatusUpdateSchema = z.object({
10
+ id: z.string().uuid().optional().describe('Issue UUID (preferred identifier)'),
11
+ issue_id: z.string().uuid().optional().describe('Issue UUID (alias for id)'),
12
+ fingerprint: z.string().optional().describe('Issue fingerprint hash'),
13
+ file_path: z.string().optional().describe('File path (use with title)'),
14
+ title: z.string().optional().describe('Issue title (use with file_path)'),
15
+ status: IssueStatusSchema.describe('New status'),
16
+ reason: z.string().max(500).optional().describe('Reason for status change (max 500 chars)'),
17
+ });
18
+ export const UpdateStatusInputSchema = z.object({
19
+ project: z.string().min(1).describe('Project name'),
20
+ updates: z.array(StatusUpdateSchema).min(1).describe('Array of status updates'),
21
+ });
22
+ /**
23
+ * Register update_status tool
24
+ */
25
+ export function registerUpdateStatusTool(server, opsClient) {
26
+ server.tool('update_status', 'Update issue status. Identify by ID (preferred), fingerprint, or file_path+title.', UpdateStatusInputSchema.shape, createToolHandler(UpdateStatusInputSchema, (n) => opsClient.projects.bulkUpdateIssueStatus(n['project'], n['updates']), { toolName: 'update_status' }));
27
+ }
28
+ //# sourceMappingURL=update-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-status.js","sourceRoot":"","sources":["../../src/tools/update-status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAkC,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC9E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACzE,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAChF,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAiC,EACjC,SAAoB;IAEpB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,mFAAmF,EACnF,uBAAuB,CAAC,KAAK,EAC7B,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/C,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EACpE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAC9B,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * validate_run tool
3
+ *
4
+ * Preview what save_run would do without modifying the database.
5
+ */
6
+ import { z } from 'zod';
7
+ import type { OpsClient } from '@uluops/ops-sdk';
8
+ import { type McpServerToolRegistration } from '../types/index.js';
9
+ export declare const ValidateRunInputSchema: z.ZodObject<{
10
+ project: z.ZodString;
11
+ workflow_type: z.ZodString;
12
+ agents: z.ZodArray<z.ZodObject<{
13
+ name: z.ZodString;
14
+ score: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
15
+ max_score: z.ZodOptional<z.ZodNumber>;
16
+ decision: z.ZodString;
17
+ definition_version: z.ZodOptional<z.ZodString>;
18
+ summary: z.ZodOptional<z.ZodString>;
19
+ model: z.ZodOptional<z.ZodString>;
20
+ tokens: z.ZodOptional<z.ZodObject<{
21
+ input_tokens: z.ZodNumber;
22
+ output_tokens: z.ZodNumber;
23
+ cache_creation: z.ZodOptional<z.ZodNumber>;
24
+ cache_creation_tokens: z.ZodOptional<z.ZodNumber>;
25
+ cache_read: z.ZodOptional<z.ZodNumber>;
26
+ cache_read_tokens: z.ZodOptional<z.ZodNumber>;
27
+ total_effective: z.ZodOptional<z.ZodNumber>;
28
+ total_effective_tokens: z.ZodOptional<z.ZodNumber>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ input_tokens: number;
31
+ output_tokens: number;
32
+ cache_creation?: number | undefined;
33
+ cache_creation_tokens?: number | undefined;
34
+ cache_read?: number | undefined;
35
+ cache_read_tokens?: number | undefined;
36
+ total_effective?: number | undefined;
37
+ total_effective_tokens?: number | undefined;
38
+ }, {
39
+ input_tokens: number;
40
+ output_tokens: number;
41
+ cache_creation?: number | undefined;
42
+ cache_creation_tokens?: number | undefined;
43
+ cache_read?: number | undefined;
44
+ cache_read_tokens?: number | undefined;
45
+ total_effective?: number | undefined;
46
+ total_effective_tokens?: number | undefined;
47
+ }>>;
48
+ duration_ms: z.ZodOptional<z.ZodNumber>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ name: string;
51
+ decision: string;
52
+ score?: number | null | undefined;
53
+ max_score?: number | undefined;
54
+ definition_version?: string | undefined;
55
+ summary?: string | undefined;
56
+ model?: string | undefined;
57
+ tokens?: {
58
+ input_tokens: number;
59
+ output_tokens: number;
60
+ cache_creation?: number | undefined;
61
+ cache_creation_tokens?: number | undefined;
62
+ cache_read?: number | undefined;
63
+ cache_read_tokens?: number | undefined;
64
+ total_effective?: number | undefined;
65
+ total_effective_tokens?: number | undefined;
66
+ } | undefined;
67
+ duration_ms?: number | undefined;
68
+ }, {
69
+ name: string;
70
+ decision: string;
71
+ score?: number | null | undefined;
72
+ max_score?: number | undefined;
73
+ definition_version?: string | undefined;
74
+ summary?: string | undefined;
75
+ model?: string | undefined;
76
+ tokens?: {
77
+ input_tokens: number;
78
+ output_tokens: number;
79
+ cache_creation?: number | undefined;
80
+ cache_creation_tokens?: number | undefined;
81
+ cache_read?: number | undefined;
82
+ cache_read_tokens?: number | undefined;
83
+ total_effective?: number | undefined;
84
+ total_effective_tokens?: number | undefined;
85
+ } | undefined;
86
+ duration_ms?: number | undefined;
87
+ }>, "many">;
88
+ recommendations: z.ZodArray<z.ZodObject<{
89
+ agent: z.ZodString;
90
+ title: z.ZodString;
91
+ priority: z.ZodEnum<["critical", "high", "suggested", "backlog"]>;
92
+ type: z.ZodOptional<z.ZodString>;
93
+ description: z.ZodOptional<z.ZodString>;
94
+ file_path: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
95
+ line_number: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
96
+ category: z.ZodOptional<z.ZodString>;
97
+ severity: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low", "info"]>>;
98
+ failure_code: z.ZodOptional<z.ZodString>;
99
+ failure_domain: z.ZodOptional<z.ZodEnum<["STR", "SEM", "PRA", "EPI"]>>;
100
+ failure_mode: z.ZodOptional<z.ZodString>;
101
+ classification_confidence: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
102
+ classified_by: z.ZodOptional<z.ZodEnum<["agent", "classifier", "human"]>>;
103
+ secondary_failure_codes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
104
+ taxonomy_version: z.ZodOptional<z.ZodString>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ agent: string;
107
+ title: string;
108
+ priority: "critical" | "high" | "suggested" | "backlog";
109
+ type?: string | undefined;
110
+ description?: string | undefined;
111
+ file_path?: string | undefined;
112
+ line_number?: number | null | undefined;
113
+ category?: string | undefined;
114
+ severity?: "info" | "critical" | "high" | "medium" | "low" | undefined;
115
+ failure_code?: string | undefined;
116
+ failure_domain?: "STR" | "SEM" | "PRA" | "EPI" | undefined;
117
+ failure_mode?: string | undefined;
118
+ classification_confidence?: "high" | "medium" | "low" | undefined;
119
+ classified_by?: "agent" | "classifier" | "human" | undefined;
120
+ secondary_failure_codes?: string[] | undefined;
121
+ taxonomy_version?: string | undefined;
122
+ }, {
123
+ agent: string;
124
+ title: string;
125
+ priority: "critical" | "high" | "suggested" | "backlog";
126
+ type?: string | undefined;
127
+ description?: string | undefined;
128
+ file_path?: string | undefined;
129
+ line_number?: number | null | undefined;
130
+ category?: string | undefined;
131
+ severity?: "info" | "critical" | "high" | "medium" | "low" | undefined;
132
+ failure_code?: string | undefined;
133
+ failure_domain?: "STR" | "SEM" | "PRA" | "EPI" | undefined;
134
+ failure_mode?: string | undefined;
135
+ classification_confidence?: "high" | "medium" | "low" | undefined;
136
+ classified_by?: "agent" | "classifier" | "human" | undefined;
137
+ secondary_failure_codes?: string[] | undefined;
138
+ taxonomy_version?: string | undefined;
139
+ }>, "many">;
140
+ }, "strip", z.ZodTypeAny, {
141
+ project: string;
142
+ workflow_type: string;
143
+ agents: {
144
+ name: string;
145
+ decision: string;
146
+ score?: number | null | undefined;
147
+ max_score?: number | undefined;
148
+ definition_version?: string | undefined;
149
+ summary?: string | undefined;
150
+ model?: string | undefined;
151
+ tokens?: {
152
+ input_tokens: number;
153
+ output_tokens: number;
154
+ cache_creation?: number | undefined;
155
+ cache_creation_tokens?: number | undefined;
156
+ cache_read?: number | undefined;
157
+ cache_read_tokens?: number | undefined;
158
+ total_effective?: number | undefined;
159
+ total_effective_tokens?: number | undefined;
160
+ } | undefined;
161
+ duration_ms?: number | undefined;
162
+ }[];
163
+ recommendations: {
164
+ agent: string;
165
+ title: string;
166
+ priority: "critical" | "high" | "suggested" | "backlog";
167
+ type?: string | undefined;
168
+ description?: string | undefined;
169
+ file_path?: string | undefined;
170
+ line_number?: number | null | undefined;
171
+ category?: string | undefined;
172
+ severity?: "info" | "critical" | "high" | "medium" | "low" | undefined;
173
+ failure_code?: string | undefined;
174
+ failure_domain?: "STR" | "SEM" | "PRA" | "EPI" | undefined;
175
+ failure_mode?: string | undefined;
176
+ classification_confidence?: "high" | "medium" | "low" | undefined;
177
+ classified_by?: "agent" | "classifier" | "human" | undefined;
178
+ secondary_failure_codes?: string[] | undefined;
179
+ taxonomy_version?: string | undefined;
180
+ }[];
181
+ }, {
182
+ project: string;
183
+ workflow_type: string;
184
+ agents: {
185
+ name: string;
186
+ decision: string;
187
+ score?: number | null | undefined;
188
+ max_score?: number | undefined;
189
+ definition_version?: string | undefined;
190
+ summary?: string | undefined;
191
+ model?: string | undefined;
192
+ tokens?: {
193
+ input_tokens: number;
194
+ output_tokens: number;
195
+ cache_creation?: number | undefined;
196
+ cache_creation_tokens?: number | undefined;
197
+ cache_read?: number | undefined;
198
+ cache_read_tokens?: number | undefined;
199
+ total_effective?: number | undefined;
200
+ total_effective_tokens?: number | undefined;
201
+ } | undefined;
202
+ duration_ms?: number | undefined;
203
+ }[];
204
+ recommendations: {
205
+ agent: string;
206
+ title: string;
207
+ priority: "critical" | "high" | "suggested" | "backlog";
208
+ type?: string | undefined;
209
+ description?: string | undefined;
210
+ file_path?: string | undefined;
211
+ line_number?: number | null | undefined;
212
+ category?: string | undefined;
213
+ severity?: "info" | "critical" | "high" | "medium" | "low" | undefined;
214
+ failure_code?: string | undefined;
215
+ failure_domain?: "STR" | "SEM" | "PRA" | "EPI" | undefined;
216
+ failure_mode?: string | undefined;
217
+ classification_confidence?: "high" | "medium" | "low" | undefined;
218
+ classified_by?: "agent" | "classifier" | "human" | undefined;
219
+ secondary_failure_codes?: string[] | undefined;
220
+ taxonomy_version?: string | undefined;
221
+ }[];
222
+ }>;
223
+ export type ValidateRunInput = z.infer<typeof ValidateRunInputSchema>;
224
+ /**
225
+ * Register validate_run tool
226
+ */
227
+ export declare function registerValidateRunTool(server: McpServerToolRegistration, opsClient: OpsClient): void;
228
+ //# sourceMappingURL=validate-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-run.d.ts","sourceRoot":"","sources":["../../src/tools/validate-run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,SAAS,GACnB,IAAI,CAON"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * validate_run tool
3
+ *
4
+ * Preview what save_run would do without modifying the database.
5
+ */
6
+ import { z } from 'zod';
7
+ import { AgentResultSchema, RecommendationSchema, } from '../types/index.js';
8
+ import { createToolHandler } from '../utils/tool-handler.js';
9
+ export const ValidateRunInputSchema = z.object({
10
+ project: z.string().min(1).max(200).describe('Project name'),
11
+ workflow_type: z
12
+ .string()
13
+ .min(1)
14
+ .max(100)
15
+ .describe('Workflow type (e.g., post-implementation, ship)'),
16
+ agents: z.array(AgentResultSchema).describe('Array of agent results'),
17
+ recommendations: z.array(RecommendationSchema).describe('Array of issues/recommendations'),
18
+ });
19
+ /**
20
+ * Register validate_run tool
21
+ */
22
+ export function registerValidateRunTool(server, opsClient) {
23
+ server.tool('validate_run', 'Preview what save_run would do without modifying the database. Returns would_create, would_update, would_regress, and validation_errors.', ValidateRunInputSchema.shape, createToolHandler(ValidateRunInputSchema, (n) => opsClient.runs.validate(n), { toolName: 'validate_run' }));
24
+ }
25
+ //# sourceMappingURL=validate-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-run.js","sourceRoot":"","sources":["../../src/tools/validate-run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5D,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACrE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC3F,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiC,EACjC,SAAoB;IAEpB,MAAM,CAAC,IAAI,CACT,cAAc,EACd,0IAA0I,EAC1I,sBAAsB,CAAC,KAAK,EAC5B,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAC3G,CAAC;AACJ,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Configuration types for uluops-tracker MCP client
3
+ */
4
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
5
+ export interface ApiClientConfig {
6
+ /** Base URL for the uluops-tracker API */
7
+ baseUrl: string;
8
+ /** API key for authentication */
9
+ apiKey?: string;
10
+ /** Org slug for multi-tenancy — sets X-Org-Slug header on all requests */
11
+ orgSlug?: string;
12
+ /** Request timeout in milliseconds (default: 30000) */
13
+ timeout: number;
14
+ /** Number of retry attempts (default: 3) */
15
+ retries: number;
16
+ }
17
+ export interface SecurityConfig {
18
+ /** Log level for structured logging */
19
+ logLevel: LogLevel;
20
+ /** Enable file logging */
21
+ enableLogging: boolean;
22
+ /** Directory for log files */
23
+ logDir?: string;
24
+ /** Enable verbose security decision logging */
25
+ verboseLogging: boolean;
26
+ /** Enable performance metrics logging */
27
+ logPerformanceMetrics: boolean;
28
+ }
29
+ export interface UluopsTrackerConfig {
30
+ api: ApiClientConfig;
31
+ security: SecurityConfig;
32
+ }
33
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,0BAA0B;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,eAAe,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Configuration types for uluops-tracker MCP client
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Type exports for uluops-tracker MCP client
3
+ *
4
+ * API types are now provided by @uluops/ops-sdk.
5
+ * This barrel exports only MCP protocol types, config types, and Zod schemas.
6
+ */
7
+ export type { LogLevel, ApiClientConfig, SecurityConfig, UluopsTrackerConfig, } from './config.js';
8
+ export type { McpTextContent, McpToolResponse } from './mcp.js';
9
+ export { createSuccessResponse, createErrorResponse } from './mcp.js';
10
+ export type { ToolHandler, ResourceContent, ResourceResponse, ResourceHandler, ResourceMetadata, McpServerToolRegistration, McpServerResourceRegistration, McpServer, } from './server.js';
11
+ export { PrioritySchema, PriorityFilterSchema, SeveritySchema, IssueStatusSchema, IssueStatusFilterSchema, FailureDomainSchema, ConfidenceSchema, ClassifierSchema, NoteTypeSchema, MergeStrategySchema, AnalysisRecordTypeSchema, IssueTypeSchema, FilePathSchema, TokenUsageSchema, AgentResultSchema, RecommendationSchema, ValidationSummarySchema, } from './schemas.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGtE,YAAY,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,cAAc,EAEd,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Type exports for uluops-tracker MCP client
3
+ *
4
+ * API types are now provided by @uluops/ops-sdk.
5
+ * This barrel exports only MCP protocol types, config types, and Zod schemas.
6
+ */
7
+ export { createSuccessResponse, createErrorResponse } from './mcp.js';
8
+ // Shared Zod schemas for runtime validation
9
+ export { PrioritySchema, PriorityFilterSchema, SeveritySchema, IssueStatusSchema, IssueStatusFilterSchema, FailureDomainSchema, ConfidenceSchema, ClassifierSchema, NoteTypeSchema, MergeStrategySchema, AnalysisRecordTypeSchema, IssueTypeSchema, FilePathSchema,
10
+ // Shared validation schemas
11
+ TokenUsageSchema, AgentResultSchema, RecommendationSchema, ValidationSummarySchema, } from './schemas.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AActE,4CAA4C;AAC5C,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,cAAc;AACd,4BAA4B;AAC5B,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * MCP-specific types for tool responses
3
+ */
4
+ export interface McpTextContent {
5
+ type: 'text';
6
+ text: string;
7
+ }
8
+ export interface McpToolResponse {
9
+ content: McpTextContent[];
10
+ isError?: boolean;
11
+ }
12
+ /**
13
+ * Create a successful MCP tool response.
14
+ * Handles void/undefined SDK responses (e.g., delete operations).
15
+ */
16
+ export declare function createSuccessResponse(data: unknown): McpToolResponse;
17
+ /**
18
+ * Create an error MCP tool response
19
+ */
20
+ export declare function createErrorResponse(message: string): McpToolResponse;
21
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAOpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAUpE"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * MCP-specific types for tool responses
3
+ */
4
+ /**
5
+ * Create a successful MCP tool response.
6
+ * Handles void/undefined SDK responses (e.g., delete operations).
7
+ */
8
+ export function createSuccessResponse(data) {
9
+ const text = data === undefined || data === null
10
+ ? JSON.stringify({ success: true })
11
+ : JSON.stringify(data, null, 2);
12
+ return {
13
+ content: [{ type: 'text', text }],
14
+ };
15
+ }
16
+ /**
17
+ * Create an error MCP tool response
18
+ */
19
+ export function createErrorResponse(message) {
20
+ return {
21
+ content: [
22
+ {
23
+ type: 'text',
24
+ text: JSON.stringify({ error: message }),
25
+ },
26
+ ],
27
+ isError: true,
28
+ };
29
+ }
30
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAC9C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;aACzC;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}