@components-kit/open-workbook-protocol 0.1.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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/capabilities.d.ts +40 -0
  4. package/dist/capabilities.d.ts.map +1 -0
  5. package/dist/capabilities.js +16 -0
  6. package/dist/capabilities.js.map +1 -0
  7. package/dist/collaboration.d.ts +298 -0
  8. package/dist/collaboration.d.ts.map +1 -0
  9. package/dist/collaboration.js +2 -0
  10. package/dist/collaboration.js.map +1 -0
  11. package/dist/errors.d.ts +30 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +32 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/ids.d.ts +38 -0
  16. package/dist/ids.d.ts.map +1 -0
  17. package/dist/ids.js +7 -0
  18. package/dist/ids.js.map +1 -0
  19. package/dist/index.d.ts +11 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +11 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/json-rpc.d.ts +28 -0
  24. package/dist/json-rpc.d.ts.map +1 -0
  25. package/dist/json-rpc.js +4 -0
  26. package/dist/json-rpc.js.map +1 -0
  27. package/dist/operations.d.ts +1126 -0
  28. package/dist/operations.d.ts.map +1 -0
  29. package/dist/operations.js +2 -0
  30. package/dist/operations.js.map +1 -0
  31. package/dist/prompts.d.ts +11 -0
  32. package/dist/prompts.d.ts.map +1 -0
  33. package/dist/prompts.js +22 -0
  34. package/dist/prompts.js.map +1 -0
  35. package/dist/resources.d.ts +10 -0
  36. package/dist/resources.d.ts.map +1 -0
  37. package/dist/resources.js +22 -0
  38. package/dist/resources.js.map +1 -0
  39. package/dist/tools.d.ts +33 -0
  40. package/dist/tools.d.ts.map +1 -0
  41. package/dist/tools.js +687 -0
  42. package/dist/tools.js.map +1 -0
  43. package/dist/workbook.d.ts +80 -0
  44. package/dist/workbook.d.ts.map +1 -0
  45. package/dist/workbook.js +2 -0
  46. package/dist/workbook.js.map +1 -0
  47. package/package.json +51 -0
