@muzzamil-khan/redmine-agent-mcp 1.0.0 → 1.2.0

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 (119) hide show
  1. package/dist/config/env.d.ts +2 -0
  2. package/dist/config/env.d.ts.map +1 -1
  3. package/dist/config/env.js +8 -0
  4. package/dist/config/env.js.map +1 -1
  5. package/dist/mcp/server.js +719 -147
  6. package/dist/mcp/server.js.map +1 -1
  7. package/dist/services/assigneeDirectory.d.ts +34 -0
  8. package/dist/services/assigneeDirectory.d.ts.map +1 -0
  9. package/dist/services/assigneeDirectory.js +138 -0
  10. package/dist/services/assigneeDirectory.js.map +1 -0
  11. package/dist/services/googleSheets.d.ts +32 -0
  12. package/dist/services/googleSheets.d.ts.map +1 -0
  13. package/dist/services/googleSheets.js +109 -0
  14. package/dist/services/googleSheets.js.map +1 -0
  15. package/dist/services/redmine.d.ts +72 -0
  16. package/dist/services/redmine.d.ts.map +1 -1
  17. package/dist/services/redmine.js +141 -0
  18. package/dist/services/redmine.js.map +1 -1
  19. package/dist/services/redmineConfig.d.ts +90 -0
  20. package/dist/services/redmineConfig.d.ts.map +1 -0
  21. package/dist/services/redmineConfig.js +300 -0
  22. package/dist/services/redmineConfig.js.map +1 -0
  23. package/dist/spreadsheet/batchColumnMapping.d.ts +93 -0
  24. package/dist/spreadsheet/batchColumnMapping.d.ts.map +1 -0
  25. package/dist/spreadsheet/batchColumnMapping.js +666 -0
  26. package/dist/spreadsheet/batchColumnMapping.js.map +1 -0
  27. package/dist/spreadsheet/batchCreationTypes.d.ts +61 -0
  28. package/dist/spreadsheet/batchCreationTypes.d.ts.map +1 -0
  29. package/dist/spreadsheet/batchCreationTypes.js +18 -0
  30. package/dist/spreadsheet/batchCreationTypes.js.map +1 -0
  31. package/dist/spreadsheet/batchIssueConfig.d.ts +26 -0
  32. package/dist/spreadsheet/batchIssueConfig.d.ts.map +1 -0
  33. package/dist/spreadsheet/batchIssueConfig.js +106 -0
  34. package/dist/spreadsheet/batchIssueConfig.js.map +1 -0
  35. package/dist/spreadsheet/batchPreviewFormat.d.ts +41 -0
  36. package/dist/spreadsheet/batchPreviewFormat.d.ts.map +1 -0
  37. package/dist/spreadsheet/batchPreviewFormat.js +194 -0
  38. package/dist/spreadsheet/batchPreviewFormat.js.map +1 -0
  39. package/dist/spreadsheet/batchSheetHeuristics.d.ts +13 -0
  40. package/dist/spreadsheet/batchSheetHeuristics.d.ts.map +1 -0
  41. package/dist/spreadsheet/batchSheetHeuristics.js +30 -0
  42. package/dist/spreadsheet/batchSheetHeuristics.js.map +1 -0
  43. package/dist/spreadsheet/bulkUpdateExtract.d.ts +14 -0
  44. package/dist/spreadsheet/bulkUpdateExtract.d.ts.map +1 -0
  45. package/dist/spreadsheet/bulkUpdateExtract.js +83 -0
  46. package/dist/spreadsheet/bulkUpdateExtract.js.map +1 -0
  47. package/dist/spreadsheet/csvUtils.d.ts +14 -0
  48. package/dist/spreadsheet/csvUtils.d.ts.map +1 -0
  49. package/dist/spreadsheet/csvUtils.js +113 -0
  50. package/dist/spreadsheet/csvUtils.js.map +1 -0
  51. package/dist/spreadsheet/extractRawBatchSheet.d.ts +14 -0
  52. package/dist/spreadsheet/extractRawBatchSheet.d.ts.map +1 -0
  53. package/dist/spreadsheet/extractRawBatchSheet.js +33 -0
  54. package/dist/spreadsheet/extractRawBatchSheet.js.map +1 -0
  55. package/dist/spreadsheet/featureRow.d.ts +15 -0
  56. package/dist/spreadsheet/featureRow.d.ts.map +1 -0
  57. package/dist/spreadsheet/featureRow.js +119 -0
  58. package/dist/spreadsheet/featureRow.js.map +1 -0
  59. package/dist/spreadsheet/parseBatchCreationCsv.d.ts +8 -0
  60. package/dist/spreadsheet/parseBatchCreationCsv.d.ts.map +1 -0
  61. package/dist/spreadsheet/parseBatchCreationCsv.js +22 -0
  62. package/dist/spreadsheet/parseBatchCreationCsv.js.map +1 -0
  63. package/dist/spreadsheet/parseBatchCreationCsvV1.d.ts +3 -0
  64. package/dist/spreadsheet/parseBatchCreationCsvV1.d.ts.map +1 -0
  65. package/dist/spreadsheet/parseBatchCreationCsvV1.js +226 -0
  66. package/dist/spreadsheet/parseBatchCreationCsvV1.js.map +1 -0
  67. package/dist/spreadsheet/parseBatchCreationCsvV2.d.ts +4 -0
  68. package/dist/spreadsheet/parseBatchCreationCsvV2.d.ts.map +1 -0
  69. package/dist/spreadsheet/parseBatchCreationCsvV2.js +180 -0
  70. package/dist/spreadsheet/parseBatchCreationCsvV2.js.map +1 -0
  71. package/dist/spreadsheet/redmineIssueCell.d.ts +38 -0
  72. package/dist/spreadsheet/redmineIssueCell.d.ts.map +1 -0
  73. package/dist/spreadsheet/redmineIssueCell.js +176 -0
  74. package/dist/spreadsheet/redmineIssueCell.js.map +1 -0
  75. package/dist/spreadsheet/sheetColumnMap.d.ts +38 -0
  76. package/dist/spreadsheet/sheetColumnMap.d.ts.map +1 -0
  77. package/dist/spreadsheet/sheetColumnMap.js +75 -0
  78. package/dist/spreadsheet/sheetColumnMap.js.map +1 -0
  79. package/dist/spreadsheet/sheetGridToCsv.d.ts +28 -0
  80. package/dist/spreadsheet/sheetGridToCsv.d.ts.map +1 -0
  81. package/dist/spreadsheet/sheetGridToCsv.js +88 -0
  82. package/dist/spreadsheet/sheetGridToCsv.js.map +1 -0
  83. package/dist/spreadsheet/sheetRedmineFields.d.ts +7 -0
  84. package/dist/spreadsheet/sheetRedmineFields.d.ts.map +1 -0
  85. package/dist/spreadsheet/sheetRedmineFields.js +22 -0
  86. package/dist/spreadsheet/sheetRedmineFields.js.map +1 -0
  87. package/dist/spreadsheet/sheetWriteBack.d.ts +27 -0
  88. package/dist/spreadsheet/sheetWriteBack.d.ts.map +1 -0
  89. package/dist/spreadsheet/sheetWriteBack.js +90 -0
  90. package/dist/spreadsheet/sheetWriteBack.js.map +1 -0
  91. package/dist/workflows/batchCreateIssuesWorkflow.d.ts +69 -0
  92. package/dist/workflows/batchCreateIssuesWorkflow.d.ts.map +1 -0
  93. package/dist/workflows/batchCreateIssuesWorkflow.js +1102 -0
  94. package/dist/workflows/batchCreateIssuesWorkflow.js.map +1 -0
  95. package/dist/workflows/bulkUpdateIssuesWorkflow.d.ts +21 -0
  96. package/dist/workflows/bulkUpdateIssuesWorkflow.d.ts.map +1 -0
  97. package/dist/workflows/bulkUpdateIssuesWorkflow.js +384 -0
  98. package/dist/workflows/bulkUpdateIssuesWorkflow.js.map +1 -0
  99. package/dist/workflows/createIssueWorkflow.d.ts +41 -0
  100. package/dist/workflows/createIssueWorkflow.d.ts.map +1 -0
  101. package/dist/workflows/createIssueWorkflow.js +697 -0
  102. package/dist/workflows/createIssueWorkflow.js.map +1 -0
  103. package/dist/workflows/getAllUsersWorkflow.d.ts +27 -0
  104. package/dist/workflows/getAllUsersWorkflow.d.ts.map +1 -0
  105. package/dist/workflows/getAllUsersWorkflow.js +48 -0
  106. package/dist/workflows/getAllUsersWorkflow.js.map +1 -0
  107. package/dist/workflows/issueCreationHelpers.d.ts +54 -0
  108. package/dist/workflows/issueCreationHelpers.d.ts.map +1 -0
  109. package/dist/workflows/issueCreationHelpers.js +272 -0
  110. package/dist/workflows/issueCreationHelpers.js.map +1 -0
  111. package/dist/workflows/logTimeWorkflow.d.ts +6 -1
  112. package/dist/workflows/logTimeWorkflow.d.ts.map +1 -1
  113. package/dist/workflows/logTimeWorkflow.js +139 -20
  114. package/dist/workflows/logTimeWorkflow.js.map +1 -1
  115. package/dist/workflows/sheetToCsvWorkflow.d.ts +15 -0
  116. package/dist/workflows/sheetToCsvWorkflow.d.ts.map +1 -0
  117. package/dist/workflows/sheetToCsvWorkflow.js +65 -0
  118. package/dist/workflows/sheetToCsvWorkflow.js.map +1 -0
  119. package/package.json +2 -2
