linktest-mcp-server 1.0.13 → 1.0.15

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/index.js CHANGED
@@ -17,7 +17,7 @@ import axios, { AxiosError } from "axios";
17
17
  import * as fs from "fs";
18
18
  import * as path from "path";
19
19
  import * as os from "os";
20
- const CURRENT_MCP_VERSION = "1.0.13";
20
+ const CURRENT_MCP_VERSION = "1.0.15";
21
21
  // ─── Constants ───────────────────────────────────────────────────────────────
22
22
  const CHARACTER_LIMIT = 25000;
23
23
  // ─── API Client ──────────────────────────────────────────────────────────────
@@ -485,9 +485,25 @@ Examples:
485
485
  `Play Console → Testing → Closed Testing → Testers → Add LinkTest email list\n\n` +
486
486
  `After fixing, create a new order with linktest_order.`;
487
487
  }
488
+ // Retry 정보 표시
489
+ if (order.retryCount && Number(order.retryCount) > 0) {
490
+ text += `\n\n🔄 **Retry Active** — Extended on ${formatDate(String(order.retriedAt))}`;
491
+ }
492
+ if (order.canRetry) {
493
+ text += `\n\n💡 **Free retry available!** If your app was rejected by Google Play, you can extend testing by 14 days.\nUse: linktest_retry(order_id="${params.order_id}")`;
494
+ }
488
495
  if (status === "active" && Number(order.daysLeft) <= 2) {
489
496
  text += `\n\n⚠️ Testing ends soon! Only ${order.daysLeft} days remaining.`;
490
497
  }
498
+ // 설문 안내 — 완료됐거나 14일 이상 경과 시
499
+ const isCompleted = status === "completed" || status === "expired";
500
+ const pastDay14 = order.startDate &&
501
+ (Date.now() - new Date(String(order.startDate)).getTime()) / 86400000 >= 14;
502
+ if (isCompleted || (status === "active" && pastDay14)) {
503
+ text += `\n\n📋 **Google Play 심사 설문 준비됐나요?**\n` +
504
+ `테스트 완료 후 Play Console에서 프로덕션 심사 신청 시 설문을 작성해야 합니다.\n` +
505
+ `linktest_survey로 앱 정보를 알려주시면 9개 질문 전체를 대신 작성해드립니다.`;
506
+ }
491
507
  // 버전 체크
492
508
  const versionNotice = await getVersionNotice();
493
509
  if (versionNotice)
@@ -652,6 +668,60 @@ When NOT to use:
652
668
  return { content: [{ type: "text", text: handleError(error) }] };
653
669
  }
654
670
  });
671
+ // ─── Tool: linktest_retry ────────────────────────────────────────────────────
672
+ server.registerTool("linktest_retry", {
673
+ title: "Retry Closed Testing",
674
+ description: `Request a free retry for a closed testing order that was rejected by Google Play.
675
+
676
+ After 14+ days of testing, if Google Play rejects the production readiness review,
677
+ the user can request ONE free retry per order. This extends testing by another 14 days.
678
+
679
+ Conditions:
680
+ - Order must be "active" status
681
+ - At least 14 days must have passed since testing started
682
+ - Order must not have expired yet (before the 20-day service period ends)
683
+ - Only 1 retry allowed per order (free of charge)
684
+
685
+ When to suggest this tool:
686
+ - User says their app was rejected after closed testing
687
+ - User asks if they can extend or redo testing
688
+ - User mentions Google Play review rejection
689
+
690
+ Args:
691
+ - order_id (string): The order ID to retry
692
+
693
+ Returns:
694
+ Confirmation with new expiration date, or error if retry is not available.`,
695
+ inputSchema: z.object({
696
+ order_id: z.string()
697
+ .min(1, "Order ID is required")
698
+ .describe("The order ID to retry"),
699
+ }).strict(),
700
+ annotations: {
701
+ readOnlyHint: false,
702
+ destructiveHint: false,
703
+ idempotentHint: false,
704
+ openWorldHint: true,
705
+ },
706
+ }, async (params) => {
707
+ try {
708
+ const data = await apiRequest("POST", `/api/orders/${params.order_id}/retry`);
709
+ return {
710
+ content: [{
711
+ type: "text",
712
+ text: `## Retry Activated ✅\n\n` +
713
+ `${data.message}\n\n` +
714
+ `**New Expiration**: ${formatDate(data.newExpireDate)}\n` +
715
+ `**Retries Used**: ${data.retryCount}/1\n\n` +
716
+ `Testing will continue on all devices for another 14 days.\n` +
717
+ `Monitor progress with: linktest_status(order_id="${params.order_id}")`,
718
+ }],
719
+ };
720
+ }
721
+ catch (error) {
722
+ return { content: [{ type: "text", text: handleError(error) }] };
723
+ }
724
+ });
655
725
  // ─── Tool: linktest_billing ───────────────────────────────────────────────────
