@mseep/clawdcursor 1.5.5
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/CHANGELOG.md +2264 -0
- package/LICENSE +21 -0
- package/README.md +385 -0
- package/SECURITY.md +44 -0
- package/SKILL.md +503 -0
- package/dist/core/agent-loop/agent.d.ts +42 -0
- package/dist/core/agent-loop/agent.js +1023 -0
- package/dist/core/agent-loop/agent.js.map +1 -0
- package/dist/core/agent-loop/batch-tool.d.ts +25 -0
- package/dist/core/agent-loop/batch-tool.js +218 -0
- package/dist/core/agent-loop/batch-tool.js.map +1 -0
- package/dist/core/agent-loop/coord-scale.d.ts +72 -0
- package/dist/core/agent-loop/coord-scale.js +89 -0
- package/dist/core/agent-loop/coord-scale.js.map +1 -0
- package/dist/core/agent-loop/focus-guard.d.ts +24 -0
- package/dist/core/agent-loop/focus-guard.js +29 -0
- package/dist/core/agent-loop/focus-guard.js.map +1 -0
- package/dist/core/agent-loop/project-mcp.d.ts +97 -0
- package/dist/core/agent-loop/project-mcp.js +253 -0
- package/dist/core/agent-loop/project-mcp.js.map +1 -0
- package/dist/core/agent-loop/prompt.d.ts +45 -0
- package/dist/core/agent-loop/prompt.js +426 -0
- package/dist/core/agent-loop/prompt.js.map +1 -0
- package/dist/core/agent-loop/tool-meta.d.ts +93 -0
- package/dist/core/agent-loop/tool-meta.js +651 -0
- package/dist/core/agent-loop/tool-meta.js.map +1 -0
- package/dist/core/agent-loop/tools.d.ts +38 -0
- package/dist/core/agent-loop/tools.js +2134 -0
- package/dist/core/agent-loop/tools.js.map +1 -0
- package/dist/core/agent-loop/types.d.ts +170 -0
- package/dist/core/agent-loop/types.js +12 -0
- package/dist/core/agent-loop/types.js.map +1 -0
- package/dist/core/agent.d.ts +51 -0
- package/dist/core/agent.js +245 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/app-categories.d.ts +67 -0
- package/dist/core/app-categories.js +108 -0
- package/dist/core/app-categories.js.map +1 -0
- package/dist/core/banner.d.ts +70 -0
- package/dist/core/banner.js +245 -0
- package/dist/core/banner.js.map +1 -0
- package/dist/core/classify/capability.d.ts +45 -0
- package/dist/core/classify/capability.js +78 -0
- package/dist/core/classify/capability.js.map +1 -0
- package/dist/core/decompose/llm-decomposer.d.ts +35 -0
- package/dist/core/decompose/llm-decomposer.js +156 -0
- package/dist/core/decompose/llm-decomposer.js.map +1 -0
- package/dist/core/decompose/parser.d.ts +27 -0
- package/dist/core/decompose/parser.js +101 -0
- package/dist/core/decompose/parser.js.map +1 -0
- package/dist/core/observability/correlation.d.ts +19 -0
- package/dist/core/observability/correlation.js +36 -0
- package/dist/core/observability/correlation.js.map +1 -0
- package/dist/core/observability/cost-meter.d.ts +51 -0
- package/dist/core/observability/cost-meter.js +134 -0
- package/dist/core/observability/cost-meter.js.map +1 -0
- package/dist/core/observability/logger.d.ts +61 -0
- package/dist/core/observability/logger.js +550 -0
- package/dist/core/observability/logger.js.map +1 -0
- package/dist/core/router/aliases.d.ts +50 -0
- package/dist/core/router/aliases.js +104 -0
- package/dist/core/router/aliases.js.map +1 -0
- package/dist/core/router/normalize.d.ts +41 -0
- package/dist/core/router/normalize.js +80 -0
- package/dist/core/router/normalize.js.map +1 -0
- package/dist/core/safety.d.ts +126 -0
- package/dist/core/safety.js +568 -0
- package/dist/core/safety.js.map +1 -0
- package/dist/core/sense/a11y-resolver.d.ts +73 -0
- package/dist/core/sense/a11y-resolver.js +76 -0
- package/dist/core/sense/a11y-resolver.js.map +1 -0
- package/dist/core/sense/fingerprint.d.ts +41 -0
- package/dist/core/sense/fingerprint.js +123 -0
- package/dist/core/sense/fingerprint.js.map +1 -0
- package/dist/core/sense/rank.d.ts +70 -0
- package/dist/core/sense/rank.js +192 -0
- package/dist/core/sense/rank.js.map +1 -0
- package/dist/core/sense/reactive-check.d.ts +40 -0
- package/dist/core/sense/reactive-check.js +48 -0
- package/dist/core/sense/reactive-check.js.map +1 -0
- package/dist/core/sense/snapshot.d.ts +19 -0
- package/dist/core/sense/snapshot.js +100 -0
- package/dist/core/sense/snapshot.js.map +1 -0
- package/dist/core/sense/types.d.ts +66 -0
- package/dist/core/sense/types.js +9 -0
- package/dist/core/sense/types.js.map +1 -0
- package/dist/core/sense/ui-map-anchors.d.ts +7 -0
- package/dist/core/sense/ui-map-anchors.js +24 -0
- package/dist/core/sense/ui-map-anchors.js.map +1 -0
- package/dist/core/sense/ui-map-elements.d.ts +5 -0
- package/dist/core/sense/ui-map-elements.js +33 -0
- package/dist/core/sense/ui-map-elements.js.map +1 -0
- package/dist/core/sense/ui-map-find.d.ts +56 -0
- package/dist/core/sense/ui-map-find.js +153 -0
- package/dist/core/sense/ui-map-find.js.map +1 -0
- package/dist/core/sense/ui-map-fuse.d.ts +4 -0
- package/dist/core/sense/ui-map-fuse.js +44 -0
- package/dist/core/sense/ui-map-fuse.js.map +1 -0
- package/dist/core/sense/ui-map-geom.d.ts +3 -0
- package/dist/core/sense/ui-map-geom.js +16 -0
- package/dist/core/sense/ui-map-geom.js.map +1 -0
- package/dist/core/sense/ui-map-holder.d.ts +58 -0
- package/dist/core/sense/ui-map-holder.js +87 -0
- package/dist/core/sense/ui-map-holder.js.map +1 -0
- package/dist/core/sense/ui-map-normalize.d.ts +19 -0
- package/dist/core/sense/ui-map-normalize.js +65 -0
- package/dist/core/sense/ui-map-normalize.js.map +1 -0
- package/dist/core/sense/ui-map-render.d.ts +4 -0
- package/dist/core/sense/ui-map-render.js +34 -0
- package/dist/core/sense/ui-map-render.js.map +1 -0
- package/dist/core/sense/ui-map-resolve.d.ts +41 -0
- package/dist/core/sense/ui-map-resolve.js +59 -0
- package/dist/core/sense/ui-map-resolve.js.map +1 -0
- package/dist/core/sense/ui-map-types.d.ts +66 -0
- package/dist/core/sense/ui-map-types.js +11 -0
- package/dist/core/sense/ui-map-types.js.map +1 -0
- package/dist/core/sense/ui-map.d.ts +29 -0
- package/dist/core/sense/ui-map.js +113 -0
- package/dist/core/sense/ui-map.js.map +1 -0
- package/dist/core/verify/assertions.d.ts +132 -0
- package/dist/core/verify/assertions.js +284 -0
- package/dist/core/verify/assertions.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/browser-config.d.ts +36 -0
- package/dist/llm/browser-config.js +83 -0
- package/dist/llm/browser-config.js.map +1 -0
- package/dist/llm/client.d.ts +268 -0
- package/dist/llm/client.js +1094 -0
- package/dist/llm/client.js.map +1 -0
- package/dist/llm/config.d.ts +79 -0
- package/dist/llm/config.js +375 -0
- package/dist/llm/config.js.map +1 -0
- package/dist/llm/credentials.d.ts +35 -0
- package/dist/llm/credentials.js +491 -0
- package/dist/llm/credentials.js.map +1 -0
- package/dist/llm/external-creds.d.ts +42 -0
- package/dist/llm/external-creds.js +169 -0
- package/dist/llm/external-creds.js.map +1 -0
- package/dist/llm/providers.d.ts +123 -0
- package/dist/llm/providers.js +717 -0
- package/dist/llm/providers.js.map +1 -0
- package/dist/paths.d.ts +31 -0
- package/dist/paths.js +147 -0
- package/dist/paths.js.map +1 -0
- package/dist/platform/accessibility.d.ts +139 -0
- package/dist/platform/accessibility.js +670 -0
- package/dist/platform/accessibility.js.map +1 -0
- package/dist/platform/cdp-driver.d.ts +318 -0
- package/dist/platform/cdp-driver.js +1179 -0
- package/dist/platform/cdp-driver.js.map +1 -0
- package/dist/platform/index.d.ts +11 -0
- package/dist/platform/index.js +69 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/keys.d.ts +17 -0
- package/dist/platform/keys.js +129 -0
- package/dist/platform/keys.js.map +1 -0
- package/dist/platform/launch-poll.d.ts +101 -0
- package/dist/platform/launch-poll.js +177 -0
- package/dist/platform/launch-poll.js.map +1 -0
- package/dist/platform/linux.d.ts +173 -0
- package/dist/platform/linux.js +1253 -0
- package/dist/platform/linux.js.map +1 -0
- package/dist/platform/macos.d.ts +136 -0
- package/dist/platform/macos.js +976 -0
- package/dist/platform/macos.js.map +1 -0
- package/dist/platform/native-desktop.d.ts +145 -0
- package/dist/platform/native-desktop.js +936 -0
- package/dist/platform/native-desktop.js.map +1 -0
- package/dist/platform/native-helper.d.ts +130 -0
- package/dist/platform/native-helper.js +592 -0
- package/dist/platform/native-helper.js.map +1 -0
- package/dist/platform/ocr-engine.d.ts +78 -0
- package/dist/platform/ocr-engine.js +363 -0
- package/dist/platform/ocr-engine.js.map +1 -0
- package/dist/platform/ps-runner.d.ts +28 -0
- package/dist/platform/ps-runner.js +228 -0
- package/dist/platform/ps-runner.js.map +1 -0
- package/dist/platform/types.d.ts +397 -0
- package/dist/platform/types.js +15 -0
- package/dist/platform/types.js.map +1 -0
- package/dist/platform/uri-handler.d.ts +75 -0
- package/dist/platform/uri-handler.js +273 -0
- package/dist/platform/uri-handler.js.map +1 -0
- package/dist/platform/wayland-backend.d.ts +53 -0
- package/dist/platform/wayland-backend.js +348 -0
- package/dist/platform/wayland-backend.js.map +1 -0
- package/dist/platform/windows.d.ts +232 -0
- package/dist/platform/windows.js +1210 -0
- package/dist/platform/windows.js.map +1 -0
- package/dist/postbuild.d.ts +10 -0
- package/dist/postbuild.js +98 -0
- package/dist/postbuild.js.map +1 -0
- package/dist/schema/snapshot.d.ts +33 -0
- package/dist/schema/snapshot.js +90 -0
- package/dist/schema/snapshot.js.map +1 -0
- package/dist/shortcuts.d.ts +30 -0
- package/dist/shortcuts.js +261 -0
- package/dist/shortcuts.js.map +1 -0
- package/dist/surface/cli.d.ts +7 -0
- package/dist/surface/cli.js +1556 -0
- package/dist/surface/cli.js.map +1 -0
- package/dist/surface/dashboard.d.ts +8 -0
- package/dist/surface/dashboard.js +1193 -0
- package/dist/surface/dashboard.js.map +1 -0
- package/dist/surface/doctor.d.ts +29 -0
- package/dist/surface/doctor.js +1514 -0
- package/dist/surface/doctor.js.map +1 -0
- package/dist/surface/format.d.ts +10 -0
- package/dist/surface/format.js +37 -0
- package/dist/surface/format.js.map +1 -0
- package/dist/surface/http-utility.d.ts +65 -0
- package/dist/surface/http-utility.js +336 -0
- package/dist/surface/http-utility.js.map +1 -0
- package/dist/surface/mcp-server.d.ts +91 -0
- package/dist/surface/mcp-server.js +280 -0
- package/dist/surface/mcp-server.js.map +1 -0
- package/dist/surface/onboarding.d.ts +15 -0
- package/dist/surface/onboarding.js +184 -0
- package/dist/surface/onboarding.js.map +1 -0
- package/dist/surface/pidfile.d.ts +79 -0
- package/dist/surface/pidfile.js +263 -0
- package/dist/surface/pidfile.js.map +1 -0
- package/dist/surface/readiness.d.ts +45 -0
- package/dist/surface/readiness.js +230 -0
- package/dist/surface/readiness.js.map +1 -0
- package/dist/surface/report.d.ts +68 -0
- package/dist/surface/report.js +341 -0
- package/dist/surface/report.js.map +1 -0
- package/dist/surface/skill-register.d.ts +14 -0
- package/dist/surface/skill-register.js +150 -0
- package/dist/surface/skill-register.js.map +1 -0
- package/dist/surface/version.d.ts +6 -0
- package/dist/surface/version.js +27 -0
- package/dist/surface/version.js.map +1 -0
- package/dist/tools/a11y.d.ts +8 -0
- package/dist/tools/a11y.js +545 -0
- package/dist/tools/a11y.js.map +1 -0
- package/dist/tools/a11y_depth.d.ts +19 -0
- package/dist/tools/a11y_depth.js +455 -0
- package/dist/tools/a11y_depth.js.map +1 -0
- package/dist/tools/agent.d.ts +15 -0
- package/dist/tools/agent.js +248 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/batch.d.ts +46 -0
- package/dist/tools/batch.js +230 -0
- package/dist/tools/batch.js.map +1 -0
- package/dist/tools/cdp.d.ts +8 -0
- package/dist/tools/cdp.js +233 -0
- package/dist/tools/cdp.js.map +1 -0
- package/dist/tools/compact.d.ts +63 -0
- package/dist/tools/compact.js +418 -0
- package/dist/tools/compact.js.map +1 -0
- package/dist/tools/cost-class.d.ts +38 -0
- package/dist/tools/cost-class.js +117 -0
- package/dist/tools/cost-class.js.map +1 -0
- package/dist/tools/desktop.d.ts +9 -0
- package/dist/tools/desktop.js +346 -0
- package/dist/tools/desktop.js.map +1 -0
- package/dist/tools/electron_bridge.d.ts +41 -0
- package/dist/tools/electron_bridge.js +261 -0
- package/dist/tools/electron_bridge.js.map +1 -0
- package/dist/tools/extras.d.ts +22 -0
- package/dist/tools/extras.js +942 -0
- package/dist/tools/extras.js.map +1 -0
- package/dist/tools/favorites.d.ts +13 -0
- package/dist/tools/favorites.js +137 -0
- package/dist/tools/favorites.js.map +1 -0
- package/dist/tools/introspection.d.ts +13 -0
- package/dist/tools/introspection.js +55 -0
- package/dist/tools/introspection.js.map +1 -0
- package/dist/tools/ocr.d.ts +8 -0
- package/dist/tools/ocr.js +66 -0
- package/dist/tools/ocr.js.map +1 -0
- package/dist/tools/orchestration.d.ts +7 -0
- package/dist/tools/orchestration.js +377 -0
- package/dist/tools/orchestration.js.map +1 -0
- package/dist/tools/playbooks/extract-compose.d.ts +22 -0
- package/dist/tools/playbooks/extract-compose.js +85 -0
- package/dist/tools/playbooks/extract-compose.js.map +1 -0
- package/dist/tools/playbooks/find-replace.d.ts +11 -0
- package/dist/tools/playbooks/find-replace.js +56 -0
- package/dist/tools/playbooks/find-replace.js.map +1 -0
- package/dist/tools/playbooks/index.d.ts +63 -0
- package/dist/tools/playbooks/index.js +70 -0
- package/dist/tools/playbooks/index.js.map +1 -0
- package/dist/tools/playbooks/keys-blocklist.d.ts +24 -0
- package/dist/tools/playbooks/keys-blocklist.js +89 -0
- package/dist/tools/playbooks/keys-blocklist.js.map +1 -0
- package/dist/tools/registry.d.ts +40 -0
- package/dist/tools/registry.js +560 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/safety-gate.d.ts +16 -0
- package/dist/tools/safety-gate.js +70 -0
- package/dist/tools/safety-gate.js.map +1 -0
- package/dist/tools/scheduler.d.ts +76 -0
- package/dist/tools/scheduler.js +413 -0
- package/dist/tools/scheduler.js.map +1 -0
- package/dist/tools/shortcuts.d.ts +13 -0
- package/dist/tools/shortcuts.js +205 -0
- package/dist/tools/shortcuts.js.map +1 -0
- package/dist/tools/smart.d.ts +15 -0
- package/dist/tools/smart.js +785 -0
- package/dist/tools/smart.js.map +1 -0
- package/dist/tools/types.d.ts +174 -0
- package/dist/tools/types.js +67 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/window-text.d.ts +15 -0
- package/dist/tools/window-text.js +39 -0
- package/dist/tools/window-text.js.map +1 -0
- package/dist/types.d.ts +122 -0
- package/dist/types.js +41 -0
- package/dist/types.js.map +1 -0
- package/native/Package.swift +38 -0
- package/native/README.md +113 -0
- package/native/Sources/ClawdCursorHelper/main.swift +602 -0
- package/native/Sources/ClawdCursorHost/main.swift +182 -0
- package/native/Sources/PermissionCheck/main.swift +53 -0
- package/native/Sources/ScreenshotHelper/main.swift +219 -0
- package/native/build.sh +139 -0
- package/native/entitlements.plist +12 -0
- package/package.json +115 -0
- package/scripts/banner.ps1 +112 -0
- package/scripts/coord-accuracy.ps1 +140 -0
- package/scripts/coord-uwp.ps1 +80 -0
- package/scripts/edge-glow.ps1 +180 -0
- package/scripts/find-element.ps1 +198 -0
- package/scripts/get-foreground-window.ps1 +71 -0
- package/scripts/get-screen-context.ps1 +183 -0
- package/scripts/get-windows.ps1 +66 -0
- package/scripts/install-panic-hotkey.ps1 +46 -0
- package/scripts/interact-element.ps1 +431 -0
- package/scripts/invoke-element.ps1 +314 -0
- package/scripts/linux/atspi-bridge.py +356 -0
- package/scripts/linux/ocr-recognize.py +154 -0
- package/scripts/mac/_window-picker.jxa +163 -0
- package/scripts/mac/find-element.jxa +0 -0
- package/scripts/mac/find-element.sh +161 -0
- package/scripts/mac/focus-window.jxa +284 -0
- package/scripts/mac/get-focused-element.jxa +102 -0
- package/scripts/mac/get-foreground-window.jxa +173 -0
- package/scripts/mac/get-screen-context.jxa +197 -0
- package/scripts/mac/get-ui-tree.sh +141 -0
- package/scripts/mac/get-windows.jxa +117 -0
- package/scripts/mac/interact-element.sh +235 -0
- package/scripts/mac/invoke-element.jxa +408 -0
- package/scripts/mac/ocr-recognize.swift +124 -0
- package/scripts/ocr-recognize.ps1 +102 -0
- package/scripts/postinstall-native.js +48 -0
- package/scripts/ps-bridge.ps1 +830 -0
- package/scripts/smoke-mcp.ps1 +119 -0
- package/scripts/sync-version.ts +178 -0
- package/scripts/verify-install.js +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/surface/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal formatting utilities.
|
|
3
|
+
*
|
|
4
|
+
* Emoji gate: Windows terminals not in UTF-8 mode render emoji as garbled characters.
|
|
5
|
+
* Detects capable terminals and provides ASCII fallbacks.
|
|
6
|
+
*/
|
|
7
|
+
/** Whether the current terminal can render emoji safely */
|
|
8
|
+
export declare const canEmoji: any;
|
|
9
|
+
/** Emoji with ASCII fallback for non-capable terminals */
|
|
10
|
+
export declare function e(emoji: string, fallback: string): string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Terminal formatting utilities.
|
|
4
|
+
*
|
|
5
|
+
* Emoji gate: Windows terminals not in UTF-8 mode render emoji as garbled characters.
|
|
6
|
+
* Detects capable terminals and provides ASCII fallbacks.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.canEmoji = void 0;
|
|
10
|
+
exports.e = e;
|
|
11
|
+
/** Whether the current terminal can render emoji safely */
|
|
12
|
+
exports.canEmoji = (() => {
|
|
13
|
+
if (process.env.NO_COLOR)
|
|
14
|
+
return false;
|
|
15
|
+
if (process.platform !== 'win32')
|
|
16
|
+
return true;
|
|
17
|
+
// Windows Terminal sets WT_SESSION
|
|
18
|
+
if (process.env.WT_SESSION)
|
|
19
|
+
return true;
|
|
20
|
+
// VS Code integrated terminal
|
|
21
|
+
if (process.env.TERM_PROGRAM === 'vscode')
|
|
22
|
+
return true;
|
|
23
|
+
// Check if console codepage is UTF-8
|
|
24
|
+
try {
|
|
25
|
+
const { execSync } = require('child_process');
|
|
26
|
+
const cp = execSync('chcp', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
|
|
27
|
+
return cp.includes('65001');
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
})();
|
|
33
|
+
/** Emoji with ASCII fallback for non-capable terminals */
|
|
34
|
+
function e(emoji, fallback) {
|
|
35
|
+
return exports.canEmoji ? emoji : fallback;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/surface/format.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAqBH,cAEC;AArBD,2DAA2D;AAC9C,QAAA,QAAQ,GAAG,CAAC,GAAG,EAAE;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9C,mCAAmC;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IACxC,8BAA8B;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,0DAA0D;AAC1D,SAAgB,CAAC,CAAC,KAAa,EAAE,QAAgB;IAC/C,OAAO,gBAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP utility surface — the small set of plain-HTTP routes that survived
|
|
3
|
+
* the v0.9 PR7 cutover when REST endpoints were collapsed into MCP tools.
|
|
4
|
+
*
|
|
5
|
+
* Surviving routes (they're operational endpoints, not tools):
|
|
6
|
+
* GET /health — readiness probe (no auth, returns JSON status)
|
|
7
|
+
* POST /stop — graceful shutdown (Bearer auth, localhost only)
|
|
8
|
+
* GET / — single-page dashboard (mountDashboard wires this)
|
|
9
|
+
*
|
|
10
|
+
* Everything else moved to MCP tools and is exposed via the streamable
|
|
11
|
+
* HTTP transport at /mcp. See src/mcp-server.ts.
|
|
12
|
+
*
|
|
13
|
+
* Auth — the daemon generates a 32-byte Bearer token on startup, persists
|
|
14
|
+
* it to ~/.clawdcursor/token, and the same requireAuth() middleware here
|
|
15
|
+
* gates /stop and /mcp. /health and / (dashboard) are public; the
|
|
16
|
+
* dashboard's inline JS reads the token from a server-injected placeholder
|
|
17
|
+
* and uses it for /mcp calls.
|
|
18
|
+
*/
|
|
19
|
+
import express from 'express';
|
|
20
|
+
/**
|
|
21
|
+
* True when `host` resolves to the local loopback interface. The MCP surface
|
|
22
|
+
* controls the desktop, so the daemon refuses to bind anywhere else unless the
|
|
23
|
+
* operator passes `--allow-remote` (issue #113 — the bearer token must not be
|
|
24
|
+
* the ONLY thing between the LAN and full desktop control by default).
|
|
25
|
+
*/
|
|
26
|
+
export declare function isLoopbackHost(host: string): boolean;
|
|
27
|
+
export declare let SERVER_TOKEN: string;
|
|
28
|
+
/** Initialize the auth token. Called once from the daemon's listen callback. */
|
|
29
|
+
export declare function initServerToken(): string;
|
|
30
|
+
export declare function requireAuth(req: express.Request, res: express.Response, next: express.NextFunction): void;
|
|
31
|
+
interface LogEntry {
|
|
32
|
+
timestamp: number;
|
|
33
|
+
level: 'info' | 'success' | 'warn' | 'error';
|
|
34
|
+
message: string;
|
|
35
|
+
}
|
|
36
|
+
/** Read-only snapshot accessor for the captured log buffer. */
|
|
37
|
+
export declare function getServerLogBuffer(): LogEntry[];
|
|
38
|
+
export interface UtilityServerOptions {
|
|
39
|
+
/** Called when /stop is invoked (graceful shutdown). */
|
|
40
|
+
onStop: () => void | Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Called when /abort is invoked (and first on /stop): abort the in-flight
|
|
43
|
+
* agent task WITHOUT shutting the daemon down. Optional — a tools-only
|
|
44
|
+
* daemon has no agent to abort.
|
|
45
|
+
*/
|
|
46
|
+
onAbort?: () => void;
|
|
47
|
+
/** Optional host — used only for the dashboard CORS warning. */
|
|
48
|
+
host?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Build the surviving plain-HTTP surface: /, /health, /stop. The MCP
|
|
52
|
+
* transport at /mcp must be mounted by the caller (it shares the auth
|
|
53
|
+
* gate exported above).
|
|
54
|
+
*/
|
|
55
|
+
export declare function createUtilityServer(options: UtilityServerOptions): express.Express;
|
|
56
|
+
/**
|
|
57
|
+
* JSON 404 fallthrough — every consumer of this surface is a program;
|
|
58
|
+
* Express's default HTML error page is noise to them (endpoint smoke
|
|
59
|
+
* 2026-06-12). MUST be mounted LAST, after every real route — the daemon
|
|
60
|
+
* registers /mcp on the app AFTER createUtilityServer returns, so this
|
|
61
|
+
* cannot live inside it (middleware runs in registration order and would
|
|
62
|
+
* swallow /mcp).
|
|
63
|
+
*/
|
|
64
|
+
export declare function mountJson404(app: express.Express): void;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* HTTP utility surface — the small set of plain-HTTP routes that survived
|
|
4
|
+
* the v0.9 PR7 cutover when REST endpoints were collapsed into MCP tools.
|
|
5
|
+
*
|
|
6
|
+
* Surviving routes (they're operational endpoints, not tools):
|
|
7
|
+
* GET /health — readiness probe (no auth, returns JSON status)
|
|
8
|
+
* POST /stop — graceful shutdown (Bearer auth, localhost only)
|
|
9
|
+
* GET / — single-page dashboard (mountDashboard wires this)
|
|
10
|
+
*
|
|
11
|
+
* Everything else moved to MCP tools and is exposed via the streamable
|
|
12
|
+
* HTTP transport at /mcp. See src/mcp-server.ts.
|
|
13
|
+
*
|
|
14
|
+
* Auth — the daemon generates a 32-byte Bearer token on startup, persists
|
|
15
|
+
* it to ~/.clawdcursor/token, and the same requireAuth() middleware here
|
|
16
|
+
* gates /stop and /mcp. /health and / (dashboard) are public; the
|
|
17
|
+
* dashboard's inline JS reads the token from a server-injected placeholder
|
|
18
|
+
* and uses it for /mcp calls.
|
|
19
|
+
*/
|
|
20
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.SERVER_TOKEN = void 0;
|
|
25
|
+
exports.isLoopbackHost = isLoopbackHost;
|
|
26
|
+
exports.initServerToken = initServerToken;
|
|
27
|
+
exports.requireAuth = requireAuth;
|
|
28
|
+
exports.getServerLogBuffer = getServerLogBuffer;
|
|
29
|
+
exports.createUtilityServer = createUtilityServer;
|
|
30
|
+
exports.mountJson404 = mountJson404;
|
|
31
|
+
const express_1 = __importDefault(require("express"));
|
|
32
|
+
const fs_1 = require("fs");
|
|
33
|
+
const path_1 = require("path");
|
|
34
|
+
const crypto_1 = require("crypto");
|
|
35
|
+
const dashboard_1 = require("./dashboard");
|
|
36
|
+
const version_1 = require("./version");
|
|
37
|
+
const paths_1 = require("../paths");
|
|
38
|
+
const format_1 = require("./format");
|
|
39
|
+
const TOKEN_PATH = (0, path_1.join)(paths_1.DATA_DIR, 'token');
|
|
40
|
+
/**
|
|
41
|
+
* True when `host` resolves to the local loopback interface. The MCP surface
|
|
42
|
+
* controls the desktop, so the daemon refuses to bind anywhere else unless the
|
|
43
|
+
* operator passes `--allow-remote` (issue #113 — the bearer token must not be
|
|
44
|
+
* the ONLY thing between the LAN and full desktop control by default).
|
|
45
|
+
*/
|
|
46
|
+
function isLoopbackHost(host) {
|
|
47
|
+
const h = (host ?? '').trim().toLowerCase();
|
|
48
|
+
if (h === 'localhost' || h === '::1' || h === '0:0:0:0:0:0:0:1')
|
|
49
|
+
return true;
|
|
50
|
+
if (/^127(\.\d{1,3}){3}$/.test(h))
|
|
51
|
+
return true; // whole 127/8 block
|
|
52
|
+
if (h === '::ffff:127.0.0.1')
|
|
53
|
+
return true; // IPv4-mapped loopback
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
// ── Bearer token state ──────────────────────────────────────────────────
|
|
57
|
+
//
|
|
58
|
+
// The token is generated lazily — only when the daemon binds its port
|
|
59
|
+
// (see initServerToken). This prevents CLI commands like `stop`, `task`,
|
|
60
|
+
// or `consent` from overwriting the running server's token file when they
|
|
61
|
+
// import this module.
|
|
62
|
+
//
|
|
63
|
+
// v0.8.2 silent-401 fix: requireAuth accepts EITHER the in-memory
|
|
64
|
+
// SERVER_TOKEN or whatever's currently on disk. A second clawdcursor
|
|
65
|
+
// process that rotates the file won't silently 401 clients that read the
|
|
66
|
+
// new token from disk.
|
|
67
|
+
exports.SERVER_TOKEN = '';
|
|
68
|
+
function generateToken() {
|
|
69
|
+
const token = (0, crypto_1.randomBytes)(32).toString('hex');
|
|
70
|
+
try {
|
|
71
|
+
if (!(0, fs_1.existsSync)(paths_1.DATA_DIR))
|
|
72
|
+
(0, fs_1.mkdirSync)(paths_1.DATA_DIR, { recursive: true });
|
|
73
|
+
(0, fs_1.writeFileSync)(TOKEN_PATH, token, { encoding: 'utf-8', mode: 0o600 });
|
|
74
|
+
}
|
|
75
|
+
catch (tokenErr) {
|
|
76
|
+
console.warn(`${(0, format_1.e)('⚠', '[WARN]')} Could not write auth token file:`, tokenErr.message);
|
|
77
|
+
}
|
|
78
|
+
return token;
|
|
79
|
+
}
|
|
80
|
+
/** Initialize the auth token. Called once from the daemon's listen callback. */
|
|
81
|
+
function initServerToken() {
|
|
82
|
+
exports.SERVER_TOKEN = generateToken();
|
|
83
|
+
diskTokenCache = { token: exports.SERVER_TOKEN, mtimeMs: Date.now(), nextCheckMs: 0 };
|
|
84
|
+
return exports.SERVER_TOKEN;
|
|
85
|
+
}
|
|
86
|
+
let diskTokenCache = null;
|
|
87
|
+
const DISK_TOKEN_TTL_MS = 500;
|
|
88
|
+
function currentDiskToken() {
|
|
89
|
+
const now = Date.now();
|
|
90
|
+
try {
|
|
91
|
+
if (diskTokenCache && now < diskTokenCache.nextCheckMs) {
|
|
92
|
+
return diskTokenCache.token;
|
|
93
|
+
}
|
|
94
|
+
const stat = (0, fs_1.statSync)(TOKEN_PATH);
|
|
95
|
+
const mtimeMs = stat.mtimeMs;
|
|
96
|
+
if (diskTokenCache && diskTokenCache.mtimeMs === mtimeMs) {
|
|
97
|
+
diskTokenCache.nextCheckMs = now + DISK_TOKEN_TTL_MS;
|
|
98
|
+
return diskTokenCache.token;
|
|
99
|
+
}
|
|
100
|
+
const token = (0, fs_1.readFileSync)(TOKEN_PATH, 'utf-8').trim();
|
|
101
|
+
diskTokenCache = { token, mtimeMs, nextCheckMs: now + DISK_TOKEN_TTL_MS };
|
|
102
|
+
return token;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return '';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** Constant-time token compare — no byte-level timing leak on localhost. */
|
|
109
|
+
function timingSafeTokenEqual(received, expected) {
|
|
110
|
+
if (!received || !expected)
|
|
111
|
+
return false;
|
|
112
|
+
const a = Buffer.from(received, 'utf8');
|
|
113
|
+
const b = Buffer.from(expected, 'utf8');
|
|
114
|
+
if (a.length !== b.length) {
|
|
115
|
+
require('crypto').timingSafeEqual(a, a);
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
return require('crypto').timingSafeEqual(a, b);
|
|
119
|
+
}
|
|
120
|
+
let loggedTokenDrift = false;
|
|
121
|
+
function readCookieToken(req) {
|
|
122
|
+
const raw = req.headers.cookie;
|
|
123
|
+
if (!raw)
|
|
124
|
+
return '';
|
|
125
|
+
for (const part of raw.split(';')) {
|
|
126
|
+
const [k, ...rest] = part.trim().split('=');
|
|
127
|
+
if (k === 'clawdcursor_token')
|
|
128
|
+
return decodeURIComponent(rest.join('='));
|
|
129
|
+
}
|
|
130
|
+
return '';
|
|
131
|
+
}
|
|
132
|
+
function requireAuth(req, res, next) {
|
|
133
|
+
const authHeader = req.headers['authorization'] || '';
|
|
134
|
+
const headerToken = authHeader.startsWith('Bearer ') ? authHeader.slice(7) : '';
|
|
135
|
+
const cookieToken = readCookieToken(req);
|
|
136
|
+
const received = headerToken || cookieToken;
|
|
137
|
+
const memoryOk = timingSafeTokenEqual(received, exports.SERVER_TOKEN);
|
|
138
|
+
let diskOk = false;
|
|
139
|
+
// /stop and /abort are localhost-only SHUTDOWN controls: accept the current
|
|
140
|
+
// on-disk token for them even without CLAWD_ALLOW_DISK_TOKEN_DRIFT. The token
|
|
141
|
+
// file is owner-only (0600) and these endpoints only stop the daemon (no data
|
|
142
|
+
// or tool access), so tolerating a drifted disk token here makes
|
|
143
|
+
// `clawdcursor stop` reliable across daemon restarts/churn WITHOUT weakening
|
|
144
|
+
// the powerful /mcp tool surface, which stays strict (in-memory token only).
|
|
145
|
+
const isShutdownEndpoint = req.path === '/stop' || req.path === '/abort';
|
|
146
|
+
if (!memoryOk && (isShutdownEndpoint || process.env.CLAWD_ALLOW_DISK_TOKEN_DRIFT === '1')) {
|
|
147
|
+
const diskToken = currentDiskToken();
|
|
148
|
+
if (diskToken && diskToken !== exports.SERVER_TOKEN) {
|
|
149
|
+
if (!loggedTokenDrift && process.env.CLAWD_ALLOW_DISK_TOKEN_DRIFT === '1') {
|
|
150
|
+
loggedTokenDrift = true;
|
|
151
|
+
console.warn(`${(0, format_1.e)('⚠', '[WARN]')} Auth token file was rewritten by another process. ` +
|
|
152
|
+
`Accepting either the original or the new token to avoid silent 401s. ` +
|
|
153
|
+
`Run \`clawdcursor stop\` once and restart if you want a single canonical token.`);
|
|
154
|
+
}
|
|
155
|
+
diskOk = timingSafeTokenEqual(received, diskToken);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (!memoryOk && !diskOk) {
|
|
159
|
+
res.status(401).json({ error: 'Unauthorized — include Authorization: Bearer <token> header. Token is at ~/.clawdcursor/token' });
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
next();
|
|
163
|
+
}
|
|
164
|
+
const MAX_LOGS = 200;
|
|
165
|
+
const logBuffer = [];
|
|
166
|
+
const MAX_LOG_MSG_LEN = 500;
|
|
167
|
+
function addLog(level, message) {
|
|
168
|
+
const truncated = message.length > MAX_LOG_MSG_LEN
|
|
169
|
+
? message.slice(0, MAX_LOG_MSG_LEN) + '…'
|
|
170
|
+
: message;
|
|
171
|
+
logBuffer.push({ timestamp: Date.now(), level, message: truncated });
|
|
172
|
+
if (logBuffer.length > MAX_LOGS) {
|
|
173
|
+
logBuffer.splice(0, logBuffer.length - MAX_LOGS);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
let consoleHooked = false;
|
|
177
|
+
function hookConsole() {
|
|
178
|
+
if (consoleHooked)
|
|
179
|
+
return;
|
|
180
|
+
consoleHooked = true;
|
|
181
|
+
const origLog = console.log;
|
|
182
|
+
const origError = console.error;
|
|
183
|
+
const origWarn = console.warn;
|
|
184
|
+
console.log = (...args) => {
|
|
185
|
+
origLog.apply(console, args);
|
|
186
|
+
const msg = args.map(a => typeof a === 'string' ? a : JSON.stringify(a)).join(' ');
|
|
187
|
+
const lower = msg.toLowerCase();
|
|
188
|
+
if (lower.includes('error') || lower.includes('failed') || lower.includes('❌')) {
|
|
189
|
+
addLog('error', msg);
|
|
190
|
+
}
|
|
191
|
+
else if (lower.includes('✅') || lower.includes('success') || lower.includes('completed')) {
|
|
192
|
+
addLog('success', msg);
|
|
193
|
+
}
|
|
194
|
+
else if (lower.includes('⚠') || lower.includes('warn')) {
|
|
195
|
+
addLog('warn', msg);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
addLog('info', msg);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
console.error = (...args) => {
|
|
202
|
+
origError.apply(console, args);
|
|
203
|
+
const msg = args.map(a => typeof a === 'string' ? a : (a instanceof Error ? a.message : JSON.stringify(a))).join(' ');
|
|
204
|
+
addLog('error', msg);
|
|
205
|
+
};
|
|
206
|
+
console.warn = (...args) => {
|
|
207
|
+
origWarn.apply(console, args);
|
|
208
|
+
const msg = args.map(a => typeof a === 'string' ? a : JSON.stringify(a)).join(' ');
|
|
209
|
+
addLog('warn', msg);
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/** Read-only snapshot accessor for the captured log buffer. */
|
|
213
|
+
function getServerLogBuffer() {
|
|
214
|
+
return logBuffer.slice();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Build the surviving plain-HTTP surface: /, /health, /stop. The MCP
|
|
218
|
+
* transport at /mcp must be mounted by the caller (it shares the auth
|
|
219
|
+
* gate exported above).
|
|
220
|
+
*/
|
|
221
|
+
function createUtilityServer(options) {
|
|
222
|
+
hookConsole();
|
|
223
|
+
const app = (0, express_1.default)();
|
|
224
|
+
app.use(express_1.default.json());
|
|
225
|
+
// ── CORS ──
|
|
226
|
+
// Block browser-origin requests to prevent SSRF / localhost-bypass
|
|
227
|
+
// attacks. The dashboard at GET / is exempt (browser tab); all other
|
|
228
|
+
// routes require either no Origin (curl/CLI) or an allowed localhost
|
|
229
|
+
// origin.
|
|
230
|
+
app.use((req, res, next) => {
|
|
231
|
+
const origin = req.headers['origin'];
|
|
232
|
+
const allowedOrigins = [
|
|
233
|
+
'http://localhost:3847',
|
|
234
|
+
'http://127.0.0.1:3847',
|
|
235
|
+
];
|
|
236
|
+
if (origin) {
|
|
237
|
+
if (allowedOrigins.includes(origin)) {
|
|
238
|
+
res.setHeader('Access-Control-Allow-Origin', origin);
|
|
239
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET,POST,DELETE,OPTIONS');
|
|
240
|
+
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, Mcp-Session-Id');
|
|
241
|
+
res.setHeader('Vary', 'Origin');
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
if (req.method === 'OPTIONS') {
|
|
245
|
+
res.status(204).end();
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
res.status(403).json({ error: 'Cross-origin requests not allowed' });
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
if (req.method === 'OPTIONS') {
|
|
253
|
+
res.status(204).end();
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
next();
|
|
257
|
+
});
|
|
258
|
+
// Handle malformed JSON gracefully.
|
|
259
|
+
app.use((err, _req, res, next) => {
|
|
260
|
+
if (err.type === 'entity.parse.failed') {
|
|
261
|
+
return res.status(400).json({ error: 'Invalid JSON in request body' });
|
|
262
|
+
}
|
|
263
|
+
next(err);
|
|
264
|
+
});
|
|
265
|
+
// Mount the dashboard at GET /. SECURITY: token is injected into page JS;
|
|
266
|
+
// only safe when bound to localhost.
|
|
267
|
+
if (options.host && options.host !== '127.0.0.1' && options.host !== 'localhost') {
|
|
268
|
+
console.warn(`${(0, format_1.e)('⚠️', '[WARN]')} Dashboard token exposed in page JS — only safe on localhost (current host: ${options.host})`);
|
|
269
|
+
}
|
|
270
|
+
(0, dashboard_1.mountDashboard)(app, () => exports.SERVER_TOKEN);
|
|
271
|
+
// GET /health — public readiness probe.
|
|
272
|
+
app.get('/health', (_req, res) => {
|
|
273
|
+
res.json({ status: 'ok', version: version_1.VERSION });
|
|
274
|
+
});
|
|
275
|
+
// POST /abort — Bearer-gated, localhost-only: abort the in-flight agent
|
|
276
|
+
// task WITHOUT shutting the daemon down. Restored route: the legacy REST
|
|
277
|
+
// surface (src/server.ts) had it, v0.9 PR7.4 deleted it with the rest of
|
|
278
|
+
// REST — but `clawdcursor stop` still calls /abort first, so stop became
|
|
279
|
+
// a hard kill that never let the agent acknowledge ("aborted by user").
|
|
280
|
+
app.post('/abort', requireAuth, (req, res) => {
|
|
281
|
+
const ip = req.ip || req.socket.remoteAddress || '';
|
|
282
|
+
const isLocal = ip === '127.0.0.1' || ip === '::1' || ip === '::ffff:127.0.0.1';
|
|
283
|
+
if (!isLocal) {
|
|
284
|
+
return res.status(403).json({ error: 'Abort is only allowed from localhost' });
|
|
285
|
+
}
|
|
286
|
+
console.log(`\n${(0, format_1.e)('⏹', '--')} Abort requested — stopping the in-flight task...`);
|
|
287
|
+
try {
|
|
288
|
+
options.onAbort?.();
|
|
289
|
+
}
|
|
290
|
+
catch { /* non-fatal */ }
|
|
291
|
+
res.json({ aborted: true });
|
|
292
|
+
});
|
|
293
|
+
// POST /stop — Bearer-gated, localhost-only graceful shutdown.
|
|
294
|
+
app.post('/stop', requireAuth, (req, res) => {
|
|
295
|
+
const ip = req.ip || req.socket.remoteAddress || '';
|
|
296
|
+
const isLocal = ip === '127.0.0.1' || ip === '::1' || ip === '::ffff:127.0.0.1';
|
|
297
|
+
if (!isLocal) {
|
|
298
|
+
return res.status(403).json({ error: 'Stop is only allowed from localhost' });
|
|
299
|
+
}
|
|
300
|
+
const body = JSON.stringify({ stopped: true, message: 'Clawd Cursor stopped' });
|
|
301
|
+
res.writeHead(200, { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(body) });
|
|
302
|
+
res.end(body, () => {
|
|
303
|
+
console.log(`\n${(0, format_1.e)('👋', '--')} Shutting down (stop command received)...`);
|
|
304
|
+
// Abort the in-flight agent task FIRST so the loop can settle and
|
|
305
|
+
// print its "aborted by user" acknowledgment, then give onStop a
|
|
306
|
+
// bounded grace window before exiting. Previously this exited a flat
|
|
307
|
+
// 500ms after the response — a hard kill mid-turn with no output.
|
|
308
|
+
try {
|
|
309
|
+
options.onAbort?.();
|
|
310
|
+
}
|
|
311
|
+
catch { /* non-fatal */ }
|
|
312
|
+
const grace = Promise.resolve().then(() => options.onStop()).catch(() => { });
|
|
313
|
+
const cap = new Promise(resolve => setTimeout(resolve, 2500));
|
|
314
|
+
void Promise.race([grace, cap]).then(() => process.exit(0));
|
|
315
|
+
});
|
|
316
|
+
setTimeout(() => process.exit(1), 6000); // hard-kill safety net
|
|
317
|
+
});
|
|
318
|
+
return app;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* JSON 404 fallthrough — every consumer of this surface is a program;
|
|
322
|
+
* Express's default HTML error page is noise to them (endpoint smoke
|
|
323
|
+
* 2026-06-12). MUST be mounted LAST, after every real route — the daemon
|
|
324
|
+
* registers /mcp on the app AFTER createUtilityServer returns, so this
|
|
325
|
+
* cannot live inside it (middleware runs in registration order and would
|
|
326
|
+
* swallow /mcp).
|
|
327
|
+
*/
|
|
328
|
+
function mountJson404(app) {
|
|
329
|
+
app.use((req, res) => {
|
|
330
|
+
res.status(404).json({
|
|
331
|
+
error: `No such endpoint: ${req.method} ${req.path}`,
|
|
332
|
+
endpoints: ['GET /', 'GET /health', 'POST /mcp', 'GET /mcp', 'POST /abort', 'POST /stop'],
|
|
333
|
+
});
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=http-utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-utility.js","sourceRoot":"","sources":["../../src/surface/http-utility.ts"],"names":[],"mappings":"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"}
|