@wonderwhy-er/desktop-commander 0.2.38 → 0.2.40
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 +53 -2
- package/dist/handlers/filesystem-handlers.d.ts +5 -0
- package/dist/handlers/filesystem-handlers.js +14 -2
- package/dist/remote-device/desktop-commander-integration.js +1 -1
- package/dist/search-manager.js +31 -38
- package/dist/server.js +9 -4
- package/dist/terminal-manager.js +4 -2
- package/dist/tools/edit.js +34 -1
- package/dist/tools/filesystem.js +91 -3
- package/dist/tools/improved-process-tools.js +2 -1
- package/dist/ui/config-editor/config-editor-runtime.js +65 -14096
- package/dist/ui/config-editor/styles.css +2 -1
- package/dist/ui/file-preview/preview-runtime.js +435 -26533
- package/dist/ui/file-preview/shared/preview-file-types.d.ts +1 -1
- package/dist/ui/file-preview/src/app.d.ts +1 -5
- package/dist/ui/file-preview/src/app.js +384 -534
- package/dist/ui/file-preview/src/components/markdown-renderer.js +47 -9
- package/dist/ui/file-preview/src/directory-controller.d.ts +8 -0
- package/dist/ui/file-preview/src/directory-controller.js +233 -0
- package/dist/ui/file-preview/src/document-layout.d.ts +20 -0
- package/dist/ui/file-preview/src/document-layout.js +109 -0
- package/dist/ui/file-preview/src/document-outline.d.ts +17 -0
- package/dist/ui/file-preview/src/document-outline.js +97 -0
- package/dist/ui/file-preview/src/document-workspace.d.ts +19 -0
- package/dist/ui/file-preview/src/document-workspace.js +33 -0
- package/dist/ui/file-preview/src/file-type-handlers.d.ts +10 -0
- package/dist/ui/file-preview/src/file-type-handlers.js +98 -0
- package/dist/ui/file-preview/src/host/external-actions.d.ts +19 -0
- package/dist/ui/file-preview/src/host/external-actions.js +94 -0
- package/dist/ui/file-preview/src/host/selection-context.d.ts +9 -0
- package/dist/ui/file-preview/src/host/selection-context.js +106 -0
- package/dist/ui/file-preview/src/markdown/conflict-dialog.d.ts +40 -0
- package/dist/ui/file-preview/src/markdown/conflict-dialog.js +163 -0
- package/dist/ui/file-preview/src/markdown/controller.d.ts +44 -0
- package/dist/ui/file-preview/src/markdown/controller.js +1040 -0
- package/dist/ui/file-preview/src/markdown/editor.d.ts +131 -0
- package/dist/ui/file-preview/src/markdown/editor.js +1479 -0
- package/dist/ui/file-preview/src/markdown/linking.d.ts +16 -0
- package/dist/ui/file-preview/src/markdown/linking.js +228 -0
- package/dist/ui/file-preview/src/markdown/outline.d.ts +2 -0
- package/dist/ui/file-preview/src/markdown/outline.js +16 -0
- package/dist/ui/file-preview/src/markdown/parser.d.ts +30 -0
- package/dist/ui/file-preview/src/markdown/parser.js +38 -0
- package/dist/ui/file-preview/src/markdown/preview.d.ts +1 -0
- package/dist/ui/file-preview/src/markdown/preview.js +20 -0
- package/dist/ui/file-preview/src/markdown/slugify.d.ts +3 -0
- package/dist/ui/file-preview/src/markdown/slugify.js +31 -0
- package/dist/ui/file-preview/src/markdown/utils.d.ts +1 -0
- package/dist/ui/file-preview/src/markdown/utils.js +15 -0
- package/dist/ui/file-preview/src/model.d.ts +35 -0
- package/dist/ui/file-preview/src/panel-actions.d.ts +17 -0
- package/dist/ui/file-preview/src/panel-actions.js +182 -0
- package/dist/ui/file-preview/src/path-utils.d.ts +6 -0
- package/dist/ui/file-preview/src/path-utils.js +64 -0
- package/dist/ui/file-preview/src/payload-utils.d.ts +11 -0
- package/dist/ui/file-preview/src/payload-utils.js +94 -0
- package/dist/ui/file-preview/styles.css +1066 -233
- package/dist/ui/shared/widget-state.d.ts +6 -1
- package/dist/ui/shared/widget-state.js +102 -4
- package/dist/utils/capture.js +1 -1
- package/dist/utils/files/base.d.ts +2 -0
- package/dist/utils/open-browser.js +1 -1
- package/dist/utils/toolHistory.d.ts +13 -0
- package/dist/utils/toolHistory.js +65 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +12 -1
- package/dist/data/spec-kit-prompts.json +0 -123
- package/dist/handlers/macos-control-handlers.d.ts +0 -16
- package/dist/handlers/macos-control-handlers.js +0 -81
- package/dist/handlers/node-handlers.d.ts +0 -6
- package/dist/handlers/node-handlers.js +0 -73
- package/dist/handlers/test-crash-handler.d.ts +0 -11
- package/dist/handlers/test-crash-handler.js +0 -26
- package/dist/http-index.d.ts +0 -45
- package/dist/http-index.js +0 -51
- package/dist/http-server-auto-tunnel.js +0 -667
- package/dist/http-server-named-tunnel.d.ts +0 -2
- package/dist/http-server-named-tunnel.js +0 -167
- package/dist/http-server-tunnel.d.ts +0 -2
- package/dist/http-server-tunnel.js +0 -111
- package/dist/http-server.d.ts +0 -2
- package/dist/http-server.js +0 -270
- package/dist/index-oauth.d.ts +0 -2
- package/dist/index-oauth.js +0 -201
- package/dist/lib.d.ts +0 -10
- package/dist/lib.js +0 -10
- package/dist/oauth/auth-middleware.d.ts +0 -20
- package/dist/oauth/auth-middleware.js +0 -62
- package/dist/oauth/index.d.ts +0 -3
- package/dist/oauth/index.js +0 -3
- package/dist/oauth/oauth-manager.d.ts +0 -80
- package/dist/oauth/oauth-manager.js +0 -179
- package/dist/oauth/oauth-routes.d.ts +0 -3
- package/dist/oauth/oauth-routes.js +0 -377
- package/dist/oauth/provider.d.ts +0 -22
- package/dist/oauth/provider.js +0 -124
- package/dist/oauth/server.d.ts +0 -18
- package/dist/oauth/server.js +0 -160
- package/dist/oauth/types.d.ts +0 -54
- package/dist/oauth/types.js +0 -2
- package/dist/remote-device/templates/auth-success.d.ts +0 -1
- package/dist/remote-device/templates/auth-success.js +0 -30
- package/dist/setup.log +0 -275
- package/dist/test-docx.d.ts +0 -1
- package/dist/test-setup.js +0 -14
- package/dist/tools/docx/builders/html-builder.d.ts +0 -17
- package/dist/tools/docx/builders/html-builder.js +0 -92
- package/dist/tools/docx/builders/image.d.ts +0 -14
- package/dist/tools/docx/builders/image.js +0 -84
- package/dist/tools/docx/builders/index.d.ts +0 -11
- package/dist/tools/docx/builders/index.js +0 -11
- package/dist/tools/docx/builders/markdown-builder.d.ts +0 -2
- package/dist/tools/docx/builders/markdown-builder.js +0 -260
- package/dist/tools/docx/builders/paragraph.d.ts +0 -12
- package/dist/tools/docx/builders/paragraph.js +0 -29
- package/dist/tools/docx/builders/table.d.ts +0 -10
- package/dist/tools/docx/builders/table.js +0 -138
- package/dist/tools/docx/builders/utils.d.ts +0 -5
- package/dist/tools/docx/builders/utils.js +0 -18
- package/dist/tools/docx/constants.d.ts +0 -32
- package/dist/tools/docx/constants.js +0 -61
- package/dist/tools/docx/converters/markdown-to-html.d.ts +0 -17
- package/dist/tools/docx/converters/markdown-to-html.js +0 -111
- package/dist/tools/docx/create.d.ts +0 -21
- package/dist/tools/docx/create.js +0 -386
- package/dist/tools/docx/dom.d.ts +0 -139
- package/dist/tools/docx/dom.js +0 -448
- package/dist/tools/docx/errors.d.ts +0 -28
- package/dist/tools/docx/errors.js +0 -48
- package/dist/tools/docx/extractors/images.d.ts +0 -14
- package/dist/tools/docx/extractors/images.js +0 -40
- package/dist/tools/docx/extractors/metadata.d.ts +0 -14
- package/dist/tools/docx/extractors/metadata.js +0 -64
- package/dist/tools/docx/extractors/sections.d.ts +0 -14
- package/dist/tools/docx/extractors/sections.js +0 -61
- package/dist/tools/docx/html.d.ts +0 -17
- package/dist/tools/docx/html.js +0 -111
- package/dist/tools/docx/index.d.ts +0 -10
- package/dist/tools/docx/index.js +0 -10
- package/dist/tools/docx/markdown.d.ts +0 -84
- package/dist/tools/docx/markdown.js +0 -507
- package/dist/tools/docx/modify.d.ts +0 -28
- package/dist/tools/docx/modify.js +0 -271
- package/dist/tools/docx/operations/handlers/index.d.ts +0 -39
- package/dist/tools/docx/operations/handlers/index.js +0 -152
- package/dist/tools/docx/operations/html-manipulator.d.ts +0 -24
- package/dist/tools/docx/operations/html-manipulator.js +0 -352
- package/dist/tools/docx/operations/index.d.ts +0 -14
- package/dist/tools/docx/operations/index.js +0 -61
- package/dist/tools/docx/operations/operation-handlers.d.ts +0 -3
- package/dist/tools/docx/operations/operation-handlers.js +0 -67
- package/dist/tools/docx/operations/preprocessor.d.ts +0 -14
- package/dist/tools/docx/operations/preprocessor.js +0 -44
- package/dist/tools/docx/operations/xml-replacer.d.ts +0 -9
- package/dist/tools/docx/operations/xml-replacer.js +0 -35
- package/dist/tools/docx/operations.d.ts +0 -13
- package/dist/tools/docx/operations.js +0 -13
- package/dist/tools/docx/ops/delete-paragraph-at-body-index.d.ts +0 -11
- package/dist/tools/docx/ops/delete-paragraph-at-body-index.js +0 -23
- package/dist/tools/docx/ops/header-replace-text-exact.d.ts +0 -13
- package/dist/tools/docx/ops/header-replace-text-exact.js +0 -55
- package/dist/tools/docx/ops/index.d.ts +0 -17
- package/dist/tools/docx/ops/index.js +0 -70
- package/dist/tools/docx/ops/insert-image-after-text.d.ts +0 -24
- package/dist/tools/docx/ops/insert-image-after-text.js +0 -128
- package/dist/tools/docx/ops/insert-paragraph-after-text.d.ts +0 -12
- package/dist/tools/docx/ops/insert-paragraph-after-text.js +0 -74
- package/dist/tools/docx/ops/insert-table-after-text.d.ts +0 -19
- package/dist/tools/docx/ops/insert-table-after-text.js +0 -57
- package/dist/tools/docx/ops/replace-hyperlink-url.d.ts +0 -12
- package/dist/tools/docx/ops/replace-hyperlink-url.js +0 -37
- package/dist/tools/docx/ops/replace-paragraph-at-body-index.d.ts +0 -9
- package/dist/tools/docx/ops/replace-paragraph-at-body-index.js +0 -25
- package/dist/tools/docx/ops/replace-paragraph-text-exact.d.ts +0 -21
- package/dist/tools/docx/ops/replace-paragraph-text-exact.js +0 -36
- package/dist/tools/docx/ops/replace-table-cell-text.d.ts +0 -25
- package/dist/tools/docx/ops/replace-table-cell-text.js +0 -85
- package/dist/tools/docx/ops/set-color-for-paragraph-exact.d.ts +0 -9
- package/dist/tools/docx/ops/set-color-for-paragraph-exact.js +0 -24
- package/dist/tools/docx/ops/set-color-for-style.d.ts +0 -13
- package/dist/tools/docx/ops/set-color-for-style.js +0 -31
- package/dist/tools/docx/ops/set-paragraph-style-at-body-index.d.ts +0 -8
- package/dist/tools/docx/ops/set-paragraph-style-at-body-index.js +0 -57
- package/dist/tools/docx/ops/table-set-cell-text.d.ts +0 -9
- package/dist/tools/docx/ops/table-set-cell-text.js +0 -40
- package/dist/tools/docx/parsers/image-extractor.d.ts +0 -18
- package/dist/tools/docx/parsers/image-extractor.js +0 -61
- package/dist/tools/docx/parsers/index.d.ts +0 -9
- package/dist/tools/docx/parsers/index.js +0 -9
- package/dist/tools/docx/parsers/paragraph-parser.d.ts +0 -2
- package/dist/tools/docx/parsers/paragraph-parser.js +0 -88
- package/dist/tools/docx/parsers/table-parser.d.ts +0 -9
- package/dist/tools/docx/parsers/table-parser.js +0 -72
- package/dist/tools/docx/parsers/xml-parser.d.ts +0 -25
- package/dist/tools/docx/parsers/xml-parser.js +0 -71
- package/dist/tools/docx/parsers/zip-reader.d.ts +0 -23
- package/dist/tools/docx/parsers/zip-reader.js +0 -52
- package/dist/tools/docx/read.d.ts +0 -27
- package/dist/tools/docx/read.js +0 -308
- package/dist/tools/docx/relationships.d.ts +0 -22
- package/dist/tools/docx/relationships.js +0 -76
- package/dist/tools/docx/structure.d.ts +0 -25
- package/dist/tools/docx/structure.js +0 -102
- package/dist/tools/docx/styled-html-parser.d.ts +0 -23
- package/dist/tools/docx/styled-html-parser.js +0 -1262
- package/dist/tools/docx/types.d.ts +0 -213
- package/dist/tools/docx/types.js +0 -5
- package/dist/tools/docx/utils/escaping.d.ts +0 -13
- package/dist/tools/docx/utils/escaping.js +0 -26
- package/dist/tools/docx/utils/images.d.ts +0 -9
- package/dist/tools/docx/utils/images.js +0 -26
- package/dist/tools/docx/utils/index.d.ts +0 -12
- package/dist/tools/docx/utils/index.js +0 -17
- package/dist/tools/docx/utils/markdown.d.ts +0 -13
- package/dist/tools/docx/utils/markdown.js +0 -32
- package/dist/tools/docx/utils/paths.d.ts +0 -15
- package/dist/tools/docx/utils/paths.js +0 -27
- package/dist/tools/docx/utils/versioning.d.ts +0 -25
- package/dist/tools/docx/utils/versioning.js +0 -55
- package/dist/tools/docx/utils.d.ts +0 -101
- package/dist/tools/docx/utils.js +0 -299
- package/dist/tools/docx/validate.d.ts +0 -33
- package/dist/tools/docx/validate.js +0 -49
- package/dist/tools/docx/validators.d.ts +0 -13
- package/dist/tools/docx/validators.js +0 -40
- package/dist/tools/docx/write.d.ts +0 -17
- package/dist/tools/docx/write.js +0 -88
- package/dist/tools/docx/xml-view-test.d.ts +0 -1
- package/dist/tools/docx/xml-view-test.js +0 -63
- package/dist/tools/docx/xml-view.d.ts +0 -56
- package/dist/tools/docx/xml-view.js +0 -169
- package/dist/tools/docx/zip.d.ts +0 -21
- package/dist/tools/docx/zip.js +0 -35
- package/dist/tools/macos-control/ax-adapter.d.ts +0 -55
- package/dist/tools/macos-control/ax-adapter.js +0 -438
- package/dist/tools/macos-control/cdp-adapter.d.ts +0 -23
- package/dist/tools/macos-control/cdp-adapter.js +0 -402
- package/dist/tools/macos-control/orchestrator.d.ts +0 -77
- package/dist/tools/macos-control/orchestrator.js +0 -136
- package/dist/tools/macos-control/role-aliases.d.ts +0 -5
- package/dist/tools/macos-control/role-aliases.js +0 -34
- package/dist/tools/macos-control/types.d.ts +0 -129
- package/dist/tools/macos-control/types.js +0 -1
- package/dist/tools/pdf-processor.d.ts +0 -1
- package/dist/tools/pdf-processor.js +0 -3
- package/dist/tools/search.d.ts +0 -32
- package/dist/tools/search.js +0 -202
- package/dist/ui/file-preview/src/components/toolbar.d.ts +0 -6
- package/dist/ui/file-preview/src/components/toolbar.js +0 -75
- package/dist/ui/shared/host-lifecycle.d.ts +0 -16
- package/dist/ui/shared/host-lifecycle.js +0 -35
- package/dist/ui/shared/rpc-client.d.ts +0 -14
- package/dist/ui/shared/rpc-client.js +0 -72
- package/dist/ui/shared/theme-adaptation.d.ts +0 -10
- package/dist/ui/shared/theme-adaptation.js +0 -118
- package/dist/ui/shared/tool-header.d.ts +0 -9
- package/dist/ui/shared/tool-header.js +0 -25
- package/dist/utils/crash-logger.d.ts +0 -18
- package/dist/utils/crash-logger.js +0 -44
- package/dist/utils/dedent.d.ts +0 -8
- package/dist/utils/dedent.js +0 -38
- /package/dist/{http-server-auto-tunnel.d.ts → ui/file-preview/src/model.js} +0 -0
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
function isObject(value) {
|
|
2
|
-
return typeof value === 'object' && value !== null;
|
|
3
|
-
}
|
|
4
|
-
function normalizeThemeMode(value) {
|
|
5
|
-
if (typeof value !== 'string') {
|
|
6
|
-
return undefined;
|
|
7
|
-
}
|
|
8
|
-
const normalized = value.trim().toLowerCase();
|
|
9
|
-
if (normalized === 'dark' || normalized === 'night') {
|
|
10
|
-
return 'dark';
|
|
11
|
-
}
|
|
12
|
-
if (normalized === 'light' || normalized === 'day') {
|
|
13
|
-
return 'light';
|
|
14
|
-
}
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
function pickThemeCandidate(value) {
|
|
18
|
-
if (!isObject(value)) {
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
const candidates = [
|
|
22
|
-
value.theme,
|
|
23
|
-
value.colorScheme,
|
|
24
|
-
value.appearance,
|
|
25
|
-
value.mode,
|
|
26
|
-
];
|
|
27
|
-
if (isObject(value.context)) {
|
|
28
|
-
candidates.push(value.context, value.context.theme, value.context.colorScheme);
|
|
29
|
-
}
|
|
30
|
-
if (isObject(value.params)) {
|
|
31
|
-
candidates.push(value.params, value.params.theme, value.params.colorScheme, value.params.context);
|
|
32
|
-
}
|
|
33
|
-
return candidates;
|
|
34
|
-
}
|
|
35
|
-
export function resolveThemeMode(value) {
|
|
36
|
-
const direct = normalizeThemeMode(value);
|
|
37
|
-
if (direct) {
|
|
38
|
-
return direct;
|
|
39
|
-
}
|
|
40
|
-
if (!isObject(value)) {
|
|
41
|
-
return undefined;
|
|
42
|
-
}
|
|
43
|
-
for (const candidate of pickThemeCandidate(value)) {
|
|
44
|
-
const resolved = resolveThemeMode(candidate);
|
|
45
|
-
if (resolved) {
|
|
46
|
-
return resolved;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
function isSafeCssVariableName(name) {
|
|
52
|
-
return /^--[a-zA-Z0-9_-]+$/.test(name);
|
|
53
|
-
}
|
|
54
|
-
function extractCssVariableMap(value) {
|
|
55
|
-
if (!isObject(value)) {
|
|
56
|
-
return {};
|
|
57
|
-
}
|
|
58
|
-
const params = isObject(value.params) ? value.params : undefined;
|
|
59
|
-
const paramsContext = params && isObject(params.context) ? params.context : undefined;
|
|
60
|
-
const rawMapCandidates = [
|
|
61
|
-
value.cssVariables,
|
|
62
|
-
value.variables,
|
|
63
|
-
value.tokens,
|
|
64
|
-
isObject(value.theme) ? value.theme.cssVariables : undefined,
|
|
65
|
-
isObject(value.theme) ? value.theme.variables : undefined,
|
|
66
|
-
isObject(value.theme) ? value.theme.tokens : undefined,
|
|
67
|
-
isObject(value.context) ? value.context.cssVariables : undefined,
|
|
68
|
-
isObject(value.context) ? value.context.variables : undefined,
|
|
69
|
-
isObject(value.context) ? value.context.tokens : undefined,
|
|
70
|
-
params ? params.cssVariables : undefined,
|
|
71
|
-
params ? params.variables : undefined,
|
|
72
|
-
params ? params.tokens : undefined,
|
|
73
|
-
paramsContext ? paramsContext.cssVariables : undefined,
|
|
74
|
-
paramsContext ? paramsContext.variables : undefined,
|
|
75
|
-
paramsContext ? paramsContext.tokens : undefined,
|
|
76
|
-
];
|
|
77
|
-
for (const candidate of rawMapCandidates) {
|
|
78
|
-
if (!isObject(candidate)) {
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
const next = {};
|
|
82
|
-
for (const [rawKey, rawValue] of Object.entries(candidate)) {
|
|
83
|
-
if (typeof rawValue !== 'string') {
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
const key = rawKey.startsWith('--') ? rawKey : `--${rawKey}`;
|
|
87
|
-
if (!isSafeCssVariableName(key)) {
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
next[key] = rawValue.trim();
|
|
91
|
-
}
|
|
92
|
-
return next;
|
|
93
|
-
}
|
|
94
|
-
return {};
|
|
95
|
-
}
|
|
96
|
-
function applyCssVariables(root, variableMap) {
|
|
97
|
-
for (const [name, value] of Object.entries(variableMap)) {
|
|
98
|
-
root.style.setProperty(name, value);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
export function createUiThemeAdapter(root = document.documentElement) {
|
|
102
|
-
const applyFromData = (data) => {
|
|
103
|
-
const mode = resolveThemeMode(data);
|
|
104
|
-
const variableMap = extractCssVariableMap(data);
|
|
105
|
-
const hasChanges = Boolean(mode) || Object.keys(variableMap).length > 0;
|
|
106
|
-
if (mode) {
|
|
107
|
-
root.dataset.theme = mode;
|
|
108
|
-
root.style.colorScheme = mode;
|
|
109
|
-
}
|
|
110
|
-
if (Object.keys(variableMap).length > 0) {
|
|
111
|
-
applyCssVariables(root, variableMap);
|
|
112
|
-
}
|
|
113
|
-
return hasChanges;
|
|
114
|
-
};
|
|
115
|
-
return {
|
|
116
|
-
applyFromData,
|
|
117
|
-
};
|
|
118
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reusable header renderer for MCP tool UIs. It provides a consistent title/description/status pattern so each app presents uniform top-of-page context.
|
|
3
|
-
*/
|
|
4
|
-
import { escapeHtml } from './escape-html.js';
|
|
5
|
-
export function renderToolHeader(config) {
|
|
6
|
-
return `
|
|
7
|
-
<header class="toolbar">
|
|
8
|
-
<div class="meta">
|
|
9
|
-
<div class="meta-main">
|
|
10
|
-
<span class="file-pill ${escapeHtml(config.pillClassName ?? '')}">${escapeHtml(config.pillLabel)}</span>
|
|
11
|
-
<div class="meta-text">
|
|
12
|
-
<span class="filename" title="${escapeHtml(config.title)}">${escapeHtml(config.title)}</span>
|
|
13
|
-
<span class="filepath" title="${escapeHtml(config.subtitle)}">${escapeHtml(config.subtitle)}</span>
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="meta-badges">
|
|
17
|
-
${config.badges.map((badge) => `<span class="badge">${escapeHtml(badge)}</span>`).join('')}
|
|
18
|
-
</div>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="actions">
|
|
21
|
-
${config.actionsHtml}
|
|
22
|
-
</div>
|
|
23
|
-
</header>
|
|
24
|
-
`;
|
|
25
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
interface CrashEntry {
|
|
2
|
-
timestamp: string;
|
|
3
|
-
type: 'uncaught_exception' | 'unhandled_rejection' | 'spawn_error' | 'fatal_error';
|
|
4
|
-
error: string;
|
|
5
|
-
stack?: string;
|
|
6
|
-
context?: Record<string, any>;
|
|
7
|
-
exitCode?: number;
|
|
8
|
-
duration?: number;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Initialize crash logging and track session start
|
|
12
|
-
*/
|
|
13
|
-
export declare function initializeCrashLogging(): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* Log a crash event
|
|
16
|
-
*/
|
|
17
|
-
export declare function logCrash(entry: CrashEntry): Promise<void>;
|
|
18
|
-
export { CrashEntry };
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import fs from 'fs/promises';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import os from 'os';
|
|
4
|
-
/**
|
|
5
|
-
* Crash Logger - Logs crashes to a file for debugging
|
|
6
|
-
* Only logs actual crashes (uncaught exceptions), not graceful shutdowns
|
|
7
|
-
*/
|
|
8
|
-
const CRASH_LOG_DIR = path.join(os.homedir(), '.desktop-commander', 'logs');
|
|
9
|
-
const CRASH_LOG_FILE = path.join(CRASH_LOG_DIR, 'crashes.log');
|
|
10
|
-
/**
|
|
11
|
-
* Initialize crash logging and track session start
|
|
12
|
-
*/
|
|
13
|
-
export async function initializeCrashLogging() {
|
|
14
|
-
try {
|
|
15
|
-
// Create log directory if it doesn't exist
|
|
16
|
-
await fs.mkdir(CRASH_LOG_DIR, { recursive: true });
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
// Silently fail - logging shouldn't break the app
|
|
20
|
-
console.error('[CrashLogger] Failed to initialize:', error);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Log a crash event
|
|
25
|
-
*/
|
|
26
|
-
export async function logCrash(entry) {
|
|
27
|
-
try {
|
|
28
|
-
// Append to crash log
|
|
29
|
-
const logEntry = {
|
|
30
|
-
...entry,
|
|
31
|
-
processId: process.pid,
|
|
32
|
-
version: global.DC_VERSION || 'unknown'
|
|
33
|
-
};
|
|
34
|
-
const logLine = JSON.stringify(logEntry);
|
|
35
|
-
await fs.appendFile(CRASH_LOG_FILE, logLine + '\n');
|
|
36
|
-
// Also log to stderr immediately so it's visible
|
|
37
|
-
console.error(`[CRASH LOGGED] ${entry.type}: ${entry.error}`);
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
// Fallback: write to stderr if file logging fails
|
|
41
|
-
console.error('[CrashLogger] Failed to log crash:', error);
|
|
42
|
-
console.error('[CrashLogger] Original crash:', entry);
|
|
43
|
-
}
|
|
44
|
-
}
|
package/dist/utils/dedent.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Removes common leading whitespace from all lines in a template literal.
|
|
3
|
-
* This function helps clean up indented template literals used for tool descriptions.
|
|
4
|
-
*
|
|
5
|
-
* @param text - The template literal string with potential leading whitespace
|
|
6
|
-
* @returns The dedented string with leading whitespace removed
|
|
7
|
-
*/
|
|
8
|
-
export declare function dedent(text: string): string;
|
package/dist/utils/dedent.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Removes common leading whitespace from all lines in a template literal.
|
|
3
|
-
* This function helps clean up indented template literals used for tool descriptions.
|
|
4
|
-
*
|
|
5
|
-
* @param text - The template literal string with potential leading whitespace
|
|
6
|
-
* @returns The dedented string with leading whitespace removed
|
|
7
|
-
*/
|
|
8
|
-
export function dedent(text) {
|
|
9
|
-
// Split into lines
|
|
10
|
-
const lines = text.split('\n');
|
|
11
|
-
// Remove first and last lines if they're empty
|
|
12
|
-
if (lines[0] === '')
|
|
13
|
-
lines.shift();
|
|
14
|
-
if (lines[lines.length - 1] === '')
|
|
15
|
-
lines.pop();
|
|
16
|
-
// If no lines remain, return empty string
|
|
17
|
-
if (lines.length === 0)
|
|
18
|
-
return '';
|
|
19
|
-
// Find the minimum indentation (excluding empty lines)
|
|
20
|
-
let minIndent = Infinity;
|
|
21
|
-
for (const line of lines) {
|
|
22
|
-
if (line.trim() === '')
|
|
23
|
-
continue; // Skip empty lines
|
|
24
|
-
const indent = line.match(/^(\s*)/)?.[1]?.length || 0;
|
|
25
|
-
minIndent = Math.min(minIndent, indent);
|
|
26
|
-
}
|
|
27
|
-
// If no indentation found, return as-is
|
|
28
|
-
if (minIndent === 0 || minIndent === Infinity) {
|
|
29
|
-
return lines.join('\n');
|
|
30
|
-
}
|
|
31
|
-
// Remove the common indentation from all lines
|
|
32
|
-
const dedentedLines = lines.map(line => {
|
|
33
|
-
if (line.trim() === '')
|
|
34
|
-
return ''; // Keep empty lines empty
|
|
35
|
-
return line.slice(minIndent);
|
|
36
|
-
});
|
|
37
|
-
return dedentedLines.join('\n');
|
|
38
|
-
}
|
|
File without changes
|