@maka/maka-cli 5.13.0 → 5.14.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.
Files changed (133) hide show
  1. package/bundle/typescript/package.json +2 -2
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +2 -2
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +5 -5
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +48 -37
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +14 -14
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +25 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js +6 -2
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/crew.d.ts +43 -0
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/crew.js +259 -0
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/crew.js.map +1 -0
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.js +6 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.js.map +1 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/give.js +15 -2
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/give.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +8 -6
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js +3 -3
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +3 -3
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.d.ts +5 -4
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +45 -27
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/job-offer.js +12 -7
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/job-offer.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.d.ts +5 -4
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +31 -17
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/order.js +21 -10
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/order.js.map +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/palm.js +1 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/palm.js.map +1 -1
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/perform.js +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/perform.js.map +1 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js +1 -1
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.js +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.js.map +1 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js.map +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +1 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +21 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +1 -1
  56. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.d.ts +2 -1
  58. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +81 -3
  59. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +1 -1
  61. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +3 -3
  63. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  64. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js +4 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js.map +1 -1
  66. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +2 -0
  67. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +15 -2
  69. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +70 -35
  70. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  71. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.d.ts +16 -5
  72. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +36 -8
  73. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +139 -4
  75. package/bundle/typescript/src/commands/game/sideQuest/game.js +591 -85
  76. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  77. package/bundle/typescript/src/commands/game/sideQuest/headless.d.ts +91 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/headless.js +188 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +1 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +50 -4
  81. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +60 -11
  83. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +261 -109
  84. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
  85. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +11 -11
  86. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +22 -2
  87. package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +8 -0
  88. package/bundle/typescript/src/commands/game/sideQuest/ui.js +7 -5
  89. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  90. package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.d.ts +6 -4
  91. package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js +36 -24
  92. package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js.map +1 -1
  93. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +7 -1
  94. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +59 -18
  95. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
  96. package/bundle/typescript/src/commands/game/sideQuest/utilities/command-queue.d.ts +19 -0
  97. package/bundle/typescript/src/commands/game/sideQuest/utilities/command-queue.js +56 -0
  98. package/bundle/typescript/src/commands/game/sideQuest/utilities/command-queue.js.map +1 -0
  99. package/bundle/typescript/src/commands/game/sideQuest/utilities/crew-ledger.d.ts +21 -0
  100. package/bundle/typescript/src/commands/game/sideQuest/utilities/crew-ledger.js +25 -0
  101. package/bundle/typescript/src/commands/game/sideQuest/utilities/crew-ledger.js.map +1 -0
  102. package/bundle/typescript/src/commands/game/sideQuest/utilities/emitter.d.ts +44 -0
  103. package/bundle/typescript/src/commands/game/sideQuest/utilities/emitter.js +22 -0
  104. package/bundle/typescript/src/commands/game/sideQuest/utilities/emitter.js.map +1 -0
  105. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.d.ts +4 -1
  106. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js +5 -2
  107. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js.map +1 -1
  108. package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.d.ts +4 -0
  109. package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.js +24 -7
  110. package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.js.map +1 -1
  111. package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.d.ts +6 -5
  112. package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js +30 -6
  113. package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js.map +1 -1
  114. package/bundle/typescript/src/commands/game/sideQuest/utilities/session-context.d.ts +28 -0
  115. package/bundle/typescript/src/commands/game/sideQuest/utilities/session-context.js +9 -0
  116. package/bundle/typescript/src/commands/game/sideQuest/utilities/session-context.js.map +1 -0
  117. package/bundle/typescript/src/commands/game/sideQuest/utilities/social.d.ts +50 -0
  118. package/bundle/typescript/src/commands/game/sideQuest/utilities/social.js +166 -0
  119. package/bundle/typescript/src/commands/game/sideQuest/utilities/social.js.map +1 -0
  120. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +1 -1
  121. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  122. package/bundle/typescript/src/commands/generate.js +7 -0
  123. package/bundle/typescript/src/commands/generate.js.map +1 -1
  124. package/bundle/typescript/src/tools/mpi/mpi.class.js +46 -3
  125. package/bundle/typescript/src/tools/mpi/mpi.class.js.map +1 -1
  126. package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +1 -0
  127. package/bundle/typescript/src/tools/mpi/sdk-runtime.js +23 -0
  128. package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +1 -1
  129. package/bundle/typescript/src/tools/pkg/pkg.class.js +11 -1
  130. package/bundle/typescript/src/tools/pkg/pkg.class.js.map +1 -1
  131. package/bundle/typescript/src/tools/scaffold/scaffold.class.js +8 -1
  132. package/bundle/typescript/src/tools/scaffold/scaffold.class.js.map +1 -1
  133. package/package.json +2 -2
