project-cpu-mcp 0.14.0 → 1.0.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 (91) hide show
  1. package/README.md +26 -18
  2. package/dist/api/types.d.ts +6 -6
  3. package/dist/config/constants.d.ts +4 -4
  4. package/dist/config/constants.d.ts.map +1 -1
  5. package/dist/config/constants.js +4 -4
  6. package/dist/config/constants.js.map +1 -1
  7. package/dist/config/types.d.ts +5 -5
  8. package/dist/index.js +10 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/onboarding/constants.d.ts +22 -0
  11. package/dist/onboarding/constants.d.ts.map +1 -0
  12. package/dist/onboarding/constants.js +43 -0
  13. package/dist/onboarding/constants.js.map +1 -0
  14. package/dist/onboarding/onboarding.autoclose.d.ts +4 -0
  15. package/dist/onboarding/onboarding.autoclose.d.ts.map +1 -0
  16. package/dist/onboarding/onboarding.autoclose.js +20 -0
  17. package/dist/onboarding/onboarding.autoclose.js.map +1 -0
  18. package/dist/onboarding/onboarding.completion.d.ts +3 -0
  19. package/dist/onboarding/onboarding.completion.d.ts.map +1 -0
  20. package/dist/onboarding/onboarding.completion.js +10 -0
  21. package/dist/onboarding/onboarding.completion.js.map +1 -0
  22. package/dist/onboarding/onboarding.gate.d.ts +6 -0
  23. package/dist/onboarding/onboarding.gate.d.ts.map +1 -0
  24. package/dist/onboarding/onboarding.gate.js +43 -0
  25. package/dist/onboarding/onboarding.gate.js.map +1 -0
  26. package/dist/onboarding/onboarding.service.d.ts +21 -0
  27. package/dist/onboarding/onboarding.service.d.ts.map +1 -0
  28. package/dist/onboarding/onboarding.service.js +87 -0
  29. package/dist/onboarding/onboarding.service.js.map +1 -0
  30. package/dist/onboarding/onboarding.utils.d.ts +10 -0
  31. package/dist/onboarding/onboarding.utils.d.ts.map +1 -0
  32. package/dist/onboarding/onboarding.utils.js +48 -0
  33. package/dist/onboarding/onboarding.utils.js.map +1 -0
  34. package/dist/onboarding/types.d.ts +72 -0
  35. package/dist/onboarding/types.d.ts.map +1 -0
  36. package/dist/onboarding/types.js +29 -0
  37. package/dist/onboarding/types.js.map +1 -0
  38. package/dist/server.constants.d.ts.map +1 -1
  39. package/dist/server.constants.js +1 -0
  40. package/dist/server.constants.js.map +1 -1
  41. package/dist/server.d.ts.map +1 -1
  42. package/dist/server.js +10 -0
  43. package/dist/server.js.map +1 -1
  44. package/dist/tools/authenticate.d.ts.map +1 -1
  45. package/dist/tools/authenticate.js +3 -0
  46. package/dist/tools/authenticate.js.map +1 -1
  47. package/dist/tools/build/build.d.ts.map +1 -1
  48. package/dist/tools/build/build.js +5 -0
  49. package/dist/tools/build/build.js.map +1 -1
  50. package/dist/tools/mining/start/start-mining.d.ts.map +1 -1
  51. package/dist/tools/mining/start/start-mining.js +3 -0
  52. package/dist/tools/mining/start/start-mining.js.map +1 -1
  53. package/dist/tools/onboarding/complete-onboarding-step.d.ts +4 -0
  54. package/dist/tools/onboarding/complete-onboarding-step.d.ts.map +1 -0
  55. package/dist/tools/onboarding/complete-onboarding-step.js +18 -0
  56. package/dist/tools/onboarding/complete-onboarding-step.js.map +1 -0
  57. package/dist/tools/onboarding/constants.d.ts +36 -0
  58. package/dist/tools/onboarding/constants.d.ts.map +1 -0
  59. package/dist/tools/onboarding/constants.js +211 -0
  60. package/dist/tools/onboarding/constants.js.map +1 -0
  61. package/dist/tools/onboarding/facts.utils.d.ts +5 -0
  62. package/dist/tools/onboarding/facts.utils.d.ts.map +1 -0
  63. package/dist/tools/onboarding/facts.utils.js +38 -0
  64. package/dist/tools/onboarding/facts.utils.js.map +1 -0
  65. package/dist/tools/onboarding/onboarding.d.ts +4 -0
  66. package/dist/tools/onboarding/onboarding.d.ts.map +1 -0
  67. package/dist/tools/onboarding/onboarding.js +12 -0
  68. package/dist/tools/onboarding/onboarding.js.map +1 -0
  69. package/dist/tools/onboarding/render.utils.d.ts +9 -0
  70. package/dist/tools/onboarding/render.utils.d.ts.map +1 -0
  71. package/dist/tools/onboarding/render.utils.js +79 -0
  72. package/dist/tools/onboarding/render.utils.js.map +1 -0
  73. package/dist/tools/onboarding/restart-onboarding.d.ts +4 -0
  74. package/dist/tools/onboarding/restart-onboarding.d.ts.map +1 -0
  75. package/dist/tools/onboarding/restart-onboarding.js +13 -0
  76. package/dist/tools/onboarding/restart-onboarding.js.map +1 -0
  77. package/dist/tools/onboarding/skip-onboarding.d.ts +4 -0
  78. package/dist/tools/onboarding/skip-onboarding.d.ts.map +1 -0
  79. package/dist/tools/onboarding/skip-onboarding.js +13 -0
  80. package/dist/tools/onboarding/skip-onboarding.js.map +1 -0
  81. package/dist/tools/onboarding/types.d.ts +23 -0
  82. package/dist/tools/onboarding/types.d.ts.map +1 -0
  83. package/dist/tools/onboarding/types.js +22 -0
  84. package/dist/tools/onboarding/types.js.map +1 -0
  85. package/dist/tools/reveal/reveal.d.ts.map +1 -1
  86. package/dist/tools/reveal/reveal.js +5 -0
  87. package/dist/tools/reveal/reveal.js.map +1 -1
  88. package/dist/types.d.ts +2 -0
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js.map +1 -1
  91. package/package.json +1 -1
