genshin-mods 4.3.3 → 4.5.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.
- package/.claude-plugin/plugin.json +10 -2
- package/README.md +47 -37
- package/package.json +2 -2
- package/src/models/CommandRefusal.ts +3 -0
- package/src/models/ModName.ts +9 -0
- package/src/models/SinFigures.ts +4 -0
- package/src/models/SinName.ts +12 -0
- package/src/models/SinPosterior.ts +4 -0
- package/src/models/SinScore.ts +7 -0
- package/src/models/SinStatusKind.ts +8 -0
- package/src/models/SinsResult.ts +6 -0
- package/src/models/TaskCall.ts +1 -7
- package/src/models/TaskStatus.ts +6 -0
- package/src/models/UsageWindow.ts +1 -3
- package/src/register.ts +7 -3
- package/src/services/InitialState.ts +7 -2
- package/src/services/ModDescriptionMap.ts +10 -6
- package/src/services/band/getCommissionSummary.ts +2 -1
- package/src/services/band/registerBand.ts +51 -4
- package/src/services/commission/foldTaskCall.ts +2 -1
- package/src/services/constants.ts +3 -8
- package/src/services/delegation/checkIsLookupCommand.ts +2 -8
- package/src/services/delegation/stripLeadingSegments.ts +8 -0
- package/src/services/diskScan/getDenyReason.ts +7 -0
- package/src/services/diskScan/getDiskScanRefusal.ts +2 -78
- package/src/services/diskScan/getScanCommandRefusal.ts +8 -0
- package/src/services/diskScan/getScanRefusal.ts +21 -0
- package/src/services/diskScan/isRecursiveFlag.ts +4 -0
- package/src/services/diskScan/isRecursiveLongFlag.ts +3 -0
- package/src/services/diskScan/isRoot.ts +8 -0
- package/src/services/diskScan/normalizePath.ts +7 -0
- package/src/services/diskScan/readGrepArguments.ts +25 -0
- package/src/services/diskScan/registerDiskScan.ts +2 -1
- package/src/services/readHome.ts +7 -0
- package/src/services/registerLifecycle.ts +93 -25
- package/src/services/resin/RateLimitKindUsageWindowMap.ts +2 -10
- package/src/services/resin/formatResetsAt.ts +1 -1
- package/src/services/resin/getReserveSummary.ts +4 -4
- package/src/services/resin/getReserveWindow.ts +8 -13
- package/src/services/resin/reserveText.ts +4 -4
- package/src/services/shell/getDollarSubstitutionBodies.ts +25 -0
- package/src/services/shell/getShellRefusal.ts +4 -38
- package/src/services/shell/tokenize.ts +8 -0
- package/src/services/sins/SinColorMap.ts +12 -0
- package/src/services/sins/SinStatusTextMap.ts +10 -0
- package/src/services/sins/appendSinEvidence.ts +18 -0
- package/src/services/sins/constants.ts +33 -0
- package/src/services/sins/getBarCells.ts +8 -0
- package/src/services/sins/getPosteriorTrail.ts +21 -0
- package/src/services/sins/getScoreAndSpread.ts +8 -0
- package/src/services/sins/getSinQuestions.ts +28 -0
- package/src/services/sins/getSinScores.ts +17 -0
- package/src/services/sins/getTrend.ts +13 -0
- package/src/services/sins/parseSinsResult.ts +5 -0
- package/src/services/sins/pickTypeSafeKey.ts +4 -0
- package/src/services/sins/readIsLightTheme.ts +8 -0
- package/src/services/sins/readSinStatus.ts +20 -0
- package/src/services/sins/readTypeSafeKey.ts +10 -0
- package/src/services/sins/registerSins.ts +56 -0
- package/src/services/sins/sinsScript.ts +47 -0
- package/src/services/ward/getAddRefusal.ts +14 -0
- package/src/services/ward/getCheckoutPeer.ts +1 -3
- package/src/services/ward/getCheckoutRefusal.ts +6 -0
- package/src/services/ward/getCleanRefusal.ts +8 -0
- package/src/services/ward/getComparablePath.ts +2 -0
- package/src/services/ward/getGitRefusal.ts +32 -0
- package/src/services/ward/getResetRefusal.ts +19 -0
- package/src/services/ward/getRestoreRefusal.ts +10 -0
- package/src/services/ward/getStashRefusal.ts +2 -0
- package/src/services/ward/getSubcommand.ts +16 -0
- package/src/services/ward/getWholeIndexDenyReason.ts +9 -0
- package/src/services/ward/getWholeIndexRefusal.ts +1 -121
- package/src/services/ward/isFlag.ts +1 -0
- package/src/services/ward/isWholeCheckout.ts +5 -0
- package/src/services/ward/registerWholeIndex.ts +2 -1
- package/src/services/ward/resolveRecordsPath.ts +2 -1
- package/src/services/ward/splitArguments.ts +14 -0
- package/types/index.d.ts +11 -5
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { EngineInterface } from "claude-code";
|
|
2
2
|
|
|
3
|
+
import { readHome } from "../readHome";
|
|
3
4
|
import { getRecordsPath } from "./getRecordsPath";
|
|
4
5
|
|
|
5
6
|
// The records file under the person's home folder, the home read from the engine's environment lookup
|
|
6
7
|
// oxlint-disable-next-line func-style -- A declaration, not an arrow: the hooks module's bundle follows an imported helper that takes `$` only into a function declaration
|
|
7
8
|
export async function resolveRecordsPath($: EngineInterface): Promise<string> {
|
|
8
|
-
return getRecordsPath(
|
|
9
|
+
return getRecordsPath(await readHome($));
|
|
9
10
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { isFlag } from "./isFlag";
|
|
2
|
+
|
|
3
|
+
// The flags, the words before a `--` and the words after it, so a path is read whether or not git was given a separator
|
|
4
|
+
export const splitArguments = (args: string[]) => {
|
|
5
|
+
const separator = args.indexOf("--");
|
|
6
|
+
const before = separator === -1 ? args : args.slice(0, separator);
|
|
7
|
+
const after = separator === -1 ? [] : args.slice(separator + 1);
|
|
8
|
+
return {
|
|
9
|
+
after,
|
|
10
|
+
flags: before.filter((arg) => isFlag(arg)),
|
|
11
|
+
hasSeparator: separator !== -1,
|
|
12
|
+
operands: [...before.filter((arg) => !isFlag(arg)), ...after],
|
|
13
|
+
};
|
|
14
|
+
};
|
package/types/index.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export interface Commission {
|
|
|
8
8
|
|
|
9
9
|
export interface CommissionTask {
|
|
10
10
|
id: string;
|
|
11
|
-
// oxlint-disable-next-line literal-union/no-string-literal-union -- The engine's own task statuses, as its task tools spell them
|
|
12
11
|
status: "completed" | "in_progress" | "pending";
|
|
13
12
|
subject: string;
|
|
14
13
|
}
|
|
@@ -18,22 +17,25 @@ export interface EnabledMods {
|
|
|
18
17
|
commission: boolean;
|
|
19
18
|
pulse: boolean;
|
|
20
19
|
resin: boolean;
|
|
20
|
+
sins: boolean;
|
|
21
21
|
veil: boolean;
|
|
22
22
|
ward: boolean;
|
|
23
23
|
waypoints: boolean;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
// The rate-limit window past a usage line, named as its section spells it, the line it has passed, whether
|
|
27
|
-
//
|
|
28
|
-
//
|
|
26
|
+
// The rate-limit window past a usage line, named as its section spells it, the line it has passed, whether the reserve
|
|
27
|
+
// Was entered by spending ahead of an even pace rather than by the window's maintenance line, and when it resets; `""`
|
|
28
|
+
// In the name is the absent reserve
|
|
29
29
|
export interface ReserveWindow {
|
|
30
30
|
isAheadOfPace: boolean;
|
|
31
|
-
isWindDown: boolean;
|
|
32
31
|
name: string;
|
|
33
32
|
percentage: number;
|
|
34
33
|
resetsAt: string;
|
|
35
34
|
}
|
|
36
35
|
|
|
36
|
+
// What the sins mod last found: its scores when the call answered, or why it could not score the last prompt
|
|
37
|
+
export type SinStatus = "answered" | "failed" | "no-key" | "node-too-old" | "unchecked";
|
|
38
|
+
|
|
37
39
|
export interface WardRecord {
|
|
38
40
|
editedAt: number;
|
|
39
41
|
sessionId: string;
|
|
@@ -51,6 +53,10 @@ declare module "claude-code" {
|
|
|
51
53
|
lookupStreak: number;
|
|
52
54
|
now: number;
|
|
53
55
|
reserveWindow: ReserveWindow;
|
|
56
|
+
// Keyed by sin name, the last evidence values of each sin in order
|
|
57
|
+
sinHistory: Record<string, number[]>;
|
|
58
|
+
sinSession: number;
|
|
59
|
+
sinStatus: SinStatus;
|
|
54
60
|
waypoints: string[];
|
|
55
61
|
};
|
|
56
62
|
}
|