@maka/maka-cli 5.127.0 → 5.129.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/bundle/typescript/package.json +8 -6
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +24 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +11 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +7 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +53 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +11 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.js +6 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +4 -2
- package/bundle/typescript/src/commands/game/sideQuest/game.js +10 -3
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +108 -38
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sustaining.js +36 -0
- package/bundle/typescript/src/commands/profile.js +10 -2
- package/package.json +8 -6
- package/bundle/typescript/src/command.d.ts +0 -37
- package/bundle/typescript/src/command.js.map +0 -1
- package/bundle/typescript/src/commands/_index.d.ts +0 -28
- package/bundle/typescript/src/commands/_index.js.map +0 -1
- package/bundle/typescript/src/commands/aws/_index.d.ts +0 -16
- package/bundle/typescript/src/commands/aws/_index.js.map +0 -1
- package/bundle/typescript/src/commands/aws/aws.command.d.ts +0 -3
- package/bundle/typescript/src/commands/aws/aws.command.js.map +0 -1
- package/bundle/typescript/src/commands/aws/cecr.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/cecr.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/chz.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/chz.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/ci.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/ci.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/ckp.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/ckp.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/csg.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/csg.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/decr.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/decr.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/di.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/di.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/dkp.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/dkp.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/dsg.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/dsg.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/lecr.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/lecr.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/rbi.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/rbi.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/rdn.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/rdn.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/rkp.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/rkp.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/sth.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/sth.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/aws/ti.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/aws/ti.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/build/_index.d.ts +0 -2
- package/bundle/typescript/src/commands/build/_index.js.map +0 -1
- package/bundle/typescript/src/commands/build/build.d.ts +0 -3
- package/bundle/typescript/src/commands/build/build.js.map +0 -1
- package/bundle/typescript/src/commands/build/docker.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/build/docker.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/create.d.ts +0 -1
- package/bundle/typescript/src/commands/create.js.map +0 -1
- package/bundle/typescript/src/commands/debug.d.ts +0 -1
- package/bundle/typescript/src/commands/debug.js.map +0 -1
- package/bundle/typescript/src/commands/deploy/_index.d.ts +0 -4
- package/bundle/typescript/src/commands/deploy/_index.js.map +0 -1
- package/bundle/typescript/src/commands/deploy/deploy.command.d.ts +0 -3
- package/bundle/typescript/src/commands/deploy/deploy.command.js.map +0 -1
- package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/env/_index.d.ts +0 -3
- package/bundle/typescript/src/commands/env/_index.js.map +0 -1
- package/bundle/typescript/src/commands/env/env.command.d.ts +0 -3
- package/bundle/typescript/src/commands/env/env.command.js.map +0 -1
- package/bundle/typescript/src/commands/env/get.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/env/get.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/env/prompt-for-env.d.ts +0 -10
- package/bundle/typescript/src/commands/env/prompt-for-env.js.map +0 -1
- package/bundle/typescript/src/commands/env/set.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/env/set.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/game/_index.d.ts +0 -2
- package/bundle/typescript/src/commands/game/_index.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +0 -71
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +0 -160
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/aspects.d.ts +0 -68
- package/bundle/typescript/src/commands/game/sideQuest/aspects.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +0 -207
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/abandon.d.ts +0 -30
- package/bundle/typescript/src/commands/game/sideQuest/commands/abandon.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.d.ts +0 -26
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ar.d.ts +0 -34
- package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.d.ts +0 -65
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.d.ts +0 -42
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.d.ts +0 -199
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.d.ts +0 -59
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/brandish.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/commands/brandish.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.d.ts +0 -39
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.d.ts +0 -28
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.d.ts +0 -64
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.d.ts +0 -72
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +0 -119
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/climb.d.ts +0 -48
- package/bundle/typescript/src/commands/game/sideQuest/commands/climb.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.d.ts +0 -19
- package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/command.d.ts +0 -63
- package/bundle/typescript/src/commands/game/sideQuest/commands/command.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.d.ts +0 -69
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/compile.d.ts +0 -65
- package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.d.ts +0 -18
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/container-verbs.d.ts +0 -18
- package/bundle/typescript/src/commands/game/sideQuest/commands/container-verbs.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cover.d.ts +0 -30
- package/bundle/typescript/src/commands/game/sideQuest/commands/cover.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/crew.d.ts +0 -46
- package/bundle/typescript/src/commands/game/sideQuest/commands/crew.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/deck.d.ts +0 -42
- package/bundle/typescript/src/commands/game/sideQuest/commands/deck.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.d.ts +0 -61
- package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.d.ts +0 -23
- package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.d.ts +0 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/download.d.ts +0 -46
- package/bundle/typescript/src/commands/game/sideQuest/commands/download.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drink.d.ts +0 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/drink.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.d.ts +0 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drop.d.ts +0 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/eat.d.ts +0 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/eat.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/edge.d.ts +0 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/edge.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/emote.d.ts +0 -17
- package/bundle/typescript/src/commands/game/sideQuest/commands/emote.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.d.ts +0 -59
- package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.d.ts +0 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.d.ts +0 -23
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/fit.d.ts +0 -29
- package/bundle/typescript/src/commands/game/sideQuest/commands/fit.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/follow.d.ts +0 -37
- package/bundle/typescript/src/commands/game/sideQuest/commands/follow.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/garage.d.ts +0 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/garage.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.d.ts +0 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +0 -88
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.d.ts +0 -38
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +0 -103
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/heal.d.ts +0 -53
- package/bundle/typescript/src/commands/game/sideQuest/commands/heal.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hints.d.ts +0 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/hints.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hop.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.d.ts +0 -36
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jackpoint.d.ts +0 -24
- package/bundle/typescript/src/commands/game/sideQuest/commands/jackpoint.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/job-offer.d.ts +0 -38
- package/bundle/typescript/src/commands/game/sideQuest/commands/job-offer.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.d.ts +0 -12
- package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/journal.d.ts +0 -44
- package/bundle/typescript/src/commands/game/sideQuest/commands/journal.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/kill.d.ts +0 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/kill.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.d.ts +0 -40
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.d.ts +0 -23
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lock.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/lock.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.d.ts +0 -62
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/loot.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/commands/loot.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.d.ts +0 -26
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.d.ts +0 -27
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/message.d.ts +0 -44
- package/bundle/typescript/src/commands/game/sideQuest/commands/message.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.d.ts +0 -194
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.d.ts +0 -99
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.d.ts +0 -19
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/overwatch.d.ts +0 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/overwatch.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/palm.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/commands/palm.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.d.ts +0 -12
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pay.d.ts +0 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/pay.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/perform.d.ts +0 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/perform.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.d.ts +0 -18
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.d.ts +0 -43
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/players.d.ts +0 -12
- package/bundle/typescript/src/commands/game/sideQuest/commands/players.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/posture.d.ts +0 -45
- package/bundle/typescript/src/commands/game/sideQuest/commands/posture.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/project.d.ts +0 -19
- package/bundle/typescript/src/commands/game/sideQuest/commands/project.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/read.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/read.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.d.ts +0 -12
- package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/register.d.ts +0 -29
- package/bundle/typescript/src/commands/game/sideQuest/commands/register.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/reload.d.ts +0 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.d.ts +0 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/review.d.ts +0 -39
- package/bundle/typescript/src/commands/game/sideQuest/commands/review.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/roles.d.ts +0 -34
- package/bundle/typescript/src/commands/game/sideQuest/commands/roles.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.d.ts +0 -30
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.d.ts +0 -17
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.d.ts +0 -24
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.d.ts +0 -28
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.d.ts +0 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.d.ts +0 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.d.ts +0 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.d.ts +0 -35
- package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.d.ts +0 -22
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/standby.d.ts +0 -40
- package/bundle/typescript/src/commands/game/sideQuest/commands/standby.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/store.d.ts +0 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/store.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.d.ts +0 -19
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.d.ts +0 -20
- package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.d.ts +0 -60
- package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.d.ts +0 -17
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/talk.d.ts +0 -56
- package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.d.ts +0 -52
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.d.ts +0 -89
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/time.d.ts +0 -20
- package/bundle/typescript/src/commands/game/sideQuest/commands/time.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/treat.d.ts +0 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/treat.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.d.ts +0 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.d.ts +0 -57
- package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.d.ts +0 -83
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/work.d.ts +0 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/work.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +0 -19
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +0 -170
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/command-factory.d.ts +0 -9
- package/bundle/typescript/src/commands/game/sideQuest/factories/command-factory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.d.ts +0 -5
- package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.d.ts +0 -9
- package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/npc-spread.d.ts +0 -50
- package/bundle/typescript/src/commands/game/sideQuest/factories/npc-spread.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.d.ts +0 -87
- package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.d.ts +0 -34
- package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +0 -414
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.d.ts +0 -46
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.d.ts +0 -223
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/seed-migration.d.ts +0 -30
- package/bundle/typescript/src/commands/game/sideQuest/factories/seed-migration.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +0 -1677
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.d.ts +0 -119
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless.d.ts +0 -102
- package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.d.ts +0 -32
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +0 -55
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.d.ts +0 -15
- package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/_index.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/models/_index.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/container.d.ts +0 -78
- package/bundle/typescript/src/commands/game/sideQuest/models/container.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/device.d.ts +0 -265
- package/bundle/typescript/src/commands/game/sideQuest/models/device.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/door.d.ts +0 -53
- package/bundle/typescript/src/commands/game/sideQuest/models/door.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.d.ts +0 -36
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/host.d.ts +0 -80
- package/bundle/typescript/src/commands/game/sideQuest/models/host.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/inventory.d.ts +0 -70
- package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +0 -446
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +0 -508
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +0 -1883
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +0 -489
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +0 -331
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +0 -224
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.d.ts +0 -108
- package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/_index.d.ts +0 -0
- package/bundle/typescript/src/commands/game/sideQuest/scenes/_index.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.d.ts +0 -130
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/skills.d.ts +0 -17
- package/bundle/typescript/src/commands/game/sideQuest/skills.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +0 -135
- package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.d.ts +0 -88
- package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/enums.d.ts +0 -47
- package/bundle/typescript/src/commands/game/sideQuest/types/enums.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/player-equipment.d.ts +0 -59
- package/bundle/typescript/src/commands/game/sideQuest/types/player-equipment.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/repro.d.ts +0 -379
- package/bundle/typescript/src/commands/game/sideQuest/types/repro.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +0 -478
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/device-seed.d.ts +0 -81
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/device-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/exit-seed.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/exit-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.d.ts +0 -43
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/legacy-puzzle-seed.d.ts +0 -63
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/legacy-puzzle-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/lifestyle-seed.d.ts +0 -22
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/lifestyle-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/npc-seed.d.ts +0 -7
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/npc-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.d.ts +0 -69
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +0 -42
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +0 -56
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.d.ts +0 -15
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.d.ts +0 -126
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/direction-enum.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/direction-enum.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/equipment-enum.d.ts +0 -31
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/equipment-enum.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.d.ts +0 -74
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/ui.d.ts +0 -44
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/affordances.d.ts +0 -55
- package/bundle/typescript/src/commands/game/sideQuest/utilities/affordances.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/alarmed-staff.d.ts +0 -116
- package/bundle/typescript/src/commands/game/sideQuest/utilities/alarmed-staff.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.d.ts +0 -96
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.d.ts +0 -69
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-dump.d.ts +0 -27
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-dump.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.d.ts +0 -131
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.d.ts +0 -100
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.d.ts +0 -308
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/barrier-combat.d.ts +0 -38
- package/bundle/typescript/src/commands/game/sideQuest/utilities/barrier-combat.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/brand-mark.d.ts +0 -26
- package/bundle/typescript/src/commands/game/sideQuest/utilities/brand-mark.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/bystander.d.ts +0 -17
- package/bundle/typescript/src/commands/game/sideQuest/utilities/bystander.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/canon-lore.d.ts +0 -7
- package/bundle/typescript/src/commands/game/sideQuest/utilities/canon-lore.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +0 -341
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +0 -399
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.d.ts +0 -272
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +0 -212
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.d.ts +0 -61
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/command-queue.d.ts +0 -19
- package/bundle/typescript/src/commands/game/sideQuest/utilities/command-queue.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +0 -102
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commit-ref.d.ts +0 -13
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commit-ref.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/condition-report.d.ts +0 -40
- package/bundle/typescript/src/commands/game/sideQuest/utilities/condition-report.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/crash-evidence.d.ts +0 -53
- package/bundle/typescript/src/commands/game/sideQuest/utilities/crash-evidence.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/credentials.d.ts +0 -26
- package/bundle/typescript/src/commands/game/sideQuest/utilities/credentials.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ddp-lite.d.ts +0 -75
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ddp-lite.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/detach-args.d.ts +0 -66
- package/bundle/typescript/src/commands/game/sideQuest/utilities/detach-args.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/devices.d.ts +0 -23
- package/bundle/typescript/src/commands/game/sideQuest/utilities/devices.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.d.ts +0 -137
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/docwagon.d.ts +0 -33
- package/bundle/typescript/src/commands/game/sideQuest/utilities/docwagon.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.d.ts +0 -76
- package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.d.ts +0 -248
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/emitter.d.ts +0 -44
- package/bundle/typescript/src/commands/game/sideQuest/utilities/emitter.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.d.ts +0 -230
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.d.ts +0 -124
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.d.ts +0 -129
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/generation-capture.d.ts +0 -94
- package/bundle/typescript/src/commands/game/sideQuest/utilities/generation-capture.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grapple.d.ts +0 -36
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grapple.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-names.d.ts +0 -63
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-names.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-reach.d.ts +0 -58
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-reach.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +0 -65
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grids.d.ts +0 -72
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grids.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/handoff.d.ts +0 -42
- package/bundle/typescript/src/commands/game/sideQuest/utilities/handoff.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/harm-note.d.ts +0 -25
- package/bundle/typescript/src/commands/game/sideQuest/utilities/harm-note.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/harm-settlement.d.ts +0 -29
- package/bundle/typescript/src/commands/game/sideQuest/utilities/harm-settlement.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ic-actors.d.ts +0 -9
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ic-actors.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.d.ts +0 -186
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/identity.d.ts +0 -62
- package/bundle/typescript/src/commands/game/sideQuest/utilities/identity.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.d.ts +0 -100
- package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/jackpoint.d.ts +0 -83
- package/bundle/typescript/src/commands/game/sideQuest/utilities/jackpoint.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.d.ts +0 -50
- package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.d.ts +0 -83
- package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.d.ts +0 -52
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.d.ts +0 -33
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logo-mark.d.ts +0 -52
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logo-mark.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.d.ts +0 -89
- package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/marks.d.ts +0 -60
- package/bundle/typescript/src/commands/game/sideQuest/utilities/marks.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.d.ts +0 -121
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-roster.d.ts +0 -62
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-roster.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/meet-location.d.ts +0 -37
- package/bundle/typescript/src/commands/game/sideQuest/utilities/meet-location.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/outdoors.d.ts +0 -35
- package/bundle/typescript/src/commands/game/sideQuest/utilities/outdoors.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/overwatch.d.ts +0 -34
- package/bundle/typescript/src/commands/game/sideQuest/utilities/overwatch.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.d.ts +0 -39
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.d.ts +0 -76
- package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.d.ts +0 -141
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +0 -290
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/playtester.d.ts +0 -50
- package/bundle/typescript/src/commands/game/sideQuest/utilities/playtester.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/prefs.d.ts +0 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/prefs.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.d.ts +0 -93
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/presence-gate.d.ts +0 -21
- package/bundle/typescript/src/commands/game/sideQuest/utilities/presence-gate.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/programs.d.ts +0 -55
- package/bundle/typescript/src/commands/game/sideQuest/utilities/programs.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.d.ts +0 -16
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.d.ts +0 -28
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/repro-launch.d.ts +0 -84
- package/bundle/typescript/src/commands/game/sideQuest/utilities/repro-launch.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.d.ts +0 -305
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.d.ts +0 -101
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-context.d.ts +0 -28
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-context.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-legs.d.ts +0 -74
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-legs.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-lock.d.ts +0 -18
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-lock.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-telemetry.d.ts +0 -25
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-telemetry.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.d.ts +0 -451
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.d.ts +0 -124
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/social.d.ts +0 -28
- package/bundle/typescript/src/commands/game/sideQuest/utilities/social.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/splash.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/utilities/splash.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +0 -679
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/street-gang.d.ts +0 -17
- package/bundle/typescript/src/commands/game/sideQuest/utilities/street-gang.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/surveillance.d.ts +0 -61
- package/bundle/typescript/src/commands/game/sideQuest/utilities/surveillance.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/table-notes.d.ts +0 -30
- package/bundle/typescript/src/commands/game/sideQuest/utilities/table-notes.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/terminal-reset.d.ts +0 -17
- package/bundle/typescript/src/commands/game/sideQuest/utilities/terminal-reset.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/use-target.d.ts +0 -106
- package/bundle/typescript/src/commands/game/sideQuest/utilities/use-target.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +0 -72
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/world-clock.d.ts +0 -83
- package/bundle/typescript/src/commands/game/sideQuest/utilities/world-clock.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.d.ts +0 -37
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/generate.d.ts +0 -1
- package/bundle/typescript/src/commands/generate.js.map +0 -1
- package/bundle/typescript/src/commands/get/_index.d.ts +0 -4
- package/bundle/typescript/src/commands/get/_index.js.map +0 -1
- package/bundle/typescript/src/commands/get/get.command.d.ts +0 -3
- package/bundle/typescript/src/commands/get/get.command.js.map +0 -1
- package/bundle/typescript/src/commands/get/global.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/get/global.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/get/local.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/get/local.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/get/whoami.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/get/whoami.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/help.d.ts +0 -1
- package/bundle/typescript/src/commands/help.js.map +0 -1
- package/bundle/typescript/src/commands/install.d.ts +0 -1
- package/bundle/typescript/src/commands/install.js.map +0 -1
- package/bundle/typescript/src/commands/jsdoc.d.ts +0 -1
- package/bundle/typescript/src/commands/jsdoc.js.map +0 -1
- package/bundle/typescript/src/commands/lint.d.ts +0 -1
- package/bundle/typescript/src/commands/lint.js.map +0 -1
- package/bundle/typescript/src/commands/login.d.ts +0 -1
- package/bundle/typescript/src/commands/login.js.map +0 -1
- package/bundle/typescript/src/commands/logout.d.ts +0 -1
- package/bundle/typescript/src/commands/logout.js.map +0 -1
- package/bundle/typescript/src/commands/maka.cmd.d.ts +0 -5
- package/bundle/typescript/src/commands/maka.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/murder.d.ts +0 -1
- package/bundle/typescript/src/commands/murder.js.map +0 -1
- package/bundle/typescript/src/commands/profile.d.ts +0 -1
- package/bundle/typescript/src/commands/profile.js.map +0 -1
- package/bundle/typescript/src/commands/proxy.d.ts +0 -1
- package/bundle/typescript/src/commands/proxy.js.map +0 -1
- package/bundle/typescript/src/commands/register.d.ts +0 -1
- package/bundle/typescript/src/commands/register.js.map +0 -1
- package/bundle/typescript/src/commands/registry.d.ts +0 -10
- package/bundle/typescript/src/commands/registry.js.map +0 -1
- package/bundle/typescript/src/commands/remote/_index.d.ts +0 -4
- package/bundle/typescript/src/commands/remote/_index.js.map +0 -1
- package/bundle/typescript/src/commands/remote/logs.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/remote/logs.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/remote/remote.command.d.ts +0 -3
- package/bundle/typescript/src/commands/remote/remote.command.js.map +0 -1
- package/bundle/typescript/src/commands/remote/ssh.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/remote/ssh.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/run/_index.d.ts +0 -2
- package/bundle/typescript/src/commands/run/_index.js.map +0 -1
- package/bundle/typescript/src/commands/run/docker.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/run/docker.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/run/run.command.d.ts +0 -3
- package/bundle/typescript/src/commands/run/run.command.js.map +0 -1
- package/bundle/typescript/src/commands/set/_index.d.ts +0 -3
- package/bundle/typescript/src/commands/set/_index.js.map +0 -1
- package/bundle/typescript/src/commands/set/global.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/set/global.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/set/local.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/set/local.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/set/set.command.d.ts +0 -3
- package/bundle/typescript/src/commands/set/set.command.js.map +0 -1
- package/bundle/typescript/src/commands/ssl.d.ts +0 -1
- package/bundle/typescript/src/commands/ssl.js.map +0 -1
- package/bundle/typescript/src/commands/testCmd/_index.d.ts +0 -3
- package/bundle/typescript/src/commands/testCmd/_index.js.map +0 -1
- package/bundle/typescript/src/commands/testCmd/jest.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/testCmd/jest.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/testCmd/mocha.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/testCmd/mocha.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/testCmd/test.command.d.ts +0 -3
- package/bundle/typescript/src/commands/testCmd/test.command.js.map +0 -1
- package/bundle/typescript/src/commands/undo.d.ts +0 -1
- package/bundle/typescript/src/commands/undo.js.map +0 -1
- package/bundle/typescript/src/commands/uninstall.d.ts +0 -1
- package/bundle/typescript/src/commands/uninstall.js.map +0 -1
- package/bundle/typescript/src/commands/update.d.ts +0 -1
- package/bundle/typescript/src/commands/update.js.map +0 -1
- package/bundle/typescript/src/commands/version/_index.d.ts +0 -3
- package/bundle/typescript/src/commands/version/_index.js.map +0 -1
- package/bundle/typescript/src/commands/version/list.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/version/list.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/version/use.sub.cmd.d.ts +0 -1
- package/bundle/typescript/src/commands/version/use.sub.cmd.js.map +0 -1
- package/bundle/typescript/src/commands/version/version.d.ts +0 -3
- package/bundle/typescript/src/commands/version/version.js.map +0 -1
- package/bundle/typescript/src/error.d.ts +0 -18
- package/bundle/typescript/src/error.js.map +0 -1
- package/bundle/typescript/src/exec.d.ts +0 -2
- package/bundle/typescript/src/exec.js.map +0 -1
- package/bundle/typescript/src/generator.d.ts +0 -48
- package/bundle/typescript/src/generator.js.map +0 -1
- package/bundle/typescript/src/generators/_index.d.ts +0 -18
- package/bundle/typescript/src/generators/_index.js.map +0 -1
- package/bundle/typescript/src/generators/api.d.ts +0 -1
- package/bundle/typescript/src/generators/api.js.map +0 -1
- package/bundle/typescript/src/generators/aws/_index.d.ts +0 -2
- package/bundle/typescript/src/generators/aws/_index.js.map +0 -1
- package/bundle/typescript/src/generators/aws/aws.d.ts +0 -3
- package/bundle/typescript/src/generators/aws/aws.js.map +0 -1
- package/bundle/typescript/src/generators/aws/cloudformation/_index.d.ts +0 -2
- package/bundle/typescript/src/generators/aws/cloudformation/_index.js.map +0 -1
- package/bundle/typescript/src/generators/aws/cloudformation/cloudformation.d.ts +0 -3
- package/bundle/typescript/src/generators/aws/cloudformation/cloudformation.js.map +0 -1
- package/bundle/typescript/src/generators/aws/cloudformation/create-ec2-instance.cf.gen.d.ts +0 -3
- package/bundle/typescript/src/generators/aws/cloudformation/create-ec2-instance.cf.gen.js.map +0 -1
- package/bundle/typescript/src/generators/collection.d.ts +0 -1
- package/bundle/typescript/src/generators/collection.js.map +0 -1
- package/bundle/typescript/src/generators/component.d.ts +0 -1
- package/bundle/typescript/src/generators/component.js.map +0 -1
- package/bundle/typescript/src/generators/config.d.ts +0 -1
- package/bundle/typescript/src/generators/config.js.map +0 -1
- package/bundle/typescript/src/generators/dbc.d.ts +0 -1
- package/bundle/typescript/src/generators/dbc.js.map +0 -1
- package/bundle/typescript/src/generators/dockerfile.d.ts +0 -1
- package/bundle/typescript/src/generators/dockerfile.js.map +0 -1
- package/bundle/typescript/src/generators/hook.d.ts +0 -1
- package/bundle/typescript/src/generators/hook.js.map +0 -1
- package/bundle/typescript/src/generators/kits/_index.d.ts +0 -5
- package/bundle/typescript/src/generators/kits/_index.js.map +0 -1
- package/bundle/typescript/src/generators/kits/auth/_index.d.ts +0 -4
- package/bundle/typescript/src/generators/kits/auth/_index.js.map +0 -1
- package/bundle/typescript/src/generators/kits/auth/auth.generator.d.ts +0 -3
- package/bundle/typescript/src/generators/kits/auth/auth.generator.js.map +0 -1
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.d.ts +0 -1
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js.map +0 -1
- package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.d.ts +0 -1
- package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js.map +0 -1
- package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.d.ts +0 -1
- package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js.map +0 -1
- package/bundle/typescript/src/generators/kits/esri/_index.d.ts +0 -2
- package/bundle/typescript/src/generators/kits/esri/_index.js.map +0 -1
- package/bundle/typescript/src/generators/kits/esri/esri.generator.d.ts +0 -3
- package/bundle/typescript/src/generators/kits/esri/esri.generator.js.map +0 -1
- package/bundle/typescript/src/generators/kits/esri/map.esri.gen.d.ts +0 -1
- package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js.map +0 -1
- package/bundle/typescript/src/generators/kits/frames/_index.d.ts +0 -1
- package/bundle/typescript/src/generators/kits/frames/_index.js.map +0 -1
- package/bundle/typescript/src/generators/kits/frames/frames.generator.d.ts +0 -3
- package/bundle/typescript/src/generators/kits/frames/frames.generator.js.map +0 -1
- package/bundle/typescript/src/generators/kits/kit.d.ts +0 -3
- package/bundle/typescript/src/generators/kits/kit.js.map +0 -1
- package/bundle/typescript/src/generators/kits/mui/_index.d.ts +0 -4
- package/bundle/typescript/src/generators/kits/mui/_index.js.map +0 -1
- package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.d.ts +0 -2
- package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js.map +0 -1
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.d.ts +0 -2
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js.map +0 -1
- package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.d.ts +0 -1
- package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js.map +0 -1
- package/bundle/typescript/src/generators/kits/mui/mui.generator.d.ts +0 -3
- package/bundle/typescript/src/generators/kits/mui/mui.generator.js.map +0 -1
- package/bundle/typescript/src/generators/layout.d.ts +0 -1
- package/bundle/typescript/src/generators/layout.js.map +0 -1
- package/bundle/typescript/src/generators/maka.gen.d.ts +0 -5
- package/bundle/typescript/src/generators/maka.gen.js.map +0 -1
- package/bundle/typescript/src/generators/methods.d.ts +0 -1
- package/bundle/typescript/src/generators/methods.js.map +0 -1
- package/bundle/typescript/src/generators/package.d.ts +0 -1
- package/bundle/typescript/src/generators/package.js.map +0 -1
- package/bundle/typescript/src/generators/page.d.ts +0 -1
- package/bundle/typescript/src/generators/page.js.map +0 -1
- package/bundle/typescript/src/generators/publish.d.ts +0 -1
- package/bundle/typescript/src/generators/publish.js.map +0 -1
- package/bundle/typescript/src/generators/route.d.ts +0 -1
- package/bundle/typescript/src/generators/route.js.map +0 -1
- package/bundle/typescript/src/generators/services/_index.d.ts +0 -4
- package/bundle/typescript/src/generators/services/_index.js.map +0 -1
- package/bundle/typescript/src/generators/services/logger.d.ts +0 -1
- package/bundle/typescript/src/generators/services/logger.js.map +0 -1
- package/bundle/typescript/src/generators/services/openssl.d.ts +0 -1
- package/bundle/typescript/src/generators/services/openssl.js.map +0 -1
- package/bundle/typescript/src/generators/services/service.d.ts +0 -3
- package/bundle/typescript/src/generators/services/service.js.map +0 -1
- package/bundle/typescript/src/generators/services/translation.d.ts +0 -1
- package/bundle/typescript/src/generators/services/translation.js.map +0 -1
- package/bundle/typescript/src/maka.d.ts +0 -1
- package/bundle/typescript/src/maka.js.map +0 -1
- package/bundle/typescript/src/tool.d.ts +0 -98
- package/bundle/typescript/src/tool.js.map +0 -1
- package/bundle/typescript/src/tools/actions/actions.class.d.ts +0 -29
- package/bundle/typescript/src/tools/actions/actions.class.js.map +0 -1
- package/bundle/typescript/src/tools/ai/ai.class.d.ts +0 -173
- package/bundle/typescript/src/tools/ai/ai.class.js.map +0 -1
- package/bundle/typescript/src/tools/aws/aws.class.d.ts +0 -51
- package/bundle/typescript/src/tools/aws/aws.class.js.map +0 -1
- package/bundle/typescript/src/tools/aws/aws.interfaces.d.ts +0 -364
- package/bundle/typescript/src/tools/aws/aws.interfaces.js.map +0 -1
- package/bundle/typescript/src/tools/browser/open-browser.d.ts +0 -7
- package/bundle/typescript/src/tools/browser/open-browser.js.map +0 -1
- package/bundle/typescript/src/tools/cfg/cfg.class.d.ts +0 -42
- package/bundle/typescript/src/tools/cfg/cfg.class.js.map +0 -1
- package/bundle/typescript/src/tools/docker/docker.class.d.ts +0 -10
- package/bundle/typescript/src/tools/docker/docker.class.js.map +0 -1
- package/bundle/typescript/src/tools/docker/docker.interfaces.d.ts +0 -18
- package/bundle/typescript/src/tools/docker/docker.interfaces.js.map +0 -1
- package/bundle/typescript/src/tools/dotenvx/dotenvx.class.d.ts +0 -24
- package/bundle/typescript/src/tools/dotenvx/dotenvx.class.js.map +0 -1
- package/bundle/typescript/src/tools/fsi/fsi.class.d.ts +0 -129
- package/bundle/typescript/src/tools/fsi/fsi.class.js.map +0 -1
- package/bundle/typescript/src/tools/fsi/fsi.interfaces.d.ts +0 -194
- package/bundle/typescript/src/tools/fsi/fsi.interfaces.js.map +0 -1
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.d.ts +0 -59
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js.map +0 -1
- package/bundle/typescript/src/tools/https/connection-error.d.ts +0 -79
- package/bundle/typescript/src/tools/https/connection-error.js.map +0 -1
- package/bundle/typescript/src/tools/https/https.class.d.ts +0 -47
- package/bundle/typescript/src/tools/https/https.class.js.map +0 -1
- package/bundle/typescript/src/tools/https/https.interface.d.ts +0 -58
- package/bundle/typescript/src/tools/https/https.interface.js.map +0 -1
- package/bundle/typescript/src/tools/https/maka-host.d.ts +0 -43
- package/bundle/typescript/src/tools/https/maka-host.js.map +0 -1
- package/bundle/typescript/src/tools/log/log.class.d.ts +0 -43
- package/bundle/typescript/src/tools/log/log.class.js.map +0 -1
- package/bundle/typescript/src/tools/log/log.interfaces.d.ts +0 -7
- package/bundle/typescript/src/tools/log/log.interfaces.js.map +0 -1
- package/bundle/typescript/src/tools/mpi/mpi.class.d.ts +0 -62
- package/bundle/typescript/src/tools/mpi/mpi.class.js.map +0 -1
- package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +0 -10
- package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +0 -1
- package/bundle/typescript/src/tools/mpi/shared-verb.d.ts +0 -20
- package/bundle/typescript/src/tools/mpi/shared-verb.js.map +0 -1
- package/bundle/typescript/src/tools/options/options.class.d.ts +0 -11
- package/bundle/typescript/src/tools/options/options.class.js.map +0 -1
- package/bundle/typescript/src/tools/pkg/pkg.class.d.ts +0 -31
- package/bundle/typescript/src/tools/pkg/pkg.class.js.map +0 -1
- package/bundle/typescript/src/tools/progress/progress.class.d.ts +0 -12
- package/bundle/typescript/src/tools/progress/progress.class.js.map +0 -1
- package/bundle/typescript/src/tools/scaffold/scaffold.class.d.ts +0 -198
- package/bundle/typescript/src/tools/scaffold/scaffold.class.js.map +0 -1
- package/bundle/typescript/src/tools/sdk-loader/relocate.d.ts +0 -45
- package/bundle/typescript/src/tools/sdk-loader/relocate.js.map +0 -1
- package/bundle/typescript/src/tools/sdk-loader/runtime-fetch.d.ts +0 -35
- package/bundle/typescript/src/tools/sdk-loader/runtime-fetch.js.map +0 -1
- package/bundle/typescript/src/tools/sdk-loader/sdk-loader.class.d.ts +0 -33
- package/bundle/typescript/src/tools/sdk-loader/sdk-loader.class.js.map +0 -1
- package/bundle/typescript/src/tools/self-spawn/self-spawn.d.ts +0 -10
- package/bundle/typescript/src/tools/self-spawn/self-spawn.js.map +0 -1
- package/bundle/typescript/src/tools/self-update/binary-install.d.ts +0 -215
- package/bundle/typescript/src/tools/self-update/binary-install.js.map +0 -1
- package/bundle/typescript/src/tools/self-update/self-update.d.ts +0 -76
- package/bundle/typescript/src/tools/self-update/self-update.js.map +0 -1
- package/bundle/typescript/src/tools/self-update/update-maka.d.ts +0 -18
- package/bundle/typescript/src/tools/self-update/update-maka.js.map +0 -1
- package/bundle/typescript/src/tools/spawn-async/spawn-async.class.d.ts +0 -4
- package/bundle/typescript/src/tools/spawn-async/spawn-async.class.js.map +0 -1
- package/bundle/typescript/src/tools/spawn-async/spawn-async.interfaces.d.ts +0 -6
- package/bundle/typescript/src/tools/spawn-async/spawn-async.interfaces.js.map +0 -1
- package/bundle/typescript/src/tools/ssh/ssh.class.d.ts +0 -11
- package/bundle/typescript/src/tools/ssh/ssh.class.js.map +0 -1
- package/bundle/typescript/src/tools/ssh/ssh.interfaces.d.ts +0 -21
- package/bundle/typescript/src/tools/ssh/ssh.interfaces.js.map +0 -1
- package/bundle/typescript/src/tools/ssl/ssl.class.d.ts +0 -25
- package/bundle/typescript/src/tools/ssl/ssl.class.js.map +0 -1
- package/bundle/typescript/src/tools/ssl/ssl.interfaces.d.ts +0 -0
- package/bundle/typescript/src/tools/ssl/ssl.interfaces.js.map +0 -1
- package/bundle/typescript/src/tools/version/cli-version.d.ts +0 -10
- package/bundle/typescript/src/tools/version/cli-version.js.map +0 -1
|
@@ -1,1677 +0,0 @@
|
|
|
1
|
-
import blessed from 'blessed';
|
|
2
|
-
import { ISceneSeedJson } from './types/seed/scene-seed.js';
|
|
3
|
-
import { Item } from './models/item.js';
|
|
4
|
-
import { Player, Inventory, Room, Scene } from './models/_index.js';
|
|
5
|
-
import { ISaveFileV1, ISavedItem, SaveReason, IRegisteredSprite } from './types/save-file.js';
|
|
6
|
-
/**
|
|
7
|
-
* One crew slot (see THE CREW block below): the persistent record a
|
|
8
|
-
* live 'ally' shell is rebuilt from each run. `ghost` marks a slot held
|
|
9
|
-
* by another PLAYER's character (Phase B): their share routes home via
|
|
10
|
-
* the ledger instead of evaporating as NPC pay.
|
|
11
|
-
*/
|
|
12
|
-
export interface ICrewMember {
|
|
13
|
-
name: string;
|
|
14
|
-
source: 'hired' | 'contact' | 'ghost';
|
|
15
|
-
archetypeName?: string;
|
|
16
|
-
description: string;
|
|
17
|
-
combat: Record<string, unknown>;
|
|
18
|
-
gear: ISavedItem[];
|
|
19
|
-
cutPct: number;
|
|
20
|
-
jobsRun: number;
|
|
21
|
-
trainedThisCycle?: boolean;
|
|
22
|
-
/** Another player's runner. `liveOnly` marks a FRIEND INVITE ("crew
|
|
23
|
-
* invite", Phase C): they ride only as a live player in shared runs
|
|
24
|
-
* -- never AI-driven, never spawned locally, no cut (live runs pay
|
|
25
|
-
* the canon team split instead). Absent/false = a hired ghost. */
|
|
26
|
-
ghost?: {
|
|
27
|
-
slug: string;
|
|
28
|
-
owner: string;
|
|
29
|
-
liveOnly?: boolean;
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
import { IDocwagonContract } from './utilities/docwagon.js';
|
|
33
|
-
import { ILifestyleTier } from './utilities/commerce.js';
|
|
34
|
-
import { CommandQueue } from './utilities/command-queue.js';
|
|
35
|
-
import { NPC } from './models/npc.js';
|
|
36
|
-
import type { CompanionKind } from './models/npc.js';
|
|
37
|
-
import { AutoFight } from './utilities/auto-fight.js';
|
|
38
|
-
import { IMainGameConfig } from './ui.js';
|
|
39
|
-
import type { RunType } from './factories/scene-chunks.js';
|
|
40
|
-
import { PlayerEquipment } from './types/player-equipment.js';
|
|
41
|
-
export default class Game {
|
|
42
|
-
initialized: boolean;
|
|
43
|
-
private static instance;
|
|
44
|
-
private sceneSeed;
|
|
45
|
-
scene: Scene;
|
|
46
|
-
player: Player;
|
|
47
|
-
autoFight: AutoFight;
|
|
48
|
-
private _screen;
|
|
49
|
-
private _logBox;
|
|
50
|
-
private _metaBox;
|
|
51
|
-
private _quitArmed;
|
|
52
|
-
/**
|
|
53
|
-
* The quit verb already sealed this runner to the grid, so the
|
|
54
|
-
* process-exit hook has nothing left to do. Set ONLY after an awaited
|
|
55
|
-
* flush -- an optimistic set would make the exit hook skip the spill
|
|
56
|
-
* write on a push that never landed, which is the one way this design
|
|
57
|
-
* can silently lose a beat. (Mutation-checked: never setting it is
|
|
58
|
-
* caught, and so is setting it without the flush.)
|
|
59
|
-
*/
|
|
60
|
-
private _quitSealed;
|
|
61
|
-
get quitSealed(): boolean;
|
|
62
|
-
private _escArmedAt;
|
|
63
|
-
private _statusBox;
|
|
64
|
-
/** The clock gutter left of the prompt, its ticker, and the face it
|
|
65
|
-
* last painted -- compared so a repaint only happens on the minute
|
|
66
|
-
* rollover (see paintClock). */
|
|
67
|
-
private _clockBox?;
|
|
68
|
-
private _clockTimer?;
|
|
69
|
-
private _clockFace;
|
|
70
|
-
private _inputBox;
|
|
71
|
-
/** The floating icon-minimap (map-overlay wave 2026-08-24). Optional:
|
|
72
|
-
* headless sessions never build widgets. */
|
|
73
|
-
private _mapBox?;
|
|
74
|
-
/** Its twin, docked to its right: the current room's own layout
|
|
75
|
-
* (spatial-viz follow-up 2026-08-25). See utilities/room-view.ts. */
|
|
76
|
-
private _roomMapBox?;
|
|
77
|
-
/** The last string actually painted into each dock -- compared so a
|
|
78
|
-
* repaint (and its scheduleRender cost) only happens when the
|
|
79
|
-
* content genuinely changed, same reasoning as _clockFace above.
|
|
80
|
-
* Read by setMapOverlay/setRoomOverlay; written there too. */
|
|
81
|
-
private _lastMapPaint?;
|
|
82
|
-
private _lastRoomPaint?;
|
|
83
|
-
/** The docked panels' HEARTBEAT (2FrYWFdLnh6uqFLcp, player: "I'd like
|
|
84
|
-
* the area map to update on a heartbeat, not only when I issue a
|
|
85
|
-
* command. That way I can tell where things are in 'real time'").
|
|
86
|
-
*
|
|
87
|
-
* Every other panel refresh rides a player-typed command
|
|
88
|
-
* (updateExits already fires on move/look/lock/unlock -- see its own
|
|
89
|
-
* header) or a server push in a shared run. Nothing repainted it
|
|
90
|
-
* while the player sat still watching an NPC close in. This ticker
|
|
91
|
-
* is that missing beat for solo play, built on the clock's own
|
|
92
|
-
* lesson one field up: call the SAME updateExits a command would,
|
|
93
|
-
* and let the _lastMapPaint/_lastRoomPaint diff (not a second
|
|
94
|
-
* change-detector) decide whether anything actually redraws. */
|
|
95
|
-
private _mapHeartbeatTimer?;
|
|
96
|
-
private static readonly MAP_HEARTBEAT_MS;
|
|
97
|
-
private _useAi;
|
|
98
|
-
private _aiRefusalAnnounced;
|
|
99
|
-
private _owner?;
|
|
100
|
-
private _anonymous;
|
|
101
|
-
private _bench;
|
|
102
|
-
private _reproItemId?;
|
|
103
|
-
private _closing;
|
|
104
|
-
private _logFilePath;
|
|
105
|
-
private _tier;
|
|
106
|
-
/**
|
|
107
|
-
* The run's difficulty tier. `activateRunScene` sets it from the tier
|
|
108
|
-
* the scene was generated at; a HEADLESS boot never calls that, so a
|
|
109
|
-
* shared run sat at the default 1 no matter what it was actually
|
|
110
|
-
* generated as (audit 2026-08-27).
|
|
111
|
-
*
|
|
112
|
-
* That does not sit still: the stored tier rides into the save
|
|
113
|
-
* snapshot and `continueToNextScene` reads `_tier + 1` for the next
|
|
114
|
-
* draft, so an under-recorded tier propagates forward into content
|
|
115
|
-
* that has not been generated yet. Exposed so the headless boot can
|
|
116
|
-
* state the tier it was handed instead of guessing.
|
|
117
|
-
*/
|
|
118
|
-
get tier(): number;
|
|
119
|
-
set tier(value: number);
|
|
120
|
-
private _draftInProgress;
|
|
121
|
-
private _hubScene?;
|
|
122
|
-
private _hubName;
|
|
123
|
-
get hasHub(): boolean;
|
|
124
|
-
/**
|
|
125
|
-
* This play session's own directory -- the timestamped folder holding
|
|
126
|
-
* game.log, session.log, launch.json and any scenes drafted during
|
|
127
|
-
* the run. Derived from the log path the same way SceneSeedGenerator
|
|
128
|
-
* derives it (dirname), so everything a session produces lands
|
|
129
|
-
* together. undefined for harnesses and headless clients, which run
|
|
130
|
-
* with no log path at all -- callers must have a fallback.
|
|
131
|
-
*/
|
|
132
|
-
/** Verbs that must run on the player's OWN machine even mid-shared-run:
|
|
133
|
-
* they write local files or read local state, and mean nothing to the
|
|
134
|
-
* table. See the guard in handleInput. */
|
|
135
|
-
private static readonly LOCAL_ONLY_VERBS;
|
|
136
|
-
/** The same rule at PHRASE level, for a local-only setting that hangs
|
|
137
|
-
* off a verb which must stay remote. "map" reads the live scene and
|
|
138
|
-
* belongs to the server in a shared run; "map overlay" only flips a
|
|
139
|
-
* preference in ~/.meteor/.maka/global-config.json and belongs here.
|
|
140
|
-
* Found 2026-08-27 -- this and `hints` were the last two instances of
|
|
141
|
-
* the `note` bug fixed in v5.57.0: mid-shared-run they crossed the
|
|
142
|
-
* wire, wrote the SERVER's config file, and the player's own toggle
|
|
143
|
-
* silently did nothing. */
|
|
144
|
-
private static readonly LOCAL_ONLY_PHRASES;
|
|
145
|
-
/** An account-less runner: nothing about them leaves this machine.
|
|
146
|
-
* Read by anything that would otherwise push to maka-cli.com -- the
|
|
147
|
-
* backlog command among them. */
|
|
148
|
-
get isAnonymous(): boolean;
|
|
149
|
-
/**
|
|
150
|
-
* A REPRO BENCH: a scratch session stood up to reproduce one backlog
|
|
151
|
-
* item. Not a life -- no save, no street presence, no shared table.
|
|
152
|
-
*
|
|
153
|
-
* SEPARATE FROM `isAnonymous`, and the separation is the point. The
|
|
154
|
-
* bench first reused the anonymous flag, since both want the street
|
|
155
|
-
* left alone -- and that quietly took the BACKLOG with it, because
|
|
156
|
-
* anonymity is a promise about a RUNNER ("nothing about them leaves
|
|
157
|
-
* this machine") and the backlog is one of the things it forbids. So
|
|
158
|
-
* a play-tester standing in the bench built for their own report was
|
|
159
|
-
* refused when they tried to answer it, which is the one thing the
|
|
160
|
-
* bench exists for.
|
|
161
|
-
*
|
|
162
|
-
* Two different concerns wearing one flag: "this character is
|
|
163
|
-
* private" and "this session is scratch". A bench is not private --
|
|
164
|
-
* it is the opposite, a place to file and confirm from.
|
|
165
|
-
*/
|
|
166
|
-
get isBench(): boolean;
|
|
167
|
-
/** The backlog item this bench was stood up for, if any.
|
|
168
|
-
*
|
|
169
|
-
* The review commands read it so an answer needs no index. Player
|
|
170
|
-
* ruling 2026-08-28: "I shouldn't have to pick from the list of
|
|
171
|
-
* review items -- I AM reviewing an item." Making someone name which
|
|
172
|
-
* report they mean, while they are standing in the scene built for
|
|
173
|
-
* that report, is asking a question the session already answered. */
|
|
174
|
-
get reproItemId(): string | undefined;
|
|
175
|
-
/**
|
|
176
|
-
* CLOSE THE SESSION SHORTLY, leaving the last message on screen.
|
|
177
|
-
*
|
|
178
|
-
* For a bench that has just been answered (player request 2026-08-28:
|
|
179
|
-
* "after accepting or rejecting, give a 3s timeout and then close the
|
|
180
|
-
* session"). The pause is the point -- exiting the instant the post
|
|
181
|
-
* lands would wipe the confirmation before it could be read, and the
|
|
182
|
-
* confirmation is the only proof the answer went anywhere.
|
|
183
|
-
*
|
|
184
|
-
* Exits code 0, which is the same door `quit` goes through: the save
|
|
185
|
-
* seal in ui.ts fires (a no-op for a bench, which has no save path)
|
|
186
|
-
* and the launcher parent, which is the terminal's guaranteed
|
|
187
|
-
* janitor, restores the terminal exactly as it would after any other
|
|
188
|
-
* exit. No second teardown path.
|
|
189
|
-
*
|
|
190
|
-
* Idempotent: the first request wins, so answering twice in three
|
|
191
|
-
* seconds cannot stack timers.
|
|
192
|
-
*/
|
|
193
|
-
closeAfter(ms: number, reason: string): void;
|
|
194
|
-
get sessionDir(): string | undefined;
|
|
195
|
-
/** The active job's name (seed name) -- notoriety incidents cite it. */
|
|
196
|
-
get currentJobName(): string | undefined;
|
|
197
|
-
contacts: Map<string, {
|
|
198
|
-
connection: number;
|
|
199
|
-
loyalty: number;
|
|
200
|
-
spent: number;
|
|
201
|
-
gigs: number;
|
|
202
|
-
asked: boolean;
|
|
203
|
-
role?: string;
|
|
204
|
-
note?: string;
|
|
205
|
-
}>;
|
|
206
|
-
pendingProcurements: {
|
|
207
|
-
contact: string;
|
|
208
|
-
itemConfig: ISavedItem;
|
|
209
|
-
price: number;
|
|
210
|
-
}[];
|
|
211
|
-
docwagon?: IDocwagonContract;
|
|
212
|
-
crew: ICrewMember[];
|
|
213
|
-
commandRefusals: Record<string, number>;
|
|
214
|
-
enlistedAlly?: {
|
|
215
|
-
name: string;
|
|
216
|
-
description: string;
|
|
217
|
-
combat: Record<string, unknown>;
|
|
218
|
-
};
|
|
219
|
-
/** Leadership fields the table: anyone runs with a partner, a leader
|
|
220
|
-
* runs a team. Ceiling 5 -- the size of the future multiplayer table. */
|
|
221
|
-
get crewCap(): number;
|
|
222
|
-
/** The LIVE party's identity, as a comparable string -- which real
|
|
223
|
-
* players hold seats at this table right now. Used to detect a party
|
|
224
|
-
* that changed while a job was mid-generation (see draftNextScene). */
|
|
225
|
-
livePartyFingerprint(): string;
|
|
226
|
-
/** The crew-change rule (player ruling): any roster change voids the
|
|
227
|
-
* standing quote. The SERVER draft survives (keepServerDraft) -- if
|
|
228
|
-
* the same table re-forms, the next call gets the same job back.
|
|
229
|
-
* Returns the line to show, or ''. */
|
|
230
|
-
scrapPendingRunForCrewChange(): string;
|
|
231
|
-
performedThisCycle: boolean;
|
|
232
|
-
private _runHeat;
|
|
233
|
-
private static readonly CHECKPOINT_HEAT;
|
|
234
|
-
private _camSeenRooms;
|
|
235
|
-
camPingedRooms: Set<string>;
|
|
236
|
-
sweptRooms: Set<string>;
|
|
237
|
-
venueBans: Set<string>;
|
|
238
|
-
/** The district is already on alert -- sweeps come more often. */
|
|
239
|
-
get runHeatIsHot(): boolean;
|
|
240
|
-
/** On a run (not the hub, not a classic hubless scene) -- the state
|
|
241
|
-
* where heat, cameras, and the ride home all exist. */
|
|
242
|
-
get onRun(): boolean;
|
|
243
|
-
/** Bill the district's attention. No-op at the hub or in classic
|
|
244
|
-
* (hubless) scenes -- only runs have a ride home to be caught on.
|
|
245
|
-
* On CAMERA (surveillance.ts), the bill DOUBLES -- footage travels. */
|
|
246
|
-
addHeat(amount: number, why: string): void;
|
|
247
|
-
/** The HUD's read on the district (bands, never the number). */
|
|
248
|
-
private heatBand;
|
|
249
|
-
crewForHire: ICrewMember[];
|
|
250
|
-
private _presenceTimer?;
|
|
251
|
-
private static readonly PRESENCE_TICK_MS;
|
|
252
|
-
private presencePayload;
|
|
253
|
-
/** Equipment changed at the hub: the street should see the link state
|
|
254
|
-
* NOW, not at the next 60s beat (debounced -- take/equip bursts). */
|
|
255
|
-
private _presenceEquipTimer?;
|
|
256
|
-
private notePresenceAffectingChange;
|
|
257
|
-
/**
|
|
258
|
-
* Does this runner hold a LIVE SEAT right now -- riding at someone's
|
|
259
|
-
* table, or leading one that a real player sits at? Both sides are
|
|
260
|
-
* already tracked synchronously (HubLink.syncRiding fills ridingWith;
|
|
261
|
-
* the leader's live seats are liveOnly crew), so this needs no new
|
|
262
|
-
* state and no await.
|
|
263
|
-
*/
|
|
264
|
-
holdsLiveSeat(): boolean;
|
|
265
|
-
private beatPresence;
|
|
266
|
-
/**
|
|
267
|
-
* An IMMEDIATE presence beat that reports how it went -- the answer
|
|
268
|
-
* to "why can't my friend see me": the regular heartbeat is silent
|
|
269
|
-
* and up to 60s behind, so "crew players" and the hireable toggle
|
|
270
|
-
* push one right now and say so.
|
|
271
|
-
*/
|
|
272
|
-
pushPresenceNow(): Promise<'ok' | 'logged-out' | 'offline'>;
|
|
273
|
-
startPresenceHeartbeat(): void;
|
|
274
|
-
private static readonly HIRE_NAMES;
|
|
275
|
-
/** Deal 2-3 fresh candidates. Names dodge the live cast and roster. */
|
|
276
|
-
rollHireCandidates(): void;
|
|
277
|
-
/** The crew joins at the jobsite curb ("took their own ride" -- the
|
|
278
|
-
* companion convention): one 'ally' shell per member, carrying and
|
|
279
|
-
* wearing their own gear. */
|
|
280
|
-
spawnCrew(): string[];
|
|
281
|
-
/**
|
|
282
|
-
* Homecoming settlement for the crew (returnToHub, BEFORE the fold --
|
|
283
|
-
* dismissCompanion sends shell cargo to the PLAYER, and crew gear is
|
|
284
|
-
* THEIRS): write each survivor's inventory+equipment back into the
|
|
285
|
-
* roster (loot they picked up stays with them), heal them (the cot
|
|
286
|
-
* convention), and bury the fallen -- crew death is PERMANENT, like
|
|
287
|
-
* everything else on this street. Returns homecoming lines.
|
|
288
|
-
*/
|
|
289
|
-
settleCrewAfterRun(): string[];
|
|
290
|
-
/**
|
|
291
|
-
* The team's split, taken at every pay moment (canon: the crew shares
|
|
292
|
-
* the take; in multiplayer each player literally receives their
|
|
293
|
-
* share). Total cut capped at 60% -- the wheelman never out-earns the
|
|
294
|
-
* one holding the job. Ghost members' shares land on the local ledger
|
|
295
|
-
* for Phase B to sync home. Returns the player's share + the itemized
|
|
296
|
-
* line (empty crew: full amount, no line).
|
|
297
|
-
*/
|
|
298
|
-
applyCrewCut(gross: number): {
|
|
299
|
-
share: number;
|
|
300
|
-
line: string;
|
|
301
|
-
};
|
|
302
|
-
/** Bills a DocWagon fee: cred first, shortfall onto the rent tab (the
|
|
303
|
-
* street's one universal collections agency). Returns the line. */
|
|
304
|
-
private billDocwagon;
|
|
305
|
-
/**
|
|
306
|
-
* The band answers (SR5e p.450). 'htr': a High Threat Response team
|
|
307
|
-
* extracts a flatlining KO'd runner instead of the street deciding.
|
|
308
|
-
* 'resusc': clinical death reversed -- a free resuscitation or the
|
|
309
|
-
* 5,000 fee -- the sanctioned carve-out to permadeath (player ruling;
|
|
310
|
-
* overflow-past-Body instant death isn't modeled yet, so every death
|
|
311
|
-
* is currently within reach of the crash cart). Returns true when the
|
|
312
|
-
* rescue engages -- the caller must then NOT end the game.
|
|
313
|
-
*/
|
|
314
|
-
tryDocwagonRescue(kind: 'htr' | 'resusc', opts?: {
|
|
315
|
-
standingHostiles?: string[];
|
|
316
|
-
}): boolean;
|
|
317
|
-
/** Each human player's contract, loaded from their own save doc by
|
|
318
|
-
* the headless boot (their `save.game.docwagon`). Solo play never
|
|
319
|
-
* touches this map -- the legacy single-contract path above is the
|
|
320
|
-
* solo behavior, byte for byte. */
|
|
321
|
-
docwagonByPlayer: Map<string, IDocwagonContract>;
|
|
322
|
-
/** The cloud burn started by close(), awaited briefly so the death
|
|
323
|
-
* screen can show the server-stamped time. */
|
|
324
|
-
private _burnInFlight?;
|
|
325
|
-
/** Shared-run hook: a player's HTR extraction (stabilized and carried
|
|
326
|
-
* off the job). The hosting server writes their snapshot back and
|
|
327
|
-
* marks them 'left'. */
|
|
328
|
-
onPlayerExtracted?: (player: Player) => void;
|
|
329
|
-
/**
|
|
330
|
-
* Shared-run hook: THE SCENE UNDERNEATH EVERYONE JUST CHANGED.
|
|
331
|
-
*
|
|
332
|
-
* `repaintForScene` is how this Game tells its own UI that the world
|
|
333
|
-
* moved. On a hosted table there IS no UI here -- `_mapBox` is
|
|
334
|
-
* undefined on the server, so `updateExits` (and with it both map
|
|
335
|
-
* panels) is a NO-OP, measured rather than assumed: a real headless
|
|
336
|
-
* boot emits map/room/status 1,1,1 and calling updateExits +
|
|
337
|
-
* updateStatus by hand leaves it at 1,1,1, while one `command` takes
|
|
338
|
-
* it to 2,2,2.
|
|
339
|
-
*
|
|
340
|
-
* So every rider's panels move only when headless.ts's pushMap /
|
|
341
|
-
* pushStatus run, and those run from `command`, `addPlayer` and boot
|
|
342
|
-
* -- nowhere else. A scene swap that does not happen inside somebody's
|
|
343
|
-
* command therefore changes the server's truth and sends NOTHING, and
|
|
344
|
-
* `draftNextSceneInBackground` is exactly that shape: fire-and-forget
|
|
345
|
-
* over 20-40 seconds, long after the command that started it returned
|
|
346
|
-
* and pushed the OLD scene.
|
|
347
|
-
*
|
|
348
|
-
* This hook is the missing wire, same shape as onPlayerDeath /
|
|
349
|
-
* onPlayerExtracted above and installed in the same place.
|
|
350
|
-
*
|
|
351
|
-
* HARDENING, NOT A BUG FIX. The inert joint is proven; the swap
|
|
352
|
-
* arriving outside a command is READ IN THE SOURCE AND NOT EXECUTED
|
|
353
|
-
* (continueToNextScene is gated on job completion, so the harness
|
|
354
|
-
* cannot drive it end to end). Nothing here is offered as the cause of
|
|
355
|
-
* a live report.
|
|
356
|
-
*/
|
|
357
|
-
onSceneChanged?: () => void;
|
|
358
|
-
/**
|
|
359
|
-
* The per-player band (shared runs -- scene.players.length > 1):
|
|
360
|
-
* resolves the FALLEN player's own contract, bills THAT player
|
|
361
|
-
* (whatever their stick holds; a guest's shortfall is DocWagon's
|
|
362
|
-
* collections problem, not the rent tab's), and either stabilizes
|
|
363
|
-
* them in place ('resusc') or extracts them from the session ('htr'
|
|
364
|
-
* -- the member-leave flow, via onPlayerExtracted). Returns true when
|
|
365
|
-
* the rescue engages -- the caller must then NOT kill them.
|
|
366
|
-
*/
|
|
367
|
-
tryDocwagonRescueFor(player: Player, kind: 'htr' | 'resusc', opts?: {
|
|
368
|
-
standingHostiles?: string[];
|
|
369
|
-
}): boolean;
|
|
370
|
-
/** Where the wagon drops you (player ruling: the CLINIC, not your own
|
|
371
|
-
* cot): the district Street Doc's room, generically -- so generated
|
|
372
|
-
* hubs work too. Falls back to the hideout if the hub has no doc. */
|
|
373
|
-
private docwagonDropOff;
|
|
374
|
-
/** The ride out on a stretcher: mid-run this is a homecoming (rent and
|
|
375
|
-
* all), then the recovery bed at the clinic. */
|
|
376
|
-
private docwagonMedevac;
|
|
377
|
-
/** How much juice the name carries, read off the role. */
|
|
378
|
-
/**
|
|
379
|
-
* A contact's ROLE, the SR5e archetype list (p.98: fixer, arms dealer,
|
|
380
|
-
* smuggler, talismonger, street doc, mechanic, bartender...) -- same
|
|
381
|
-
* keyword school as connectionFor below. Stored on the contact entry
|
|
382
|
-
* at open time so the roster (and the save) carry it.
|
|
383
|
-
*/
|
|
384
|
-
static roleOf(npc: {
|
|
385
|
-
name: string;
|
|
386
|
-
description?: string;
|
|
387
|
-
}): string;
|
|
388
|
-
static connectionFor(npc: {
|
|
389
|
-
name: string;
|
|
390
|
-
description?: string;
|
|
391
|
-
}): number;
|
|
392
|
-
/**
|
|
393
|
-
* HOME TURF: the hub is where the runner LIVES -- everyone in the
|
|
394
|
-
* district already knows them (player request: "all NPCs there should
|
|
395
|
-
* already know them"). Called at hub capture: the whole meat-plane
|
|
396
|
-
* cast opens at Loyalty 1 ("knows your name"), so legwork works from
|
|
397
|
-
* day one and only run-scene faces are ever strangers. Depth is still
|
|
398
|
-
* earned -- trade, gigs, patronage -- exactly as before. Ice and
|
|
399
|
-
* spirits don't do noodles: non-meat actors stay off the roster.
|
|
400
|
-
*/
|
|
401
|
-
private seedHomeTurfContacts;
|
|
402
|
-
/**
|
|
403
|
-
* EPHEMERAL BODIES, and the reason this is a plain Map on the Game and
|
|
404
|
-
* not part of the save shape (7ALf6u7PvTg6TZSm7): ephemeral means
|
|
405
|
-
* ephemeral. Nothing here is ever written to a save file, so nothing
|
|
406
|
-
* here has to be reconciled on load -- see utilities/ephemeral.ts's
|
|
407
|
-
* despawnEphemerals for why the obvious mid-fight-save worry is
|
|
408
|
-
* already answered upstream.
|
|
409
|
-
*/
|
|
410
|
-
ephemerals: import('./utilities/ephemeral.js').EphemeralRegistry;
|
|
411
|
-
/**
|
|
412
|
-
* Every ephemeral name this session has ever issued. Session-only like
|
|
413
|
-
* the registry above, but CUMULATIVE where that one is a census -- see
|
|
414
|
-
* IEphemeralHost.spentNames for why a name outliving its body is the
|
|
415
|
-
* whole point.
|
|
416
|
-
*/
|
|
417
|
-
spentNames: Set<string>;
|
|
418
|
-
/** Corners that have already had their encounter -- once each, and
|
|
419
|
-
* never saved, on the same session-only model as sweptRooms. */
|
|
420
|
-
gangedRooms: Set<string>;
|
|
421
|
-
/** Places already populated with texture -- once each, never saved. */
|
|
422
|
-
peopledRooms: Set<string>;
|
|
423
|
-
companions: {
|
|
424
|
-
npc: NPC;
|
|
425
|
-
kind: CompanionKind;
|
|
426
|
-
services?: number;
|
|
427
|
-
force: number;
|
|
428
|
-
boundDevice?: Item;
|
|
429
|
-
/** Sprites only: which SPRITE_TYPES entry built the shell -- needed
|
|
430
|
-
* to re-shell a REGISTERED sprite after travel or a resume. */
|
|
431
|
-
spriteType?: string;
|
|
432
|
-
/** REGISTERED (commands/register.ts): the sprite persists -- it
|
|
433
|
-
* survives travel and rides the save file. */
|
|
434
|
-
registered?: boolean;
|
|
435
|
-
}[];
|
|
436
|
-
/** REGISTERED SPRITES WAITING IN THE RESONANCE (SR5 p.254-256):
|
|
437
|
-
* folded for travel, or staged from a resumed save, waiting to
|
|
438
|
-
* re-shell (the drone _pendingRedeploys school).
|
|
439
|
-
*
|
|
440
|
-
* An ARRAY since 2026-08-28. It was a single slot back when one
|
|
441
|
-
* sprite was the hard maximum; the canon cap is one COMPILED sprite
|
|
442
|
-
* with registered ones exempt, up to LOGIC of them (register.ts), so
|
|
443
|
-
* a single slot would have quietly dropped every registered sprite
|
|
444
|
-
* but one at the next save or journey -- the same "your permanent
|
|
445
|
-
* companion vanished" the fix is for, moved one step downstream. */
|
|
446
|
-
private _pendingSpriteRedeploy;
|
|
447
|
-
/** How many registrations are spent: the ones standing here plus the
|
|
448
|
-
* ones waiting in the Resonance. register.ts bills this against
|
|
449
|
-
* Logic. */
|
|
450
|
-
registeredSpriteCount(): number;
|
|
451
|
-
/** Registered sprites waiting in the Resonance, for the surfaces that
|
|
452
|
-
* have to tell a player what they still have. A copy: the stash is
|
|
453
|
-
* maintained by the movers above and nowhere else. */
|
|
454
|
-
registeredSpritesWaiting(): IRegisteredSprite[];
|
|
455
|
-
/**
|
|
456
|
-
* DISMISS half of Call/Dismiss Sprite (SR5 p.250, Simple Action):
|
|
457
|
-
* "send a sprite back to the Resonance, releasing it from any tasks it
|
|
458
|
-
* still owes you."
|
|
459
|
-
*
|
|
460
|
-
* The task release is canon and it is the expensive part -- p.256
|
|
461
|
-
* offers STANDBY (costs 1 task, keeps the rest) precisely because
|
|
462
|
-
* dismissing burns them all. So tasks go to 0 here rather than being
|
|
463
|
-
* carried, and the command that calls this says so out loud before a
|
|
464
|
-
* player spends a companion's usefulness to tidy the grid.
|
|
465
|
-
*
|
|
466
|
-
* Only a REGISTERED sprite has anywhere to go. A compiled one that is
|
|
467
|
-
* sent away is simply gone, which is decompile's job, not this one --
|
|
468
|
-
* so this refuses it rather than quietly destroying it.
|
|
469
|
-
*/
|
|
470
|
-
dismissSpriteToResonance(entry: (typeof this.companions)[number]): boolean;
|
|
471
|
-
/**
|
|
472
|
-
* STANDBY (SR5 p.256, a registered sprite TASK): "tells the sprite to
|
|
473
|
-
* return to the Resonance but come when you call it. This keeps the
|
|
474
|
-
* sprite from giving away your presence or getting in harm's way."
|
|
475
|
-
* Costs ONE task.
|
|
476
|
-
*
|
|
477
|
-
* The middle option dismissal made visible. Dismissing is free at the
|
|
478
|
-
* door and costs everything the sprite owes you (p.250); standby
|
|
479
|
-
* costs one and keeps the rest, which is the whole reason the book
|
|
480
|
-
* sells it. Without this the only way to park a sprite was to spend
|
|
481
|
-
* its entire usefulness, and a player who wanted it out of sight for
|
|
482
|
-
* one room paid for that with every favour it had left.
|
|
483
|
-
*
|
|
484
|
-
* Returns false when there is no task to spend with. A registered
|
|
485
|
-
* sprite that owes you nothing cannot pay for standby -- and does not
|
|
486
|
-
* need to, because dismissing it releases nothing it still had. The
|
|
487
|
-
* caller says that out loud rather than silently doing the other one.
|
|
488
|
-
*/
|
|
489
|
-
standbySpriteToResonance(entry: (typeof this.companions)[number]): boolean;
|
|
490
|
-
/**
|
|
491
|
-
* CALL half of Call/Dismiss Sprite (p.250): "You call a registered
|
|
492
|
-
* sprite you have waiting in the Resonance."
|
|
493
|
-
*
|
|
494
|
-
* `name` picks one when several wait; without it, the first. Returns
|
|
495
|
-
* the arrival line, or undefined when nothing answered -- the caller
|
|
496
|
-
* owns the refusal wording, because "you have none" and "you have
|
|
497
|
-
* some but not that one" are different things to be told.
|
|
498
|
-
*/
|
|
499
|
-
callSpriteFromResonance(name?: string): string | undefined;
|
|
500
|
-
private _pendingRedeploys;
|
|
501
|
-
private _saveFilePath?;
|
|
502
|
-
private _dead;
|
|
503
|
-
private _resume?;
|
|
504
|
-
private _hubSeed?;
|
|
505
|
-
/**
|
|
506
|
-
* The one correct runtime NPC spawn (mirrors scene-factory's seed
|
|
507
|
-
* path): construct with a scene-bound registry, add to the scene
|
|
508
|
-
* (names must be unique -- addActor throws), place via
|
|
509
|
-
* setCharacterLocation (the ONLY path that binds room observers), and
|
|
510
|
-
* hand it the scene for its AI context.
|
|
511
|
-
*/
|
|
512
|
-
/**
|
|
513
|
-
* THE FIXER IS REACHABLE FROM THE FIELD (player go 2026-08-27: "on a
|
|
514
|
-
* multi-crew session, I should still be able to TALK to Mr. Krow if I
|
|
515
|
-
* need something").
|
|
516
|
-
*
|
|
517
|
-
* A shared run executes on a server whose Game has no hub scene, so
|
|
518
|
-
* `hubCast()` is empty and NOBODY from home is a call candidate --
|
|
519
|
-
* including the fixer. Solo mid-run they are (see call.ts's own note
|
|
520
|
-
* about "call Ratchet" bouncing while the roster promised a phone
|
|
521
|
-
* icon), so the same fiction behaved differently by mode, invisibly.
|
|
522
|
-
*
|
|
523
|
-
* The ruling that keeps the ROSTER home is untouched, because the
|
|
524
|
-
* roster and the fixer are different KINDS of thing. The roster is
|
|
525
|
-
* per-player relationship state -- your loyalty, your favours, your
|
|
526
|
-
* ledger -- which is not merely awkward on a shared server but
|
|
527
|
-
* meaningless there, since four players have four different Mama Wus.
|
|
528
|
-
* The fixer is world furniture: one fixed identity, the same Krow for
|
|
529
|
-
* everyone at the table, carrying no per-player state. A shared-run
|
|
530
|
-
* Krow is well-defined in a way a shared-run roster is not, so
|
|
531
|
-
* answering yes here costs nothing that ruling was protecting.
|
|
532
|
-
*
|
|
533
|
-
* Deliberately NOT the whole hub cast: that needs per-player contact
|
|
534
|
-
* identity on the server and would reopen the ruling.
|
|
535
|
-
*
|
|
536
|
-
* He is built lazily and kept OFF the scene -- he is a voice on a
|
|
537
|
-
* commlink, not a body in the room, so he must never appear in "look",
|
|
538
|
-
* be attacked, or be looted. Returns undefined in any session that
|
|
539
|
-
* already has a real one (a hub session, or a static scene that ships
|
|
540
|
-
* him as a cast member), so there is only ever one Krow.
|
|
541
|
-
*/
|
|
542
|
-
remoteFixer(): NPC | undefined;
|
|
543
|
-
private _remoteFixer?;
|
|
544
|
-
/**
|
|
545
|
-
* The live-sheet read of everything this runner has out (contract
|
|
546
|
-
* 2026-09-02): the ledger's companions plus the drone they are jumped
|
|
547
|
-
* into. `where` is the room, or the host/grid for a construct;
|
|
548
|
-
* `damage` is the thing's OWN track -- a drone's hull, an agent's deck
|
|
549
|
-
* (shared monitor, p.246), a spirit's or sprite's shell.
|
|
550
|
-
*/
|
|
551
|
-
companionsForBeat(player: Player): {
|
|
552
|
-
name: string;
|
|
553
|
-
kind: string;
|
|
554
|
-
deployed: boolean;
|
|
555
|
-
where?: string;
|
|
556
|
-
line?: string;
|
|
557
|
-
damage?: {
|
|
558
|
-
taken: number;
|
|
559
|
-
max: number;
|
|
560
|
-
};
|
|
561
|
-
}[];
|
|
562
|
-
spawnCompanionShell(opts: {
|
|
563
|
-
name: string;
|
|
564
|
-
description: string;
|
|
565
|
-
kind: CompanionKind;
|
|
566
|
-
combat: Partial<import('./models/player.js').ICombatAttributes>;
|
|
567
|
-
room: Room;
|
|
568
|
-
plane: 'meat' | 'matrix' | 'astral';
|
|
569
|
-
force: number;
|
|
570
|
-
services?: number;
|
|
571
|
-
boundDevice?: Item;
|
|
572
|
-
}): NPC | null;
|
|
573
|
-
/**
|
|
574
|
-
* The autonomous-drone shell, shared by the deploy command and
|
|
575
|
-
* arrival re-shelling: the frame's dog-brain (Pilot = 2 + quality)
|
|
576
|
-
* stands in for every attribute it lacks (RAW p.269-271).
|
|
577
|
-
*/
|
|
578
|
-
private static readonly DRONE_CARGO_KG;
|
|
579
|
-
deployDroneShell(item: Item, room: Room): NPC | null;
|
|
580
|
-
/** Drops a companion's shell and its roster entry. */
|
|
581
|
-
dismissCompanion(entry: (typeof this.companions)[number], reason: string): void;
|
|
582
|
-
/**
|
|
583
|
-
* A FORM A SPRITE WAS CARRYING COMES HOME WHEN THE SPRITE GOES
|
|
584
|
-
* (SR5 p.256 Sustain Complex Form; see commands/sustain.ts).
|
|
585
|
-
*
|
|
586
|
-
* The task hands a technomancer's complex form to a registered sprite
|
|
587
|
-
* so the SPRITE eats the -2. That means the only entry point in the
|
|
588
|
-
* game that moves a form off its weaver is also the only one that
|
|
589
|
-
* could destroy it: dismiss, kill or park the sprite and the form
|
|
590
|
-
* would go into the Resonance with it, silently, looking exactly like
|
|
591
|
-
* a form the player had dropped on purpose.
|
|
592
|
-
*
|
|
593
|
-
* Canon says the technomancer "can then take over sustaining again",
|
|
594
|
-
* so taking over is the natural end of the arrangement -- and a sprite
|
|
595
|
-
* leaving is the arrangement ending whether or not anybody typed the
|
|
596
|
-
* verb. The weave was never the sprite's; it was only being carried.
|
|
597
|
-
*
|
|
598
|
-
* Called from BOTH teardown paths on purpose. dismissCompanion covers
|
|
599
|
-
* dismissal and standby (standbySpriteToResonance dismisses to park),
|
|
600
|
-
* onActorRemoved covers death. Either alone would leave a hole that
|
|
601
|
-
* only shows up as a missing form several minutes later.
|
|
602
|
-
*/
|
|
603
|
-
private returnSustainedForms;
|
|
604
|
-
/**
|
|
605
|
-
* An actor left the world (Scene.removeActor). For a companion shell
|
|
606
|
-
* that DIED (not a deliberate dismissal -- those set deathClaimed
|
|
607
|
-
* first and prune themselves), settle the wreckage: a drone's frame is
|
|
608
|
-
* wrecked where it fell, an agent derezzes (the deck already ate the
|
|
609
|
-
* damage), a spirit is banished outright.
|
|
610
|
-
*/
|
|
611
|
-
onActorRemoved(name: string): void;
|
|
612
|
-
/**
|
|
613
|
-
* Spirits with no services left depart once no exchange holds them
|
|
614
|
-
* (called from CombatExchange.finishExchange): the bargain is spent.
|
|
615
|
-
*/
|
|
616
|
-
settleSpiritServices(): void;
|
|
617
|
-
private _pursuitTimer?;
|
|
618
|
-
private readonly _pursuitInFlight;
|
|
619
|
-
private static readonly PURSUIT_TICK_MS;
|
|
620
|
-
private startPursuitHeartbeat;
|
|
621
|
-
stopPursuitHeartbeat(): void;
|
|
622
|
-
spurCompanionPursuits(): void;
|
|
623
|
-
/** Pre-travel: every shell folds, each with its own goodbye. */
|
|
624
|
-
foldCompanionsForTravel(): string[];
|
|
625
|
-
/** Post-arrival: re-shell what was deployed when you left (drones). */
|
|
626
|
-
unfoldCompanionsOnArrival(): string[];
|
|
627
|
-
/** Re-shell a registered sprite (travel arrival, or a resumed save).
|
|
628
|
-
* Returns the arrival line, or undefined when the shell can't land
|
|
629
|
-
* (name collision -- vanishingly rare). */
|
|
630
|
-
respawnRegisteredSprite(spec: IRegisteredSprite): string | undefined;
|
|
631
|
-
/**
|
|
632
|
-
* Records a real transaction with a hub NPC: first contact opens the
|
|
633
|
-
* relationship at Loyalty 1 (a safeguard -- the hub cast is pre-seeded
|
|
634
|
-
* by seedHomeTurfContacts); gigs raise it a point each (cap 6);
|
|
635
|
-
* cumulative spend raises it at each full 1,000 nuyen (cap 3).
|
|
636
|
-
* Returns a player-facing line when something changed, else null.
|
|
637
|
-
*/
|
|
638
|
-
/** A hub-cast member by name, for roster displays that need the live
|
|
639
|
-
* actor (contacts.ts reads their commlink to show reachability).
|
|
640
|
-
* ROOM GRIDS wave (2026-08-25): falls back to the CURRENT run scene
|
|
641
|
-
* so a live client (not yet a hub contact -- see onClientInteraction)
|
|
642
|
-
* resolves too; call.ts already reaches them the same way. */
|
|
643
|
-
hubActor(name: string): Player | NPC | undefined;
|
|
644
|
-
/** The whole hub cast -- call.ts merges these into its candidates so
|
|
645
|
-
* a linked contact answers from ANYWHERE (a real mid-run session:
|
|
646
|
-
* "call Ratchet" bounced with "you don't know anyone by that name"
|
|
647
|
-
* while the roster promised 📞). The hub Scene instance survives
|
|
648
|
-
* runs, so these are live actors, not ghosts. */
|
|
649
|
-
hubCast(): (Player | NPC)[];
|
|
650
|
-
touchContact(name: string, kind: 'trade' | 'gig', spent?: number): string | null;
|
|
651
|
-
pendingSale?: {
|
|
652
|
-
itemName: string;
|
|
653
|
-
price: number;
|
|
654
|
-
fence: string;
|
|
655
|
-
haggled: boolean;
|
|
656
|
-
};
|
|
657
|
-
lifestyleTier: string;
|
|
658
|
-
/**
|
|
659
|
-
* LIFESTYLE OPTIONS (SR5 p.370, 2026-09-05): riders on the tier, by
|
|
660
|
-
* canonical key -- today only 'garage', the Special Work Area that
|
|
661
|
-
* parks a rigger's frames (utilities/commerce.ts LIFESTYLE_OPTIONS).
|
|
662
|
-
* Barred on Street; a slide to Street drops them (returnToHub).
|
|
663
|
-
*/
|
|
664
|
-
lifestyleOptions: string[];
|
|
665
|
-
/** The Big Ten grid a High lifestyle rides (SR5 p.222). A placeholder default until chargen offers the pick (grids.ts). */
|
|
666
|
-
gridProvider: string;
|
|
667
|
-
rentDebt: number;
|
|
668
|
-
/** The active lifestyle tier's row (falls back to Squatter). */
|
|
669
|
-
get lifestyle(): ILifestyleTier;
|
|
670
|
-
hasLifestyleOption(key: string): boolean;
|
|
671
|
-
/** What the homecoming collects: the tier's share plus every option's. */
|
|
672
|
-
get lifestyleUpkeep(): number;
|
|
673
|
-
/**
|
|
674
|
-
* Drop every option the current tier bars (p.370: none on Street).
|
|
675
|
-
* Returns the keys dropped, so the caller can say the lease lapsed.
|
|
676
|
-
*/
|
|
677
|
-
dropBarredLifestyleOptions(): string[];
|
|
678
|
-
/**
|
|
679
|
-
* Makes the hideout LOOK like what the rent buys: the room's description
|
|
680
|
-
* follows the active tier (player request -- an upgraded lifestyle read
|
|
681
|
-
* as the same windowless squat). Called wherever the tier moves: the
|
|
682
|
-
* lifestyle command, and the shortfall slide in returnToHub.
|
|
683
|
-
*
|
|
684
|
-
* THE GARAGE FOLLOWS THE OPTION (2026-09-05): the bay exists exactly
|
|
685
|
-
* while the lifestyle carries 'garage'. Reconciling here, on the same
|
|
686
|
-
* call every tier move already makes, is what keeps the furniture and
|
|
687
|
-
* the lease from disagreeing. Returns the names of any frames a lapsed
|
|
688
|
-
* lease spilled onto the floor, for the caller to mention.
|
|
689
|
-
*/
|
|
690
|
-
syncHomeToLifestyle(): string[];
|
|
691
|
-
private static readonly RESTOCK_CATEGORIES;
|
|
692
|
-
private _restockSnapshot;
|
|
693
|
-
/** Captures every restockable shelf item's blueprint (hub capture time). */
|
|
694
|
-
private snapshotVendorStock;
|
|
695
|
-
/** Refills empty shelves from the snapshot; returns how many came back. */
|
|
696
|
-
private restockVendorShelves;
|
|
697
|
-
/** The fence moves merchandise: anything sold to a fence is sold ON. */
|
|
698
|
-
private fenceSellsOn;
|
|
699
|
-
gigAvailable?: {
|
|
700
|
-
from: string;
|
|
701
|
-
to: string;
|
|
702
|
-
itemName: string;
|
|
703
|
-
itemDescription: string;
|
|
704
|
-
pay: number;
|
|
705
|
-
brief: string;
|
|
706
|
-
};
|
|
707
|
-
activeGig?: {
|
|
708
|
-
from: string;
|
|
709
|
-
to: string;
|
|
710
|
-
itemName: string;
|
|
711
|
-
pay: number;
|
|
712
|
-
};
|
|
713
|
-
private _gigPool;
|
|
714
|
-
private _gigIndex;
|
|
715
|
-
/** Rotates the gig on offer (skipped while one is already in hand). */
|
|
716
|
-
private advanceGig;
|
|
717
|
-
/**
|
|
718
|
-
* WORK FROM A RELATIONSHIP (see commands/ask.ts): a contact puts THEIR
|
|
719
|
-
* errand on the table. Their seeded gigs get first claim -- spliced
|
|
720
|
-
* out of the rotating pool, so work handed to you personally never
|
|
721
|
-
* reappears on the ambient board -- and when the pool holds nothing of
|
|
722
|
-
* theirs, the relationship synthesizes one: a sealed parcel to another
|
|
723
|
-
* hub local, priced off Connection (their reach IS the stakes) with a
|
|
724
|
-
* Loyalty kicker. Loyalty 5+ pays the family rate (+25%). The offer
|
|
725
|
-
* lands as gigAvailable: the existing "work" pickup and "give"
|
|
726
|
-
* delivery handle the rest unchanged.
|
|
727
|
-
*/
|
|
728
|
-
offerGigFrom(contactName: string): {
|
|
729
|
-
from: string;
|
|
730
|
-
to: string;
|
|
731
|
-
itemName: string;
|
|
732
|
-
itemDescription: string;
|
|
733
|
-
pay: number;
|
|
734
|
-
brief: string;
|
|
735
|
-
familyRate: boolean;
|
|
736
|
-
} | null;
|
|
737
|
-
fencedCategories: Set<string>;
|
|
738
|
-
private _rumorPool;
|
|
739
|
-
private _rumorIndex;
|
|
740
|
-
activeRumor?: string;
|
|
741
|
-
/** Rotates to the next rumor and plants it where NPCs will hear it. */
|
|
742
|
-
private advanceRumor;
|
|
743
|
-
/** The persistent hideout room -- go.ts's walk-home trigger checks it. */
|
|
744
|
-
get homeRoom(): Room | undefined;
|
|
745
|
-
private _pendingRunSeed?;
|
|
746
|
-
private _pendingRunTier?;
|
|
747
|
-
pendingRunAccepted: boolean;
|
|
748
|
-
/**
|
|
749
|
-
* The words the player ACTUALLY said, when speech routed itself to
|
|
750
|
-
* `accept` (commands/say.ts). It rides into the fixer's signoff note
|
|
751
|
-
* so his closing line answers what was said -- say.ts deliberately
|
|
752
|
-
* does not also speak it, and hear() is the only thing that writes
|
|
753
|
-
* his memory, so without this the deal would be struck with no
|
|
754
|
-
* record that the runner opened their mouth. Consumed by
|
|
755
|
-
* AcceptCommand: read once, cleared immediately.
|
|
756
|
-
*/
|
|
757
|
-
spokenAcceptance?: string;
|
|
758
|
-
/**
|
|
759
|
-
* A SHARED run on offer (Phase C M4): the job was drafted on the
|
|
760
|
-
* SERVER for a live party -- the local pendingRun holds only Krow's
|
|
761
|
-
* pitch stub (name/story/client/ballpark), never the seed, and the
|
|
762
|
-
* taxi starts the remote session instead of activating a scene.
|
|
763
|
-
*/
|
|
764
|
-
pendingSharedRun?: {
|
|
765
|
-
sessionID: string;
|
|
766
|
-
party?: string[];
|
|
767
|
-
};
|
|
768
|
-
/** Tables I SIT AT as an accepted member (leader runner names),
|
|
769
|
-
* kept in sync by shared-run's seat stream. Crew exclusivity
|
|
770
|
-
* (ruling 2026-08-24): riding a table means no solo quotes. */
|
|
771
|
-
ridingWith: string[];
|
|
772
|
-
/** One-shot: the jobs board's "take <n>" names WHICH standing draft
|
|
773
|
-
* the next Krow call should pull (2026-08-24 playtest: reuse always
|
|
774
|
-
* returned the newest match, ignoring the pick). Consumed by
|
|
775
|
-
* draftNextScene's shared path. */
|
|
776
|
-
preferredDraftSessionID?: string;
|
|
777
|
-
/**
|
|
778
|
-
* A live shared run: every typed command delegates here (handleInput)
|
|
779
|
-
* and the panes render the server's event stream. Set/cleared by
|
|
780
|
-
* utilities/shared-run.ts.
|
|
781
|
-
*/
|
|
782
|
-
remoteSession?: {
|
|
783
|
-
command(input: string): Promise<string | null>;
|
|
784
|
-
readonly id?: string;
|
|
785
|
-
};
|
|
786
|
-
/**
|
|
787
|
-
* THE STREET TRANSPORT (M4.5.1): how this engine reaches real players
|
|
788
|
-
* OUTSIDE the scene -- the crew-channel page rails behind call.ts and
|
|
789
|
-
* say.ts. Unset on the CLI (streetTransport() lazily wires the
|
|
790
|
-
* HubLink/REST default -- those modules must never enter the server's
|
|
791
|
-
* import graph); the server session-manager sets both hooks to talk
|
|
792
|
-
* to GameSocialPresence/GamePlayerPages directly, so paging works
|
|
793
|
-
* from inside a shared run too. `from` names the SENDING actor --
|
|
794
|
-
* multi-human server scenes resolve it to the right account.
|
|
795
|
-
*/
|
|
796
|
-
listStreetPlayers?: (from: string) => Promise<{
|
|
797
|
-
playerName: string;
|
|
798
|
-
handle: string;
|
|
799
|
-
}[]>;
|
|
800
|
-
sendPage?: (opts: {
|
|
801
|
-
from: string;
|
|
802
|
-
handle: string;
|
|
803
|
-
text: string;
|
|
804
|
-
}) => Promise<{
|
|
805
|
-
online: boolean;
|
|
806
|
-
toRunner: string;
|
|
807
|
-
}>;
|
|
808
|
-
/** The transport, hooks-first, CLI default second; undefined =
|
|
809
|
-
* offline/logged out/classic mode (callers degrade quietly). */
|
|
810
|
-
streetTransport(): Promise<{
|
|
811
|
-
list: (from: string) => Promise<{
|
|
812
|
-
playerName: string;
|
|
813
|
-
handle: string;
|
|
814
|
-
}[]>;
|
|
815
|
-
send: (opts: {
|
|
816
|
-
from: string;
|
|
817
|
-
handle: string;
|
|
818
|
-
text: string;
|
|
819
|
-
}) => Promise<{
|
|
820
|
-
online: boolean;
|
|
821
|
-
toRunner: string;
|
|
822
|
-
}>;
|
|
823
|
-
} | undefined>;
|
|
824
|
-
/**
|
|
825
|
-
* Hang up a player call from THIS side and TELL THE OTHER SIDE
|
|
826
|
-
* (player ruling: "the hang up should happen to everyone") -- the
|
|
827
|
-
* END_CALL_SENTINEL rides the pages rail fire-and-forget, so the
|
|
828
|
-
* remote client (or their next session, via backlog) closes its
|
|
829
|
-
* channel too. Returns the far runner's name, or undefined when no
|
|
830
|
-
* channel was open. Every path that closes a crewChannel goes
|
|
831
|
-
* through here so the remote side is never left holding a dead line.
|
|
832
|
-
*/
|
|
833
|
-
hangUpCrewChannel(player: Player): string | undefined;
|
|
834
|
-
/** Trash the offer wholesale ("decline", and any future fixer snub).
|
|
835
|
-
* keepServerDraft (crew-change scraps, player ruling 2026-08-24):
|
|
836
|
-
* the LOCAL quote dies but the server-side draft stays standing --
|
|
837
|
-
* createSession is fingerprint-keyed, so the same party re-forming
|
|
838
|
-
* gets the same job back instead of paying for a regeneration. An
|
|
839
|
-
* explicit DECLINE never passes it: a rejected job stays rejected. */
|
|
840
|
-
clearPendingRun(opts?: {
|
|
841
|
-
keepServerDraft?: boolean;
|
|
842
|
-
}): void;
|
|
843
|
-
/**
|
|
844
|
-
* EVERYTHING THAT BELONGS TO AN OFFER, RESET TOGETHER
|
|
845
|
-
* (8jZMqtXmxbLiACo3E: "I haven't pushed the number yet").
|
|
846
|
-
*
|
|
847
|
-
* An offer carries its own haggle window at the hub -- "call <fixer>"
|
|
848
|
-
* delivers it and `haggle` works on the spot. Push on one, decline
|
|
849
|
-
* it, hear the NEXT one, and nothing cleared the flag: not
|
|
850
|
-
* refreshEdge (departure only, and no ride was called), not
|
|
851
|
-
* returnToHub (no run to come home from). The first push on the new
|
|
852
|
-
* offer was then refused with "you already pushed on the number once
|
|
853
|
-
* this job" -- about a job the runner had turned down.
|
|
854
|
-
*
|
|
855
|
-
* THE THIRD HOLE IN ONE BOOLEAN, which is why this is a method and
|
|
856
|
-
* not another line at a call site. `haggledThisJob` had already been
|
|
857
|
-
* patched twice, each time for its own report and each time at the
|
|
858
|
-
* one site that report happened to name: returnToHub for
|
|
859
|
-
* d4yoYPcRAtWpLtm9y, the headless boot for the shared-run arrival.
|
|
860
|
-
* There are TWO places a fresh offer is installed -- the solo draft
|
|
861
|
-
* and the shared-run quote -- and both had the same gap, so a third
|
|
862
|
-
* per-site patch would have fixed one and left the other reporting
|
|
863
|
-
* the same sentence.
|
|
864
|
-
*
|
|
865
|
-
* NOT called from restoreFromSave, deliberately: a resumed pendingRun
|
|
866
|
-
* is the SAME offer, and clearing there would forget a push the
|
|
867
|
-
* runner really did make before they quit.
|
|
868
|
-
*/
|
|
869
|
-
private resetForNewOffer;
|
|
870
|
-
get pendingRun(): ISceneSeedJson | undefined;
|
|
871
|
-
get pendingRunTier(): number | undefined;
|
|
872
|
-
currentClient?: {
|
|
873
|
-
name: string;
|
|
874
|
-
met: boolean;
|
|
875
|
-
reported: boolean;
|
|
876
|
-
dead?: boolean;
|
|
877
|
-
};
|
|
878
|
-
/**
|
|
879
|
-
* WHEN THE RUN STARTED -- the one fact the journal cannot derive.
|
|
880
|
-
*
|
|
881
|
-
* commands/journal.ts renders current state rather than recording
|
|
882
|
-
* events, deliberately: a journal that logs what happened can drift
|
|
883
|
-
* from the world it describes, and a derived one cannot disagree with
|
|
884
|
-
* the thing it is reading. Client, pay and objective all already exist
|
|
885
|
-
* elsewhere and are read live. Elapsed time is the exception -- its
|
|
886
|
-
* ORIGIN is not recoverable from any current state -- so this is the
|
|
887
|
-
* single new field the feature adds, said out loud rather than grown
|
|
888
|
-
* quietly into a record.
|
|
889
|
-
*
|
|
890
|
-
* Not saved, and does not need to be: like currentClient above, mid-run
|
|
891
|
-
* state never persists (runs are disposable -- a quit resumes to the
|
|
892
|
-
* hub with the job back on offer), so there is no save-schema change
|
|
893
|
-
* here. Stamped by activateRunScene, cleared by settleClientReputation.
|
|
894
|
-
*/
|
|
895
|
-
runStartedAt?: Date;
|
|
896
|
-
forfeitArmed: boolean;
|
|
897
|
-
/** Set by "abandon": the next taxi WALKS OUT instead of running an
|
|
898
|
-
* errand (mYTCzJbsdZxYsTsZo). The reversible trip is the default and
|
|
899
|
-
* the irreversible one is asked for -- Notoriety, a forfeited payout
|
|
900
|
-
* and a destroyed scene should require the deliberate word, and a
|
|
901
|
-
* round trip you can undo by getting back in the cab should not. */
|
|
902
|
-
walkOutArmed: boolean;
|
|
903
|
-
/**
|
|
904
|
-
* The meet and the wrap-up, triggered by the player's first/next real
|
|
905
|
-
* interaction with the client (talk-to, a connected call, a give).
|
|
906
|
-
* Returns the beat's text or null when this NPC isn't the client /
|
|
907
|
-
* nothing new happens. LUMP SUM (player ruling 2026-08-25, replacing
|
|
908
|
-
* canon p.28's half-up-front: the advance beat kept misfiring in
|
|
909
|
-
* play): the meet sets the terms, the wrap-up pays the WHOLE number.
|
|
910
|
-
* Completing the objective before ever meeting them still collapses
|
|
911
|
-
* cleanly -- the wrap-up is the only beat that moves money.
|
|
912
|
-
*/
|
|
913
|
-
onClientInteraction(npcName: string): string | null;
|
|
914
|
-
/**
|
|
915
|
-
* The client's verdict, filed at homecoming (returnToHub): whatever
|
|
916
|
-
* happened, their name joins the roster -- clean work opens a
|
|
917
|
-
* relationship (role 'Johnson', repeat clients deepen like gigs), a
|
|
918
|
-
* forfeited remainder or a walked-out job files a note the roster
|
|
919
|
-
* shows (p.368 already charged the walkout's notoriety at the curb).
|
|
920
|
-
* Clears currentClient; returns the homecoming line.
|
|
921
|
-
*/
|
|
922
|
-
settleClientReputation(wrappedRun: boolean): string;
|
|
923
|
-
/**
|
|
924
|
-
* The cab that answers "call taxi" varies per job (player request: not
|
|
925
|
-
* always a van) -- picked once when the pending run lands, so the
|
|
926
|
-
* arrival and the ride read as ONE vehicle.
|
|
927
|
-
*/
|
|
928
|
-
private static readonly RIDE_POOL;
|
|
929
|
-
private _pendingRide?;
|
|
930
|
-
/** The pending job's cab flavor -- "call taxi" narrates with it (see call.ts). */
|
|
931
|
-
get pendingRide(): {
|
|
932
|
-
arrive: string;
|
|
933
|
-
board: string;
|
|
934
|
-
} | undefined;
|
|
935
|
-
/**
|
|
936
|
-
* Generates NPC first-impression appearances ("look at <npc>") in the
|
|
937
|
-
* background, one at a time -- the only AI dressing still worth doing
|
|
938
|
-
* now that every scene arrives with real prose. Fire-and-forget: until
|
|
939
|
-
* an appearance lands, look-at just shows a bit less flavor.
|
|
940
|
-
*/
|
|
941
|
-
private warmNpcAppearancesInBackground;
|
|
942
|
-
private _homeRoom;
|
|
943
|
-
/** The hub room a resume seated the player in, when it was not home. */
|
|
944
|
-
private _resumedAt?;
|
|
945
|
-
private _homeRoomExitDirection?;
|
|
946
|
-
private static readonly HOME_DIRECTION_PRIORITY;
|
|
947
|
-
constructor(player: Player, sceneSeed: ISceneSeedJson);
|
|
948
|
-
private registerCommands;
|
|
949
|
-
private determineStartRoom;
|
|
950
|
-
/**
|
|
951
|
-
* WHERE THE RUNNER IS STANDING, when the seed says.
|
|
952
|
-
*
|
|
953
|
-
* `startSpot` has been declared on player-seed.ts all along and
|
|
954
|
-
* nothing read it FOR THE PLAYER -- NPCs get theirs applied inside
|
|
955
|
-
* scene-factory, the runner got nothing. So spotOf() returned
|
|
956
|
-
* undefined for the one actor a person controls, and every
|
|
957
|
-
* SPOT-RELATIVE mechanic quietly did not apply to them: move.ts
|
|
958
|
-
* derives climbSteps from the actor's spot, so with none there is no
|
|
959
|
-
* path, no climb link and no climbing test at all. A repro bench with
|
|
960
|
-
* a catwalk walked you up it with no roll.
|
|
961
|
-
*
|
|
962
|
-
* APPLIED AFTER THE PLACEMENT, and the precise reason is worth
|
|
963
|
-
* stating because I first wrote it down wrong. The currentLocation
|
|
964
|
-
* setter clears atSpot only when the room actually CHANGES
|
|
965
|
-
* (`if (this._currentLocation !== room)`). On a fresh boot the player
|
|
966
|
-
* is already in the start room, so either order would work there --
|
|
967
|
-
* a reordering mutation stays green, and I am saying so rather than
|
|
968
|
-
* letting the comment claim a guarantee its test does not give.
|
|
969
|
-
*
|
|
970
|
-
* It matters on the TRAVEL path below, where the runner really does
|
|
971
|
-
* move from the hub into a new scene and the setter really does fire.
|
|
972
|
-
* Applying after placement is correct in both cases, which is why it
|
|
973
|
-
* is the order used in both -- resumeOpenRun documents the same
|
|
974
|
-
* ordering for the same reason.
|
|
975
|
-
*
|
|
976
|
-
* What IS covered by a red-on-removal test is the call existing at
|
|
977
|
-
* all: nothing read this field before.
|
|
978
|
-
*
|
|
979
|
-
* REFUSES A SPOT THE ROOM DOES NOT HAVE rather than setting a name
|
|
980
|
-
* nothing answers to: an atSpot with no cell behind it is the
|
|
981
|
-
* silently-inert state this codebase keeps finding, and the runner
|
|
982
|
-
* standing nowhere is strictly better than the runner standing
|
|
983
|
-
* somewhere imaginary.
|
|
984
|
-
*
|
|
985
|
-
* No shipped scene sets it -- scene1 and scene2 both leave it
|
|
986
|
-
* undefined -- so this changes nothing that exists today.
|
|
987
|
-
*/
|
|
988
|
-
private applySeedStartSpot;
|
|
989
|
-
/**
|
|
990
|
-
* Wires a fresh, always-unlocked path between the persistent home base
|
|
991
|
-
* and wherever the player is starting the current job from. Clears the
|
|
992
|
-
* previous job's connection first (if any) so the home base never keeps
|
|
993
|
-
* a stale door into an abandoned scene's now-orphaned rooms -- only ever
|
|
994
|
-
* one way out at a time, pointing at whichever job is actually current.
|
|
995
|
-
*/
|
|
996
|
-
private connectHomeRoom;
|
|
997
|
-
get logBox(): blessed.Widgets.BoxElement;
|
|
998
|
-
get metaBox(): blessed.Widgets.BoxElement;
|
|
999
|
-
get inputBox(): blessed.Widgets.TextboxElement;
|
|
1000
|
-
get statusBox(): blessed.Widgets.BoxElement;
|
|
1001
|
-
init(options: IMainGameConfig, screen: blessed.Widgets.Screen): Promise<string>;
|
|
1002
|
-
/** The blessed half of startup -- widgets only. Headless sessions
|
|
1003
|
-
* (Phase C) never call this; everything below survives without it
|
|
1004
|
-
* (updateStatus/refreshLogLabel/close are all screen-guarded). */
|
|
1005
|
-
initUi(screen: blessed.Widgets.Screen): void;
|
|
1006
|
-
/** The engine half of startup: scene synthesis, command registration,
|
|
1007
|
-
* hub seeding, resume overlay -- no widget contact. */
|
|
1008
|
-
initEngine(options: IMainGameConfig): Promise<string>;
|
|
1009
|
-
/**
|
|
1010
|
-
* WHERE YOU LOGGED OUT IS WHERE YOU LOG IN (player request 2026-09-02:
|
|
1011
|
-
* "a player that logs in, logs back in at the server location"). The
|
|
1012
|
-
* save carries the hub room and named spot (types/save-file.ts
|
|
1013
|
-
* ISavedLocation); every hub room change writes a "move" beat, and
|
|
1014
|
-
* quit writes the exact spot. On resume the player is seated there
|
|
1015
|
-
* when the room still exists in the synthesized hub -- a save from a
|
|
1016
|
-
* hub whose seed dropped the room wakes at home, logged, as before.
|
|
1017
|
-
* The cell is not carried: a reload seats you on the spot's own seat.
|
|
1018
|
-
*/
|
|
1019
|
-
private restoreHubLocation;
|
|
1020
|
-
/** The location a save carries: the current hub room and spot. */
|
|
1021
|
-
/** Each host's seeded grid word ('public' | 'local' | 'global:<corp>') against this scene's local grid. */
|
|
1022
|
-
private resolveHostGrids;
|
|
1023
|
-
private hubLocationSnapshot;
|
|
1024
|
-
/**
|
|
1025
|
-
* Everything a save restores beyond the seed synthesis: the player,
|
|
1026
|
-
* the hub world overlay, and the Game-level ledgers. Ordering inside
|
|
1027
|
-
* matters less than its POSITION in init(): after seedHomeTurfContacts
|
|
1028
|
-
* and snapshotVendorStock (both deliberately pre-overlay).
|
|
1029
|
-
*/
|
|
1030
|
-
/**
|
|
1031
|
-
* THE LIFESTYLE THE SAVE PAID FOR, applied -- for EVERY save, a birth
|
|
1032
|
-
* certificate included (2026-09-05). This used to sit below the
|
|
1033
|
-
* `creation` early return in applyResumeState, so a web-born runner who
|
|
1034
|
-
* had paid a first month of High booted at the Squatter default, and
|
|
1035
|
-
* the first hub-arrival save then serialised that Squatter and buried
|
|
1036
|
-
* the tier for good. The lifestyle is Game-owned, not seed-owned; there
|
|
1037
|
-
* is no "world" it waits on.
|
|
1038
|
-
*
|
|
1039
|
-
* CANONICAL ON RESTORE (2026-09-01): the web factory once wrote a
|
|
1040
|
-
* lowercase 'street' that matched no LIFESTYLE_TIERS name, and this
|
|
1041
|
-
* line handed it to a getter that fell through to Squatter -- then
|
|
1042
|
-
* the next save SERIALIZED that Squatter, local and cloud, burying
|
|
1043
|
-
* any server-side repair. Canonicalizing here closes the fall-through
|
|
1044
|
-
* for every save that still carries the old spelling: 'street' means
|
|
1045
|
-
* Street, the factory's intent. (It cannot restore a PAID tier the
|
|
1046
|
-
* local file never knew -- that is the cloud repair's job, and the
|
|
1047
|
-
* sync protocol's, see the repair-visibility ruling in cloud-saves.)
|
|
1048
|
-
*/
|
|
1049
|
-
private applyLifestyleFromSave;
|
|
1050
|
-
private applyResumeState;
|
|
1051
|
-
/**
|
|
1052
|
-
* IS THIS RUNNER'S LIFE THE SERVER'S? (server-only storage.)
|
|
1053
|
-
*
|
|
1054
|
-
* A bound runner has an account behind them; an anonymous one never
|
|
1055
|
-
* leaves this machine, and a bench is a scratch session with nothing
|
|
1056
|
-
* worth keeping. Every new branch in the save path gates on this, so
|
|
1057
|
-
* the anonymous route is the code that was already here -- which is
|
|
1058
|
-
* what the unmodified tripwire suites prove.
|
|
1059
|
-
*/
|
|
1060
|
-
private get boundRunner();
|
|
1061
|
-
/** Where this runner's crash journal lives, when they are bound. */
|
|
1062
|
-
private get spillPath();
|
|
1063
|
-
/**
|
|
1064
|
-
* THE single save routine -- every safe beat funnels here. Guards make
|
|
1065
|
-
* it a silent no-op anywhere a save would lie: mid-run (the "runs are
|
|
1066
|
-
* disposable" ruling lives in the scene === _hubScene check), downed
|
|
1067
|
-
* or KO'd, mid-exchange, dead, or before init finishes.
|
|
1068
|
-
*
|
|
1069
|
-
* SYNCHRONOUS BY DESIGN, AND FOR TWO DIFFERENT REASONS NOW. It always
|
|
1070
|
-
* had to be, because `process.on('exit')` can run nothing
|
|
1071
|
-
* asynchronous. For a BOUND runner that same constraint is what makes
|
|
1072
|
-
* the spill the durability guarantee rather than the push: the beat
|
|
1073
|
-
* writes `<slug>.spill` synchronously and returns, and the upload
|
|
1074
|
-
* happens behind it on a queue that may never get the chance to
|
|
1075
|
-
* finish. Nothing here awaits the grid, ever -- a save beat that could
|
|
1076
|
-
* block on a network is a turn that can hang.
|
|
1077
|
-
*
|
|
1078
|
-
* PR1 KEEPS WRITING `<slug>.json` FOR BOUND RUNNERS TOO. That is
|
|
1079
|
-
* deliberate and temporary: this PR is a superset of today's
|
|
1080
|
-
* behaviour, so reverting it strands no data and loses no character.
|
|
1081
|
-
* PR2 is where the bound branch stops writing the local slot, once
|
|
1082
|
-
* the server contract is deployed and the launcher can source the menu
|
|
1083
|
-
* from it.
|
|
1084
|
-
*/
|
|
1085
|
-
requestSave(reason: SaveReason): void;
|
|
1086
|
-
/**
|
|
1087
|
-
* SEAL A BOUND RUNNER TO THE GRID -- the awaited counterpart of
|
|
1088
|
-
* requestSave, for the two beats where "eventually" is a bug.
|
|
1089
|
-
*
|
|
1090
|
-
* QUIT: nothing runs after this process. An unpushed beat is not
|
|
1091
|
-
* "late", it is gone until the next launch sweeps the spill -- and
|
|
1092
|
-
* the player was told their game was saved.
|
|
1093
|
-
*
|
|
1094
|
-
* JOB ACCEPT: the shared run loads this character FROM THE SERVER.
|
|
1095
|
-
* An unpushed beat means the table plays a stale snapshot of them,
|
|
1096
|
-
* which is a real bug today (the unawaited push before shared runs)
|
|
1097
|
-
* and closes here for free.
|
|
1098
|
-
*
|
|
1099
|
-
* Returns true when the server has the newest save. FALSE IS NOT A
|
|
1100
|
-
* FAILURE PATH -- it means the spill stands and the next launch
|
|
1101
|
-
* uploads it, which is ruling 2 working exactly as designed. Callers
|
|
1102
|
-
* report, they do not block the player.
|
|
1103
|
-
*
|
|
1104
|
-
* Anonymous and bench runners return true immediately: they have
|
|
1105
|
-
* nothing to seal and must never be made to wait on a network.
|
|
1106
|
-
*/
|
|
1107
|
-
flushBoundSave(reason: SaveReason): Promise<boolean>;
|
|
1108
|
-
private buildSaveFile;
|
|
1109
|
-
/**
|
|
1110
|
-
* Synchronous readiness check for continueToNextScene() -- lets callers
|
|
1111
|
-
* give instant feedback for the "not ready yet" cases (job not done, no
|
|
1112
|
-
* AI configured) without waiting on anything async.
|
|
1113
|
-
*/
|
|
1114
|
-
canDraftNextScene(): {
|
|
1115
|
-
allowed: boolean;
|
|
1116
|
-
message?: string;
|
|
1117
|
-
};
|
|
1118
|
-
/**
|
|
1119
|
-
* Fires continueToNextScene() without waiting on it -- job generation can
|
|
1120
|
-
* take 20-40+ seconds, and neither "continue" nor calling the fixer
|
|
1121
|
-
* should freeze the rest of the session behind that. Self-announces the
|
|
1122
|
-
* result once it resolves, styled the same as any other comms exchange,
|
|
1123
|
-
* since by design nothing else is holding a reference to display it.
|
|
1124
|
-
* Public: called directly by call.ts when the player calls the fixer
|
|
1125
|
-
* after a job's done, not just from "continue" here in game.ts.
|
|
1126
|
-
*/
|
|
1127
|
-
/**
|
|
1128
|
-
* `runType` forces the KIND of job drafted. Omitted, the generator
|
|
1129
|
-
* rolls it as it always has (pickRunType: deck-gated, 30% data) --
|
|
1130
|
-
* this parameter exists so a player who ASKS for data work gets data
|
|
1131
|
-
* work (ruoedrMTA6kCRNmEN), and it changes nothing for every other
|
|
1132
|
-
* caller, of which there are three.
|
|
1133
|
-
*/
|
|
1134
|
-
draftNextSceneInBackground(runType?: RunType): void;
|
|
1135
|
-
/**
|
|
1136
|
-
* Drafts and loads the next job once the current scene's win condition
|
|
1137
|
-
* has been met. Reuses the same long-lived Player (and its inventory),
|
|
1138
|
-
* so gear compounds across the session -- nothing is persisted to disk,
|
|
1139
|
-
* it just carries forward for the life of this process. Re-checks
|
|
1140
|
-
* canDraftNextScene() itself (callers are expected to check it first for
|
|
1141
|
-
* instant feedback, but this stays safe to call directly too).
|
|
1142
|
-
*/
|
|
1143
|
-
continueToNextScene(runType?: RunType): Promise<string>;
|
|
1144
|
-
/**
|
|
1145
|
-
* Re-points the world at the preserved hub scene after a run: the hub's
|
|
1146
|
-
* whole state (NPCs, shop stock, anything dropped there) survived
|
|
1147
|
-
* untouched because the INSTANCE survived. The player walks back in
|
|
1148
|
-
* through their own hideout, firmly in the meat -- any lingering run
|
|
1149
|
-
* state (a persona still jacked in, an astral projection, a sneak,
|
|
1150
|
-
* open combat bookkeeping) is settled on the way home.
|
|
1151
|
-
*/
|
|
1152
|
-
/**
|
|
1153
|
-
* THE JOB YOU LEFT STANDING (mYTCzJbsdZxYsTsZo: "I'd like it to not
|
|
1154
|
-
* fail the run -- I should be able to come and go to the job as I
|
|
1155
|
-
* need (to get new gear)").
|
|
1156
|
-
*
|
|
1157
|
-
* Held in memory only, and deliberately NOT saved. Mid-run state
|
|
1158
|
-
* never is -- "runs are disposable, a quit resumes to the hub with
|
|
1159
|
-
* the job back on offer" -- so an errand is SESSION-SCOPED and needs
|
|
1160
|
-
* no save-schema change. Quit mid-errand and you get exactly today's
|
|
1161
|
-
* behaviour rather than a half-restored scene from a save that was
|
|
1162
|
-
* never designed to hold one.
|
|
1163
|
-
*
|
|
1164
|
-
* The rooms survive because something finally holds them: returnToHub
|
|
1165
|
-
* orphans a run "wholesale" only because nothing kept a reference.
|
|
1166
|
-
*/
|
|
1167
|
-
private _openRun?;
|
|
1168
|
-
/** Is there a job waiting for the runner to come back to it? */
|
|
1169
|
-
get hasOpenRun(): boolean;
|
|
1170
|
-
/** The room an open run is waiting in, for the surfaces that say so. */
|
|
1171
|
-
get openRunSceneName(): string | undefined;
|
|
1172
|
-
/**
|
|
1173
|
-
* AN ERRAND IS NOT A HOMECOMING, and that is the whole design.
|
|
1174
|
-
*
|
|
1175
|
-
* returnToHub is a RITUAL, not a journey. Walking its full length
|
|
1176
|
-
* twice per gear run would hand a player, free and on demand: a full
|
|
1177
|
-
* stun heal at High lifestyle ("the shower runs hot until the run is
|
|
1178
|
-
* a rumor"), every vendor's shelves restocked, a fresh legwork pull
|
|
1179
|
-
* from every contact, the busking cycle reset, and a rerolled
|
|
1180
|
-
* for-hire board -- while ALSO charging rent again and burning a
|
|
1181
|
-
* twelfth of the DocWagon contract, whose year "ticks in homecomings".
|
|
1182
|
-
* Wrong in both directions at once: the exploit and the punishment
|
|
1183
|
-
* are the same line of code.
|
|
1184
|
-
*
|
|
1185
|
-
* So this is its own path rather than a flag on that one. Written as
|
|
1186
|
-
* a separate method ON PURPOSE: parameterising the ritual would mean
|
|
1187
|
-
* every future line added to it silently joins the errand too, and
|
|
1188
|
-
* the failure would be invisible -- a restock nobody notices is not a
|
|
1189
|
-
* crash. Here, anything an errand should do has to be written here.
|
|
1190
|
-
*
|
|
1191
|
-
* WHAT IT DOES: state hygiene the cab demands (a persona cannot ride
|
|
1192
|
-
* in a taxi), companions fold and unfold as on any trip, and the
|
|
1193
|
-
* scene swaps. Nothing else.
|
|
1194
|
-
*
|
|
1195
|
-
* WHAT IT DOES NOT DO, all of it deliberate: no client settlement, no
|
|
1196
|
-
* crew settlement or disband, no jobsRun tally, no lifestyle upkeep,
|
|
1197
|
-
* no restock, no rumor, no gig advance, no hire reroll, no DocWagon
|
|
1198
|
-
* tick, no legwork refresh -- and NO per-job reset. A RETURN LEG IS
|
|
1199
|
-
* NOT A NEW JOB: Edge does not refill, haggledThisJob does not clear,
|
|
1200
|
-
* First Impression does not re-arm. You come back as you left, which
|
|
1201
|
-
* is the difference between fetching a gun and starting over.
|
|
1202
|
-
*/
|
|
1203
|
-
leaveRunForErrand(): string | undefined;
|
|
1204
|
-
/** Back to the job you left standing. */
|
|
1205
|
-
resumeOpenRun(): string | undefined;
|
|
1206
|
-
/** Cross-plane and combat state that must not ride in a cab, shared
|
|
1207
|
-
* by both legs of an errand. A persona has no body to put in a taxi
|
|
1208
|
-
* and a fight does not travel. */
|
|
1209
|
-
private settleTravelState;
|
|
1210
|
-
/** The panel refresh both errand legs need. */
|
|
1211
|
-
/**
|
|
1212
|
-
* REPAINT EVERYTHING FOR THE SCENE YOU ARE NOW STANDING IN.
|
|
1213
|
-
*
|
|
1214
|
-
* These same four calls, in this same order, were written out three
|
|
1215
|
-
* times -- here (as refreshHubUi), at the end of returnToHub, and at
|
|
1216
|
-
* the end of activateRunScene. Three copies of one rule is how a
|
|
1217
|
-
* fourth arrival gets two of them and reads as done, and it is the
|
|
1218
|
-
* shape that has already cost this file twice.
|
|
1219
|
-
*
|
|
1220
|
-
* Public because a shared run's homecoming has to reach it: the ride
|
|
1221
|
-
* home used to repaint the STATUS box alone, so a runner arrived back
|
|
1222
|
-
* at the hub with the RUN's map still drawn beside the log -- the
|
|
1223
|
-
* exact mirror of the hub's map surviving into a run, which is the bug
|
|
1224
|
-
* blankRunPanels was added to end (575fc700). One boundary, repainted
|
|
1225
|
-
* in one direction only, is a half-swept family.
|
|
1226
|
-
*
|
|
1227
|
-
* ORDER IS LOAD-BEARING at the shared-run call sites: updateExits
|
|
1228
|
-
* early-returns while `remoteSession` is set, so this must be called
|
|
1229
|
-
* AFTER SharedRunSession.finish() clears it, never before.
|
|
1230
|
-
*/
|
|
1231
|
-
repaintForScene(): void;
|
|
1232
|
-
private returnToHub;
|
|
1233
|
-
/**
|
|
1234
|
-
* KNIGHT ERRANT CHECKPOINT (SINs & getting caught, ruling 2026-08-24;
|
|
1235
|
-
* canon p.363-368, verification values engine-adapted -- the RAG was
|
|
1236
|
-
* down): past CHECKPOINT_HEAT, the ride home hits the wire and the
|
|
1237
|
-
* SIN mechanic resolves. A CRIMINAL SIN broadcasts before the wand
|
|
1238
|
-
* lifts -- shakedown, citation, notoriety. Otherwise your best FAKE
|
|
1239
|
-
* SIN is tested: the scanner rolls its dice (R3 wand, R4 on the
|
|
1240
|
-
* hottest nights) and BEATS the fake's rating to burn it -- burned
|
|
1241
|
-
* means gone from every database at once, then processing. No SIN at
|
|
1242
|
-
* all: fast-talk (Charisma + con) or zip ties. Heat always resets --
|
|
1243
|
-
* the night ends either way.
|
|
1244
|
-
*/
|
|
1245
|
-
private checkpointOnRideHome;
|
|
1246
|
-
/**
|
|
1247
|
-
* The actual drafting work, split out from continueToNextScene() purely
|
|
1248
|
-
* so that method can wrap it in the try/finally that clears
|
|
1249
|
-
* _draftInProgress -- every return path below (including the early
|
|
1250
|
-
* "couldn't draft" one) needs that cleanup to run.
|
|
1251
|
-
*/
|
|
1252
|
-
private draftNextScene;
|
|
1253
|
-
/**
|
|
1254
|
-
* Installs a drafted run as the live scene. Shared by the classic
|
|
1255
|
-
* immediate path (hideout start) and the hub's "travel" (start-room
|
|
1256
|
-
* start -- you rode there, you arrive AT the job).
|
|
1257
|
-
*/
|
|
1258
|
-
private activateRunScene;
|
|
1259
|
-
/**
|
|
1260
|
-
* The needs check at every job departure (SR5e p.56 / p.172, scaled to
|
|
1261
|
-
* job-cycle "days"). Fed AND slept since the last departure: edge
|
|
1262
|
-
* refills and you head out sharp. Skip either: edge stays at whatever's
|
|
1263
|
-
* left. Keep skipping: escalating fatigue (1S, 2S, 3S... per cycle),
|
|
1264
|
-
* resisted Body + Willpower, landing as LOCKED stun no recovery touches
|
|
1265
|
-
* until the need is met (Player.healStun / markFed / markSlept). A
|
|
1266
|
-
* Sleep Regulator (augmentations.ts) halves the effective sleep debt.
|
|
1267
|
-
* Fatigue is capped one box short of a knockout -- RAW would drop you,
|
|
1268
|
-
* but collapsing INSIDE the departure transition would strand the
|
|
1269
|
-
* session between scenes; "running on fumes" carries the spirit.
|
|
1270
|
-
*/
|
|
1271
|
-
private applyDepartureNeeds;
|
|
1272
|
-
/**
|
|
1273
|
-
* "travel": takes the arranged transport to the pending job (see
|
|
1274
|
-
* commands/travel.ts). The player arrives AT the run's start room --
|
|
1275
|
-
* "You travel to <location>" -- not teleported onto their own cot.
|
|
1276
|
-
* A haggle struck during the offer call already mutated the pending
|
|
1277
|
-
* seed's payout, and stays spent across the transition (refreshEdge
|
|
1278
|
-
* would otherwise re-arm it).
|
|
1279
|
-
*/
|
|
1280
|
-
launchPendingRun(): Promise<string>;
|
|
1281
|
-
/**
|
|
1282
|
-
* `cause` is the engine's own death line ("💀 GAME OVER: ... was gunned
|
|
1283
|
-
* down by ..."). It rides the burn to the server, which makes it the
|
|
1284
|
-
* dossier's headline and the seed of the obituary (maka-cli-com-c3
|
|
1285
|
-
* contract, 2026-09-04). A generic line here would produce a generic
|
|
1286
|
-
* obituary, so the specific one is threaded all the way from the kill.
|
|
1287
|
-
*/
|
|
1288
|
-
close(cause?: string): Promise<void>;
|
|
1289
|
-
/**
|
|
1290
|
-
* Waits BRIEFLY for the server to stamp the death and answer with the
|
|
1291
|
-
* memorial. Raced against a timeout on purpose: the burn is already
|
|
1292
|
-
* tombstoned locally and the launcher's sweep finishes it either way,
|
|
1293
|
-
* so a slow or dead network costs the player a moment rather than the
|
|
1294
|
-
* death screen itself.
|
|
1295
|
-
*/
|
|
1296
|
-
private deathMemorial;
|
|
1297
|
-
/**
|
|
1298
|
-
* The death screen's offer. The URL is ALWAYS printed, for the same
|
|
1299
|
-
* reason the chargen handoff prints its own: a headless or SSH session
|
|
1300
|
-
* has no browser to open, so a link that exists only behind a keypress
|
|
1301
|
-
* is no link at all. Headless sessions reach close() too (Phase C) and
|
|
1302
|
-
* simply have no screen to bind -- the lines still land in the log.
|
|
1303
|
-
*/
|
|
1304
|
-
private offerDossier;
|
|
1305
|
-
/**
|
|
1306
|
-
* THE CLOCK TICKER (playtest 2026-08-27). The gutter rendered once,
|
|
1307
|
-
* whenever the pane happened to paint, and then showed that moment
|
|
1308
|
-
* forever. Parked beside a live prompt it is under the player's eye
|
|
1309
|
-
* for the whole run, so a stale one is worse than none at all -- and
|
|
1310
|
-
* the move made that matter MORE, not less.
|
|
1311
|
-
*
|
|
1312
|
-
* Repaints on the MINUTE ROLLOVER, not on every tick: it wakes each
|
|
1313
|
-
* second but only touches the screen when the rendered string
|
|
1314
|
-
* actually changes. A forced once-a-second render would flicker the
|
|
1315
|
-
* whole terminal and cost more than the feature is worth.
|
|
1316
|
-
*/
|
|
1317
|
-
private paintClock;
|
|
1318
|
-
private startClockTicker;
|
|
1319
|
-
stopClockTicker(): void;
|
|
1320
|
-
/**
|
|
1321
|
-
* THE PANELS' MISSING BEAT (2FrYWFdLnh6uqFLcp). updateExits already
|
|
1322
|
-
* fires on everything the PLAYER does; nothing fired it for what
|
|
1323
|
-
* everyone else in the room does while the player sits still and
|
|
1324
|
-
* watches. Same lifecycle as startClockTicker one field up --
|
|
1325
|
-
* headless-guarded, idempotent, unref'd -- because this is the same
|
|
1326
|
-
* shape of thing: a UI-only convenience with nothing behind it for a
|
|
1327
|
-
* session with no screen to paint.
|
|
1328
|
-
*/
|
|
1329
|
-
private startMapHeartbeat;
|
|
1330
|
-
stopMapHeartbeat(): void;
|
|
1331
|
-
/**
|
|
1332
|
-
* ONE TICK, and it does nothing clever: call the exact function a
|
|
1333
|
-
* player's own move/look already calls. Whether anything actually
|
|
1334
|
-
* repaints is _lastMapPaint/_lastRoomPaint's call, not this one's --
|
|
1335
|
-
* see setMapOverlay/setRoomOverlay. That is deliberate: a second,
|
|
1336
|
-
* bespoke "did the room change" detector here would be a second
|
|
1337
|
-
* place for that answer to drift from what the panels actually paint.
|
|
1338
|
-
*
|
|
1339
|
-
* SKIPPED MID-EXCHANGE. Combat already repaints itself blow-by-blow
|
|
1340
|
-
* (CombatExchange narrates and this.scene.updateStatus()/updateExits
|
|
1341
|
-
* follow each strike) -- a wall-clock beat competing with that is
|
|
1342
|
-
* noise at best. It also stays the RIGHT default once combat moves to
|
|
1343
|
-
* a turn-based cadence (player's stated plan): pacing there is the
|
|
1344
|
-
* turn structure's job, not a 2-second ticker's.
|
|
1345
|
-
*/
|
|
1346
|
-
private mapHeartbeatTick;
|
|
1347
|
-
stopPresenceHeartbeat(): void;
|
|
1348
|
-
/**
|
|
1349
|
-
* Full per-session teardown (Phase C): everything init/play armed that
|
|
1350
|
-
* outlives a turn -- for the hosting server's idle eviction and
|
|
1351
|
-
* session close. Solo play never calls this (process exit does it).
|
|
1352
|
-
*/
|
|
1353
|
-
dispose(): Promise<void>;
|
|
1354
|
-
private initInputBox;
|
|
1355
|
-
private initLogBox;
|
|
1356
|
-
/**
|
|
1357
|
-
* The Game Log banner names WHERE you are in the campaign (player
|
|
1358
|
-
* request): the hub by name at home, "JOB #n: <name>" on a run --
|
|
1359
|
-
* plus the scroll state the label already carried.
|
|
1360
|
-
*/
|
|
1361
|
-
private buildLogLabel;
|
|
1362
|
-
/** Re-stamps the banner after a scene change (init, run start, home). */
|
|
1363
|
-
refreshLogLabel(): void;
|
|
1364
|
-
/**
|
|
1365
|
-
* Scroll the log to its tail -- unless the player has paged up to read
|
|
1366
|
-
* history (followBottom off), in which case their place is left alone.
|
|
1367
|
-
* Every "new line arrived" site goes through here.
|
|
1368
|
-
*/
|
|
1369
|
-
followLog(): void;
|
|
1370
|
-
/**
|
|
1371
|
-
* The MECHANICS column (readability pass, player request: the log was
|
|
1372
|
-
* a "wall of text"): dice anatomy and resource arithmetic land here
|
|
1373
|
-
* (via Logger.meta) instead of the world log, so the narrative stays
|
|
1374
|
-
* prose. A full-height COLUMN beside the world log, not a bottom
|
|
1375
|
-
* strip -- the first playtest's 3-row ticker scrolled combat rolls
|
|
1376
|
-
* away faster than they could be read. De-emphasis is the BLUE border
|
|
1377
|
-
* -- gray is banned (ANSI bright-black, illegible on stock dark
|
|
1378
|
-
* palettes). Follow-only (no keys); the full interleaved record lives
|
|
1379
|
-
* in session.log. Roll lines wrap at the column width -- fine in a
|
|
1380
|
-
* tall column. NO mouse (see initInputBox): never arm mouse tracking.
|
|
1381
|
-
*/
|
|
1382
|
-
private initMetaBox;
|
|
1383
|
-
/**
|
|
1384
|
-
* The HUD: a fixed strip between the log and the input box for the
|
|
1385
|
-
* important real-time state -- condition tracks, armed/link status,
|
|
1386
|
-
* sustained spells, active call. Anything that changes moment to moment
|
|
1387
|
-
* and shouldn't need a command to check lives here; everything slower
|
|
1388
|
-
* (full inventory, slot-by-slot equipment, the map) is an on-demand
|
|
1389
|
-
* command instead. Future contexts (astral projection, VR hot-sim) get
|
|
1390
|
-
* their own line here the same way the call line did: small explicit
|
|
1391
|
-
* pieces, not a status framework built ahead of need.
|
|
1392
|
-
*/
|
|
1393
|
-
private initStatusBox;
|
|
1394
|
-
/**
|
|
1395
|
-
* THE MINIMAP (map-overlay wave 2026-08-24; split into a pair
|
|
1396
|
-
* 2026-08-25 -- player ask: "ample space to split the existing map in
|
|
1397
|
-
* two, one for the area, one for the room"): two small icon
|
|
1398
|
-
* viewports DOCKED side by side at the top of the Mechanics column --
|
|
1399
|
-
* not floated over the log (a float occluded log text and, being
|
|
1400
|
-
* numerically anchored, drifted on terminal resize; percentage
|
|
1401
|
-
* geometry re-solves both). The Mechanics pane shifts down while
|
|
1402
|
-
* EITHER is shown and takes the space back only once both hide.
|
|
1403
|
-
* keys:false -- a keyable box appended after the input steals focus
|
|
1404
|
-
* (the "eexxiitt" bug, see initInputBox). Hidden until the first
|
|
1405
|
-
* setMapOverlay/setRoomOverlay with content.
|
|
1406
|
-
*/
|
|
1407
|
-
private static readonly MAP_DOCK_ROWS;
|
|
1408
|
-
/** Must track the roomMapBox's `width` below -- updateExits derives
|
|
1409
|
-
* the inner width from it to right-justify the elevation bar. */
|
|
1410
|
-
private static readonly ROOM_DOCK_PCT;
|
|
1411
|
-
/** Must track the mapBox's `width` below -- used to trim its caption. */
|
|
1412
|
-
/** Columns the clock gutter takes from the input field. Wide enough
|
|
1413
|
-
* for "HH:MM" inside a border; adjustable if it costs too much
|
|
1414
|
-
* typing room in play. */
|
|
1415
|
-
private static readonly CLOCK_GUTTER_W;
|
|
1416
|
-
private static readonly MAP_DOCK_PCT;
|
|
1417
|
-
private initMapBox;
|
|
1418
|
-
/** Shifts the Mechanics pane down (a map box is shown) or back up
|
|
1419
|
-
* (neither is). Driven by syncMapDock, never called directly. */
|
|
1420
|
-
private dockMap;
|
|
1421
|
-
/** Keeps the Mechanics pane's dock offset in sync with whichever
|
|
1422
|
-
* docked box(es) -- district, room, or both -- are currently shown. */
|
|
1423
|
-
private syncMapDock;
|
|
1424
|
-
/**
|
|
1425
|
-
* Paints (or hides) the docked DISTRICT minimap. Solo: updateExits
|
|
1426
|
-
* feeds it from the local scene; shared runs: SharedRunSession.route
|
|
1427
|
-
* feeds it from the server's per-player kind:'map' events. The
|
|
1428
|
-
* preference gates both this and setRoomOverlay in one place.
|
|
1429
|
-
*/
|
|
1430
|
-
setMapOverlay(lines: string[]): void;
|
|
1431
|
-
hideMapOverlay(): void;
|
|
1432
|
-
/**
|
|
1433
|
-
* Paints (or hides) the docked ROOM minimap -- the district box's
|
|
1434
|
-
* twin, fed by updateExits from utilities/room-view.ts. Empty
|
|
1435
|
-
* whenever the current room has no synthesized grid (spotless --
|
|
1436
|
-
* THE COMPAT RULE) or the player is circulating in it (nothing fixed
|
|
1437
|
-
* to center on): both read as "hide", same as an empty district.
|
|
1438
|
-
*/
|
|
1439
|
-
setRoomOverlay(lines: string[]): void;
|
|
1440
|
-
hideRoomOverlay(): void;
|
|
1441
|
-
/**
|
|
1442
|
-
* Refreshes the status box from current player state. Called after any
|
|
1443
|
-
* command that can change what belongs there (currently "call"/"end-call")
|
|
1444
|
-
* and once on load/job transition.
|
|
1445
|
-
*/
|
|
1446
|
-
updateStatus(): void;
|
|
1447
|
-
/** ui plumbing for session mode (utilities/shared-run.ts). */
|
|
1448
|
-
get saveFilePath(): string | undefined;
|
|
1449
|
-
screenRender(): void;
|
|
1450
|
-
private _renderScheduled;
|
|
1451
|
-
/**
|
|
1452
|
-
* ONE REPAINT PER DRAIN, not one per event.
|
|
1453
|
-
*
|
|
1454
|
-
* blessed's render() redraws the whole terminal, and the docked map
|
|
1455
|
-
* and room overlays each called it the moment their content changed.
|
|
1456
|
-
* That is right for solo play, where a command produces one update --
|
|
1457
|
-
* and wrong under a shared-run burst, where the server's events arrive
|
|
1458
|
-
* in a flood. Measured from a real stalled run (session
|
|
1459
|
-
* 2026-08-30T15-42-23-465Z): delivery stalled, then 80 events landed
|
|
1460
|
-
* inside ONE SECOND, of which 19 were kind:'map' and 19 kind:'room' --
|
|
1461
|
-
* 38 full-screen repaints where one would have shown the same final
|
|
1462
|
-
* picture. The player sees the tearing, not the intermediate frames.
|
|
1463
|
-
*
|
|
1464
|
-
* setImmediate rather than a timer: it fires after the current I/O
|
|
1465
|
-
* callbacks, so a batch of DDP messages delivered in one poll phase
|
|
1466
|
-
* collapses into a single paint, and a lone update in an idle client
|
|
1467
|
-
* still repaints on the very next tick -- imperceptible either way.
|
|
1468
|
-
*
|
|
1469
|
-
* Coalescing is safe because the widgets already hold the state: each
|
|
1470
|
-
* setContent/show has landed by the time the paint runs, so the frame
|
|
1471
|
-
* that is drawn is the newest one and the ones skipped were never
|
|
1472
|
-
* visible.
|
|
1473
|
-
*/
|
|
1474
|
-
scheduleRender(): void;
|
|
1475
|
-
/**
|
|
1476
|
-
* The HUD as data: every status line for `player`, pure state reads --
|
|
1477
|
-
* no widgets. updateStatus paints it for the local player; a shared-run
|
|
1478
|
-
* server ships it per player as status events (Phase C).
|
|
1479
|
-
*/
|
|
1480
|
-
/**
|
|
1481
|
-
* What's in your hands, in one phrase. Three armed states on the meat
|
|
1482
|
-
* plane: drawn, HOLSTERED (carried but riding leather -- "brandish"
|
|
1483
|
-
* puts it in hand; combat auto-draws, so this is posture rather than
|
|
1484
|
-
* readiness), or nothing at all. Off-plane the profile is attack
|
|
1485
|
-
* programs / astral will and reads as Armed. White, not gray, for the
|
|
1486
|
-
* same legibility reason as the stance it now sits beside.
|
|
1487
|
-
*/
|
|
1488
|
-
/**
|
|
1489
|
-
* THE DOCWAGON SLOT (user, 2026-09-04, after a Matrix fight killed Maka:
|
|
1490
|
-
* "let's setup a status for docwagon level, so it's clear to see that I
|
|
1491
|
-
* don't have one").
|
|
1492
|
-
*
|
|
1493
|
-
* NO CONTRACT IS THE STATE WORTH SEEING, so it is the one drawn in red
|
|
1494
|
-
* and never omitted. A missing wristband is the difference between a
|
|
1495
|
-
* bad fight and a dead character, and the panel that could have said so
|
|
1496
|
-
* showed armor and an AR overlay and nothing about whether anyone was
|
|
1497
|
-
* coming. It reads at a glance now, beside the two slots that already
|
|
1498
|
-
* answer "how ready am I".
|
|
1499
|
-
*
|
|
1500
|
-
* The tier's resuscitations are what the band actually buys (p.450), so
|
|
1501
|
-
* a contract with none left says that rather than the tier name alone --
|
|
1502
|
-
* a Gold that has spent its one free resusc is closer to Basic than to
|
|
1503
|
-
* Gold, and "GOLD" on its own would be a comforting lie.
|
|
1504
|
-
*/
|
|
1505
|
-
private docwagonSlot;
|
|
1506
|
-
private armedLine;
|
|
1507
|
-
/**
|
|
1508
|
-
* THE LOG WEARS THE PLANE (player request 2026-08-25). Jacking in or
|
|
1509
|
-
* stepping out of your body changes what every line in that log even
|
|
1510
|
-
* MEANS, and the only marker was a HUD row well below it. The border
|
|
1511
|
-
* takes the plane's own established colour -- cyan for the Matrix,
|
|
1512
|
-
* magenta for astral, yellow for a jumped-in drone, matching the
|
|
1513
|
-
* tints those planes already use throughout the prose.
|
|
1514
|
-
*/
|
|
1515
|
-
private planeBorderColor;
|
|
1516
|
-
private paintPlaneBorder;
|
|
1517
|
-
statusLinesFor(player: Player): string[];
|
|
1518
|
-
updateEquipment(_playerEquipment: PlayerEquipment): void;
|
|
1519
|
-
updateExits(_room: Room): void;
|
|
1520
|
-
updateInventory(_playerInventory: Inventory, _currencyName?: string): void;
|
|
1521
|
-
static getInstance(player: Player, sceneSeed: ISceneSeedJson, resume?: ISaveFileV1): Promise<Game>;
|
|
1522
|
-
/**
|
|
1523
|
-
* The verb the LAST handleInput actually ran, after typo correction
|
|
1524
|
-
* ("sjeet" -> "sheet"). ui.ts routes menu output to the Mechanics
|
|
1525
|
-
* panel on THIS, not the typed word -- a real session's corrected
|
|
1526
|
-
* "sjeet" dumped the whole sheet into the world log. The recursive
|
|
1527
|
-
* correction call overwrites it with the corrected verb.
|
|
1528
|
-
*/
|
|
1529
|
-
lastResolvedVerb: string;
|
|
1530
|
-
/**
|
|
1531
|
-
* Serializes every inbound command (see utilities/command-queue.ts):
|
|
1532
|
-
* the engine's await points assume one command in flight, and a second
|
|
1533
|
-
* human on a DDP connection must wait its turn, not interleave.
|
|
1534
|
-
*/
|
|
1535
|
-
readonly commandQueue: CommandQueue;
|
|
1536
|
-
/**
|
|
1537
|
-
* Shared-run hook (Phase C): fires when a NON-primary human player
|
|
1538
|
-
* dies in this scene, so the server can burn their save. The primary
|
|
1539
|
-
* player's death keeps the solo path (Scene.endGame -> close(),
|
|
1540
|
-
* permadeath).
|
|
1541
|
-
*/
|
|
1542
|
-
onPlayerDeath?: (player: Player) => void;
|
|
1543
|
-
handleInput(input: string): Promise<string | null>;
|
|
1544
|
-
/**
|
|
1545
|
-
* Runs `input` AS the named human player -- the symmetric-multiplayer
|
|
1546
|
-
* command entry: every human gets the same full privileged context the
|
|
1547
|
-
* solo player always had. Queued; internal re-entries (typo
|
|
1548
|
-
* correction, say.ts's speech-accept) run inline via the queue's
|
|
1549
|
-
* re-entrancy guard.
|
|
1550
|
-
*/
|
|
1551
|
-
handleInputAs(actorName: string, input: string): Promise<{
|
|
1552
|
-
text: string | null;
|
|
1553
|
-
verb: string;
|
|
1554
|
-
}>;
|
|
1555
|
-
private runInputAs;
|
|
1556
|
-
/**
|
|
1557
|
-
* THE HOST'S TURN, appended to whatever the player's action returned.
|
|
1558
|
-
*
|
|
1559
|
-
* This is the Combat Turn mapping from the IC design, and it is an
|
|
1560
|
-
* ENGINE MAPPING rather than a rule: canon paces IC in Combat Turns
|
|
1561
|
-
* (one program launched per turn, at the beginning of it) and this
|
|
1562
|
-
* engine has no Matrix initiative structure, so ONE PLAYER ACTION
|
|
1563
|
-
* TAKEN INSIDE AN ALERTED HOST counts as one turn. Not a citation, and
|
|
1564
|
-
* not presented as one.
|
|
1565
|
-
*
|
|
1566
|
-
* It hangs off the single command dispatch rather than off hack.ts on
|
|
1567
|
-
* purpose. Ice hunts you while you do ANYTHING in the host -- looking,
|
|
1568
|
-
* moving, taking -- so hooking only the hacking verb would have made
|
|
1569
|
-
* the host blind to every other action, which is the "fixed one verb,
|
|
1570
|
-
* left its siblings" shape CLAUDE.md warns about.
|
|
1571
|
-
*
|
|
1572
|
-
* utilities/ic.ts decides whether anything happens at all
|
|
1573
|
-
* (hostIsHunting); this only carries the result to the panes.
|
|
1574
|
-
*/
|
|
1575
|
-
/**
|
|
1576
|
-
* THE EPHEMERAL TURN, appended the same way the host's is.
|
|
1577
|
-
*
|
|
1578
|
-
* One player action is one beat for every passing face in the room --
|
|
1579
|
-
* the same engine mapping withICTurn makes below, and hung off the
|
|
1580
|
-
* same single dispatch for the same reason: a mob closes on you while
|
|
1581
|
-
* you look, talk, or check your gear, not only while you walk. Hooking
|
|
1582
|
-
* one verb is the "fixed one verb, left its siblings" shape CLAUDE.md
|
|
1583
|
-
* warns about.
|
|
1584
|
-
*
|
|
1585
|
-
* utilities/ephemeral.ts decides what each kind does with its beat;
|
|
1586
|
-
* this only carries the narration back. Only a mob ever produces any.
|
|
1587
|
-
*/
|
|
1588
|
-
/** One beat in flight at a time (see utilities/alarmed-staff.ts). */
|
|
1589
|
-
private _alarmBeat;
|
|
1590
|
-
/**
|
|
1591
|
-
* THE ALARMED SITE'S TURN, hung off the same single dispatch the host's
|
|
1592
|
-
* and the ephemerals' are -- one player action is one beat for the
|
|
1593
|
-
* people who work here.
|
|
1594
|
-
*
|
|
1595
|
-
* AN ENGINE MAPPING, NOT A RULE, in exactly the sense withICTurn says
|
|
1596
|
-
* it: SR5 writes no general mechanics for how guards react to an alarm
|
|
1597
|
-
* (asked twice, two wordings, same answer), and p.352's "delay the
|
|
1598
|
-
* runner team" is conditioned on an HTR team being en route, which in
|
|
1599
|
-
* a Zone 0 barrens it never is. Nothing here invents a response table,
|
|
1600
|
-
* a convergence rate or an aggression dial. What changed is only this:
|
|
1601
|
-
* NPC.act()'s two callers both live inside respondTo(), so a scene NPC
|
|
1602
|
-
* was mute unless the player addressed it. The engine stops muzzling
|
|
1603
|
-
* them while a site is alarmed. What any of them DOES with a beat is
|
|
1604
|
-
* the judgment it already exercises when spoken to.
|
|
1605
|
-
*
|
|
1606
|
-
* IT APPENDS NOTHING, and that is worth saying because it makes the
|
|
1607
|
-
* one thing this wrapper's POSITION was chosen for moot. The seam
|
|
1608
|
-
* agreement put this inner to withEphemeralTurn so an alarmed guard
|
|
1609
|
-
* would print above somebody eating noodles -- sound reasoning for an
|
|
1610
|
-
* appending wrapper, and irrelevant to a fire-and-forget one that
|
|
1611
|
-
* returns `result` untouched. The position is kept as agreed so the
|
|
1612
|
-
* slot exists if this ever narrates inline; the ordering argument is
|
|
1613
|
-
* recorded as not currently biting rather than quietly inherited.
|
|
1614
|
-
*
|
|
1615
|
-
* FIRE AND FORGET on the player's own ruling, offered three shapes:
|
|
1616
|
-
* reactions "arrive a moment later" while play continues at full
|
|
1617
|
-
* speed, one in flight so they never pile up. The precedent is
|
|
1618
|
-
* draftNextSceneInBackground -- never make the player wait on a model
|
|
1619
|
-
* call.
|
|
1620
|
-
*/
|
|
1621
|
-
private withAlarmTurn;
|
|
1622
|
-
private withEphemeralTurn;
|
|
1623
|
-
private withICTurn;
|
|
1624
|
-
/**
|
|
1625
|
-
* The help taxonomy: every entry is [primary, ...aliases], grouped the
|
|
1626
|
-
* way a player thinks, not the order commands were registered. The
|
|
1627
|
-
* overview shows only verbs per category (the flat all-descriptions
|
|
1628
|
-
* dump had grown past 45 lines); "help <category>" and "help <command>"
|
|
1629
|
-
* drill into the real descriptions. Verbs registered but missing from
|
|
1630
|
-
* this table surface in an "other" bucket rather than vanishing -- a
|
|
1631
|
-
* future command can't silently fall out of help.
|
|
1632
|
-
*
|
|
1633
|
-
* AN ALIAS MEANS THE SAME COMMAND -- not "a related word"
|
|
1634
|
-
* (ZJjWMKww2kstbkJCW: "'descend' is not in the list of moving
|
|
1635
|
-
* commands"). Both readers of this table take the group's HEAD as the
|
|
1636
|
-
* command: the overview prints e[0] and nothing else, and "help
|
|
1637
|
-
* <word>" looks up the primary's class to describe it. So a distinct
|
|
1638
|
-
* command parked at index 1 is invisible in the overview AND answers
|
|
1639
|
-
* questions about it with another command's description -- `descend`
|
|
1640
|
-
* was reported missing, but `help descend` was also quietly printing
|
|
1641
|
-
* how to climb UP.
|
|
1642
|
-
*
|
|
1643
|
-
* Five groups had it: descend under climb, run and sprint under move,
|
|
1644
|
-
* unfollow under follow, decompile under compile, kill under attack.
|
|
1645
|
-
* Every one of them is its own class with its own description that no
|
|
1646
|
-
* player could reach. They are split out here rather than taught to
|
|
1647
|
-
* the renderer, because "a group is one command" is the assumption
|
|
1648
|
-
* the renderer is ENTITLED to make -- the table was what lied.
|
|
1649
|
-
* help-taxonomy.test.ts now holds that line for the whole table.
|
|
1650
|
-
*/
|
|
1651
|
-
private static readonly HELP_CATEGORIES;
|
|
1652
|
-
/** Registered but deliberately UNLISTED: reachable as subcommands or
|
|
1653
|
-
* muscle-memory ("players" folded back under crew after playtesting
|
|
1654
|
-
* -- "crew players" is the advertised path; the bare verb still
|
|
1655
|
-
* answers). Without this, the uncategorized sweep resurrects them
|
|
1656
|
-
* in an "other" bucket. */
|
|
1657
|
-
private static readonly HIDDEN_VERBS;
|
|
1658
|
-
/** Session verbs that only a play-tester (or admin) can actually use
|
|
1659
|
-
* -- the server role-gates both and 403s everyone else. Listed in
|
|
1660
|
-
* help ONLY for a confirmed play-tester; see helpCategories. `roles`
|
|
1661
|
-
* rides along because it is admin-only, a strictly narrower group. */
|
|
1662
|
-
private static readonly PLAYTESTER_VERBS;
|
|
1663
|
-
/** Descriptions for the verbs handled inline in handleInput() rather than registered. */
|
|
1664
|
-
private static readonly BUILTIN_DESCRIPTIONS;
|
|
1665
|
-
private describeVerb;
|
|
1666
|
-
/**
|
|
1667
|
-
* The help index as THIS account should see it (backlog wave 2, item
|
|
1668
|
-
* D: "let's remove Seattle Backlog for non playtesters"). The backlog
|
|
1669
|
-
* is role-gated on the server and 403s everyone else, so listing it
|
|
1670
|
-
* for every player only advertises a refusal. Hidden unless the
|
|
1671
|
-
* account is a CONFIRMED play-tester -- see utilities/playtester.ts
|
|
1672
|
-
* for why "unknown" (offline, logged out) hides rather than shows,
|
|
1673
|
-
* and why the verb itself stays registered and usable regardless.
|
|
1674
|
-
*/
|
|
1675
|
-
private helpCategories;
|
|
1676
|
-
private getHelpMessage;
|
|
1677
|
-
}
|