@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.
- package/bundle/typescript/package.json +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +14 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +11 -2
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.js +11 -2
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +172 -150
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +29 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.d.ts +3 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.js +5 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/input-history.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.d.ts +81 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.js +197 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.js.map +1 -0
- 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.
|
|
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.",
|