@sbugallo/pokecode 0.0.0-stage → 0.2.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/LICENSE +201 -0
- package/README.md +331 -2
- package/dist/adapters/opencode/rpc/contract.d.ts +813 -0
- package/dist/adapters/opencode/rpc/contract.d.ts.map +1 -0
- package/dist/adapters/opencode/rpc/contract.js +254 -0
- package/dist/adapters/opencode/rpc/contract.js.map +1 -0
- package/dist/adapters/opencode/server/handlers.d.ts +20 -0
- package/dist/adapters/opencode/server/handlers.d.ts.map +1 -0
- package/dist/adapters/opencode/server/handlers.js +41 -0
- package/dist/adapters/opencode/server/handlers.js.map +1 -0
- package/dist/adapters/opencode/server/plugin.d.ts +19 -0
- package/dist/adapters/opencode/server/plugin.d.ts.map +1 -0
- package/dist/adapters/opencode/server/plugin.js +101 -0
- package/dist/adapters/opencode/server/plugin.js.map +1 -0
- package/dist/adapters/opencode/server/usage-reconciliation.d.ts +24 -0
- package/dist/adapters/opencode/server/usage-reconciliation.d.ts.map +1 -0
- package/dist/adapters/opencode/server/usage-reconciliation.js +60 -0
- package/dist/adapters/opencode/server/usage-reconciliation.js.map +1 -0
- package/dist/adapters/opencode/tui/choices/cards.d.ts +32 -0
- package/dist/adapters/opencode/tui/choices/cards.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/choices/cards.jsx +114 -0
- package/dist/adapters/opencode/tui/choices/cards.jsx.map +1 -0
- package/dist/adapters/opencode/tui/choices/encounter.d.ts +13 -0
- package/dist/adapters/opencode/tui/choices/encounter.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/choices/encounter.jsx +30 -0
- package/dist/adapters/opencode/tui/choices/encounter.jsx.map +1 -0
- package/dist/adapters/opencode/tui/client.d.ts +164 -0
- package/dist/adapters/opencode/tui/client.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/client.js +30 -0
- package/dist/adapters/opencode/tui/client.js.map +1 -0
- package/dist/adapters/opencode/tui/commands/commands.d.ts +21 -0
- package/dist/adapters/opencode/tui/commands/commands.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/commands/commands.jsx +78 -0
- package/dist/adapters/opencode/tui/commands/commands.jsx.map +1 -0
- package/dist/adapters/opencode/tui/components/action-button.d.ts +12 -0
- package/dist/adapters/opencode/tui/components/action-button.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/components/action-button.jsx +13 -0
- package/dist/adapters/opencode/tui/components/action-button.jsx.map +1 -0
- package/dist/adapters/opencode/tui/components/move-list.d.ts +13 -0
- package/dist/adapters/opencode/tui/components/move-list.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/components/move-list.jsx +91 -0
- package/dist/adapters/opencode/tui/components/move-list.jsx.map +1 -0
- package/dist/adapters/opencode/tui/components/owner.d.ts +3 -0
- package/dist/adapters/opencode/tui/components/owner.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/components/owner.js +16 -0
- package/dist/adapters/opencode/tui/components/owner.js.map +1 -0
- package/dist/adapters/opencode/tui/components/sprite.d.ts +13 -0
- package/dist/adapters/opencode/tui/components/sprite.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/components/sprite.jsx +30 -0
- package/dist/adapters/opencode/tui/components/sprite.jsx.map +1 -0
- package/dist/adapters/opencode/tui/controls/native.d.ts +2 -0
- package/dist/adapters/opencode/tui/controls/native.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/controls/native.js +22 -0
- package/dist/adapters/opencode/tui/controls/native.js.map +1 -0
- package/dist/adapters/opencode/tui/dex/actions.d.ts +12 -0
- package/dist/adapters/opencode/tui/dex/actions.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/dex/actions.jsx +15 -0
- package/dist/adapters/opencode/tui/dex/actions.jsx.map +1 -0
- package/dist/adapters/opencode/tui/dex/dialog.d.ts +12 -0
- package/dist/adapters/opencode/tui/dex/dialog.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/dex/dialog.jsx +79 -0
- package/dist/adapters/opencode/tui/dex/dialog.jsx.map +1 -0
- package/dist/adapters/opencode/tui/export/actions.d.ts +14 -0
- package/dist/adapters/opencode/tui/export/actions.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/export/actions.js +25 -0
- package/dist/adapters/opencode/tui/export/actions.js.map +1 -0
- package/dist/adapters/opencode/tui/export/presentation.d.ts +16 -0
- package/dist/adapters/opencode/tui/export/presentation.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/export/presentation.js +15 -0
- package/dist/adapters/opencode/tui/export/presentation.js.map +1 -0
- package/dist/adapters/opencode/tui/pc/actions.d.ts +22 -0
- package/dist/adapters/opencode/tui/pc/actions.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/pc/actions.jsx +47 -0
- package/dist/adapters/opencode/tui/pc/actions.jsx.map +1 -0
- package/dist/adapters/opencode/tui/pc/details.d.ts +10 -0
- package/dist/adapters/opencode/tui/pc/details.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/pc/details.jsx +51 -0
- package/dist/adapters/opencode/tui/pc/details.jsx.map +1 -0
- package/dist/adapters/opencode/tui/pc/dialog.d.ts +19 -0
- package/dist/adapters/opencode/tui/pc/dialog.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/pc/dialog.jsx +263 -0
- package/dist/adapters/opencode/tui/pc/dialog.jsx.map +1 -0
- package/dist/adapters/opencode/tui/plugin.d.ts +14 -0
- package/dist/adapters/opencode/tui/plugin.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/plugin.jsx +103 -0
- package/dist/adapters/opencode/tui/plugin.jsx.map +1 -0
- package/dist/adapters/opencode/tui/sidebar/actions.d.ts +21 -0
- package/dist/adapters/opencode/tui/sidebar/actions.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/sidebar/actions.js +54 -0
- package/dist/adapters/opencode/tui/sidebar/actions.js.map +1 -0
- package/dist/adapters/opencode/tui/sidebar/register.d.ts +30 -0
- package/dist/adapters/opencode/tui/sidebar/register.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/sidebar/register.jsx +21 -0
- package/dist/adapters/opencode/tui/sidebar/register.jsx.map +1 -0
- package/dist/adapters/opencode/tui/sidebar/view.d.ts +43 -0
- package/dist/adapters/opencode/tui/sidebar/view.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/sidebar/view.jsx +166 -0
- package/dist/adapters/opencode/tui/sidebar/view.jsx.map +1 -0
- package/dist/adapters/opencode/tui/state/cleanup.d.ts +8 -0
- package/dist/adapters/opencode/tui/state/cleanup.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/state/cleanup.js +68 -0
- package/dist/adapters/opencode/tui/state/cleanup.js.map +1 -0
- package/dist/adapters/opencode/tui/state/coordinator.d.ts +122 -0
- package/dist/adapters/opencode/tui/state/coordinator.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/state/coordinator.js +40 -0
- package/dist/adapters/opencode/tui/state/coordinator.js.map +1 -0
- package/dist/adapters/opencode/tui/state/setup-failure.d.ts +2 -0
- package/dist/adapters/opencode/tui/state/setup-failure.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/state/setup-failure.js +10 -0
- package/dist/adapters/opencode/tui/state/setup-failure.js.map +1 -0
- package/dist/adapters/opencode/tui/travel/actions.d.ts +16 -0
- package/dist/adapters/opencode/tui/travel/actions.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/travel/actions.jsx +31 -0
- package/dist/adapters/opencode/tui/travel/actions.jsx.map +1 -0
- package/dist/adapters/opencode/tui/travel/dialog.d.ts +29 -0
- package/dist/adapters/opencode/tui/travel/dialog.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/travel/dialog.jsx +128 -0
- package/dist/adapters/opencode/tui/travel/dialog.jsx.map +1 -0
- package/dist/adapters/opencode/tui/travel/projection.d.ts +29 -0
- package/dist/adapters/opencode/tui/travel/projection.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/travel/projection.js +44 -0
- package/dist/adapters/opencode/tui/travel/projection.js.map +1 -0
- package/dist/adapters/presentation/game-notifications.d.ts +13 -0
- package/dist/adapters/presentation/game-notifications.d.ts.map +1 -0
- package/dist/adapters/presentation/game-notifications.js +111 -0
- package/dist/adapters/presentation/game-notifications.js.map +1 -0
- package/dist/adapters/presentation/localization.d.ts +12 -0
- package/dist/adapters/presentation/localization.d.ts.map +1 -0
- package/dist/adapters/presentation/localization.js +65 -0
- package/dist/adapters/presentation/localization.js.map +1 -0
- package/dist/adapters/presentation/move-details.d.ts +11 -0
- package/dist/adapters/presentation/move-details.d.ts.map +1 -0
- package/dist/adapters/presentation/move-details.js +47 -0
- package/dist/adapters/presentation/move-details.js.map +1 -0
- package/dist/adapters/presentation/pc-copy.d.ts +31 -0
- package/dist/adapters/presentation/pc-copy.d.ts.map +1 -0
- package/dist/adapters/presentation/pc-copy.js +56 -0
- package/dist/adapters/presentation/pc-copy.js.map +1 -0
- package/dist/adapters/presentation/ui-copy.d.ts +49 -0
- package/dist/adapters/presentation/ui-copy.d.ts.map +1 -0
- package/dist/adapters/presentation/ui-copy.js +81 -0
- package/dist/adapters/presentation/ui-copy.js.map +1 -0
- package/dist/adapters/showdown/format-team.d.ts +3 -0
- package/dist/adapters/showdown/format-team.d.ts.map +1 -0
- package/dist/adapters/showdown/format-team.js +23 -0
- package/dist/adapters/showdown/format-team.js.map +1 -0
- package/dist/adapters/sprites/cache.d.ts +12 -0
- package/dist/adapters/sprites/cache.d.ts.map +1 -0
- package/dist/adapters/sprites/cache.js +43 -0
- package/dist/adapters/sprites/cache.js.map +1 -0
- package/dist/adapters/sprites/contracts.d.ts +20 -0
- package/dist/adapters/sprites/contracts.d.ts.map +1 -0
- package/dist/adapters/sprites/contracts.js +12 -0
- package/dist/adapters/sprites/contracts.js.map +1 -0
- package/dist/adapters/sqlite/game-repository.d.ts +14 -0
- package/dist/adapters/sqlite/game-repository.d.ts.map +1 -0
- package/dist/adapters/sqlite/game-repository.js +48 -0
- package/dist/adapters/sqlite/game-repository.js.map +1 -0
- package/dist/adapters/sqlite/game-transaction.d.ts +5 -0
- package/dist/adapters/sqlite/game-transaction.d.ts.map +1 -0
- package/dist/adapters/sqlite/game-transaction.js +35 -0
- package/dist/adapters/sqlite/game-transaction.js.map +1 -0
- package/dist/adapters/sqlite/initialize-database.d.ts +6 -0
- package/dist/adapters/sqlite/initialize-database.d.ts.map +1 -0
- package/dist/adapters/sqlite/initialize-database.js +15 -0
- package/dist/adapters/sqlite/initialize-database.js.map +1 -0
- package/dist/adapters/sqlite/pokemon-mapper.d.ts +23 -0
- package/dist/adapters/sqlite/pokemon-mapper.d.ts.map +1 -0
- package/dist/adapters/sqlite/pokemon-mapper.js +41 -0
- package/dist/adapters/sqlite/pokemon-mapper.js.map +1 -0
- package/dist/adapters/sqlite/queries/collection.d.ts +8 -0
- package/dist/adapters/sqlite/queries/collection.d.ts.map +1 -0
- package/dist/adapters/sqlite/queries/collection.js +58 -0
- package/dist/adapters/sqlite/queries/collection.js.map +1 -0
- package/dist/adapters/sqlite/queries/game-state.d.ts +4 -0
- package/dist/adapters/sqlite/queries/game-state.d.ts.map +1 -0
- package/dist/adapters/sqlite/queries/game-state.js +165 -0
- package/dist/adapters/sqlite/queries/game-state.js.map +1 -0
- package/dist/adapters/sqlite/schema.d.ts +4 -0
- package/dist/adapters/sqlite/schema.d.ts.map +1 -0
- package/dist/adapters/sqlite/schema.js +284 -0
- package/dist/adapters/sqlite/schema.js.map +1 -0
- package/dist/adapters/sqlite/starter-selection-store.d.ts +4 -0
- package/dist/adapters/sqlite/starter-selection-store.d.ts.map +1 -0
- package/dist/adapters/sqlite/starter-selection-store.js +55 -0
- package/dist/adapters/sqlite/starter-selection-store.js.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/choices.d.ts +7 -0
- package/dist/adapters/sqlite/transaction-stores/choices.d.ts.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/choices.js +54 -0
- package/dist/adapters/sqlite/transaction-stores/choices.js.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/encounters.d.ts +7 -0
- package/dist/adapters/sqlite/transaction-stores/encounters.d.ts.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/encounters.js +59 -0
- package/dist/adapters/sqlite/transaction-stores/encounters.js.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/exploration.d.ts +7 -0
- package/dist/adapters/sqlite/transaction-stores/exploration.d.ts.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/exploration.js +65 -0
- package/dist/adapters/sqlite/transaction-stores/exploration.js.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/pokemon.d.ts +7 -0
- package/dist/adapters/sqlite/transaction-stores/pokemon.d.ts.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/pokemon.js +160 -0
- package/dist/adapters/sqlite/transaction-stores/pokemon.js.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/queue-order.d.ts +5 -0
- package/dist/adapters/sqlite/transaction-stores/queue-order.d.ts.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/queue-order.js +15 -0
- package/dist/adapters/sqlite/transaction-stores/queue-order.js.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/receipts.d.ts +4 -0
- package/dist/adapters/sqlite/transaction-stores/receipts.d.ts.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/receipts.js +11 -0
- package/dist/adapters/sqlite/transaction-stores/receipts.js.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/trainers.d.ts +4 -0
- package/dist/adapters/sqlite/transaction-stores/trainers.d.ts.map +1 -0
- package/dist/adapters/sqlite/transaction-stores/trainers.js +11 -0
- package/dist/adapters/sqlite/transaction-stores/trainers.js.map +1 -0
- package/dist/application/contracts/game.d.ts +1412 -0
- package/dist/application/contracts/game.d.ts.map +1 -0
- package/dist/application/contracts/game.js +126 -0
- package/dist/application/contracts/game.js.map +1 -0
- package/dist/application/contracts/starter-choice.d.ts +6 -0
- package/dist/application/contracts/starter-choice.d.ts.map +1 -0
- package/dist/application/contracts/starter-choice.js +2 -0
- package/dist/application/contracts/starter-choice.js.map +1 -0
- package/dist/application/game.d.ts +34 -0
- package/dist/application/game.d.ts.map +1 -0
- package/dist/application/game.js +67 -0
- package/dist/application/game.js.map +1 -0
- package/dist/application/ports/game-transaction.d.ts +172 -0
- package/dist/application/ports/game-transaction.d.ts.map +1 -0
- package/dist/application/ports/game-transaction.js +2 -0
- package/dist/application/ports/game-transaction.js.map +1 -0
- package/dist/application/ports/game.d.ts +11 -0
- package/dist/application/ports/game.d.ts.map +1 -0
- package/dist/application/ports/game.js +2 -0
- package/dist/application/ports/game.js.map +1 -0
- package/dist/application/ports/starter-selection-store.d.ts +23 -0
- package/dist/application/ports/starter-selection-store.d.ts.map +1 -0
- package/dist/application/ports/starter-selection-store.js +2 -0
- package/dist/application/ports/starter-selection-store.js.map +1 -0
- package/dist/application/use-cases/choices.d.ts +9 -0
- package/dist/application/use-cases/choices.d.ts.map +1 -0
- package/dist/application/use-cases/choices.js +111 -0
- package/dist/application/use-cases/choices.js.map +1 -0
- package/dist/application/use-cases/choose-regional-starter.d.ts +4 -0
- package/dist/application/use-cases/choose-regional-starter.d.ts.map +1 -0
- package/dist/application/use-cases/choose-regional-starter.js +37 -0
- package/dist/application/use-cases/choose-regional-starter.js.map +1 -0
- package/dist/application/use-cases/choose-starter.d.ts +15 -0
- package/dist/application/use-cases/choose-starter.d.ts.map +1 -0
- package/dist/application/use-cases/choose-starter.js +26 -0
- package/dist/application/use-cases/choose-starter.js.map +1 -0
- package/dist/application/use-cases/encounters.d.ts +234 -0
- package/dist/application/use-cases/encounters.d.ts.map +1 -0
- package/dist/application/use-cases/encounters.js +39 -0
- package/dist/application/use-cases/encounters.js.map +1 -0
- package/dist/application/use-cases/game-command-support.d.ts +16 -0
- package/dist/application/use-cases/game-command-support.d.ts.map +1 -0
- package/dist/application/use-cases/game-command-support.js +16 -0
- package/dist/application/use-cases/game-command-support.js.map +1 -0
- package/dist/application/use-cases/game-commands.d.ts +244 -0
- package/dist/application/use-cases/game-commands.d.ts.map +1 -0
- package/dist/application/use-cases/game-commands.js +14 -0
- package/dist/application/use-cases/game-commands.js.map +1 -0
- package/dist/application/use-cases/learn-move.d.ts +22 -0
- package/dist/application/use-cases/learn-move.d.ts.map +1 -0
- package/dist/application/use-cases/learn-move.js +24 -0
- package/dist/application/use-cases/learn-move.js.map +1 -0
- package/dist/application/use-cases/party.d.ts +8 -0
- package/dist/application/use-cases/party.d.ts.map +1 -0
- package/dist/application/use-cases/party.js +44 -0
- package/dist/application/use-cases/party.js.map +1 -0
- package/dist/application/use-cases/record-usage.d.ts +10 -0
- package/dist/application/use-cases/record-usage.d.ts.map +1 -0
- package/dist/application/use-cases/record-usage.js +145 -0
- package/dist/application/use-cases/record-usage.js.map +1 -0
- package/dist/application/use-cases/resolve-progression.d.ts +9 -0
- package/dist/application/use-cases/resolve-progression.d.ts.map +1 -0
- package/dist/application/use-cases/resolve-progression.js +80 -0
- package/dist/application/use-cases/resolve-progression.js.map +1 -0
- package/dist/application/use-cases/travel.d.ts +7 -0
- package/dist/application/use-cases/travel.d.ts.map +1 -0
- package/dist/application/use-cases/travel.js +58 -0
- package/dist/application/use-cases/travel.js.map +1 -0
- package/dist/cli/command.d.ts +16 -0
- package/dist/cli/command.d.ts.map +1 -0
- package/dist/cli/command.js +73 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/install.d.ts +9 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli/install.js +23 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +124 -0
- package/dist/cli.js.map +1 -0
- package/dist/domain/choices/choices.d.ts +79 -0
- package/dist/domain/choices/choices.d.ts.map +1 -0
- package/dist/domain/choices/choices.js +54 -0
- package/dist/domain/choices/choices.js.map +1 -0
- package/dist/domain/content/catalog.d.ts +241 -0
- package/dist/domain/content/catalog.d.ts.map +1 -0
- package/dist/domain/content/catalog.js +286 -0
- package/dist/domain/content/catalog.js.map +1 -0
- package/dist/domain/content/catalogs/abilities-catalog.d.ts +8 -0
- package/dist/domain/content/catalogs/abilities-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/abilities-catalog.js +2054 -0
- package/dist/domain/content/catalogs/abilities-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/alola-locations-catalog.d.ts +4949 -0
- package/dist/domain/content/catalogs/alola-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/alola-locations-catalog.js +5994 -0
- package/dist/domain/content/catalogs/alola-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/encouter-methods.d.ts +2 -0
- package/dist/domain/content/catalogs/encouter-methods.d.ts.map +1 -0
- package/dist/domain/content/catalogs/encouter-methods.js +69 -0
- package/dist/domain/content/catalogs/encouter-methods.js.map +1 -0
- package/dist/domain/content/catalogs/galar-locations-catalog.d.ts +6707 -0
- package/dist/domain/content/catalogs/galar-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/galar-locations-catalog.js +8089 -0
- package/dist/domain/content/catalogs/galar-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts +2922 -0
- package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/hoenn-locations-catalog.js +3541 -0
- package/dist/domain/content/catalogs/hoenn-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/johto-locations-catalog.d.ts +29 -0
- package/dist/domain/content/catalogs/johto-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/johto-locations-catalog.js +4151 -0
- package/dist/domain/content/catalogs/johto-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts +29 -0
- package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/kalos-locations-catalog.js +4346 -0
- package/dist/domain/content/catalogs/kalos-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts +2304 -0
- package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/kanto-locations-catalog.js +2796 -0
- package/dist/domain/content/catalogs/kanto-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/moves-catalog.d.ts +62 -0
- package/dist/domain/content/catalogs/moves-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/moves-catalog.js +12883 -0
- package/dist/domain/content/catalogs/moves-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/natures-catalog.d.ts +202 -0
- package/dist/domain/content/catalogs/natures-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/natures-catalog.js +228 -0
- package/dist/domain/content/catalogs/natures-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts +14756 -0
- package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/paldea-locations-catalog.js +17762 -0
- package/dist/domain/content/catalogs/paldea-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/pokemon-catalog.d.ts +75 -0
- package/dist/domain/content/catalogs/pokemon-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/pokemon-catalog.js +100649 -0
- package/dist/domain/content/catalogs/pokemon-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/regional-forms-catalog.d.ts +3033 -0
- package/dist/domain/content/catalogs/regional-forms-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/regional-forms-catalog.js +4358 -0
- package/dist/domain/content/catalogs/regional-forms-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/regions-catalog.d.ts +8 -0
- package/dist/domain/content/catalogs/regions-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/regions-catalog.js +66 -0
- package/dist/domain/content/catalogs/regions-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts +5955 -0
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.js +7184 -0
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/stats-catalog.d.ts +38 -0
- package/dist/domain/content/catalogs/stats-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/stats-catalog.js +45 -0
- package/dist/domain/content/catalogs/stats-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/types-catalog.d.ts +8 -0
- package/dist/domain/content/catalogs/types-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/types-catalog.js +129 -0
- package/dist/domain/content/catalogs/types-catalog.js.map +1 -0
- package/dist/domain/content/catalogs/unova-locations-catalog.d.ts +29 -0
- package/dist/domain/content/catalogs/unova-locations-catalog.d.ts.map +1 -0
- package/dist/domain/content/catalogs/unova-locations-catalog.js +6552 -0
- package/dist/domain/content/catalogs/unova-locations-catalog.js.map +1 -0
- package/dist/domain/content/encounter-catalog.d.ts +27 -0
- package/dist/domain/content/encounter-catalog.d.ts.map +1 -0
- package/dist/domain/content/encounter-catalog.js +75 -0
- package/dist/domain/content/encounter-catalog.js.map +1 -0
- package/dist/domain/content/names.d.ts +6 -0
- package/dist/domain/content/names.d.ts.map +1 -0
- package/dist/domain/content/names.js +7 -0
- package/dist/domain/content/names.js.map +1 -0
- package/dist/domain/content/schema.d.ts +153 -0
- package/dist/domain/content/schema.d.ts.map +1 -0
- package/dist/domain/content/schema.js +81 -0
- package/dist/domain/content/schema.js.map +1 -0
- package/dist/domain/content/sprites.d.ts +5 -0
- package/dist/domain/content/sprites.d.ts.map +1 -0
- package/dist/domain/content/sprites.js +22 -0
- package/dist/domain/content/sprites.js.map +1 -0
- package/dist/domain/encounters/encounter.d.ts +56 -0
- package/dist/domain/encounters/encounter.d.ts.map +1 -0
- package/dist/domain/encounters/encounter.js +74 -0
- package/dist/domain/encounters/encounter.js.map +1 -0
- package/dist/domain/exploration/exploration.d.ts +63 -0
- package/dist/domain/exploration/exploration.d.ts.map +1 -0
- package/dist/domain/exploration/exploration.js +48 -0
- package/dist/domain/exploration/exploration.js.map +1 -0
- package/dist/domain/party/party.d.ts +59 -0
- package/dist/domain/party/party.d.ts.map +1 -0
- package/dist/domain/party/party.js +19 -0
- package/dist/domain/party/party.js.map +1 -0
- package/dist/domain/pokemon/model.d.ts +43 -0
- package/dist/domain/pokemon/model.d.ts.map +1 -0
- package/dist/domain/pokemon/model.js +18 -0
- package/dist/domain/pokemon/model.js.map +1 -0
- package/dist/domain/pokemon/nature.d.ts +10 -0
- package/dist/domain/pokemon/nature.d.ts.map +1 -0
- package/dist/domain/pokemon/nature.js +23 -0
- package/dist/domain/pokemon/nature.js.map +1 -0
- package/dist/domain/pokemon/starter.d.ts +23 -0
- package/dist/domain/pokemon/starter.d.ts.map +1 -0
- package/dist/domain/pokemon/starter.js +59 -0
- package/dist/domain/pokemon/starter.js.map +1 -0
- package/dist/domain/pokemon/stats.d.ts +6 -0
- package/dist/domain/pokemon/stats.d.ts.map +1 -0
- package/dist/domain/pokemon/stats.js +35 -0
- package/dist/domain/pokemon/stats.js.map +1 -0
- package/dist/domain/pokemon/types.d.ts +37 -0
- package/dist/domain/pokemon/types.d.ts.map +1 -0
- package/dist/domain/pokemon/types.js +30 -0
- package/dist/domain/pokemon/types.js.map +1 -0
- package/dist/domain/progression/catalog.d.ts +34 -0
- package/dist/domain/progression/catalog.d.ts.map +1 -0
- package/dist/domain/progression/catalog.js +258 -0
- package/dist/domain/progression/catalog.js.map +1 -0
- package/dist/domain/progression/level-evolution.d.ts +13 -0
- package/dist/domain/progression/level-evolution.d.ts.map +1 -0
- package/dist/domain/progression/level-evolution.js +245 -0
- package/dist/domain/progression/level-evolution.js.map +1 -0
- package/dist/domain/progression/policies.d.ts +38 -0
- package/dist/domain/progression/policies.d.ts.map +1 -0
- package/dist/domain/progression/policies.js +78 -0
- package/dist/domain/progression/policies.js.map +1 -0
- package/dist/domain/shared/identifiers.d.ts +12 -0
- package/dist/domain/shared/identifiers.d.ts.map +1 -0
- package/dist/domain/shared/identifiers.js +7 -0
- package/dist/domain/shared/identifiers.js.map +1 -0
- package/dist/domain/shared/language.d.ts +7 -0
- package/dist/domain/shared/language.d.ts.map +1 -0
- package/dist/domain/shared/language.js +3 -0
- package/dist/domain/shared/language.js.map +1 -0
- package/dist/domain/trainer/trainer.d.ts +7 -0
- package/dist/domain/trainer/trainer.d.ts.map +1 -0
- package/dist/domain/trainer/trainer.js +2 -0
- package/dist/domain/trainer/trainer.js.map +1 -0
- package/dist/domain/usage/usage.d.ts +21 -0
- package/dist/domain/usage/usage.d.ts.map +1 -0
- package/dist/domain/usage/usage.js +23 -0
- package/dist/domain/usage/usage.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +183817 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +10 -0
- package/dist/rpc.d.ts +2 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +568 -0
- package/dist/rpc.js.map +1 -0
- package/dist/tui.d.ts +2 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +184828 -0
- package/package.json +83 -4
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { pokemonCatalog } from "../content/catalogs/pokemon-catalog.js";
|
|
2
|
+
import { regionalFormsCatalog } from "../content/catalogs/regional-forms-catalog.js";
|
|
3
|
+
import { pokemonNatureModifiers } from "./nature.js";
|
|
4
|
+
const baseStatsBySpecies = new Map([...pokemonCatalog, ...regionalFormsCatalog].map((pokemon) => [
|
|
5
|
+
pokemon.id,
|
|
6
|
+
asBaseStats(pokemon.id, pokemon.baseStats),
|
|
7
|
+
]));
|
|
8
|
+
function asBaseStats(speciesId, values) {
|
|
9
|
+
if (values.length !== 6 || values.some((value) => !Number.isInteger(value) || value <= 0)) {
|
|
10
|
+
throw new RangeError(`Invalid base stats for Pokemon: ${speciesId}`);
|
|
11
|
+
}
|
|
12
|
+
return values;
|
|
13
|
+
}
|
|
14
|
+
/** Uses canonical species ID and persisted English nature, never localized display names. */
|
|
15
|
+
export function pokemonStats(pokemon) {
|
|
16
|
+
const base = baseStatsBySpecies.get(pokemon.speciesId);
|
|
17
|
+
const nature = pokemonNatureModifiers(pokemon.nature);
|
|
18
|
+
if (base === undefined)
|
|
19
|
+
throw new RangeError(`Unknown Pokemon species: ${pokemon.speciesId}`);
|
|
20
|
+
const scaled = (stat, value) => Math.floor(((2 * value + pokemon.ivs[stat] + Math.floor(pokemon.evs[stat] / 4)) * pokemon.level) / 100);
|
|
21
|
+
const nonHp = (stat, value) => {
|
|
22
|
+
const percent = stat === nature.increased ? 110 : stat === nature.decreased ? 90 : 100;
|
|
23
|
+
// Integer percentages avoid floating-point rounding at exact stat boundaries.
|
|
24
|
+
return Math.floor(((scaled(stat, value) + 5) * percent) / 100);
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
hp: pokemon.speciesId === "shedinja" ? 1 : scaled("hp", base[0]) + pokemon.level + 10,
|
|
28
|
+
attack: nonHp("attack", base[1]),
|
|
29
|
+
defense: nonHp("defense", base[2]),
|
|
30
|
+
specialAttack: nonHp("specialAttack", base[3]),
|
|
31
|
+
specialDefense: nonHp("specialDefense", base[4]),
|
|
32
|
+
speed: nonHp("speed", base[5]),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/domain/pokemon/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAQpD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,CAAC,GAAG,cAAc,EAAE,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;IAC5D,OAAO,CAAC,EAAE;IACV,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC;CAC3C,CAAC,CACH,CAAA;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,MAAyB;IAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,UAAU,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,MAA8B,CAAA;AACvC,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,OAAwB;IACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,4BAA4B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAE7F,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAE,KAAa,EAAU,EAAE,CACjE,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAC5F,CAAA;IACH,MAAM,KAAK,GAAG,CAAC,IAAgB,EAAE,KAAa,EAAU,EAAE;QACxD,MAAM,OAAO,GAAG,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QACtF,8EAA8E;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;IAChE,CAAC,CAAA;IAED,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,EAAE;QACrF,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,aAAa,EAAE,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,cAAc,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const moveSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type Move = z.infer<typeof moveSchema>;
|
|
7
|
+
export declare const ivsSchema: z.ZodObject<{
|
|
8
|
+
hp: z.ZodNumber;
|
|
9
|
+
attack: z.ZodNumber;
|
|
10
|
+
defense: z.ZodNumber;
|
|
11
|
+
specialAttack: z.ZodNumber;
|
|
12
|
+
specialDefense: z.ZodNumber;
|
|
13
|
+
speed: z.ZodNumber;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type Ivs = z.infer<typeof ivsSchema>;
|
|
16
|
+
export declare const evsSchema: z.ZodObject<{
|
|
17
|
+
hp: z.ZodLiteral<0>;
|
|
18
|
+
attack: z.ZodLiteral<0>;
|
|
19
|
+
defense: z.ZodLiteral<0>;
|
|
20
|
+
specialAttack: z.ZodLiteral<0>;
|
|
21
|
+
specialDefense: z.ZodLiteral<0>;
|
|
22
|
+
speed: z.ZodLiteral<0>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export type Evs = z.infer<typeof evsSchema>;
|
|
25
|
+
export declare const pokemonGenderSchema: z.ZodEnum<{
|
|
26
|
+
male: "male";
|
|
27
|
+
female: "female";
|
|
28
|
+
genderless: "genderless";
|
|
29
|
+
}>;
|
|
30
|
+
export type PokemonGender = z.infer<typeof pokemonGenderSchema>;
|
|
31
|
+
export declare const availablePokemonGendersSchema: z.ZodArray<z.ZodEnum<{
|
|
32
|
+
male: "male";
|
|
33
|
+
female: "female";
|
|
34
|
+
unknown: "unknown";
|
|
35
|
+
}>>;
|
|
36
|
+
export type AvailablePokemonGender = z.infer<typeof availablePokemonGendersSchema>[number];
|
|
37
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/pokemon/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,UAAU;;;iBAGrB,CAAA;AACF,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAE7C,eAAO,MAAM,SAAS;;;;;;;iBAOpB,CAAA;AACF,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AAE3C,eAAO,MAAM,SAAS;;;;;;;iBAOpB,CAAA;AACF,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AAE3C,eAAO,MAAM,mBAAmB;;;;EAA2C,CAAA;AAC3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAG/D,eAAO,MAAM,6BAA6B;;;;GAQvC,CAAA;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const moveSchema = z.object({
|
|
3
|
+
id: z.string().min(1),
|
|
4
|
+
name: z.string().min(1),
|
|
5
|
+
});
|
|
6
|
+
export const ivsSchema = z.object({
|
|
7
|
+
hp: z.number().int().min(0).max(31),
|
|
8
|
+
attack: z.number().int().min(0).max(31),
|
|
9
|
+
defense: z.number().int().min(0).max(31),
|
|
10
|
+
specialAttack: z.number().int().min(0).max(31),
|
|
11
|
+
specialDefense: z.number().int().min(0).max(31),
|
|
12
|
+
speed: z.number().int().min(0).max(31),
|
|
13
|
+
});
|
|
14
|
+
export const evsSchema = z.object({
|
|
15
|
+
hp: z.literal(0),
|
|
16
|
+
attack: z.literal(0),
|
|
17
|
+
defense: z.literal(0),
|
|
18
|
+
specialAttack: z.literal(0),
|
|
19
|
+
specialDefense: z.literal(0),
|
|
20
|
+
speed: z.literal(0),
|
|
21
|
+
});
|
|
22
|
+
export const pokemonGenderSchema = z.enum(["male", "female", "genderless"]);
|
|
23
|
+
// Catalog terminology; "unknown" becomes "genderless" in stored Pokémon instances.
|
|
24
|
+
export const availablePokemonGendersSchema = z
|
|
25
|
+
.array(z.enum(["male", "female", "unknown"]))
|
|
26
|
+
.min(1)
|
|
27
|
+
.max(2)
|
|
28
|
+
.refine((genders) => new Set(genders).size === genders.length, "Genders must be unique")
|
|
29
|
+
.refine((genders) => !genders.includes("unknown") || genders.length === 1, "Unknown cannot be combined with male or female");
|
|
30
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain/pokemon/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CACvC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACpB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA;AAG3E,mFAAmF;AACnF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;KAC5C,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;KACvF,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EACjE,gDAAgD,CACjD,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Move, PokemonGender } from "../pokemon/types.js";
|
|
2
|
+
import type { GrowthRate } from "./policies.js";
|
|
3
|
+
export type { GrowthRate } from "./policies.js";
|
|
4
|
+
export { experienceForNextLevel } from "./policies.js";
|
|
5
|
+
type LearnsetEntry = {
|
|
6
|
+
readonly level: number;
|
|
7
|
+
readonly move: Move;
|
|
8
|
+
};
|
|
9
|
+
type EvolutionTarget = {
|
|
10
|
+
readonly speciesId: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
};
|
|
13
|
+
type EvolutionRule = {
|
|
14
|
+
readonly kind: "level";
|
|
15
|
+
readonly level: number;
|
|
16
|
+
readonly targets: readonly [EvolutionTarget, ...EvolutionTarget[]];
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: "milestone";
|
|
19
|
+
readonly milestoneLevel: number;
|
|
20
|
+
readonly source: string;
|
|
21
|
+
readonly reviewedAt: string;
|
|
22
|
+
readonly targets: readonly [EvolutionTarget, ...EvolutionTarget[]];
|
|
23
|
+
};
|
|
24
|
+
type SpeciesProgression = {
|
|
25
|
+
readonly growthRate: GrowthRate;
|
|
26
|
+
readonly learnset: readonly LearnsetEntry[];
|
|
27
|
+
readonly evolution: EvolutionRule | null;
|
|
28
|
+
};
|
|
29
|
+
export declare function progressionFor(speciesId: string): SpeciesProgression;
|
|
30
|
+
export declare function initialMoves(speciesId: string, level: number): readonly Move[];
|
|
31
|
+
export declare function movesAtLevel(speciesId: string, level: number): readonly Move[];
|
|
32
|
+
export declare function evolutionAtLevel(speciesId: string, level: number, gender: PokemonGender, regionId?: string | null): EvolutionRule | null;
|
|
33
|
+
export declare function evolutionTargetSpeciesIds(rule: EvolutionRule): readonly string[];
|
|
34
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/domain/progression/catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG/C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACpB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,aAAa,GACd;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;CACnE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;CACnE,CAAA;AAEL,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAA;CACzC,CAAA;AAmMD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAcpE;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAc9E;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAI9E;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,aAAa,GAAG,IAAI,CAyBtB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEhF"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { localizedSpeciesName, speciesProgression } from "../content/catalog.js";
|
|
2
|
+
import { speciesIdSchema } from "../shared/identifiers.js";
|
|
3
|
+
import { levelForEvolution } from "./level-evolution.js";
|
|
4
|
+
import { normalizeGrowthRate, regionalEvolutionTarget } from "./policies.js";
|
|
5
|
+
export { experienceForNextLevel } from "./policies.js";
|
|
6
|
+
const move = (id, name) => ({ id, name });
|
|
7
|
+
const catalog = {
|
|
8
|
+
bulbasaur: {
|
|
9
|
+
growthRate: "medium-slow",
|
|
10
|
+
learnset: [
|
|
11
|
+
{ level: 1, move: move("tackle", "Tackle") },
|
|
12
|
+
{ level: 3, move: move("growl", "Growl") },
|
|
13
|
+
{ level: 7, move: move("vine-whip", "Vine Whip") },
|
|
14
|
+
{ level: 13, move: move("poison-powder", "Poison Powder") },
|
|
15
|
+
],
|
|
16
|
+
evolution: {
|
|
17
|
+
kind: "level",
|
|
18
|
+
level: 16,
|
|
19
|
+
targets: [{ speciesId: "ivysaur", name: "Ivysaur" }],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
ivysaur: {
|
|
23
|
+
growthRate: "medium-slow",
|
|
24
|
+
learnset: [{ level: 22, move: move("razor-leaf", "Razor Leaf") }],
|
|
25
|
+
evolution: {
|
|
26
|
+
kind: "level",
|
|
27
|
+
level: 32,
|
|
28
|
+
targets: [{ speciesId: "venusaur", name: "Venusaur" }],
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
venusaur: { growthRate: "medium-slow", learnset: [], evolution: null },
|
|
32
|
+
charmander: {
|
|
33
|
+
growthRate: "medium-slow",
|
|
34
|
+
learnset: [
|
|
35
|
+
{ level: 1, move: move("scratch", "Scratch") },
|
|
36
|
+
{ level: 1, move: move("growl", "Growl") },
|
|
37
|
+
{ level: 9, move: move("ember", "Ember") },
|
|
38
|
+
{ level: 15, move: move("smokescreen", "Smokescreen") },
|
|
39
|
+
],
|
|
40
|
+
evolution: {
|
|
41
|
+
kind: "level",
|
|
42
|
+
level: 16,
|
|
43
|
+
targets: [{ speciesId: "charmeleon", name: "Charmeleon" }],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
charmeleon: {
|
|
47
|
+
growthRate: "medium-slow",
|
|
48
|
+
learnset: [{ level: 24, move: move("dragon-rage", "Dragon Rage") }],
|
|
49
|
+
evolution: {
|
|
50
|
+
kind: "level",
|
|
51
|
+
level: 36,
|
|
52
|
+
targets: [{ speciesId: "charizard", name: "Charizard" }],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
charizard: { growthRate: "medium-slow", learnset: [], evolution: null },
|
|
56
|
+
squirtle: {
|
|
57
|
+
growthRate: "medium-slow",
|
|
58
|
+
learnset: [
|
|
59
|
+
{ level: 1, move: move("tackle", "Tackle") },
|
|
60
|
+
{ level: 4, move: move("tail-whip", "Tail Whip") },
|
|
61
|
+
{ level: 7, move: move("water-gun", "Water Gun") },
|
|
62
|
+
{ level: 10, move: move("withdraw", "Withdraw") },
|
|
63
|
+
],
|
|
64
|
+
evolution: {
|
|
65
|
+
kind: "level",
|
|
66
|
+
level: 16,
|
|
67
|
+
targets: [{ speciesId: "wartortle", name: "Wartortle" }],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
wartortle: {
|
|
71
|
+
growthRate: "medium-slow",
|
|
72
|
+
learnset: [{ level: 18, move: move("bite", "Bite") }],
|
|
73
|
+
evolution: {
|
|
74
|
+
kind: "level",
|
|
75
|
+
level: 36,
|
|
76
|
+
targets: [{ speciesId: "blastoise", name: "Blastoise" }],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
blastoise: { growthRate: "medium-slow", learnset: [], evolution: null },
|
|
80
|
+
pidgey: {
|
|
81
|
+
growthRate: "medium-slow",
|
|
82
|
+
learnset: [
|
|
83
|
+
{ level: 1, move: move("tackle", "Tackle") },
|
|
84
|
+
{ level: 5, move: move("sand-attack", "Sand Attack") },
|
|
85
|
+
{ level: 9, move: move("gust", "Gust") },
|
|
86
|
+
{ level: 13, move: move("quick-attack", "Quick Attack") },
|
|
87
|
+
],
|
|
88
|
+
evolution: {
|
|
89
|
+
kind: "level",
|
|
90
|
+
level: 18,
|
|
91
|
+
targets: [{ speciesId: "pidgeotto", name: "Pidgeotto" }],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
pidgeotto: {
|
|
95
|
+
growthRate: "medium-slow",
|
|
96
|
+
learnset: [{ level: 22, move: move("whirlwind", "Whirlwind") }],
|
|
97
|
+
evolution: {
|
|
98
|
+
kind: "level",
|
|
99
|
+
level: 36,
|
|
100
|
+
targets: [{ speciesId: "pidgeot", name: "Pidgeot" }],
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
pidgeot: { growthRate: "medium-slow", learnset: [], evolution: null },
|
|
104
|
+
rattata: {
|
|
105
|
+
growthRate: "medium-fast",
|
|
106
|
+
learnset: [
|
|
107
|
+
{ level: 1, move: move("tackle", "Tackle") },
|
|
108
|
+
{ level: 1, move: move("tail-whip", "Tail Whip") },
|
|
109
|
+
{ level: 7, move: move("quick-attack", "Quick Attack") },
|
|
110
|
+
{ level: 14, move: move("hyper-fang", "Hyper Fang") },
|
|
111
|
+
],
|
|
112
|
+
evolution: {
|
|
113
|
+
kind: "level",
|
|
114
|
+
level: 20,
|
|
115
|
+
targets: [{ speciesId: "raticate", name: "Raticate" }],
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
raticate: { growthRate: "medium-fast", learnset: [], evolution: null },
|
|
119
|
+
caterpie: {
|
|
120
|
+
growthRate: "medium-fast",
|
|
121
|
+
learnset: [
|
|
122
|
+
{ level: 1, move: move("tackle", "Tackle") },
|
|
123
|
+
{ level: 1, move: move("string-shot", "String Shot") },
|
|
124
|
+
{ level: 9, move: move("bug-bite", "Bug Bite") },
|
|
125
|
+
],
|
|
126
|
+
evolution: {
|
|
127
|
+
kind: "level",
|
|
128
|
+
level: 7,
|
|
129
|
+
targets: [{ speciesId: "metapod", name: "Metapod" }],
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
metapod: {
|
|
133
|
+
growthRate: "medium-fast",
|
|
134
|
+
learnset: [{ level: 7, move: move("harden", "Harden") }],
|
|
135
|
+
evolution: {
|
|
136
|
+
kind: "level",
|
|
137
|
+
level: 10,
|
|
138
|
+
targets: [{ speciesId: "butterfree", name: "Butterfree" }],
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
butterfree: { growthRate: "medium-fast", learnset: [], evolution: null },
|
|
142
|
+
weedle: {
|
|
143
|
+
growthRate: "medium-fast",
|
|
144
|
+
learnset: [
|
|
145
|
+
{ level: 1, move: move("poison-sting", "Poison Sting") },
|
|
146
|
+
{ level: 1, move: move("string-shot", "String Shot") },
|
|
147
|
+
{ level: 9, move: move("bug-bite", "Bug Bite") },
|
|
148
|
+
],
|
|
149
|
+
evolution: {
|
|
150
|
+
kind: "level",
|
|
151
|
+
level: 7,
|
|
152
|
+
targets: [{ speciesId: "kakuna", name: "Kakuna" }],
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
kakuna: {
|
|
156
|
+
growthRate: "medium-fast",
|
|
157
|
+
learnset: [{ level: 7, move: move("harden", "Harden") }],
|
|
158
|
+
evolution: {
|
|
159
|
+
kind: "level",
|
|
160
|
+
level: 10,
|
|
161
|
+
targets: [{ speciesId: "beedrill", name: "Beedrill" }],
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
beedrill: { growthRate: "medium-fast", learnset: [], evolution: null },
|
|
165
|
+
mewtwo: { growthRate: "slow", learnset: [], evolution: null },
|
|
166
|
+
pikachu: {
|
|
167
|
+
growthRate: "medium-fast",
|
|
168
|
+
learnset: [],
|
|
169
|
+
evolution: {
|
|
170
|
+
kind: "milestone",
|
|
171
|
+
milestoneLevel: 25,
|
|
172
|
+
source: "PokéAPI evolution-chain #10 (Pikachu -> Raichu by thunder-stone)",
|
|
173
|
+
reviewedAt: "2026-09-29",
|
|
174
|
+
targets: [{ speciesId: "raichu", name: "Raichu" }],
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
eevee: {
|
|
178
|
+
growthRate: "medium-fast",
|
|
179
|
+
learnset: [],
|
|
180
|
+
evolution: {
|
|
181
|
+
kind: "milestone",
|
|
182
|
+
milestoneLevel: 25,
|
|
183
|
+
source: "PokéAPI evolution-chain #67 (Eevee stone evolutions)",
|
|
184
|
+
reviewedAt: "2026-09-29",
|
|
185
|
+
targets: [
|
|
186
|
+
{ speciesId: "vaporeon", name: "Vaporeon" },
|
|
187
|
+
{ speciesId: "jolteon", name: "Jolteon" },
|
|
188
|
+
{ speciesId: "flareon", name: "Flareon" },
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
raichu: { growthRate: "medium-fast", learnset: [], evolution: null },
|
|
193
|
+
vaporeon: { growthRate: "medium-fast", learnset: [], evolution: null },
|
|
194
|
+
jolteon: { growthRate: "medium-fast", learnset: [], evolution: null },
|
|
195
|
+
flareon: { growthRate: "medium-fast", learnset: [], evolution: null },
|
|
196
|
+
};
|
|
197
|
+
export function progressionFor(speciesId) {
|
|
198
|
+
const known = catalog[speciesId];
|
|
199
|
+
if (known !== undefined)
|
|
200
|
+
return known;
|
|
201
|
+
const generated = speciesProgression(speciesId);
|
|
202
|
+
return generated === null
|
|
203
|
+
? { growthRate: "medium", learnset: [], evolution: null }
|
|
204
|
+
: {
|
|
205
|
+
growthRate: normalizeGrowthRate(generated.growthRate),
|
|
206
|
+
learnset: generated.learnset.map((entry) => ({
|
|
207
|
+
level: entry.level,
|
|
208
|
+
move: move(entry.id, entry.name),
|
|
209
|
+
})),
|
|
210
|
+
evolution: null,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
export function initialMoves(speciesId, level) {
|
|
214
|
+
const learnset = progressionFor(speciesId).learnset;
|
|
215
|
+
const eligible = learnset
|
|
216
|
+
.filter((entry) => entry.level <= level)
|
|
217
|
+
.toSorted((left, right) => left.level - right.level);
|
|
218
|
+
return (eligible.length > 0
|
|
219
|
+
? eligible
|
|
220
|
+
: learnset
|
|
221
|
+
.filter((entry) => entry.level === 1)
|
|
222
|
+
.toSorted((left, right) => left.level - right.level))
|
|
223
|
+
.slice(-4)
|
|
224
|
+
.map((entry) => entry.move);
|
|
225
|
+
}
|
|
226
|
+
export function movesAtLevel(speciesId, level) {
|
|
227
|
+
return progressionFor(speciesId)
|
|
228
|
+
.learnset.filter((entry) => entry.level === level)
|
|
229
|
+
.map((entry) => entry.move);
|
|
230
|
+
}
|
|
231
|
+
export function evolutionAtLevel(speciesId, level, gender, regionId) {
|
|
232
|
+
const progression = speciesProgression(speciesId);
|
|
233
|
+
if (progression === null)
|
|
234
|
+
return null;
|
|
235
|
+
const targets = progression.evolutions.flatMap((evolution) => {
|
|
236
|
+
if (evolution.conditions.some((condition) => condition.kind === "gender" && condition.value !== gender))
|
|
237
|
+
return [];
|
|
238
|
+
const targetSpeciesId = regionalEvolutionTarget(regionId, speciesId, evolution.targetSpeciesId);
|
|
239
|
+
return levelForEvolution({
|
|
240
|
+
...evolution,
|
|
241
|
+
sourceSpeciesId: speciesId,
|
|
242
|
+
}) <= level
|
|
243
|
+
? [{ speciesId: targetSpeciesId, name: localizedSpeciesName(targetSpeciesId) }]
|
|
244
|
+
: [];
|
|
245
|
+
});
|
|
246
|
+
const firstTarget = targets[0];
|
|
247
|
+
if (firstTarget === undefined)
|
|
248
|
+
return null;
|
|
249
|
+
return {
|
|
250
|
+
kind: "level",
|
|
251
|
+
level,
|
|
252
|
+
targets: [firstTarget, ...targets.slice(1)],
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
export function evolutionTargetSpeciesIds(rule) {
|
|
256
|
+
return rule.targets.map((target) => speciesIdSchema.parse(target.speciesId));
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/domain/progression/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type EvolutionMethod = "happiness" | "level" | "other" | "stone" | "trade";
|
|
2
|
+
type Evolution = {
|
|
3
|
+
readonly conditions: readonly {
|
|
4
|
+
readonly kind: string;
|
|
5
|
+
readonly value: string | number | boolean;
|
|
6
|
+
}[];
|
|
7
|
+
readonly method: EvolutionMethod;
|
|
8
|
+
readonly sourceSpeciesId: string;
|
|
9
|
+
readonly targetSpeciesId: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function levelForEvolution(evolution: Evolution): number;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=level-evolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-evolution.d.ts","sourceRoot":"","sources":["../../../src/domain/progression/level-evolution.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAE1E,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAC1C,EAAE,CAAA;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC,CAAA;AA+ND,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAwB9D"}
|