@sbugallo/opencode-vpet 0.0.0 → 0.1.1
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/LICENSE +201 -0
- package/README.md +830 -3
- package/dist/adapters/opencode/create-server-hooks.d.ts +39 -0
- package/dist/adapters/opencode/create-server-hooks.d.ts.map +1 -0
- package/dist/adapters/opencode/session-messages.d.ts +15 -0
- package/dist/adapters/opencode/session-messages.d.ts.map +1 -0
- package/dist/adapters/opencode/usage-event-mapper.d.ts +5 -0
- package/dist/adapters/opencode/usage-event-mapper.d.ts.map +1 -0
- package/dist/adapters/opencode/vpet-toast.d.ts +29 -0
- package/dist/adapters/opencode/vpet-toast.d.ts.map +1 -0
- package/dist/adapters/sqlite/app-data-path.d.ts +6 -0
- package/dist/adapters/sqlite/app-data-path.d.ts.map +1 -0
- package/dist/adapters/sqlite/bun-sqlite-driver.d.ts +12 -0
- package/dist/adapters/sqlite/bun-sqlite-driver.d.ts.map +1 -0
- package/dist/adapters/sqlite/sqlite-migrations.d.ts +9 -0
- package/dist/adapters/sqlite/sqlite-migrations.d.ts.map +1 -0
- package/dist/adapters/sqlite/sqlite-sidebar-snapshot-reader.d.ts +7 -0
- package/dist/adapters/sqlite/sqlite-sidebar-snapshot-reader.d.ts.map +1 -0
- package/dist/adapters/sqlite/sqlite-vpet-archive-reader.d.ts +12 -0
- package/dist/adapters/sqlite/sqlite-vpet-archive-reader.d.ts.map +1 -0
- package/dist/adapters/sqlite/sqlite-vpet-schema.d.ts +47 -0
- package/dist/adapters/sqlite/sqlite-vpet-schema.d.ts.map +1 -0
- package/dist/adapters/sqlite/sqlite-vpet-types.d.ts +43 -0
- package/dist/adapters/sqlite/sqlite-vpet-types.d.ts.map +1 -0
- package/dist/adapters/sqlite/sqlite-vpet-write-store.d.ts +9 -0
- package/dist/adapters/sqlite/sqlite-vpet-write-store.d.ts.map +1 -0
- package/dist/application/models/sidebar-card-inputs.d.ts +13 -0
- package/dist/application/models/sidebar-card-inputs.d.ts.map +1 -0
- package/dist/application/models/spawn-partner.d.ts +10 -0
- package/dist/application/models/spawn-partner.d.ts.map +1 -0
- package/dist/application/models/usage.d.ts +30 -0
- package/dist/application/models/usage.d.ts.map +1 -0
- package/dist/application/models/vpet-archive.d.ts +22 -0
- package/dist/application/models/vpet-archive.d.ts.map +1 -0
- package/dist/application/models/vpet-control.d.ts +18 -0
- package/dist/application/models/vpet-control.d.ts.map +1 -0
- package/dist/application/ports/partner-lifecycle.d.ts +6 -0
- package/dist/application/ports/partner-lifecycle.d.ts.map +1 -0
- package/dist/application/ports/sidebar-snapshot.d.ts +12 -0
- package/dist/application/ports/sidebar-snapshot.d.ts.map +1 -0
- package/dist/application/ports/usage-ledger.d.ts +6 -0
- package/dist/application/ports/usage-ledger.d.ts.map +1 -0
- package/dist/application/ports/vpet-archive.d.ts +5 -0
- package/dist/application/ports/vpet-archive.d.ts.map +1 -0
- package/dist/application/ports/vpet-control.d.ts +7 -0
- package/dist/application/ports/vpet-control.d.ts.map +1 -0
- package/dist/application/use-cases/freeze-vpet.d.ts +4 -0
- package/dist/application/use-cases/freeze-vpet.d.ts.map +1 -0
- package/dist/application/use-cases/get-sidebar-card-inputs.d.ts +5 -0
- package/dist/application/use-cases/get-sidebar-card-inputs.d.ts.map +1 -0
- package/dist/application/use-cases/reconcile-usage.d.ts +14 -0
- package/dist/application/use-cases/reconcile-usage.d.ts.map +1 -0
- package/dist/application/use-cases/record-usage.d.ts +14 -0
- package/dist/application/use-cases/record-usage.d.ts.map +1 -0
- package/dist/application/use-cases/set-vpet-cheat-node.d.ts +4 -0
- package/dist/application/use-cases/set-vpet-cheat-node.d.ts.map +1 -0
- package/dist/application/use-cases/spawn-partner.d.ts +4 -0
- package/dist/application/use-cases/spawn-partner.d.ts.map +1 -0
- package/dist/application/use-cases/unfreeze-vpet.d.ts +4 -0
- package/dist/application/use-cases/unfreeze-vpet.d.ts.map +1 -0
- package/dist/cli/install.d.ts +9 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +104 -0
- package/dist/cli.js.map +11 -0
- package/dist/commands/vpet-command-result.d.ts +18 -0
- package/dist/commands/vpet-command-result.d.ts.map +1 -0
- package/dist/commands/vpet-freeze.d.ts +8 -0
- package/dist/commands/vpet-freeze.d.ts.map +1 -0
- package/dist/commands/vpet-set.d.ts +11 -0
- package/dist/commands/vpet-set.d.ts.map +1 -0
- package/dist/commands/vpet-spawn.d.ts +9 -0
- package/dist/commands/vpet-spawn.d.ts.map +1 -0
- package/dist/commands/vpet-unfreeze.d.ts +8 -0
- package/dist/commands/vpet-unfreeze.d.ts.map +1 -0
- package/dist/config/defaults.d.ts +69 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/global-vpet-settings.d.ts +17 -0
- package/dist/config/global-vpet-settings.d.ts.map +1 -0
- package/dist/config/normalize.d.ts +3 -0
- package/dist/config/normalize.d.ts.map +1 -0
- package/dist/config/types.d.ts +14 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/data/catalog.d.ts +15 -0
- package/dist/data/catalog.d.ts.map +1 -0
- package/dist/data/digimon-data.d.ts +13 -0
- package/dist/data/digimon-data.d.ts.map +1 -0
- package/dist/data/monster-frame-catalog.d.ts +17 -0
- package/dist/data/monster-frame-catalog.d.ts.map +1 -0
- package/dist/data/monster-frame-data.d.ts +3 -0
- package/dist/data/monster-frame-data.d.ts.map +1 -0
- package/dist/data/stages.d.ts +17 -0
- package/dist/data/stages.d.ts.map +1 -0
- package/dist/domain/digimon-node.d.ts +15 -0
- package/dist/domain/digimon-node.d.ts.map +1 -0
- package/dist/domain/evolution.d.ts +21 -0
- package/dist/domain/evolution.d.ts.map +1 -0
- package/dist/domain/partner.d.ts +15 -0
- package/dist/domain/partner.d.ts.map +1 -0
- package/dist/domain/stage.d.ts +4 -0
- package/dist/domain/stage.d.ts.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7265 -0
- package/dist/index.js.map +36 -0
- package/dist/tui/dex-view-model.d.ts +20 -0
- package/dist/tui/dex-view-model.d.ts.map +1 -0
- package/dist/tui/history-view-model.d.ts +21 -0
- package/dist/tui/history-view-model.d.ts.map +1 -0
- package/dist/tui/monster-action-policy.d.ts +7 -0
- package/dist/tui/monster-action-policy.d.ts.map +1 -0
- package/dist/tui/monster-animation.d.ts +72 -0
- package/dist/tui/monster-animation.d.ts.map +1 -0
- package/dist/tui/monster-artwork-mirror.d.ts +23 -0
- package/dist/tui/monster-artwork-mirror.d.ts.map +1 -0
- package/dist/tui/monster-walking-policy.d.ts +43 -0
- package/dist/tui/monster-walking-policy.d.ts.map +1 -0
- package/dist/tui/open-in-browser.d.ts +3 -0
- package/dist/tui/open-in-browser.d.ts.map +1 -0
- package/dist/tui/sidebar-card.d.ts +10 -0
- package/dist/tui/sidebar-card.d.ts.map +1 -0
- package/dist/tui/sidebar-poll-loop.d.ts +14 -0
- package/dist/tui/sidebar-poll-loop.d.ts.map +1 -0
- package/dist/tui/sidebar-view-model.d.ts +20 -0
- package/dist/tui/sidebar-view-model.d.ts.map +1 -0
- package/dist/tui/vpet-command-layer.d.ts +21 -0
- package/dist/tui/vpet-command-layer.d.ts.map +1 -0
- package/dist/tui/vpet-dex-dialog.d.ts +12 -0
- package/dist/tui/vpet-dex-dialog.d.ts.map +1 -0
- package/dist/tui/vpet-history-dialog.d.ts +12 -0
- package/dist/tui/vpet-history-dialog.d.ts.map +1 -0
- package/dist/tui.d.ts +50 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +59241 -0
- package/dist/tui.js.map +38 -0
- package/package.json +88 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"AAEA,qBAAa,0BAA2B,SAAQ,KAAK;IAGvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAF5C,QAAQ,CAAC,IAAI,gCAA+B;gBAEvB,QAAQ,EAAE,MAAM,GAAG,IAAI;CAO7C;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE/F,eAAO,MAAM,UAAU,EAAE,eAQrB,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAU,aAAa,MAAM,EAAE,UAAS,eAA4B,KAAG,OAAO,CAAC,IAAI,CAC9C,CAAA"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/cli.ts
|
|
4
|
+
import { readFile } from "node:fs/promises";
|
|
5
|
+
|
|
6
|
+
// src/cli/install.ts
|
|
7
|
+
import { spawn } from "node:child_process";
|
|
8
|
+
|
|
9
|
+
class OpenCodePluginInstallError extends Error {
|
|
10
|
+
exitCode;
|
|
11
|
+
name = "OpenCodePluginInstallError";
|
|
12
|
+
constructor(exitCode) {
|
|
13
|
+
super(exitCode === null ? "OpenCode plugin installer exited without a status." : `OpenCode plugin installer exited with status ${exitCode}.`);
|
|
14
|
+
this.exitCode = exitCode;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
var runCommand = (command, arguments_) => new Promise((resolve, reject) => {
|
|
18
|
+
const child = spawn(command, arguments_, { shell: false, stdio: "inherit" });
|
|
19
|
+
child.once("error", reject);
|
|
20
|
+
child.once("close", (exitCode) => {
|
|
21
|
+
if (exitCode === 0)
|
|
22
|
+
resolve();
|
|
23
|
+
else
|
|
24
|
+
reject(new OpenCodePluginInstallError(exitCode));
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
var installGlobalPlugin = async (packageSpec, execute = runCommand) => execute("opencode", ["plugin", packageSpec, "--global", "--force"]);
|
|
28
|
+
|
|
29
|
+
// src/cli.ts
|
|
30
|
+
var HELP = `Usage: opencode-vpet <init|update> [--dry-run]
|
|
31
|
+
|
|
32
|
+
Commands:
|
|
33
|
+
init Install the current package version through OpenCode's global plugin installer.
|
|
34
|
+
update Reinstall the current package version through the same installer.
|
|
35
|
+
|
|
36
|
+
Options:
|
|
37
|
+
--dry-run Show the native OpenCode command without running it.
|
|
38
|
+
--help Show this help text.
|
|
39
|
+
`;
|
|
40
|
+
var EXACT_SEMVER = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
|
|
41
|
+
var isPackageManifest = (value) => {
|
|
42
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
43
|
+
return false;
|
|
44
|
+
if (!("name" in value) || !("version" in value))
|
|
45
|
+
return false;
|
|
46
|
+
const { name, version } = value;
|
|
47
|
+
return name === "@sbugallo/opencode-vpet" && typeof version === "string" && EXACT_SEMVER.test(version);
|
|
48
|
+
};
|
|
49
|
+
var readPackageManifest = async () => {
|
|
50
|
+
const source = await readFile(new URL("../package.json", import.meta.url), "utf8");
|
|
51
|
+
const manifest = JSON.parse(source);
|
|
52
|
+
if (!isPackageManifest(manifest))
|
|
53
|
+
throw new Error("Invalid opencode-vpet package manifest.");
|
|
54
|
+
return manifest;
|
|
55
|
+
};
|
|
56
|
+
var parseArguments = (arguments_) => {
|
|
57
|
+
if (arguments_.length === 1 && arguments_[0] === "--help")
|
|
58
|
+
return { kind: "help" };
|
|
59
|
+
const [command, ...options] = arguments_;
|
|
60
|
+
if (command !== "init" && command !== "update")
|
|
61
|
+
return { kind: "invalid", message: "Expected init or update." };
|
|
62
|
+
if (options.length === 0)
|
|
63
|
+
return { kind: "command", command, dryRun: false };
|
|
64
|
+
if (options.length === 1 && options[0] === "--dry-run")
|
|
65
|
+
return { kind: "command", command, dryRun: true };
|
|
66
|
+
return { kind: "invalid", message: "Only --dry-run is supported after a command." };
|
|
67
|
+
};
|
|
68
|
+
var run = async () => {
|
|
69
|
+
const parsed = parseArguments(process.argv.slice(2));
|
|
70
|
+
switch (parsed.kind) {
|
|
71
|
+
case "help":
|
|
72
|
+
process.stdout.write(HELP);
|
|
73
|
+
return 0;
|
|
74
|
+
case "invalid":
|
|
75
|
+
process.stderr.write(`${parsed.message}
|
|
76
|
+
|
|
77
|
+
${HELP}`);
|
|
78
|
+
return 2;
|
|
79
|
+
case "command": {
|
|
80
|
+
const manifest = await readPackageManifest();
|
|
81
|
+
const packageSpec = `${manifest.name}@${manifest.version}`;
|
|
82
|
+
if (parsed.dryRun) {
|
|
83
|
+
process.stdout.write(`opencode plugin ${packageSpec} --global --force
|
|
84
|
+
`);
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
await installGlobalPlugin(packageSpec);
|
|
88
|
+
process.stdout.write(`OpenCode plugin installation completed. Restart OpenCode.
|
|
89
|
+
`);
|
|
90
|
+
return 0;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
run().then((exitCode) => {
|
|
95
|
+
process.exitCode = exitCode;
|
|
96
|
+
}).catch((error) => {
|
|
97
|
+
const message = error instanceof Error ? error.message : "Unexpected CLI failure.";
|
|
98
|
+
process.stderr.write(`${message}
|
|
99
|
+
`);
|
|
100
|
+
process.exitCode = 1;
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
//# debugId=7645693B9B10670E64756E2164756E21
|
|
104
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/cli.ts", "../src/cli/install.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"#!/usr/bin/env node\nimport { readFile } from \"node:fs/promises\"\n\nimport { installGlobalPlugin } from \"./cli/install.ts\"\n\nconst HELP = `Usage: opencode-vpet <init|update> [--dry-run]\n\nCommands:\n init Install the current package version through OpenCode's global plugin installer.\n update Reinstall the current package version through the same installer.\n\nOptions:\n --dry-run Show the native OpenCode command without running it.\n --help Show this help text.\n`\n\ntype Command = \"init\" | \"update\"\n\ntype ParsedArguments =\n | Readonly<{ readonly kind: \"help\" }>\n | Readonly<{ readonly kind: \"command\"; readonly command: Command; readonly dryRun: boolean }>\n | Readonly<{ readonly kind: \"invalid\"; readonly message: string }>\n\ntype PackageManifest = Readonly<{ readonly name: \"@sbugallo/opencode-vpet\"; readonly version: string }>\n\nconst EXACT_SEMVER =\n /^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-(?:0|[1-9]\\d*|\\d*[A-Za-z-][0-9A-Za-z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[A-Za-z-][0-9A-Za-z-]*))*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$/\n\nconst isPackageManifest = (value: unknown): value is PackageManifest => {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) return false\n if (!(\"name\" in value) || !(\"version\" in value)) return false\n const { name, version } = value\n return name === \"@sbugallo/opencode-vpet\" && typeof version === \"string\" && EXACT_SEMVER.test(version)\n}\n\nconst readPackageManifest = async (): Promise<PackageManifest> => {\n const source = await readFile(new URL(\"../package.json\", import.meta.url), \"utf8\")\n const manifest: unknown = JSON.parse(source)\n if (!isPackageManifest(manifest)) throw new Error(\"Invalid opencode-vpet package manifest.\")\n return manifest\n}\n\nconst parseArguments = (arguments_: readonly string[]): ParsedArguments => {\n if (arguments_.length === 1 && arguments_[0] === \"--help\") return { kind: \"help\" }\n const [command, ...options] = arguments_\n if (command !== \"init\" && command !== \"update\") return { kind: \"invalid\", message: \"Expected init or update.\" }\n if (options.length === 0) return { kind: \"command\", command, dryRun: false }\n if (options.length === 1 && options[0] === \"--dry-run\") return { kind: \"command\", command, dryRun: true }\n return { kind: \"invalid\", message: \"Only --dry-run is supported after a command.\" }\n}\n\nconst run = async (): Promise<number> => {\n const parsed = parseArguments(process.argv.slice(2))\n switch (parsed.kind) {\n case \"help\":\n process.stdout.write(HELP)\n return 0\n case \"invalid\":\n process.stderr.write(`${parsed.message}\\n\\n${HELP}`)\n return 2\n case \"command\": {\n const manifest = await readPackageManifest()\n const packageSpec = `${manifest.name}@${manifest.version}`\n if (parsed.dryRun) {\n process.stdout.write(`opencode plugin ${packageSpec} --global --force\\n`)\n return 0\n }\n await installGlobalPlugin(packageSpec)\n process.stdout.write(\"OpenCode plugin installation completed. Restart OpenCode.\\n\")\n return 0\n }\n }\n}\n\nrun()\n .then((exitCode) => {\n process.exitCode = exitCode\n })\n .catch((error: unknown) => {\n const message = error instanceof Error ? error.message : \"Unexpected CLI failure.\"\n process.stderr.write(`${message}\\n`)\n process.exitCode = 1\n })\n",
|
|
6
|
+
"import { spawn } from \"node:child_process\"\n\nexport class OpenCodePluginInstallError extends Error {\n readonly name = \"OpenCodePluginInstallError\"\n\n constructor(readonly exitCode: number | null) {\n super(\n exitCode === null\n ? \"OpenCode plugin installer exited without a status.\"\n : `OpenCode plugin installer exited with status ${exitCode}.`,\n )\n }\n}\n\nexport type CommandExecutor = (command: string, arguments_: readonly string[]) => Promise<void>\n\nexport const runCommand: CommandExecutor = (command, arguments_) =>\n new Promise((resolve, reject) => {\n const child = spawn(command, arguments_, { shell: false, stdio: \"inherit\" })\n child.once(\"error\", reject)\n child.once(\"close\", (exitCode) => {\n if (exitCode === 0) resolve()\n else reject(new OpenCodePluginInstallError(exitCode))\n })\n })\n\nexport const installGlobalPlugin = async (packageSpec: string, execute: CommandExecutor = runCommand): Promise<void> =>\n execute(\"opencode\", [\"plugin\", packageSpec, \"--global\", \"--force\"])\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "7645693B9B10670E64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Part } from "@opencode-ai/sdk";
|
|
2
|
+
export type VpetCommandEvent = {
|
|
3
|
+
readonly kind: "spawned";
|
|
4
|
+
readonly nodeId: string;
|
|
5
|
+
readonly generation: number;
|
|
6
|
+
} | {
|
|
7
|
+
readonly kind: "frozen";
|
|
8
|
+
} | {
|
|
9
|
+
readonly kind: "unfrozen";
|
|
10
|
+
} | {
|
|
11
|
+
readonly kind: "set";
|
|
12
|
+
readonly nodeId: string;
|
|
13
|
+
};
|
|
14
|
+
export type VpetCommandResult = {
|
|
15
|
+
readonly parts: readonly Part[];
|
|
16
|
+
readonly event?: VpetCommandEvent;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=vpet-command-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpet-command-result.d.ts","sourceRoot":"","sources":["../../src/commands/vpet-command-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAClC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { VpetControl } from "../application/ports/vpet-control.ts";
|
|
2
|
+
import type { VpetCommandResult } from "./vpet-command-result.ts";
|
|
3
|
+
export type VpetFreezeContext = {
|
|
4
|
+
readonly sessionID: string;
|
|
5
|
+
readonly messageID: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const runVpetFreezeCommand: (control: Pick<VpetControl, "freeze">, context: VpetFreezeContext) => Promise<VpetCommandResult>;
|
|
8
|
+
//# sourceMappingURL=vpet-freeze.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpet-freeze.d.ts","sourceRoot":"","sources":["../../src/commands/vpet-freeze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,SAAS,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EACpC,SAAS,iBAAiB,KACzB,OAAO,CAAC,iBAAiB,CAsB3B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { VpetControl } from "../application/ports/vpet-control.ts";
|
|
2
|
+
import type { DigimonCatalog } from "../data/catalog.ts";
|
|
3
|
+
import type { VpetCommandResult } from "./vpet-command-result.ts";
|
|
4
|
+
export type VpetSetContext = {
|
|
5
|
+
readonly sessionID: string;
|
|
6
|
+
readonly messageID: string;
|
|
7
|
+
readonly arguments: string;
|
|
8
|
+
};
|
|
9
|
+
export type DigimonCatalogLoader = () => Promise<DigimonCatalog>;
|
|
10
|
+
export declare const runVpetSetCommand: (control: Pick<VpetControl, "setCheatNode">, context: VpetSetContext, loadCatalog: DigimonCatalogLoader) => Promise<VpetCommandResult>;
|
|
11
|
+
//# sourceMappingURL=vpet-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpet-set.d.ts","sourceRoot":"","sources":["../../src/commands/vpet-set.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;AAUhE,eAAO,MAAM,iBAAiB,GAC5B,SAAS,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAC1C,SAAS,cAAc,EACvB,aAAa,oBAAoB,KAChC,OAAO,CAAC,iBAAiB,CAwB3B,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PartnerLifecycle } from "../application/ports/partner-lifecycle.ts";
|
|
2
|
+
import type { VpetCommandResult } from "./vpet-command-result.ts";
|
|
3
|
+
export type VpetSpawnContext = {
|
|
4
|
+
readonly sessionID: string;
|
|
5
|
+
readonly messageID: string;
|
|
6
|
+
readonly createdAt: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const runVpetSpawnCommand: (lifecycle: PartnerLifecycle, context: VpetSpawnContext) => Promise<VpetCommandResult>;
|
|
9
|
+
//# sourceMappingURL=vpet-spawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpet-spawn.d.ts","sourceRoot":"","sources":["../../src/commands/vpet-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAEjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,WAAW,gBAAgB,EAC3B,SAAS,gBAAgB,KACxB,OAAO,CAAC,iBAAiB,CAe3B,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { VpetControl } from "../application/ports/vpet-control.ts";
|
|
2
|
+
import type { VpetCommandResult } from "./vpet-command-result.ts";
|
|
3
|
+
export type VpetUnfreezeContext = {
|
|
4
|
+
readonly sessionID: string;
|
|
5
|
+
readonly messageID: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const runVpetUnfreezeCommand: (control: Pick<VpetControl, "unfreeze">, context: VpetUnfreezeContext) => Promise<VpetCommandResult>;
|
|
8
|
+
//# sourceMappingURL=vpet-unfreeze.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpet-unfreeze.d.ts","sourceRoot":"","sources":["../../src/commands/vpet-unfreeze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,sBAAsB,GACjC,SAAS,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EACtC,SAAS,mBAAmB,KAC3B,OAAO,CAAC,iBAAiB,CAsB3B,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export declare const VPET_STAGE_LABELS: Readonly<{
|
|
2
|
+
readonly en: Readonly<{
|
|
3
|
+
readonly egg: "DigiEgg";
|
|
4
|
+
readonly babyI: "In Training I";
|
|
5
|
+
readonly babyII: "In Training II";
|
|
6
|
+
readonly child: "Rookie";
|
|
7
|
+
readonly adult: "Champion";
|
|
8
|
+
readonly perfect: "Ultimate";
|
|
9
|
+
readonly ultimate: "Mega";
|
|
10
|
+
readonly superUltimate: "Ultra";
|
|
11
|
+
}>;
|
|
12
|
+
readonly jp: Readonly<{
|
|
13
|
+
readonly egg: "Digitama";
|
|
14
|
+
readonly babyI: "Baby I";
|
|
15
|
+
readonly babyII: "Baby II";
|
|
16
|
+
readonly child: "Child";
|
|
17
|
+
readonly adult: "Adult";
|
|
18
|
+
readonly perfect: "Perfect";
|
|
19
|
+
readonly ultimate: "Ultimate";
|
|
20
|
+
readonly superUltimate: "SuperUltimate";
|
|
21
|
+
}>;
|
|
22
|
+
}>;
|
|
23
|
+
export declare const DEFAULT_STAGE_THRESHOLDS: Readonly<{
|
|
24
|
+
readonly egg: 500000;
|
|
25
|
+
readonly babyI: 1000000;
|
|
26
|
+
readonly babyII: 2000000;
|
|
27
|
+
readonly child: 4000000;
|
|
28
|
+
readonly adult: 7500000;
|
|
29
|
+
readonly perfect: 12500000;
|
|
30
|
+
readonly ultimate: 20000000;
|
|
31
|
+
readonly superUltimate: 30000000;
|
|
32
|
+
}>;
|
|
33
|
+
export declare const DEFAULT_VPET_SETTINGS: Readonly<{
|
|
34
|
+
readonly language: "jp";
|
|
35
|
+
readonly notifications: true;
|
|
36
|
+
readonly stageLabels: Readonly<{
|
|
37
|
+
readonly en: Readonly<{
|
|
38
|
+
readonly egg: "DigiEgg";
|
|
39
|
+
readonly babyI: "In Training I";
|
|
40
|
+
readonly babyII: "In Training II";
|
|
41
|
+
readonly child: "Rookie";
|
|
42
|
+
readonly adult: "Champion";
|
|
43
|
+
readonly perfect: "Ultimate";
|
|
44
|
+
readonly ultimate: "Mega";
|
|
45
|
+
readonly superUltimate: "Ultra";
|
|
46
|
+
}>;
|
|
47
|
+
readonly jp: Readonly<{
|
|
48
|
+
readonly egg: "Digitama";
|
|
49
|
+
readonly babyI: "Baby I";
|
|
50
|
+
readonly babyII: "Baby II";
|
|
51
|
+
readonly child: "Child";
|
|
52
|
+
readonly adult: "Adult";
|
|
53
|
+
readonly perfect: "Perfect";
|
|
54
|
+
readonly ultimate: "Ultimate";
|
|
55
|
+
readonly superUltimate: "SuperUltimate";
|
|
56
|
+
}>;
|
|
57
|
+
}>;
|
|
58
|
+
readonly stageThresholds: Readonly<{
|
|
59
|
+
readonly egg: 500000;
|
|
60
|
+
readonly babyI: 1000000;
|
|
61
|
+
readonly babyII: 2000000;
|
|
62
|
+
readonly child: 4000000;
|
|
63
|
+
readonly adult: 7500000;
|
|
64
|
+
readonly perfect: 12500000;
|
|
65
|
+
readonly ultimate: 20000000;
|
|
66
|
+
readonly superUltimate: 30000000;
|
|
67
|
+
}>;
|
|
68
|
+
}>;
|
|
69
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAGO,CAAA;AAErC,eAAO,MAAM,wBAAwB;;;;;;;;;EASO,CAAA;AAE5C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKQ,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ResolvedVpetSettings } from "./types.ts";
|
|
2
|
+
type PathApi = Readonly<{
|
|
3
|
+
join: (...paths: readonly string[]) => string;
|
|
4
|
+
}>;
|
|
5
|
+
export type GlobalVpetConfigOptions = Readonly<{
|
|
6
|
+
readonly env?: Readonly<{
|
|
7
|
+
readonly APPDATA?: string;
|
|
8
|
+
}>;
|
|
9
|
+
readonly home?: string;
|
|
10
|
+
readonly pathApi?: PathApi;
|
|
11
|
+
readonly platform?: NodeJS.Platform;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const resolveGlobalVpetConfigPath: (options?: GlobalVpetConfigOptions) => string;
|
|
14
|
+
export declare const loadGlobalVpetSettings: (options?: GlobalVpetConfigOptions) => Promise<ResolvedVpetSettings>;
|
|
15
|
+
export declare const loadGlobalVpetSettingsSync: (options?: GlobalVpetConfigOptions) => ResolvedVpetSettings;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=global-vpet-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-vpet-settings.d.ts","sourceRoot":"","sources":["../../src/config/global-vpet-settings.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,KAAK,OAAO,GAAG,QAAQ,CAAC;IACtB,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAA;CAC9C,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAC,CAAA;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CACpC,CAAC,CAAA;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAS,uBAA4B,KAAG,MAWnF,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,UAAS,uBAA4B,KAAG,OAAO,CAAC,oBAAoB,CAMhH,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,UAAS,uBAA4B,KAAG,oBAMlF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/config/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAmC,MAAM,YAAY,CAAA;AA2BvF,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,KAAG,oBA4BtD,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const VPET_LANGUAGES: readonly ["en", "jp"];
|
|
2
|
+
export type VpetLanguage = (typeof VPET_LANGUAGES)[number];
|
|
3
|
+
export declare const STAGE_THRESHOLD_KEYS: readonly ["egg", "babyI", "babyII", "child", "adult", "perfect", "ultimate", "superUltimate"];
|
|
4
|
+
export type StageThresholdKey = (typeof STAGE_THRESHOLD_KEYS)[number];
|
|
5
|
+
export type StageThresholdSettings = Readonly<Record<StageThresholdKey, number>>;
|
|
6
|
+
export type StageLabels = Readonly<Record<StageThresholdKey, string>>;
|
|
7
|
+
export type VpetStageLabels = Readonly<Record<VpetLanguage, StageLabels>>;
|
|
8
|
+
export type ResolvedVpetSettings = Readonly<{
|
|
9
|
+
readonly language: VpetLanguage;
|
|
10
|
+
readonly notifications: boolean;
|
|
11
|
+
readonly stageLabels: VpetStageLabels;
|
|
12
|
+
readonly stageThresholds: StageThresholdSettings;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,uBAAuC,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,eAAO,MAAM,oBAAoB,+FAStB,CAAA;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;AAErE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;AAEzE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAA;CACjD,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DigimonCatalog } from "../domain/digimon-node.ts";
|
|
2
|
+
export type { DigimonCatalog, DigimonNode } from "../domain/digimon-node.ts";
|
|
3
|
+
export type RawDigimonNode = {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly name_en: string;
|
|
6
|
+
readonly name_jp: string;
|
|
7
|
+
readonly next_evolutions: readonly string[];
|
|
8
|
+
readonly sprite: string;
|
|
9
|
+
readonly stage: number;
|
|
10
|
+
readonly url: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const parseDigimonCatalog: (input: readonly RawDigimonNode[]) => DigimonCatalog;
|
|
13
|
+
export declare const DIGIMON_CATALOG: DigimonCatalog;
|
|
14
|
+
export declare const loadDigimonCatalog: () => Promise<DigimonCatalog>;
|
|
15
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/data/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,2BAA2B,CAAA;AAE5E,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5E,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAAA;AAgBD,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,cAAc,EAAE,KAAG,cAgBtE,CAAA;AAED,eAAO,MAAM,eAAe,gBAAoC,CAAA;AAEhE,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,cAAc,CAAoB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type DigimonStage = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
2
|
+
export type DigimonId = `${DigimonStage}-${number}`;
|
|
3
|
+
export type DigimonRecord = {
|
|
4
|
+
readonly name_en: string;
|
|
5
|
+
readonly name_jp: string;
|
|
6
|
+
readonly next_evolutions: readonly DigimonId[];
|
|
7
|
+
readonly stage: DigimonStage;
|
|
8
|
+
readonly sprite: string;
|
|
9
|
+
readonly id: DigimonId;
|
|
10
|
+
readonly url: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const DIGIMON_DATA: readonly DigimonRecord[];
|
|
13
|
+
//# sourceMappingURL=digimon-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digimon-data.d.ts","sourceRoot":"","sources":["../../src/data/digimon-data.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAExD,MAAM,MAAM,SAAS,GAAG,GAAG,YAAY,IAAI,MAAM,EAAE,CAAA;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,SAAS,SAAS,EAAE,CAAA;IAC9C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,aAAa,EAy9LhD,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const MONSTER_FRAME_NAMES: readonly ["angry", "attack", "eat_1", "eat_2", "happy", "injured_1", "injured_2", "refuse", "sleep_1", "sleep_2", "walk_1", "walk_2"];
|
|
2
|
+
export type MonsterFrameName = (typeof MONSTER_FRAME_NAMES)[number];
|
|
3
|
+
export declare const STANDARD_ANIMATION_SEQUENCE: readonly ["angry", "attack", "eat_1", "eat_2", "happy", "injured_1", "injured_2", "sleep_1", "sleep_2", "walk_1", "walk_2"];
|
|
4
|
+
type SpriteFrames = Iterable<readonly [MonsterFrameName, MonsterFrame]>;
|
|
5
|
+
type CatalogFrames = Iterable<readonly [string, SpriteFrames]>;
|
|
6
|
+
export declare class MonsterFrame {
|
|
7
|
+
readonly content: string;
|
|
8
|
+
constructor(content: string);
|
|
9
|
+
}
|
|
10
|
+
export declare class MonsterFrameCatalog {
|
|
11
|
+
#private;
|
|
12
|
+
constructor(frames: CatalogFrames);
|
|
13
|
+
get(sprite: string, frameName: MonsterFrameName): MonsterFrame | undefined;
|
|
14
|
+
}
|
|
15
|
+
export declare const MONSTER_FRAME_CATALOG: MonsterFrameCatalog;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=monster-frame-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monster-frame-catalog.d.ts","sourceRoot":"","sources":["../../src/data/monster-frame-catalog.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,uIAarB,CAAA;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,eAAO,MAAM,2BAA2B,6HAY7B,CAAA;AAEX,KAAK,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAA;AACvE,KAAK,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;AAE9D,qBAAa,YAAY;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAmB;;gBAGlB,MAAM,EAAE,aAAa;IAKjC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,YAAY,GAAG,SAAS;CAG3E;AAED,eAAO,MAAM,qBAAqB,qBAKjC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monster-frame-data.d.ts","sourceRoot":"","sources":["../../src/data/monster-frame-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAElE,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,EAuoBxF,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StageLabels, StageThresholdKey } from "../config/types.ts";
|
|
2
|
+
import { isDigimonStage, type DigimonStage } from "../domain/stage.ts";
|
|
3
|
+
export { isDigimonStage, type DigimonStage };
|
|
4
|
+
export declare const STAGE_VALUES: readonly [0, 1, 2, 3, 4, 5, 6, 7];
|
|
5
|
+
export declare const STAGE_THRESHOLD_KEYS: {
|
|
6
|
+
readonly 0: "egg";
|
|
7
|
+
readonly 1: "babyI";
|
|
8
|
+
readonly 2: "babyII";
|
|
9
|
+
readonly 3: "child";
|
|
10
|
+
readonly 4: "adult";
|
|
11
|
+
readonly 5: "perfect";
|
|
12
|
+
readonly 6: "ultimate";
|
|
13
|
+
readonly 7: "superUltimate";
|
|
14
|
+
};
|
|
15
|
+
export declare const getStageKey: (stage: DigimonStage) => StageThresholdKey;
|
|
16
|
+
export declare const getStageLabel: (stage: DigimonStage, labels: StageLabels) => string;
|
|
17
|
+
//# sourceMappingURL=stages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/data/stages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAkB,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtF,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,CAAA;AAE5C,eAAO,MAAM,YAAY,mCAAiB,CAAA;AAE1C,eAAO,MAAM,oBAAoB;;;;;;;;;CAS2B,CAAA;AAE5D,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,KAAG,iBAAgD,CAAA;AAElG,eAAO,MAAM,aAAa,GAAI,OAAO,YAAY,EAAE,QAAQ,WAAW,KAAG,MAAoC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DigimonStage } from "./stage.ts";
|
|
2
|
+
export type DigimonNode = {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly nameEn: string;
|
|
5
|
+
readonly nameJp: string;
|
|
6
|
+
readonly nextEvolutions: readonly string[];
|
|
7
|
+
readonly sprite: string;
|
|
8
|
+
readonly stage: DigimonStage;
|
|
9
|
+
readonly url: string;
|
|
10
|
+
};
|
|
11
|
+
export type DigimonCatalog = {
|
|
12
|
+
readonly nodes: readonly DigimonNode[];
|
|
13
|
+
readonly byId: ReadonlyMap<string, DigimonNode>;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=digimon-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digimon-node.d.ts","sourceRoot":"","sources":["../../src/domain/digimon-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;IACtC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CAChD,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DigimonNode } from "./digimon-node.ts";
|
|
2
|
+
import { type DigimonStage } from "./stage.ts";
|
|
3
|
+
export type StageThresholds = Readonly<Record<DigimonStage, number>>;
|
|
4
|
+
export declare const STAGE_GAUGE_THRESHOLDS: Readonly<{
|
|
5
|
+
readonly 0: 500000;
|
|
6
|
+
readonly 1: 1000000;
|
|
7
|
+
readonly 2: 2000000;
|
|
8
|
+
readonly 3: 4000000;
|
|
9
|
+
readonly 4: 7500000;
|
|
10
|
+
readonly 5: 12500000;
|
|
11
|
+
readonly 6: 20000000;
|
|
12
|
+
readonly 7: 30000000;
|
|
13
|
+
}>;
|
|
14
|
+
export type PartnerEvolutionState = {
|
|
15
|
+
readonly current: DigimonNode;
|
|
16
|
+
readonly gauge: number;
|
|
17
|
+
readonly isTerminal: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type EvolutionSelector = () => number;
|
|
20
|
+
export declare const applyTokenProgress: (state: PartnerEvolutionState, tokenDelta: number, selector: EvolutionSelector, digimonById: ReadonlyMap<string, DigimonNode>, thresholds: unknown) => PartnerEvolutionState;
|
|
21
|
+
//# sourceMappingURL=evolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../../src/domain/evolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;EASE,CAAA;AAErC,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAA;AAe5C,eAAO,MAAM,kBAAkB,GAC7B,OAAO,qBAAqB,EAC5B,YAAY,MAAM,EAClB,UAAU,iBAAiB,EAC3B,aAAa,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAC7C,YAAY,OAAO,KAClB,qBAqBF,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type Partner = {
|
|
2
|
+
readonly partnerId: string;
|
|
3
|
+
readonly generation: number;
|
|
4
|
+
readonly currentNodeId: string;
|
|
5
|
+
readonly gauge: number;
|
|
6
|
+
readonly isTerminal: boolean;
|
|
7
|
+
readonly createdAt: string;
|
|
8
|
+
readonly retiredAt: string | null;
|
|
9
|
+
};
|
|
10
|
+
export type PartnerProgression = {
|
|
11
|
+
readonly currentNodeId: string;
|
|
12
|
+
readonly gauge: number;
|
|
13
|
+
readonly isTerminal: boolean;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=partner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner.d.ts","sourceRoot":"","sources":["../../src/domain/partner.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/domain/stage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,mCAAoC,CAAA;AAE/D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,YAEvD,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Plugin } from "@opencode-ai/plugin";
|
|
2
|
+
export { createCommandConfig } from "./adapters/opencode/create-server-hooks.ts";
|
|
3
|
+
export { DIGIMON_DATA } from "./data/digimon-data.js";
|
|
4
|
+
export type { DigimonId, DigimonRecord, DigimonStage } from "./data/digimon-data.js";
|
|
5
|
+
export declare const plugin: Plugin;
|
|
6
|
+
declare const entryPlugin: {
|
|
7
|
+
readonly id: "opencode-vpet";
|
|
8
|
+
readonly server: Plugin;
|
|
9
|
+
};
|
|
10
|
+
export default entryPlugin;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,qBAAqB,CAAA;AAShE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAmBpF,eAAO,MAAM,MAAM,EAAE,MAmBpB,CAAA;AAED,QAAA,MAAM,WAAW;;;CAGP,CAAA;AAEV,eAAe,WAAW,CAAA"}
|