project-cpu-mcp 0.14.0 → 0.15.0

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.
Files changed (85) hide show
  1. package/README.md +23 -15
  2. package/dist/index.js +10 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/onboarding/constants.d.ts +22 -0
  5. package/dist/onboarding/constants.d.ts.map +1 -0
  6. package/dist/onboarding/constants.js +43 -0
  7. package/dist/onboarding/constants.js.map +1 -0
  8. package/dist/onboarding/onboarding.autoclose.d.ts +4 -0
  9. package/dist/onboarding/onboarding.autoclose.d.ts.map +1 -0
  10. package/dist/onboarding/onboarding.autoclose.js +20 -0
  11. package/dist/onboarding/onboarding.autoclose.js.map +1 -0
  12. package/dist/onboarding/onboarding.completion.d.ts +3 -0
  13. package/dist/onboarding/onboarding.completion.d.ts.map +1 -0
  14. package/dist/onboarding/onboarding.completion.js +10 -0
  15. package/dist/onboarding/onboarding.completion.js.map +1 -0
  16. package/dist/onboarding/onboarding.gate.d.ts +6 -0
  17. package/dist/onboarding/onboarding.gate.d.ts.map +1 -0
  18. package/dist/onboarding/onboarding.gate.js +43 -0
  19. package/dist/onboarding/onboarding.gate.js.map +1 -0
  20. package/dist/onboarding/onboarding.service.d.ts +21 -0
  21. package/dist/onboarding/onboarding.service.d.ts.map +1 -0
  22. package/dist/onboarding/onboarding.service.js +87 -0
  23. package/dist/onboarding/onboarding.service.js.map +1 -0
  24. package/dist/onboarding/onboarding.utils.d.ts +10 -0
  25. package/dist/onboarding/onboarding.utils.d.ts.map +1 -0
  26. package/dist/onboarding/onboarding.utils.js +48 -0
  27. package/dist/onboarding/onboarding.utils.js.map +1 -0
  28. package/dist/onboarding/types.d.ts +72 -0
  29. package/dist/onboarding/types.d.ts.map +1 -0
  30. package/dist/onboarding/types.js +29 -0
  31. package/dist/onboarding/types.js.map +1 -0
  32. package/dist/server.constants.d.ts.map +1 -1
  33. package/dist/server.constants.js +1 -0
  34. package/dist/server.constants.js.map +1 -1
  35. package/dist/server.d.ts.map +1 -1
  36. package/dist/server.js +10 -0
  37. package/dist/server.js.map +1 -1
  38. package/dist/tools/authenticate.d.ts.map +1 -1
  39. package/dist/tools/authenticate.js +3 -0
  40. package/dist/tools/authenticate.js.map +1 -1
  41. package/dist/tools/build/build.d.ts.map +1 -1
  42. package/dist/tools/build/build.js +5 -0
  43. package/dist/tools/build/build.js.map +1 -1
  44. package/dist/tools/mining/start/start-mining.d.ts.map +1 -1
  45. package/dist/tools/mining/start/start-mining.js +3 -0
  46. package/dist/tools/mining/start/start-mining.js.map +1 -1
  47. package/dist/tools/onboarding/complete-onboarding-step.d.ts +4 -0
  48. package/dist/tools/onboarding/complete-onboarding-step.d.ts.map +1 -0
  49. package/dist/tools/onboarding/complete-onboarding-step.js +18 -0
  50. package/dist/tools/onboarding/complete-onboarding-step.js.map +1 -0
  51. package/dist/tools/onboarding/constants.d.ts +36 -0
  52. package/dist/tools/onboarding/constants.d.ts.map +1 -0
  53. package/dist/tools/onboarding/constants.js +211 -0
  54. package/dist/tools/onboarding/constants.js.map +1 -0
  55. package/dist/tools/onboarding/facts.utils.d.ts +5 -0
  56. package/dist/tools/onboarding/facts.utils.d.ts.map +1 -0
  57. package/dist/tools/onboarding/facts.utils.js +38 -0
  58. package/dist/tools/onboarding/facts.utils.js.map +1 -0
  59. package/dist/tools/onboarding/onboarding.d.ts +4 -0
  60. package/dist/tools/onboarding/onboarding.d.ts.map +1 -0
  61. package/dist/tools/onboarding/onboarding.js +12 -0
  62. package/dist/tools/onboarding/onboarding.js.map +1 -0
  63. package/dist/tools/onboarding/render.utils.d.ts +9 -0
  64. package/dist/tools/onboarding/render.utils.d.ts.map +1 -0
  65. package/dist/tools/onboarding/render.utils.js +79 -0
  66. package/dist/tools/onboarding/render.utils.js.map +1 -0
  67. package/dist/tools/onboarding/restart-onboarding.d.ts +4 -0
  68. package/dist/tools/onboarding/restart-onboarding.d.ts.map +1 -0
  69. package/dist/tools/onboarding/restart-onboarding.js +13 -0
  70. package/dist/tools/onboarding/restart-onboarding.js.map +1 -0
  71. package/dist/tools/onboarding/skip-onboarding.d.ts +4 -0
  72. package/dist/tools/onboarding/skip-onboarding.d.ts.map +1 -0
  73. package/dist/tools/onboarding/skip-onboarding.js +13 -0
  74. package/dist/tools/onboarding/skip-onboarding.js.map +1 -0
  75. package/dist/tools/onboarding/types.d.ts +23 -0
  76. package/dist/tools/onboarding/types.d.ts.map +1 -0
  77. package/dist/tools/onboarding/types.js +22 -0
  78. package/dist/tools/onboarding/types.js.map +1 -0
  79. package/dist/tools/reveal/reveal.d.ts.map +1 -1
  80. package/dist/tools/reveal/reveal.js +5 -0
  81. package/dist/tools/reveal/reveal.js.map +1 -1
  82. package/dist/types.d.ts +2 -0
  83. package/dist/types.d.ts.map +1 -1
  84. package/dist/types.js.map +1 -1
  85. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ import type { OnboardingFacts } from './types.js';