package/dist/tools.js ADDED
@@ -0,0 +1,687 @@
1
+ const STABLE_TOOLS = new Set([
2
+ "excel.runtime.get_status",
3
+ "excel.runtime.get_capabilities",
4
+ "excel.runtime.get_active_context",
5
+ "excel.workbook.list_open_workbooks",
6
+ "excel.workbook.get_workbook_info",
7
+ "excel.workbook.get_workbook_map",
8
+ "excel.workbook.snapshot",
9
+ "excel.workbook.refresh_snapshot",
10
+ "excel.workbook.get_snapshot",
11
+ "excel.workbook.detect_external_changes",
12
+ "excel.workbook.calculate",
13
+ "excel.workbook.save",
14
+ "excel.workbook.save_as",
15
+ "excel.workbook.create_backup",
16
+ "excel.workbook.restore_backup",
17
+ "excel.workbook.export_copy",
18
+ "excel.backup.create_file",
19
+ "excel.backup.list",
20
+ "excel.backup.get",
21
+ "excel.backup.verify",
22
+ "excel.backup.restore_file",
23
+ "excel.backup.delete",
24
+ "excel.backup.prune",
25
+ "excel.backup.pin",
26
+ "excel.backup.unpin",
27
+ "excel.workbook.export_local_config",
28
+ "excel.workbook.import_local_config",
29
+ "excel.workbook.embed_local_config",
30
+ "excel.workbook.read_embedded_local_config",
31
+ "excel.workbook.import_embedded_local_config",
32
+ "excel.workbook.close",
33
+ "excel.sheet.list",
34
+ "excel.sheet.get_info",
35
+ "excel.sheet.create",
36
+ "excel.sheet.copy",
37
+ "excel.sheet.rename",
38
+ "excel.sheet.delete",
39
+ "excel.sheet.hide",
40
+ "excel.sheet.unhide",
41
+ "excel.sheet.protect",
42
+ "excel.sheet.unprotect",
43
+ "excel.sheet.clear",
44
+ "excel.sheet.get_used_range",
45
+ "excel.sheet.set_tab_color",
46
+ "excel.range.read_values",
47
+ "excel.range.read_formulas",
48
+ "excel.range.read_number_formats",
49
+ "excel.range.read_display_text",
50
+ "excel.range.read_styles",
51
+ "excel.range.read_hyperlinks",
52
+ "excel.range.read_comments",
53
+ "excel.range.read_notes",
54
+ "excel.range.read_merged_cells",
55
+ "excel.range.read_data_validation",
56
+ "excel.range.read_conditional_formatting",
57
+ "excel.range.read_full",
58
+ "excel.range.search",
59
+ "excel.range.find_blank_cells",
60
+ "excel.range.find_errors",
61
+ "excel.range.write_values",
62
+ "excel.range.write_formulas",
63
+ "excel.range.write_number_formats",
64
+ "excel.range.write_styles",
65
+ "excel.range.clear",
66
+ "excel.range.clear_values",
67
+ "excel.range.clear_formats",
68
+ "excel.range.clear_values_keep_format",
69
+ "excel.range.copy",
70
+ "excel.range.move",
71
+ "excel.range.insert_rows",
72
+ "excel.range.delete_rows",
73
+ "excel.range.insert_columns",
74
+ "excel.range.delete_columns",
75
+ "excel.range.autofit_columns",
76
+ "excel.range.autofit_rows",
77
+ "excel.range.merge",
78
+ "excel.range.unmerge",
79
+ "excel.batch.validate",
80
+ "excel.batch.dry_run",
81
+ "excel.batch.apply",
82
+ "excel.plan.create",
83
+ "excel.plan.preview",
84
+ "excel.plan.refresh_preview",
85
+ "excel.plan.rebase",
86
+ "excel.plan.apply",
87
+ "excel.plan.rollback",
88
+ "excel.task.create",
89
+ "excel.task.claim",
90
+ "excel.task.update",
91
+ "excel.task.set_progress",
92
+ "excel.task.add_blocker",
93
+ "excel.task.resolve_blocker",
94
+ "excel.task.evaluate_schedule",
95
+ "excel.task.resume_ready",
96
+ "excel.task.complete",
97
+ "excel.task.fail",
98
+ "excel.task.cancel",
99
+ "excel.task.list",
100
+ "excel.task.get",
101
+ "excel.collab.get_status",
102
+ "excel.collab.list_agents",
103
+ "excel.collab.list_tasks",
104
+ "excel.collab.list_locks",
105
+ "excel.collab.list_transactions",
106
+ "excel.collab.get_conflicts",
107
+ "excel.collab.get_recent_events",
108
+ "excel.lock.get_policy",
109
+ "excel.lock.set_policy",
110
+ "excel.lock.acquire",
111
+ "excel.lock.renew",
112
+ "excel.lock.release",
113
+ "excel.conflict.get_guidance",
114
+ "excel.conflict.explain",
115
+ "excel.conflict.get_telemetry",
116
+ "excel.conflict.clear_telemetry",
117
+ "excel.transaction.get",
118
+ "excel.transaction.list",
119
+ "excel.transaction.preview_rollback",
120
+ "excel.transaction.rollback",
121
+ "excel.transaction.preview_rollback_chain",
122
+ "excel.transaction.rollback_chain",
123
+ "excel.diff.create",
124
+ "excel.diff.summarize",
125
+ "excel.diff.get_details",
126
+ "excel.diff.export_json",
127
+ "excel.diff.export_html",
128
+ "excel.events.subscribe",
129
+ "excel.events.unsubscribe",
130
+ "excel.events.get_recent",
131
+ "excel.events.clear",
132
+ "excel.events.set_debounce",
133
+ "excel.snapshot.create",
134
+ "excel.snapshot.refresh",
135
+ "excel.snapshot.get",
136
+ "excel.snapshot.compare",
137
+ "excel.snapshot.invalidate",
138
+ "excel.snapshot.list",
139
+ "excel.snapshot.delete",
140
+ "excel.template.detect_templates",
141
+ "excel.template.register",
142
+ "excel.template.unregister",
143
+ "excel.template.get",
144
+ "excel.template.list",
145
+ "excel.template.infer_regions",
146
+ "excel.template.create_sheet_from_template",
147
+ "excel.template.clear_data_regions",
148
+ "excel.template.fill_regions",
149
+ "excel.template.validate_sheet_against_template",
150
+ "excel.template.repair_sheet_from_template",
151
+ "excel.style.get_fingerprint",
152
+ "excel.style.compare_fingerprint",
153
+ "excel.style.copy_from_template",
154
+ "excel.style.apply_style",
155
+ "excel.style.validate_consistency",
156
+ "excel.style.repair_consistency",
157
+ "excel.style.get_theme",
158
+ "excel.style.apply_theme",
159
+ "excel.style.copy_column_widths",
160
+ "excel.style.copy_row_heights",
161
+ "excel.style.copy_borders",
162
+ "excel.style.copy_fills",
163
+ "excel.style.copy_fonts",
164
+ "excel.style.copy_alignment",
165
+ "excel.style.copy_number_formats",
166
+ "excel.style.copy_conditional_formatting",
167
+ "excel.style.copy_data_validation",
168
+ "excel.style.copy_freeze_panes",
169
+ "excel.style.copy_print_settings",
170
+ "excel.style.copy_page_layout",
171
+ "excel.style.copy_hidden_rows_columns",
172
+ "excel.formula.read_patterns",
173
+ "excel.formula.copy_patterns",
174
+ "excel.formula.fill_down",
175
+ "excel.formula.fill_right",
176
+ "excel.formula.validate",
177
+ "excel.formula.validate_against_template",
178
+ "excel.formula.repair_patterns",
179
+ "excel.formula.find_errors",
180
+ "excel.formula.find_circular_references",
181
+ "excel.formula.get_dependency_graph",
182
+ "excel.formula.trace_precedents",
183
+ "excel.formula.trace_dependents",
184
+ "excel.formula.convert_to_values",
185
+ "excel.formula.recalculate",
186
+ "excel.formula.explain",
187
+ "excel.table.list",
188
+ "excel.table.get_info",
189
+ "excel.table.read",
190
+ "excel.table.create",
191
+ "excel.table.resize",
192
+ "excel.table.append_rows",
193
+ "excel.table.update_rows",
194
+ "excel.table.clear_data_keep_formulas",
195
+ "excel.table.clear_filters",
196
+ "excel.table.apply_filters",
197
+ "excel.table.preserve_filters",
198
+ "excel.table.sort",
199
+ "excel.table.set_total_row",
200
+ "excel.table.set_style",
201
+ "excel.table.copy_structure",
202
+ "excel.table.validate_against_template",
203
+ "excel.filter.get_filters",
204
+ "excel.filter.apply",
205
+ "excel.filter.clear",
206
+ "excel.filter.preserve_from_template",
207
+ "excel.filter.validate",
208
+ "excel.sort.apply",
209
+ "excel.sort.clear",
210
+ "excel.sort.preserve_from_template",
211
+ "excel.pivot.list",
212
+ "excel.pivot.get_info",
213
+ "excel.pivot.create",
214
+ "excel.pivot.refresh",
215
+ "excel.pivot.refresh_all",
216
+ "excel.pivot.update_source",
217
+ "excel.pivot.copy_from_template",
218
+ "excel.pivot.delete",
219
+ "excel.pivot.validate_source",
220
+ "excel.pivot.get_capability_matrix",
221
+ "excel.pivot.get_fingerprint",
222
+ "excel.pivot.compare_fingerprint",
223
+ "excel.pivot.diff",
224
+ "excel.pivot.repair_from_template",
225
+ "excel.pivot.rebuild_with_source",
226
+ "excel.chart.list",
227
+ "excel.chart.get_info",
228
+ "excel.chart.create",
229
+ "excel.chart.update_data_source",
230
+ "excel.chart.copy_from_template",
231
+ "excel.chart.refresh",
232
+ "excel.chart.delete",
233
+ "excel.chart.validate_against_template",
234
+ "excel.names.list",
235
+ "excel.names.get",
236
+ "excel.names.create",
237
+ "excel.names.update",
238
+ "excel.names.delete",
239
+ "excel.region.detect",
240
+ "excel.region.register",
241
+ "excel.region.list",
242
+ "excel.region.get",
243
+ "excel.region.clear_values",
244
+ "excel.region.write_values",
245
+ "excel.region.fill",
246
+ "excel.validate.workbook",
247
+ "excel.validate.sheet",
248
+ "excel.validate.template_consistency",
249
+ "excel.validate.formulas",
250
+ "excel.validate.styles",
251
+ "excel.validate.tables",
252
+ "excel.validate.filters",
253
+ "excel.validate.print_layout",
254
+ "excel.validate.no_broken_references",
255
+ "excel.validate.no_formula_errors",
256
+ "excel.validate.no_unintended_changes",
257
+ "excel.repair.style_from_template",
258
+ "excel.repair.formulas_from_template",
259
+ "excel.repair.filters_from_template",
260
+ "excel.repair.table_structure",
261
+ "excel.repair.print_layout",
262
+ "excel.repair.named_ranges",
263
+ "excel.repair.formula_errors",
264
+ "excel.repair.merged_cells",
265
+ "excel.clean.detect_header_row",
266
+ "excel.clean.normalize_headers",
267
+ "excel.clean.trim_whitespace",
268
+ "excel.clean.remove_duplicates",
269
+ "excel.clean.parse_dates",
270
+ "excel.clean.parse_numbers",
271
+ "excel.clean.standardize_currency",
272
+ "excel.clean.fill_missing_values",
273
+ "excel.clean.split_column",
274
+ "excel.clean.merge_columns",
275
+ "excel.clean.detect_outliers",
276
+ "excel.clean.fuzzy_match",
277
+ "excel.permissions.get",
278
+ "excel.permissions.set",
279
+ "excel.permissions.require_confirmation",
280
+ "excel.permissions.set_scope",
281
+ "excel.permissions.allow_destructive_actions",
282
+ "excel.permissions.allow_macro_execution",
283
+ "excel.permissions.lock_regions",
284
+ "excel.permissions.unlock_regions"
285
+ ]);
286
+ const PREVIEW_TOOLS = new Set([
287
+ "excel.runtime.connect_addin",
288
+ "excel.runtime.disconnect_addin",
289
+ "excel.runtime.ping_addin",
290
+ "excel.runtime.get_selection",
291
+ "excel.runtime.set_active_workbook",
292
+ "excel.runtime.set_active_sheet"
293
+ ]);
294
+ const TOOL_NAMES = [
295
+ "excel.runtime.get_status",
296
+ "excel.runtime.connect_addin",
297
+ "excel.runtime.disconnect_addin",
298
+ "excel.runtime.ping_addin",
299
+ "excel.runtime.get_capabilities",
300
+ "excel.runtime.get_active_context",
301
+ "excel.runtime.get_selection",
302
+ "excel.runtime.set_active_workbook",
303
+ "excel.runtime.set_active_sheet",
304
+ "excel.workbook.list_open_workbooks",
305
+ "excel.workbook.get_workbook_info",
306
+ "excel.workbook.get_workbook_map",
307
+ "excel.workbook.snapshot",
308
+ "excel.workbook.refresh_snapshot",
309
+ "excel.workbook.get_snapshot",
310
+ "excel.workbook.detect_external_changes",
311
+ "excel.workbook.calculate",
312
+ "excel.workbook.save",
313
+ "excel.workbook.save_as",
314
+ "excel.workbook.create_backup",
315
+ "excel.workbook.restore_backup",
316
+ "excel.workbook.export_copy",
317
+ "excel.backup.create_file",
318
+ "excel.backup.list",
319
+ "excel.backup.get",
320
+ "excel.backup.verify",
321
+ "excel.backup.restore_file",
322
+ "excel.backup.delete",
323
+ "excel.backup.prune",
324
+ "excel.backup.pin",
325
+ "excel.backup.unpin",
326
+ "excel.workbook.export_local_config",
327
+ "excel.workbook.import_local_config",
328
+ "excel.workbook.embed_local_config",
329
+ "excel.workbook.read_embedded_local_config",
330
+ "excel.workbook.import_embedded_local_config",
331
+ "excel.workbook.close",
332
+ "excel.sheet.list",
333
+ "excel.sheet.get_info",
334
+ "excel.sheet.create",
335
+ "excel.sheet.copy",
336
+ "excel.sheet.rename",
337
+ "excel.sheet.delete",
338
+ "excel.sheet.hide",
339
+ "excel.sheet.unhide",
340
+ "excel.sheet.protect",
341
+ "excel.sheet.unprotect",
342
+ "excel.sheet.clear",
343
+ "excel.sheet.get_used_range",
344
+ "excel.sheet.set_tab_color",
345
+ "excel.range.read_values",
346
+ "excel.range.read_formulas",
347
+ "excel.range.read_number_formats",
348
+ "excel.range.read_display_text",
349
+ "excel.range.read_styles",
350
+ "excel.range.read_hyperlinks",
351
+ "excel.range.read_comments",
352
+ "excel.range.read_notes",
353
+ "excel.range.read_merged_cells",
354
+ "excel.range.read_data_validation",
355
+ "excel.range.read_conditional_formatting",
356
+ "excel.range.read_full",
357
+ "excel.range.search",
358
+ "excel.range.find_blank_cells",
359
+ "excel.range.find_errors",
360
+ "excel.range.write_values",
361
+ "excel.range.write_formulas",
362
+ "excel.range.write_number_formats",
363
+ "excel.range.write_styles",
364
+ "excel.range.clear",
365
+ "excel.range.clear_values",
366
+ "excel.range.clear_formats",
367
+ "excel.range.clear_values_keep_format",
368
+ "excel.range.copy",
369
+ "excel.range.move",
370
+ "excel.range.insert_rows",
371
+ "excel.range.delete_rows",
372
+ "excel.range.insert_columns",
373
+ "excel.range.delete_columns",
374
+ "excel.range.autofit_columns",
375
+ "excel.range.autofit_rows",
376
+ "excel.range.merge",
377
+ "excel.range.unmerge",
378
+ "excel.batch.apply",
379
+ "excel.batch.validate",
380
+ "excel.batch.dry_run",
381
+ "excel.template.detect_templates",
382
+ "excel.template.register",
383
+ "excel.template.unregister",
384
+ "excel.template.get",
385
+ "excel.template.list",
386
+ "excel.template.infer_regions",
387
+ "excel.template.create_sheet_from_template",
388
+ "excel.template.clear_data_regions",
389
+ "excel.template.fill_regions",
390
+ "excel.template.validate_sheet_against_template",
391
+ "excel.template.repair_sheet_from_template",
392
+ "excel.style.get_fingerprint",
393
+ "excel.style.compare_fingerprint",
394
+ "excel.style.copy_from_template",
395
+ "excel.style.apply_style",
396
+ "excel.style.validate_consistency",
397
+ "excel.style.repair_consistency",
398
+ "excel.style.get_theme",
399
+ "excel.style.apply_theme",
400
+ "excel.style.copy_column_widths",
401
+ "excel.style.copy_row_heights",
402
+ "excel.style.copy_borders",
403
+ "excel.style.copy_fills",
404
+ "excel.style.copy_fonts",
405
+ "excel.style.copy_alignment",
406
+ "excel.style.copy_number_formats",
407
+ "excel.style.copy_conditional_formatting",
408
+ "excel.style.copy_data_validation",
409
+ "excel.style.copy_freeze_panes",
410
+ "excel.style.copy_print_settings",
411
+ "excel.style.copy_page_layout",
412
+ "excel.style.copy_hidden_rows_columns",
413
+ "excel.formula.read_patterns",
414
+ "excel.formula.copy_patterns",
415
+ "excel.formula.fill_down",
416
+ "excel.formula.fill_right",
417
+ "excel.formula.validate",
418
+ "excel.formula.validate_against_template",
419
+ "excel.formula.repair_patterns",
420
+ "excel.formula.find_errors",
421
+ "excel.formula.find_circular_references",
422
+ "excel.formula.get_dependency_graph",
423
+ "excel.formula.trace_precedents",
424
+ "excel.formula.trace_dependents",
425
+ "excel.formula.convert_to_values",
426
+ "excel.formula.recalculate",
427
+ "excel.formula.explain",
428
+ "excel.table.list",
429
+ "excel.table.get_info",
430
+ "excel.table.read",
431
+ "excel.table.create",
432
+ "excel.table.resize",
433
+ "excel.table.append_rows",
434
+ "excel.table.update_rows",
435
+ "excel.table.clear_data_keep_formulas",
436
+ "excel.table.clear_filters",
437
+ "excel.table.apply_filters",
438
+ "excel.table.preserve_filters",
439
+ "excel.table.sort",
440
+ "excel.table.set_total_row",
441
+ "excel.table.set_style",
442
+ "excel.table.copy_structure",
443
+ "excel.table.validate_against_template",
444
+ "excel.filter.get_filters",
445
+ "excel.filter.apply",
446
+ "excel.filter.clear",
447
+ "excel.filter.preserve_from_template",
448
+ "excel.filter.validate",
449
+ "excel.sort.apply",
450
+ "excel.sort.clear",
451
+ "excel.sort.preserve_from_template",
452
+ "excel.pivot.list",
453
+ "excel.pivot.get_info",
454
+ "excel.pivot.create",
455
+ "excel.pivot.refresh",
456
+ "excel.pivot.refresh_all",
457
+ "excel.pivot.update_source",
458
+ "excel.pivot.copy_from_template",
459
+ "excel.pivot.delete",
460
+ "excel.pivot.validate_source",
461
+ "excel.pivot.get_capability_matrix",
462
+ "excel.pivot.get_fingerprint",
463
+ "excel.pivot.compare_fingerprint",
464
+ "excel.pivot.diff",
465
+ "excel.pivot.repair_from_template",
466
+ "excel.pivot.rebuild_with_source",
467
+ "excel.chart.list",
468
+ "excel.chart.get_info",
469
+ "excel.chart.create",
470
+ "excel.chart.update_data_source",
471
+ "excel.chart.copy_from_template",
472
+ "excel.chart.refresh",
473
+ "excel.chart.delete",
474
+ "excel.chart.validate_against_template",
475
+ "excel.names.list",
476
+ "excel.names.get",
477
+ "excel.names.create",
478
+ "excel.names.update",
479
+ "excel.names.delete",
480
+ "excel.region.detect",
481
+ "excel.region.register",
482
+ "excel.region.list",
483
+ "excel.region.get",
484
+ "excel.region.clear_values",
485
+ "excel.region.write_values",
486
+ "excel.region.fill",
487
+ "excel.plan.create",
488
+ "excel.plan.preview",
489
+ "excel.plan.refresh_preview",
490
+ "excel.plan.rebase",
491
+ "excel.plan.apply",
492
+ "excel.plan.rollback",
493
+ "excel.task.create",
494
+ "excel.task.claim",
495
+ "excel.task.update",
496
+ "excel.task.set_progress",
497
+ "excel.task.add_blocker",
498
+ "excel.task.resolve_blocker",
499
+ "excel.task.evaluate_schedule",
500
+ "excel.task.resume_ready",
501
+ "excel.task.complete",
502
+ "excel.task.fail",
503
+ "excel.task.cancel",
504
+ "excel.task.list",
505
+ "excel.task.get",
506
+ "excel.collab.get_status",
507
+ "excel.collab.list_agents",
508
+ "excel.collab.list_tasks",
509
+ "excel.collab.list_locks",
510
+ "excel.collab.list_transactions",
511
+ "excel.collab.get_conflicts",
512
+ "excel.collab.get_recent_events",
513
+ "excel.lock.get_policy",
514
+ "excel.lock.set_policy",
515
+ "excel.lock.acquire",
516
+ "excel.lock.renew",
517
+ "excel.lock.release",
518
+ "excel.conflict.get_guidance",
519
+ "excel.conflict.explain",
520
+ "excel.conflict.get_telemetry",
521
+ "excel.conflict.clear_telemetry",
522
+ "excel.transaction.get",
523
+ "excel.transaction.list",
524
+ "excel.transaction.preview_rollback",
525
+ "excel.transaction.rollback",
526
+ "excel.transaction.preview_rollback_chain",
527
+ "excel.transaction.rollback_chain",
528
+ "excel.diff.create",
529
+ "excel.diff.summarize",
530
+ "excel.diff.get_details",
531
+ "excel.diff.export_json",
532
+ "excel.diff.export_html",
533
+ "excel.events.subscribe",
534
+ "excel.events.unsubscribe",
535
+ "excel.events.get_recent",
536
+ "excel.events.clear",
537
+ "excel.events.set_debounce",
538
+ "excel.snapshot.create",
539
+ "excel.snapshot.refresh",
540
+ "excel.snapshot.get",
541
+ "excel.snapshot.compare",
542
+ "excel.snapshot.invalidate",
543
+ "excel.snapshot.list",
544
+ "excel.snapshot.delete",
545
+ "excel.validate.workbook",
546
+ "excel.validate.sheet",
547
+ "excel.validate.template_consistency",
548
+ "excel.validate.formulas",
549
+ "excel.validate.styles",
550
+ "excel.validate.tables",
551
+ "excel.validate.filters",
552
+ "excel.validate.print_layout",
553
+ "excel.validate.no_broken_references",
554
+ "excel.validate.no_formula_errors",
555
+ "excel.validate.no_unintended_changes",
556
+ "excel.repair.style_from_template",
557
+ "excel.repair.formulas_from_template",
558
+ "excel.repair.filters_from_template",
559
+ "excel.repair.table_structure",
560
+ "excel.repair.print_layout",
561
+ "excel.repair.named_ranges",
562
+ "excel.repair.formula_errors",
563
+ "excel.repair.merged_cells",
564
+ "excel.clean.detect_header_row",
565
+ "excel.clean.normalize_headers",
566
+ "excel.clean.trim_whitespace",
567
+ "excel.clean.remove_duplicates",
568
+ "excel.clean.parse_dates",
569
+ "excel.clean.parse_numbers",
570
+ "excel.clean.standardize_currency",
571
+ "excel.clean.fill_missing_values",
572
+ "excel.clean.split_column",
573
+ "excel.clean.merge_columns",
574
+ "excel.clean.detect_outliers",
575
+ "excel.clean.fuzzy_match",
576
+ "excel.permissions.get",
577
+ "excel.permissions.set",
578
+ "excel.permissions.require_confirmation",
579
+ "excel.permissions.set_scope",
580
+ "excel.permissions.allow_destructive_actions",
581
+ "excel.permissions.allow_macro_execution",
582
+ "excel.permissions.lock_regions",
583
+ "excel.permissions.unlock_regions"
584
+ ];
585
+ export const ToolCatalog = TOOL_NAMES.map((name) => {
586
+ const namespace = getNamespace(name);
587
+ const mutatesWorkbook = isMutatingTool(name);
588
+ const destructiveLevel = getDestructiveLevel(name, namespace);
589
+ return {
590
+ name,
591
+ title: titleize(name),
592
+ namespace,
593
+ status: getToolStatus(name, namespace),
594
+ mutatesWorkbook,
595
+ destructiveLevel,
596
+ requiresConfirmation: mutatesWorkbook,
597
+ requiredCapabilities: getRequiredCapabilities(name, namespace),
598
+ description: `Open Workbook ${name} tool.`
599
+ };
600
+ });
601
+ export const InitialToolContracts = getExposedToolCatalog();
602
+ export function getExposedToolCatalog(options = {}) {
603
+ return ToolCatalog.filter((tool) => {
604
+ if (tool.status === "stable") {
605
+ return true;
606
+ }
607
+ if (tool.status === "preview") {
608
+ return options.includePreview === true;
609
+ }
610
+ if (tool.status === "planned") {
611
+ return options.includePlanned === true;
612
+ }
613
+ return options.includeUnsupported === true;
614
+ });
615
+ }
616
+ export function getToolCatalogSummary(options = {}) {
617
+ const exposed = getExposedToolCatalog(options);
618
+ return {
619
+ total: ToolCatalog.length,
620
+ exposed: exposed.length,
621
+ stable: ToolCatalog.filter((tool) => tool.status === "stable").length,
622
+ preview: ToolCatalog.filter((tool) => tool.status === "preview").length,
623
+ planned: ToolCatalog.filter((tool) => tool.status === "planned").length,
624
+ unsupported: ToolCatalog.filter((tool) => tool.status === "unsupported").length,
625
+ tools: ToolCatalog
626
+ };
627
+ }
628
+ export function isToolExposed(name, options = {}) {
629
+ return getExposedToolCatalog(options).some((tool) => tool.name === name);
630
+ }
631
+ function getNamespace(name) {
632
+ const namespace = name.split(".")[1];
633
+ if (!namespace) {
634
+ throw new Error(`Invalid tool name: ${name}`);
635
+ }
636
+ return namespace;
637
+ }
638
+ function getToolStatus(name, namespace) {
639
+ if (STABLE_TOOLS.has(name)) {
640
+ return "stable";
641
+ }
642
+ if (PREVIEW_TOOLS.has(name)) {
643
+ return "preview";
644
+ }
645
+ return "planned";
646
+ }
647
+ function isMutatingTool(name) {
648
+ return /\.(set_|write_|create|copy|rename|delete|move|hide|unhide|protect|unprotect|clear|apply|repair|fill|append|update|resize|sort|save|restore|close|insert|merge|unmerge|lock|unlock|convert|calculate|recalculate|register|unregister|commit|rollback|cancel|refresh|invalidate|parse|normalize|trim|remove|standardize|split|import|embed)/.test(name);
649
+ }
650
+ function getDestructiveLevel(name, namespace) {
651
+ if (!isMutatingTool(name)) {
652
+ return "none";
653
+ }
654
+ if (namespace === "workbook" || name.includes(".close") || name.includes(".save_as") || name.includes(".restore_backup")) {
655
+ return "workbook";
656
+ }
657
+ if (namespace === "sheet" || namespace === "template" || name.includes("insert_") || name.includes("delete_")) {
658
+ return "structure";
659
+ }
660
+ if (namespace === "style" || name.includes("format") || name.includes("theme")) {
661
+ return "format";
662
+ }
663
+ return "values";
664
+ }
665
+ function getRequiredCapabilities(name, namespace) {
666
+ if (namespace === "runtime") {
667
+ return ["runtime.session"];
668
+ }
669
+ if (namespace === "workbook") {
670
+ return ["workbook.context"];
671
+ }
672
+ if (namespace === "sheet") {
673
+ return ["worksheet.basic"];
674
+ }
675
+ if (namespace === "range") {
676
+ return [name.includes(".read_") || name.endsWith(".search") || name.endsWith(".find_errors") ? "range.read" : "range.write"];
677
+ }
678
+ return [`${namespace}.basic`];
679
+ }
680
+ function titleize(name) {
681
+ return name
682
+ .replace(/^excel\./, "")
683
+ .replace(/\./g, " ")
684
+ .replace(/_/g, " ")
685
+ .replace(/\b\w/g, (char) => char.toUpperCase());
686
+ }
687
+ //# sourceMappingURL=tools.js.map