656
726
  server.registerTool("linktest_billing", {
657
727
  title: "Get Billing History",
@@ -842,6 +912,162 @@ Examples:
842
912
  return { content: [{ type: "text", text: handleError(error) }] };
843
913
  }
844
914
  });
915
+ // ─── Tool: linktest_survey ────────────────────────────────────────────────────
916
+ server.registerTool("linktest_survey", {
917
+ title: "Generate Play Console Production Survey",
918
+ description: `Generate pre-filled answers for the Google Play production readiness survey.
919
+
920
+ After closed testing completes (14+ days), Google Play requires developers to fill out
921
+ a 9-question survey in the Play Console before the production review.
922
+
923
+ This tool generates complete draft answers based on:
924
+ - Actual testing data from LinkTest (devices, duration, dates)
925
+ - App information you provide
926
+
927
+ The output is copy-paste ready Korean text matching the Play Console survey format.
928
+
929
+ When to use:
930
+ - User asks to write or fill out the Google Play survey
931
+ - User says testing is done and wants to apply for production
932
+ - Status shows completed or 14+ days passed — proactively suggest this tool
933
+ - User says "설문 작성해줘" or "프로덕션 신청하려는데 설문 도와줘"
934
+
935
+ Workflow:
936
+ 1. Call linktest_status(order_id) to confirm 14+ days have passed
937
+ 2. Call this tool with order_id + app info
938
+ 3. Give the user the generated text to copy into Play Console
939
+
940
+ Args:
941
+ - order_id (string): Order ID to pull testing stats from
942
+ - app_name (string): Name of the app (e.g. "마인드M")
943
+ - app_description (string): What the app does and its core value
944
+ - target_audience (string, optional): Primary user demographic
945
+ - feedback_summary (string, optional): Summary of tester feedback received
946
+ - planned_changes (string, optional): Changes planned based on test feedback
947
+ - expected_installs (string, optional): Expected installs in the first year (e.g. "2,000~3,000회")`,
948
+ inputSchema: z.object({
949
+ order_id: z.string()
950
+ .min(1)
951
+ .describe("Order ID to pull testing data from"),
952
+ app_name: z.string()
953
+ .min(1)
954
+ .describe("App name as shown in Play Console (e.g. '마인드M')"),
955
+ app_description: z.string()
956
+ .min(1)
957
+ .describe("What the app does and its core value proposition"),
958
+ target_audience: z.string()
959
+ .optional()
960
+ .describe("Primary user demographic (e.g. '20~40대 직장인 및 대학생')"),
961
+ feedback_summary: z.string()
962
+ .optional()
963
+ .describe("Summary of feedback received from testers"),
964
+ planned_changes: z.string()
965
+ .optional()
966
+ .describe("Changes planned based on test feedback"),
967
+ expected_installs: z.string()
968
+ .optional()
969
+ .describe("Expected installs in first year (e.g. '2,000~3,000회')"),
970
+ }).strict(),
971
+ annotations: {
972
+ readOnlyHint: true,
973
+ destructiveHint: false,
974
+ idempotentHint: true,
975
+ openWorldHint: false,
976
+ },
977
+ }, async (params) => {
978
+ try {
979
+ // 주문 데이터 조회
980
+ const data = await apiRequest("GET", `/api/orders/${params.order_id}`);
981
+ const order = data.order;
982
+ const installedCount = Number(order.installedCount ?? 12);
983
+ const startDate = order.startDate ? new Date(String(order.startDate)) : null;
984
+ const expireDate = order.expireDate ? new Date(String(order.expireDate)) : null;
985
+ const totalDays = startDate && expireDate
986
+ ? Math.round((expireDate.getTime() - startDate.getTime()) / 86400000)
987
+ : 14;
988
+ const startDateStr = startDate
989
+ ? startDate.toLocaleDateString("ko-KR", { year: "numeric", month: "long", day: "numeric" })
990
+ : "테스트 시작일";
991
+ const totalRuns = installedCount * totalDays * 2;
992
+ const PLACEHOLDER_AUDIENCE = "[주요 타겟 사용자층을 입력하세요 — 예: 20~40대 직장인 및 자기계발에 관심 있는 사용자]";
993
+ const PLACEHOLDER_FEEDBACK = "[테스터로부터 받은 주요 피드백을 요약해 주세요 — 예: UI 개선 요청, 특정 기능 호평 등]";
994
+ const PLACEHOLDER_CHANGES = "[테스트 결과를 바탕으로 계획 중인 개선 사항을 입력하세요]";
995
+ const PLACEHOLDER_INSTALLS = "[첫 해 예상 설치 수를 입력하세요 — 예: 1,000~2,000회]";
996
+ const audience = params.target_audience || PLACEHOLDER_AUDIENCE;
997
+ const feedback = params.feedback_summary || PLACEHOLDER_FEEDBACK;
998
+ const changes = params.planned_changes || PLACEHOLDER_CHANGES;
999
+ const installs = params.expected_installs || PLACEHOLDER_INSTALLS;
1000
+ const lines = [
1001
+ `# Google Play 프로덕션 심사 설문 — ${params.app_name}`,
1002
+ ``,
1003
+ `> 아래 내용을 Play Console → 프로덕션 트랙 신청 화면의 각 질문에 복사해 붙여넣으세요.`,
1004
+ `> [대괄호] 항목은 직접 수정이 필요합니다.`,
1005
+ ``,
1006
+ `---`,
1007
+ ``,
1008
+ `**1. 비공개 테스트 정보. 어떻게 모집했고 모집에 어려움이 있었나요?**`,
1009
+ ``,
1010
+ `${startDateStr}부터 ${totalDays}일간 비공개 테스트를 진행하였으며, LinkTest 서비스를 통해 ${installedCount}대의 실제 Android 기기로 테스트를 수행했습니다. 테스터 모집은 LinkTest 자동화 서비스를 활용하여 별도의 개인 모집 과정 없이 즉시 진행되었습니다. 테스트는 ${params.app_description}에 중점을 두었습니다.`,
1011
+ ``,
1012
+ `---`,
1013
+ ``,
1014
+ `**2. 앱 테스터를 얼마나 쉽게 모집했나요?**`,
1015
+ ``,
1016
+ `LinkTest 서비스를 통해 테스터를 확보하였으며, 서비스 신청 즉시 ${installedCount}대 이상의 실제 Android 기기가 배정되었습니다. 별도의 모집 공고나 지인 섭외 없이 빠르게 테스터를 확보할 수 있어 모집 과정에서 어려움이 없었습니다.`,
1017
+ ``,
1018
+ `---`,
1019
+ ``,
1020
+ `**3. 비공개 테스트 중 테스터의 참여도**`,
1021
+ ``,
1022
+ `배정된 ${installedCount}대의 기기 전체가 테스트 기간 ${totalDays}일 동안 매일 2회씩 앱을 실행하였습니다. 총 ${totalRuns}회 이상의 앱 실행이 이루어졌으며, 모든 기기에서 지속적인 참여가 확인되었습니다.`,
1023
+ ``,
1024
+ `---`,
1025
+ ``,
1026
+ `**4. 테스터로부터 받은 의견을 요약하여 제공하세요. 의견을 수집한 방법**`,
1027
+ ``,
1028
+ `${feedback}`,
1029
+ ``,
1030
+ `---`,
1031
+ ``,
1032
+ `**5. 앱의 주요 대상**`,
1033
+ ``,
1034
+ `${audience}`,
1035
+ ``,
1036
+ `---`,
1037
+ ``,
1038
+ `**6. 앱이 사용자에게 어떤 가치를 제공하는지 설명**`,
1039
+ ``,
1040
+ `${params.app_description}`,
1041
+ ``,
1042
+ `---`,
1043
+ ``,
1044
+ `**7. 첫 해에 앱이 몇 회 설치될 것으로 예상하십니까?**`,
1045
+ ``,
1046
+ `${installs}`,
1047
+ ``,
1048
+ `---`,
1049
+ ``,
1050
+ `**8. 비공개 테스트에서 알게 된 내용을 바탕으로 앱을 어떻게 변경할 계획인가요?**`,
1051
+ ``,
1052
+ `${changes}`,
1053
+ ``,
1054
+ `---`,
1055
+ ``,
1056
+ `**9. 앱이 프로덕션용으로 준비되었다고 어떻게 판단하셨습니까?**`,
1057
+ ``,
1058
+ `${totalDays}일간 ${installedCount}대의 실제 Android 기기에서 앱이 안정적으로 동작함을 확인하였습니다. 테스트 기간 동안 총 ${totalRuns}회 이상 앱이 실행되었으며 주요 기능에서 오류가 발생하지 않았습니다. 실기기 테스트를 통해 실제 사용 환경에서의 안정성이 충분히 검증되었다고 판단하여 프로덕션 출시를 결정하였습니다.`,
1059
+ ``,
1060
+ `---`,
1061
+ ``,
1062
+ `> ✅ 자동 작성 완료 (LinkTest 테스트 데이터 기반)`,
1063
+ `> ⚠️ [대괄호] 항목이 있다면 직접 수정 후 붙여넣으세요.`,
1064
+ ];
1065
+ return { content: [{ type: "text", text: lines.join("\n") }] };
1066
+ }
1067
+ catch (error) {
1068
+ return { content: [{ type: "text", text: handleError(error) }] };
1069
+ }
1070
+ });
845
1071
  // ─── Resource: Workflow Guide ─────────────────────────────────────────────────