2
+ import { type OnboardingStatus } from '../../onboarding/types.js';
3
+ import type { AppContext } from '../../types.js';
4
+ export declare function readOnboardingFacts(context: AppContext, status: OnboardingStatus): Promise<OnboardingFacts>;
5
+ //# sourceMappingURL=facts.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facts.utils.d.ts","sourceRoot":"","sources":["../../../src/tools/onboarding/facts.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAAE,KAAK,gBAAgB,EAAkB,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAyBjD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAUjH"}
@@ -0,0 +1,38 @@
1
+ import { EMPTY_ONBOARDING_FACTS } from './constants.js';
2
+ import { MapScope } from '../../map/types.js';
3
+ import { currentOnboardingStep } from '../../onboarding/onboarding.utils.js';
4
+ import { OnboardingStep } from '../../onboarding/types.js';
5
+ import { getWalletAddress } from '../map/wallet.utils.js';
6
+ function readAddress(context) {
7
+ try {
8
+ return getWalletAddress(context);
9
+ }
10
+ catch {
11
+ return null;
12
+ }
13
+ }
14
+ async function readCellCount(context, ownerAddress) {
15
+ try {
16
+ const result = await context.mapReader.query({
17
+ scope: MapScope.Summary,
18
+ tokenIds: null,
19
+ around: null,
20
+ ownerAddress,
21
+ });
22
+ return result.summary.myCells;
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ }
28
+ export async function readOnboardingFacts(context, status) {
29
+ const state = status.state;
30
+ const step = state === null ? null : currentOnboardingStep(state);
31
+ if (step !== OnboardingStep.WalletAndCell) {
32
+ return EMPTY_ONBOARDING_FACTS;
33
+ }
34
+ const walletAddress = readAddress(context);
35
+ const cellCount = walletAddress === null ? null : await readCellCount(context, walletAddress);
36
+ return { walletAddress, cellCount, walletMode: context.config.WALLET_MODE };
37
+ }
38
+ //# sourceMappingURL=facts.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facts.utils.js","sourceRoot":"","sources":["../../../src/tools/onboarding/facts.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAyB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,SAAS,WAAW,CAAC,OAAmB;IACpC,IAAI,CAAC;QACD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAmB,EAAE,YAAoB;IAClE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;YACzC,KAAK,EAAE,QAAQ,CAAC,OAAO;YACvB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,YAAY;SACf,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAmB,EAAE,MAAwB;IACnF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC9F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAChF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AppContext } from '../../types.js';
2
+ import type { ToolRegistrar } from '../types.js';
3
+ export declare function registerOnboardingTool(server: ToolRegistrar, context: AppContext): void;
4
+ //# sourceMappingURL=onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../src/tools/onboarding/onboarding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAWvF"}
@@ -0,0 +1,12 @@
1
+ import { ONBOARDING_TOOL_DESCRIPTION } from './constants.js';
2
+ import { readOnboardingFacts } from './facts.utils.js';
3
+ import { onboardingReport } from './render.utils.js';
4
+ import { ONBOARDING_TOOL_NAME } from '../../onboarding/constants.js';
5
+ export function registerOnboardingTool(server, context) {
6
+ server.registerTool(ONBOARDING_TOOL_NAME, { description: ONBOARDING_TOOL_DESCRIPTION, inputSchema: {} }, async () => {
7
+ const status = await context.onboarding.state();
8
+ const facts = await readOnboardingFacts(context, status);
9
+ return { content: onboardingReport(status, facts, null) };
10
+ });
11
+ }
12
+ //# sourceMappingURL=onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/tools/onboarding/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAIrE,MAAM,UAAU,sBAAsB,CAAC,MAAqB,EAAE,OAAmB;IAC7E,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB,EAAE,WAAW,EAAE,2BAA2B,EAAE,WAAW,EAAE,EAAE,EAAE,EAC7D,KAAK,IAAI,EAAE;QACP,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzD,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IAC9D,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { OnboardingFacts } from './types.js';
2
+ import { type OnboardingStatus } from '../../onboarding/types.js';
3
+ export declare function onboardingStatusLine(status: OnboardingStatus): string;
4
+ export declare function onboardingBody(status: OnboardingStatus, facts: OnboardingFacts): string;
5
+ export declare function onboardingReport(status: OnboardingStatus, facts: OnboardingFacts, lead: string | null): Array<{
6
+ type: 'text';
7
+ text: string;
8
+ }>;
9
+ //# sourceMappingURL=render.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.utils.d.ts","sourceRoot":"","sources":["../../../src/tools/onboarding/render.utils.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAGH,KAAK,gBAAgB,EAExB,MAAM,2BAA2B,CAAC;AAwCnC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqBrE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAkBvF;AAED,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,GAAG,IAAI,GACpB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAOvC"}
@@ -0,0 +1,79 @@
1
+ import { ONBOARDING_ADDRESS_LABEL, ONBOARDING_BRIEF_RULES, ONBOARDING_BULLET, ONBOARDING_CELLS_LABEL, ONBOARDING_CLOSES_LABEL, ONBOARDING_EXPLAIN_HEADING, ONBOARDING_FACTS_HEADING, ONBOARDING_FINISHED_TEXT, ONBOARDING_LINE_SEPARATOR, ONBOARDING_NEXT_TOOL_LABEL, ONBOARDING_NO_SESSION_TEXT, ONBOARDING_RULES_HEADING, ONBOARDING_SECTION_SEPARATOR, ONBOARDING_SKIP_REMINDER, ONBOARDING_SKIPPED_TEXT, ONBOARDING_STATUS_FINISHED, ONBOARDING_STATUS_NO_SESSION, ONBOARDING_STATUS_PREFIX, ONBOARDING_STATUS_SEPARATOR, ONBOARDING_STATUS_SKIPPED, ONBOARDING_STATUS_UNAVAILABLE, ONBOARDING_STEP_BRIEFS, ONBOARDING_UNAVAILABLE_TEXT, ONBOARDING_UNKNOWN_FACT, ONBOARDING_WALLET_MODE_LABEL, } from './constants.js';
2
+ import { ONBOARDING_STEP_ORDER } from '../../onboarding/constants.js';
3
+ import { currentOnboardingStep, isOnboardingFinished, onboardingPhaseOf } from '../../onboarding/onboarding.utils.js';
4
+ import { OnboardingAvailability, OnboardingStep, } from '../../onboarding/types.js';
5
+ function readyState(status) {
6
+ return status.availability === OnboardingAvailability.Ready ? status.state : null;
7
+ }
8
+ function bullet(line) {
9
+ return `${ONBOARDING_BULLET}${line}`;
10
+ }
11
+ function factsBlock(step, facts) {
12
+ if (step !== OnboardingStep.WalletAndCell) {
13
+ return null;
14
+ }
15
+ return [
16
+ ONBOARDING_FACTS_HEADING,
17
+ bullet(`${ONBOARDING_ADDRESS_LABEL}: ${facts.walletAddress ?? ONBOARDING_UNKNOWN_FACT}`),
18
+ bullet(`${ONBOARDING_CELLS_LABEL}: ${facts.cellCount ?? ONBOARDING_UNKNOWN_FACT}`),
19
+ bullet(`${ONBOARDING_WALLET_MODE_LABEL}: ${facts.walletMode ?? ONBOARDING_UNKNOWN_FACT}`),
20
+ ].join(ONBOARDING_LINE_SEPARATOR);
21
+ }
22
+ function briefBlock(step, facts) {
23
+ const brief = ONBOARDING_STEP_BRIEFS[step];
24
+ const sections = [
25
+ [ONBOARDING_RULES_HEADING, ...ONBOARDING_BRIEF_RULES.map(bullet)].join(ONBOARDING_LINE_SEPARATOR),
26
+ [ONBOARDING_EXPLAIN_HEADING, ...brief.explain.map(bullet)].join(ONBOARDING_LINE_SEPARATOR),
27
+ [`${ONBOARDING_CLOSES_LABEL} ${brief.closes}`, `${ONBOARDING_NEXT_TOOL_LABEL} \`${brief.nextTool}\``].join(ONBOARDING_LINE_SEPARATOR),
28
+ ];
29
+ const known = factsBlock(step, facts);
30
+ if (known !== null) {
31
+ sections.push(known);
32
+ }
33
+ sections.push(ONBOARDING_SKIP_REMINDER);
34
+ return sections.join(ONBOARDING_SECTION_SEPARATOR);
35
+ }
36
+ export function onboardingStatusLine(status) {
37
+ if (status.availability === OnboardingAvailability.Unauthenticated) {
38
+ return `${ONBOARDING_STATUS_PREFIX} ${ONBOARDING_STATUS_NO_SESSION}`;
39
+ }
40
+ const state = readyState(status);
41
+ if (state === null) {
42
+ return `${ONBOARDING_STATUS_PREFIX} ${ONBOARDING_STATUS_UNAVAILABLE}`;
43
+ }
44
+ const step = currentOnboardingStep(state);
45
+ if (isOnboardingFinished(state) || step === null) {
46
+ const mark = state.skippedAt === null ? ONBOARDING_STATUS_FINISHED : ONBOARDING_STATUS_SKIPPED;
47
+ return `${ONBOARDING_STATUS_PREFIX} ${mark}`;
48
+ }
49
+ const position = ONBOARDING_STEP_ORDER.indexOf(step) + 1;
50
+ return [
51
+ `${ONBOARDING_STATUS_PREFIX} step ${position}/${ONBOARDING_STEP_ORDER.length} \`${step}\``,
52
+ `phase ${onboardingPhaseOf(step)}`,
53
+ ].join(ONBOARDING_STATUS_SEPARATOR);
54
+ }
55
+ export function onboardingBody(status, facts) {
56
+ if (status.availability === OnboardingAvailability.Unauthenticated) {
57
+ return ONBOARDING_NO_SESSION_TEXT;
58
+ }
59
+ const state = readyState(status);
60
+ if (state === null) {
61
+ return ONBOARDING_UNAVAILABLE_TEXT;
62
+ }
63
+ const step = currentOnboardingStep(state);
64
+ if (isOnboardingFinished(state) || step === null) {
65
+ return state.skippedAt === null
66
+ ? ONBOARDING_FINISHED_TEXT
67
+ : [ONBOARDING_SKIPPED_TEXT, ONBOARDING_FINISHED_TEXT].join(' ');
68
+ }
69
+ return briefBlock(step, facts);
70
+ }
71
+ export function onboardingReport(status, facts, lead) {
72
+ const statusLine = onboardingStatusLine(status);
73
+ const header = lead === null ? statusLine : [lead, statusLine].join(ONBOARDING_LINE_SEPARATOR);
74
+ return [
75
+ { type: 'text', text: header },
76
+ { type: 'text', text: onboardingBody(status, facts) },
77
+ ];
78
+ }
79
+ //# sourceMappingURL=render.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.utils.js","sourceRoot":"","sources":["../../../src/tools/onboarding/render.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AppContext } from '../../types.js';
2
+ import type { ToolRegistrar } from '../types.js';
3
+ export declare function registerRestartOnboardingTool(server: ToolRegistrar, context: AppContext): void;
4
+ //# sourceMappingURL=restart-onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart-onboarding.d.ts","sourceRoot":"","sources":["../../../src/tools/onboarding/restart-onboarding.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAW9F"}
@@ -0,0 +1,13 @@
1
+ import { ONBOARDING_RESTART_DONE_TEXT, RESTART_ONBOARDING_TOOL_DESCRIPTION } from './constants.js';
2
+ import { readOnboardingFacts } from './facts.utils.js';
3
+ import { onboardingReport } from './render.utils.js';
4
+ import { restartOnboardingInputSchema } from './types.js';
5
+ import { RESTART_ONBOARDING_TOOL_NAME } from '../../onboarding/constants.js';
6
+ export function registerRestartOnboardingTool(server, context) {
7
+ server.registerTool(RESTART_ONBOARDING_TOOL_NAME, { description: RESTART_ONBOARDING_TOOL_DESCRIPTION, inputSchema: restartOnboardingInputSchema }, async (args) => {
8
+ const status = await context.onboarding.restart(args.playerRequest);
9
+ const facts = await readOnboardingFacts(context, status);
10
+ return { content: onboardingReport(status, facts, ONBOARDING_RESTART_DONE_TEXT) };
11
+ });
12
+ }
13
+ //# sourceMappingURL=restart-onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart-onboarding.js","sourceRoot":"","sources":["../../../src/tools/onboarding/restart-onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAI7E,MAAM,UAAU,6BAA6B,CAAC,MAAqB,EAAE,OAAmB;IACpF,MAAM,CAAC,YAAY,CACf,4BAA4B,EAC5B,EAAE,WAAW,EAAE,mCAAmC,EAAE,WAAW,EAAE,4BAA4B,EAAE,EAC/F,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzD,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,4BAA4B,CAAC,EAAE,CAAC;IACtF,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AppContext } from '../../types.js';
2
+ import type { ToolRegistrar } from '../types.js';
3
+ export declare function registerSkipOnboardingTool(server: ToolRegistrar, context: AppContext): void;
4
+ //# sourceMappingURL=skip-onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-onboarding.d.ts","sourceRoot":"","sources":["../../../src/tools/onboarding/skip-onboarding.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAW3F"}
@@ -0,0 +1,13 @@
1
+ import { ONBOARDING_SKIP_DONE_TEXT, SKIP_ONBOARDING_TOOL_DESCRIPTION } from './constants.js';
2
+ import { readOnboardingFacts } from './facts.utils.js';
3
+ import { onboardingReport } from './render.utils.js';
4
+ import { skipOnboardingInputSchema } from './types.js';
5
+ import { SKIP_ONBOARDING_TOOL_NAME } from '../../onboarding/constants.js';
6
+ export function registerSkipOnboardingTool(server, context) {
7
+ server.registerTool(SKIP_ONBOARDING_TOOL_NAME, { description: SKIP_ONBOARDING_TOOL_DESCRIPTION, inputSchema: skipOnboardingInputSchema }, async (args) => {
8
+ const status = await context.onboarding.skip(args.playerRequest);
9
+ const facts = await readOnboardingFacts(context, status);
10
+ return { content: onboardingReport(status, facts, ONBOARDING_SKIP_DONE_TEXT) };
11
+ });
12
+ }
13
+ //# sourceMappingURL=skip-onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-onboarding.js","sourceRoot":"","sources":["../../../src/tools/onboarding/skip-onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,MAAM,UAAU,0BAA0B,CAAC,MAAqB,EAAE,OAAmB;IACjF,MAAM,CAAC,YAAY,CACf,yBAAyB,EACzB,EAAE,WAAW,EAAE,gCAAgC,EAAE,WAAW,EAAE,yBAAyB,EAAE,EACzF,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzD,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC;IACnF,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { OnboardingStep } from '../../onboarding/types.js';
3
+ import type { WalletMode } from '../../types.js';
4
+ export interface OnboardingStepBrief {
5
+ explain: ReadonlyArray<string>;
6
+ closes: string;
7
+ nextTool: string;
8
+ }
9
+ export interface OnboardingFacts {
10
+ walletAddress: string | null;
11
+ cellCount: number | null;
12
+ walletMode: WalletMode | null;
13
+ }
14
+ export declare const completeOnboardingStepInputSchema: {
15
+ step: z.ZodNativeEnum<typeof OnboardingStep>;
16
+ };
17
+ export declare const skipOnboardingInputSchema: {
18
+ playerRequest: z.ZodString;
19
+ };
20
+ export declare const restartOnboardingInputSchema: {
21
+ playerRequest: z.ZodString;
22
+ };
23
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/onboarding/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,iCAAiC;;CAI7C,CAAC;AAEF,eAAO,MAAM,yBAAyB;;CAMrC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;CAMxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { OnboardingStep } from '../../onboarding/types.js';
3
+ export const completeOnboardingStepInputSchema = {
4
+ step: z
5
+ .nativeEnum(OnboardingStep)
6
+ .describe('The step to mark as closed. Only a step whose content the player has actually had.'),
7
+ };
8
+ export const skipOnboardingInputSchema = {
9
+ playerRequest: z
10
+ .string()
11
+ .trim()
12
+ .min(1)
13
+ .describe('The words of the player asking to skip, quoted. Required, and never your own paraphrase.'),
14
+ };
15
+ export const restartOnboardingInputSchema = {
16
+ playerRequest: z
17
+ .string()
18
+ .trim()
19
+ .min(1)
20
+ .describe('The words of the player asking for a rerun, quoted. Required, and never your own paraphrase.'),
21
+ };
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tools/onboarding/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAe3D,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC7C,IAAI,EAAE,CAAC;SACF,UAAU,CAAC,cAAc,CAAC;SAC1B,QAAQ,CAAC,oFAAoF,CAAC;CACtG,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,aAAa,EAAE,CAAC;SACX,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0FAA0F,CAAC;CAC5G,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;IACxC,aAAa,EAAE,CAAC;SACX,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,8FAA8F,CAAC;CAChH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reveal.d.ts","sourceRoot":"","sources":["../../../src/tools/reveal/reveal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAwDhE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAwBnF"}
1
+ {"version":3,"file":"reveal.d.ts","sourceRoot":"","sources":["../../../src/tools/reveal/reveal.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAwDhE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CA4BnF"}
@@ -1,5 +1,7 @@
1
1
  import { REVEAL_DESCRIPTION } from './constants.js';
2
2
  import { revealInputSchema } from './types.js';
3
+ import { closeOnboardingStep } from '../../onboarding/onboarding.autoclose.js';
4
+ import { OnboardingStep } from '../../onboarding/types.js';
3
5
  import { ToolEventType } from '../types.js';
4
6
  function requestLine(result) {
5
7
  if (result.requestTxHash === null) {
@@ -52,6 +54,9 @@ export function registerRevealTool(server, context) {
52
54
  const header = [requestLine(result), requestIdLine(result), outcomeLine(result)]
53
55
  .filter((line) => line !== null)
54
56
  .join(' ');
57
+ if (result.fulfilled) {
58
+ await closeOnboardingStep(context, OnboardingStep.Reveal);
59
+ }
55
60
  return {
56
61
  content: [
57
62
  { type: 'text', text: header },
@@ -1 +1 @@
1
- {"version":3,"file":"reveal.js","sourceRoot":"","sources":["../../../src/tools/reveal/reveal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reveal.js","sourceRoot":"","sources":["../../../src/tools/reveal/reveal.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -3,6 +3,7 @@ import type { EnvConfig } from './config/types.js';
3
3
  import type { ILogger } from './logger/types.js';
4
4
  import type { MapReader } from './map/reader.js';
5
5
  import type { MapSync } from './map/sync.js';
6
+ import type { IOnboardingService } from './onboarding/types.js';
6
7
  import type { AppConfigService } from './services/app-config.service.js';
7
8
  import type { AuthService } from './services/auth.service.js';
8
9
  import type { BalanceService } from './services/balance.service.js';
@@ -63,6 +64,7 @@ export interface AppContext {
63
64
  withdraw: WithdrawService;
64
65
  mapSync: MapSync;
65
66
  mapReader: MapReader;
67
+ onboarding: IOnboardingService;
66
68
  backendVersion: IBackendVersionSignal;
67
69
  packageVersion: IPackageVersionSignal;
68
70
  logger: ILogger;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,yBAAW,CAAA;IACX,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,yBAAW,CAAA;IACX,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-cpu-mcp",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "MCP server for Project CPU — AI agents interact with the game on behalf of players",
5
5
  "keywords": [
6
6
  "mcp",