@maka/maka-cli 5.122.1 → 5.123.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -64
- package/bundle/typescript/package.json +120 -120
- package/bundle/typescript/src/README.md +64 -64
- package/bundle/typescript/src/commands/aws/aws.command.js +2 -2
- package/bundle/typescript/src/commands/aws/ci.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/aws/ckp.sub.cmd.js +12 -12
- package/bundle/typescript/src/commands/aws/csg.sub.cmd.js +3 -3
- package/bundle/typescript/src/commands/aws/di.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/aws/rkp.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/aws/sth.sub.cmd.js +3 -3
- package/bundle/typescript/src/commands/aws/ti.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/build/build.js +16 -16
- package/bundle/typescript/src/commands/build/docker.sub.cmd.js +9 -9
- package/bundle/typescript/src/commands/create.js +36 -36
- package/bundle/typescript/src/commands/debug.js +4 -4
- package/bundle/typescript/src/commands/deploy/deploy.command.js +2 -2
- package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +14 -10
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/env/env.command.js +8 -8
- package/bundle/typescript/src/commands/env/set.sub.cmd.js +11 -11
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +40 -14
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +33 -10
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +155 -72
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +15 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +33 -33
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +6 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +4 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +20 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +7 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +10 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +7 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +95 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +443 -443
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +45 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.js +120 -9
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +53 -0
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +86 -0
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +214 -208
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +215 -18
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +548 -117
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +9 -9
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +96 -4
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js +290 -11
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.d.ts +11 -1
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js +13 -1
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/skills.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/skills.js +23 -0
- package/bundle/typescript/src/commands/game/sideQuest/skills.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +76 -3
- package/bundle/typescript/src/commands/game/sideQuest/spells.js +48 -21
- package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +90 -82
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +277 -10
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +121 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +342 -18
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.d.ts +65 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +74 -7
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.d.ts +248 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js +38 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js +1 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js +1 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js +22 -12
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +1 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +20 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +33 -2
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/generate.js +2 -2
- package/bundle/typescript/src/commands/lint.js +10 -10
- package/bundle/typescript/src/commands/login.js +19 -1
- package/bundle/typescript/src/commands/login.js.map +1 -1
- package/bundle/typescript/src/commands/logout.js +16 -1
- package/bundle/typescript/src/commands/logout.js.map +1 -1
- package/bundle/typescript/src/commands/maka.cmd.js +26 -26
- package/bundle/typescript/src/commands/murder.js +14 -14
- package/bundle/typescript/src/commands/proxy.js +13 -13
- package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
- package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
- package/bundle/typescript/src/commands/run/run.command.js +24 -24
- package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/set/set.command.js +3 -3
- package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
- package/bundle/typescript/src/exec.js +0 -0
- package/bundle/typescript/src/generators/api.js +11 -11
- package/bundle/typescript/src/generators/collection.js +6 -6
- package/bundle/typescript/src/generators/hook.js +10 -10
- package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
- package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
- package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
- package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
- package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
- package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
- package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
- package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
- package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
- package/bundle/typescript/src/generators/services/translation.js +5 -5
- package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
- package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
- package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
- package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
- package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
- package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
- package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
- package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
- package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
- package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
- package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
- package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
- package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
- package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
- package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
- package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
- package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
- package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
- package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
- package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
- package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
- package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
- package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
- package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
- package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
- package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
- package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
- package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
- package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
- package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
- package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
- package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
- package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
- package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
- package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
- package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
- package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
- package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
- package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
- package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
- package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
- package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
- package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
- package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
- package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
- package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
- package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
- package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
- package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
- package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
- package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
- package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
- package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
- package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
- package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
- package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
- package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
- package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
- package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
- package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
- package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
- package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
- package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
- package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
- package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
- package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
- package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
- package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
- package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
- package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
- package/bundle/typescript/src/templates/react/component/component.css +6 -6
- package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
- package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
- package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
- package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
- package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
- package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
- package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
- package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
- package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
- package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
- package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
- package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
- package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
- package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
- package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
- package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
- package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
- package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
- package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
- package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
- package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
- package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
- package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
- package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
- package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
- package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
- package/bundle/typescript/src/templates/react/route/route.js +8 -8
- package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
- package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
- package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
- package/bundle/typescript/src/templates/react/test/test.js +1 -1
- package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
- package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
- package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
- package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
- package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
- package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
- package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
- package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
- package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
- package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
- package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
- package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
- package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.d.ts +59 -0
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js +120 -0
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js.map +1 -0
- package/bundle/typescript/src/tools/mpi/mpi.class.d.ts +16 -0
- package/bundle/typescript/src/tools/mpi/mpi.class.js +25 -7
- package/bundle/typescript/src/tools/mpi/mpi.class.js.map +1 -1
- package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +1 -0
- package/bundle/typescript/src/tools/mpi/sdk-runtime.js +29 -0
- package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +1 -1
- package/package.json +120 -120
|
@@ -132,12 +132,12 @@ export class SceneSynthesizer {
|
|
|
132
132
|
// Shared context handed to every ensureAI*() call below, so room
|
|
133
133
|
// descriptions, NPC appearances, and puzzle riddles all stay
|
|
134
134
|
// consistent with the same scene tone.
|
|
135
|
-
const sceneContext = `
|
|
136
|
-
Scene: ${json.name}
|
|
137
|
-
Story: ${json.story}
|
|
138
|
-
Currency: ${json.currency.type}
|
|
139
|
-
Residence Tiers: ${json.residenceTiers.join(', ')}
|
|
140
|
-
Key Locations: ${json.rooms.map(r => r.name).join(', ')}
|
|
135
|
+
const sceneContext = `
|
|
136
|
+
Scene: ${json.name}
|
|
137
|
+
Story: ${json.story}
|
|
138
|
+
Currency: ${json.currency.type}
|
|
139
|
+
Residence Tiers: ${json.residenceTiers.join(', ')}
|
|
140
|
+
Key Locations: ${json.rooms.map(r => r.name).join(', ')}
|
|
141
141
|
`.trim();
|
|
142
142
|
// Step 2: Create and Register Rooms using RoomFactory
|
|
143
143
|
logger.write(`Creating Rooms`);
|
|
@@ -319,6 +319,9 @@ export default class Game {
|
|
|
319
319
|
* touches this map -- the legacy single-contract path above is the
|
|
320
320
|
* solo behavior, byte for byte. */
|
|
321
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?;
|
|
322
325
|
/** Shared-run hook: a player's HTR extraction (stabilized and carried
|
|
323
326
|
* off the job). The hosting server writes their snapshot back and
|
|
324
327
|
* marks them 'left'. */
|
|
@@ -1234,7 +1237,30 @@ export default class Game {
|
|
|
1234
1237
|
* would otherwise re-arm it).
|
|
1235
1238
|
*/
|
|
1236
1239
|
launchPendingRun(): Promise<string>;
|
|
1237
|
-
|
|
1240
|
+
/**
|
|
1241
|
+
* `cause` is the engine's own death line ("💀 GAME OVER: ... was gunned
|
|
1242
|
+
* down by ..."). It rides the burn to the server, which makes it the
|
|
1243
|
+
* dossier's headline and the seed of the obituary (maka-cli-com-c3
|
|
1244
|
+
* contract, 2026-09-04). A generic line here would produce a generic
|
|
1245
|
+
* obituary, so the specific one is threaded all the way from the kill.
|
|
1246
|
+
*/
|
|
1247
|
+
close(cause?: string): Promise<void>;
|
|
1248
|
+
/**
|
|
1249
|
+
* Waits BRIEFLY for the server to stamp the death and answer with the
|
|
1250
|
+
* memorial. Raced against a timeout on purpose: the burn is already
|
|
1251
|
+
* tombstoned locally and the launcher's sweep finishes it either way,
|
|
1252
|
+
* so a slow or dead network costs the player a moment rather than the
|
|
1253
|
+
* death screen itself.
|
|
1254
|
+
*/
|
|
1255
|
+
private deathMemorial;
|
|
1256
|
+
/**
|
|
1257
|
+
* The death screen's offer. The URL is ALWAYS printed, for the same
|
|
1258
|
+
* reason the chargen handoff prints its own: a headless or SSH session
|
|
1259
|
+
* has no browser to open, so a link that exists only behind a keypress
|
|
1260
|
+
* is no link at all. Headless sessions reach close() too (Phase C) and
|
|
1261
|
+
* simply have no screen to bind -- the lines still land in the log.
|
|
1262
|
+
*/
|
|
1263
|
+
private offerDossier;
|
|
1238
1264
|
/**
|
|
1239
1265
|
* THE CLOCK TICKER (playtest 2026-08-27). The gutter rendered once,
|
|
1240
1266
|
* whenever the pane happened to paint, and then showed that moment
|
|
@@ -1418,6 +1444,24 @@ export default class Game {
|
|
|
1418
1444
|
* programs / astral will and reads as Armed. White, not gray, for the
|
|
1419
1445
|
* same legibility reason as the stance it now sits beside.
|
|
1420
1446
|
*/
|
|
1447
|
+
/**
|
|
1448
|
+
* THE DOCWAGON SLOT (user, 2026-09-04, after a Matrix fight killed Maka:
|
|
1449
|
+
* "let's setup a status for docwagon level, so it's clear to see that I
|
|
1450
|
+
* don't have one").
|
|
1451
|
+
*
|
|
1452
|
+
* NO CONTRACT IS THE STATE WORTH SEEING, so it is the one drawn in red
|
|
1453
|
+
* and never omitted. A missing wristband is the difference between a
|
|
1454
|
+
* bad fight and a dead character, and the panel that could have said so
|
|
1455
|
+
* showed armor and an AR overlay and nothing about whether anyone was
|
|
1456
|
+
* coming. It reads at a glance now, beside the two slots that already
|
|
1457
|
+
* answer "how ready am I".
|
|
1458
|
+
*
|
|
1459
|
+
* The tier's resuscitations are what the band actually buys (p.450), so
|
|
1460
|
+
* a contract with none left says that rather than the tier name alone --
|
|
1461
|
+
* a Gold that has spent its one free resusc is closer to Basic than to
|
|
1462
|
+
* Gold, and "GOLD" on its own would be a comforting lie.
|
|
1463
|
+
*/
|
|
1464
|
+
private docwagonSlot;
|
|
1421
1465
|
private armedLine;
|
|
1422
1466
|
/**
|
|
1423
1467
|
* THE LOG WEARS THE PLANE (player request 2026-08-25). Jacking in or
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { agentRatingFromName } from './utilities/programs.js';
|
|
2
2
|
import { MATRIX_STANCE_ACTION } from './models/player.js';
|
|
3
|
+
import { buildDossierUrl } from './utilities/web-character-generator.js';
|
|
4
|
+
import { makaHost } from '../../../tools/https/maka-host.js';
|
|
5
|
+
import { openBrowser } from '../../../tools/browser/open-browser.js';
|
|
3
6
|
import blessed from 'blessed';
|
|
4
7
|
import { hostLabel } from './utilities/grid-names.js';
|
|
5
8
|
import { marksPlaced, marksOnYou } from './utilities/marks.js';
|
|
@@ -18,7 +21,7 @@ import { SAVE_VERSION } from './types/save-file.js';
|
|
|
18
21
|
import { serializePlayer, restorePlayer, captureHubOverlay, applyHubOverlay, writeSaveAtomic, deleteSave, restoreItem, readSave, serializeItem, saveSlug, spillPathFor, } from './utilities/persistence.js';
|
|
19
22
|
import { heartbeatPresence, heartbeatPresenceNow } from './utilities/social.js';
|
|
20
23
|
import { presenceBeatAllowed } from './utilities/presence-gate.js';
|
|
21
|
-
import { pushSave, burnCloudSaveFor, enqueueBoundPush, flushPushQueue, writeSpill, clearSpill, hasPendingPush, } from './utilities/cloud-saves.js';
|
|
24
|
+
import { pushSave, burnCloudSaveFor, enqueueBoundPush, flushPushQueue, writeSpill, takeLastMemorial, authToken, clearSpill, hasPendingPush, } from './utilities/cloud-saves.js';
|
|
22
25
|
import { DOCWAGON_TIERS, RESUSC_FEE, DEATH_COMP } from './utilities/docwagon.js';
|
|
23
26
|
import { isFence, LIFESTYLE_TIERS, canonicalLifestyleTier } from './utilities/commerce.js';
|
|
24
27
|
import { attachBrandMark, attachBrandMarkBottomRight } from './utilities/brand-mark.js';
|
|
@@ -86,7 +89,7 @@ import { LeadCommand, RecruitCommand } from './commands/lead.js';
|
|
|
86
89
|
import { CrewCommand, HireCommand, DismissCommand, TrainCommand } from './commands/crew.js';
|
|
87
90
|
import { PalmCommand } from './commands/palm.js';
|
|
88
91
|
import { CatalogCommand } from './commands/catalog.js';
|
|
89
|
-
import {
|
|
92
|
+
import { ensureCatalog } from './utilities/catalog.js';
|
|
90
93
|
import { PerformCommand } from './commands/perform.js';
|
|
91
94
|
import { EdgeCommand } from './commands/edge.js';
|
|
92
95
|
import { SheetCommand } from './commands/sheet.js';
|
|
@@ -868,6 +871,9 @@ export default class Game {
|
|
|
868
871
|
* touches this map -- the legacy single-contract path above is the
|
|
869
872
|
* solo behavior, byte for byte. */
|
|
870
873
|
docwagonByPlayer = new Map();
|
|
874
|
+
/** The cloud burn started by close(), awaited briefly so the death
|
|
875
|
+
* screen can show the server-stamped time. */
|
|
876
|
+
_burnInFlight;
|
|
871
877
|
/** Shared-run hook: a player's HTR extraction (stabilized and carried
|
|
872
878
|
* off the job). The hosting server writes their snapshot back and
|
|
873
879
|
* marks them 'left'. */
|
|
@@ -2168,7 +2174,7 @@ export default class Game {
|
|
|
2168
2174
|
if (client.dead) {
|
|
2169
2175
|
this.contacts.delete(client.name);
|
|
2170
2176
|
Logger.getInstance().write(`Client reputation settled: ${client.name} (dead -- no contact).`);
|
|
2171
|
-
return `
|
|
2177
|
+
return `
|
|
2172
2178
|
${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and their friends ask questions.`;
|
|
2173
2179
|
}
|
|
2174
2180
|
const existing = this.contacts.get(client.name);
|
|
@@ -2740,9 +2746,14 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
2740
2746
|
Logger.getInstance().logWithColor(`⚠ Your AI provider refused: "${message.slice(0, 140)}" -- NPC voices and job generation are OFFLINE until the key or credits are fixed. Dice, combat, and coms still work.`, 'yellow');
|
|
2741
2747
|
this.screenRender?.();
|
|
2742
2748
|
};
|
|
2743
|
-
// The
|
|
2749
|
+
// The catalog warms from maka-cli.com in the background
|
|
2744
2750
|
// (utilities/catalog.ts): live list > local cache > baked-in floor.
|
|
2745
|
-
|
|
2751
|
+
//
|
|
2752
|
+
// A VERSION CHECK FIRST, not a download every boot. The server is
|
|
2753
|
+
// asked for a number; the ~900KB list follows only if the local
|
|
2754
|
+
// cache is behind it. Signed-out players are served their cache or
|
|
2755
|
+
// the floor and nothing leaves the machine.
|
|
2756
|
+
void ensureCatalog({ token: authToken() });
|
|
2746
2757
|
// No "Generating Scene... Please wait." box anymore: every path now
|
|
2747
2758
|
// arrives with REAL prose (hand-authored static seeds, chunk-authored
|
|
2748
2759
|
// generated scenes), so the old blocking AI-redressing pass -- 30-60
|
|
@@ -4286,7 +4297,14 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
4286
4297
|
return `The ride never shows and the job address goes dead. ${FIXER_NAME} will not enjoy hearing this -- call him for another.`;
|
|
4287
4298
|
}
|
|
4288
4299
|
}
|
|
4289
|
-
|
|
4300
|
+
/**
|
|
4301
|
+
* `cause` is the engine's own death line ("💀 GAME OVER: ... was gunned
|
|
4302
|
+
* down by ..."). It rides the burn to the server, which makes it the
|
|
4303
|
+
* dossier's headline and the seed of the obituary (maka-cli-com-c3
|
|
4304
|
+
* contract, 2026-09-04). A generic line here would produce a generic
|
|
4305
|
+
* obituary, so the specific one is threaded all the way from the kill.
|
|
4306
|
+
*/
|
|
4307
|
+
async close(cause) {
|
|
4290
4308
|
// PERMADEATH (player ruling): close() is reachable ONLY via
|
|
4291
4309
|
// Scene.endGame(), and endGame fires ONLY on real death (combat
|
|
4292
4310
|
// resolveDeath, street-decides knockout, drain burnout, ward
|
|
@@ -4299,7 +4317,7 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
4299
4317
|
deleteSave(this._saveFilePath);
|
|
4300
4318
|
// The cloud copy burns too -- tombstone-first, so an offline death
|
|
4301
4319
|
// can't be resurrected from the mirror (see cloud-saves.ts).
|
|
4302
|
-
burnCloudSaveFor(this._saveFilePath, this.player.name);
|
|
4320
|
+
this._burnInFlight = burnCloudSaveFor(this._saveFilePath, this.player.name, { manner: 'killed', ...(cause ? { cause } : {}) });
|
|
4303
4321
|
Logger.getInstance().write(`Permadeath: save deleted (${this._saveFilePath}).`);
|
|
4304
4322
|
}
|
|
4305
4323
|
this.stopPursuitHeartbeat();
|
|
@@ -4310,12 +4328,66 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
4310
4328
|
this._inputBox.cancel(); // cancels any active input session
|
|
4311
4329
|
this._inputBox.detach(); // optionally remove from screen
|
|
4312
4330
|
}
|
|
4331
|
+
// ONE LAST THING THEY CAN DO (user, 2026-09-04: "I'd like the player
|
|
4332
|
+
// the option to open it ... as a last command they can do, or quit").
|
|
4333
|
+
// A memorial only comes back for a BOUND runner whose burn reached
|
|
4334
|
+
// the server. An anonymous one dies locally and is offered nothing,
|
|
4335
|
+
// which is right -- there is no dossier to open (user ruling: "an
|
|
4336
|
+
// anonymous runner doesn't need a server stamp, their character is
|
|
4337
|
+
// local").
|
|
4338
|
+
const memorial = await this.deathMemorial();
|
|
4313
4339
|
if (this._screen) {
|
|
4314
4340
|
this._screen.render(); // re-render if needed
|
|
4315
4341
|
this._screen.key(['C-c'], () => {
|
|
4316
4342
|
process.exit(2);
|
|
4317
4343
|
});
|
|
4318
4344
|
}
|
|
4345
|
+
if (memorial)
|
|
4346
|
+
this.offerDossier(memorial);
|
|
4347
|
+
}
|
|
4348
|
+
/**
|
|
4349
|
+
* Waits BRIEFLY for the server to stamp the death and answer with the
|
|
4350
|
+
* memorial. Raced against a timeout on purpose: the burn is already
|
|
4351
|
+
* tombstoned locally and the launcher's sweep finishes it either way,
|
|
4352
|
+
* so a slow or dead network costs the player a moment rather than the
|
|
4353
|
+
* death screen itself.
|
|
4354
|
+
*/
|
|
4355
|
+
async deathMemorial() {
|
|
4356
|
+
if (!this._burnInFlight)
|
|
4357
|
+
return undefined;
|
|
4358
|
+
const timeout = new Promise(resolve => { setTimeout(resolve, 4000).unref?.(); });
|
|
4359
|
+
try {
|
|
4360
|
+
await Promise.race([this._burnInFlight, timeout]);
|
|
4361
|
+
}
|
|
4362
|
+
catch { /* a failed burn is still a death; the sweep finishes it */ }
|
|
4363
|
+
return takeLastMemorial();
|
|
4364
|
+
}
|
|
4365
|
+
/**
|
|
4366
|
+
* The death screen's offer. The URL is ALWAYS printed, for the same
|
|
4367
|
+
* reason the chargen handoff prints its own: a headless or SSH session
|
|
4368
|
+
* has no browser to open, so a link that exists only behind a keypress
|
|
4369
|
+
* is no link at all. Headless sessions reach close() too (Phase C) and
|
|
4370
|
+
* simply have no screen to bind -- the lines still land in the log.
|
|
4371
|
+
*/
|
|
4372
|
+
offerDossier(memorial) {
|
|
4373
|
+
const token = authToken();
|
|
4374
|
+
const url = token
|
|
4375
|
+
? buildDossierUrl(token, memorial.dossier)
|
|
4376
|
+
: `${makaHost().origin}${memorial.dossier}`;
|
|
4377
|
+
const died = new Date(memorial.diedAt);
|
|
4378
|
+
const when = Number.isNaN(died.getTime()) ? memorial.diedAt : died.toLocaleString();
|
|
4379
|
+
const log = Logger.getInstance();
|
|
4380
|
+
log.logWithColor(`Time of death, on the record: ${when}`, 'red');
|
|
4381
|
+
log.logWithColor(`Their dossier: ${url}`, 'red');
|
|
4382
|
+
if (!this._screen)
|
|
4383
|
+
return;
|
|
4384
|
+
log.logWithColor(`Press D to open it, or ctrl-c to quit.`, 'red');
|
|
4385
|
+
this._screen.key(['d', 'D'], () => {
|
|
4386
|
+
openBrowser(url);
|
|
4387
|
+
log.logWithColor(`Opening the dossier. Press ctrl-c when you're done.`, 'red');
|
|
4388
|
+
this._screen?.render();
|
|
4389
|
+
});
|
|
4390
|
+
this._screen.render();
|
|
4319
4391
|
}
|
|
4320
4392
|
/**
|
|
4321
4393
|
* THE CLOCK TICKER (playtest 2026-08-27). The gutter rendered once,
|
|
@@ -4948,6 +5020,38 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
4948
5020
|
* programs / astral will and reads as Armed. White, not gray, for the
|
|
4949
5021
|
* same legibility reason as the stance it now sits beside.
|
|
4950
5022
|
*/
|
|
5023
|
+
/**
|
|
5024
|
+
* THE DOCWAGON SLOT (user, 2026-09-04, after a Matrix fight killed Maka:
|
|
5025
|
+
* "let's setup a status for docwagon level, so it's clear to see that I
|
|
5026
|
+
* don't have one").
|
|
5027
|
+
*
|
|
5028
|
+
* NO CONTRACT IS THE STATE WORTH SEEING, so it is the one drawn in red
|
|
5029
|
+
* and never omitted. A missing wristband is the difference between a
|
|
5030
|
+
* bad fight and a dead character, and the panel that could have said so
|
|
5031
|
+
* showed armor and an AR overlay and nothing about whether anyone was
|
|
5032
|
+
* coming. It reads at a glance now, beside the two slots that already
|
|
5033
|
+
* answer "how ready am I".
|
|
5034
|
+
*
|
|
5035
|
+
* The tier's resuscitations are what the band actually buys (p.450), so
|
|
5036
|
+
* a contract with none left says that rather than the tier name alone --
|
|
5037
|
+
* a Gold that has spent its one free resusc is closer to Basic than to
|
|
5038
|
+
* Gold, and "GOLD" on its own would be a comforting lie.
|
|
5039
|
+
*/
|
|
5040
|
+
docwagonSlot(contract) {
|
|
5041
|
+
if (!contract)
|
|
5042
|
+
return `{red-fg}✚ NO DOCWAGON{/red-fg}`;
|
|
5043
|
+
const tier = contract.tier.replace('-', ' ').toUpperCase();
|
|
5044
|
+
const { freeResuscs } = DOCWAGON_TIERS[contract.tier];
|
|
5045
|
+
// A band with paid-up resuscs is the reassuring case; one that has
|
|
5046
|
+
// spent them still summons a team, it just bills for the table.
|
|
5047
|
+
const resuscs = freeResuscs === 0
|
|
5048
|
+
? ` (billed)`
|
|
5049
|
+
: contract.resuscsLeft > 0
|
|
5050
|
+
? ` (${contract.resuscsLeft} resusc)`
|
|
5051
|
+
: ` (spent -- billed)`;
|
|
5052
|
+
const color = contract.resuscsLeft > 0 ? CALL_COLOR : 'yellow';
|
|
5053
|
+
return `{${color}-fg}✚ ${tier}${resuscs}{/${color}-fg}`;
|
|
5054
|
+
}
|
|
4951
5055
|
armedLine(player) {
|
|
4952
5056
|
const weapon = player.getWeaponProfile();
|
|
4953
5057
|
const weaponItem = player.getCarriedWeapon();
|
|
@@ -5085,7 +5189,14 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
5085
5189
|
// The clock LEFT this line for the gutter beside the prompt. It was
|
|
5086
5190
|
// the last field here, so it was the first thing clipped whenever
|
|
5087
5191
|
// the pane got tight -- the reason the player could not find it.
|
|
5088
|
-
|
|
5192
|
+
// The band reads for whichever player this HUD belongs to: a shared
|
|
5193
|
+
// run keeps contracts per player, solo keeps one on the Game.
|
|
5194
|
+
// Optional chaining because the HUD builder runs against partially
|
|
5195
|
+
// constructed Games in fixtures (threads-on-hud.test.ts builds a stub
|
|
5196
|
+
// with no contract map) -- a status line must never be the thing that
|
|
5197
|
+
// throws, least of all on the panel a dying player is reading.
|
|
5198
|
+
const docwagon = this.docwagonSlot(this.docwagonByPlayer?.get(player.name) ?? (player === this.player ? this.docwagon : undefined));
|
|
5199
|
+
lines.push(`${armorNote}${arSlot} | ${link} | ${docwagon}`);
|
|
5089
5200
|
// Lines 4+: transient states, present only while active. Future
|
|
5090
5201
|
// contexts (astral projection, VR hot-sim) join here the same way.
|
|
5091
5202
|
if (player.sustainedArmor > 0) {
|
|
@@ -5331,7 +5442,7 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
5331
5442
|
const mapInner = mapWidth ?? 15;
|
|
5332
5443
|
const mapView = Math.max(7, mapInner % 2 === 0 ? mapInner - 1 : mapInner);
|
|
5333
5444
|
const mapLines = renderMapViewport(this.scene.getRooms(), here, (r, d) => this.scene.barrierSealing(r, d), {
|
|
5334
|
-
visited: this.player.
|
|
5445
|
+
visited: this.player.can('no-fog') ? undefined /* Mapsoft (p.442): the district drawn and named -- its row's capability (catalog v13) */ : this.player.visitedRooms,
|
|
5335
5446
|
arEyes: this.player.hasMatrixEyes(),
|
|
5336
5447
|
}, mapView, tallestRoomRows());
|
|
5337
5448
|
// The captions the HUD used to carry: where you are under the
|