@@ -1,11 +1,12 @@
1
1
  import { Widgets } from 'blessed';
2
+ import type { Scope } from './emitter.js';
2
3
  type BlessedColor = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray' | 'lightred' | 'lightgreen' | 'lightblue' | 'lightmagenta' | 'lightcyan' | 'lightgray';
3
4
  export declare class Logger {
4
5
  private static instance;
5
6
  private filePath;
6
7
  private transcriptPath;
7
8
  private screen?;
8
- private constructor();
9
+ protected constructor(filePath: string | null, screen?: Widgets.Screen);
9
10
  static getInstance(filePath?: string, screen?: Widgets.Screen): Logger;
10
11
  private ensureLogFileExists;
11
12
  /**
@@ -13,11 +14,11 @@ export declare class Logger {
13
14
  * short local-time prefix, render tags stripped. Everything the player
14
15
  * SEES belongs here; internals stay in write()/error() (game.log).
15
16
  */
16
- transcript(message: string): void;
17
+ transcript(message: string, _scope?: Scope): void;
17
18
  write(message: string): void;
18
19
  error(message: string): void;
19
- log(message: string): void;
20
- logWithColor(message: string, color?: BlessedColor): void;
20
+ log(message: string, _scope?: Scope): void;
21
+ logWithColor(message: string, color?: BlessedColor, scope?: Scope): void;
21
22
  /**
22
23
  * The MECHANICS ticker (readability pass): dice anatomy and resource
23
24
  * arithmetic split off the narrative into the small metaBox under the
@@ -26,7 +27,7 @@ export declare class Logger {
26
27
  * the mechanics lines). No metaBox on this screen (harness stubs,
27
28
  * pre-UI paths) is normal, not a fault -- fall back to the system log.
28
29
  */
29
- meta(message: string, color?: BlessedColor): void;
30
+ meta(message: string, color?: BlessedColor, _scope?: Scope): void;
30
31
  hasScreen(): boolean;
31
32
  }
32
33
  export {};
@@ -1,9 +1,13 @@
1
1
  import fs from 'fs';
2
2
  import os from 'os';
3
3
  import path from 'path';
4
+ import { currentSession } from './session-context.js';
4
5
  const homeDir = os.homedir();
