@components-kit/open-workbook 0.1.6 → 0.1.8
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/assets/backend/dist/runtime-service.js +1 -1
- package/assets/excel-addin/dist/excel-executor.js +1 -1
- package/assets/excel-addin/dist/taskpane.bundle.js +6 -6
- package/assets/excel-addin/manifest.xml +1 -1
- package/assets/instructions/open-workbook-excel/SKILL.md +11 -7
- package/assets/instructions/open-workbook-excel/references/performance.md +9 -0
- package/assets/instructions/open-workbook-excel/references/tool-selection.md +17 -7
- package/assets/mcp-server/dist/index.js +1693 -2
- package/assets/mcp-server/dist/index.js.map +1 -1
- package/dist/index.js +36 -10
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides"
|
|
6
6
|
xsi:type="TaskPaneApp">
|
|
7
7
|
<Id>6f2d2ac1-69b0-4eb6-a256-0a1fcb000001</Id>
|
|
8
|
-
<Version>0.1.
|
|
8
|
+
<Version>0.1.8.0</Version>
|
|
9
9
|
<ProviderName>ComponentsKit</ProviderName>
|
|
10
10
|
<DefaultLocale>en-US</DefaultLocale>
|
|
11
11
|
<DisplayName DefaultValue="OpenWorkbook" />
|
|
@@ -21,6 +21,10 @@ If the add-in is disconnected, ask the user to start their agent UI so it launch
|
|
|
21
21
|
|
|
22
22
|
## Tool Selection
|
|
23
23
|
|
|
24
|
+
- When the target is unknown, use lookup first: `excel.lookup.search_workbook`, `excel.lookup.find_headers`, `excel.lookup.find_tables_by_columns`, `excel.lookup.find_entity`, or `excel.lookup.resolve_range`, then inspect one candidate with `excel.lookup.inspect_match`.
|
|
25
|
+
- Start with compact context tools for known large scopes: `excel.workbook.get_summary`, `excel.workbook.get_used_range_summary`, `excel.sheet.get_summary`, `excel.table.get_schema`, and `excel.range.get_summary`.
|
|
26
|
+
- Prefer `excel.range.read_compact` and `excel.table.read_compact` for exploratory data reads. Page or project only the rows, columns, and facets needed for the current task.
|
|
27
|
+
- Use `excel.validate.compact` for validation proof when counts/examples are enough. Fetch `excel://compact/{resource_id}` details only if the user or task needs the full report.
|
|
24
28
|
- Use `excel.range.read_*` for scoped cell data and metadata.
|
|
25
29
|
- Use `excel.table.*` for structured table rows, filters, sorts, totals, and table resizing.
|
|
26
30
|
- Use `excel.template.*`, `excel.style.*`, and `excel.formula.*` when preserving or repairing templates matters.
|
|
@@ -45,19 +49,19 @@ For detailed routing, read `references/tool-selection.md`.
|
|
|
45
49
|
- Never write cell-by-cell loops. Batch values, formulas, number formats, and styles as 2D matrices over contiguous ranges.
|
|
46
50
|
- Never pad a broad range write with `null` or blanks when only a smaller range is intended. Write the smallest changed rectangle or use explicit clear tools.
|
|
47
51
|
- Read only the workbook properties needed for the task. Avoid broad workbook scans unless the task is audit, validation, search, or repair.
|
|
52
|
+
- Do not use full range/table reads when compact summaries, schemas, samples, or projected pages are enough. Full reads are for explicit user requests, audits, exports, or exact-data tasks.
|
|
48
53
|
- Treat `CAPABILITY_UNAVAILABLE`, partial capability warnings, and Office.js host limits as real results. Explain them and choose a supported path.
|
|
49
54
|
- Preserve existing template conventions over generic formatting rules.
|
|
50
55
|
- After mutation, validate the affected area and surface backups, transaction IDs, warnings, diffs, and rollback options.
|
|
56
|
+
- Treat `compactProof` on mutation results as the default reportable proof. Do not read back whole changed sheets unless exact cell data is required.
|
|
51
57
|
|
|
52
58
|
## Critical Recipes
|
|
53
59
|
|
|
54
|
-
- Sheet
|
|
55
|
-
- Large table
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
- Pivot/chart summary: prefer `excel.workflow.create_pivot_chart_summary`; if using separate tools, check capability, create the PivotTable, refresh it, create/update the chart, refresh/update the chart source, and validate the PivotTable source before reporting success.
|
|
60
|
-
- Multi-agent work: start with `excel.collab.get_status`, create or inspect the task, acquire the narrowest lock, follow conflict guidance, perform or plan the scoped operation, then release locks.
|
|
60
|
+
- Sheet/formula, template-report, pivot/chart, risky-edit, and formula-repair tasks: prefer the matching `excel.workflow.*` tool, then validate compactly.
|
|
61
|
+
- Large table work: inspect schema first, read compact pages only when row data is needed, mutate with table-native tools, then validate tables/filters.
|
|
62
|
+
- Unknown target work: resolve the sheet/table/column/range with lookup tools before reading data.
|
|
63
|
+
- Snapshot/diff/rollback proof: prefer compact diff or risky-edit workflow results; fetch full compact resources only for detailed review.
|
|
64
|
+
- Multi-agent work: use collaboration/task/lock tools before mutation.
|
|
61
65
|
|
|
62
66
|
## Workflow References
|
|
63
67
|
|
|
@@ -9,6 +9,8 @@ Fast Excel automation is part of correctness. Slow workflows push agents toward
|
|
|
9
9
|
- Use table APIs for table-shaped work.
|
|
10
10
|
- Group writes by workbook, sheet, and contiguous range.
|
|
11
11
|
- Read only requested properties.
|
|
12
|
+
- Start unknown targets with lookup tools, then inspect one candidate.
|
|
13
|
+
- Start known large scopes with compact summaries and schemas.
|
|
12
14
|
- Use `excel.runtime.get_capabilities` before trying expensive or host-limited features.
|
|
13
15
|
|
|
14
16
|
## Reads
|
|
@@ -18,9 +20,14 @@ Fast Excel automation is part of correctness. Slow workflows push agents toward
|
|
|
18
20
|
- For formula review, read formulas or formula patterns.
|
|
19
21
|
- For formatting review, read number formats or styles only for the relevant range.
|
|
20
22
|
- For table analysis, read the table instead of a sheet-sized range.
|
|
23
|
+
- For unknown sheet/table/header/entity targets, use `excel.lookup.*` before reading cells.
|
|
24
|
+
- For exploratory reads, use `excel.range.read_compact` or `excel.table.read_compact` before full reads.
|
|
21
25
|
|
|
22
26
|
Avoid workbook-wide reads unless the task is search, validation, audit, or discovery.
|
|
23
27
|
|
|
28
|
+
Compact reads return payload/token telemetry, truncation status, and continuation metadata. Page only when more rows or columns are needed.
|
|
29
|
+
When a compact response includes `resourceUri`, fetch it only if the full detail is required.
|
|
30
|
+
|
|
24
31
|
## Writes
|
|
25
32
|
|
|
26
33
|
- Use one batch or plan for related edits.
|
|
@@ -43,3 +50,5 @@ Automatic timeout retry is limited to style-only batches because repeating the s
|
|
|
43
50
|
## Telemetry
|
|
44
51
|
|
|
45
52
|
Read tool results for duration, sync count, payload bytes, cells read/written, range count, chunk count, engine, and warnings. Use that telemetry to explain unusually slow or partial work.
|
|
53
|
+
For compact reads, also inspect `estimatedTokens`, `truncated`, and `nextPage` before requesting more workbook data.
|
|
54
|
+
For mutation results, prefer the returned `compactProof` summary over reading changed ranges back into the model.
|
|
@@ -9,22 +9,29 @@ Choose the narrowest Open Workbook MCP interface that preserves workbook intent.
|
|
|
9
9
|
- Active workbook and selection context: `excel.runtime.get_active_context`
|
|
10
10
|
- Host/tool capability matrix: `excel.runtime.get_capabilities`
|
|
11
11
|
- Workbook structure: `excel.workbook.get_workbook_map`
|
|
12
|
+
- Compact workbook structure: `excel.workbook.get_summary`, `excel.workbook.get_used_range_summary`
|
|
13
|
+
- Workbook lookup: `excel.lookup.search_workbook`, `excel.lookup.find_headers`, `excel.lookup.find_tables_by_columns`, `excel.lookup.find_entity`, `excel.lookup.resolve_range`, `excel.lookup.inspect_match`
|
|
12
14
|
- Open workbooks: `excel.workbook.list_open_workbooks`
|
|
13
|
-
- Sheets: `excel.sheet.list`, `excel.sheet.get_info`, `excel.sheet.get_used_range`
|
|
15
|
+
- Sheets: `excel.sheet.list`, `excel.sheet.get_info`, `excel.sheet.get_summary`, `excel.sheet.get_used_range`
|
|
14
16
|
|
|
15
17
|
Prefer `excel.workflow.prepare_session` as the first call. If capabilities are unknown because the add-in is disconnected, stop and ask for runtime setup instead of guessing.
|
|
16
18
|
|
|
17
19
|
## Reading Data
|
|
18
20
|
|
|
21
|
+
- Compact range/table discovery: `excel.range.get_summary`, `excel.table.get_schema`
|
|
22
|
+
- Unknown target lookup: `excel.lookup.search_workbook`, `excel.lookup.find_headers`, `excel.lookup.find_tables_by_columns`, `excel.lookup.find_entity`, `excel.lookup.resolve_range`
|
|
23
|
+
- Focused candidate preview: `excel.lookup.inspect_match`
|
|
24
|
+
- Compact bounded reads: `excel.range.read_compact`, `excel.table.read_compact`
|
|
25
|
+
- Stored compact details: `excel.compact.get_resource`, `excel.compact.list_resources`
|
|
19
26
|
- Values only: `excel.range.read_values`
|
|
20
27
|
- Formulas only: `excel.range.read_formulas`
|
|
21
28
|
- Display text for user-visible output: `excel.range.read_display_text`
|
|
22
29
|
- Formatting: `excel.range.read_number_formats`, `excel.range.read_styles`
|
|
23
30
|
- Full cell payload: `excel.range.read_full`
|
|
24
31
|
- Search and diagnostics: `excel.range.search`, `excel.range.find_blank_cells`, `excel.range.find_errors`
|
|
25
|
-
- Table-shaped data: `excel.table.read`; pass `columns`, `rowOffset`, `rowLimit`, and include flags for large tables
|
|
32
|
+
- Table-shaped full data: `excel.table.read`; pass `columns`, `rowOffset`, `rowLimit`, and include flags for large tables
|
|
26
33
|
|
|
27
|
-
Use explicit sheet/address ranges whenever possible. Use used-range or workbook-wide scans only for audits, validation, search, or discovery. For simple reads, use the facet-specific range tools instead of `excel.range.read_full`.
|
|
34
|
+
Use lookup tools before reading when the target sheet, table, header, entity, or range is unknown. Use compact summaries or schemas before cell bodies once the target scope is known. Use explicit sheet/address ranges whenever possible. Use used-range or workbook-wide scans only for audits, validation, search, or discovery. For simple reads, use `excel.range.read_compact` or the facet-specific range tools instead of `excel.range.read_full`.
|
|
28
35
|
|
|
29
36
|
## Writing Data
|
|
30
37
|
|
|
@@ -55,7 +62,7 @@ When a noninteractive agent run cannot apply a mutation, create an `excel.plan.c
|
|
|
55
62
|
|
|
56
63
|
## Tables, Filters, And Sorts
|
|
57
64
|
|
|
58
|
-
- Inspect tables: `excel.table.list`, `excel.table.get_info`, `excel.table.
|
|
65
|
+
- Inspect tables: `excel.table.list`, `excel.table.get_info`, `excel.table.get_schema`, `excel.table.read_compact`
|
|
59
66
|
- Append or update rows: `excel.table.append_rows`, `excel.table.update_rows`
|
|
60
67
|
- Reorder columns: `excel.table.reorder_columns`
|
|
61
68
|
- Resize or structure changes: `excel.table.resize`, `excel.table.copy_structure`
|
|
@@ -65,7 +72,7 @@ When a noninteractive agent run cannot apply a mutation, create an `excel.plan.c
|
|
|
65
72
|
Use table tools instead of range tools when the target is an Excel table. This preserves headers, totals rows, filters, structured references, and table styles.
|
|
66
73
|
Before table reorder, filter, sort, append, or update operations, call `excel.table.get_info` or `excel.workbook.get_workbook_map`. For table filters, use `excel.table.apply_filters` rather than generic filter tools. After table structure or row mutations, call `excel.validate.tables`; after filter/sort changes, call `excel.validate.filters`.
|
|
67
74
|
Do not clear and recreate a table to reorder columns; use `excel.table.reorder_columns`, or stop for confirmation before any destructive rebuild.
|
|
68
|
-
For large tables, avoid full `excel.table.read` unless the user asks for all rows.
|
|
75
|
+
For large tables, avoid full `excel.table.read` unless the user asks for all rows. Use `excel.table.get_schema` first, then `excel.table.read_compact` with `rowLimit`, `rowOffset`, and `columns` for targeted discovery before mutating with table-native tools.
|
|
69
76
|
|
|
70
77
|
## Templates, Styles, And Formulas
|
|
71
78
|
|
|
@@ -94,14 +101,17 @@ Use `excel.workflow.create_pivot_chart_summary` for standard summary requests th
|
|
|
94
101
|
## Validation And Recovery
|
|
95
102
|
|
|
96
103
|
- Workbook/sheet health: `excel.validate.workbook`, `excel.validate.sheet`
|
|
104
|
+
- Compact validation proof: `excel.validate.compact`
|
|
97
105
|
- Formula errors: `excel.validate.no_formula_errors`, `excel.formula.find_errors`
|
|
98
106
|
- Broken references: `excel.validate.no_broken_references`
|
|
99
107
|
- Template/style/table/filter checks: `excel.validate.template_consistency`, `excel.validate.styles`, `excel.validate.tables`, `excel.validate.filters`
|
|
100
108
|
- Unintended changes: `excel.validate.no_unintended_changes`
|
|
109
|
+
|
|
110
|
+
Prefer `excel.validate.compact` when issue counts, severity counts, and a few examples are enough. It returns a compact resource URI for the full report.
|
|
101
111
|
- Combined risky edit workflow: `excel.workflow.preview_risky_edit`
|
|
102
|
-
- Snapshots and diffs: `excel.snapshot.create`, `excel.snapshot.
|
|
112
|
+
- Snapshots and diffs: `excel.snapshot.create`, `excel.snapshot.get_compact`, `excel.snapshot.compare_compact`, `excel.diff.summarize`, `excel.diff.get_compact`
|
|
103
113
|
- Rollback: `excel.plan.rollback`, `excel.transaction.preview_rollback`, `excel.transaction.rollback`, `excel.transaction.preview_rollback_chain`, `excel.transaction.rollback_chain`
|
|
104
114
|
- File backups: `excel.backup.create_file`, `excel.backup.verify`, `excel.backup.restore_file`
|
|
105
115
|
|
|
106
116
|
Always present validation issues with severity and target, not vague success/failure language.
|
|
107
|
-
Diff tools require two snapshots. For risky scoped edits, use `excel.workflow.preview_risky_edit` after discovery when available, with a non-empty minimal operation list. If using separate tools, create a before snapshot, make the scoped edit, create an after snapshot, call `excel.diff.summarize` or `excel.snapshot.
|
|
117
|
+
Diff tools require two snapshots. For risky scoped edits, use `excel.workflow.preview_risky_edit` after discovery when available, with a non-empty minimal operation list. If using separate tools, create a before snapshot, make the scoped edit, create an after snapshot, call `excel.diff.summarize`, `excel.diff.get_compact`, or `excel.snapshot.compare_compact`, then preview rollback with `excel.transaction.preview_rollback` or `excel.transaction.preview_rollback_chain`.
|