@maka/maka-cli 5.110.0 → 5.112.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.
Files changed (29) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js +7 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +21 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +14 -6
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +10 -0
  9. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +11 -2
  10. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  11. package/bundle/typescript/src/commands/game/sideQuest/game.js +11 -2
  12. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +7 -0
  14. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
  15. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +13 -0
  16. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +19 -0
  17. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/ui.js +172 -150
  19. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +14 -0
  21. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +29 -0
  22. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.d.ts +3 -1
  24. package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.js +5 -3
  25. package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.js.map +1 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.d.ts +81 -0
  27. package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.js +197 -0
  28. package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.js.map +1 -0
  29. package/package.json +1 -1
@@ -0,0 +1,81 @@
1
+ /**
2
+ * A LINE EDITOR FOR THE INPUT BOX (user request 2026-09-01: arrow keys
3
+ * move the runner, CTRL+Up/Down replays history, CTRL+Left/Right walks
4
+ * the words).
5
+ *
6
+ * WHY THIS EXISTS: blessed's textarea has NO CURSOR. Its reader appends
7
+ * every character at the end and backspaces from the end -- there is a
8
+ * literal `// TODO: Handle directional keys` with an empty block in
9
+ * node_modules/blessed/lib/widgets/textarea.js. "Move along the words"
10
+ * cannot be a binding on top of that widget; it needs an editor UNDER
11
+ * it. So the editing model lives here, PURE and tested (input-history's
12
+ * design, same reasons), and a shim below takes over the widget's key
13
+ * listener and puts the terminal caret where the model says.
14
+ *
15
+ * READLINE SEMANTICS for the word moves (Alt-b / Alt-f in every shell):
16
+ * backward lands on the START of the previous word, forward on the END
17
+ * of the current-or-next word. Chosen over the Windows-editor
18
+ * convention (start of next word) because a runner types at a prompt.
19
+ */
20
+ export declare class LineEditor {
21
+ private _value;
22
+ private _cursor;
23
+ get value(): string;
24
+ get cursor(): number;
25
+ /** Replace the whole line; the caret goes to the END (history recall,
26
+ * clear -- every setValue the UI does means "start typing here"). */
27
+ set(value: string): void;
28
+ insert(text: string): void;
29
+ /** Delete the character BEFORE the caret, like every backspace. */
30
+ backspace(): void;
31
+ /** Delete the character AT the caret (the Delete key). */
32
+ deleteForward(): void;
33
+ left(): void;
34
+ right(): void;
35
+ home(): void;
36
+ end(): void;
37
+ /** Start of the previous word: skip spaces back, then the word. */
38
+ wordLeft(): void;
39
+ /** End of the current-or-next word: skip spaces forward, then the word. */
40
+ wordRight(): void;
41
+ }
42
+ /**
43
+ * THE SHIM. What it needs from the widget, named exactly -- so this file
44
+ * never imports blessed and the test can hand it a real textbox or a
45
+ * fake with the same six members.
46
+ */
47
+ export interface IEditableBox {
48
+ value: string;
49
+ setValue(value: string): void;
50
+ clearValue(): void;
51
+ getValue(): string;
52
+ /** blessed internals this shim takes over, present on every Textbox. */
53
+ _listener?: (ch: string, key: IKey) => void;
54
+ __listener?: (ch: string, key: IKey) => void;
55
+ _updateCursor?: (get?: boolean) => void;
56
+ on(event: string, fn: (...args: never[]) => void): void;
57
+ removeListener(event: string, fn: (...args: never[]) => void): void;
58
+ key(keys: string[], handler: () => void): void;
59
+ }
60
+ export interface IKey {
61
+ name?: string;
62
+ ctrl?: boolean;
63
+ meta?: boolean;
64
+ shift?: boolean;
65
+ full?: string;
66
+ }
67
+ export declare function attachLineEditor(box: IEditableBox, render: () => void): LineEditor;
68
+ /** Arrow -> direction, for the empty-box movement binding. */
69
+ export declare const ARROW_DIRECTIONS: Record<'up' | 'down' | 'left' | 'right', string>;
70
+ /**
71
+ * ARROWS STEP THE RUNNER ONE CELL (the tactical `move <dir>`, never the
72
+ * room-leaving `go` -- user correction 2026-09-01) -- only when the box
73
+ * is EMPTY. With text
74
+ * in it, Left/Right belong to the editor's caret and Up/Down do nothing
75
+ * (a half-typed "take ares" must not walk you north). Vertical exits
76
+ * ("up"/"down" stairs) stay typed: the arrows are the compass.
77
+ */
78
+ export declare function attachArrowMovement(box: {
79
+ key(keys: string[], handler: () => void): void;
80
+ getValue(): string;
81
+ }, submit: (command: string) => void): void;
@@ -0,0 +1,197 @@
1
+ /**
2
+ * A LINE EDITOR FOR THE INPUT BOX (user request 2026-09-01: arrow keys
3
+ * move the runner, CTRL+Up/Down replays history, CTRL+Left/Right walks
4
+ * the words).
5
+ *
6
+ * WHY THIS EXISTS: blessed's textarea has NO CURSOR. Its reader appends
7
+ * every character at the end and backspaces from the end -- there is a
8
+ * literal `// TODO: Handle directional keys` with an empty block in
9
+ * node_modules/blessed/lib/widgets/textarea.js. "Move along the words"
10
+ * cannot be a binding on top of that widget; it needs an editor UNDER
11
+ * it. So the editing model lives here, PURE and tested (input-history's
12
+ * design, same reasons), and a shim below takes over the widget's key
13
+ * listener and puts the terminal caret where the model says.
14
+ *
15
+ * READLINE SEMANTICS for the word moves (Alt-b / Alt-f in every shell):
16
+ * backward lands on the START of the previous word, forward on the END
17
+ * of the current-or-next word. Chosen over the Windows-editor
18
+ * convention (start of next word) because a runner types at a prompt.
19
+ */
20
+ export class LineEditor {
21
+ _value = '';
22
+ _cursor = 0;
23
+ get value() { return this._value; }
24
+ get cursor() { return this._cursor; }
25
+ /** Replace the whole line; the caret goes to the END (history recall,
26
+ * clear -- every setValue the UI does means "start typing here"). */
27
+ set(value) {
28
+ this._value = value;
29
+ this._cursor = value.length;
30
+ }
31
+ insert(text) {
32
+ this._value = this._value.slice(0, this._cursor) + text + this._value.slice(this._cursor);
33
+ this._cursor += text.length;
34
+ }
35
+ /** Delete the character BEFORE the caret, like every backspace. */
36
+ backspace() {
37
+ if (this._cursor === 0)
38
+ return;
39
+ this._value = this._value.slice(0, this._cursor - 1) + this._value.slice(this._cursor);
40
+ this._cursor -= 1;
41
+ }
42
+ /** Delete the character AT the caret (the Delete key). */
43
+ deleteForward() {
44
+ if (this._cursor >= this._value.length)
45
+ return;
46
+ this._value = this._value.slice(0, this._cursor) + this._value.slice(this._cursor + 1);
47
+ }
48
+ left() { this._cursor = Math.max(0, this._cursor - 1); }
49
+ right() { this._cursor = Math.min(this._value.length, this._cursor + 1); }
50
+ home() { this._cursor = 0; }
51
+ end() { this._cursor = this._value.length; }
52
+ /** Start of the previous word: skip spaces back, then the word. */
53
+ wordLeft() {
54
+ let i = this._cursor;
55
+ while (i > 0 && this._value[i - 1] === ' ')
56
+ i -= 1;
57
+ while (i > 0 && this._value[i - 1] !== ' ')
58
+ i -= 1;
59
+ this._cursor = i;
60
+ }
61
+ /** End of the current-or-next word: skip spaces forward, then the word. */
62
+ wordRight() {
63
+ let i = this._cursor;
64
+ const n = this._value.length;
65
+ while (i < n && this._value[i] === ' ')
66
+ i += 1;
67
+ while (i < n && this._value[i] !== ' ')
68
+ i += 1;
69
+ this._cursor = i;
70
+ }
71
+ }
72
+ /** A character that belongs in a line: one code unit, not a control
73
+ * code, not DEL. Written as a range check rather than a regex so the
74
+ * intent is readable and no control bytes live in the source. */
75
+ const isPrintable = (ch) => ch.length === 1 && ch.charCodeAt(0) >= 32 && ch.charCodeAt(0) !== 127;
76
+ export function attachLineEditor(box, render) {
77
+ const editor = new LineEditor();
78
+ const original = box._listener?.bind(box);
79
+ // ONE KEYSTROKE, ONE EDIT -- however many readers blessed bound.
80
+ // Blessed attaches its reader on a nextTick after focus, and a
81
+ // focus-during-attach lands TWO bound copies of `_listener` (the
82
+ // "eexxiitt" doubling a real session hit; the headless harness
83
+ // reproduces it deterministically). Blessed builds exactly one `key`
84
+ // object per keystroke and hands it to every listener, so its
85
+ // identity is a perfect dedupe: the second bound copy sees the same
86
+ // object and does nothing.
87
+ let lastKey;
88
+ const listener = (ch, key) => {
89
+ if (key && key === lastKey)
90
+ return;
91
+ lastKey = key;
92
+ const name = key?.name;
93
+ if (name === 'enter' || name === 'return' || name === 'escape' || (key?.ctrl && name === 'e')) {
94
+ // Blessed's own submit/cancel path -- with the model's value.
95
+ box.value = editor.value;
96
+ original?.(ch, key);
97
+ return;
98
+ }
99
+ if (key?.ctrl && name === 'left')
100
+ editor.wordLeft();
101
+ else if (key?.ctrl && name === 'right')
102
+ editor.wordRight();
103
+ else if (name === 'left')
104
+ editor.left();
105
+ else if (name === 'right')
106
+ editor.right();
107
+ else if (name === 'home')
108
+ editor.home();
109
+ else if (name === 'end')
110
+ editor.end();
111
+ else if (name === 'backspace')
112
+ editor.backspace();
113
+ else if (name === 'delete')
114
+ editor.deleteForward();
115
+ else if (name === 'up' || name === 'down')
116
+ return; // history/movement own these
117
+ else if (ch && isPrintable(ch) && !key?.ctrl && !key?.meta)
118
+ editor.insert(ch);
119
+ else
120
+ return;
121
+ // Push the model into the widget WITHOUT re-entering our own
122
+ // setValue wrapper (which would reset the caret to the end).
123
+ rawSet(editor.value);
124
+ render();
125
+ };
126
+ // Blessed binds `__listener` when reading starts (readInput, which
127
+ // inputOnFocus triggers the first time the box is focused). The game
128
+ // focuses the box BEFORE ui.ts wires this, so the live reader is
129
+ // already attached: swap it. And replace the prototype method so any
130
+ // FUTURE readInput (after a blur/refocus) binds ours.
131
+ if (box.__listener) {
132
+ box.removeListener('keypress', box.__listener);
133
+ box.__listener = listener;
134
+ box.on('keypress', listener);
135
+ }
136
+ box._listener = listener;
137
+ // Every programmatic setValue means "the caret goes to the end" --
138
+ // history recall, the post-submit clear. Wrap, remembering the raw one.
139
+ const rawSetValue = box.setValue.bind(box);
140
+ const rawSet = (v) => rawSetValue(v);
141
+ // BLESSED CALLS setValue() WITH NO ARGUMENT ON EVERY RENDER
142
+ // (Textarea.prototype.render: `this.setValue(); return this._render()`)
143
+ // -- a refresh of the current value, not a new one. The first cut of
144
+ // this wrapper read that as "set to empty" and reset the caret model
145
+ // once per frame, so typing kept only the LAST character ("letters
146
+ // don't spell out anymore" -- a real session; the headless harness
147
+ // never rendered, so it never saw it). A refresh passes straight
148
+ // through; only a real value re-seats the caret.
149
+ box.setValue = (v) => {
150
+ if (v != null)
151
+ editor.set(v);
152
+ rawSetValue(v);
153
+ };
154
+ const rawClear = box.clearValue.bind(box);
155
+ box.clearValue = () => { editor.set(''); rawClear(); };
156
+ // The caret lands where the MODEL says, not at the end of the value.
157
+ // Blessed computes the end-of-line column from its own clines; we
158
+ // compute the same origin and add the caret offset instead.
159
+ const originalUpdate = box._updateCursor?.bind(box);
160
+ box._updateCursor = function (get) {
161
+ const self = this;
162
+ if (self.screen.focused !== this)
163
+ return;
164
+ const lpos = get ? self.lpos : self._getCoords();
165
+ if (!lpos)
166
+ return;
167
+ const cx = lpos.xi + self.ileft + self.strWidth(editor.value.slice(0, editor.cursor));
168
+ const cy = lpos.yi + self.itop;
169
+ if (cy === self.screen.program.y && cx === self.screen.program.x)
170
+ return;
171
+ self.screen.program.cup(cy, cx);
172
+ };
173
+ void originalUpdate;
174
+ return editor;
175
+ }
176
+ /** Arrow -> direction, for the empty-box movement binding. */
177
+ export const ARROW_DIRECTIONS = {
178
+ up: 'north', down: 'south', left: 'west', right: 'east',
179
+ };
180
+ /**
181
+ * ARROWS STEP THE RUNNER ONE CELL (the tactical `move <dir>`, never the
182
+ * room-leaving `go` -- user correction 2026-09-01) -- only when the box
183
+ * is EMPTY. With text
184
+ * in it, Left/Right belong to the editor's caret and Up/Down do nothing
185
+ * (a half-typed "take ares" must not walk you north). Vertical exits
186
+ * ("up"/"down" stairs) stay typed: the arrows are the compass.
187
+ */
188
+ export function attachArrowMovement(box, submit) {
189
+ for (const arrow of ['up', 'down', 'left', 'right']) {
190
+ box.key([arrow], () => {
191
+ if (box.getValue().length > 0)
192
+ return;
193
+ submit(`move ${ARROW_DIRECTIONS[arrow]}`);
194
+ });
195
+ }
196
+ }
197
+ //# sourceMappingURL=line-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-editor.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/line-editor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.110.0",
3
+ "version": "5.112.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 2.x applications using React.",