5
6
  export class Logger {
6
7
  static instance;
8
+ // null = a file-less logger (headless session subclasses): every
9
+ // fs-touching method quietly no-ops instead of writing into whatever
10
+ // homedir the hosting process happens to have.
7
11
  filePath;
8
12
  // The play-by-play transcript (player request: split the log in two).
9
13
  // game.log keeps the system's [INFO]/[ERROR] internals; session.log
@@ -11,13 +15,21 @@ export class Logger {
11
15
  // what the game answered, what the log box showed.
12
16
  transcriptPath;
13
17
  screen; // Ensure this is defined
18
+ // Protected, not private (Phase C M2): headless sessions subclass this
19
+ // (EmitterLogger) to turn the same ~350 call sites into an event
20
+ // stream instead of widgets and files.
14
21
  constructor(filePath, screen) {
15
22
  this.filePath = filePath;
16
- this.transcriptPath = path.join(path.dirname(filePath), 'session.log');
23
+ this.transcriptPath = filePath === null ? null : path.join(path.dirname(filePath), 'session.log');
17
24
  this.screen = screen;
18
25
  this.ensureLogFileExists();
19
26
  }
20
27
  static getInstance(filePath = path.join(homeDir, '.maka', 'side-quest.log'), screen) {
28
+ // A headless session's context wins (see session-context.ts) -- the
29
+ // solo game never enters one, so its singleton path is untouched.
30
+ const ctx = currentSession();
31
+ if (ctx)
32
+ return ctx.logger;
21
33
  if (!Logger.instance) {
22
34
  if (!screen) {
23
35
  throw new Error("Screen must be provided when initializing the Logger for the first time.");
@@ -27,6 +39,8 @@ export class Logger {
27
39
  return Logger.instance;
28
40
  }
29
41
  ensureLogFileExists() {
42
+ if (this.filePath === null || this.transcriptPath === null)
43
+ return;
30
44
  const dirPath = path.dirname(this.filePath);
31
45
  // Check if directory exists
32
46
  if (!fs.existsSync(dirPath)) {
@@ -45,7 +59,9 @@ export class Logger {
45
59
  * short local-time prefix, render tags stripped. Everything the player
46
60
  * SEES belongs here; internals stay in write()/error() (game.log).
47
61
  */
48
- transcript(message) {
62
+ transcript(message, _scope) {
63
+ if (this.transcriptPath === null)
64
+ return;
49
65
  const t = new Date();
50
66
  const hh = String(t.getHours()).padStart(2, '0');
51
67
  const mm = String(t.getMinutes()).padStart(2, '0');
@@ -54,17 +70,25 @@ export class Logger {
54
70
  fs.appendFileSync(this.transcriptPath, `[${hh}:${mm}:${ss}] ${stripped}\n`);
55
71
  }
56
72
  write(message) {
73
+ if (this.filePath === null)
74
+ return;
57
75
  const timestamp = new Date().toISOString();
58
76
  const logMessage = `[INFO] [${timestamp}] ${message}\n`;
59
77
  fs.appendFileSync(this.filePath, logMessage);
60
78
  }
61
79
  // Writes an error log message
62
80
  error(message) {
81
+ if (this.filePath === null)
82
+ return;
63
83
  const timestamp = new Date().toISOString();
64
84
  const errorMessage = `[ERROR] [${timestamp}] ${message}\n`;
65
85
  fs.appendFileSync(this.filePath, errorMessage);
66
86
  }
67
- log(message) {
87
+ // The optional `scope` on log/logWithColor/meta is inert here -- the
88
+ // solo screen shows the local player everything its callers already
89
+ // gated for. A headless session's EmitterLogger reads it (or applies
90
+ // the ambient dispatch default) to stamp per-player visibility.
91
+ log(message, _scope) {
68
92
  const logBox = this.screen?.children.find(child => child.type === 'box' && child.options.id === 'logBox');
69
93
  if (logBox) {
70
94
  logBox.insertBottom(message); // Supports color tags
@@ -82,9 +106,9 @@ export class Logger {
82
106
  // not the system log (player request: two files).
83
107
  this.transcript(message);
84
108
  }
85
- logWithColor(message, color = 'white') {
109
+ logWithColor(message, color = 'white', scope) {
86
110
  const coloredMessage = `{${color}-fg}${message}{/${color}-fg}`;
87
- this.log(coloredMessage);
111
+ this.log(coloredMessage, scope);
88
112
  }
89
113
  /**
90
114
  * The MECHANICS ticker (readability pass): dice anatomy and resource
@@ -94,7 +118,7 @@ export class Logger {
94
118
  * the mechanics lines). No metaBox on this screen (harness stubs,
95
119
  * pre-UI paths) is normal, not a fault -- fall back to the system log.
96
120
  */
97
- meta(message, color) {
121
+ meta(message, color, _scope) {
98
122
  this.transcript(` · ${message}`);
99
123
  const metaBox = this.screen?.children.find(child => child.type === 'box' && child.options.id === 'metaBox');
100
124
  if (!metaBox) {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAoB7B,MAAM,OAAO,MAAM;IACT,MAAM,CAAC,QAAQ,CAAS;IACxB,QAAQ,CAAS;IACzB,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,mDAAmD;IAC3C,cAAc,CAAS;IACvB,MAAM,CAAkB,CAAE,yBAAyB;IAE3D,YAAoB,QAAgB,EAAE,MAAuB;QAC3D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,WAAmB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAuB;QACjH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEO,mBAAmB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5C,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAe;QACxB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,WAAW,SAAS,KAAK,OAAO,IAAI,CAAC;QACxD,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE/C,CAAC;IAGD,8BAA8B;IAC9B,KAAK,CAAC,OAAe;QACnB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,YAAY,SAAS,KAAK,OAAO,IAAI,CAAC;QAC3D,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CACvC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,CAC7B,CAAC;QAEpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;YACpD,6DAA6D;YAC7D,6CAA6C;YAC7C,IAAK,MAA0D,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;gBACvF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,cAAc,MAAM,iCAAiC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,OAAe,EAAE,QAAsB,OAAO;QACzD,MAAM,cAAc,GAAG,IAAI,KAAK,OAAO,OAAO,KAAK,KAAK,MAAM,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,OAAe,EAAE,KAAoB;QACxC,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CACxC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAC9B,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Logger } from './logger.js';
2
+ /**
3
+ * PER-SESSION CONTEXT (Phase C M2): the engine's one process-global that
4
+ * genuinely blocks multi-session hosting is the Logger singleton --
5
+ * ~350 call sites reach for Logger.getInstance() bare. Rather than
6
+ * threading a logger through every constructor, a headless session runs
7
+ * its work inside this AsyncLocalStorage context and getInstance()
8
+ * resolves to the SESSION's logger first, falling back to the classic
9
+ * singleton (the solo game never enters a context, so its path is
10
+ * untouched).
11
+ *
12
+ * ALS is the mechanism because it propagates automatically through
13
+ * promises, timers scheduled inside the context, and the fire-and-forget
14
+ * NPC hear/see chains -- zero call-site edits.
15
+ *
16
+ * `dispatch` names the human player whose command is currently
17
+ * executing -- the ambient default for event scoping (see emitter.ts):
18
+ * their log lines default to their room, their dice to their eyes only.
19
+ */
20
+ export interface SessionContext {
21
+ sessionId: string;
22
+ logger: Logger;
23
+ dispatch?: {
24
+ actorName: string;
25
+ };
26
+ }
27
+ export declare function currentSession(): SessionContext | undefined;
28
+ export declare function runInSession<T>(ctx: SessionContext, fn: () => T): T;
@@ -0,0 +1,9 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ const sessionAls = new AsyncLocalStorage();
3
+ export function currentSession() {
4
+ return sessionAls.getStore();
5
+ }
6
+ export function runInSession(ctx, fn) {
7
+ return sessionAls.run(ctx, fn);
8
+ }
9
+ //# sourceMappingURL=session-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-context.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/session-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA2BrD,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAkB,CAAC;AAE3D,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,GAAmB,EAAE,EAAW;IAC9D,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,50 @@
1
+ export declare function ghostHireable(): boolean;
2
+ export declare function setGhostHireable(on: boolean): void;
3
+ export interface IPresencePayload {
4
+ playerName: string;
5
+ slug: string;
6
+ hubName?: string;
7
+ ghostHireable: boolean;
8
+ summary: {
9
+ archetypeName?: string;
10
+ karma: number;
11
+ streetCred?: number;
12
+ };
13
+ }
14
+ /** Fire-and-forget hub heartbeat. Silent on every failure mode. */
15
+ export declare function heartbeatPresence(payload: IPresencePayload): Promise<void>;
16
+ export interface IStreetPlayer {
17
+ handle: string;
18
+ playerName: string;
19
+ slug: string;
20
+ archetypeName?: string;
21
+ karma: number;
22
+ streetCred: number;
23
+ online: boolean;
24
+ ghostHireable: boolean;
25
+ }
26
+ export declare function fetchPlayers(): Promise<IStreetPlayer[] | undefined>;
27
+ export interface IGhostSheet {
28
+ playerName: string;
29
+ slug: string;
30
+ owner: string;
31
+ archetypeName?: string;
32
+ attributes: Record<string, unknown>;
33
+ skills: Record<string, number>;
34
+ gear: Record<string, unknown>[];
35
+ karma: number;
36
+ }
37
+ export declare function fetchGhost(owner: string, slug: string): Promise<IGhostSheet | undefined>;
38
+ /** Push unsynced ghost earnings up; mark rows synced on acceptance.
39
+ * Fire-and-forget from homecoming/session start. */
40
+ export declare function syncCrewLedger(): Promise<void>;
41
+ /** Claim what YOUR runner earned riding in other players' crews.
42
+ * Returns the settled total + lines, or undefined when nothing/offline. */
43
+ export declare function claimGhostEarnings(slug: string): Promise<{
44
+ total: number;
45
+ entries: {
46
+ amount: number;
47
+ job: string;
48
+ hiredBy: string;
49
+ }[];
50
+ } | undefined>;
@@ -0,0 +1,166 @@
1
+ import * as http from 'http';
2
+ import * as https from 'https';
3
+ import { Logger } from './logger.js';
4
+ import { authToken } from './cloud-saves.js';
5
+ import { readCrewLedger } from './crew-ledger.js';
6
+ import * as fs from 'fs';
7
+ import * as os from 'os';
8
+ import * as path from 'path';
9
+ /**
10
+ * THE SOCIAL LAYER, CLI side (party system Phase B): presence
11
+ * heartbeats while at the hub, the street's player list, ghost-sheet
12
+ * fetches (hire another player's runner as an AI-driven crew member),
13
+ * and the earnings ledger sync that routes a ghost's cut home. Same
14
+ * transport school as cloud-saves.ts: own http/https (the shared HTTPS
15
+ * tool is 443-only), MAKA_DEV env switch, x-auth-token, short timeouts,
16
+ * and everything degrades to a silent no-op when logged out or offline
17
+ * -- the street never stops working because the grid hiccuped.
18
+ */
19
+ const DEV = process.env.MAKA_DEV === 'True';
20
+ const HOSTNAME = DEV ? 'localhost' : 'www.maka-cli.com';
21
+ const PORT = DEV ? Number(process.env.MAKA_DEV_PORT ?? 3000) : 443;
22
+ const API_BASE = 'api/v1/game-social';
23
+ const TIMEOUT_MS = 8000;
24
+ function request(method, apiPath, token, body) {
25
+ return new Promise((resolve, reject) => {
26
+ const payload = body === undefined ? undefined : JSON.stringify(body);
27
+ const mod = DEV ? http : https;
28
+ const req = mod.request({
29
+ hostname: HOSTNAME,
30
+ port: PORT,
31
+ path: apiPath,
32
+ method,
33
+ timeout: TIMEOUT_MS,
34
+ headers: {
35
+ 'x-auth-token': token,
36
+ ...(payload !== undefined
37
+ ? { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(payload) }
38
+ : {}),
39
+ },
40
+ }, res => {
41
+ let data = '';
42
+ res.on('data', chunk => { data += chunk; });
43
+ res.on('end', () => resolve({ statusCode: res.statusCode ?? 0, data }));
44
+ });
45
+ req.on('timeout', () => req.destroy(new Error('Request timeout')));
46
+ req.on('error', reject);
47
+ if (payload !== undefined)
48
+ req.write(payload);
49
+ req.end();
50
+ });
51
+ }
52
+ function parseData(raw) {
53
+ try {
54
+ const parsed = JSON.parse(raw);
55
+ return (parsed?.data ?? parsed);
56
+ }
57
+ catch {
58
+ return undefined;
59
+ }
60
+ }
61
+ // ---- The "hireable while away" opt-in (global-config, hints.ts school) ----
62
+ const GLOBAL_CONFIG_PATH = path.join(os.homedir(), '.meteor', '.maka', 'global-config.json');
63
+ export function ghostHireable() {
64
+ try {
65
+ const cfg = JSON.parse(fs.readFileSync(GLOBAL_CONFIG_PATH, 'utf8'));
66
+ return cfg?.sideQuest?.ghostHireable === true;
67
+ }
68
+ catch {
69
+ return false;
70
+ }
71
+ }
72
+ export function setGhostHireable(on) {
73
+ try {
74
+ const cfg = JSON.parse(fs.readFileSync(GLOBAL_CONFIG_PATH, 'utf8'));
75
+ cfg.sideQuest = { ...(cfg.sideQuest ?? {}), ghostHireable: on };
76
+ fs.writeFileSync(GLOBAL_CONFIG_PATH, JSON.stringify(cfg, null, 2));
77
+ }
78
+ catch {
79
+ /* no config yet -- the flag only means anything when logged in */
80
+ }
81
+ }
82
+ /** Fire-and-forget hub heartbeat. Silent on every failure mode. */
83
+ export async function heartbeatPresence(payload) {
84
+ const token = authToken();
85
+ if (!token)
86
+ return;
87
+ try {
88
+ await request('POST', `/${API_BASE}/presence`, token, payload);
89
+ }
90
+ catch {
91
+ /* offline -- the street doesn't care */
92
+ }
93
+ }
94
+ export async function fetchPlayers() {
95
+ const token = authToken();
96
+ if (!token)
97
+ return undefined;
98
+ try {
99
+ const res = await request('GET', `/${API_BASE}/players`, token);
100
+ if (res.statusCode !== 200)
101
+ return undefined;
102
+ return parseData(res.data)?.players;
103
+ }
104
+ catch {
105
+ return undefined;
106
+ }
107
+ }
108
+ export async function fetchGhost(owner, slug) {
109
+ const token = authToken();
110
+ if (!token)
111
+ return undefined;
112
+ try {
113
+ const res = await request('GET', `/${API_BASE}/ghost/${encodeURIComponent(slug)}?owner=${encodeURIComponent(owner)}`, token);
114
+ if (res.statusCode !== 200)
115
+ return undefined;
116
+ return parseData(res.data)?.ghost;
117
+ }
118
+ catch {
119
+ return undefined;
120
+ }
121
+ }
122
+ // ---- Ledger sync ----
123
+ const LEDGER_PATH = path.join(os.homedir(), '.meteor', '.maka', 'side-quest-ledger.json');
124
+ /** Push unsynced ghost earnings up; mark rows synced on acceptance.
125
+ * Fire-and-forget from homecoming/session start. */
126
+ export async function syncCrewLedger() {
127
+ const token = authToken();
128
+ if (!token)
129
+ return;
130
+ const all = readCrewLedger();
131
+ const unsynced = all.filter(e => !e.synced);
132
+ if (unsynced.length === 0)
133
+ return;
134
+ try {
135
+ const res = await request('POST', `/${API_BASE}/ledger/credit`, token, {
136
+ entries: unsynced.map(e => ({ owner: e.owner, slug: e.slug, amount: e.amount, job: e.job, when: e.when, hiredBy: 'a fellow runner' })),
137
+ });
138
+ if (res.statusCode !== 200)
139
+ return;
140
+ for (const e of all)
141
+ e.synced = e.synced || unsynced.includes(e);
142
+ fs.writeFileSync(LEDGER_PATH, JSON.stringify(all, null, 2));
143
+ Logger.getInstance().write(`Crew ledger: synced ${unsynced.length} ghost earning(s) to maka-cli.com.`);
144
+ }
145
+ catch {
146
+ /* stays unsynced; next homecoming retries */
147
+ }
148
+ }
149
+ /** Claim what YOUR runner earned riding in other players' crews.
150
+ * Returns the settled total + lines, or undefined when nothing/offline. */
151
+ export async function claimGhostEarnings(slug) {
152
+ const token = authToken();
153
+ if (!token)
154
+ return undefined;
155
+ try {
156
+ const res = await request('POST', `/${API_BASE}/ledger/claim`, token, { slug });
157
+ if (res.statusCode !== 200)
158
+ return undefined;
159
+ const data = parseData(res.data);
160
+ return data && data.total > 0 ? data : undefined;
161
+ }
162
+ catch {
163
+ return undefined;
164
+ }
165
+ }
166
+ //# sourceMappingURL=social.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/social.ts"],"names":[],"mappings":"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"}
@@ -262,7 +262,7 @@ Command.create({
262
262
  combat: archetype.combat,
263
263
  });
264
264
  outfitArchetype(dossierPlayer, archetype);
265
- const generated = await SceneSeedGenerator.generate(logFilePath, 1, undefined, dossierPlayer);
265
+ const generated = await SceneSeedGenerator.generate(logFilePath, 1, dossierPlayer);
266
266
  if (generated) {
267
267
  spinner.success(`-- "${generated.name}" is ready.`);
268
268
  sideQuestAnswer = generated;
@@ -1 +1 @@
1
- {"version":3,"file":"sideQuest.sub.cmd.js","sourceRoot":"","sources":["../../../../../src/commands/game/sideQuest.sub.cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sideQuest.sub.cmd.js","sourceRoot":"","sources":["../../../../../src/commands/game/sideQuest.sub.cmd.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Command } from '../command.js';
2
2
  import MakaGen from '../generators/maka.gen.js';
3
3
  import { Log } from '../tools/log/log.class.js';
4
+ import { hardExit } from '../tools/mpi/sdk-runtime.js';
4
5
  Command.create({
5
6
  name: 'generate',
6
7
  aliases: ['g'],
@@ -33,6 +34,12 @@ Command.create({
33
34
  else {
34
35
  await MakaGen.invoke(args, opts);
35
36
  }
37
+ // Generators that install/remove meteor packages go through the SDK
38
+ // (pkg.class.ts), whose loadProject() leaves file watchers open that
39
+ // keep this process alive after all the work is done -- same hang
40
+ // create.ts already guards against with its own hardExit(0). Exit
41
+ // explicitly now that the generator has finished.
42
+ hardExit(0);
36
43
  }
37
44
  catch (e) {
38
45
  Log.error(e);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,KAAK,EAAE,uCAAuC;IAC9C,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,KAAK;IAC3B,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,4CAA4C;IACvD,WAAW,EAAE;;GAEZ;IACD,QAAQ,EAAE;QACR,8BAA8B;QAC9B,uBAAuB;QACvB,iCAAiC;QACjC,6BAA6B;QAC7B,yBAAyB;QACzB,mBAAmB;QACnB,mCAAmC;KACpC;CACF,EAAE,KAAK,WAAW,IAAc,EAAE,IAA6B;IAC9D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,iCAAiC;YACjC,MAAM,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,KAAK,EAAE,uCAAuC;IAC9C,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,KAAK;IAC3B,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,4CAA4C;IACvD,WAAW,EAAE;;GAEZ;IACD,QAAQ,EAAE;QACR,8BAA8B;QAC9B,uBAAuB;QACvB,iCAAiC;QACjC,6BAA6B;QAC7B,yBAAyB;QACzB,mBAAmB;QACnB,mCAAmC;KACpC;CACF,EAAE,KAAK,WAAW,IAAc,EAAE,IAA6B;IAC9D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,iCAAiC;YACjC,MAAM,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,kEAAkE;QAClE,kEAAkE;QAClE,kDAAkD;QAClD,QAAQ,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -577,6 +577,15 @@ export class MPI {
577
577
  }
578
578
  };
579
579
  try {
580
+ // The old subprocess flow ran `meteor build` with cwd = appDir; the
581
+ // in-process SDK build inherits the CLI's cwd (the maka project
582
+ // root) instead. The build pipeline hands compilers cwd-relative
583
+ // file paths (e.g. babel-compiler passes "node_modules/graphql/
584
+ // index.mjs" as SWC's `filename`), so a wrong cwd makes SWC's
585
+ // input-source-map lookups miss and spam one non-fatal ERROR per
586
+ // file with a sourceMappingURL comment. Both this and runViaSdk()
587
+ // are terminal (hardExit), so no need to restore cwd.
588
+ process.chdir(options.appDir);
580
589
  await ensureSdkInit(options.release);
581
590
  const project = await sdk.loadProject(options.appDir);
582
591
  if (options.directory) {
@@ -660,6 +669,9 @@ export class MPI {
660
669
  hardExit(exitCode);
661
670
  };
662
671
  try {
672
+ // Same cwd fix as buildViaSdk() -- see its comment. Must happen
673
+ // before the SDK starts building/watching the app.
674
+ process.chdir(options.appDir);
663
675
  // sdk.init() (inside ensureSdkInit) installs the Babel/.ts require
664
676
  // hook that MongoRunner's own raw tools/ source depends on -- must
665
677
  // happen before we require() it below.
@@ -726,8 +738,30 @@ export class MPI {
726
738
  const summary = `outcome=${result.outcome}` +
727
739
  (result.code !== undefined ? ` code=${result.code}` : '') +
728
740
  (result.signal !== undefined ? ` signal=${result.signal}` : '');
729
- Log.notice(`Exited: ${summary}`);
741
+ // outcome=changed is the normal dev-loop restart (a file changed);
742
+ // the SDK already prints "=> Server modified -- restarting..." for
743
+ // it -- and does so as a newline-less temporary status line, which
744
+ // a console print here would garble mid-line. Log file only.
745
+ if (result.outcome !== 'changed') {
746
+ Log.notice(`Exited: ${summary}`);
747
+ }
730
748
  writeLog(`Exited: ${summary}`);
749
+ // Mirrors the terminal-outcome logic in meteor-sdk's own
750
+ // createAppRunner() onRunEnd (npm-packages/meteor-sdk/src/run.js):
751
+ // these outcomes end the dev loop for good -- every other outcome
752
+ // (changed, a crash with a code/signal) restarts it. Without this,
753
+ // a run that dies on its own (e.g. wrong-release) left this
754
+ // process parked on the keep-alive promise below with mongod
755
+ // still running until the user noticed and hit Ctrl+C.
756
+ const terminal = result.outcome === 'conflicting-versions' ||
757
+ result.outcome === 'wrong-release' ||
758
+ result.outcome === 'proxy-failure' ||
759
+ (result.outcome === 'terminated' &&
760
+ result.signal === undefined &&
761
+ result.code === undefined);
762
+ if (terminal) {
763
+ void shutdown(result.outcome === 'terminated' ? 0 : 1);
764
+ }
731
765
  });
732
766
  const safeStringify = (value) => {
733
767
  try {
@@ -737,9 +771,18 @@ export class MPI {
737
771
  return String(value);
738
772
  }
739
773
  };
740
- sdk.on('log', ({ args }) => {
774
+ sdk.on('log', ({ level, args }) => {
741
775
  const line = args.map((a) => (typeof a === 'string' ? a : safeStringify(a))).join(' ');
742
- process.stdout.write(line + '\n'); // console: no timestamps
776
+ // The SDK's console tap emits an event for every Console call
777
+ // *before* the original method's own level check runs, so debug-
778
+ // level chatter the tool's Console itself suppresses at default
779
+ // verbosity (tropohouse download notes, "Doing HTTP request",
780
+ // ...) still arrives here. Match upstream `meteor run`: keep it
781
+ // out of the console, but keep it in the log file, where the
782
+ // extra detail is useful.
783
+ if (level !== 'debug') {
784
+ process.stdout.write(line + '\n'); // console: no timestamps
785
+ }
743
786
  writeLog(line); // log file: with timestamps
744
787
  });
745
788
  await handle.start();