@llm4ts/shell 2.9.3 → 2.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"FlowLaunch.d.ts","sourceRoot":"","sources":["../src/FlowLaunch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;AAEvC,qBAAa,eAAgB,SAAQ,oBAEnC;CAAG;AAEL;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,OAYvD,CAAA;AAYD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CACtC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,iBAAiB,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAoCzF,CAAA"}
1
+ {"version":3,"file":"FlowLaunch.d.ts","sourceRoot":"","sources":["../src/FlowLaunch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;AAEvC,qBAAa,eAAgB,SAAQ,oBAEnC;CAAG;AAEL;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,OAYvD,CAAA;AAYD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CACtC;AAiBD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,iBAAiB,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAqCzF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { spawn } from "node:child_process";
1
+ import { spawn, spawnSync } from "node:child_process";
2
2
  import { existsSync } from "node:fs";
3
3
  import { constants } from "node:os";
4
4
  import { dirname, join, resolve } from "node:path";
@@ -39,6 +39,20 @@ const resolveFallbackUrl = (() => {
39
39
  ? compiled.href
40
40
  : new URL("./ResolveFallback.ts", import.meta.url).href;
41
41
  })();
42
+ /**
43
+ * A flow's live status display turns input echo off and hides the cursor;
44
+ * a flow killed by a signal cannot turn them back on, so the shell does it
45
+ * once the child is gone. Harmless when they were never changed.
46
+ */
47
+ const restoreTerminal = (stdio) => {
48
+ if (stdio !== "inherit" || process.platform === "win32" || process.stdin.isTTY !== true) {
49
+ return;
50
+ }
51
+ spawnSync("stty", ["echo"], { stdio: ["inherit", "ignore", "ignore"] });
52
+ if (process.stdout.isTTY === true) {
53
+ process.stdout.write("\u001b[?25h");
54
+ }
55
+ };
42
56
  /**
43
57
  * Runs a flow script as a child `node` process with type stripping, the
44
58
  * terminal inherited, and the task text appended to argv. While the child
@@ -71,6 +85,7 @@ export const launchFlow = (options) => Effect.callback((resume) => {
71
85
  });
72
86
  child.on("exit", (code, signal) => {
73
87
  restoreSigint();
88
+ restoreTerminal(options.stdio ?? "inherit");
74
89
  if (signal !== null) {
75
90
  resume(Effect.succeed(128 + (constants.signals[signal] ?? 15)));
76
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FlowLaunch.js","sourceRoot":"","sources":["../src/FlowLaunch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowLaunch.js","sourceRoot":"","sources":["../src/FlowLaunch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llm4ts/shell",
3
- "version": "2.9.3",
3
+ "version": "2.9.5",
4
4
  "description": "Interactive shell and CLI for llm4ts: flow discovery, run-a-flow, and view",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -52,9 +52,9 @@
52
52
  "dependencies": {
53
53
  "@effect/platform-node": "4.0.0-rc.115",
54
54
  "@effect/platform-node-shared": "4.0.0-rc.115",
55
- "@llm4ts/core": "2.9.3",
56
- "@llm4ts/runner": "2.9.3",
57
- "@llm4ts/flow": "2.9.3"
55
+ "@llm4ts/core": "2.9.5",
56
+ "@llm4ts/flow": "2.9.5",
57
+ "@llm4ts/runner": "2.9.5"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "effect": "4.0.0-rc.115"
package/src/FlowLaunch.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { spawn } from "node:child_process"
1
+ import { spawn, spawnSync } from "node:child_process"
2
2
  import { existsSync } from "node:fs"
3
3
  import { constants } from "node:os"
4
4
  import { dirname, join, resolve } from "node:path"
@@ -53,6 +53,21 @@ export interface LaunchFlowOptions {
53
53
  readonly stdio?: "inherit" | "ignore"
54
54
  }
55
55
 
56
+ /**
57
+ * A flow's live status display turns input echo off and hides the cursor;
58
+ * a flow killed by a signal cannot turn them back on, so the shell does it
59
+ * once the child is gone. Harmless when they were never changed.
60
+ */
61
+ const restoreTerminal = (stdio: "inherit" | "ignore"): void => {
62
+ if (stdio !== "inherit" || process.platform === "win32" || process.stdin.isTTY !== true) {
63
+ return
64
+ }
65
+ spawnSync("stty", ["echo"], { stdio: ["inherit", "ignore", "ignore"] })
66
+ if (process.stdout.isTTY === true) {
67
+ process.stdout.write("\u001b[?25h")
68
+ }
69
+ }
70
+
56
71
  /**
57
72
  * Runs a flow script as a child `node` process with type stripping, the
58
73
  * terminal inherited, and the task text appended to argv. While the child
@@ -86,6 +101,7 @@ export const launchFlow = (options: LaunchFlowOptions): Effect.Effect<number, Fl
86
101
  })
87
102
  child.on("exit", (code, signal) => {
88
103
  restoreSigint()
104
+ restoreTerminal(options.stdio ?? "inherit")
89
105
  if (signal !== null) {
90
106
  resume(Effect.succeed(128 + (constants.signals[signal] ?? 15)))
91
107
  } else {