@@ -0,0 +1,93 @@
1
+ import type { BatchParseResult } from "./batchCreationTypes.js";
2
+ import { type BatchSheetColumnMap } from "./sheetColumnMap.js";
3
+ import type { RawBatchSheet } from "./extractRawBatchSheet.js";
4
+ /** Column role keys the agent maps from sheet headers (by name or 0-based index). */
5
+ export type BatchColumnRole = "userStory" | "subtask" | "description" | "hours" | "targetVersion" | "assignedTo" | "comments" | "redmineId" | "ticket" | "system" | "status" | "priority" | "sheetType";
6
+ export type BatchColumnMappingInput = {
7
+ /** 0-based index into raw rows for the header line */
8
+ headerRowIndex: number;
9
+ /** Header label or 0-based column index per role */
10
+ columns: Partial<Record<BatchColumnRole, string | number>>;
11
+ };
12
+ export type BatchColumnFieldSchemaEntry = {
13
+ role: BatchColumnRole;
14
+ required: boolean;
15
+ redmineUse: string;
16
+ /**
17
+ * When set, this mapped role feeds the Steps to Reproduce custom field (Bug/Task)
18
+ * at this priority. Not a separate sheet column — agent maps these roles only.
19
+ */
20
+ stepsToReproducePriority?: number;
21
+ };
22
+ /**
23
+ * Steps to Reproduce is never its own sheet column. Workflow derives it from mapped roles.
24
+ * Returned on map_columns / confirm_mapping so the agent does not invent a column.
25
+ */
26
+ export declare const STEPS_TO_REPRODUCE_RULE: {
27
+ readonly notASheetColumn: true;
28
+ readonly doNotMapSeparateColumn: true;
29
+ readonly appliesToTrackers: readonly ["Bug", "Task"];
30
+ readonly valuePriority: readonly [{
31
+ readonly priority: 1;
32
+ readonly source: "comments";
33
+ readonly role: BatchColumnRole;
34
+ readonly label: "comments role (e.g. Comments / Question, RT Comment)";
35
+ }, {
36
+ readonly priority: 2;
37
+ readonly source: "description";
38
+ readonly role: BatchColumnRole;
39
+ readonly label: "description role (Description column when present)";
40
+ }, {
41
+ readonly priority: 3;
42
+ readonly source: "issueSubject";
43
+ readonly roles: BatchColumnRole[];
44
+ readonly label: "issue subject — first line of subtask cell, else userStory cell";
45
+ }, {
46
+ readonly priority: 4;
47
+ readonly source: "fallback";
48
+ readonly label: "\"...\"";
49
+ }];
50
+ readonly summary: "Map comments and description roles when headers exist. Bug/Task Steps to Reproduce is filled automatically from those mapped values, then issue subject — never map a dedicated Steps to Reproduce column.";
51
+ };
52
+ export declare const BATCH_COLUMN_FIELD_SCHEMA: BatchColumnFieldSchemaEntry[];
53
+ export type ColumnMappingProblem = {
54
+ role: BatchColumnRole;
55
+ issue: string;
56
+ spec?: string | number;
57
+ };
58
+ export type ColumnMappingValidation = {
59
+ valid: boolean;
60
+ problems: ColumnMappingProblem[];
61
+ detectedHeaders: string[];
62
+ headerRowIndex: number;
63
+ };
64
+ export type SuggestedColumnMapping = {
65
+ headerRowIndex: number;
66
+ columns: Partial<Record<BatchColumnRole, string>>;
67
+ suggestedColumnIndices: Partial<Record<BatchColumnRole, number>>;
68
+ unmappedOptionalRoles: BatchColumnRole[];
69
+ ambiguousRoles: BatchColumnRole[];
70
+ };
71
+ /**
72
+ * Derive column roles from detected headers (MCP — agent uses this, no repo file search).
73
+ * Recognizes User Stories + Tasks layout as well as Task + Sub-Tasks.
74
+ */
75
+ export declare function suggestColumnMappingFromHeaders(headers: string[], headerRowIndex: number): SuggestedColumnMapping;
76
+ /** Resolved Steps to Reproduce sources for a concrete columnMapping (MCP + mapping preview). */
77
+ export declare function buildStepsToReproduceMappingSection(mapping: BatchColumnMappingInput, headers: string[]): string;
78
+ /** Validate agent columnMapping before building the issue tree. */
79
+ export declare function validateColumnMapping(raw: RawBatchSheet, mapping: BatchColumnMappingInput): ColumnMappingValidation;
80
+ /** AskQuestion prompts for map_columns / fix_column_mapping steps. */
81
+ export declare function buildColumnMappingQuestions(validation: ColumnMappingValidation, options?: {
82
+ includeOptional?: boolean;
83
+ }): Array<{
84
+ id: string;
85
+ field: string;
86
+ question: string;
87
+ options: string[];
88
+ }>;
89
+ /** Human-readable table of agent columnMapping for confirm_mapping step. */
90
+ export declare function buildMappingPreview(mapping: BatchColumnMappingInput, headers: string[]): string;
91
+ export declare function columnMappingToSheetMap(headers: string[], mapping: BatchColumnMappingInput): BatchSheetColumnMap;
92
+ export declare function parseBatchWithColumnMapping(raw: RawBatchSheet, mapping: BatchColumnMappingInput): BatchParseResult;
93
+ //# sourceMappingURL=batchColumnMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchColumnMapping.d.ts","sourceRoot":"","sources":["../../src/spreadsheet/batchColumnMapping.ts"],"names":[],"mappings":"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"}