846
1072
  server.resource("linktest-workflow", "linktest://workflow-guide", {
847
1073
  description: "Step-by-step guide for using LinkTest tools in the correct order",
@@ -912,6 +1138,8 @@ Step 2(validate)부터 시작 — CSV 재업로드 불필요
912
1138
  | 스크린샷 보기 | \`linktest_screenshots(order_id)\` |
913
1139
  | 결제 내역 | \`linktest_billing()\` |
914
1140
  | 주문 취소 | \`linktest_cancel(order_id)\` |
1141
+ | 재시도 (반려 시) | \`linktest_retry(order_id)\` |
1142
+ | 프로덕션 심사 설문 작성 | \`linktest_survey(order_id, app_name, ...)\` |
915
1143
 
916
1144
  ---
917
1145
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linktest-mcp-server",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "MCP server for LinkTest — automate Google Play closed testing via AI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -19,7 +19,7 @@ import * as fs from "fs";
19
19
  import * as path from "path";
20
20
  import * as os from "os";
21
21
 
22
- const CURRENT_MCP_VERSION = "1.0.13";
22
+ const CURRENT_MCP_VERSION = "1.0.15";
23
23
 
24
24
  // ─── Constants ───────────────────────────────────────────────────────────────
25
25
 
@@ -560,10 +560,28 @@ Examples:
560
560
  `After fixing, create a new order with linktest_order.`;
561
561
  }
562
562
 
563
+ // Retry 정보 표시
564
+ if (order.retryCount && Number(order.retryCount) > 0) {
565
+ text += `\n\n🔄 **Retry Active** — Extended on ${formatDate(String(order.retriedAt))}`;
566
+ }
567
+ if (order.canRetry) {
568
+ text += `\n\n💡 **Free retry available!** If your app was rejected by Google Play, you can extend testing by 14 days.\nUse: linktest_retry(order_id="${params.order_id}")`;
569
+ }
570
+
563
571
  if (status === "active" && Number(order.daysLeft) <= 2) {
564
572
  text += `\n\n⚠️ Testing ends soon! Only ${order.daysLeft} days remaining.`;
565
573
  }
566
574
 
575
+ // 설문 안내 — 완료됐거나 14일 이상 경과 시
576
+ const isCompleted = status === "completed" || status === "expired";
577
+ const pastDay14 = order.startDate &&
578
+ (Date.now() - new Date(String(order.startDate)).getTime()) / 86400000 >= 14;
579
+ if (isCompleted || (status === "active" && pastDay14)) {
580
+ text += `\n\n📋 **Google Play 심사 설문 준비됐나요?**\n` +
581
+ `테스트 완료 후 Play Console에서 프로덕션 심사 신청 시 설문을 작성해야 합니다.\n` +
582
+ `linktest_survey로 앱 정보를 알려주시면 9개 질문 전체를 대신 작성해드립니다.`;
583
+ }
584
+
567
585
  // 버전 체크
568
586
  const versionNotice = await getVersionNotice();
569
587
  if (versionNotice) text += versionNotice;
@@ -756,6 +774,70 @@ When NOT to use:
756
774
  }
757
775
  );
758
776
 
777
+ // ─── Tool: linktest_retry ────────────────────────────────────────────────────
778
+
779
+ server.registerTool(
780
+ "linktest_retry",
781
+ {
782
+ title: "Retry Closed Testing",
783
+ description: `Request a free retry for a closed testing order that was rejected by Google Play.
784
+
785
+ After 14+ days of testing, if Google Play rejects the production readiness review,
786
+ the user can request ONE free retry per order. This extends testing by another 14 days.
787
+
788
+ Conditions:
789
+ - Order must be "active" status
790
+ - At least 14 days must have passed since testing started
791
+ - Order must not have expired yet (before the 20-day service period ends)
792
+ - Only 1 retry allowed per order (free of charge)
793
+
794
+ When to suggest this tool:
795
+ - User says their app was rejected after closed testing
796
+ - User asks if they can extend or redo testing
797
+ - User mentions Google Play review rejection
798
+
799
+ Args:
800
+ - order_id (string): The order ID to retry
801
+
802
+ Returns:
803
+ Confirmation with new expiration date, or error if retry is not available.`,
804
+ inputSchema: z.object({
805
+ order_id: z.string()
806
+ .min(1, "Order ID is required")
807
+ .describe("The order ID to retry"),
808
+ }).strict(),
809
+ annotations: {
810
+ readOnlyHint: false,
811
+ destructiveHint: false,
812
+ idempotentHint: false,
813
+ openWorldHint: true,
814
+ },
815
+ },
816
+ async (params) => {
817
+ try {
818
+ const data = await apiRequest<{
819
+ message: string;
820
+ newExpireDate: string;
821
+ retryCount: number;
822
+ }>("POST", `/api/orders/${params.order_id}/retry`);
823
+
824
+ return {
825
+ content: [{
826
+ type: "text",
827
+ text: `## Retry Activated ✅\n\n` +
828
+ `${data.message}\n\n` +
829
+ `**New Expiration**: ${formatDate(data.newExpireDate)}\n` +
830
+ `**Retries Used**: ${data.retryCount}/1\n\n` +
831
+ `Testing will continue on all devices for another 14 days.\n` +
832
+ `Monitor progress with: linktest_status(order_id="${params.order_id}")`,
833
+ }],
834
+ };
835
+ } catch (error) {
836
+ return { content: [{ type: "text", text: handleError(error) }] };
837
+ }
838
+ }
839
+ );
840
+
759
841
  // ─── Tool: linktest_billing ───────────────────────────────────────────────────
