@maka/maka-cli 5.162.0 → 5.163.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.162.0",
3
+ "version": "5.163.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 3.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 3.x applications using React.",
@@ -1,6 +1,7 @@
1
1
  import { Command } from './command.js';
2
2
  import { hint } from '../utilities/hints.js';
3
3
  import { authToken } from '../utilities/cloud-saves.js';
4
+ import { currentSession } from '../utilities/session-context.js';
4
5
  import { submitBacklog, fetchBacklog, postBacklogComment, postBacklogSignoff, postBacklogReject, postBacklogClose, BACKLOG_STATUSES, } from '../utilities/backlog.js';
5
6
  import { noteBacklogOutcome } from '../utilities/playtester.js';
6
7
  import { takeIndex } from '../utilities/fuzzy-match.js';
@@ -163,6 +164,10 @@ export class BacklogCommand extends Command {
163
164
  cliVersion: cliVersion(),
164
165
  engineVersion: engineVersion(),
165
166
  platform: process.platform,
167
+ // The host names the client (session-context.ts): a browser run's
168
+ // engine is the same code on a linux box, and 'linux' told nobody
169
+ // where the report actually came from (wQEyefjzbwtdmdrJo).
170
+ client: currentSession()?.client ?? 'cli',
166
171
  });
167
172
  // A real call classifies the account for free -- no second request.
168
173
  noteBacklogOutcome(outcome);
@@ -5307,6 +5307,15 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
5307
5307
  const heat = this.heatBand();
5308
5308
  if (heat && player === this.player)
5309
5309
  lines.push(heat);
5310
+ // THE ALARM (kqrSCWjj96SP4MRXj, web run 2026-09-11: "I got a
5311
+ // notification that the alarms sound, but I don't see any
5312
+ // indication in my status bar"). The site going loud was a world
5313
+ // event that scrolled away; Scene.alarmRaised has been the standing
5314
+ // fact since 2026-08-27, and it belongs on the HUD for as long as it
5315
+ // holds. A fact about the PLACE, so every player at the table sees
5316
+ // it -- unlike heat, which is the primary's own ledger.
5317
+ if (this.scene?.alarmRaised)
5318
+ lines.push(`{red-fg}🚨 ALARM -- the site is lit{/red-fg}`);
5310
5319
  // Line 3: the rest of the readiness read -- armor, and whether the
5311
5320
  // commlink is actually live (equipped), the recurring "why can't I
5312
5321
  // call anyone" friction surfaced at a glance. The armed state used
@@ -190,7 +190,7 @@ export function buildPlayerFromSave(save) {
190
190
  }
191
191
  export async function createHeadlessSession(opts) {
192
192
  const logger = new EmitterLogger(opts.sink, opts.debug);
193
- const ctx = { sessionId: opts.sessionId, logger };
193
+ const ctx = { sessionId: opts.sessionId, logger, client: opts.client };
194
194
  return runInSession(ctx, async () => {
195
195
  const primary = buildPlayerFromSave(opts.players[0]);
196
196
  const game = new Game(primary, opts.seed, opts.conditionSink);
@@ -1188,6 +1188,29 @@ export class SharedRunSession {
1188
1188
  }
1189
1189
  if (!verb)
1190
1190
  return '';
1191
+ // PULLING SOMEBODY INTO A LIVE RUN (user 2026-09-11: "ensure that I
1192
+ // can pull in another runner during a live shared run, and the run
1193
+ // won't collapse"). The crew ledger is hub-only (crew.ts), and the
1194
+ // session's party was frozen at createSession -- so out here "crew
1195
+ // invite" had nowhere to go. The server adds the seat to the OPEN
1196
+ // session (sideQuest.inviteToOpen); their commlink buzzes through
1197
+ // the same invite feed, and their taxi seats them through the same
1198
+ // addPlayer a late joiner always used. Nothing about the scene is
1199
+ // touched: the job was sized at draft time and stays that size.
1200
+ const inviteMatch = /^(?:crew|party)\s+invite\s+(.+)$/i.exec(input.trim());
1201
+ if (inviteMatch) {
1202
+ try {
1203
+ const res = await HubLink.call('sideQuest.inviteToOpen', {
1204
+ sessionID: this.sessionID,
1205
+ query: inviteMatch[1].trim(),
1206
+ });
1207
+ return `Invite sent to ${res.memberRunner} -- a seat at this table, mid-job.${res.online ? '' : ` (They're off the street -- it'll wait on their link.)`}`;
1208
+ }
1209
+ catch (err) {
1210
+ const e = err;
1211
+ return `{yellow-fg}${e.reason ?? e.message ?? 'The offer does not go through.'}{/yellow-fg}`;
1212
+ }
1213
+ }
1191
1214
  // THE RIDE HOME: on a shared run the taxi is the settlement
1192
1215
  // handshake, not an engine verb -- the leader closes the table for
1193
1216
  // everyone (snapshots persist, shares already on each stick); a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.162.0",
3
+ "version": "5.163.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 3.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 3.x applications using React.",