@rockhopper-co/mcp-server 2.1.87-staging.0e88293 → 2.1.89-staging.67af72c

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.
@@ -45,11 +45,21 @@ export declare const DOCUMENT_CHANGE_KIND_CAUSES: Readonly<Record<string, string
45
45
  export declare const DESIGN_PART_WORDS: ReadonlyArray<readonly [string, string]>;
46
46
  /** A cell's `editType` → its row word: the `spreadsheet` column of `changeLogVocabulary.ts`. */
47
47
  export declare const SPREADSHEET_EDIT_TYPE_WORDS: Readonly<Record<string, string>>;
48
+ /**
49
+ * Every spreadsheet `changeType` this build reads: backend
50
+ * `unattributed-change.entity.ts!UnattributedChangeType`. ENG-6917 — the
51
+ * tables and the switch below are keyed on it, so a type added here without a
52
+ * word and a row shape fails the build.
53
+ */
54
+ export declare const SPREADSHEET_CHANGE_TYPES: readonly ["cell", "sheet_add", "sheet_delete", "sheet_rename", "sheet_reorder", "row_insert", "row_delete", "column_insert", "column_delete"];
55
+ export type SpreadsheetChangeType = (typeof SPREADSHEET_CHANGE_TYPES)[number];
56
+ type StructuralChangeType = Exclude<SpreadsheetChangeType, 'cell'>;
48
57
  /**
49
58
  * A structural `changeType` → its row word, one row per change:
50
- * `changeLabel.ts!sheetChangeLabel` and `rowColumnChangeLabel` at a count of 1.
59
+ * `changeLabel.ts!sheetChangeLabel` (a reorder reads "moved", ENG-6688) and
60
+ * `rowColumnChangeLabel` at a count of 1.
51
61
  */
52
- export declare const SPREADSHEET_STRUCTURAL_WORDS: Readonly<Record<string, string>>;
62
+ export declare const SPREADSHEET_STRUCTURAL_WORDS: Readonly<Record<StructuralChangeType, string>>;
53
63
  /** A document kind's row word, or undefined for a kind this build cannot read. */
54
64
  export declare const documentChangeWord: (changeKind: string) => string | undefined;
55
65
  /**
@@ -86,7 +96,10 @@ export interface SpreadsheetChangeRowInput {
86
96
  }
87
97
  /**
88
98
  * Spreadsheet change rows, rendered. A structural row names what happened to
89
- * the sheet, row or column and has no value sides, as in the change log.
99
+ * the sheet, row or column and has no value sides, as in the change log; a
100
+ * moved sheet states its two tab positions. A type this build cannot read
101
+ * prints no word and keeps its sides.
90
102
  */
91
103
  export declare function formatSpreadsheetChangeRows(changes: ReadonlyArray<SpreadsheetChangeRowInput>): string;
104
+ export {};
92
105
  //# sourceMappingURL=change-row-vocabulary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-row-vocabulary.d.ts","sourceRoot":"","sources":["../src/change-row-vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,WAAM,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAItE,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQzE,CAAC;AASF,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,KAAG,MAAM,GAAG,SACpB,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,GAAG,IAAI,CAWf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,MAAM,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAS/C;AAED,0EAA0E;AAC1E,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAChD,MAAM,CAmBR"}