@@ -0,0 +1,211 @@
1
+ import { COMPLETE_ONBOARDING_STEP_TOOL_NAME, RESTART_ONBOARDING_TOOL_NAME, SKIP_ONBOARDING_TOOL_NAME, } from '../../onboarding/constants.js';
2
+ import { OnboardingStep } from '../../onboarding/types.js';
3
+ export const ONBOARDING_TOOL_DESCRIPTION = [
4
+ 'Where the player stands in the six-step introduction to the game, and what to cover next. No input.',
5
+ 'Answers with the step (N/6) and its phase, whether the introduction is finished or was skipped, and the',
6
+ 'brief for the current step: the theses to cover, what closes the step and which tool closes it. Call it',
7
+ 'right after `cpu_authenticate` for a player you have not walked through yet, and again whenever you are',
8
+ 'unsure what they already know. The brief is a set of notes for you — put it in your own words, in the',
9
+ 'language of the player, and never read it out. The steps that are pure explanation — `intro`,',
10
+ '`wallet_and_cell` and `tour` — are closed in the same turn they are delivered, with no confirmation',
11
+ 'asked of the player.',
12
+ ].join(' ');
13
+ export const COMPLETE_ONBOARDING_STEP_TOOL_DESCRIPTION = [
14
+ 'Mark one step of the introduction as closed. Use it for the steps that are pure explanation — `intro`,',
15
+ '`wallet_and_cell` and `tour` — once the player has actually had them, and for a step the player had',
16
+ 'already done before the introduction began: a cell already revealed, a building already standing, a job',
17
+ 'already running. Do not close a step whose action has not happened — `cpu_reveal`, `cpu_build` and',
18
+ '`cpu_start_mining` close their own steps when the action succeeds. Close an explanation step in the same',
19
+ 'turn you delivered it, without asking the player for permission to go on. Closing the sixth step ends the',
20
+ 'introduction. Answers with the new state and the next brief.',
21
+ ].join(' ');
22
+ export const SKIP_ONBOARDING_TOOL_DESCRIPTION = [
23
+ 'Close the whole introduction because the player asked to skip it. `playerRequest` carries their own',
24
+ 'words, quoted, and it must not be empty. Never call this on your own initiative: not because the',
25
+ 'introduction feels slow, not to unblock a tool that refused, not to save a few turns. Without an',
26
+ 'explicit request from the player this call is out of bounds. It closes all six steps with that reason',
27
+ 'and opens every game tool.',
28
+ ].join(' ');
29
+ export const RESTART_ONBOARDING_TOOL_DESCRIPTION = [
30
+ 'Run the introduction again because the player asked for it. `playerRequest` carries their own words,',
31
+ 'quoted, and it must not be empty. Never call this on your own initiative — it resets the state to step 1',
32
+ 'and the game tools refuse again until `intro` is closed, so only an explicit request from the player',
33
+ 'justifies it.',
34
+ ].join(' ');
35
+ const PACING_RULE = [
36
+ 'Never ask the player for permission to go on and never end on "say next": a step that is pure',
37
+ `explanation you close at once with \`${COMPLETE_ONBOARDING_STEP_TOOL_NAME}\` and deliver the next brief in`,
38
+ 'the same reply. Hand the turn back only where the step needs something from the player — money to spend,',
39
+ 'a choice to make, a cell to move — and then name exactly that one thing at the end.',
40
+ ].join(' ');
41
+ export const ONBOARDING_BRIEF_RULES = [
42
+ 'Four or five sentences at most per step, counted per step even when two steps share one reply.',
43
+ 'Only the terms this step needs; another mechanic only when the player asks about it.',
44
+ PACING_RULE,
45
+ 'Your own words, in the language the player writes in — the theses are notes, never a text to read out.',
46
+ 'A step that spends real money runs only after the player has said yes to it.',
47
+ ];
48
+ const GAME_LOOP_THESIS = [
49
+ 'the loop: mine the deposits, craft what they feed, forge wCPU in the CPU Forge, cash wCPU out 1:1 as',
50
+ 'onchain $CPU',
51
+ ].join(' ');
52
+ const EMISSION_BUDGET_THESIS = [
53
+ 'the Emission budget — the onchain $CPU reserve those cash-outs draw on — is finite, and every reveal',
54
+ 'deepens the $CPU market',
55
+ ].join(' ');
56
+ const CELL_SOURCES_THESIS = [
57
+ 'two roads to a first cell: a transfer from the own wallet of the player to the agent address, or a',
58
+ 'purchase — `cpu_buy_cell` on the land market, or `cpu_quote_mint` then `cpu_mint_cell` on the primary',
59
+ 'drop',
60
+ ].join(' ');
61
+ const REVEAL_FUNDING_THESIS = [
62
+ 'the reveal that comes next is paid in ETH from the agent address, so check it with `cpu_get_balance`',
63
+ 'before promising anything',
64
+ ].join(' ');
65
+ const EXTRACTOR_CATALOG_THESIS = [
66
+ '`cpu_get_cell` names the deposits, `cpu_find_buildings` and `cpu_get_building` name the extractor that',
67
+ 'mines them',
68
+ ].join(' ');
69
+ const MINING_SIZE_THESIS = [
70
+ '`cpu_start_mining` books a fixed number of cycles and there is no cancel, so size it against the cycle',
71
+ 'length in `cpu_get_game_config` and the deposit in `cpu_get_cell`',
72
+ ].join(' ');
73
+ const CLAIM_THESIS = [
74
+ 'claim is a mechanic, not a wait: the job banks on its own schedule and `cpu_claim_mining` collects',
75
+ 'whenever the player comes back',
76
+ ].join(' ');
77
+ const WCPU_PATH_THESIS = [
78
+ 'the road out: raw output, then recipes with `cpu_craft`, then wCPU from the CPU Forge, then',
79
+ '`cpu_withdraw` turning wCPU into onchain $CPU, 1:1',
80
+ ].join(' ');
81
+ const NETWORK_THESIS = [
82
+ 'a holding is more than one cell: `cpu_transport` moves goods between cells, and hubs carry lots for',
83
+ 'trade — `cpu_list_lots`, `cpu_create_lot`',
84
+ ].join(' ');
85
+ const SYNDICATE_THESIS = [
86
+ 'a Syndicate is an onchain alliance of land owners with shared fee terms; trading or shipping through the',
87
+ 'hub of a fellow member simply costs less, and that discount is the one reason worth naming',
88
+ ].join(' ');
89
+ const REVEAL_CLOSES = [
90
+ 'a completed `cpu_reveal` closes it by itself; mark it by hand only when the cell was revealed before',
91
+ 'this walkthrough',
92
+ ].join(' ');
93
+ export const ONBOARDING_STEP_BRIEFS = {
94
+ [OnboardingStep.Intro]: {
95
+ explain: [
96
+ 'Project CPU is an onchain industrial game; land cells are NFTs and one cell is the whole entry ticket',
97
+ 'a cell hides its deposits until a reveal rolls them',
98
+ GAME_LOOP_THESIS,
99
+ EMISSION_BUDGET_THESIS,
100
+ 'this walkthrough can be skipped: one word from the player and it stops',
101
+ 'the wallet check comes right now, in this same reply, and not after a confirmation from the player',
102
+ ],
103
+ closes: [
104
+ 'at once — mark it and move straight into the wallet check in the same reply; nothing happens',
105
+ 'onchain and nothing is waited for',
106
+ ].join(' '),
107
+ nextTool: COMPLETE_ONBOARDING_STEP_TOOL_NAME,
108
+ },
109
+ [OnboardingStep.WalletAndCell]: {
110
+ explain: [
111
+ 'this agent signs from its own wallet, which is not the main wallet of the player',
112
+ 'a cell has to sit on that agent address before the agent can do anything with it',
113
+ 'a cell carries its whole game state when it moves; ETH and $CPU on a wallet do not travel with it',
114
+ CELL_SOURCES_THESIS,
115
+ REVEAL_FUNDING_THESIS,
116
+ ],
117
+ closes: [
118
+ 'at once when a cell already sits on the agent address — the facts below count them: mark it and move',
119
+ 'on to the reveal in the same reply; otherwise the one thing for the player is to get a cell onto the',
120
+ 'agent address, and the turn ends there',
121
+ ].join(' '),
122
+ nextTool: COMPLETE_ONBOARDING_STEP_TOOL_NAME,
123
+ },
124
+ [OnboardingStep.Reveal]: {
125
+ explain: [
126
+ 'a reveal rolls the deposits of one cell, and a cell without deposits produces nothing',
127
+ 'it is paid: ETH with the transaction plus gas; the first reveal of a cell burns no $CPU',
128
+ 'ask the player before sending it — `cpu_reveal` spends real money, so no reveal without a yes',
129
+ 'on some networks the draw lands a moment later; `cpu_get_cell` shows the deposits once it does',
130
+ ],
131
+ closes: REVEAL_CLOSES,
132
+ nextTool: 'cpu_reveal',
133
+ },
134
+ [OnboardingStep.BuildExtractor]: {
135
+ explain: [
136
+ 'an extractor is the building that pulls a deposit out of the ground',
137
+ 'a cell holds one building, so match the extractor to a deposit the cell actually holds',
138
+ EXTRACTOR_CATALOG_THESIS,
139
+ 'building burns $CPU and takes time to finish: ask the player first, then wait out the construction',
140
+ ],
141
+ closes: 'a successful `cpu_build` closes it by itself; mark it by hand only when a building stands',
142
+ nextTool: 'cpu_build',
143
+ },
144
+ [OnboardingStep.StartMining]: {
145
+ explain: [
146
+ 'a finished extractor stands idle until a job is started on it',
147
+ MINING_SIZE_THESIS,
148
+ 'a cycle takes hours: say roughly when the job ends instead of asking the player to sit and wait',
149
+ 'matured cycles are banked later with `cpu_claim_mining`, and nothing is lost by coming back late',
150
+ ],
151
+ closes: 'a successful `cpu_start_mining` closes it by itself; mark it by hand only when a job runs',
152
+ nextTool: 'cpu_start_mining',
153
+ },
154
+ [OnboardingStep.Tour]: {
155
+ explain: [
156
+ CLAIM_THESIS,
157
+ WCPU_PATH_THESIS,
158
+ NETWORK_THESIS,
159
+ SYNDICATE_THESIS,
160
+ 'end with an open door: any mechanic, in any depth, whenever the player asks',
161
+ ],
162
+ closes: 'at once — pure explanation: mark it in the same reply, and that mark ends the whole walkthrough',
163
+ nextTool: COMPLETE_ONBOARDING_STEP_TOOL_NAME,
164
+ },
165
+ };
166
+ export const EMPTY_ONBOARDING_FACTS = { walletAddress: null, cellCount: null, walletMode: null };
167
+ export const ONBOARDING_STATUS_PREFIX = 'Onboarding:';
168
+ export const ONBOARDING_STATUS_SEPARATOR = ' · ';
169
+ export const ONBOARDING_STATUS_FINISHED = 'finished';
170
+ export const ONBOARDING_STATUS_SKIPPED = 'finished (skipped at the request of the player)';
171
+ export const ONBOARDING_STATUS_UNAVAILABLE = 'unavailable';
172
+ export const ONBOARDING_STATUS_NO_SESSION = 'no session yet';
173
+ export const ONBOARDING_RULES_HEADING = 'How to deliver this step:';
174
+ export const ONBOARDING_EXPLAIN_HEADING = 'Explain (theses, not sentences to reuse):';
175
+ export const ONBOARDING_CLOSES_LABEL = 'Closes:';
176
+ export const ONBOARDING_NEXT_TOOL_LABEL = 'Next tool:';
177
+ export const ONBOARDING_FACTS_HEADING = 'Facts you already hold:';
178
+ export const ONBOARDING_ADDRESS_LABEL = 'Agent wallet address';
179
+ export const ONBOARDING_CELLS_LABEL = 'Cells on that address';
180
+ export const ONBOARDING_WALLET_MODE_LABEL = 'Wallet mode';
181
+ export const ONBOARDING_UNKNOWN_FACT = 'unknown';
182
+ export const ONBOARDING_BULLET = '- ';
183
+ export const ONBOARDING_LINE_SEPARATOR = '\n';
184
+ export const ONBOARDING_SECTION_SEPARATOR = '\n\n';
185
+ export const ONBOARDING_SKIP_REMINDER = [
186
+ 'The player may stop this at any point. Only on their own explicit words, call',
187
+ `\`${SKIP_ONBOARDING_TOOL_NAME}\` and quote them.`,
188
+ ].join(' ');
189
+ export const ONBOARDING_FINISHED_TEXT = [
190
+ 'The introduction is over: no step is open and no reminder follows it.',
191
+ `Run it again only when the player explicitly asks — \`${RESTART_ONBOARDING_TOOL_NAME}\`, quoting them.`,
192
+ ].join(' ');
193
+ export const ONBOARDING_SKIPPED_TEXT = 'The player skipped the introduction.';
194
+ export const ONBOARDING_UNAVAILABLE_TEXT = [
195
+ 'The introduction is unavailable right now. Nothing is blocked: the player can play as usual, and you',
196
+ 'answer their questions from what you know about the game.',
197
+ ].join(' ');
198
+ export const ONBOARDING_NO_SESSION_TEXT = [
199
+ 'No game session yet, and the introduction belongs to the wallet rather than to this client.',
200
+ 'Call `cpu_authenticate` first, then ask again.',
201
+ ].join(' ');
202
+ export const ONBOARDING_STEP_CLOSED_PREFIX = 'Closed onboarding step';
203
+ export const ONBOARDING_SKIP_DONE_TEXT = [
204
+ 'Onboarding closed at the request of the player. Every game tool is open now and no onboarding reminder',
205
+ 'follows.',
206
+ ].join(' ');
207
+ export const ONBOARDING_RESTART_DONE_TEXT = [
208
+ 'Onboarding restarted at the request of the player. It begins again at step 1, and the game tools refuse',
209
+ 'until `intro` is closed.',
210
+ ].join(' ');
211
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tools/onboarding/constants.ts"],"names":[],"mappings":"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"}
@@ -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": "1.0.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",