@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.
- package/dist/FlowLaunch.d.ts.map +1 -1
- package/dist/FlowLaunch.js +16 -1
- package/dist/FlowLaunch.js.map +1 -1
- package/package.json +4 -4
- package/src/FlowLaunch.ts +17 -1
package/dist/FlowLaunch.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/FlowLaunch.js
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";
|
|
@@ -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
|
}
|
package/dist/FlowLaunch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowLaunch.js","sourceRoot":"","sources":["../src/FlowLaunch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
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
|
+
"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.
|
|
56
|
-
"@llm4ts/
|
|
57
|
-
"@llm4ts/
|
|
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 {
|