@rockhopper-co/mcp-server 2.1.86 → 2.1.88-staging.98cbafb
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.
- package/README.md +40 -17
- package/dist/change-row-vocabulary.d.ts +16 -3
- package/dist/change-row-vocabulary.d.ts.map +1 -1
- package/dist/change-row-vocabulary.js +74 -11
- package/dist/change-row-vocabulary.js.map +1 -1
- package/dist/prompts/change-sections.d.ts.map +1 -1
- package/dist/prompts/change-sections.js +5 -6
- package/dist/prompts/change-sections.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,9 +54,19 @@ npx @rockhopper-co/mcp-server
|
|
|
54
54
|
|
|
55
55
|
### 2. Configure your AI tool
|
|
56
56
|
|
|
57
|
-
#### Claude
|
|
57
|
+
#### Claude Code
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Run once:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
claude mcp add --env ROCKHOPPER_API_URL=https://api.rockhopper.co --transport stdio rockhopper -- npx -y @rockhopper-co/mcp-server
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Or add the JSON block from the Claude Desktop section below to `.mcp.json` at your project root. Claude Code keeps servers added with `claude mcp add` in `~/.claude.json` ([Claude Code MCP docs](https://code.claude.com/docs/en/mcp)).
|
|
66
|
+
|
|
67
|
+
#### Claude Desktop
|
|
68
|
+
|
|
69
|
+
Add to `claude_desktop_config.json` (Settings → Developer → Edit Config):
|
|
60
70
|
|
|
61
71
|
```json
|
|
62
72
|
{
|
|
@@ -138,14 +148,26 @@ npm run generate:postman
|
|
|
138
148
|
|
|
139
149
|
| Tool | Description |
|
|
140
150
|
|------|-------------|
|
|
141
|
-
| `list_files` | List
|
|
151
|
+
| `list_files` | List the files tracked in Rockhopper — Excel workbooks and Google Sheets — with optional search filter |
|
|
142
152
|
| `get_file_versions` | Get version history for a specific file |
|
|
143
153
|
| `get_file_comments` | Get comments and threaded discussions on a file |
|
|
144
154
|
| `get_reviews` | Get review requests for a version or file |
|
|
145
155
|
| `get_cell_history` | Get change history for a specific cell across versions |
|
|
146
156
|
| `search_files` | Search files **already enrolled** in Rockhopper, by name |
|
|
147
157
|
| `search_drive_files` | Find a workbook in the user's own OneDrive / SharePoint, including files Rockhopper has never seen; returns candidates to confirm with the user before `enroll_file` |
|
|
148
|
-
| `get_unattributed_changes` | Get
|
|
158
|
+
| `get_unattributed_changes` | Get the changes made since the last saved version (cells, paragraphs or shapes) |
|
|
159
|
+
| `list_unenrolled_files` | List files Rockhopper has seen for the user that are not enrolled yet |
|
|
160
|
+
|
|
161
|
+
## Account Link Tools
|
|
162
|
+
|
|
163
|
+
| Tool | Description |
|
|
164
|
+
|------|-------------|
|
|
165
|
+
| `connect_microsoft` | Start connecting the user's Microsoft account; returns a sign-in link the user opens |
|
|
166
|
+
| `microsoft_link_status` | Check whether a Microsoft account is connected and which one |
|
|
167
|
+
| `disconnect_microsoft` | Remove the stored Microsoft connection (requires an interactive login, not a PAT) |
|
|
168
|
+
| `connect_google` | Start connecting the user's Google account; returns a sign-in link the user opens |
|
|
169
|
+
| `google_link_status` | Check whether a Google account is connected and which one |
|
|
170
|
+
| `disconnect_google` | Remove the stored Google connection (requires an interactive login, not a PAT) |
|
|
149
171
|
|
|
150
172
|
## Available Resources
|
|
151
173
|
|
|
@@ -170,19 +192,20 @@ npm run generate:postman
|
|
|
170
192
|
| `unresolved-comments` | List all unresolved comments on a file for follow-up |
|
|
171
193
|
| `file-overview` | Comprehensive overview: versions, comments, reviews, and changes |
|
|
172
194
|
|
|
173
|
-
## Write Tools (requires
|
|
174
|
-
|
|
175
|
-
| Tool | Description |
|
|
176
|
-
|
|
177
|
-
| `
|
|
178
|
-
| `
|
|
179
|
-
| `
|
|
180
|
-
| `
|
|
181
|
-
| `
|
|
182
|
-
| `
|
|
183
|
-
| `
|
|
184
|
-
| `
|
|
185
|
-
| `
|
|
195
|
+
## Write Tools (each requires its write capability)
|
|
196
|
+
|
|
197
|
+
| Tool | Capability | Description |
|
|
198
|
+
|------|------------|-------------|
|
|
199
|
+
| `add_comment` | `comments:write` | Add a comment to an enrolled file (optionally at a cell, paragraph or shape) |
|
|
200
|
+
| `reply_to_comment` | `comments:write` | Reply to an existing comment thread |
|
|
201
|
+
| `resolve_comment` | `comments:write` | Mark a comment as resolved (author only) |
|
|
202
|
+
| `create_review_request` | `reviews:write` | Request a review on a file version |
|
|
203
|
+
| `approve_review` | `reviews:write` | Approve a review request (assigned reviewer only) |
|
|
204
|
+
| `cancel_review` | `reviews:write` | Cancel a pending review request (requester only) |
|
|
205
|
+
| `create_version` | `versions:write` | Commit uncommitted changes as a new semver version (major/minor/patch) |
|
|
206
|
+
| `discard_changes` | `versions:write` | Discard all uncommitted changes, revert to latest committed version |
|
|
207
|
+
| `rename_file` | `files:write` | Rename an enrolled file (its display name across Rockhopper) |
|
|
208
|
+
| `enroll_file` | `files:write` | Add a file to Rockhopper from its SharePoint, OneDrive, Google Sheets or Google Drive link |
|
|
186
209
|
|
|
187
210
|
## Identifiers
|
|
188
211
|
|
|
@@ -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`
|
|
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<
|
|
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
|
|
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`
|
|
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
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
:
|
|
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}${
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAE9B;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,QAAQ;IACrB,uBAAuB,EAAE,MAAM;IAC/B,YAAY,EAAE,YAAY;IAC1B,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,OAAO;IACtB,YAAY,EAAE,QAAQ;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAqC;IAC3E,uBAAuB,EAAE,iBAAiB;CAC3C,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA6C;IACzE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IAC5B,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IAC5B,CAAC,eAAe,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,gGAAgG;AAChG,MAAM,CAAC,MAAM,2BAA2B,GAAqC;IAC3E,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,sBAAsB;IACtC,gBAAgB,EAAE,kBAAkB;CACrC,CAAC;AAEF
|
|
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":"
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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,
|
|
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