Initial commit

This commit is contained in:
arhat0307
2026-06-26 00:06:07 +09:00
commit 75f9c5d7d4
108 changed files with 10256 additions and 0 deletions
@@ -0,0 +1,9 @@
//@ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import { Create as $Create } from "@wailsio/runtime";
Object.freeze($Create.Events);
@@ -0,0 +1,2 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
+34
View File
@@ -0,0 +1,34 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import { Call as $Call, CancellablePromise as $CancellablePromise } from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Configure(request: $models.ConfigureRequest): $CancellablePromise<$models.AppSettings> {
return $Call.ByID(1065098514, request);
}
export function GetReport(sessionID: string): $CancellablePromise<$models.ExamReport> {
return $Call.ByID(704064164, sessionID);
}
export function GetSettings(): $CancellablePromise<$models.AppSettings> {
return $Call.ByID(3018893939);
}
export function StartSession(config: $models.ExamConfig): $CancellablePromise<$models.StartSessionResponse> {
return $Call.ByID(13616470, config);
}
export function SubmitAnswer(request: $models.SubmitAnswerRequest): $CancellablePromise<$models.SubmitAnswerResponse> {
return $Call.ByID(665225252, request);
}
export function TestConnection(): $CancellablePromise<void> {
return $Call.ByID(4037176558);
}
+21
View File
@@ -0,0 +1,21 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import * as AppService from "./appservice.js";
export {
AppService
};
export type {
AnswerEvaluation,
AnswerRecord,
AppSettings,
ConfigureRequest,
ExamConfig,
ExamReport,
OverallReport,
Question,
StartSessionResponse,
SubmitAnswerRequest,
SubmitAnswerResponse
} from "./models.js";
+92
View File
@@ -0,0 +1,92 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as time$0 from "../time/models.js";
export interface AnswerEvaluation {
"score": number;
"keywords": string[] | null;
"strengths": string[] | null;
"improvements": string[] | null;
"feedback": string;
}
export interface AnswerRecord {
"question": Question;
"transcript": string;
"durationSec": number;
"evaluation": AnswerEvaluation;
"answeredAt": time$0.Time;
"audioPresent": boolean;
}
export interface AppSettings {
"hasApiKey": boolean;
"demoMode": boolean;
"evaluationModel": string;
"transcribeModel": string;
"realtimeModel": string;
}
export interface ConfigureRequest {
"apiKey": string;
"demoMode": boolean;
"evaluationModel": string;
"transcribeModel": string;
"realtimeModel": string;
}
export interface ExamConfig {
"difficulty": string;
"topics": string[] | null;
"language": string;
}
export interface ExamReport {
"sessionId": string;
"config": ExamConfig;
"overall": OverallReport;
"answers": AnswerRecord[] | null;
"generatedAt": time$0.Time;
}
export interface OverallReport {
"score": number;
"estimatedBand": string;
"summary": string;
"strengths": string[] | null;
"priorities": string[] | null;
}
export interface Question {
"index": number;
"category": string;
"topic": string;
"text": string;
"intent": string;
}
export interface StartSessionResponse {
"sessionId": string;
"question": Question;
"totalCount": number;
}
export interface SubmitAnswerRequest {
"sessionId": string;
"questionIdx": number;
"audioBase64": string;
"audioMime": string;
"transcript": string;
"durationSec": number;
}
export interface SubmitAnswerResponse {
"transcript": string;
"evaluation": AnswerEvaluation;
"next"?: Question | null;
"completed": boolean;
"progress": number;
}
+6
View File
@@ -0,0 +1,6 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export type {
Time
} from "./models.js";
+47
View File
@@ -0,0 +1,47 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
/**
* A Time represents an instant in time with nanosecond precision.
*
* Programs using times should typically store and pass them as values,
* not pointers. That is, time variables and struct fields should be of
* type [time.Time], not *time.Time.
*
* A Time value can be used by multiple goroutines simultaneously except
* that the methods [Time.GobDecode], [Time.UnmarshalBinary], [Time.UnmarshalJSON] and
* [Time.UnmarshalText] are not concurrency-safe.
*
* Time instants can be compared using the [Time.Before], [Time.After], and [Time.Equal] methods.
* The [Time.Sub] method subtracts two instants, producing a [Duration].
* The [Time.Add] method adds a Time and a Duration, producing a Time.
*
* The zero value of type Time is January 1, year 1, 00:00:00.000000000 UTC.
* As this time is unlikely to come up in practice, the [Time.IsZero] method gives
* a simple way of detecting a time that has not been initialized explicitly.
*
* Each time has an associated [Location]. The methods [Time.Local], [Time.UTC], and Time.In return a
* Time with a specific Location. Changing the Location of a Time value with
* these methods does not change the actual instant it represents, only the time
* zone in which to interpret it.
*
* Representations of a Time value saved by the [Time.GobEncode], [Time.MarshalBinary], [Time.AppendBinary],
* [Time.MarshalJSON], [Time.MarshalText] and [Time.AppendText] methods store the [Time.Location]'s offset,
* but not the location name. They therefore lose information about Daylight Saving Time.
*
* In addition to the required “wall clock” reading, a Time may contain an optional
* reading of the current process's monotonic clock, to provide additional precision
* for comparison or subtraction.
* See the “Monotonic Clocks” section in the package documentation for details.
*
* Note that the Go == operator compares not just the time instant but also the
* Location and the monotonic clock reading. Therefore, Time values should not
* be used as map or database keys without first guaranteeing that the
* identical Location has been set for all values, which can be achieved
* through use of the UTC or Local method, and that the monotonic clock reading
* has been stripped by setting t = t.Round(0). In general, prefer t.Equal(u)
* to t == u, since t.Equal uses the most accurate comparison available and
* correctly handles the case when only one of its arguments has a monotonic
* clock reading.
*/
export type Time = any;