@taptap/instant-games-open-mcp 1.23.4 → 1.23.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/dist/maker.js +33 -54
- package/dist/proxy.js +1 -1
- package/dist/server.js +1 -1
- package/package.json +1 -1
- package/skills/taptap-maker-local/SKILL.md +7 -6
package/dist/maker.js
CHANGED
|
@@ -30467,7 +30467,7 @@ function getBundledSkillSourceDir(skillName) {
|
|
|
30467
30467
|
}
|
|
30468
30468
|
|
|
30469
30469
|
// src/maker/server/mcp.ts
|
|
30470
|
-
var VERSION = true ? "1.23.
|
|
30470
|
+
var VERSION = true ? "1.23.5" : "dev";
|
|
30471
30471
|
var DEFAULT_PROXY_PACKAGE = "@taptap/instant-games-open-mcp@1.22.0";
|
|
30472
30472
|
var DEFAULT_BUILD_TIMEOUT_MS = 10 * 60 * 1e3;
|
|
30473
30473
|
var LONG_OPERATION_HEARTBEAT_MS = 3 * 60 * 1e3;
|
|
@@ -30895,8 +30895,8 @@ function formatStatusProjectList(projects) {
|
|
|
30895
30895
|
return [
|
|
30896
30896
|
`Maker apps (${projects.length})`,
|
|
30897
30897
|
"",
|
|
30898
|
-
hiddenCount > 0 ?
|
|
30899
|
-
hiddenCount > 0 ? "
|
|
30898
|
+
hiddenCount > 0 ? `为了保持友好的可读性,默认最多展示 ${visibleProjects.length} 个 app;如需完整列表,可以选择显示全部。` : "已显示全部 app;请询问用户选择。",
|
|
30899
|
+
hiddenCount > 0 ? "如需完整列表,请运行 taptap-maker apps --json 查看全部 app。" : void 0,
|
|
30900
30900
|
"AI 展示建议:如果聊天或客户端宽度足够,可把 app 预览整理成两列紧凑布局;每个 app 保留序号、app_id、名称,以及可用的最近活跃时间或 user_id。窄屏保持单列。不要省略 app_id,也不要在用户确认前自动选择 app。",
|
|
30901
30901
|
"",
|
|
30902
30902
|
...visibleProjects.map(
|
|
@@ -31462,6 +31462,7 @@ var BOOLEAN_OPTIONS = /* @__PURE__ */ new Set([
|
|
|
31462
31462
|
"skip_mcp_install",
|
|
31463
31463
|
"pat_stdin",
|
|
31464
31464
|
"pat_from_stdin",
|
|
31465
|
+
"all",
|
|
31465
31466
|
"h",
|
|
31466
31467
|
"help"
|
|
31467
31468
|
]);
|
|
@@ -31668,18 +31669,18 @@ async function runDoctor(parsed, ctx) {
|
|
|
31668
31669
|
);
|
|
31669
31670
|
}
|
|
31670
31671
|
async function runApps(parsed, ctx) {
|
|
31672
|
+
rejectRemovedAppsPaginationOptions(parsed);
|
|
31671
31673
|
const pat = stringOption(parsed, "pat");
|
|
31672
31674
|
if (pat) {
|
|
31673
31675
|
warnPatArgExposure();
|
|
31674
31676
|
}
|
|
31675
|
-
const
|
|
31676
|
-
const offset = numberOption(parsed, "offset");
|
|
31677
|
+
const showAll = booleanOption(parsed, "all");
|
|
31677
31678
|
const projects = await listMakerProjects({ pat });
|
|
31678
31679
|
if (ctx.json) {
|
|
31679
31680
|
writeJson(projects);
|
|
31680
31681
|
return;
|
|
31681
31682
|
}
|
|
31682
|
-
process.stdout.write(`${formatMakerProjectList(projects, {
|
|
31683
|
+
process.stdout.write(`${formatMakerProjectList(projects, { showAll })}
|
|
31683
31684
|
`);
|
|
31684
31685
|
}
|
|
31685
31686
|
async function runPatSet(parsed, ctx) {
|
|
@@ -31869,30 +31870,24 @@ async function resolveProjectSelection(parsed, projects, options) {
|
|
|
31869
31870
|
throw new Error("Missing --app-id in non-interactive init mode.");
|
|
31870
31871
|
}
|
|
31871
31872
|
const orderedProjects = sortProjectsByRecentActivity(projects);
|
|
31872
|
-
|
|
31873
|
-
let offset = 0;
|
|
31873
|
+
let showAll = orderedProjects.length <= MAKER_PROJECT_DEFAULT_TEXT_LIMIT;
|
|
31874
31874
|
for (; ; ) {
|
|
31875
|
-
process.stdout.write(`${formatMakerProjectList(orderedProjects, {
|
|
31875
|
+
process.stdout.write(`${formatMakerProjectList(orderedProjects, { showAll })}
|
|
31876
31876
|
`);
|
|
31877
|
-
const answer = await promptRequired("Choose app by index, app_id, or
|
|
31877
|
+
const answer = await promptRequired("Choose app by index, app_id, or 'all' to show all");
|
|
31878
31878
|
const normalized = answer.trim().toLowerCase();
|
|
31879
|
-
if (["
|
|
31880
|
-
|
|
31881
|
-
|
|
31882
|
-
process.stdout.write("No more Maker apps in this list.\n");
|
|
31879
|
+
if (["a", "all"].includes(normalized)) {
|
|
31880
|
+
if (showAll) {
|
|
31881
|
+
process.stdout.write("Already showing all Maker apps.\n");
|
|
31883
31882
|
} else {
|
|
31884
|
-
|
|
31883
|
+
showAll = true;
|
|
31885
31884
|
}
|
|
31886
31885
|
continue;
|
|
31887
31886
|
}
|
|
31888
|
-
|
|
31889
|
-
offset = Math.max(offset - limit, 0);
|
|
31890
|
-
continue;
|
|
31891
|
-
}
|
|
31887
|
+
const visibleCount = showAll ? orderedProjects.length : Math.min(MAKER_PROJECT_DEFAULT_TEXT_LIMIT, orderedProjects.length);
|
|
31892
31888
|
const byIndex = Number(answer);
|
|
31893
|
-
const visibleCount = Math.min(limit, orderedProjects.length - offset);
|
|
31894
31889
|
if (Number.isInteger(byIndex) && byIndex >= 1 && byIndex <= visibleCount) {
|
|
31895
|
-
return orderedProjects[
|
|
31890
|
+
return orderedProjects[byIndex - 1];
|
|
31896
31891
|
}
|
|
31897
31892
|
const selected = projects.find((project) => project.id === answer.trim());
|
|
31898
31893
|
if (!selected) {
|
|
@@ -32078,19 +32073,6 @@ function saveInitState(targetDir, state) {
|
|
|
32078
32073
|
);
|
|
32079
32074
|
}
|
|
32080
32075
|
var MAKER_PROJECT_DEFAULT_TEXT_LIMIT = 40;
|
|
32081
|
-
var MAKER_PROJECT_MAX_TEXT_LIMIT = 100;
|
|
32082
|
-
function normalizeListLimit(limit) {
|
|
32083
|
-
if (!Number.isFinite(limit) || limit === void 0) {
|
|
32084
|
-
return MAKER_PROJECT_DEFAULT_TEXT_LIMIT;
|
|
32085
|
-
}
|
|
32086
|
-
return Math.min(Math.max(Math.trunc(limit), 1), MAKER_PROJECT_MAX_TEXT_LIMIT);
|
|
32087
|
-
}
|
|
32088
|
-
function normalizeListOffset(offset) {
|
|
32089
|
-
if (!Number.isFinite(offset) || offset === void 0) {
|
|
32090
|
-
return 0;
|
|
32091
|
-
}
|
|
32092
|
-
return Math.max(Math.trunc(offset), 0);
|
|
32093
|
-
}
|
|
32094
32076
|
function getProjectActivityTime(project) {
|
|
32095
32077
|
const value = project.lastConversationAt || project.lastAccessedAt || project.createdAt;
|
|
32096
32078
|
if (!value) {
|
|
@@ -32110,23 +32092,28 @@ function formatProjectListItem(project, index) {
|
|
|
32110
32092
|
const lastActive = project.lastConversationAt || project.lastAccessedAt || project.createdAt;
|
|
32111
32093
|
return `${index + 1}. ${name} id=${project.id}${lastActive ? ` last_active=${lastActive}` : ""}`;
|
|
32112
32094
|
}
|
|
32095
|
+
function rejectRemovedAppsPaginationOptions(parsed) {
|
|
32096
|
+
const removed = ["limit", "offset"].filter((key) => parsed.options[key] !== void 0);
|
|
32097
|
+
if (removed.length === 0) {
|
|
32098
|
+
return;
|
|
32099
|
+
}
|
|
32100
|
+
throw new Error(
|
|
32101
|
+
`taptap-maker apps no longer supports ${removed.map((key) => `--${key}`).join(
|
|
32102
|
+
" / "
|
|
32103
|
+
)}. Use --all for the full human-readable list, or --json for the machine-readable output.`
|
|
32104
|
+
);
|
|
32105
|
+
}
|
|
32113
32106
|
function formatMakerProjectList(projects, options = {}) {
|
|
32114
32107
|
if (projects.length === 0) {
|
|
32115
32108
|
return "No Maker apps found.";
|
|
32116
32109
|
}
|
|
32117
|
-
const limit = normalizeListLimit(options.limit);
|
|
32118
|
-
const offset = normalizeListOffset(options.offset);
|
|
32119
32110
|
const sortedProjects = sortProjectsByRecentActivity(projects);
|
|
32120
|
-
const
|
|
32121
|
-
const
|
|
32122
|
-
const
|
|
32123
|
-
const hasNextPage = nextOffset < projects.length;
|
|
32124
|
-
const startIndex = visibleProjects.length > 0 ? offset + 1 : 0;
|
|
32125
|
-
const endIndex = visibleProjects.length > 0 ? Math.min(offset + visibleProjects.length, projects.length) : 0;
|
|
32111
|
+
const showAll = options.showAll === true;
|
|
32112
|
+
const visibleProjects = showAll ? sortedProjects : sortedProjects.slice(0, MAKER_PROJECT_DEFAULT_TEXT_LIMIT);
|
|
32113
|
+
const hiddenCount = sortedProjects.length - visibleProjects.length;
|
|
32126
32114
|
return [
|
|
32127
32115
|
`Maker apps (${projects.length})`,
|
|
32128
|
-
|
|
32129
|
-
hasNextPage ? `To continue, run: taptap-maker apps --offset ${nextOffset} --limit ${limit}. If the target is hidden, enter its app_id directly or use --json to get the complete app list.` : `No more apps in this view. If needed, use --json to get the complete app list.`,
|
|
32116
|
+
hiddenCount > 0 ? `Showing ${visibleProjects.length} most recently active apps, sorted by last activity. ${hiddenCount} more hidden. Run \`taptap-maker apps --all\` to show all, or use \`--json\` for the complete machine-readable list.` : `Showing all ${visibleProjects.length} Maker apps, sorted by last activity.`,
|
|
32130
32117
|
"",
|
|
32131
32118
|
...visibleProjects.map((project, index) => formatProjectListItem(project, index))
|
|
32132
32119
|
].filter((line) => line !== "").join("\n");
|
|
@@ -32186,14 +32173,6 @@ function stringOption(parsed, key) {
|
|
|
32186
32173
|
const value = parsed.options[key];
|
|
32187
32174
|
return typeof value === "string" ? value : void 0;
|
|
32188
32175
|
}
|
|
32189
|
-
function numberOption(parsed, key) {
|
|
32190
|
-
const value = stringOption(parsed, key);
|
|
32191
|
-
if (value === void 0) {
|
|
32192
|
-
return void 0;
|
|
32193
|
-
}
|
|
32194
|
-
const number3 = Number(value);
|
|
32195
|
-
return Number.isFinite(number3) ? number3 : void 0;
|
|
32196
|
-
}
|
|
32197
32176
|
function booleanOption(parsed, key) {
|
|
32198
32177
|
return parsed.options[key] === true || parsed.options[key] === "true";
|
|
32199
32178
|
}
|
|
@@ -32241,7 +32220,7 @@ function printHelp() {
|
|
|
32241
32220
|
" [--skip-confirm] [--skip-mcp-install] [--register-mcp codex,cursor,claude]",
|
|
32242
32221
|
" [--json]",
|
|
32243
32222
|
" taptap-maker doctor [--target-dir DIR] [--env rnd|production] [--json]",
|
|
32244
|
-
" taptap-maker apps [--pat PAT] [--
|
|
32223
|
+
" taptap-maker apps [--pat PAT] [--all] [--json]",
|
|
32245
32224
|
" # --pat warns: PAT appears in ps/history",
|
|
32246
32225
|
" taptap-maker pat set [--pat-stdin] [--json]",
|
|
32247
32226
|
" taptap-maker pat set [PAT|--pat PAT] [--json] # warns: PAT appears in ps/history",
|
|
@@ -32353,7 +32332,7 @@ function printHelp2() {
|
|
|
32353
32332
|
" [--skip-confirm] [--skip-mcp-install] [--register-mcp codex,cursor,claude]",
|
|
32354
32333
|
" [--json]",
|
|
32355
32334
|
" taptap-maker doctor [--target-dir DIR] [--env rnd|production] [--json]",
|
|
32356
|
-
" taptap-maker apps [--pat PAT] [--
|
|
32335
|
+
" taptap-maker apps [--pat PAT] [--all] [--json]",
|
|
32357
32336
|
" # --pat warns: PAT appears in ps/history",
|
|
32358
32337
|
" taptap-maker pat set [--pat-stdin] [--json]",
|
|
32359
32338
|
" taptap-maker pat set [PAT|--pat PAT] [--json] # warns: PAT appears in ps/history",
|
package/dist/proxy.js
CHANGED
|
@@ -29137,7 +29137,7 @@ var LogWriter = class {
|
|
|
29137
29137
|
};
|
|
29138
29138
|
|
|
29139
29139
|
// src/mcp-proxy/proxy.ts
|
|
29140
|
-
var VERSION = true ? "1.23.
|
|
29140
|
+
var VERSION = true ? "1.23.5" : "dev";
|
|
29141
29141
|
var TapTapMCPProxy = class {
|
|
29142
29142
|
constructor(config2) {
|
|
29143
29143
|
this.connected = false;
|
package/dist/server.js
CHANGED
|
@@ -6090,7 +6090,7 @@ class MultiplayerManager {
|
|
|
6090
6090
|
// 导出
|
|
6091
6091
|
// export default MultiplayerManager;
|
|
6092
6092
|
// module.exports = MultiplayerManager;
|
|
6093
|
-
// window.MultiplayerManager = MultiplayerManager;`}]}}};var ws;ws="1.23.
|
|
6093
|
+
// window.MultiplayerManager = MultiplayerManager;`}]}}};var ws;ws="1.23.5";async function FRe(){return Go(Rm,"api_event_relations")}async function BRe(){return Go(Rm,"protocol_template")}async function SD(){return Go(Rm,"complete_example")}async function URe(){return`# TapTap 多人联机集成指南
|
|
6094
6094
|
|
|
6095
6095
|
---
|
|
6096
6096
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taptap/instant-games-open-mcp",
|
|
3
|
-
"version": "1.23.
|
|
3
|
+
"version": "1.23.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "TapTap Open API MCP Server - Documentation and Management APIs for TapTap Minigame and H5 Games (Leaderboard, and more features coming)",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -201,12 +201,13 @@ not ask which app to clone. Continue operating on the current bound project unle
|
|
|
201
201
|
explicitly requests a different project.
|
|
202
202
|
|
|
203
203
|
When app selection is needed, show the returned app preview and total count, then ask the user to
|
|
204
|
-
choose by index, app id, or name. The default preview shows 40
|
|
205
|
-
If the target is not visible, ask the user to type `
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
204
|
+
choose by index, app id, or name. The default preview shows the 40 most recently active apps.
|
|
205
|
+
If the target is not visible, ask the user to type `all` inside `taptap-maker init` to expand the
|
|
206
|
+
full list, or run `taptap-maker apps --all` for a one-shot human-readable dump; use
|
|
207
|
+
`taptap-maker apps --json` only when AI / scripts need the machine-readable list. If the
|
|
208
|
+
chat/client width is enough, you may present the preview as a compact two-column layout;
|
|
209
|
+
otherwise keep a single column. Do not omit app_id, and do not replace the preview with only a
|
|
210
|
+
summary such as "40 apps are available".
|
|
210
211
|
|
|
211
212
|
Do not auto-select:
|
|
212
213
|
|