@sudobility/sudojo_lib 0.0.53 → 0.0.54
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/hooks/useHint.d.ts
CHANGED
|
@@ -27,6 +27,10 @@ export interface HintReceivedData {
|
|
|
27
27
|
hints: SolverHintStep[];
|
|
28
28
|
/** Board data that will be applied */
|
|
29
29
|
boardData: HintBoardData;
|
|
30
|
+
/** Difficulty level for this hint (from SolverHints.level) */
|
|
31
|
+
hintLevel: number;
|
|
32
|
+
/** Technique ID for this hint (from SolverHints.technique) */
|
|
33
|
+
hintTechnique: number;
|
|
30
34
|
}
|
|
31
35
|
/** Access denied error info when hint level exceeds subscription tier */
|
|
32
36
|
export interface HintAccessError {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHint.d.ts","sourceRoot":"","sources":["../../src/hooks/useHint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAEV,mBAAmB,EACnB,eAAe,EAGf,cAAc,EACf,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,2CAA2C;IAC3C,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,qBAAqB;IACrB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,sCAAsC;IACtC,SAAS,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"useHint.d.ts","sourceRoot":"","sources":["../../src/hooks/useHint.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/useHint.js
CHANGED
|
@@ -87,6 +87,8 @@ export function useHint({ networkClient, baseUrl, token, puzzle, userInput, penc
|
|
|
87
87
|
pencilmarks: board.pencilmark?.numbers ?? null,
|
|
88
88
|
autoPencilmarks: board.pencilmark?.autopencil ?? false,
|
|
89
89
|
},
|
|
90
|
+
hintLevel: response.data.hints.level,
|
|
91
|
+
hintTechnique: response.data.hints.technique,
|
|
90
92
|
});
|
|
91
93
|
}
|
|
92
94
|
setHints(hintSteps);
|
|
@@ -106,23 +108,10 @@ export function useHint({ networkClient, baseUrl, token, puzzle, userInput, penc
|
|
|
106
108
|
setError(null);
|
|
107
109
|
setAccessError(null);
|
|
108
110
|
setIsTargetTechnique(false);
|
|
109
|
-
// Debug: Log the values being sent to the solver
|
|
110
|
-
console.log('[useHint] fetchHints called with:', {
|
|
111
|
-
puzzle: `${puzzle.substring(0, 20)}...`,
|
|
112
|
-
puzzleLength: puzzle.length,
|
|
113
|
-
userInput: `${userInput.substring(0, 20)}...`,
|
|
114
|
-
userInputLength: userInput.length,
|
|
115
|
-
hasPencilmarks: pencilmarks !== undefined,
|
|
116
|
-
autoPencilmarks,
|
|
117
|
-
techniqueFilter,
|
|
118
|
-
hasToken: !!token,
|
|
119
|
-
baseUrl,
|
|
120
|
-
});
|
|
121
111
|
try {
|
|
122
112
|
const client = createSudojoClient(networkClient, baseUrl);
|
|
123
113
|
// Phase 1: If techniqueFilter is set, first try to find that specific technique
|
|
124
114
|
if (techniqueFilter !== undefined) {
|
|
125
|
-
console.log(`[useHint] Phase 1: Trying with techniqueFilter=${techniqueFilter}`);
|
|
126
115
|
const filteredOptions = {
|
|
127
116
|
original: puzzle,
|
|
128
117
|
user: userInput,
|
|
@@ -131,20 +120,12 @@ export function useHint({ networkClient, baseUrl, token, puzzle, userInput, penc
|
|
|
131
120
|
techniques: techniqueFilter.toString(),
|
|
132
121
|
};
|
|
133
122
|
const filteredResponse = await client.solverSolve(token, filteredOptions);
|
|
134
|
-
console.log('[useHint] Filtered response:', {
|
|
135
|
-
success: filteredResponse.success,
|
|
136
|
-
hasData: !!filteredResponse.data,
|
|
137
|
-
hasHints: !!filteredResponse.data?.hints,
|
|
138
|
-
hintCount: filteredResponse.data?.hints?.steps?.length,
|
|
139
|
-
});
|
|
140
123
|
// If we found hints for the target technique, use them
|
|
141
124
|
if (processHintResponse(filteredResponse, true)) {
|
|
142
|
-
console.log('[useHint] Found target technique!');
|
|
143
125
|
setIsLoading(false);
|
|
144
126
|
return;
|
|
145
127
|
}
|
|
146
128
|
// No hints for target technique, fall through to Phase 2
|
|
147
|
-
console.log('[useHint] Phase 2: Target technique not found, trying without filter');
|
|
148
129
|
}
|
|
149
130
|
// Phase 2: Regular (unfiltered) call to get next available hint
|
|
150
131
|
const solveOptions = {
|
|
@@ -153,15 +134,7 @@ export function useHint({ networkClient, baseUrl, token, puzzle, userInput, penc
|
|
|
153
134
|
autoPencilmarks,
|
|
154
135
|
...(pencilmarks !== undefined && { pencilmarks }),
|
|
155
136
|
};
|
|
156
|
-
console.log('[useHint] Calling solverSolve (unfiltered)...');
|
|
157
137
|
const response = await client.solverSolve(token, solveOptions);
|
|
158
|
-
console.log('[useHint] solverSolve response:', {
|
|
159
|
-
success: response.success,
|
|
160
|
-
hasData: !!response.data,
|
|
161
|
-
hasHints: !!response.data?.hints,
|
|
162
|
-
hintCount: response.data?.hints?.steps?.length,
|
|
163
|
-
error: response.error,
|
|
164
|
-
});
|
|
165
138
|
if (processHintResponse(response, false)) {
|
|
166
139
|
// Successfully got hints (not the target technique)
|
|
167
140
|
}
|
|
@@ -177,13 +150,6 @@ export function useHint({ networkClient, baseUrl, token, puzzle, userInput, penc
|
|
|
177
150
|
}
|
|
178
151
|
}
|
|
179
152
|
catch (err) {
|
|
180
|
-
// Debug: Log the error details
|
|
181
|
-
console.error('[useHint] Error in fetchHints:', {
|
|
182
|
-
errorType: err?.constructor?.name,
|
|
183
|
-
errorMessage: err instanceof Error ? err.message : String(err),
|
|
184
|
-
isHintAccessDenied: HintAccessDeniedError.isHintAccessDeniedError(err),
|
|
185
|
-
fullError: err,
|
|
186
|
-
});
|
|
187
153
|
// Handle hint access denied error (402)
|
|
188
154
|
if (HintAccessDeniedError.isHintAccessDeniedError(err)) {
|
|
189
155
|
setAccessError({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHint.js","sourceRoot":"","sources":["../../src/hooks/useHint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAStD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useHint.js","sourceRoot":"","sources":["../../src/hooks/useHint.ts"],"names":[],"mappings":"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"}
|