@becrafter/prompt-manager 0.0.19 → 0.1.2
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 +145 -234
- package/app/desktop/assets/app.1.png +0 -0
- package/app/desktop/assets/app.png +0 -0
- package/app/desktop/assets/icons/icon.icns +0 -0
- package/app/desktop/assets/icons/icon.ico +0 -0
- package/app/desktop/assets/icons/icon.png +0 -0
- package/app/desktop/assets/icons/tray.png +0 -0
- package/app/desktop/assets/tray.1.png +0 -0
- package/app/desktop/assets/tray.png +0 -0
- package/app/desktop/main.js +27 -0
- package/app/desktop/package-lock.json +201 -4
- package/app/desktop/package.json +23 -29
- package/app/desktop/src/services/module-loader.js +43 -22
- package/app/desktop/src/services/runtime-manager.js +172 -23
- package/app/desktop/src/services/update-manager.js +6 -7
- package/app/desktop/src/ui/admin-window-manager.js +757 -0
- package/app/desktop/src/ui/splash-manager.js +253 -0
- package/app/desktop/src/ui/tray-manager.js +8 -24
- package/app/desktop/src/utils/icon-manager.js +39 -47
- package/app/desktop/src/utils/resource-paths.js +0 -23
- package/app/desktop/src/utils/resource-sync.js +260 -0
- package/app/desktop/src/utils/runtime-sync.js +241 -0
- package/examples/prompts/recommend/human_3-0_growth_diagnostic_coach_prompt.yaml +105 -0
- package/package.json +16 -13
- package/packages/admin-ui/.babelrc +3 -0
- package/packages/admin-ui/admin.html +237 -4784
- package/packages/admin-ui/css/main.css +2592 -0
- package/packages/admin-ui/css/recommended-prompts.css +610 -0
- package/packages/admin-ui/package-lock.json +6973 -0
- package/packages/admin-ui/package.json +36 -0
- package/packages/admin-ui/src/codemirror.js +53 -0
- package/packages/admin-ui/src/index.js +3188 -0
- package/packages/admin-ui/webpack.config.js +76 -0
- package/packages/resources/tools/chrome-devtools/README.md +310 -0
- package/packages/resources/tools/chrome-devtools/chrome-devtools.tool.js +1703 -0
- package/packages/resources/tools/file-reader/README.md +289 -0
- package/packages/resources/tools/file-reader/file-reader.tool.js +1545 -0
- package/packages/resources/tools/filesystem/README.md +359 -0
- package/packages/resources/tools/filesystem/filesystem.tool.js +514 -160
- package/packages/resources/tools/ollama-remote/README.md +192 -0
- package/packages/resources/tools/ollama-remote/ollama-remote.tool.js +421 -0
- package/packages/resources/tools/pdf-reader/README.md +236 -0
- package/packages/resources/tools/pdf-reader/pdf-reader.tool.js +565 -0
- package/packages/resources/tools/playwright/README.md +306 -0
- package/packages/resources/tools/playwright/playwright.tool.js +1186 -0
- package/packages/resources/tools/todolist/README.md +394 -0
- package/packages/resources/tools/todolist/todolist.tool.js +1312 -0
- package/packages/server/README.md +142 -0
- package/packages/server/api/admin.routes.js +42 -11
- package/packages/server/api/surge.routes.js +43 -0
- package/packages/server/app.js +119 -14
- package/packages/server/index.js +39 -0
- package/packages/server/mcp/mcp.server.js +324 -105
- package/packages/server/mcp/sequential-thinking.handler.js +318 -0
- package/packages/server/mcp/think-plan.handler.js +274 -0
- package/packages/server/middlewares/auth.middleware.js +6 -0
- package/packages/server/package.json +51 -0
- package/packages/server/server.js +37 -1
- package/packages/server/toolm/index.js +9 -0
- package/packages/server/toolm/package-installer.service.js +267 -0
- package/packages/server/toolm/test-tools.js +264 -0
- package/packages/server/toolm/tool-context.service.js +334 -0
- package/packages/server/toolm/tool-dependency.service.js +168 -0
- package/packages/server/toolm/tool-description-generator-optimized.service.js +375 -0
- package/packages/server/toolm/tool-description-generator.service.js +312 -0
- package/packages/server/toolm/tool-environment.service.js +200 -0
- package/packages/server/toolm/tool-execution.service.js +277 -0
- package/packages/server/toolm/tool-loader.service.js +219 -0
- package/packages/server/toolm/tool-logger.service.js +223 -0
- package/packages/server/toolm/tool-manager.handler.js +65 -0
- package/packages/server/toolm/tool-manual-generator.service.js +389 -0
- package/packages/server/toolm/tool-mode-handlers.service.js +224 -0
- package/packages/server/toolm/tool-storage.service.js +111 -0
- package/packages/server/toolm/tool-sync.service.js +138 -0
- package/packages/server/toolm/tool-utils.js +20 -0
- package/packages/server/toolm/tool-yaml-parser.service.js +81 -0
- package/packages/server/toolm/validate-system.js +421 -0
- package/packages/server/utils/config.js +49 -5
- package/packages/server/utils/util.js +65 -10
- package/scripts/build-icons.js +99 -69
- package/scripts/build.sh +57 -0
- package/scripts/surge/CNAME +1 -0
- package/scripts/surge/README.md +47 -0
- package/scripts/surge/package-lock.json +34 -0
- package/scripts/surge/package.json +20 -0
- package/scripts/surge/sync-to-surge.js +151 -0
- package/app/desktop/assets/icons/icon_1024x1024.png +0 -0
- package/app/desktop/assets/icons/icon_128x128.png +0 -0
- package/app/desktop/assets/icons/icon_16x16.png +0 -0
- package/app/desktop/assets/icons/icon_24x24.png +0 -0
- package/app/desktop/assets/icons/icon_256x256.png +0 -0
- package/app/desktop/assets/icons/icon_32x32.png +0 -0
- package/app/desktop/assets/icons/icon_48x48.png +0 -0
- package/app/desktop/assets/icons/icon_512x512.png +0 -0
- package/app/desktop/assets/icons/icon_64x64.png +0 -0
- package/app/desktop/assets/icons/icon_96x96.png +0 -0
- package/packages/admin-ui/js/closebrackets.min.js +0 -8
- package/packages/admin-ui/js/codemirror.min.js +0 -8
- package/packages/admin-ui/js/js-yaml.min.js +0 -2
- package/packages/admin-ui/js/markdown.min.js +0 -8
- package/packages/resources/tools/index.js +0 -16
- package/packages/server/mcp/toolx.handler.js +0 -131
- package/scripts/icns-builder/package.json +0 -12
- /package/packages/server/mcp/{mcp.handler.js → prompt.handler.js} +0 -0
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@becrafter/prompt-desktop",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@becrafter/prompt-desktop",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.1.2",
|
|
10
10
|
"dependencies": {
|
|
11
|
+
"@becrafter/prompt-manager-core": "file:../../packages/server",
|
|
11
12
|
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
13
|
+
"http-proxy-middleware": "^3.0.5",
|
|
12
14
|
"tar": "^7.5.2"
|
|
13
15
|
},
|
|
14
16
|
"devDependencies": {
|
|
@@ -16,6 +18,31 @@
|
|
|
16
18
|
"electron-builder": "^24.13.3"
|
|
17
19
|
}
|
|
18
20
|
},
|
|
21
|
+
"../../packages/server": {
|
|
22
|
+
"name": "@becrafter/prompt-manager-core",
|
|
23
|
+
"version": "0.0.24",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@electron/asar": "^4.0.1",
|
|
27
|
+
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
28
|
+
"@npmcli/arborist": "^9.0.0",
|
|
29
|
+
"cors": "^2.8.5",
|
|
30
|
+
"dotenv": "^17.2.3",
|
|
31
|
+
"express": "^5.1.0",
|
|
32
|
+
"fs-extra": "^11.2.0",
|
|
33
|
+
"http-proxy-middleware": "^3.0.5",
|
|
34
|
+
"js-yaml": "^4.1.0",
|
|
35
|
+
"yaml": "^2.4.1",
|
|
36
|
+
"zod": "^3.23.8"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"esbuild": "^0.27.0"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"node_modules/@becrafter/prompt-manager-core": {
|
|
43
|
+
"resolved": "../../packages/server",
|
|
44
|
+
"link": true
|
|
45
|
+
},
|
|
19
46
|
"node_modules/@develar/schema-utils": {
|
|
20
47
|
"version": "2.6.5",
|
|
21
48
|
"resolved": "https://registry.npmmirror.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz",
|
|
@@ -610,6 +637,15 @@
|
|
|
610
637
|
"dev": true,
|
|
611
638
|
"license": "MIT"
|
|
612
639
|
},
|
|
640
|
+
"node_modules/@types/http-proxy": {
|
|
641
|
+
"version": "1.17.17",
|
|
642
|
+
"resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.17.tgz",
|
|
643
|
+
"integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==",
|
|
644
|
+
"license": "MIT",
|
|
645
|
+
"dependencies": {
|
|
646
|
+
"@types/node": "*"
|
|
647
|
+
}
|
|
648
|
+
},
|
|
613
649
|
"node_modules/@types/keyv": {
|
|
614
650
|
"version": "3.1.4",
|
|
615
651
|
"resolved": "https://registry.npmmirror.com/@types/keyv/-/keyv-3.1.4.tgz",
|
|
@@ -631,7 +667,6 @@
|
|
|
631
667
|
"version": "22.19.0",
|
|
632
668
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.0.tgz",
|
|
633
669
|
"integrity": "sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==",
|
|
634
|
-
"dev": true,
|
|
635
670
|
"license": "MIT",
|
|
636
671
|
"dependencies": {
|
|
637
672
|
"undici-types": "~6.21.0"
|
|
@@ -1178,6 +1213,18 @@
|
|
|
1178
1213
|
"balanced-match": "^1.0.0"
|
|
1179
1214
|
}
|
|
1180
1215
|
},
|
|
1216
|
+
"node_modules/braces": {
|
|
1217
|
+
"version": "3.0.3",
|
|
1218
|
+
"resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
|
|
1219
|
+
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
|
1220
|
+
"license": "MIT",
|
|
1221
|
+
"dependencies": {
|
|
1222
|
+
"fill-range": "^7.1.1"
|
|
1223
|
+
},
|
|
1224
|
+
"engines": {
|
|
1225
|
+
"node": ">=8"
|
|
1226
|
+
}
|
|
1227
|
+
},
|
|
1181
1228
|
"node_modules/buffer": {
|
|
1182
1229
|
"version": "5.7.1",
|
|
1183
1230
|
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
|
|
@@ -2338,6 +2385,12 @@
|
|
|
2338
2385
|
"node": ">= 0.6"
|
|
2339
2386
|
}
|
|
2340
2387
|
},
|
|
2388
|
+
"node_modules/eventemitter3": {
|
|
2389
|
+
"version": "4.0.7",
|
|
2390
|
+
"resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
|
|
2391
|
+
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
|
|
2392
|
+
"license": "MIT"
|
|
2393
|
+
},
|
|
2341
2394
|
"node_modules/eventsource": {
|
|
2342
2395
|
"version": "3.0.7",
|
|
2343
2396
|
"resolved": "https://registry.npmmirror.com/eventsource/-/eventsource-3.0.7.tgz",
|
|
@@ -2480,6 +2533,18 @@
|
|
|
2480
2533
|
"minimatch": "^5.0.1"
|
|
2481
2534
|
}
|
|
2482
2535
|
},
|
|
2536
|
+
"node_modules/fill-range": {
|
|
2537
|
+
"version": "7.1.1",
|
|
2538
|
+
"resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
|
|
2539
|
+
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
|
2540
|
+
"license": "MIT",
|
|
2541
|
+
"dependencies": {
|
|
2542
|
+
"to-regex-range": "^5.0.1"
|
|
2543
|
+
},
|
|
2544
|
+
"engines": {
|
|
2545
|
+
"node": ">=8"
|
|
2546
|
+
}
|
|
2547
|
+
},
|
|
2483
2548
|
"node_modules/finalhandler": {
|
|
2484
2549
|
"version": "2.1.0",
|
|
2485
2550
|
"resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-2.1.0.tgz",
|
|
@@ -2497,6 +2562,26 @@
|
|
|
2497
2562
|
"node": ">= 0.8"
|
|
2498
2563
|
}
|
|
2499
2564
|
},
|
|
2565
|
+
"node_modules/follow-redirects": {
|
|
2566
|
+
"version": "1.15.11",
|
|
2567
|
+
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz",
|
|
2568
|
+
"integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
|
|
2569
|
+
"funding": [
|
|
2570
|
+
{
|
|
2571
|
+
"type": "individual",
|
|
2572
|
+
"url": "https://github.com/sponsors/RubenVerborgh"
|
|
2573
|
+
}
|
|
2574
|
+
],
|
|
2575
|
+
"license": "MIT",
|
|
2576
|
+
"engines": {
|
|
2577
|
+
"node": ">=4.0"
|
|
2578
|
+
},
|
|
2579
|
+
"peerDependenciesMeta": {
|
|
2580
|
+
"debug": {
|
|
2581
|
+
"optional": true
|
|
2582
|
+
}
|
|
2583
|
+
}
|
|
2584
|
+
},
|
|
2500
2585
|
"node_modules/foreground-child": {
|
|
2501
2586
|
"version": "3.3.1",
|
|
2502
2587
|
"resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.1.tgz",
|
|
@@ -2951,6 +3036,20 @@
|
|
|
2951
3036
|
"node": ">= 0.8"
|
|
2952
3037
|
}
|
|
2953
3038
|
},
|
|
3039
|
+
"node_modules/http-proxy": {
|
|
3040
|
+
"version": "1.18.1",
|
|
3041
|
+
"resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz",
|
|
3042
|
+
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
|
|
3043
|
+
"license": "MIT",
|
|
3044
|
+
"dependencies": {
|
|
3045
|
+
"eventemitter3": "^4.0.0",
|
|
3046
|
+
"follow-redirects": "^1.0.0",
|
|
3047
|
+
"requires-port": "^1.0.0"
|
|
3048
|
+
},
|
|
3049
|
+
"engines": {
|
|
3050
|
+
"node": ">=8.0.0"
|
|
3051
|
+
}
|
|
3052
|
+
},
|
|
2954
3053
|
"node_modules/http-proxy-agent": {
|
|
2955
3054
|
"version": "5.0.0",
|
|
2956
3055
|
"resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
|
|
@@ -2966,6 +3065,23 @@
|
|
|
2966
3065
|
"node": ">= 6"
|
|
2967
3066
|
}
|
|
2968
3067
|
},
|
|
3068
|
+
"node_modules/http-proxy-middleware": {
|
|
3069
|
+
"version": "3.0.5",
|
|
3070
|
+
"resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz",
|
|
3071
|
+
"integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==",
|
|
3072
|
+
"license": "MIT",
|
|
3073
|
+
"dependencies": {
|
|
3074
|
+
"@types/http-proxy": "^1.17.15",
|
|
3075
|
+
"debug": "^4.3.6",
|
|
3076
|
+
"http-proxy": "^1.18.1",
|
|
3077
|
+
"is-glob": "^4.0.3",
|
|
3078
|
+
"is-plain-object": "^5.0.0",
|
|
3079
|
+
"micromatch": "^4.0.8"
|
|
3080
|
+
},
|
|
3081
|
+
"engines": {
|
|
3082
|
+
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
|
|
3083
|
+
}
|
|
3084
|
+
},
|
|
2969
3085
|
"node_modules/http2-wrapper": {
|
|
2970
3086
|
"version": "1.0.3",
|
|
2971
3087
|
"resolved": "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
|
|
@@ -3085,6 +3201,15 @@
|
|
|
3085
3201
|
"is-ci": "bin.js"
|
|
3086
3202
|
}
|
|
3087
3203
|
},
|
|
3204
|
+
"node_modules/is-extglob": {
|
|
3205
|
+
"version": "2.1.1",
|
|
3206
|
+
"resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
|
|
3207
|
+
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
|
3208
|
+
"license": "MIT",
|
|
3209
|
+
"engines": {
|
|
3210
|
+
"node": ">=0.10.0"
|
|
3211
|
+
}
|
|
3212
|
+
},
|
|
3088
3213
|
"node_modules/is-fullwidth-code-point": {
|
|
3089
3214
|
"version": "3.0.0",
|
|
3090
3215
|
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
|
@@ -3095,6 +3220,36 @@
|
|
|
3095
3220
|
"node": ">=8"
|
|
3096
3221
|
}
|
|
3097
3222
|
},
|
|
3223
|
+
"node_modules/is-glob": {
|
|
3224
|
+
"version": "4.0.3",
|
|
3225
|
+
"resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
|
|
3226
|
+
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
|
3227
|
+
"license": "MIT",
|
|
3228
|
+
"dependencies": {
|
|
3229
|
+
"is-extglob": "^2.1.1"
|
|
3230
|
+
},
|
|
3231
|
+
"engines": {
|
|
3232
|
+
"node": ">=0.10.0"
|
|
3233
|
+
}
|
|
3234
|
+
},
|
|
3235
|
+
"node_modules/is-number": {
|
|
3236
|
+
"version": "7.0.0",
|
|
3237
|
+
"resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
|
|
3238
|
+
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
|
3239
|
+
"license": "MIT",
|
|
3240
|
+
"engines": {
|
|
3241
|
+
"node": ">=0.12.0"
|
|
3242
|
+
}
|
|
3243
|
+
},
|
|
3244
|
+
"node_modules/is-plain-object": {
|
|
3245
|
+
"version": "5.0.0",
|
|
3246
|
+
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
|
3247
|
+
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
|
3248
|
+
"license": "MIT",
|
|
3249
|
+
"engines": {
|
|
3250
|
+
"node": ">=0.10.0"
|
|
3251
|
+
}
|
|
3252
|
+
},
|
|
3098
3253
|
"node_modules/is-promise": {
|
|
3099
3254
|
"version": "4.0.0",
|
|
3100
3255
|
"resolved": "https://registry.npmmirror.com/is-promise/-/is-promise-4.0.0.tgz",
|
|
@@ -3400,6 +3555,19 @@
|
|
|
3400
3555
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
3401
3556
|
}
|
|
3402
3557
|
},
|
|
3558
|
+
"node_modules/micromatch": {
|
|
3559
|
+
"version": "4.0.8",
|
|
3560
|
+
"resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
|
|
3561
|
+
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
|
3562
|
+
"license": "MIT",
|
|
3563
|
+
"dependencies": {
|
|
3564
|
+
"braces": "^3.0.3",
|
|
3565
|
+
"picomatch": "^2.3.1"
|
|
3566
|
+
},
|
|
3567
|
+
"engines": {
|
|
3568
|
+
"node": ">=8.6"
|
|
3569
|
+
}
|
|
3570
|
+
},
|
|
3403
3571
|
"node_modules/mime": {
|
|
3404
3572
|
"version": "2.6.0",
|
|
3405
3573
|
"resolved": "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz",
|
|
@@ -3694,6 +3862,18 @@
|
|
|
3694
3862
|
"dev": true,
|
|
3695
3863
|
"license": "ISC"
|
|
3696
3864
|
},
|
|
3865
|
+
"node_modules/picomatch": {
|
|
3866
|
+
"version": "2.3.1",
|
|
3867
|
+
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
|
|
3868
|
+
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
|
3869
|
+
"license": "MIT",
|
|
3870
|
+
"engines": {
|
|
3871
|
+
"node": ">=8.6"
|
|
3872
|
+
},
|
|
3873
|
+
"funding": {
|
|
3874
|
+
"url": "https://github.com/sponsors/jonschlinkert"
|
|
3875
|
+
}
|
|
3876
|
+
},
|
|
3697
3877
|
"node_modules/pkce-challenge": {
|
|
3698
3878
|
"version": "5.0.0",
|
|
3699
3879
|
"resolved": "https://registry.npmmirror.com/pkce-challenge/-/pkce-challenge-5.0.0.tgz",
|
|
@@ -3906,6 +4086,12 @@
|
|
|
3906
4086
|
"node": ">=0.10.0"
|
|
3907
4087
|
}
|
|
3908
4088
|
},
|
|
4089
|
+
"node_modules/requires-port": {
|
|
4090
|
+
"version": "1.0.0",
|
|
4091
|
+
"resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz",
|
|
4092
|
+
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
|
4093
|
+
"license": "MIT"
|
|
4094
|
+
},
|
|
3909
4095
|
"node_modules/resolve-alpn": {
|
|
3910
4096
|
"version": "1.2.1",
|
|
3911
4097
|
"resolved": "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
|
|
@@ -4507,6 +4693,18 @@
|
|
|
4507
4693
|
"tmp": "^0.2.0"
|
|
4508
4694
|
}
|
|
4509
4695
|
},
|
|
4696
|
+
"node_modules/to-regex-range": {
|
|
4697
|
+
"version": "5.0.1",
|
|
4698
|
+
"resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
|
4699
|
+
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
|
4700
|
+
"license": "MIT",
|
|
4701
|
+
"dependencies": {
|
|
4702
|
+
"is-number": "^7.0.0"
|
|
4703
|
+
},
|
|
4704
|
+
"engines": {
|
|
4705
|
+
"node": ">=8.0"
|
|
4706
|
+
}
|
|
4707
|
+
},
|
|
4510
4708
|
"node_modules/toidentifier": {
|
|
4511
4709
|
"version": "1.0.1",
|
|
4512
4710
|
"resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
|
|
@@ -4572,7 +4770,6 @@
|
|
|
4572
4770
|
"version": "6.21.0",
|
|
4573
4771
|
"resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz",
|
|
4574
4772
|
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
|
4575
|
-
"dev": true,
|
|
4576
4773
|
"license": "MIT"
|
|
4577
4774
|
},
|
|
4578
4775
|
"node_modules/universalify": {
|
package/app/desktop/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@becrafter/prompt-desktop",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Menu bar desktop wrapper for @becrafter/prompt-manager",
|
|
5
5
|
"author": "BeCrafter",
|
|
6
6
|
"homepage": "https://github.com/BeCrafter/prompt-manager",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"dev": "electron .",
|
|
11
11
|
"start": "npm run dev",
|
|
12
|
-
"prebuild": "
|
|
12
|
+
"prebuild": "cd ../.. && npm run build:icons",
|
|
13
13
|
"build": "electron-builder"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
"electron-builder": "^24.13.3"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
+
"@becrafter/prompt-manager-core": "file:../../packages/server",
|
|
20
21
|
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
22
|
+
"http-proxy-middleware": "^3.0.5",
|
|
21
23
|
"tar": "^7.5.2"
|
|
22
24
|
},
|
|
23
25
|
"build": {
|
|
@@ -27,9 +29,18 @@
|
|
|
27
29
|
"files": [
|
|
28
30
|
"**/*",
|
|
29
31
|
"assets/**/*",
|
|
32
|
+
"!docs",
|
|
33
|
+
"!.npmignore",
|
|
34
|
+
"!assets/**/*.1.png",
|
|
30
35
|
"!node_modules/**/test/**",
|
|
31
36
|
"!node_modules/**/example/**",
|
|
32
|
-
"!
|
|
37
|
+
"!node_modules/**/*.md",
|
|
38
|
+
"!node_modules/**/LICENSE",
|
|
39
|
+
{
|
|
40
|
+
"from": "../../packages/web/",
|
|
41
|
+
"to": "web/",
|
|
42
|
+
"filter": ["**/*"]
|
|
43
|
+
}
|
|
33
44
|
],
|
|
34
45
|
"directories": {
|
|
35
46
|
"output": "../../dist",
|
|
@@ -37,34 +48,18 @@
|
|
|
37
48
|
},
|
|
38
49
|
"extraResources": [
|
|
39
50
|
{
|
|
40
|
-
"from": "../../",
|
|
41
|
-
"to": "
|
|
42
|
-
"filter": [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"!node_modules/7zip-bin/mac/**/*",
|
|
48
|
-
"!node_modules/@img/sharp-darwin-x64/**/*",
|
|
49
|
-
"!node_modules/@img/sharp-darwin-arm64/**/*",
|
|
50
|
-
"!node_modules/@img/sharp-libvips-darwin-x64/**/*",
|
|
51
|
-
"!node_modules/@img/sharp-libvips-darwin-arm64/**/*",
|
|
52
|
-
"!node_modules/app-builder-bin/mac/**/*",
|
|
53
|
-
"!dist",
|
|
54
|
-
"!docs",
|
|
55
|
-
"!app/desktop",
|
|
56
|
-
"!scripts",
|
|
57
|
-
"!*.md",
|
|
58
|
-
"!*.lock",
|
|
59
|
-
"!*.log",
|
|
60
|
-
"!*.gitignore",
|
|
61
|
-
"!*.npmignore"
|
|
62
|
-
]
|
|
51
|
+
"from": "../../packages/resources/tools/",
|
|
52
|
+
"to": "runtime/toolbox/",
|
|
53
|
+
"filter": ["**/*"]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"from": "../../env.example",
|
|
57
|
+
"to": "runtime/.env"
|
|
63
58
|
}
|
|
64
59
|
],
|
|
65
60
|
"mac": {
|
|
66
61
|
"category": "public.app-category.productivity",
|
|
67
|
-
"icon": "assets/icon.icns",
|
|
62
|
+
"icon": "assets/icons/icon.icns",
|
|
68
63
|
"target": [
|
|
69
64
|
{
|
|
70
65
|
"target": "dmg",
|
|
@@ -81,12 +76,11 @@
|
|
|
81
76
|
"target": "nsis",
|
|
82
77
|
"arch": [
|
|
83
78
|
"x64",
|
|
84
|
-
"ia32",
|
|
85
79
|
"arm64"
|
|
86
80
|
]
|
|
87
81
|
}
|
|
88
82
|
],
|
|
89
|
-
"icon": "assets/icon.ico"
|
|
83
|
+
"icon": "assets/icons/icon.ico"
|
|
90
84
|
},
|
|
91
85
|
"linux": {
|
|
92
86
|
"target": [
|
|
@@ -2,6 +2,7 @@ const fs = require('fs');
|
|
|
2
2
|
const path = require('path');
|
|
3
3
|
const { pathToFileURL } = require('url');
|
|
4
4
|
const { spawn } = require('child_process');
|
|
5
|
+
const { constants } = require('fs');
|
|
5
6
|
|
|
6
7
|
class ModuleLoader {
|
|
7
8
|
constructor(logger, errorHandler) {
|
|
@@ -50,38 +51,51 @@ class ModuleLoader {
|
|
|
50
51
|
async _loadModuleInternal(serverRoot) {
|
|
51
52
|
this.logger.info('Loading server module', { serverRoot });
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
// 简化路径查找逻辑,优先查找 app.asar 包中的核心库
|
|
55
|
+
const pathsToCheck = [
|
|
56
|
+
// 1. 优先从 app.asar 包中的 node_modules 加载(打包应用中)
|
|
57
|
+
path.join(process.resourcesPath, 'app.asar', 'node_modules', '@becrafter', 'prompt-manager-core', 'index.js'),
|
|
58
|
+
// 2. 尝试从 serverRoot 的 packages/server 加载(开发环境)
|
|
59
|
+
path.join(serverRoot, 'packages', 'server', 'index.js'),
|
|
60
|
+
// 3. 尝试从 serverRoot 的 node_modules 加载
|
|
61
|
+
path.join(serverRoot, 'node_modules', '@becrafter', 'prompt-manager-core', 'index.js'),
|
|
62
|
+
];
|
|
54
63
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
64
|
+
for (const libPath of pathsToCheck) {
|
|
65
|
+
if (await this._pathExists(libPath)) {
|
|
66
|
+
const entryUrl = pathToFileURL(libPath);
|
|
67
|
+
// 添加版本参数以防止缓存
|
|
68
|
+
entryUrl.searchParams.set('v', Date.now().toString());
|
|
69
|
+
|
|
70
|
+
const module = await import(entryUrl.href);
|
|
71
|
+
this._validateServerModule(module);
|
|
72
|
+
this.logger.info('Server module loaded successfully');
|
|
73
|
+
return module;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
63
76
|
|
|
77
|
+
// 如果所有路径都没有找到,抛出错误
|
|
78
|
+
throw new Error(`Could not find core library in any of the expected paths: ${pathsToCheck.join(', ')}`);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
async _pathExists(targetPath) {
|
|
64
82
|
try {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// 验证模块结构
|
|
68
|
-
this._validateServerModule(module);
|
|
69
|
-
|
|
70
|
-
this.logger.info('Server module loaded successfully');
|
|
71
|
-
return module;
|
|
83
|
+
await fs.promises.access(targetPath, constants.F_OK);
|
|
84
|
+
return true;
|
|
72
85
|
} catch (error) {
|
|
73
|
-
|
|
74
|
-
throw new Error(`Failed to load server module: ${error.message}`);
|
|
86
|
+
return false;
|
|
75
87
|
}
|
|
76
88
|
}
|
|
77
89
|
|
|
78
90
|
async _validateServerEntry(serverEntry) {
|
|
79
91
|
try {
|
|
80
|
-
|
|
81
|
-
|
|
92
|
+
// 验证库的 package.json 存在
|
|
93
|
+
const packageJsonPath = path.join(serverEntry, 'package.json');
|
|
94
|
+
await fs.promises.access(packageJsonPath, fs.constants.F_OK);
|
|
95
|
+
this.logger.debug('Server module package.json exists', { serverEntry });
|
|
82
96
|
} catch (error) {
|
|
83
|
-
this.logger.error('Server
|
|
84
|
-
throw new Error(`Server
|
|
97
|
+
this.logger.error('Server module not found', error);
|
|
98
|
+
throw new Error(`Server module not found: ${serverEntry}`);
|
|
85
99
|
}
|
|
86
100
|
}
|
|
87
101
|
|
|
@@ -169,6 +183,13 @@ class ModuleLoader {
|
|
|
169
183
|
|
|
170
184
|
pkg.dependencies = pkg.dependencies || {};
|
|
171
185
|
|
|
186
|
+
// 确保 @becrafter/prompt-manager-core 依赖存在
|
|
187
|
+
if (!pkg.dependencies['@becrafter/prompt-manager-core']) {
|
|
188
|
+
pkg.dependencies['@becrafter/prompt-manager-core'] = '^0.0.19';
|
|
189
|
+
await fs.promises.writeFile(pkgPath, JSON.stringify(pkg, null, 2), 'utf8');
|
|
190
|
+
this.logger.info('Added @becrafter/prompt-manager-core to dependencies');
|
|
191
|
+
}
|
|
192
|
+
|
|
172
193
|
// 检查并添加 @modelcontextprotocol/sdk
|
|
173
194
|
if (!pkg.dependencies['@modelcontextprotocol/sdk']) {
|
|
174
195
|
pkg.dependencies['@modelcontextprotocol/sdk'] = '^1.20.2';
|