@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,114 @@
|
|
|
1
|
+
import { MouseButton } from "@opentui/core";
|
|
2
|
+
import { useTerminalDimensions } from "@opentui/solid";
|
|
3
|
+
import { createSignal, Match, Show, Switch } from "solid-js";
|
|
4
|
+
import { decodeEvolutionChoiceProjection, decodeMoveChoiceProjection, decodeRegionChoiceProjection, } from "../../../../domain/choices/choices.js";
|
|
5
|
+
import { regions } from "../../../../domain/content/catalog.js";
|
|
6
|
+
import { uiCopy } from "../../../presentation/ui-copy.js";
|
|
7
|
+
import { MoveList } from "../components/move-list.js";
|
|
8
|
+
import { Sprite } from "../components/sprite.js";
|
|
9
|
+
export function PendingChoiceCard(properties) {
|
|
10
|
+
const choice = () => properties.state().pendingChoices[0];
|
|
11
|
+
return (<Show when={choice()} keyed>
|
|
12
|
+
{(activeChoice) => (<Switch>
|
|
13
|
+
<Match when={activeChoice.kind === "move"}>
|
|
14
|
+
<MoveChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} onResolve={properties.onResolveMove} resolveSprite={properties.resolveSprite} language={properties.language}/>
|
|
15
|
+
</Match>
|
|
16
|
+
<Match when={activeChoice.kind === "evolution"}>
|
|
17
|
+
<EvolutionChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} resolveSprite={properties.resolveSprite} language={properties.language} onResolve={properties.onResolveEvolution}/>
|
|
18
|
+
</Match>
|
|
19
|
+
</Switch>)}
|
|
20
|
+
</Show>);
|
|
21
|
+
}
|
|
22
|
+
export function MoveChoiceCard(properties) {
|
|
23
|
+
const choice = properties.choice();
|
|
24
|
+
if (choice === undefined)
|
|
25
|
+
return null;
|
|
26
|
+
const payload = decodeMoveChoiceProjection(choice.payload);
|
|
27
|
+
if (payload === null)
|
|
28
|
+
return null;
|
|
29
|
+
const pokemon = properties.party().find((slot) => slot.pokemon?.id === payload.pokemonId)?.pokemon ??
|
|
30
|
+
properties.choicePokemon().find((instance) => instance.id === payload.pokemonId);
|
|
31
|
+
if (pokemon === undefined || pokemon === null)
|
|
32
|
+
return null;
|
|
33
|
+
const dimensions = useTerminalDimensions();
|
|
34
|
+
const language = () => properties.language?.() ?? "en";
|
|
35
|
+
const moves = [...pokemon.moves, payload.move];
|
|
36
|
+
const copy = () => uiCopy(language());
|
|
37
|
+
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1} width="100%" minWidth={0}>
|
|
38
|
+
<text width="100%" wrapMode="word" textAlign="center">
|
|
39
|
+
{copy().movePrompt(pokemon.name)}
|
|
40
|
+
</text>
|
|
41
|
+
<Sprite language={properties.language} resolve={properties.resolveSprite} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
|
|
42
|
+
<text width="100%" wrapMode="word" textAlign="center">
|
|
43
|
+
{copy().moveDescription}
|
|
44
|
+
</text>
|
|
45
|
+
<MoveList centered leftAlignMoves moves={moves} language={language()} offeredMoveId={payload.move.id} height={Math.min(28, Math.max(6, dimensions().height - 19))} onActivate={(moveId) => properties.onResolve(choice.id, moveId)}/>
|
|
46
|
+
</box>);
|
|
47
|
+
}
|
|
48
|
+
export function EvolutionChoiceCard(properties) {
|
|
49
|
+
const choice = properties.choice();
|
|
50
|
+
if (choice === undefined)
|
|
51
|
+
return null;
|
|
52
|
+
const payload = decodeEvolutionChoiceProjection(choice.payload);
|
|
53
|
+
if (payload === null)
|
|
54
|
+
return null;
|
|
55
|
+
const pokemon = properties.party().find((slot) => slot.pokemon?.id === payload.pokemonId)?.pokemon ??
|
|
56
|
+
properties.choicePokemon().find((instance) => instance.id === payload.pokemonId);
|
|
57
|
+
if (pokemon === undefined || pokemon === null)
|
|
58
|
+
return null;
|
|
59
|
+
const [hoveredOption, setHoveredOption] = createSignal(null);
|
|
60
|
+
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
|
|
61
|
+
<text>{uiCopy(properties.language()).evolutionPrompt(pokemon.name)}</text>
|
|
62
|
+
<Sprite language={properties.language} resolve={properties.resolveSprite} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
|
|
63
|
+
<text>{uiCopy(properties.language()).chooseEvolution}</text>
|
|
64
|
+
<box flexDirection="row" flexWrap="wrap" gap={1} justifyContent="center" width="100%">
|
|
65
|
+
{payload.options.map((option) => (<EvolutionOptionCard option={option} pokemon={pokemon} hovered={() => hoveredOption() === option.speciesId} onHover={() => setHoveredOption(option.speciesId)} onLeave={() => setHoveredOption(null)} onResolve={() => properties.onResolve(choice.id, option.speciesId)} resolveSprite={properties.resolveSprite} language={properties.language}/>))}
|
|
66
|
+
</box>
|
|
67
|
+
</box>);
|
|
68
|
+
}
|
|
69
|
+
function EvolutionOptionCard(properties) {
|
|
70
|
+
return (<button alignItems="center" backgroundColor={properties.hovered() ? "#404040" : undefined} border={false} flexDirection="column" flexShrink={0} focusable width={14} padding={1} type="button" onMouseOver={properties.onHover} onMouseOut={properties.onLeave} onFocus={properties.onHover} onBlur={properties.onLeave} onMouseUp={(event) => {
|
|
71
|
+
if (event.button === MouseButton.LEFT)
|
|
72
|
+
void properties.onResolve();
|
|
73
|
+
}} onKeyDown={(event) => {
|
|
74
|
+
if (event.name === "return" || event.name === "space")
|
|
75
|
+
void properties.onResolve();
|
|
76
|
+
}}>
|
|
77
|
+
<box flexDirection="row" height={4} justifyContent="center" width="100%">
|
|
78
|
+
<Sprite compactFallback language={properties.language} resolve={properties.resolveSprite} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.option.speciesId}/>
|
|
79
|
+
</box>
|
|
80
|
+
<box flexDirection="row" justifyContent="center" width="100%">
|
|
81
|
+
<text>{properties.option.name}</text>
|
|
82
|
+
</box>
|
|
83
|
+
</button>);
|
|
84
|
+
}
|
|
85
|
+
export function RegionChoiceCard(properties) {
|
|
86
|
+
const choice = properties.choice();
|
|
87
|
+
if (choice === undefined)
|
|
88
|
+
return null;
|
|
89
|
+
const payload = decodeRegionChoiceProjection(choice.payload);
|
|
90
|
+
if (payload === null)
|
|
91
|
+
return null;
|
|
92
|
+
const [hoveredRegion, setHoveredRegion] = createSignal(null);
|
|
93
|
+
const availableRegions = () => regions(properties.language?.() ?? "en");
|
|
94
|
+
const completedRegionName = () => availableRegions().find((region) => region.id === payload.region)?.name ?? payload.region;
|
|
95
|
+
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
|
|
96
|
+
<text>{uiCopy(properties.language?.() ?? "en").regionComplete(completedRegionName())}</text>
|
|
97
|
+
<text>{uiCopy(properties.language?.() ?? "en").chooseNextRegion}</text>
|
|
98
|
+
<box flexDirection="row" flexWrap="wrap" gap={1} justifyContent="center" width="100%">
|
|
99
|
+
{availableRegions()
|
|
100
|
+
.filter((region) => region.id !== payload.region && !properties.visitedRegionIds().includes(region.id))
|
|
101
|
+
.map((region) => (<button alignItems="center" backgroundColor={hoveredRegion() === region.id ? "#404040" : undefined} border={false} flexShrink={0} focusable justifyContent="center" padding={1} type="button" width={14} onMouseOver={() => setHoveredRegion(region.id)} onMouseOut={() => setHoveredRegion(null)} onFocus={() => setHoveredRegion(region.id)} onBlur={() => setHoveredRegion(null)} onMouseUp={(event) => {
|
|
102
|
+
if (event.button === MouseButton.LEFT)
|
|
103
|
+
void properties.onTravel(region.id);
|
|
104
|
+
}} onKeyDown={(event) => {
|
|
105
|
+
if (event.name === "return" || event.name === "space") {
|
|
106
|
+
void properties.onTravel(region.id);
|
|
107
|
+
}
|
|
108
|
+
}}>
|
|
109
|
+
<text>{region.name}</text>
|
|
110
|
+
</button>))}
|
|
111
|
+
</box>
|
|
112
|
+
</box>);
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=cards.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cards.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAmB,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAE5D,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,UAAU,iBAAiB,CAAC,UAMjC;IACC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;IACzD,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CACzB;MAAA,CAAC,CAAC,YAAiD,EAAE,EAAE,CAAC,CACtD,CAAC,MAAM,CACL;UAAA,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,MAAM,CAAC,CACxC;YAAA,CAAC,cAAc,CACb,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAC3B,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CACtC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CACtD,SAAS,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACpC,aAAa,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACxC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAElC;UAAA,EAAE,KAAK,CACP;UAAA,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,WAAW,CAAC,CAC7C;YAAA,CAAC,mBAAmB,CAClB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAC3B,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CACtC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CACtD,aAAa,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACxC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,SAAS,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAE7C;UAAA,EAAE,KAAK,CACT;QAAA,EAAE,MAAM,CAAC,CACV,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAO9B;IACC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;IAClC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,OAAO,GACX,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO;QAClF,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAClF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1D,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAA;IAC1C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAA;IACtD,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,OAAO,CACL,CAAC,GAAG,CACF,UAAU,CAAC,QAAQ,CACnB,MAAM,CACN,WAAW,CAAC,SAAS,CACrB,aAAa,CAAC,QAAQ,CACtB,GAAG,CAAC,CAAC,CAAC,CAAC,CACP,OAAO,CAAC,CAAC,CAAC,CAAC,CACX,KAAK,CAAC,MAAM,CACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,CAEZ;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CACnD;QAAA,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAClC;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,MAAM,CACL,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAClC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CACrB,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CACvB,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAE/B;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CACnD;QAAA,CAAC,IAAI,EAAE,CAAC,eAAe,CACzB;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,QAAQ,CACP,QAAQ,CACR,cAAc,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CACrB,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAC5D,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAEpE;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAOnC;IACC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;IAClC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,OAAO,GACX,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO;QAClF,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAClF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,YAAY,CAAgB,IAAI,CAAC,CAAA;IAC3E,OAAO,CACL,CAAC,GAAG,CACF,UAAU,CAAC,QAAQ,CACnB,MAAM,CACN,WAAW,CAAC,SAAS,CACrB,aAAa,CAAC,QAAQ,CACtB,GAAG,CAAC,CAAC,CAAC,CAAC,CACP,OAAO,CAAC,CAAC,CAAC,CAAC,CAEX;MAAA,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CACzE;MAAA,CAAC,MAAM,CACL,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAClC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CACrB,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CACvB,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAE/B;MAAA,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAC3D;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CACnF;QAAA,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,CAAC,mBAAmB,CAClB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CACpD,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAClD,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACtC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CACnE,aAAa,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACxC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC9B,CACH,CAAC,CACJ;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,UAS5B;IACC,OAAO,CACL,CAAC,MAAM,CACL,UAAU,CAAC,QAAQ,CACnB,eAAe,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAC9D,MAAM,CAAC,CAAC,KAAK,CAAC,CACd,aAAa,CAAC,QAAQ,CACtB,UAAU,CAAC,CAAC,CAAC,CAAC,CACd,SAAS,CACT,KAAK,CAAC,CAAC,EAAE,CAAC,CACV,OAAO,CAAC,CAAC,CAAC,CAAC,CACX,IAAI,CAAC,QAAQ,CACb,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC/B,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC5B,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,SAAS,CAAC,CAAC,CAAC,KAAiB,EAAE,EAAE;YAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI;gBAAE,KAAK,UAAU,CAAC,SAAS,EAAE,CAAA;QACpE,CAAC,CAAC,CACF,SAAS,CAAC,CAAC,CAAC,KAAe,EAAE,EAAE;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,KAAK,UAAU,CAAC,SAAS,EAAE,CAAA;QACpF,CAAC,CAAC,CAEF;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CACtE;QAAA,CAAC,MAAM,CACL,eAAe,CACf,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAClC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAChC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAClC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAE3C;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC3D;QAAA,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CACtC;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,MAAM,CAAC,CACV,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAKhC;IACC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;IAClC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,YAAY,CAAgB,IAAI,CAAC,CAAA;IAC3E,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAA;IACvE,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAC/B,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAA;IAC3F,OAAO,CACL,CAAC,GAAG,CACF,UAAU,CAAC,QAAQ,CACnB,MAAM,CACN,WAAW,CAAC,SAAS,CACrB,aAAa,CAAC,QAAQ,CACtB,GAAG,CAAC,CAAC,CAAC,CAAC,CACP,OAAO,CAAC,CAAC,CAAC,CAAC,CAEX;MAAA,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,IAAI,CAC3F;MAAA,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CACtE;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CACnF;QAAA,CAAC,gBAAgB,EAAE;aAChB,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CACrF;aACA,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACf,CAAC,MAAM,CACL,UAAU,CAAC,QAAQ,CACnB,eAAe,CAAC,CAAC,aAAa,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACvE,MAAM,CAAC,CAAC,KAAK,CAAC,CACd,UAAU,CAAC,CAAC,CAAC,CAAC,CACd,SAAS,CACT,cAAc,CAAC,QAAQ,CACvB,OAAO,CAAC,CAAC,CAAC,CAAC,CACX,IAAI,CAAC,QAAQ,CACb,KAAK,CAAC,CAAC,EAAE,CAAC,CACV,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC/C,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACzC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC3C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACrC,SAAS,CAAC,CAAC,CAAC,KAAiB,EAAE,EAAE;gBAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI;oBAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC5E,CAAC,CAAC,CACF,SAAS,CAAC,CAAC,CAAC,KAAe,EAAE,EAAE;gBAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACtD,KAAK,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACrC,CAAC;YACH,CAAC,CAAC,CAEF;cAAA,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAC3B;YAAA,EAAE,MAAM,CAAC,CACV,CAAC,CACN;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { GameState } from "../../../../application/contracts/game.js";
|
|
2
|
+
import type { PendingEncounter } from "../../../../domain/encounters/encounter.js";
|
|
3
|
+
import type { SpriteResolver } from "../../../sprites/contracts.js";
|
|
4
|
+
export declare function EncounterCard(properties: {
|
|
5
|
+
readonly encounter: () => GameState["pendingEncounter"];
|
|
6
|
+
readonly mutedColor: () => string;
|
|
7
|
+
readonly hoveredAction: () => "catch" | "run" | null;
|
|
8
|
+
readonly onHover: (action: "catch" | "run" | null) => void;
|
|
9
|
+
readonly onResolve: (encounterId: string, encounter: PendingEncounter, capture: boolean) => Promise<void>;
|
|
10
|
+
readonly resolveSprite: SpriteResolver;
|
|
11
|
+
readonly language?: (() => GameState["locale"]) | undefined;
|
|
12
|
+
}): any;
|
|
13
|
+
//# sourceMappingURL=encounter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encounter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAInE,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,QAAQ,CAAC,SAAS,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAqDA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { uiCopy } from "../../../presentation/ui-copy.js";
|
|
2
|
+
import { PokecodeActionButton } from "../components/action-button.js";
|
|
3
|
+
import { Sprite } from "../components/sprite.js";
|
|
4
|
+
export function EncounterCard(properties) {
|
|
5
|
+
const encounter = properties.encounter();
|
|
6
|
+
if (encounter === null)
|
|
7
|
+
return null;
|
|
8
|
+
const genderSymbol = encounter.gender === "male" ? "♂" : encounter.gender === "female" ? "♀" : "—";
|
|
9
|
+
const copy = uiCopy(properties.language?.() ?? "en");
|
|
10
|
+
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
|
|
11
|
+
<box flexDirection="row">
|
|
12
|
+
<text fg={properties.encounter()?.caught ? "#22c55e" : properties.mutedColor()}>● </text>
|
|
13
|
+
<text>
|
|
14
|
+
{copy.encounter({
|
|
15
|
+
genderSymbol,
|
|
16
|
+
kind: encounter.kind,
|
|
17
|
+
level: encounter.level,
|
|
18
|
+
name: encounter.name,
|
|
19
|
+
shiny: encounter.shiny,
|
|
20
|
+
})}
|
|
21
|
+
</text>
|
|
22
|
+
</box>
|
|
23
|
+
<Sprite language={properties.language} resolve={properties.resolveSprite} shiny={encounter.shiny} gender={encounter.gender} speciesId={encounter.speciesId}/>
|
|
24
|
+
<box flexDirection="row" gap={1} justifyContent="center">
|
|
25
|
+
<PokecodeActionButton hovered={() => properties.hoveredAction() === "catch"} label={copy.catch} onActivate={() => properties.onResolve(encounter.id, encounter, true)} onHover={() => properties.onHover("catch")} onLeave={() => properties.onHover(null)} tone="primary"/>
|
|
26
|
+
<PokecodeActionButton hovered={() => properties.hoveredAction() === "run"} label={copy.run} onActivate={() => properties.onResolve(encounter.id, encounter, false)} onHover={() => properties.onHover("run")} onLeave={() => properties.onHover(null)} tone="secondary"/>
|
|
27
|
+
</box>
|
|
28
|
+
</box>);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=encounter.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encounter.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import type { ChoiceResolutionResult, EncounterResolutionResult, EvolutionChoiceInput, LocationTravelInput, LocationTravelResult, MoveChoiceInput, PartyReplacementInput, PartyReplacementResult, PokemonCollection, PokemonDex, PokemonManagementResult, PokemonReleaseInput, PokemonRenameInput, RegionTravelInput, RegionTravelResult, StarterChoiceInput, StarterChoiceResult, TeamExport } from "../../../application/contracts/game.js";
|
|
2
|
+
import { type GameState } from "../../../application/contracts/game.js";
|
|
3
|
+
import type { SpriteInput, SpriteResolution } from "../../sprites/contracts.js";
|
|
4
|
+
export type EncounterResolutionInput = {
|
|
5
|
+
readonly encounterId: string;
|
|
6
|
+
};
|
|
7
|
+
/** Explicit transport surface for the PokéCode RPC methods consumed by the TUI. */
|
|
8
|
+
export interface PokemonTuiRpcTransport {
|
|
9
|
+
status(input: Record<string, never>): Promise<unknown>;
|
|
10
|
+
chooseStarter(input: StarterChoiceInput): Promise<unknown>;
|
|
11
|
+
travelTo(input: LocationTravelInput): Promise<unknown>;
|
|
12
|
+
travelToRegion(input: RegionTravelInput): Promise<unknown>;
|
|
13
|
+
catchEncounter(input: EncounterResolutionInput): Promise<unknown>;
|
|
14
|
+
runEncounter(input: EncounterResolutionInput): Promise<unknown>;
|
|
15
|
+
collection(input: Record<string, never>): Promise<unknown>;
|
|
16
|
+
dex(input: Record<string, never>): Promise<unknown>;
|
|
17
|
+
exportTeam(input: Record<string, never>): Promise<unknown>;
|
|
18
|
+
sprite(input: SpriteInput): Promise<unknown>;
|
|
19
|
+
replaceParty(input: PartyReplacementInput): Promise<unknown>;
|
|
20
|
+
renamePokemon(input: PokemonRenameInput): Promise<unknown>;
|
|
21
|
+
releasePokemon(input: PokemonReleaseInput): Promise<unknown>;
|
|
22
|
+
resolveMoveChoice(input: MoveChoiceInput): Promise<unknown>;
|
|
23
|
+
resolveEvolutionChoice(input: EvolutionChoiceInput): Promise<unknown>;
|
|
24
|
+
dismissNextRegionChoice(input: Record<string, never>): Promise<unknown>;
|
|
25
|
+
reopenNextRegionChoice(input: Record<string, never>): Promise<unknown>;
|
|
26
|
+
readonly events: {
|
|
27
|
+
on(event: "statusChanged", listener: (event: {
|
|
28
|
+
readonly data: unknown;
|
|
29
|
+
}) => void): () => void;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** Parsed RPC facade: every response and event is decoded exactly once at this boundary. */
|
|
33
|
+
export declare function createPokemonTuiClient(transport: PokemonTuiRpcTransport): {
|
|
34
|
+
status: (input?: Record<string, never>) => Promise<{
|
|
35
|
+
phase: "onboarding" | "active";
|
|
36
|
+
locale: "en" | "es";
|
|
37
|
+
message: string;
|
|
38
|
+
region: string | null;
|
|
39
|
+
location: string | null;
|
|
40
|
+
party: {
|
|
41
|
+
position: number;
|
|
42
|
+
pokemon: {
|
|
43
|
+
id: string & import("zod").$brand<"PokemonId">;
|
|
44
|
+
speciesId: string & import("zod").$brand<"SpeciesId">;
|
|
45
|
+
name: string;
|
|
46
|
+
gender: "male" | "female" | "genderless";
|
|
47
|
+
level: number;
|
|
48
|
+
experience: number;
|
|
49
|
+
ability: string;
|
|
50
|
+
nature: string;
|
|
51
|
+
shiny: boolean;
|
|
52
|
+
ivs: {
|
|
53
|
+
hp: number;
|
|
54
|
+
attack: number;
|
|
55
|
+
defense: number;
|
|
56
|
+
specialAttack: number;
|
|
57
|
+
specialDefense: number;
|
|
58
|
+
speed: number;
|
|
59
|
+
};
|
|
60
|
+
evs: {
|
|
61
|
+
hp: 0;
|
|
62
|
+
attack: 0;
|
|
63
|
+
defense: 0;
|
|
64
|
+
specialAttack: 0;
|
|
65
|
+
specialDefense: 0;
|
|
66
|
+
speed: 0;
|
|
67
|
+
};
|
|
68
|
+
moves: {
|
|
69
|
+
id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
}[];
|
|
72
|
+
} | null;
|
|
73
|
+
}[];
|
|
74
|
+
pendingChoices: {
|
|
75
|
+
id: string;
|
|
76
|
+
kind: string;
|
|
77
|
+
payload: string;
|
|
78
|
+
}[];
|
|
79
|
+
pendingEncounterCount: number;
|
|
80
|
+
choicePokemon: {
|
|
81
|
+
id: string & import("zod").$brand<"PokemonId">;
|
|
82
|
+
speciesId: string & import("zod").$brand<"SpeciesId">;
|
|
83
|
+
name: string;
|
|
84
|
+
gender: "male" | "female" | "genderless";
|
|
85
|
+
level: number;
|
|
86
|
+
experience: number;
|
|
87
|
+
ability: string;
|
|
88
|
+
nature: string;
|
|
89
|
+
shiny: boolean;
|
|
90
|
+
ivs: {
|
|
91
|
+
hp: number;
|
|
92
|
+
attack: number;
|
|
93
|
+
defense: number;
|
|
94
|
+
specialAttack: number;
|
|
95
|
+
specialDefense: number;
|
|
96
|
+
speed: number;
|
|
97
|
+
};
|
|
98
|
+
evs: {
|
|
99
|
+
hp: 0;
|
|
100
|
+
attack: 0;
|
|
101
|
+
defense: 0;
|
|
102
|
+
specialAttack: 0;
|
|
103
|
+
specialDefense: 0;
|
|
104
|
+
speed: 0;
|
|
105
|
+
};
|
|
106
|
+
moves: {
|
|
107
|
+
id: string;
|
|
108
|
+
name: string;
|
|
109
|
+
}[];
|
|
110
|
+
}[];
|
|
111
|
+
pendingEncounter: {
|
|
112
|
+
id: string;
|
|
113
|
+
kind: "special" | "ordinary";
|
|
114
|
+
speciesId: string & import("zod").$brand<"SpeciesId">;
|
|
115
|
+
name: string;
|
|
116
|
+
level: number;
|
|
117
|
+
gender: "male" | "female" | "genderless";
|
|
118
|
+
shiny: boolean;
|
|
119
|
+
spriteUrl: string;
|
|
120
|
+
caught: boolean;
|
|
121
|
+
} | null;
|
|
122
|
+
exploration: {
|
|
123
|
+
regions: {
|
|
124
|
+
id: string;
|
|
125
|
+
name: string;
|
|
126
|
+
visited: boolean;
|
|
127
|
+
completed: boolean;
|
|
128
|
+
locations: {
|
|
129
|
+
id: string & import("zod").$brand<"LocationId">;
|
|
130
|
+
name: string;
|
|
131
|
+
unlocked: boolean;
|
|
132
|
+
encounterless: boolean;
|
|
133
|
+
}[];
|
|
134
|
+
}[];
|
|
135
|
+
locations: {
|
|
136
|
+
id: string & import("zod").$brand<"LocationId">;
|
|
137
|
+
name: string;
|
|
138
|
+
unlocked: boolean;
|
|
139
|
+
encounterless: boolean;
|
|
140
|
+
}[];
|
|
141
|
+
locationUnlockProgress: number;
|
|
142
|
+
locationUnlockThreshold: number;
|
|
143
|
+
regionComplete: boolean;
|
|
144
|
+
} | null;
|
|
145
|
+
}>;
|
|
146
|
+
chooseStarter: (input: StarterChoiceInput) => Promise<StarterChoiceResult>;
|
|
147
|
+
travelTo: (input: LocationTravelInput) => Promise<LocationTravelResult>;
|
|
148
|
+
travelToRegion: (input: RegionTravelInput) => Promise<RegionTravelResult>;
|
|
149
|
+
catchEncounter: (input: EncounterResolutionInput) => Promise<EncounterResolutionResult>;
|
|
150
|
+
runEncounter: (input: EncounterResolutionInput) => Promise<EncounterResolutionResult>;
|
|
151
|
+
collection: (input?: Record<string, never>) => Promise<PokemonCollection>;
|
|
152
|
+
dex: (input?: Record<string, never>) => Promise<PokemonDex>;
|
|
153
|
+
exportTeam: (input?: Record<string, never>) => Promise<TeamExport>;
|
|
154
|
+
sprite: (input: SpriteInput) => Promise<SpriteResolution>;
|
|
155
|
+
replaceParty: (input: PartyReplacementInput) => Promise<PartyReplacementResult>;
|
|
156
|
+
renamePokemon: (input: PokemonRenameInput) => Promise<PokemonManagementResult>;
|
|
157
|
+
releasePokemon: (input: PokemonReleaseInput) => Promise<PokemonManagementResult>;
|
|
158
|
+
resolveMoveChoice: (input: MoveChoiceInput) => Promise<ChoiceResolutionResult>;
|
|
159
|
+
resolveEvolutionChoice: (input: EvolutionChoiceInput) => Promise<ChoiceResolutionResult>;
|
|
160
|
+
dismissNextRegionChoice: (input?: Record<string, never>) => Promise<GameState>;
|
|
161
|
+
reopenNextRegionChoice: (input?: Record<string, never>) => Promise<GameState>;
|
|
162
|
+
onStatusChanged(listener: (state: GameState) => void): () => void;
|
|
163
|
+
};
|
|
164
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/adapters/opencode/tui/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { choiceResolutionResultSchema, encounterResolutionResultSchema, gameStateSchema, locationTravelResultSchema, partyReplacementResultSchema, pokemonCollectionSchema, pokemonDexSchema, pokemonManagementResultSchema, regionTravelResultSchema, starterChoiceResultSchema, teamExportSchema, } from "../../../application/contracts/game.js";
|
|
2
|
+
import { spriteResolutionSchema } from "../../sprites/contracts.js";
|
|
3
|
+
/** Parsed RPC facade: every response and event is decoded exactly once at this boundary. */
|
|
4
|
+
export function createPokemonTuiClient(transport) {
|
|
5
|
+
return {
|
|
6
|
+
status: async (input = {}) => gameStateSchema.parse(await transport.status(input)),
|
|
7
|
+
chooseStarter: async (input) => starterChoiceResultSchema.parse(await transport.chooseStarter(input)),
|
|
8
|
+
travelTo: async (input) => locationTravelResultSchema.parse(await transport.travelTo(input)),
|
|
9
|
+
travelToRegion: async (input) => regionTravelResultSchema.parse(await transport.travelToRegion(input)),
|
|
10
|
+
catchEncounter: async (input) => encounterResolutionResultSchema.parse(await transport.catchEncounter(input)),
|
|
11
|
+
runEncounter: async (input) => encounterResolutionResultSchema.parse(await transport.runEncounter(input)),
|
|
12
|
+
collection: async (input = {}) => pokemonCollectionSchema.parse(await transport.collection(input)),
|
|
13
|
+
dex: async (input = {}) => pokemonDexSchema.parse(await transport.dex(input)),
|
|
14
|
+
exportTeam: async (input = {}) => teamExportSchema.parse(await transport.exportTeam(input)),
|
|
15
|
+
sprite: async (input) => spriteResolutionSchema.parse(await transport.sprite(input)),
|
|
16
|
+
replaceParty: async (input) => partyReplacementResultSchema.parse(await transport.replaceParty(input)),
|
|
17
|
+
renamePokemon: async (input) => pokemonManagementResultSchema.parse(await transport.renamePokemon(input)),
|
|
18
|
+
releasePokemon: async (input) => pokemonManagementResultSchema.parse(await transport.releasePokemon(input)),
|
|
19
|
+
resolveMoveChoice: async (input) => choiceResolutionResultSchema.parse(await transport.resolveMoveChoice(input)),
|
|
20
|
+
resolveEvolutionChoice: async (input) => choiceResolutionResultSchema.parse(await transport.resolveEvolutionChoice(input)),
|
|
21
|
+
dismissNextRegionChoice: async (input = {}) => gameStateSchema.parse(await transport.dismissNextRegionChoice(input)),
|
|
22
|
+
reopenNextRegionChoice: async (input = {}) => gameStateSchema.parse(await transport.reopenNextRegionChoice(input)),
|
|
23
|
+
onStatusChanged(listener) {
|
|
24
|
+
return transport.events.on("statusChanged", (event) => {
|
|
25
|
+
listener(gameStateSchema.parse(event.data));
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/adapters/opencode/tui/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { GameState } from "../../../../application/contracts/game.js";
|
|
2
|
+
export declare function LocationsCommand(properties: {
|
|
3
|
+
readonly enabled: () => boolean;
|
|
4
|
+
readonly language: () => GameState["locale"];
|
|
5
|
+
readonly onChoose: () => Promise<void>;
|
|
6
|
+
}): null;
|
|
7
|
+
export declare function DexCommand(properties: {
|
|
8
|
+
readonly language: () => GameState["locale"];
|
|
9
|
+
readonly onChoose: () => Promise<void>;
|
|
10
|
+
}): null;
|
|
11
|
+
export declare function PcCommand(properties: {
|
|
12
|
+
readonly enabled: () => boolean;
|
|
13
|
+
readonly language: () => GameState["locale"];
|
|
14
|
+
readonly onChoose: () => Promise<void>;
|
|
15
|
+
}): null;
|
|
16
|
+
export declare function ExportCommand(properties: {
|
|
17
|
+
readonly enabled: () => boolean;
|
|
18
|
+
readonly language: () => GameState["locale"];
|
|
19
|
+
readonly onExport: () => Promise<void>;
|
|
20
|
+
}): null;
|
|
21
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/commands/commands.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAG1E,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,QAkBA;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,QAiBA;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,QAkBA;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,QAkBA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { usePlugin } from "@opencode/plugin/tui";
|
|
2
|
+
import { uiCopy } from "../../../presentation/ui-copy.js";
|
|
3
|
+
export function LocationsCommand(properties) {
|
|
4
|
+
const context = usePlugin();
|
|
5
|
+
context.keymap.layer(() => ({
|
|
6
|
+
mode: "global",
|
|
7
|
+
priority: 10,
|
|
8
|
+
commands: [
|
|
9
|
+
{
|
|
10
|
+
id: "pokecode.locations",
|
|
11
|
+
title: uiCopy(properties.language()).locationsCommand,
|
|
12
|
+
group: uiCopy(properties.language()).commandGroup,
|
|
13
|
+
palette: true,
|
|
14
|
+
slash: { name: "pokecode-locations" },
|
|
15
|
+
enabled: properties.enabled,
|
|
16
|
+
run: properties.onChoose,
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
}));
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
export function DexCommand(properties) {
|
|
23
|
+
const context = usePlugin();
|
|
24
|
+
context.keymap.layer(() => ({
|
|
25
|
+
mode: "global",
|
|
26
|
+
priority: 10,
|
|
27
|
+
commands: [
|
|
28
|
+
{
|
|
29
|
+
id: "pokecode.dex",
|
|
30
|
+
title: uiCopy(properties.language()).dexCommand,
|
|
31
|
+
group: uiCopy(properties.language()).commandGroup,
|
|
32
|
+
palette: true,
|
|
33
|
+
slash: { name: "pokecode-dex" },
|
|
34
|
+
run: properties.onChoose,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
}));
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
export function PcCommand(properties) {
|
|
41
|
+
const context = usePlugin();
|
|
42
|
+
context.keymap.layer(() => ({
|
|
43
|
+
mode: "global",
|
|
44
|
+
priority: 10,
|
|
45
|
+
commands: [
|
|
46
|
+
{
|
|
47
|
+
id: "pokecode.pc",
|
|
48
|
+
title: uiCopy(properties.language()).pcCommand,
|
|
49
|
+
group: uiCopy(properties.language()).commandGroup,
|
|
50
|
+
palette: true,
|
|
51
|
+
slash: { name: "pokecode-pc" },
|
|
52
|
+
enabled: properties.enabled,
|
|
53
|
+
run: properties.onChoose,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
}));
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
export function ExportCommand(properties) {
|
|
60
|
+
const context = usePlugin();
|
|
61
|
+
context.keymap.layer(() => ({
|
|
62
|
+
mode: "global",
|
|
63
|
+
priority: 10,
|
|
64
|
+
commands: [
|
|
65
|
+
{
|
|
66
|
+
id: "pokecode.export",
|
|
67
|
+
title: uiCopy(properties.language()).exportCommand,
|
|
68
|
+
group: uiCopy(properties.language()).commandGroup,
|
|
69
|
+
palette: true,
|
|
70
|
+
slash: { name: "pokecode-export" },
|
|
71
|
+
enabled: properties.enabled,
|
|
72
|
+
run: properties.onExport,
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
}));
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=commands.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/commands/commands.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const bold: number;
|
|
2
|
+
type ActionTone = "primary" | "secondary" | "success";
|
|
3
|
+
export declare function PokecodeActionButton(properties: {
|
|
4
|
+
readonly hovered: () => boolean;
|
|
5
|
+
readonly label: string;
|
|
6
|
+
readonly onActivate: () => Promise<void>;
|
|
7
|
+
readonly onHover: () => void;
|
|
8
|
+
readonly onLeave: () => void;
|
|
9
|
+
readonly tone: ActionTone;
|
|
10
|
+
}): any;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=action-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,QAAuC,CAAA;AAExD,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAErD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B,OAwBA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createTextAttributes } from "@opentui/core";
|
|
2
|
+
export const bold = createTextAttributes({ bold: true });
|
|
3
|
+
export function PokecodeActionButton(properties) {
|
|
4
|
+
const colors = {
|
|
5
|
+
primary: { base: "#2563eb", hovered: "#1d4ed8" },
|
|
6
|
+
secondary: { base: "#6b7280", hovered: "#4b5563" },
|
|
7
|
+
success: { base: "#16a34a", hovered: "#15803d" },
|
|
8
|
+
}[properties.tone];
|
|
9
|
+
return (<button alignItems="center" backgroundColor={properties.hovered() ? colors.hovered : colors.base} focusable justifyContent="center" paddingLeft={2} paddingRight={2} type="button" onBlur={properties.onLeave} onFocus={properties.onHover} onMouseOut={properties.onLeave} onMouseOver={properties.onHover} onMouseUp={() => void properties.onActivate()}>
|
|
10
|
+
<text fg="#ffffff">{properties.label}</text>
|
|
11
|
+
</button>);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=action-button.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-button.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAIxD,MAAM,UAAU,oBAAoB,CAAC,UAOpC;IACC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QAChD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QAClD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;KACjD,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,OAAO,CACL,CAAC,MAAM,CACL,UAAU,CAAC,QAAQ,CACnB,eAAe,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACrE,SAAS,CACT,cAAc,CAAC,QAAQ,CACvB,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,YAAY,CAAC,CAAC,CAAC,CAAC,CAChB,IAAI,CAAC,QAAQ,CACb,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC5B,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC/B,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC,CAE9C;MAAA,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAC7C;IAAA,EAAE,MAAM,CAAC,CACV,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Move } from "../../../../domain/pokemon/types.js";
|
|
2
|
+
import type { Language } from "../../../../domain/shared/language.js";
|
|
3
|
+
import "../controls/native.js";
|
|
4
|
+
export declare function MoveList(properties: {
|
|
5
|
+
readonly moves: readonly Move[];
|
|
6
|
+
readonly language: Language;
|
|
7
|
+
readonly offeredMoveId?: string;
|
|
8
|
+
readonly height?: number;
|
|
9
|
+
readonly centered?: boolean;
|
|
10
|
+
readonly leftAlignMoves?: boolean;
|
|
11
|
+
readonly onActivate?: (moveId: string) => Promise<void>;
|
|
12
|
+
}): any;
|
|
13
|
+
//# sourceMappingURL=move-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-list.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,uBAAuB,CAAA;AAE9B,wBAAgB,QAAQ,CAAC,UAAU,EAAE;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD,OA4JA"}
|