760
842
 
761
843
  server.registerTool(
@@ -983,6 +1065,175 @@ Examples:
983
1065
  }
984
1066
  );
985
1067
 
1068
+ // ─── Tool: linktest_survey ────────────────────────────────────────────────────
1069
+
1070
+ server.registerTool(
1071
+ "linktest_survey",
1072
+ {
1073
+ title: "Generate Play Console Production Survey",
1074
+ description: `Generate pre-filled answers for the Google Play production readiness survey.
1075
+
1076
+ After closed testing completes (14+ days), Google Play requires developers to fill out
1077
+ a 9-question survey in the Play Console before the production review.
1078
+
1079
+ This tool generates complete draft answers based on:
1080
+ - Actual testing data from LinkTest (devices, duration, dates)
1081
+ - App information you provide
1082
+
1083
+ The output is copy-paste ready Korean text matching the Play Console survey format.
1084
+
1085
+ When to use:
1086
+ - User asks to write or fill out the Google Play survey
1087
+ - User says testing is done and wants to apply for production
1088
+ - Status shows completed or 14+ days passed — proactively suggest this tool
1089
+ - User says "설문 작성해줘" or "프로덕션 신청하려는데 설문 도와줘"
1090
+
1091
+ Workflow:
1092
+ 1. Call linktest_status(order_id) to confirm 14+ days have passed
1093
+ 2. Call this tool with order_id + app info
1094
+ 3. Give the user the generated text to copy into Play Console
1095
+
1096
+ Args:
1097
+ - order_id (string): Order ID to pull testing stats from
1098
+ - app_name (string): Name of the app (e.g. "마인드M")
1099
+ - app_description (string): What the app does and its core value
1100
+ - target_audience (string, optional): Primary user demographic
1101
+ - feedback_summary (string, optional): Summary of tester feedback received
1102
+ - planned_changes (string, optional): Changes planned based on test feedback
1103
+ - expected_installs (string, optional): Expected installs in the first year (e.g. "2,000~3,000회")`,
1104
+ inputSchema: z.object({
1105
+ order_id: z.string()
1106
+ .min(1)
1107
+ .describe("Order ID to pull testing data from"),
1108
+ app_name: z.string()
1109
+ .min(1)
1110
+ .describe("App name as shown in Play Console (e.g. '마인드M')"),
1111
+ app_description: z.string()
1112
+ .min(1)
1113
+ .describe("What the app does and its core value proposition"),
1114
+ target_audience: z.string()
1115
+ .optional()
1116
+ .describe("Primary user demographic (e.g. '20~40대 직장인 및 대학생')"),
1117
+ feedback_summary: z.string()
1118
+ .optional()
1119
+ .describe("Summary of feedback received from testers"),
1120
+ planned_changes: z.string()
1121
+ .optional()
1122
+ .describe("Changes planned based on test feedback"),
1123
+ expected_installs: z.string()
1124
+ .optional()
1125
+ .describe("Expected installs in first year (e.g. '2,000~3,000회')"),
1126
+ }).strict(),
1127
+ annotations: {
1128
+ readOnlyHint: true,
1129
+ destructiveHint: false,
1130
+ idempotentHint: true,
1131
+ openWorldHint: false,
1132
+ },
1133
+ },
1134
+ async (params) => {
1135
+ try {
1136
+ // 주문 데이터 조회
1137
+ const data = await apiRequest<{ order: Record<string, unknown> }>(
1138
+ "GET",
1139
+ `/api/orders/${params.order_id}`
1140
+ );
1141
+ const order = data.order;
1142
+
1143
+ const installedCount = Number(order.installedCount ?? 12);
1144
+ const startDate = order.startDate ? new Date(String(order.startDate)) : null;
1145
+ const expireDate = order.expireDate ? new Date(String(order.expireDate)) : null;
1146
+ const totalDays = startDate && expireDate
1147
+ ? Math.round((expireDate.getTime() - startDate.getTime()) / 86400000)
1148
+ : 14;
1149
+ const startDateStr = startDate
1150
+ ? startDate.toLocaleDateString("ko-KR", { year: "numeric", month: "long", day: "numeric" })
1151
+ : "테스트 시작일";
1152
+ const totalRuns = installedCount * totalDays * 2;
1153
+
1154
+ const PLACEHOLDER_AUDIENCE = "[주요 타겟 사용자층을 입력하세요 — 예: 20~40대 직장인 및 자기계발에 관심 있는 사용자]";
1155
+ const PLACEHOLDER_FEEDBACK = "[테스터로부터 받은 주요 피드백을 요약해 주세요 — 예: UI 개선 요청, 특정 기능 호평 등]";
1156
+ const PLACEHOLDER_CHANGES = "[테스트 결과를 바탕으로 계획 중인 개선 사항을 입력하세요]";
1157
+ const PLACEHOLDER_INSTALLS = "[첫 해 예상 설치 수를 입력하세요 — 예: 1,000~2,000회]";
1158
+
1159
+ const audience = params.target_audience || PLACEHOLDER_AUDIENCE;
1160
+ const feedback = params.feedback_summary || PLACEHOLDER_FEEDBACK;
1161
+ const changes = params.planned_changes || PLACEHOLDER_CHANGES;
1162
+ const installs = params.expected_installs || PLACEHOLDER_INSTALLS;
1163
+
1164
+ const lines: string[] = [
1165
+ `# Google Play 프로덕션 심사 설문 — ${params.app_name}`,
1166
+ ``,
1167
+ `> 아래 내용을 Play Console → 프로덕션 트랙 신청 화면의 각 질문에 복사해 붙여넣으세요.`,
1168
+ `> [대괄호] 항목은 직접 수정이 필요합니다.`,
1169
+ ``,
1170
+ `---`,
1171
+ ``,
1172
+ `**1. 비공개 테스트 정보. 어떻게 모집했고 모집에 어려움이 있었나요?**`,
1173
+ ``,
1174
+ `${startDateStr}부터 ${totalDays}일간 비공개 테스트를 진행하였으며, LinkTest 서비스를 통해 ${installedCount}대의 실제 Android 기기로 테스트를 수행했습니다. 테스터 모집은 LinkTest 자동화 서비스를 활용하여 별도의 개인 모집 과정 없이 즉시 진행되었습니다. 테스트는 ${params.app_description}에 중점을 두었습니다.`,
1175
+ ``,
1176
+ `---`,
1177
+ ``,
1178
+ `**2. 앱 테스터를 얼마나 쉽게 모집했나요?**`,
1179
+ ``,
1180
+ `LinkTest 서비스를 통해 테스터를 확보하였으며, 서비스 신청 즉시 ${installedCount}대 이상의 실제 Android 기기가 배정되었습니다. 별도의 모집 공고나 지인 섭외 없이 빠르게 테스터를 확보할 수 있어 모집 과정에서 어려움이 없었습니다.`,
1181
+ ``,
1182
+ `---`,
1183
+ ``,
1184
+ `**3. 비공개 테스트 중 테스터의 참여도**`,
1185
+ ``,
1186
+ `배정된 ${installedCount}대의 기기 전체가 테스트 기간 ${totalDays}일 동안 매일 2회씩 앱을 실행하였습니다. 총 ${totalRuns}회 이상의 앱 실행이 이루어졌으며, 모든 기기에서 지속적인 참여가 확인되었습니다.`,
1187
+ ``,
1188
+ `---`,
1189
+ ``,
1190
+ `**4. 테스터로부터 받은 의견을 요약하여 제공하세요. 의견을 수집한 방법**`,
1191
+ ``,
1192
+ `${feedback}`,
1193
+ ``,
1194
+ `---`,
1195
+ ``,
1196
+ `**5. 앱의 주요 대상**`,
1197
+ ``,
1198
+ `${audience}`,
1199
+ ``,
1200
+ `---`,
1201
+ ``,
1202
+ `**6. 앱이 사용자에게 어떤 가치를 제공하는지 설명**`,
1203
+ ``,
1204
+ `${params.app_description}`,
1205
+ ``,
1206
+ `---`,
1207
+ ``,
1208
+ `**7. 첫 해에 앱이 몇 회 설치될 것으로 예상하십니까?**`,
1209
+ ``,
1210
+ `${installs}`,
1211
+ ``,
1212
+ `---`,
1213
+ ``,
1214
+ `**8. 비공개 테스트에서 알게 된 내용을 바탕으로 앱을 어떻게 변경할 계획인가요?**`,
1215
+ ``,
1216
+ `${changes}`,
1217
+ ``,
1218
+ `---`,
1219
+ ``,
1220
+ `**9. 앱이 프로덕션용으로 준비되었다고 어떻게 판단하셨습니까?**`,
1221
+ ``,
1222
+ `${totalDays}일간 ${installedCount}대의 실제 Android 기기에서 앱이 안정적으로 동작함을 확인하였습니다. 테스트 기간 동안 총 ${totalRuns}회 이상 앱이 실행되었으며 주요 기능에서 오류가 발생하지 않았습니다. 실기기 테스트를 통해 실제 사용 환경에서의 안정성이 충분히 검증되었다고 판단하여 프로덕션 출시를 결정하였습니다.`,
1223
+ ``,
1224
+ `---`,
1225
+ ``,
1226
+ `> ✅ 자동 작성 완료 (LinkTest 테스트 데이터 기반)`,
1227
+ `> ⚠️ [대괄호] 항목이 있다면 직접 수정 후 붙여넣으세요.`,
1228
+ ];
1229
+
1230
+ return { content: [{ type: "text", text: lines.join("\n") }] };
1231
+ } catch (error) {
1232
+ return { content: [{ type: "text", text: handleError(error) }] };
1233
+ }
1234
+ }
1235
+ );
1236
+
986
1237
  // ─── Resource: Workflow Guide ─────────────────────────────────────────────────
987
1238
 
988
1239
  server.resource(
@@ -1058,6 +1309,8 @@ Step 2(validate)부터 시작 — CSV 재업로드 불필요
1058
1309
  | 스크린샷 보기 | \`linktest_screenshots(order_id)\` |
1059
1310
  | 결제 내역 | \`linktest_billing()\` |
1060
1311
  | 주문 취소 | \`linktest_cancel(order_id)\` |
1312
+ | 재시도 (반려 시) | \`linktest_retry(order_id)\` |
1313
+ | 프로덕션 심사 설문 작성 | \`linktest_survey(order_id, app_name, ...)\` |
1061
1314
 
1062
1315
  ---
1063
1316