@langchain/langgraph-cli 0.0.48 → 0.0.49

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @langchain/langgraph-cli
2
2
 
3
+ ## 0.0.49
4
+
5
+ ### Patch Changes
6
+
7
+ - 78a15a1: feat(cli): add sysinfo command to obtain actual version
8
+ - Updated dependencies [ee1defa]
9
+ - @langchain/langgraph-api@0.0.49
10
+
3
11
  ## 0.0.48
4
12
 
5
13
  ### Patch Changes
package/dist/cli/cli.mjs CHANGED
@@ -6,6 +6,7 @@ import "./dev.mjs";
6
6
  import "./docker.mjs";
7
7
  import "./build.mjs";
8
8
  import "./up.mjs";
9
+ import "./sysinfo.mjs";
9
10
  builder.exitOverride((error) => gracefulExit(error.exitCode));
10
11
  asyncExitHook(() => flushAnalytics(), { wait: 2000 });
11
12
  builder.parse();
@@ -0,0 +1,63 @@
1
+ import { builder } from "./utils/builder.mjs";
2
+ import { detect } from "package-manager-detector";
3
+ import { $ } from "execa";
4
+ builder
5
+ .command("sysinfo")
6
+ .description("Print system information")
7
+ .action(async () => {
8
+ const manager = await detect();
9
+ if (!manager)
10
+ throw new Error("No package manager detected");
11
+ console.log("Node version:", process.version);
12
+ console.log("Operating system:", process.platform, process.arch);
13
+ console.log("Package manager:", manager.name);
14
+ console.log("Package manager version:", manager.version);
15
+ console.log("-".repeat(20));
16
+ const output = await (async () => {
17
+ switch (manager.name) {
18
+ case "npm":
19
+ return await $ `npm ls --depth=4`;
20
+ case "yarn":
21
+ if (manager.version === "berry") {
22
+ return await $ `yarn info`;
23
+ }
24
+ return await $ `yarn list --depth=4`;
25
+ case "pnpm":
26
+ return await $ `pnpm ls --depth=4`;
27
+ case "bun":
28
+ return await $ `bun pm ls`;
29
+ default:
30
+ return await $ `npm ls`;
31
+ }
32
+ })();
33
+ const gatherMatch = (str, regex) => {
34
+ return [...new Set(str.matchAll(regex).map((match) => match[0]))];
35
+ };
36
+ const packages = gatherMatch(output.stdout, /(@langchain\/[^\s@]+|langsmith|langchain)/g);
37
+ async function getPackageInfo(packageName) {
38
+ switch (manager?.name) {
39
+ case "npm":
40
+ return (await $ `npm explain ${packageName}`).stdout;
41
+ case "yarn":
42
+ return (await $ `yarn why ${packageName}`).stdout;
43
+ case "pnpm":
44
+ return (await $ `pnpm why ${packageName}`).stdout;
45
+ case "bun":
46
+ return (await $ `bun why ${packageName}`).stdout;
47
+ default:
48
+ return null;
49
+ }
50
+ }
51
+ function escapeRegExp(text) {
52
+ return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
53
+ }
54
+ for (const pkg of packages) {
55
+ const info = await getPackageInfo(pkg);
56
+ if (!info)
57
+ continue;
58
+ const targetRegex = new RegExp(escapeRegExp(pkg) + "@[^\\s]*", "g");
59
+ console.log(pkg, "->", gatherMatch(info, targetRegex)
60
+ .map((i) => i.slice(pkg.length))
61
+ .join(", "));
62
+ }
63
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langchain/langgraph-cli",
3
- "version": "0.0.48",
3
+ "version": "0.0.49",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": "^18.19.0 || >=20.16.0"
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@babel/code-frame": "^7.26.2",
35
35
  "@commander-js/extra-typings": "^13.0.0",
36
- "@langchain/langgraph-api": "0.0.48",
36
+ "@langchain/langgraph-api": "0.0.49",
37
37
  "chokidar": "^4.0.3",
38
38
  "commander": "^13.0.0",
39
39
  "dedent": "^1.5.3",
@@ -43,6 +43,7 @@
43
43
  "extract-zip": "^2.0.1",
44
44
  "langsmith": "^0.3.33",
45
45
  "open": "^10.1.0",
46
+ "package-manager-detector": "^1.3.0",
46
47
  "stacktrace-parser": "^0.1.10",
47
48
  "tar": "^7.4.3",
48
49
  "winston": "^3.17.0",