@pickle-pee/genesis-cli 0.0.0 → 0.0.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 (34) hide show
  1. package/dist/main.d.ts +1 -0
  2. package/dist/main.js +84 -5
  3. package/dist/main.js.map +1 -1
  4. package/package.json +4 -4
  5. package/dist/test/bootstrap.test.d.ts +0 -1
  6. package/dist/test/bootstrap.test.js +0 -50
  7. package/dist/test/bootstrap.test.js.map +0 -1
  8. package/dist/test/input-loop-raw.test.d.ts +0 -1
  9. package/dist/test/input-loop-raw.test.js +0 -204
  10. package/dist/test/input-loop-raw.test.js.map +0 -1
  11. package/dist/test/interactive-tty-workbench.test.d.ts +0 -1
  12. package/dist/test/interactive-tty-workbench.test.js +0 -647
  13. package/dist/test/interactive-tty-workbench.test.js.map +0 -1
  14. package/dist/test/main.test.d.ts +0 -1
  15. package/dist/test/main.test.js +0 -42
  16. package/dist/test/main.test.js.map +0 -1
  17. package/dist/test/mode-dispatch.test.d.ts +0 -1
  18. package/dist/test/mode-dispatch.test.js +0 -315
  19. package/dist/test/mode-dispatch.test.js.map +0 -1
  20. package/dist/test/permission-flow.test.d.ts +0 -7
  21. package/dist/test/permission-flow.test.js +0 -191
  22. package/dist/test/permission-flow.test.js.map +0 -1
  23. package/dist/test/rpc-server.test.d.ts +0 -7
  24. package/dist/test/rpc-server.test.js +0 -285
  25. package/dist/test/rpc-server.test.js.map +0 -1
  26. package/dist/test/session-store.test.d.ts +0 -1
  27. package/dist/test/session-store.test.js +0 -57
  28. package/dist/test/session-store.test.js.map +0 -1
  29. package/dist/test/terminal-display-width.test.d.ts +0 -1
  30. package/dist/test/terminal-display-width.test.js +0 -25
  31. package/dist/test/terminal-display-width.test.js.map +0 -1
  32. package/dist/test/tty-session.test.d.ts +0 -1
  33. package/dist/test/tty-session.test.js +0 -114
  34. package/dist/test/tty-session.test.js.map +0 -1
package/dist/main.d.ts CHANGED
@@ -31,5 +31,6 @@ export interface ParsedArgs {
31
31
  }
32
32
  export declare function parseArgs(argv: readonly string[]): ParsedArgs;
33
33
  export declare function main(argv?: readonly string[]): Promise<void>;
34
+ export declare function resolveCliOptions(flags: Readonly<Record<string, string | boolean>>): Promise<CliOptions>;
34
35
  export declare function readCliPackageVersion(packageJsonPath?: string): string;
35
36
  export {};
package/dist/main.js CHANGED
@@ -3,9 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.parseArgs = parseArgs;
5
5
  exports.main = main;
6
+ exports.resolveCliOptions = resolveCliOptions;
6
7
  exports.readCliPackageVersion = readCliPackageVersion;
7
8
  const node_fs_1 = require("node:fs");
8
9
  const promises_1 = require("node:fs/promises");
10
+ const node_os_1 = require("node:os");
9
11
  const node_path_1 = require("node:path");
10
12
  const runtime_1 = require("@pickle-pee/runtime");
11
13
  const bootstrap_js_1 = require("./bootstrap.js");
