@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
|
@@ -10,11 +10,18 @@ import { CATALOG_VERSION, CATALOG_ROWS, isGearRow } from './catalog-data.js';
|
|
|
10
10
|
/**
|
|
11
11
|
* The catalog's delivery chain (player direction: the catalog LIVES on
|
|
12
12
|
* maka-cli.com): the site's GameCatalog collection is the source of
|
|
13
|
-
* truth, fetched
|
|
13
|
+
* truth, fetched with the account's token and cached at
|
|
14
14
|
* ~/.meteor/.maka/side-quest-catalog.json; offline or unreachable, the
|
|
15
15
|
* cache serves; no cache, the baked-in seed (catalog-data.ts) is the
|
|
16
16
|
* floor. The same local-first shape as saves: the street never stops
|
|
17
17
|
* selling because the grid hiccuped.
|
|
18
|
+
*
|
|
19
|
+
* IT USED TO BE PUBLIC -- "no auth, it's world data, and there is
|
|
20
|
+
* nothing secret about a price list". mjmcee's ruling (2026-09-04) is
|
|
21
|
+
* that both routes require auth, which puts the catalog with the rest
|
|
22
|
+
* of the account-holder content rather than with the marketing pages.
|
|
23
|
+
* The floor is what makes that safe to do: signing out costs a player
|
|
24
|
+
* retunes, never a playable game.
|
|
18
25
|
*/
|
|
19
26
|
/**
|
|
20
27
|
* DOMAIN AFFINITY (player ruling: don't overload the Johnson -- the
|
|
@@ -37,7 +44,28 @@ const DEV = process.env.MAKA_DEV === 'True';
|
|
|
37
44
|
const HOSTNAME = DEV ? 'localhost' : 'www.maka-cli.com';
|
|
38
45
|
const PORT = DEV ? Number(process.env.MAKA_DEV_PORT ?? 3000) : 443;
|
|
39
46
|
const TIMEOUT_MS = 8000;
|
|
40
|
-
|
|
47
|
+
/**
|
|
48
|
+
* THE CACHE FILE, and an escape hatch that exists because I poisoned it.
|
|
49
|
+
*
|
|
50
|
+
* Proving the version check meant pointing MAKA_DEV_PORT at a stub HTTP
|
|
51
|
+
* server and letting the real refreshCatalog run against it -- and the
|
|
52
|
+
* "stale" cases did exactly what they are built to do: wrote the stub's
|
|
53
|
+
* 498 invented rows into the player's actual cache. The next reading of
|
|
54
|
+
* that file reported "v14, 498 rows" and looked perfectly healthy,
|
|
55
|
+
* because a poisoned cache is the right SHAPE. Same trap as the
|
|
56
|
+
* manabolt -9 left behind yesterday: a bench run that reaches the real
|
|
57
|
+
* file leaves a lie behind that survives the run.
|
|
58
|
+
*
|
|
59
|
+
* MAKA_CATALOG_CACHE redirects it, so a bench can exercise the genuine
|
|
60
|
+
* writer -- which is the whole point of a bench -- without touching what
|
|
61
|
+
* the player plays from.
|
|
62
|
+
*/
|
|
63
|
+
const CACHE_PATH = process.env.MAKA_CATALOG_CACHE
|
|
64
|
+
?? path.join(os.homedir(), '.meteor', '.maka', 'side-quest-catalog.json');
|
|
65
|
+
const LIST_PATH = '/api/v1/game-catalog/list';
|
|
66
|
+
/** The cheap half of the same collection: what the server HOLDS, without
|
|
67
|
+
* sending it. ~40 bytes against ~900KB for the list. */
|
|
68
|
+
const STAMP_PATH = '/api/v1/game-catalog/version';
|
|
41
69
|
let liveSource;
|
|
42
70
|
let resolved;
|
|
43
71
|
let fetchAttempted = false;
|
|
@@ -74,10 +102,25 @@ function readCache() {
|
|
|
74
102
|
catch { /* no cache */ }
|
|
75
103
|
return undefined;
|
|
76
104
|
}
|
|
77
|
-
|
|
105
|
+
/**
|
|
106
|
+
* The hash is stored as an OPAQUE TOKEN -- whatever the server said
|
|
107
|
+
* about the rows it handed over -- and is never computed here.
|
|
108
|
+
*
|
|
109
|
+
* That is deliberate and it is the whole safety of the thing. Computing
|
|
110
|
+
* it locally would mean a second implementation of maka-cli.com's
|
|
111
|
+
* canonical serialisation (keys sorted at every depth, array order
|
|
112
|
+
* preserved), and any drift between the two -- one key ordered
|
|
113
|
+
* differently, one number formatted differently -- makes every cache
|
|
114
|
+
* look permanently wrong and re-downloads the catalog on every boot,
|
|
115
|
+
* forever, with no error anywhere. Two accessors reading one object by
|
|
116
|
+
* different rules is a failure this repo has already paid for twice.
|
|
117
|
+
*/
|
|
118
|
+
function writeCache(version, items, contentHash) {
|
|
78
119
|
try {
|
|
79
120
|
fs.mkdirSync(path.dirname(CACHE_PATH), { recursive: true });
|
|
80
|
-
fs.writeFileSync(CACHE_PATH, JSON.stringify({
|
|
121
|
+
fs.writeFileSync(CACHE_PATH, JSON.stringify({
|
|
122
|
+
version, fetchedAt: new Date().toISOString(), contentHash, items,
|
|
123
|
+
}), 'utf8');
|
|
81
124
|
}
|
|
82
125
|
catch (err) {
|
|
83
126
|
Logger.getInstance().write(`catalog cache write failed: ${err}`);
|
|
@@ -102,26 +145,46 @@ export function applyLiveCatalog(items, version) {
|
|
|
102
145
|
resolved = undefined;
|
|
103
146
|
resetCatalogHullIndex();
|
|
104
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* One GET, reporting the status rather than throwing on it: the stamp
|
|
150
|
+
* probe has to tell a 404 (an older server, no stamp route) from a 401
|
|
151
|
+
* (a stale token) from a dead socket, and those are three different
|
|
152
|
+
* decisions.
|
|
153
|
+
*
|
|
154
|
+
* THE TOKEN IS PASSED IN, never sourced here. Reading it would mean
|
|
155
|
+
* importing cloud-saves.ts, and that path is catalog -> cloud-saves ->
|
|
156
|
+
* persistence -> player -> catalog: a runtime import cycle, which in
|
|
157
|
+
* this repo means 'Cannot access X before initialization' and a couple
|
|
158
|
+
* of hundred red suites. The caller already holds the token.
|
|
159
|
+
*/
|
|
160
|
+
async function siteGet(apiPath, token) {
|
|
161
|
+
return new Promise((resolve, reject) => {
|
|
162
|
+
const mod = DEV ? http : https;
|
|
163
|
+
const req = mod.request({
|
|
164
|
+
hostname: HOSTNAME, port: PORT, path: apiPath, method: 'GET', timeout: TIMEOUT_MS,
|
|
165
|
+
headers: token === undefined ? {} : { 'x-auth-token': token },
|
|
166
|
+
}, res => {
|
|
167
|
+
let body = '';
|
|
168
|
+
res.on('data', c => { body += c; });
|
|
169
|
+
res.on('end', () => resolve({ statusCode: res.statusCode ?? 0, body }));
|
|
170
|
+
});
|
|
171
|
+
req.on('timeout', () => req.destroy(new Error('timeout')));
|
|
172
|
+
req.on('error', reject);
|
|
173
|
+
req.end();
|
|
174
|
+
});
|
|
175
|
+
}
|
|
105
176
|
/** Fire-and-forget refresh from the site -- call once at session start;
|
|
106
177
|
* the promise resolves when the live list (or a fallback) is settled. */
|
|
107
|
-
export async function refreshCatalog() {
|
|
178
|
+
export async function refreshCatalog(token) {
|
|
108
179
|
if (fetchAttempted)
|
|
109
180
|
return;
|
|
110
181
|
fetchAttempted = true;
|
|
111
182
|
const logger = Logger.getInstance();
|
|
112
183
|
try {
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
res.on('data', c => { body += c; });
|
|
118
|
-
res.on('end', () => (res.statusCode === 200 ? resolve(body) : reject(new Error(`status ${res.statusCode}`))));
|
|
119
|
-
});
|
|
120
|
-
req.on('timeout', () => req.destroy(new Error('timeout')));
|
|
121
|
-
req.on('error', reject);
|
|
122
|
-
req.end();
|
|
123
|
-
});
|
|
124
|
-
const parsed = JSON.parse(data);
|
|
184
|
+
const res = await siteGet(LIST_PATH, token);
|
|
185
|
+
if (res.statusCode !== 200)
|
|
186
|
+
throw new Error(`status ${res.statusCode}`);
|
|
187
|
+
const parsed = JSON.parse(res.body);
|
|
125
188
|
if (Array.isArray(parsed?.items) && parsed.items.length > 0) {
|
|
126
189
|
const version = parseCatalogVersion(parsed.version);
|
|
127
190
|
if (version === undefined) {
|
|
@@ -133,8 +196,15 @@ export async function refreshCatalog() {
|
|
|
133
196
|
}
|
|
134
197
|
const fetched = parsed.items;
|
|
135
198
|
applyLiveCatalog(fetched, version);
|
|
199
|
+
// Stored only if the LIST itself reports it. Taking the hash from
|
|
200
|
+
// the earlier /version probe instead would be a lie waiting to
|
|
201
|
+
// happen: a reseed between the two calls would file the old
|
|
202
|
+
// fingerprint against the new rows, and the cache would then claim
|
|
203
|
+
// to be current content it does not hold -- freezing a rule change
|
|
204
|
+
// until the next version bump. A fingerprint has to travel with
|
|
205
|
+
// the payload it describes, the way an ETag does.
|
|
136
206
|
if (version !== undefined)
|
|
137
|
-
writeCache(version, fetched);
|
|
207
|
+
writeCache(version, fetched, hashOf(parsed.contentHash));
|
|
138
208
|
// Say what is being SERVED, not merely what arrived. The old line
|
|
139
209
|
// reported the fetch count as though it were the answer, which is
|
|
140
210
|
// how a stale server looked like a healthy one in the log while
|
|
@@ -162,6 +232,194 @@ export async function refreshCatalog() {
|
|
|
162
232
|
}
|
|
163
233
|
}
|
|
164
234
|
}
|
|
235
|
+
/** A usable fingerprint, or nothing. Same allow-list discipline as
|
|
236
|
+
* parseCatalogVersion: an empty string is not a hash, and letting one
|
|
237
|
+
* through would make two blank caches look equal to each other. */
|
|
238
|
+
function hashOf(raw) {
|
|
239
|
+
return typeof raw === 'string' && raw.trim() !== '' ? raw : undefined;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* IS THE CACHE STALE? Pure, and separate from every socket, because
|
|
243
|
+
* this is the whole feature: the point of a version check is to NOT
|
|
244
|
+
* download, and "did it skip the download" is a question no assertion
|
|
245
|
+
* about the served rows can answer. (The proof of that is a day old:
|
|
246
|
+
* a fetch returning 498 rows at v14 looked identical to the compiled
|
|
247
|
+
* floor's 498 rows at v14, and proved nothing about which one won.)
|
|
248
|
+
*
|
|
249
|
+
* Stale on any of:
|
|
250
|
+
* - no cache at all -- first play on this machine
|
|
251
|
+
* - the server is ahead -- the ordinary case
|
|
252
|
+
* - the counts disagree -- same version, different content: a
|
|
253
|
+
* half-written cache, or a server that pruned rows without moving
|
|
254
|
+
* the number. Cheap to check and it costs nothing when the server
|
|
255
|
+
* does not report a count.
|
|
256
|
+
*
|
|
257
|
+
* A cache AHEAD of the server is left alone. That is a downgraded or
|
|
258
|
+
* half-seeded server, and overwriting good local content with it is
|
|
259
|
+
* exactly the poisoning `parseCatalogVersion` was written to stop.
|
|
260
|
+
*/
|
|
261
|
+
export function isCacheStale(cache, server) {
|
|
262
|
+
if (!cache)
|
|
263
|
+
return { stale: true, why: 'no cache on this machine' };
|
|
264
|
+
if (server.version > cache.version) {
|
|
265
|
+
return { stale: true, why: `server v${server.version} is ahead of the cached v${cache.version}` };
|
|
266
|
+
}
|
|
267
|
+
// EVERYTHING BELOW IS AT THE SAME VERSION ONLY, and that is the one
|
|
268
|
+
// rule this function has. Written first as a bare count comparison,
|
|
269
|
+
// and the test for "a cache ahead of the server is left alone" caught
|
|
270
|
+
// it immediately: a v14/498 cache against a v13/438 server differs in
|
|
271
|
+
// count for the obvious reason, and the loose check called the newer
|
|
272
|
+
// list stale and downloaded the older one over it -- inverting the
|
|
273
|
+
// very protection the line above provides. The hash is the same shape
|
|
274
|
+
// of trap and worse, because a hash cannot even in principle say
|
|
275
|
+
// which side is newer.
|
|
276
|
+
if (server.version !== cache.version) {
|
|
277
|
+
return { stale: false, why: `cached v${cache.version} is ahead of the server's v${server.version}` };
|
|
278
|
+
}
|
|
279
|
+
// THE CONTENT FINGERPRINT: a value edited without a row added or
|
|
280
|
+
// removed -- the manabolt drain retune that proved this chain -- moves
|
|
281
|
+
// nothing the version or the count can see.
|
|
282
|
+
if (server.contentHash !== undefined && cache.contentHash !== undefined
|
|
283
|
+
&& server.contentHash !== cache.contentHash) {
|
|
284
|
+
return { stale: true, why: `v${cache.version} both sides, but the content differs (${cache.contentHash} -> ${server.contentHash})` };
|
|
285
|
+
}
|
|
286
|
+
// KEPT, AND NOT REDUNDANT. A matching hash with a differing count
|
|
287
|
+
// means the cache FILE lost rows after it was written while keeping
|
|
288
|
+
// the token that describes what it used to hold -- the one case the
|
|
289
|
+
// fingerprint cannot see, because the fingerprint is stored, not
|
|
290
|
+
// computed from what is on disk.
|
|
291
|
+
if (server.count !== undefined && cache.count !== undefined
|
|
292
|
+
&& server.count !== cache.count) {
|
|
293
|
+
return { stale: true, why: `v${cache.version} both sides, but the server holds ${server.count} rows and the cache ${cache.count}` };
|
|
294
|
+
}
|
|
295
|
+
// A CACHE WITH NO FINGERPRINT HEALS ITSELF, ONCE -- and the ONCE is
|
|
296
|
+
// the entire safety of this rule.
|
|
297
|
+
//
|
|
298
|
+
// It was deliberately absent for an hour, because /version reported a
|
|
299
|
+
// hash while /list did not: the fetch would have found no hash to
|
|
300
|
+
// store, written none, and decided identically on the next boot. A
|
|
301
|
+
// full download every boot, forever, shipping in total silence --
|
|
302
|
+
// every assertion about served rows still passes and the player just
|
|
303
|
+
// has a slow game. maka-cli.com now sends the hash with the list
|
|
304
|
+
// (bf47d21), so the refresh this triggers actually stores one and the
|
|
305
|
+
// next boot is quiet. That ordering was the whole reason to wait.
|
|
306
|
+
if (server.contentHash !== undefined && cache.contentHash === undefined) {
|
|
307
|
+
return { stale: true, why: `v${cache.version} both sides, but this cache predates content fingerprinting` };
|
|
308
|
+
}
|
|
309
|
+
return { stale: false, why: `cached v${cache.version} matches the server` };
|
|
310
|
+
}
|
|
311
|
+
/** The cache's own stamp, for the comparison above. */
|
|
312
|
+
export function cacheStamp(readCacheFn = readCache) {
|
|
313
|
+
const cached = readCacheFn();
|
|
314
|
+
const version = parseCatalogVersion(cached?.version);
|
|
315
|
+
if (!cached || version === undefined)
|
|
316
|
+
return undefined;
|
|
317
|
+
return { version, count: cached.items.length, contentHash: hashOf(cached.contentHash) };
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* WHAT `maka play` CALLS (user, 2026-09-04: "local cache creation when a
|
|
321
|
+
* logged in user first does 'maka play', but rather than startup
|
|
322
|
+
* overwrite, let's do a version check first and check it for a stale
|
|
323
|
+
* cache").
|
|
324
|
+
*
|
|
325
|
+
* The old behaviour was a full download on every single boot -- roughly
|
|
326
|
+
* 900KB to re-learn what the machine already knew, on a game that opens
|
|
327
|
+
* in under a second. Now the server is asked for a NUMBER first, and the
|
|
328
|
+
* list is pulled only when that number says the local copy is behind.
|
|
329
|
+
*
|
|
330
|
+
* Two gates, in order:
|
|
331
|
+
*
|
|
332
|
+
* 1. LOGGED IN. The catalog is account-holder content; a logged-out
|
|
333
|
+
* player is served the cache they already have, or the baked-in
|
|
334
|
+
* floor, and no request leaves the machine. They still get a whole,
|
|
335
|
+
* coherent game -- the seed is a floor, not a stub -- they just stop
|
|
336
|
+
* receiving retunes until they sign in.
|
|
337
|
+
* 2. NOT STALE. See isCacheStale.
|
|
338
|
+
*
|
|
339
|
+
* Both the probe and the download are injectable, and that is not a
|
|
340
|
+
* convenience: asserting "it did not download" requires being able to
|
|
341
|
+
* SEE that it did not, and a real socket cannot be asked that question.
|
|
342
|
+
*/
|
|
343
|
+
export async function ensureCatalog(input) {
|
|
344
|
+
const logger = Logger.getInstance();
|
|
345
|
+
const probe = input.probe ?? (() => siteGet(STAMP_PATH, input.token));
|
|
346
|
+
const download = input.download ?? (() => refreshCatalog(input.token));
|
|
347
|
+
// The injected reader is used EVERYWHERE below, log lines included: a
|
|
348
|
+
// bare loadCatalog() reads the developer's own cache file, which is how
|
|
349
|
+
// seven suites in this repo once went red over a real config file.
|
|
350
|
+
const readCacheFn = input.readCacheFn ?? readCache;
|
|
351
|
+
if (input.token === undefined) {
|
|
352
|
+
const cached = cacheStamp(readCacheFn);
|
|
353
|
+
logger.write(cached
|
|
354
|
+
? `Catalog: not signed in -- serving the cached v${cached.version} (${cached.count} rows) as-is; no fetch.`
|
|
355
|
+
: `Catalog: not signed in and no cache -- serving the ${CATALOG_ROWS.length} baked-in items.`);
|
|
356
|
+
return 'logged-out';
|
|
357
|
+
}
|
|
358
|
+
let stamp;
|
|
359
|
+
try {
|
|
360
|
+
stamp = await probe();
|
|
361
|
+
}
|
|
362
|
+
catch (err) {
|
|
363
|
+
logger.write(`Catalog: could not reach maka-cli.com for a version check (${err.message}); `
|
|
364
|
+
+ `serving ${loadCatalog(readCacheFn).length}.`);
|
|
365
|
+
return 'offline';
|
|
366
|
+
}
|
|
367
|
+
if (stamp.statusCode === 404) {
|
|
368
|
+
// An older maka-cli.com that has only /list. Ask for the whole
|
|
369
|
+
// thing, exactly as before -- a missing cheap route must never
|
|
370
|
+
// become a missing catalog.
|
|
371
|
+
logger.write('Catalog: no version route on the server -- falling back to a full fetch.');
|
|
372
|
+
await download();
|
|
373
|
+
return 'no-stamp-route';
|
|
374
|
+
}
|
|
375
|
+
if (stamp.statusCode === 401 || stamp.statusCode === 403) {
|
|
376
|
+
// NOT "offline", and the difference is the whole point of reporting
|
|
377
|
+
// it separately: the grid is up, the account is not. A player whose
|
|
378
|
+
// token expired would otherwise see a line blaming the network and
|
|
379
|
+
// have no idea that `maka login` is the fix. Their game is
|
|
380
|
+
// untouched -- cache, then the baked-in floor, exactly as when
|
|
381
|
+
// signed out -- but the reason is theirs to act on.
|
|
382
|
+
logger.write(`Catalog: maka-cli.com refused the session (${stamp.statusCode}) -- sign in again with "maka login" `
|
|
383
|
+
+ `to receive catalog updates; serving ${loadCatalog(readCacheFn).length}.`);
|
|
384
|
+
return 'unauthorized';
|
|
385
|
+
}
|
|
386
|
+
if (stamp.statusCode !== 200) {
|
|
387
|
+
logger.write(`Catalog: version check returned status ${stamp.statusCode}; serving ${loadCatalog(readCacheFn).length}.`);
|
|
388
|
+
return 'offline';
|
|
389
|
+
}
|
|
390
|
+
let serverVersion;
|
|
391
|
+
let serverCount;
|
|
392
|
+
let serverHash;
|
|
393
|
+
try {
|
|
394
|
+
const parsed = JSON.parse(stamp.body);
|
|
395
|
+
serverVersion = parseCatalogVersion(parsed?.version);
|
|
396
|
+
const n = Number(parsed?.count);
|
|
397
|
+
serverCount = Number.isFinite(n) && n > 0 ? n : undefined;
|
|
398
|
+
serverHash = hashOf(parsed?.contentHash);
|
|
399
|
+
}
|
|
400
|
+
catch { /* handled below as unusable */ }
|
|
401
|
+
if (serverVersion === undefined) {
|
|
402
|
+
// Same reasoning as the unversioned list: a stamp that cannot be
|
|
403
|
+
// compared cannot order anything, so the cheap path has nothing to
|
|
404
|
+
// decide with and the full fetch (which weighs what it gets) runs.
|
|
405
|
+
logger.write('Catalog: the version route sent no usable version -- falling back to a full fetch.');
|
|
406
|
+
await download();
|
|
407
|
+
return 'no-stamp-route';
|
|
408
|
+
}
|
|
409
|
+
const cached = cacheStamp(readCacheFn);
|
|
410
|
+
const verdict = isCacheStale(cached, { version: serverVersion, count: serverCount, contentHash: serverHash });
|
|
411
|
+
if (!verdict.stale) {
|
|
412
|
+
// NOTHING IS DOWNLOADED AND NOTHING IS OVERWRITTEN. The cache is
|
|
413
|
+
// already the best list; loadCatalog reads and weighs it from disk
|
|
414
|
+
// without a live source, so this path needs no assignment at all.
|
|
415
|
+
fetchAttempted = true;
|
|
416
|
+
logger.write(`Catalog: ${verdict.why} -- nothing to download; serving ${loadCatalog(readCacheFn).length}.`);
|
|
417
|
+
return 'fresh';
|
|
418
|
+
}
|
|
419
|
+
logger.write(`Catalog: refreshing -- ${verdict.why}.`);
|
|
420
|
+
await download();
|
|
421
|
+
return 'refreshed';
|
|
422
|
+
}
|
|
165
423
|
/**
|
|
166
424
|
* The best catalog available right now: live > cached > baked-in --
|
|
167
425
|
* except that a cache OLDER than the shipped seed is not "best", it is
|
|
@@ -314,6 +572,12 @@ export function itemFromCatalog(slugOrName) {
|
|
|
314
572
|
}
|
|
315
573
|
/** One effect, in the player's words: "+2 dice to Hacking", "+1 Social limit (haggle)". */
|
|
316
574
|
export function describeEffect(e) {
|
|
575
|
+
// FORBIDDEN carries no value, so it is answered before anything
|
|
576
|
+
// reads one. "You cannot have this" is not a quantity.
|
|
577
|
+
if (e.type === 'forbid') {
|
|
578
|
+
const what = e.property === 'chosen' ? 'the one you named' : e.property.replace(/-/g, ' ');
|
|
579
|
+
return `${what} is closed to you entirely -- not even defaulting`;
|
|
580
|
+
}
|
|
317
581
|
const sign = e.value >= 0 ? '+' : '';
|
|
318
582
|
const scale = e.scaleBy === 'rating' ? ' per rating' : e.scaleBy === 'force' ? ' per Force' : e.scaleBy === 'hits' ? ' per hit' : '';
|
|
319
583
|
const only = e.only ? ` (${e.only.replace(/-/g, ' ')})` : '';
|
|
@@ -325,6 +589,11 @@ export function describeEffect(e) {
|
|
|
325
589
|
case 'attribute': return e.category === 'matrix' ? `${sign}${e.value} ${word === 'dataProcessing' ? 'Data Processing' : word}${only}${when}` : `${sign}${e.value}${scale} ${word}${only}${when}`;
|
|
326
590
|
case 'initiative': return `${sign}${e.value} initiative ${word}${only}${when}`;
|
|
327
591
|
case 'flag': return `grants ${word}${e.value > 1 ? ` ${e.value}` : ''}${only}${when}`;
|
|
592
|
+
// A ceiling reads as what it lets you REACH, not as dice you roll:
|
|
593
|
+
// Aptitude does not make you better, it lets you get better.
|
|
594
|
+
case 'cap': return e.property === 'chosen'
|
|
595
|
+
? `${sign}${e.value} to the maximum of one chosen ${e.category === 'skills' ? 'skill' : 'attribute'}${only}`
|
|
596
|
+
: `${sign}${e.value} to the ${word} maximum${only}`;
|
|
328
597
|
}
|
|
329
598
|
}
|
|
330
599
|
/** Fuzzy lookup for source.ts: exact slug, exact name, then loose
|
|
@@ -364,4 +633,59 @@ export function findCatalogItem(request) {
|
|
|
364
633
|
});
|
|
365
634
|
return scored.length === 1 ? scored[0] : undefined;
|
|
366
635
|
}
|
|
636
|
+
/**
|
|
637
|
+
* A SPELL'S RULES, FROM THE CATALOG.
|
|
638
|
+
*
|
|
639
|
+
* mjmcee, 2026-09-04: "Why can't the engine rules be pulled dynamically?
|
|
640
|
+
* The engine rule comes from the catalog. We shouldn't be hard coding
|
|
641
|
+
* the rules."
|
|
642
|
+
*
|
|
643
|
+
* Every consumer used to read `SPELLS[key]` -- a Record compiled into the
|
|
644
|
+
* binary, which no live catalog could ever influence. This reads the
|
|
645
|
+
* RESOLVED catalog instead (live > cache > seed, the chain `loadCatalog`
|
|
646
|
+
* already runs), so a spell retuned on maka-cli.com reaches a player on
|
|
647
|
+
* their next fetch rather than their next install.
|
|
648
|
+
*
|
|
649
|
+
* THE COMPILED LIST IS STILL THE FLOOR, and that is not a fallback bolted
|
|
650
|
+
* on -- it IS the seed arm of that chain. Offline with no cache, this
|
|
651
|
+
* returns exactly what `SPELLS[key]` returned, which is why the switch is
|
|
652
|
+
* safe to make before the fixture exists.
|
|
653
|
+
*
|
|
654
|
+
* It reconstructs an ISpell from the row rather than the reverse, because
|
|
655
|
+
* the row is the wider shape: `spell` carries the stat block, `effects`
|
|
656
|
+
* carries what it does while sustained, and the top level carries name
|
|
657
|
+
* and page. `cast` joined the block for exactly this -- it was the one
|
|
658
|
+
* field a row could not supply, and so the one thing keeping spells
|
|
659
|
+
* compiled in.
|
|
660
|
+
*/
|
|
661
|
+
export function spellFor(key) {
|
|
662
|
+
if (!spellIndex) {
|
|
663
|
+
spellIndex = new Map();
|
|
664
|
+
for (const row of loadCatalog()) {
|
|
665
|
+
if (row.kind !== 'spell')
|
|
666
|
+
continue;
|
|
667
|
+
const sp = row.spell;
|
|
668
|
+
spellIndex.set(row.slug, {
|
|
669
|
+
key: row.slug,
|
|
670
|
+
name: row.name,
|
|
671
|
+
page: row.page ?? '',
|
|
672
|
+
...sp,
|
|
673
|
+
...(row.effects !== undefined ? { effects: row.effects } : {}),
|
|
674
|
+
});
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
return spellIndex.get(key);
|
|
678
|
+
}
|
|
679
|
+
/** Every spell the resolved catalog knows, for pickers and validation. */
|
|
680
|
+
export function catalogSpells() {
|
|
681
|
+
return loadCatalog()
|
|
682
|
+
.filter((r) => r.kind === 'spell')
|
|
683
|
+
.map(r => spellFor(r.slug))
|
|
684
|
+
.filter(Boolean);
|
|
685
|
+
}
|
|
686
|
+
let spellIndex;
|
|
687
|
+
/** Drops the spell index; production invalidates via refreshCatalog. */
|
|
688
|
+
export function resetSpellIndex() {
|
|
689
|
+
spellIndex = undefined;
|
|
690
|
+
}
|
|
367
691
|
//# sourceMappingURL=catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,44 @@ export declare function fetchSummaries(): Promise<{
|
|
|
45
45
|
}>;
|
|
46
46
|
export declare function fetchSave(slug: string): Promise<ISaveFileV1 | undefined>;
|
|
47
47
|
/** POST-tunneled delete (the HTTPS helper speaks GET/POST only). */
|
|
48
|
-
|
|
48
|
+
/**
|
|
49
|
+
* HOW A RUNNER DIED, SENT WITH THE BURN (maka-cli-com-c3 contract,
|
|
50
|
+
* 2026-09-04). Permadeath is still a DELETE and the save is still
|
|
51
|
+
* destroyed -- what the server writes in the moment before the burn is a
|
|
52
|
+
* MEMORIAL: identity and life, never state. There is no diedAt on the
|
|
53
|
+
* save because there is no save.
|
|
54
|
+
*
|
|
55
|
+
* The TIME is the server's and only the server's: the CLI sends no
|
|
56
|
+
* timestamp, and any it sent would be ignored. A client clock cannot be
|
|
57
|
+
* the record of when a character died.
|
|
58
|
+
*
|
|
59
|
+
* `cause` is the engine's own death line, which becomes the dossier's
|
|
60
|
+
* headline and the seed of the obituary prose -- so the specific line
|
|
61
|
+
* ("flatlined by Black IC in a Renraku host") is worth carrying all the
|
|
62
|
+
* way here rather than a generic one.
|
|
63
|
+
*
|
|
64
|
+
* ANONYMOUS RUNNERS NEVER REACH THIS (user ruling, 2026-09-04: "an
|
|
65
|
+
* anonymous runner doesn't need a server stamp, their character is
|
|
66
|
+
* local"). They have no cloud save to burn; their tombstone stays
|
|
67
|
+
* client-stamped in `at`, and nothing here pretends otherwise.
|
|
68
|
+
*/
|
|
69
|
+
export interface IBurnManner {
|
|
70
|
+
manner: 'killed' | 'retired';
|
|
71
|
+
/** The engine's death line. Trimmed to the server's 500-char cap. */
|
|
72
|
+
cause?: string;
|
|
73
|
+
}
|
|
74
|
+
/** What the server stamped as it buried them. Absent when there was
|
|
75
|
+
* nothing to memorialize (an anonymous runner, or no cloud save). */
|
|
76
|
+
export interface IMemorial {
|
|
77
|
+
slug: string;
|
|
78
|
+
/** ISO, SERVER clock. */
|
|
79
|
+
diedAt: string;
|
|
80
|
+
manner: string;
|
|
81
|
+
/** Path to the dossier, e.g. /characters/<slug>/dossier. */
|
|
82
|
+
dossier: string;
|
|
83
|
+
}
|
|
84
|
+
export declare function takeLastMemorial(): IMemorial | undefined;
|
|
85
|
+
export declare function deleteCloudSave(slug: string, how?: IBurnManner): Promise<CloudResult>;
|
|
49
86
|
/**
|
|
50
87
|
* PERMADEATH's cloud half (Game.close burns the local slot first). The
|
|
51
88
|
* tombstone is written SYNCHRONOUSLY before the async delete attempt --
|
|
@@ -53,7 +90,7 @@ export declare function deleteCloudSave(slug: string): Promise<CloudResult>;
|
|
|
53
90
|
* the marker survives and the launcher deletes the cloud copy when next
|
|
54
91
|
* reachable, instead of resurrecting the dead from the mirror.
|
|
55
92
|
*/
|
|
56
|
-
export declare function burnCloudSaveFor(saveFilePath: string, playerName: string): void
|
|
93
|
+
export declare function burnCloudSaveFor(saveFilePath: string, playerName: string, how?: IBurnManner): Promise<void>;
|
|
57
94
|
/**
|
|
58
95
|
* "Delete character" (launcher menu): the local slot dies now, the
|
|
59
96
|
* cloud copy dies now if reachable -- and when it isn't, the tombstone
|
|
@@ -207,3 +244,29 @@ export declare function leaseRefusesBoot(result: LeaseResult): boolean;
|
|
|
207
244
|
*/
|
|
208
245
|
export declare function startLeaseRenewal(slug: string, sessionId: string, everyMs?: number): void;
|
|
209
246
|
export declare function stopLeaseRenewal(): void;
|
|
247
|
+
/**
|
|
248
|
+
* IS THIS STREET NAME FREE ON THIS ACCOUNT? (user, 2026-09-04: "when
|
|
249
|
+
* creating a new character, and the name is asked, can there be a gate
|
|
250
|
+
* to the next step that if the character name is already taken (for that
|
|
251
|
+
* account) it won't continue".)
|
|
252
|
+
*
|
|
253
|
+
* Asks the SERVER'S rule rather than reimplementing it. A first cut
|
|
254
|
+
* listed /game-saves and compared slugs here, which was wrong in a way
|
|
255
|
+
* that would only have shown up at create time: game-saves is LIVING
|
|
256
|
+
* runners, so it misses the fallen whose memorial still holds the name
|
|
257
|
+
* and this account's draft worksheets, both of which the create route
|
|
258
|
+
* refuses on. One rule, one place -- the same lesson the Conjurer taught
|
|
259
|
+
* this morning, applied across a network boundary instead of a module.
|
|
260
|
+
*
|
|
261
|
+
* The endpoint always answers 200; the verdict is in the body
|
|
262
|
+
* (maka-cli-com-c3 contract, chargen-name.ts).
|
|
263
|
+
*
|
|
264
|
+
* `undefined` means COULD NOT ASK -- logged out, offline, refused -- and
|
|
265
|
+
* is deliberately distinct from "free". The caller lets an unverifiable
|
|
266
|
+
* name through: a naming gate must not stop somebody starting a
|
|
267
|
+
* character on a train, and the create route still holds the line.
|
|
268
|
+
*/
|
|
269
|
+
export declare function checkRunnerName(name: string): Promise<{
|
|
270
|
+
free: boolean;
|
|
271
|
+
message?: string;
|
|
272
|
+
} | undefined>;
|