1
+ {"version":3,"file":"change-row-vocabulary.d.ts","sourceRoot":"","sources":["../src/change-row-vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,WAAM,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAItE,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,+IAU3B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,KAAK,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAKnE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CACjD,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAUrC,CAAC;AASF,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,KAAG,MAAM,GAAG,SACpB,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,GAAG,IAAI,CAWf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,MAAM,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAS/C;AAED,0EAA0E;AAC1E,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAkDD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAChD,MAAM,CAgBR"}
@@ -74,14 +74,34 @@ export const SPREADSHEET_EDIT_TYPE_WORDS = {
74
74
  formula_recalc: 'formula, same result',
75
75
  value_and_format: 'value and format',
76
76
  };
77
+ /**
78
+ * Every spreadsheet `changeType` this build reads: backend
79
+ * `unattributed-change.entity.ts!UnattributedChangeType`. ENG-6917 — the
80
+ * tables and the switch below are keyed on it, so a type added here without a
81
+ * word and a row shape fails the build.
82
+ */
83
+ export const SPREADSHEET_CHANGE_TYPES = [
84
+ 'cell',
85
+ 'sheet_add',
86
+ 'sheet_delete',
87
+ 'sheet_rename',
88
+ 'sheet_reorder',
89
+ 'row_insert',
90
+ 'row_delete',
91
+ 'column_insert',
92
+ 'column_delete',
93
+ ];
94
+ const isSpreadsheetChangeType = (t) => SPREADSHEET_CHANGE_TYPES.includes(t);
77
95
  /**
78
96
  * A structural `changeType` → its row word, one row per change:
79
- * `changeLabel.ts!sheetChangeLabel` and `rowColumnChangeLabel` at a count of 1.
97
+ * `changeLabel.ts!sheetChangeLabel` (a reorder reads "moved", ENG-6688) and
98
+ * `rowColumnChangeLabel` at a count of 1.
80
99
  */
81
100
  export const SPREADSHEET_STRUCTURAL_WORDS = {
82
101
  sheet_add: 'sheet added',
83
102
  sheet_delete: 'sheet removed',
84
103
  sheet_rename: 'sheet renamed',
104
+ sheet_reorder: 'sheet moved',
85
105
  row_insert: 'row inserted',
86
106
  row_delete: 'row deleted',
87
107
  column_insert: 'column inserted',
@@ -130,26 +150,69 @@ export function cellSide(value) {
130
150
  : [value];
131
151
  return shown.every(rendersToNothing) ? EMPTY_SIDE : JSON.stringify(value);
132
152
  }
153
+ /**
154
+ * A moved sheet's tab positions, counted from 1 as the tabs read: the served
155
+ * value columns carry the 0-based indices (backend ENG-6913). Frontend
156
+ * `UserStructuralChange.tsx` — no positions when either side lacks one.
157
+ */
158
+ function sheetPositions(oldValue, newValue) {
159
+ const index = (side) => {
160
+ const v = side?.v;
161
+ return typeof v === 'number' && Number.isInteger(v) ? v : null;
162
+ };
163
+ const from = index(oldValue);
164
+ const to = index(newValue);
165
+ return from === null || to === null
166
+ ? ''
167
+ : `: position ${from + 1} → ${to + 1}`;
168
+ }
169
+ /** The word and the text after it on one known spreadsheet row. Total. */
170
+ function knownRowParts(type, c) {
171
+ switch (type) {
172
+ case 'cell':
173
+ return {
174
+ word: c.editType ? own(SPREADSHEET_EDIT_TYPE_WORDS, c.editType) : undefined,
175
+ tail: `: ${cellSide(c.oldValue)} → ${cellSide(c.newValue)}`,
176
+ };
177
+ case 'sheet_reorder':
178
+ return {
179
+ word: SPREADSHEET_STRUCTURAL_WORDS[type],
180
+ tail: sheetPositions(c.oldValue, c.newValue),
181
+ };
182
+ case 'sheet_add':
183
+ case 'sheet_delete':
184
+ case 'sheet_rename':
185
+ case 'row_insert':
186
+ case 'row_delete':
187
+ case 'column_insert':
188
+ case 'column_delete':
189
+ return { word: SPREADSHEET_STRUCTURAL_WORDS[type], tail: '' };
190
+ default: {
191
+ const unhandled = type;
192
+ return unhandled;
193
+ }
194
+ }
195
+ }
133
196
  /**
134
197
  * Spreadsheet change rows, rendered. A structural row names what happened to
135
- * the sheet, row or column and has no value sides, as in the change log.
198
+ * the sheet, row or column and has no value sides, as in the change log; a
199
+ * moved sheet states its two tab positions. A type this build cannot read
200
+ * prints no word and keeps its sides.
136
201
  */
137
202
  export function formatSpreadsheetChangeRows(changes) {
138
203
  return changes
139
204
  .map((c) => {
140
- const structural = own(SPREADSHEET_STRUCTURAL_WORDS, c.changeType);
141
- const word = structural ??
142
- (c.changeType === 'cell' && c.editType
143
- ? own(SPREADSHEET_EDIT_TYPE_WORDS, c.editType)
144
- : undefined);
205
+ const { word, tail } = isSpreadsheetChangeType(c.changeType)
206
+ ? knownRowParts(c.changeType, c)
207
+ : {
208
+ word: undefined,
209
+ tail: `: ${cellSide(c.oldValue)} → ${cellSide(c.newValue)}`,
210
+ };
145
211
  const label = word ? ` (${word})` : '';
146
- const sides = structural
147
- ? ''
148
- : `: ${cellSide(c.oldValue)} → ${cellSide(c.newValue)}`;
149
212
  // ENG-2603 — see get-versions: name first, platform id as fallback.
150
213
  const author = c.byUserName ?? c.byUserPlatformId;
151
214
  const by = author ? ` — by ${author}` : '';
152
- return `- **${c.sheetName}!${c.cellAddress}**${label}${sides}${by} — ${c.createdAt}`;
215
+ return `- **${c.sheetName}!${c.cellAddress}**${label}${tail}${by} — ${c.createdAt}`;
153
216
  })
154
217
  .join('\n');
155
218
  }
@@ -1 +1 @@
1
- {"version":3,"file":"change-row-vocabulary.js","sourceRoot":"","sources":["../src/change-row-vocabulary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-row-vocabulary.js","sourceRoot":"","sources":["../src/change-row-vocabulary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-sections.d.ts","sourceRoot":"","sources":["../../src/prompts/change-sections.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AAEH,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAwBlE;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAc7D"}
1
+ {"version":3,"file":"change-sections.d.ts","sourceRoot":"","sources":["../../src/prompts/change-sections.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AAEH,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAmBlE;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAc7D"}
@@ -1,3 +1,4 @@
1
+ import { formatSpreadsheetChangeRows } from '../change-row-vocabulary.js';
1
2
  import { formatDocumentChanges } from '../document-changes.js';
2
3
  import { fileChangesUnavailableText, } from '../file-changes.js';
3
4
  /**
@@ -18,12 +19,10 @@ export function changeSummarySection(read) {
18
19
  // `totalCount` is a file total; the preview uses up to 20 rows of it.
19
20
  const rows = read.kind === 'spreadsheet' ? read.page.changes : read.changes;
20
21
  const total = read.kind === 'spreadsheet' ? read.page.totalCount : rows.length;
21
- const body = rows.length
22
- ? rows
23
- .slice(0, 20)
24
- .map((c) => `- ${c.sheetName}!${c.cellAddress}: ${JSON.stringify(c.oldValue)} → ${JSON.stringify(c.newValue)}`)
25
- .join('\n')
26
- : 'None';
22
+ // ENG-6917 — the tool's shared row vocabulary, never a prompt-local copy,
23
+ // so a structural row (a sheet moved, a row inserted) is NAMED rather
24
+ // than printed as a raw cell edit.
25
+ const body = rows.length ? formatSpreadsheetChangeRows(rows.slice(0, 20)) : 'None';
27
26
  return `## Unattributed Changes (${total} total)\n${body}`;
28
27
  }
29
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"change-sections.js","sourceRoot":"","sources":["../../src/prompts/change-sections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,0BAA0B,GAE3B,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AAEH,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,IAAqB;IACxD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,yCAAyC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,KAAK,UAAU;YACb,OAAO,4BAA4B,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5F,KAAK,mBAAmB,CAAC;QACzB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;gBACtB,CAAC,CAAC,IAAI;qBACD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;qBACZ,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CACrG;qBACA,IAAI,CAAC,IAAI,CAAC;gBACf,CAAC,CAAC,MAAM,CAAC;YACX,OAAO,4BAA4B,KAAK,YAAY,IAAI,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,eAAe,CAAC,IAAqB;IACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,yCAAyC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,KAAK,UAAU;YACb,oDAAoD;YACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAC5B,CAAC,CAAC,sCAAsC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;gBACnE,CAAC,CAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9D,KAAK,aAAa;YAChB,OAAO,4BAA4B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,KAAK,mBAAmB;YACtB,OAAO,4BAA4B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"change-sections.js","sourceRoot":"","sources":["../../src/prompts/change-sections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,0BAA0B,GAE3B,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AAEH,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,IAAqB;IACxD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,yCAAyC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,KAAK,UAAU;YACb,OAAO,4BAA4B,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5F,KAAK,mBAAmB,CAAC;QACzB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/E,0EAA0E;YAC1E,sEAAsE;YACtE,mCAAmC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnF,OAAO,4BAA4B,KAAK,YAAY,IAAI,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,eAAe,CAAC,IAAqB;IACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,yCAAyC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,KAAK,UAAU;YACb,oDAAoD;YACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAC5B,CAAC,CAAC,sCAAsC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;gBACnE,CAAC,CAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9D,KAAK,aAAa;YAChB,OAAO,4BAA4B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,KAAK,mBAAmB;YACtB,OAAO,4BAA4B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockhopper-co/mcp-server",
3
- "version": "2.1.87-staging.0e88293",
3
+ "version": "2.1.89-staging.67af72c",
4
4
  "description": "Rockhopper MCP server — expose file metadata, versions, reviews, and comments to AI tools",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -43,24 +43,24 @@
43
43
  "node": ">=20.0.0"
44
44
  },
45
45
  "dependencies": {
46
- "@modelcontextprotocol/server": "^2.2.0",
46
+ "@modelcontextprotocol/server": "^2.3.0",
47
47
  "keytar": "^7.9.0",
48
- "pino": "^10.3.1",
48
+ "pino": "^10.4.0",
49
49
  "pino-roll": "^4.0.0",
50
50
  "zod": "^4.6.2"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@eslint/js": "^10.0.1",
54
- "@modelcontextprotocol/client": "^2.2.0",
55
- "@types/node": "^26.5.1",
56
- "@vitest/coverage-v8": "^5.0.2",
57
- "eslint": "^10.9.1",
58
- "globals": "^17.11.0",
54
+ "@modelcontextprotocol/client": "^2.3.0",
55
+ "@types/node": "^26.6.4",
56
+ "@vitest/coverage-v8": "^5.0.3",
57
+ "eslint": "^10.12.0",
58
+ "globals": "^17.13.0",
59
59
  "js-yaml": "^5.4.1",
60
60
  "tsx": "^4.23.1",
61
61
  "typescript": "^6.0.3",
62
- "typescript-eslint": "^8.70.0",
63
- "vitest": "^5.0.2",
62
+ "typescript-eslint": "^8.71.0",
63
+ "vitest": "^5.0.3",
64
64
  "zod-to-json-schema": "^3.24.6"
65
65
  },
66
66
  "overrides": {