@@ -89,6 +91,9 @@ async function main(argv = process.argv.slice(2)) {
89
91
  async function resolveCliOptions(flags) {
90
92
  const workingDirectory = (0, node_path_1.resolve)(readStringFlag(flags, "cwd", process.cwd()));
91
93
  const agentDir = (0, node_path_1.resolve)(readStringFlag(flags, "agent-dir", (0, node_path_1.resolve)(".genesis-local/pi-agent")));
94
+ const settingsPath = (0, node_path_1.resolve)((0, node_os_1.homedir)(), ".genesis-cli", "settings.json");
95
+ const settingsEnv = await readSettingsEnv(settingsPath);
96
+ applySettingsEnv(settingsEnv);
92
97
  const agentConfigPath = (0, node_path_1.resolve)(agentDir, "config.json");
93
98
  const projectConfigPath = (0, node_path_1.resolve)(workingDirectory, ".genesis/config.json");
94
99
  const agentConfig = await readOptionalJson(agentConfigPath);
@@ -104,6 +109,11 @@ async function resolveCliOptions(flags) {
104
109
  const provider = pickString([
105
110
  { value: asOptionalString(flags.provider), layer: "cli", detail: "--provider" },
106
111
  { value: process.env.GENESIS_MODEL_PROVIDER, layer: "env", detail: "GENESIS_MODEL_PROVIDER" },
112
+ {
113
+ value: readSettingsEnvValue(settingsEnv, "GENESIS_MODEL_PROVIDER"),
114
+ layer: "settings",
115
+ detail: `${settingsPath} env.GENESIS_MODEL_PROVIDER`,
116
+ },
107
117
  { value: projectConfig?.provider, layer: "project", detail: projectConfigPath },
108
118
  { value: agentConfig?.provider, layer: "agent", detail: agentConfigPath },
109
119
  ], "zai", { layer: "default", detail: "default" }, (value, source) => {
@@ -113,6 +123,11 @@ async function resolveCliOptions(flags) {
113
123
  const modelId = pickString([
114
124
  { value: asOptionalString(flags.model), layer: "cli", detail: "--model" },
115
125
  { value: process.env.GENESIS_MODEL_ID, layer: "env", detail: "GENESIS_MODEL_ID" },
126
+ {
127
+ value: readSettingsEnvValue(settingsEnv, "GENESIS_MODEL_ID"),
128
+ layer: "settings",
129
+ detail: `${settingsPath} env.GENESIS_MODEL_ID`,
130
+ },
116
131
  { value: projectConfig?.model, layer: "project", detail: projectConfigPath },
117
132
  { value: agentConfig?.model, layer: "agent", detail: agentConfigPath },
118
133
  ], "glm-5.1", { layer: "default", detail: "default" }, (value, source) => {
@@ -122,6 +137,11 @@ async function resolveCliOptions(flags) {
122
137
  const displayName = pickOptionalString([
123
138
  { value: asOptionalString(flags["display-name"]), layer: "cli", detail: "--display-name" },
124
139
  { value: process.env.GENESIS_MODEL_DISPLAY_NAME, layer: "env", detail: "GENESIS_MODEL_DISPLAY_NAME" },
140
+ {
141
+ value: readSettingsEnvValue(settingsEnv, "GENESIS_MODEL_DISPLAY_NAME"),
142
+ layer: "settings",
143
+ detail: `${settingsPath} env.GENESIS_MODEL_DISPLAY_NAME`,
144
+ },
125
145
  { value: projectConfig?.displayName, layer: "project", detail: projectConfigPath },
126
146
  { value: agentConfig?.displayName, layer: "agent", detail: agentConfigPath },
127
147
  ], (value, source) => {
@@ -131,6 +151,11 @@ async function resolveCliOptions(flags) {
131
151
  const toolSetRaw = pickTools([
132
152
  { value: asOptionalString(flags.tools), layer: "cli", detail: "--tools" },
133
153
  { value: process.env.GENESIS_TOOL_SET, layer: "env", detail: "GENESIS_TOOL_SET" },
154
+ {
155
+ value: readSettingsEnvValue(settingsEnv, "GENESIS_TOOL_SET"),
156
+ layer: "settings",
157
+ detail: `${settingsPath} env.GENESIS_TOOL_SET`,
158
+ },
134
159
  { value: projectConfig?.tools, layer: "project", detail: projectConfigPath },
135
160
  { value: agentConfig?.tools, layer: "agent", detail: agentConfigPath },
136
161
  ], "read,bash,edit,write", { layer: "default", detail: "default" }, (value, source) => {
@@ -141,6 +166,11 @@ async function resolveCliOptions(flags) {
141
166
  const thinkingLevel = pickOptionalString([
142
167
  { value: asOptionalString(flags.thinking), layer: "cli", detail: "--thinking" },
143
168
  { value: process.env.GENESIS_THINKING_LEVEL, layer: "env", detail: "GENESIS_THINKING_LEVEL" },
169
+ {
170
+ value: readSettingsEnvValue(settingsEnv, "GENESIS_THINKING_LEVEL"),
171
+ layer: "settings",
172
+ detail: `${settingsPath} env.GENESIS_THINKING_LEVEL`,
173
+ },
144
174
  { value: projectConfig?.thinking, layer: "project", detail: projectConfigPath },
145
175
  { value: agentConfig?.thinking, layer: "agent", detail: agentConfigPath },
146
176
  ], (value, source) => {
@@ -150,6 +180,11 @@ async function resolveCliOptions(flags) {
150
180
  const bootstrapBaseUrl = pickOptionalString([
151
181
  { value: asOptionalString(flags["bootstrap-base-url"]), layer: "cli", detail: "--bootstrap-base-url" },
152
182
  { value: process.env.GENESIS_BOOTSTRAP_BASE_URL, layer: "env", detail: "GENESIS_BOOTSTRAP_BASE_URL" },
183
+ {
184
+ value: readSettingsEnvValue(settingsEnv, "GENESIS_BOOTSTRAP_BASE_URL"),
185
+ layer: "settings",
186
+ detail: `${settingsPath} env.GENESIS_BOOTSTRAP_BASE_URL`,
187
+ },
153
188
  { value: projectConfig?.bootstrap?.baseUrl, layer: "project", detail: projectConfigPath },
154
189
  { value: agentConfig?.bootstrap?.baseUrl, layer: "agent", detail: agentConfigPath },
155
190
  ], (value, source) => {
@@ -159,6 +194,11 @@ async function resolveCliOptions(flags) {
159
194
  const bootstrapApi = pickOptionalString([
160
195
  { value: asOptionalString(flags["bootstrap-api"]), layer: "cli", detail: "--bootstrap-api" },
161
196
  { value: process.env.GENESIS_BOOTSTRAP_API, layer: "env", detail: "GENESIS_BOOTSTRAP_API" },
197
+ {
198
+ value: readSettingsEnvValue(settingsEnv, "GENESIS_BOOTSTRAP_API"),
199
+ layer: "settings",
200
+ detail: `${settingsPath} env.GENESIS_BOOTSTRAP_API`,
201
+ },
162
202
  { value: projectConfig?.bootstrap?.api, layer: "project", detail: projectConfigPath },
163
203
  { value: agentConfig?.bootstrap?.api, layer: "agent", detail: agentConfigPath },
164
204
  ], (value, source) => {
@@ -179,12 +219,16 @@ async function resolveCliOptions(flags) {
179
219
  bootstrapOverrides: {
180
220
  ...(bootstrapBaseUrl !== undefined ? { baseUrl: bootstrapBaseUrl } : {}),
181
221
  ...(bootstrapApi !== undefined ? { api: bootstrapApi } : {}),
182
- apiKeyEnv: readOptionalStringFlag(flags, "bootstrap-api-key-env", process.env.GENESIS_BOOTSTRAP_API_KEY_ENV),
183
- authHeader: readOptionalBooleanFlag(flags, "bootstrap-auth-header", process.env.GENESIS_BOOTSTRAP_AUTH_HEADER),
184
- reasoning: readOptionalBooleanFlag(flags, "bootstrap-reasoning", process.env.GENESIS_BOOTSTRAP_REASONING),
222
+ apiKeyEnv: readOptionalStringFlag(flags, "bootstrap-api-key-env", process.env.GENESIS_BOOTSTRAP_API_KEY_ENV ??
223
+ readSettingsEnvValue(settingsEnv, "GENESIS_BOOTSTRAP_API_KEY_ENV")),
224
+ authHeader: readOptionalBooleanFlag(flags, "bootstrap-auth-header", process.env.GENESIS_BOOTSTRAP_AUTH_HEADER ??
225
+ readSettingsEnvValue(settingsEnv, "GENESIS_BOOTSTRAP_AUTH_HEADER")),
226
+ reasoning: readOptionalBooleanFlag(flags, "bootstrap-reasoning", process.env.GENESIS_BOOTSTRAP_REASONING ?? readSettingsEnvValue(settingsEnv, "GENESIS_BOOTSTRAP_REASONING")),
185
227
  compat: {
186
- supportsDeveloperRole: readOptionalBooleanFlag(flags, "bootstrap-supports-developer-role", process.env.GENESIS_BOOTSTRAP_SUPPORTS_DEVELOPER_ROLE),
187
- supportsReasoningEffort: readOptionalBooleanFlag(flags, "bootstrap-supports-reasoning-effort", process.env.GENESIS_BOOTSTRAP_SUPPORTS_REASONING_EFFORT),
228
+ supportsDeveloperRole: readOptionalBooleanFlag(flags, "bootstrap-supports-developer-role", process.env.GENESIS_BOOTSTRAP_SUPPORTS_DEVELOPER_ROLE ??
229
+ readSettingsEnvValue(settingsEnv, "GENESIS_BOOTSTRAP_SUPPORTS_DEVELOPER_ROLE")),
230
+ supportsReasoningEffort: readOptionalBooleanFlag(flags, "bootstrap-supports-reasoning-effort", process.env.GENESIS_BOOTSTRAP_SUPPORTS_REASONING_EFFORT ??
231
+ readSettingsEnvValue(settingsEnv, "GENESIS_BOOTSTRAP_SUPPORTS_REASONING_EFFORT")),
188
232
  },
189
233
  },
190
234
  configSources: sources,
@@ -249,6 +293,41 @@ async function readOptionalJson(filePath) {
249
293
  return null;
250
294
  }
251
295
  }
296
+ async function readSettingsEnv(settingsPath) {
297
+ try {
298
+ const parsed = JSON.parse(await (0, promises_1.readFile)(settingsPath, "utf8"));
299
+ if (!parsed || typeof parsed !== "object" || !parsed.env || typeof parsed.env !== "object") {
300
+ return {};
301
+ }
302
+ const env = {};
303
+ for (const [key, value] of Object.entries(parsed.env)) {
304
+ if (typeof value === "string") {
305
+ const trimmed = value.trim();
306
+ if (trimmed.length > 0) {
307
+ env[key] = trimmed;
308
+ }
309
+ continue;
310
+ }
311
+ if (typeof value === "number" || typeof value === "boolean") {
312
+ env[key] = String(value);
313
+ }
314
+ }
315
+ return env;
316
+ }
317
+ catch {
318
+ return {};
319
+ }
320
+ }
321
+ function applySettingsEnv(settingsEnv, targetEnv = process.env) {
322
+ for (const [key, value] of Object.entries(settingsEnv)) {
323
+ if (targetEnv[key] === undefined) {
324
+ targetEnv[key] = value;
325
+ }
326
+ }
327
+ }
328
+ function readSettingsEnvValue(settingsEnv, key) {
329
+ return settingsEnv[key];
330
+ }
252
331
  function readModeFlag(flags, key, fallback) {
253
332
  const value = readStringFlag(flags, key, fallback);
254
333
  if (value === "interactive" || value === "print" || value === "json" || value === "rpc") {
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickle-pee/genesis-cli",
3
- "version": "0.0.0",
3
+ "version": "0.0.1",
4
4
  "description": "CLI entry point, argument parsing, and mode routing",
5
5
  "bin": {
6
6
  "genesis": "./dist/main.js"
@@ -12,9 +12,9 @@
12
12
  "test": "vitest run"
13
13
  },
14
14
  "dependencies": {
15
- "@pickle-pee/config": "0.0.0",
16
- "@pickle-pee/runtime": "0.0.0",
17
- "@pickle-pee/ui": "0.0.0"
15
+ "@pickle-pee/config": "0.0.1",
16
+ "@pickle-pee/runtime": "0.0.1",
17
+ "@pickle-pee/ui": "0.0.1"
18
18
  },
19
19
  "publishConfig": {
20
20
  "access": "public"
@@ -1 +0,0 @@
1
- export {};
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const promises_1 = require("node:fs/promises");
4
- const node_os_1 = require("node:os");
5
- const node_path_1 = require("node:path");
6
- const vitest_1 = require("vitest");
7
- const bootstrap_js_1 = require("../bootstrap.js");
8
- (0, vitest_1.describe)("ensureAgentDirBootstrapped", () => {
9
- (0, vitest_1.it)("creates models.json with the requested provider and model", async () => {
10
- const dir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "genesis-cli-bootstrap-"));
11
- await (0, bootstrap_js_1.ensureAgentDirBootstrapped)({
12
- agentDir: dir,
13
- provider: "zai",
14
- modelId: "glm-5.1",
15
- bootstrapBaseUrl: "https://open.bigmodel.cn/api/coding/paas/v4/",
16
- bootstrapApi: "openai-completions",
17
- });
18
- const models = JSON.parse(await (0, promises_1.readFile)((0, node_path_1.join)(dir, "models.json"), "utf8"));
19
- const provider = models.providers.zai;
20
- (0, vitest_1.expect)(provider.baseUrl).toBe("https://open.bigmodel.cn/api/coding/paas/v4/");
21
- (0, vitest_1.expect)(provider.api).toBe("openai-completions");
22
- (0, vitest_1.expect)(Array.isArray(provider.models)).toBe(true);
23
- (0, vitest_1.expect)(provider.models.some((model) => model.id === "glm-5.1")).toBe(true);
24
- });
25
- (0, vitest_1.it)("does not override an existing configured provider/model entry", async () => {
26
- const dir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "genesis-cli-bootstrap-"));
27
- const existing = {
28
- providers: {
29
- zai: {
30
- baseUrl: "https://example.com/",
31
- api: "openai-completions",
32
- apiKey: "GENESIS_API_KEY",
33
- authHeader: true,
34
- models: [{ id: "glm-5.1", name: "glm-5.1", reasoning: false }],
35
- },
36
- },
37
- };
38
- await (0, promises_1.writeFile)((0, node_path_1.join)(dir, "models.json"), `${JSON.stringify(existing, null, 2)}\n`, "utf8");
39
- const before = await (0, promises_1.readFile)((0, node_path_1.join)(dir, "models.json"), "utf8");
40
- await (0, bootstrap_js_1.ensureAgentDirBootstrapped)({
41
- agentDir: dir,
42
- provider: "zai",
43
- modelId: "glm-5.1",
44
- bootstrapBaseUrl: "https://open.bigmodel.cn/api/coding/paas/v4/",
45
- });
46
- const after = await (0, promises_1.readFile)((0, node_path_1.join)(dir, "models.json"), "utf8");
47
- (0, vitest_1.expect)(after).toBe(before);
48
- });
49
- });
50
- //# sourceMappingURL=bootstrap.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.test.js","sourceRoot":"","sources":["../../src/test/bootstrap.test.ts"],"names":[],"mappings":";;AAAA,+CAAgE;AAChE,qCAAiC;AACjC,yCAAiC;AACjC,mCAA8C;AAC9C,kDAA6D;AAE7D,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC3C,IAAA,WAAE,EAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACpE,MAAM,IAAA,yCAA0B,EAAC;YAChC,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,SAAS;YAClB,gBAAgB,EAAE,8CAA8C;YAChE,YAAY,EAAE,oBAAoB;SAClC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAEzE,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAU,CAAC;QAC7C,IAAA,eAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC9E,IAAA,eAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG;YAChB,SAAS,EAAE;gBACV,GAAG,EAAE;oBACJ,OAAO,EAAE,sBAAsB;oBAC/B,GAAG,EAAE,oBAAoB;oBACzB,MAAM,EAAE,iBAAiB;oBACzB,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;iBAC9D;aACD;SACD,CAAC;QACF,MAAM,IAAA,oBAAS,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAEhE,MAAM,IAAA,yCAA0B,EAAC;YAChC,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,SAAS;YAClB,gBAAgB,EAAE,8CAA8C;SAChE,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,204 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const node_stream_1 = require("node:stream");
4
- const vitest_1 = require("vitest");
5
- const input_loop_js_1 = require("../input-loop.js");
6
- function createTtyPassThrough() {
7
- const stream = new node_stream_1.PassThrough();
8
- stream.isTTY = true;
9
- stream.setRawMode = vitest_1.vi.fn();
10
- stream.pause = vitest_1.vi.fn();
11
- return stream;
12
- }
13
- (0, vitest_1.describe)("createInputLoop (rawMode)", () => {
14
- (0, vitest_1.it)("supports basic editing (insert, cursor left, backspace) and enter", async () => {
15
- const input = createTtyPassThrough();
16
- const output = createTtyPassThrough();
17
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true });
18
- try {
19
- const next = loop.nextLine();
20
- input.write("abc");
21
- input.write("\u001b[D");
22
- input.write(Buffer.from([0x7f]));
23
- input.write("\r");
24
- await (0, vitest_1.expect)(next).resolves.toBe("ac");
25
- }
26
- finally {
27
- loop.close();
28
- }
29
- });
30
- (0, vitest_1.it)("emits special key events for arrow keys", async () => {
31
- const input = createTtyPassThrough();
32
- const output = createTtyPassThrough();
33
- const onKey = vitest_1.vi.fn();
34
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, onKey });
35
- try {
36
- const pending = loop.nextLine();
37
- input.write("\u001b[A");
38
- input.write("\r");
39
- await pending;
40
- (0, vitest_1.expect)(onKey).toHaveBeenCalledWith("up");
41
- }
42
- finally {
43
- loop.close();
44
- }
45
- });
46
- (0, vitest_1.it)("emits wheel events for SGR mouse sequences", async () => {
47
- const input = createTtyPassThrough();
48
- const output = createTtyPassThrough();
49
- const onKey = vitest_1.vi.fn();
50
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, onKey });
51
- try {
52
- const pending = loop.nextLine();
53
- input.write("\u001b[<64;10;10M");
54
- input.write("\r");
55
- await pending;
56
- (0, vitest_1.expect)(onKey).toHaveBeenCalledWith("wheelup");
57
- }
58
- finally {
59
- loop.close();
60
- }
61
- });
62
- (0, vitest_1.it)("accepts lowercase sgr mouse terminators used by some terminals", async () => {
63
- const input = createTtyPassThrough();
64
- const output = createTtyPassThrough();
65
- const onKey = vitest_1.vi.fn();
66
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, onKey });
67
- try {
68
- const pending = loop.nextLine();
69
- input.write("\u001b[<65;10;10m");
70
- input.write("\r");
71
- await pending;
72
- (0, vitest_1.expect)(onKey).toHaveBeenCalledWith("wheeldown");
73
- }
74
- finally {
75
- loop.close();
76
- }
77
- });
78
- (0, vitest_1.it)("emits terminal focus events", async () => {
79
- const input = createTtyPassThrough();
80
- const output = createTtyPassThrough();
81
- const onTerminalEvent = vitest_1.vi.fn();
82
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, onTerminalEvent });
83
- try {
84
- const pending = loop.nextLine();
85
- input.write("\u001b[O");
86
- input.write("\u001b[I");
87
- input.write("\r");
88
- await pending;
89
- (0, vitest_1.expect)(onTerminalEvent).toHaveBeenNthCalledWith(1, "focusout");
90
- (0, vitest_1.expect)(onTerminalEvent).toHaveBeenNthCalledWith(2, "focusin");
91
- }
92
- finally {
93
- loop.close();
94
- }
95
- });
96
- (0, vitest_1.it)("handles fragmented escape sequences across input chunks", async () => {
97
- const input = createTtyPassThrough();
98
- const output = createTtyPassThrough();
99
- const onKey = vitest_1.vi.fn();
100
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, onKey });
101
- try {
102
- const pending = loop.nextLine();
103
- input.write("\u001b[");
104
- input.write("<64;");
105
- input.write("10;10M");
106
- input.write("\r");
107
- await pending;
108
- (0, vitest_1.expect)(onKey).toHaveBeenCalledWith("wheelup");
109
- }
110
- finally {
111
- loop.close();
112
- }
113
- });
114
- (0, vitest_1.it)("emits page navigation keys in raw mode", async () => {
115
- const input = createTtyPassThrough();
116
- const output = createTtyPassThrough();
117
- const onKey = vitest_1.vi.fn();
118
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, onKey });
119
- try {
120
- const pending = loop.nextLine();
121
- input.write("\u001b[5~");
122
- input.write("\u001b[6~");
123
- input.write("\r");
124
- await pending;
125
- (0, vitest_1.expect)(onKey).toHaveBeenNthCalledWith(1, "pageup");
126
- (0, vitest_1.expect)(onKey).toHaveBeenNthCalledWith(2, "pagedown");
127
- }
128
- finally {
129
- loop.close();
130
- }
131
- });
132
- (0, vitest_1.it)("emits tab and shift-tab special keys in raw mode", async () => {
133
- const input = createTtyPassThrough();
134
- const output = createTtyPassThrough();
135
- const onKey = vitest_1.vi.fn();
136
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, onKey });
137
- try {
138
- const pending = loop.nextLine();
139
- input.write("\t");
140
- input.write("\u001b[Z");
141
- input.write("\r");
142
- await pending;
143
- (0, vitest_1.expect)(onKey).toHaveBeenNthCalledWith(1, "tab");
144
- (0, vitest_1.expect)(onKey).toHaveBeenNthCalledWith(2, "shifttab");
145
- }
146
- finally {
147
- loop.close();
148
- }
149
- });
150
- (0, vitest_1.it)("applies tab completion through the raw-mode callback", async () => {
151
- const input = createTtyPassThrough();
152
- const output = createTtyPassThrough();
153
- const states = [];
154
- const loop = (0, input_loop_js_1.createInputLoop)({
155
- input,
156
- output,
157
- prompt: "",
158
- rawMode: true,
159
- onInputStateChange: (state) => {
160
- states.push(state);
161
- },
162
- onTabComplete: () => ({ buffer: "/status ", cursor: 8 }),
163
- });
164
- try {
165
- const pending = loop.nextLine();
166
- input.write("/st");
167
- input.write("\t");
168
- input.write("\r");
169
- await (0, vitest_1.expect)(pending).resolves.toBe("/status ");
170
- (0, vitest_1.expect)(states).toContainEqual({ buffer: "/status ", cursor: 8 });
171
- }
172
- finally {
173
- loop.close();
174
- }
175
- });
176
- (0, vitest_1.it)("can suppress the automatic newline on submit for custom prompt renderers", async () => {
177
- const input = createTtyPassThrough();
178
- const output = createTtyPassThrough();
179
- let rendered = "";
180
- output.on("data", (chunk) => {
181
- rendered += chunk.toString("utf8");
182
- });
183
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true, submitNewline: false });
184
- try {
185
- const pending = loop.nextLine();
186
- input.write("hello");
187
- input.write("\r");
188
- await (0, vitest_1.expect)(pending).resolves.toBe("hello");
189
- (0, vitest_1.expect)(rendered).not.toContain("\n");
190
- }
191
- finally {
192
- loop.close();
193
- }
194
- });
195
- (0, vitest_1.it)("restores raw mode and pauses stdin on close", () => {
196
- const input = createTtyPassThrough();
197
- const output = createTtyPassThrough();
198
- const loop = (0, input_loop_js_1.createInputLoop)({ input, output, prompt: "", rawMode: true });
199
- loop.close();
200
- (0, vitest_1.expect)(input.setRawMode).toHaveBeenCalledWith(false);
201
- (0, vitest_1.expect)(input.pause).toHaveBeenCalled();
202
- });
203
- });
204
- //# sourceMappingURL=input-loop-raw.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-loop-raw.test.js","sourceRoot":"","sources":["../../src/test/input-loop-raw.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};