@components-kit/open-workbook 0.1.2 → 0.1.4
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 +3 -4
- package/assets/backend/dist/runtime-service.d.ts +132 -191
- package/assets/backend/dist/runtime-service.d.ts.map +1 -1
- package/assets/backend/dist/runtime-service.js +85 -8
- package/assets/backend/dist/runtime-service.js.map +1 -1
- package/assets/excel-addin/dist/assets/icon-80.png +0 -0
- package/assets/excel-addin/dist/connection.d.ts.map +1 -1
- package/assets/excel-addin/dist/connection.js +4 -1
- package/assets/excel-addin/dist/connection.js.map +1 -1
- package/assets/excel-addin/dist/excel-executor.d.ts +7 -2
- package/assets/excel-addin/dist/excel-executor.d.ts.map +1 -1
- package/assets/excel-addin/dist/excel-executor.js +204 -40
- package/assets/excel-addin/dist/excel-executor.js.map +1 -1
- package/assets/excel-addin/dist/taskpane.bundle.js +49 -0
- package/assets/excel-addin/dist/taskpane.css +572 -0
- package/assets/excel-addin/dist/taskpane.d.ts.map +1 -1
- package/assets/excel-addin/dist/taskpane.html +28 -0
- package/assets/excel-addin/dist/taskpane.js +86 -24
- package/assets/excel-addin/dist/taskpane.js.map +1 -1
- package/assets/excel-addin/manifest.xml +24 -22
- package/assets/excel-addin/public/assets/icon-80.png +0 -0
- package/assets/excel-addin/public/taskpane.css +551 -26
- package/assets/excel-addin/public/taskpane.html +10 -17
- package/assets/excel-addin/scripts/dev-server.mjs +4 -33
- package/assets/instructions/open-workbook-excel/references/tool-selection.md +4 -2
- package/assets/instructions/open-workbook-excel/references/workflows.md +7 -4
- package/assets/mcp-server/dist/index.js +72 -7
- package/assets/mcp-server/dist/index.js.map +1 -1
- package/dist/index.js +48 -51
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,28 +1,90 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { StrictMode, useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { createRoot } from "react-dom/client";
|
|
4
|
+
import { AddinConnection } from "./connection.js";
|
|
1
5
|
const backendUrl = new URLSearchParams(window.location.search).get("backendUrl") ?? "ws://127.0.0.1:37845/addin";
|
|
2
|
-
|
|
3
|
-
const status =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const detail = error instanceof Error ? error.message : String(error);
|
|
23
|
-
status?.replaceChildren(`Could not load taskpane runtime: ${detail}`);
|
|
6
|
+
function App() {
|
|
7
|
+
const [status, setStatus] = useState("OpenWorkbook is ready to connect.");
|
|
8
|
+
const [connection, setConnection] = useState();
|
|
9
|
+
const statusTone = useMemo(() => {
|
|
10
|
+
const normalized = status.toLowerCase();
|
|
11
|
+
if (normalized.includes("connected to local"))
|
|
12
|
+
return "success";
|
|
13
|
+
if (normalized.includes("could not") || normalized.includes("did not load"))
|
|
14
|
+
return "error";
|
|
15
|
+
if (normalized.includes("disconnected") || normalized.includes("retrying") || normalized.includes("waiting") || normalized.includes("connecting"))
|
|
16
|
+
return "warning";
|
|
17
|
+
return "neutral";
|
|
18
|
+
}, [status]);
|
|
19
|
+
const connectLocal = useCallback(() => {
|
|
20
|
+
if (connection)
|
|
21
|
+
return;
|
|
22
|
+
setStatus("Waiting for Office.js...");
|
|
23
|
+
if (!("Office" in window)) {
|
|
24
|
+
setStatus("Office.js did not load. Check network access to appsforoffice.microsoft.com.");
|
|
25
|
+
return;
|
|
24
26
|
}
|
|
25
|
-
|
|
27
|
+
Office.onReady(() => {
|
|
28
|
+
setStatus("Office.js ready. Connecting to local runtime...");
|
|
29
|
+
try {
|
|
30
|
+
const nextConnection = new AddinConnection({
|
|
31
|
+
backendUrl,
|
|
32
|
+
heartbeatMs: 5_000,
|
|
33
|
+
reconnectMs: 2_000,
|
|
34
|
+
onStatus: setStatus
|
|
35
|
+
});
|
|
36
|
+
setConnection(nextConnection);
|
|
37
|
+
nextConnection.connect();
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
41
|
+
setStatus(`Could not load taskpane runtime: ${detail}`);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}, [connection]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
connectLocal();
|
|
47
|
+
}, [connectLocal]);
|
|
48
|
+
return (_jsx("main", { className: "taskpane-shell", children: _jsx(LandingView, { status: status, statusTone: statusTone }) }));
|
|
49
|
+
}
|
|
50
|
+
function BrandLockup() {
|
|
51
|
+
return (_jsxs("div", { className: "brand-lockup", "aria-label": "ComponentsKit OpenWorkbook", children: [_jsx("img", { className: "brand-logo", alt: "ComponentsKit", src: "/assets/icon-80.png" }), _jsx("span", { className: "brand-divider", children: "/" }), _jsx("span", { className: "brand-product", children: "OpenWorkbook" })] }));
|
|
52
|
+
}
|
|
53
|
+
function LandingView({ status, statusTone }) {
|
|
54
|
+
return (_jsxs("section", { className: "landing-view", "aria-labelledby": "landing-title", children: [_jsxs("div", { className: "landing-content", children: [_jsx(BrandLockup, {}), _jsxs("div", { className: "landing-copy", children: [_jsx("h1", { id: "landing-title", children: "Excel your spreadsheet with any AI agent" }), _jsx("p", { children: "Local-first MCP for live Excel automation with safe edits, backups, rollback, formulas, tables, and style preservation." })] }), _jsx(StatusBadge, { status: status, statusTone: statusTone })] }), _jsx(WorkbookPreview, {})] }));
|
|
55
|
+
}
|
|
56
|
+
function StatusBadge({ status, statusTone }) {
|
|
57
|
+
return _jsxs("div", { className: `connection-badge connection-${statusTone}`, role: "status", children: ["Status: ", formatStatus(status)] });
|
|
58
|
+
}
|
|
59
|
+
function formatStatus(status) {
|
|
60
|
+
const normalized = status.toLowerCase();
|
|
61
|
+
if (normalized.includes("connected to local"))
|
|
62
|
+
return "Connected to local runtime";
|
|
63
|
+
if (normalized.includes("office.js did not load"))
|
|
64
|
+
return "Office.js did not load";
|
|
65
|
+
if (normalized.includes("could not"))
|
|
66
|
+
return "Could not connect";
|
|
67
|
+
if (normalized.includes("disconnected"))
|
|
68
|
+
return "Disconnected, retrying";
|
|
69
|
+
if (normalized.includes("retrying"))
|
|
70
|
+
return "Retrying local runtime";
|
|
71
|
+
return "Connecting to local runtime";
|
|
72
|
+
}
|
|
73
|
+
const previewRows = [
|
|
74
|
+
["Owner", "Variance", "Status", "Note"],
|
|
75
|
+
["A. Chen", "+$18K", "Review", "Travel spike"],
|
|
76
|
+
["M. Lee", "-$7K", "Ready", "Budget matched"],
|
|
77
|
+
["N. Park", "+$42K", "Updated", "Contractor accrual"]
|
|
78
|
+
];
|
|
79
|
+
function WorkbookPreview() {
|
|
80
|
+
return (_jsx("div", { className: "workbook-preview-card", "aria-hidden": "true", children: _jsxs("div", { className: "workbook-preview-window", children: [_jsxs("div", { className: "workbook-preview-titlebar", children: [_jsxs("div", { className: "window-dots", children: [_jsx("span", { className: "dot-red" }), _jsx("span", { className: "dot-yellow" }), _jsx("span", { className: "dot-green" })] }), _jsx("span", { className: "autosave-label", children: "AutoSave" }), _jsx("span", { className: "autosave-toggle" }), _jsx("span", { className: "preview-tool", children: "Home" }), _jsx("span", { className: "preview-tool muted", children: "Insert" }), _jsx("span", { className: "preview-tool muted", children: "Data" })] }), _jsxs("div", { className: "workbook-preview-ribbon", children: [_jsx("span", { className: "ribbon-button wide" }), _jsx("span", { className: "ribbon-divider" }), _jsx("span", { className: "ribbon-button" }), _jsx("span", { className: "ribbon-button short" }), _jsx("span", { className: "ribbon-pill", children: "Wrap Text" })] }), _jsxs("div", { className: "workbook-preview-formula", children: [_jsx("span", { className: "name-box", children: "C3" }), _jsx("span", { className: "formula-mark", children: "fx" }), _jsx("span", { className: "formula-box", children: "Controller note updated" })] }), _jsx("div", { className: "workbook-preview-sheet", children: _jsxs("div", { className: "sheet-grid", children: [_jsx("div", { className: "sheet-corner" }), ["A", "B", "C", "D"].map((column) => (_jsx("div", { className: "sheet-column", children: column }, column))), previewRows.map((row, rowIndex) => [
|
|
81
|
+
_jsx("div", { className: "sheet-row-number", children: rowIndex + 1 }, `row-${rowIndex}`),
|
|
82
|
+
...row.map((cell, cellIndex) => (_jsx("div", { className: `sheet-cell ${rowIndex === 0 ? "sheet-header" : ""} ${rowIndex === 2 && cellIndex === 2 ? "sheet-selected" : ""} ${rowIndex > 0 && cellIndex > 0 ? "sheet-agent-cell" : ""}`, children: _jsx("span", { children: cell }) }, `${rowIndex}-${cellIndex}`)))
|
|
83
|
+
])] }) })] }) }));
|
|
84
|
+
}
|
|
85
|
+
const rootElement = document.getElementById("root");
|
|
86
|
+
if (!rootElement) {
|
|
87
|
+
throw new Error("Missing #root element for OpenWorkbook taskpane.");
|
|
26
88
|
}
|
|
27
|
-
|
|
89
|
+
createRoot(rootElement).render(_jsx(StrictMode, { children: _jsx(App, {}) }));
|
|
28
90
|
//# sourceMappingURL=taskpane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskpane.js","sourceRoot":"","sources":["../src/taskpane.
|
|
1
|
+
{"version":3,"file":"taskpane.js","sourceRoot":"","sources":["../src/taskpane.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,18 @@
|
|
|
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.
|
|
9
|
-
<ProviderName>
|
|
8
|
+
<Version>0.1.4.0</Version>
|
|
9
|
+
<ProviderName>ComponentsKit</ProviderName>
|
|
10
10
|
<DefaultLocale>en-US</DefaultLocale>
|
|
11
|
-
<DisplayName DefaultValue="
|
|
11
|
+
<DisplayName DefaultValue="OpenWorkbook" />
|
|
12
12
|
<Description DefaultValue="Local-first MCP bridge for safe, fast Excel automation." />
|
|
13
|
-
<IconUrl DefaultValue="
|
|
14
|
-
<HighResolutionIconUrl DefaultValue="
|
|
13
|
+
<IconUrl DefaultValue="https://componentskit.com/openworkbook/icon-32.png" />
|
|
14
|
+
<HighResolutionIconUrl DefaultValue="https://componentskit.com/openworkbook/icon-64.png" />
|
|
15
15
|
<SupportUrl DefaultValue="https://github.com/components-kit/open-workbook" />
|
|
16
16
|
<AppDomains>
|
|
17
17
|
<AppDomain>http://localhost:37846</AppDomain>
|
|
18
|
+
<AppDomain>https://fonts.googleapis.com</AppDomain>
|
|
19
|
+
<AppDomain>https://fonts.gstatic.com</AppDomain>
|
|
18
20
|
</AppDomains>
|
|
19
21
|
<Requirements>
|
|
20
22
|
<Sets DefaultMinVersion="1.9">
|
|
@@ -40,26 +42,26 @@
|
|
|
40
42
|
<FunctionFile resid="Taskpane.Url" />
|
|
41
43
|
<ExtensionPoint xsi:type="PrimaryCommandSurface">
|
|
42
44
|
<OfficeTab id="TabHome">
|
|
43
|
-
<Group id="OpenWorkbook.Group">
|
|
45
|
+
<Group id="OpenWorkbook.Group.ComponentsKit">
|
|
44
46
|
<Label resid="OpenWorkbook.GroupLabel" />
|
|
45
47
|
<Icon>
|
|
46
|
-
<bt:Image size="16" resid="Icon.16x16" />
|
|
47
|
-
<bt:Image size="32" resid="Icon.32x32" />
|
|
48
|
-
<bt:Image size="80" resid="Icon.80x80" />
|
|
48
|
+
<bt:Image size="16" resid="OpenWorkbook.Icon.16x16" />
|
|
49
|
+
<bt:Image size="32" resid="OpenWorkbook.Icon.32x32" />
|
|
50
|
+
<bt:Image size="80" resid="OpenWorkbook.Icon.80x80" />
|
|
49
51
|
</Icon>
|
|
50
|
-
<Control xsi:type="Button" id="OpenWorkbook.TaskpaneButton">
|
|
52
|
+
<Control xsi:type="Button" id="OpenWorkbook.TaskpaneButton.ComponentsKit">
|
|
51
53
|
<Label resid="OpenWorkbook.ButtonLabel" />
|
|
52
54
|
<Supertip>
|
|
53
55
|
<Title resid="OpenWorkbook.ButtonLabel" />
|
|
54
56
|
<Description resid="OpenWorkbook.ButtonTooltip" />
|
|
55
57
|
</Supertip>
|
|
56
58
|
<Icon>
|
|
57
|
-
<bt:Image size="16" resid="Icon.16x16" />
|
|
58
|
-
<bt:Image size="32" resid="Icon.32x32" />
|
|
59
|
-
<bt:Image size="80" resid="Icon.80x80" />
|
|
59
|
+
<bt:Image size="16" resid="OpenWorkbook.Icon.16x16" />
|
|
60
|
+
<bt:Image size="32" resid="OpenWorkbook.Icon.32x32" />
|
|
61
|
+
<bt:Image size="80" resid="OpenWorkbook.Icon.80x80" />
|
|
60
62
|
</Icon>
|
|
61
63
|
<Action xsi:type="ShowTaskpane">
|
|
62
|
-
<TaskpaneId>OpenWorkbook.Taskpane</TaskpaneId>
|
|
64
|
+
<TaskpaneId>OpenWorkbook.Taskpane.ComponentsKit</TaskpaneId>
|
|
63
65
|
<SourceLocation resid="Taskpane.Url" />
|
|
64
66
|
</Action>
|
|
65
67
|
</Control>
|
|
@@ -71,22 +73,22 @@
|
|
|
71
73
|
</Hosts>
|
|
72
74
|
<Resources>
|
|
73
75
|
<bt:Images>
|
|
74
|
-
<bt:Image id="Icon.16x16" DefaultValue="
|
|
75
|
-
<bt:Image id="Icon.32x32" DefaultValue="
|
|
76
|
-
<bt:Image id="Icon.80x80" DefaultValue="
|
|
76
|
+
<bt:Image id="OpenWorkbook.Icon.16x16" DefaultValue="https://componentskit.com/openworkbook/icon-16.png" />
|
|
77
|
+
<bt:Image id="OpenWorkbook.Icon.32x32" DefaultValue="https://componentskit.com/openworkbook/icon-32.png" />
|
|
78
|
+
<bt:Image id="OpenWorkbook.Icon.80x80" DefaultValue="https://componentskit.com/openworkbook/icon-80.png" />
|
|
77
79
|
</bt:Images>
|
|
78
80
|
<bt:Urls>
|
|
79
81
|
<bt:Url id="Taskpane.Url" DefaultValue="http://localhost:37846/taskpane.html" />
|
|
80
82
|
<bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://github.com/components-kit/open-workbook" />
|
|
81
83
|
</bt:Urls>
|
|
82
84
|
<bt:ShortStrings>
|
|
83
|
-
<bt:String id="GetStarted.Title" DefaultValue="
|
|
84
|
-
<bt:String id="OpenWorkbook.GroupLabel" DefaultValue="
|
|
85
|
-
<bt:String id="OpenWorkbook.ButtonLabel" DefaultValue="
|
|
85
|
+
<bt:String id="GetStarted.Title" DefaultValue="OpenWorkbook loaded" />
|
|
86
|
+
<bt:String id="OpenWorkbook.GroupLabel" DefaultValue="OpenWorkbook" />
|
|
87
|
+
<bt:String id="OpenWorkbook.ButtonLabel" DefaultValue="OpenWorkbook" />
|
|
86
88
|
</bt:ShortStrings>
|
|
87
89
|
<bt:LongStrings>
|
|
88
|
-
<bt:String id="GetStarted.Description" DefaultValue="
|
|
89
|
-
<bt:String id="OpenWorkbook.ButtonTooltip" DefaultValue="Open the
|
|
90
|
+
<bt:String id="GetStarted.Description" DefaultValue="OpenWorkbook connects Excel to ComponentsKit agents and local MCP runtimes." />
|
|
91
|
+
<bt:String id="OpenWorkbook.ButtonTooltip" DefaultValue="Open the OpenWorkbook taskpane." />
|
|
90
92
|
</bt:LongStrings>
|
|
91
93
|
</Resources>
|
|
92
94
|
</VersionOverrides>
|
|
Binary file
|