@legna-lnc/legnacode 1.2.1 → 1.2.2

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,82 +1,82 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
-
4
- /**
5
- * postinstall: ensure the correct platform binary package is installed.
6
- * npm's optionalDependencies with os/cpu filters often fails on Windows
7
- * and with non-standard registries. This script fixes that.
8
- */
9
-
10
- var os = require("os");
11
- var path = require("path");
12
- var fs = require("fs");
13
- var childProcess = require("child_process");
14
-
15
- var PLATFORMS = {
16
- "darwin-arm64": "@legna-lnc/legnacode-darwin-arm64",
17
- "darwin-x64": "@legna-lnc/legnacode-darwin-x64",
18
- "linux-x64": "@legna-lnc/legnacode-linux-x64",
19
- "linux-arm64": "@legna-lnc/legnacode-linux-arm64",
20
- "win32-x64": "@legna-lnc/legnacode-win32-x64",
21
- };
22
-
23
- var key = process.platform + "-" + os.arch();
24
- var pkg = PLATFORMS[key];
25
- if (!pkg) process.exit(0); // unsupported platform, skip silently
26
-
27
- var binName = process.platform === "win32" ? "legna.exe" : "bin/legna";
28
-
29
- // Check if platform package is already available
30
- function isInstalled() {
31
- try {
32
- var p = path.resolve(require.resolve(pkg + "/package.json"), "..", binName);
33
- if (fs.existsSync(p)) return true;
34
- } catch (e) {}
35
-
36
- // Check sibling in global/local node_modules
37
- var scopeDir = path.resolve(__dirname, "..", "..");
38
- var pkgName = pkg.split("/")[1];
39
- if (fs.existsSync(path.resolve(scopeDir, pkgName, binName))) return true;
40
-
41
- // Check nested
42
- var nested = path.resolve(__dirname, "..", "node_modules", pkg, binName);
43
- if (fs.existsSync(nested)) return true;
44
-
45
- return false;
46
- }
47
-
48
- if (isInstalled()) process.exit(0);
49
-
50
- // Not installed — fetch it from official npm registry
51
- var version;
52
- try {
53
- version = JSON.parse(fs.readFileSync(path.resolve(__dirname, "..", "package.json"), "utf-8")).version;
54
- } catch (e) {
55
- version = "latest";
56
- }
57
-
58
- console.log("Installing platform binary " + pkg + "@" + version + "...");
59
-
60
- // Use official registry to avoid mirror sync delays
61
- var result = childProcess.spawnSync(
62
- "npm",
63
- ["install", "--no-save", pkg + "@" + version, "--registry", "https://registry.npmjs.org"],
64
- {
65
- cwd: path.resolve(__dirname, ".."),
66
- stdio: "inherit",
67
- shell: true,
68
- }
69
- );
70
-
71
- if (result.status !== 0) {
72
- // Try global install as fallback
73
- var result2 = childProcess.spawnSync(
74
- "npm",
75
- ["install", "-g", pkg + "@" + version, "--registry", "https://registry.npmjs.org"],
76
- { stdio: "inherit", shell: true }
77
- );
78
- if (result2.status !== 0) {
79
- console.error("Warning: could not install " + pkg + ". Run manually:");
80
- console.error(" npm install -g " + pkg + "@" + version + " --registry https://registry.npmjs.org");
81
- }
82
- }
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ /**
5
+ * postinstall: ensure the correct platform binary package is installed.
6
+ * npm's optionalDependencies with os/cpu filters often fails on Windows
7
+ * and with non-standard registries. This script fixes that.
8
+ */
9
+
10
+ var os = require("os");
11
+ var path = require("path");
12
+ var fs = require("fs");
13
+ var childProcess = require("child_process");
14
+
15
+ var PLATFORMS = {
16
+ "darwin-arm64": "@legna-lnc/legnacode-darwin-arm64",
17
+ "darwin-x64": "@legna-lnc/legnacode-darwin-x64",
18
+ "linux-x64": "@legna-lnc/legnacode-linux-x64",
19
+ "linux-arm64": "@legna-lnc/legnacode-linux-arm64",
20
+ "win32-x64": "@legna-lnc/legnacode-win32-x64",
21
+ };
22
+
23
+ var key = process.platform + "-" + os.arch();
24
+ var pkg = PLATFORMS[key];
25
+ if (!pkg) process.exit(0); // unsupported platform, skip silently
26
+
27
+ var binName = process.platform === "win32" ? "legna.exe" : "bin/legna";
28
+
29
+ // Check if platform package is already available
30
+ function isInstalled() {
31
+ try {
32
+ var p = path.resolve(require.resolve(pkg + "/package.json"), "..", binName);
33
+ if (fs.existsSync(p)) return true;
34
+ } catch (e) {}
35
+
36
+ // Check sibling in global/local node_modules
37
+ var scopeDir = path.resolve(__dirname, "..", "..");
38
+ var pkgName = pkg.split("/")[1];
39
+ if (fs.existsSync(path.resolve(scopeDir, pkgName, binName))) return true;
40
+
41
+ // Check nested
42
+ var nested = path.resolve(__dirname, "..", "node_modules", pkg, binName);
43
+ if (fs.existsSync(nested)) return true;
44
+
45
+ return false;
46
+ }
47
+
48
+ if (isInstalled()) process.exit(0);
49
+
50
+ // Not installed — fetch it from official npm registry
51
+ var version;
52
+ try {
53
+ version = JSON.parse(fs.readFileSync(path.resolve(__dirname, "..", "package.json"), "utf-8")).version;
54
+ } catch (e) {
55
+ version = "latest";
56
+ }
57
+
58
+ console.log("Installing platform binary " + pkg + "@" + version + "...");
59
+
60
+ // Use official registry to avoid mirror sync delays
61
+ var result = childProcess.spawnSync(
62
+ "npm",
63
+ ["install", "--no-save", pkg + "@" + version, "--registry", "https://registry.npmjs.org"],
64
+ {
65
+ cwd: path.resolve(__dirname, ".."),
66
+ stdio: "inherit",
67
+ shell: true,
68
+ }
69
+ );
70
+
71
+ if (result.status !== 0) {
72
+ // Try global install as fallback
73
+ var result2 = childProcess.spawnSync(
74
+ "npm",
75
+ ["install", "-g", pkg + "@" + version, "--registry", "https://registry.npmjs.org"],
76
+ { stdio: "inherit", shell: true }
77
+ );
78
+ if (result2.status !== 0) {
79
+ console.error("Warning: could not install " + pkg + ". Run manually:");
80
+ console.error(" npm install -g " + pkg + "@" + version + " --registry https://registry.npmjs.org");
81
+ }
82
+ }
package/package.json CHANGED
@@ -1,151 +1,151 @@
1
- {
2
- "name": "@legna-lnc/legnacode",
3
- "version": "1.2.1",
4
- "description": "LegnaCode — legna.lnc's official CLI for coding assistance",
5
- "type": "module",
6
- "bin": {
7
- "legna": "npm/bin/legna.cjs"
8
- },
9
- "files": [
10
- "npm/",
11
- "README.md",
12
- "CHANGELOG.md"
13
- ],
14
- "repository": {
15
- "type": "git",
16
- "url": "https://github.com/LegnaOS/LegnaCode-cli.git"
17
- },
18
- "homepage": "https://github.com/LegnaOS/LegnaCode-cli",
19
- "keywords": [
20
- "cli",
21
- "ai",
22
- "claude",
23
- "coding",
24
- "assistant",
25
- "legnacode",
26
- "anthropic"
27
- ],
28
- "scripts": {
29
- "postinstall": "node npm/postinstall.cjs",
30
- "build": "bun run scripts/build.ts && python3 scripts/postbuild-fix.py",
31
- "compile": "bun run scripts/compile.ts",
32
- "compile:all": "bun run scripts/compile-all.ts",
33
- "publish:all": "bun run scripts/publish.ts",
34
- "dev": "bun --watch src/main.tsx",
35
- "typecheck": "tsc --noEmit",
36
- "lint": "eslint src/",
37
- "clean": "rm -rf dist legna"
38
- },
39
- "dependencies": {
40
- "@alcalzone/ansi-tokenize": "^0.1.3",
41
- "@anthropic-ai/bedrock-sdk": "^0.26.4",
42
- "@anthropic-ai/claude-agent-sdk": "^0.1.0",
43
- "@anthropic-ai/foundry-sdk": "^0.2.3",
44
- "@anthropic-ai/sdk": "^0.52.0",
45
- "@anthropic-ai/vertex-sdk": "^0.14.4",
46
- "@aws-sdk/client-bedrock": "^3.1020.0",
47
- "@aws-sdk/client-bedrock-runtime": "^3.700.0",
48
- "@aws-sdk/client-sts": "^3.1020.0",
49
- "@azure/identity": "^4.13.1",
50
- "@commander-js/extra-typings": "^13.1.0",
51
- "@growthbook/growthbook": "^1.3.0",
52
- "@modelcontextprotocol/sdk": "^1.12.0",
53
- "@opentelemetry/api": "^1.9.0",
54
- "@opentelemetry/api-logs": "^0.57.0",
55
- "@opentelemetry/core": "^1.30.0",
56
- "@opentelemetry/exporter-logs-otlp-grpc": "^0.214.0",
57
- "@opentelemetry/exporter-logs-otlp-http": "^0.214.0",
58
- "@opentelemetry/exporter-logs-otlp-proto": "^0.214.0",
59
- "@opentelemetry/exporter-metrics-otlp-grpc": "^0.214.0",
60
- "@opentelemetry/exporter-metrics-otlp-http": "^0.214.0",
61
- "@opentelemetry/exporter-metrics-otlp-proto": "^0.214.0",
62
- "@opentelemetry/exporter-prometheus": "^0.214.0",
63
- "@opentelemetry/exporter-trace-otlp-grpc": "^0.214.0",
64
- "@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
65
- "@opentelemetry/exporter-trace-otlp-proto": "^0.214.0",
66
- "@opentelemetry/resources": "^2.0.0",
67
- "@opentelemetry/sdk-logs": "^0.57.0",
68
- "@opentelemetry/sdk-metrics": "^1.30.0",
69
- "@opentelemetry/sdk-trace-base": "^1.30.0",
70
- "@opentelemetry/semantic-conventions": "^1.30.0",
71
- "ajv": "^8.17.0",
72
- "asciichart": "^1.5.25",
73
- "auto-bind": "^5.0.1",
74
- "axios": "^1.7.0",
75
- "bidi-js": "^1.0.3",
76
- "chalk": "^5.4.0",
77
- "chokidar": "^4.0.0",
78
- "cli-boxes": "^3.0.0",
79
- "commander": "13",
80
- "diff": "^7.0.0",
81
- "emoji-regex": "^10.4.0",
82
- "env-paths": "^3.0.0",
83
- "execa": "^9.5.0",
84
- "fflate": "^0.8.2",
85
- "figures": "^6.1.0",
86
- "fuse.js": "^7.0.0",
87
- "get-east-asian-width": "^1.3.0",
88
- "google-auth-library": "^9.15.0",
89
- "highlight.js": "^11.11.0",
90
- "https-proxy-agent": "^7.0.0",
91
- "ignore": "^7.0.0",
92
- "indent-string": "^5.0.0",
93
- "ink": "^5.1.0",
94
- "jsonc-parser": "^3.3.0",
95
- "lodash-es": "^4.17.21",
96
- "lru-cache": "^11.0.0",
97
- "marked": "^15.0.0",
98
- "p-map": "^7.0.0",
99
- "picomatch": "^4.0.0",
100
- "proper-lockfile": "^4.1.2",
101
- "qrcode": "^1.5.4",
102
- "react": "19",
103
- "react-compiler-runtime": "^1.0.0",
104
- "react-reconciler": "0.33.0",
105
- "semver": "^7.6.0",
106
- "sharp": "^0.34.5",
107
- "shell-quote": "^1.8.0",
108
- "signal-exit": "^4.1.0",
109
- "stack-utils": "^2.0.6",
110
- "strip-ansi": "^7.1.0",
111
- "supports-hyperlinks": "^3.1.0",
112
- "tree-kill": "^1.2.2",
113
- "turndown": "^7.2.2",
114
- "type-fest": "^4.30.0",
115
- "undici": "^7.3.0",
116
- "usehooks-ts": "^3.1.0",
117
- "vscode-jsonrpc": "^8.2.0",
118
- "vscode-languageserver-protocol": "^3.17.0",
119
- "vscode-languageserver-types": "^3.17.0",
120
- "wrap-ansi": "^9.0.0",
121
- "ws": "^8.18.0",
122
- "xss": "^1.0.15",
123
- "yaml": "^2.7.0",
124
- "zod": "^3.25.0"
125
- },
126
- "devDependencies": {
127
- "@types/bun": "^1.2.0",
128
- "@types/diff": "^7.0.0",
129
- "@types/lodash-es": "^4.17.12",
130
- "@types/node": "^22.10.0",
131
- "@types/proper-lockfile": "^4.1.4",
132
- "@types/qrcode": "^1.5.5",
133
- "@types/react": "^18.3.0",
134
- "@types/react-reconciler": "^0.28.8",
135
- "@types/semver": "^7.5.8",
136
- "@types/shell-quote": "^1.7.5",
137
- "@types/stack-utils": "^2.0.3",
138
- "@types/ws": "^8.5.0",
139
- "typescript": "^5.7.0"
140
- },
141
- "engines": {
142
- "bun": ">=1.2.0"
143
- },
144
- "optionalDependencies": {
145
- "@legna-lnc/legnacode-darwin-arm64": "1.2.1",
146
- "@legna-lnc/legnacode-darwin-x64": "1.2.1",
147
- "@legna-lnc/legnacode-linux-x64": "1.2.1",
148
- "@legna-lnc/legnacode-linux-arm64": "1.2.1",
149
- "@legna-lnc/legnacode-win32-x64": "1.2.1"
150
- }
151
- }
1
+ {
2
+ "name": "@legna-lnc/legnacode",
3
+ "version": "1.2.2",
4
+ "description": "LegnaCode — legna.lnc's official CLI for coding assistance",
5
+ "type": "module",
6
+ "bin": {
7
+ "legna": "npm/bin/legna.cjs"
8
+ },
9
+ "files": [
10
+ "npm/",
11
+ "README.md",
12
+ "CHANGELOG.md"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/LegnaOS/LegnaCode-cli.git"
17
+ },
18
+ "homepage": "https://github.com/LegnaOS/LegnaCode-cli",
19
+ "keywords": [
20
+ "cli",
21
+ "ai",
22
+ "claude",
23
+ "coding",
24
+ "assistant",
25
+ "legnacode",
26
+ "anthropic"
27
+ ],
28
+ "scripts": {
29
+ "postinstall": "node npm/postinstall.cjs",
30
+ "build": "bun run scripts/build.ts && python3 scripts/postbuild-fix.py",
31
+ "compile": "bun run scripts/compile.ts",
32
+ "compile:all": "bun run scripts/compile-all.ts",
33
+ "publish:all": "bun run scripts/publish.ts",
34
+ "dev": "bun --watch src/main.tsx",
35
+ "typecheck": "tsc --noEmit",
36
+ "lint": "eslint src/",
37
+ "clean": "rm -rf dist legna"
38
+ },
39
+ "dependencies": {
40
+ "@alcalzone/ansi-tokenize": "^0.1.3",
41
+ "@anthropic-ai/bedrock-sdk": "^0.26.4",
42
+ "@anthropic-ai/claude-agent-sdk": "^0.1.0",
43
+ "@anthropic-ai/foundry-sdk": "^0.2.3",
44
+ "@anthropic-ai/sdk": "^0.52.0",
45
+ "@anthropic-ai/vertex-sdk": "^0.14.4",
46
+ "@aws-sdk/client-bedrock": "^3.1020.0",
47
+ "@aws-sdk/client-bedrock-runtime": "^3.700.0",
48
+ "@aws-sdk/client-sts": "^3.1020.0",
49
+ "@azure/identity": "^4.13.1",
50
+ "@commander-js/extra-typings": "^13.1.0",
51
+ "@growthbook/growthbook": "^1.3.0",
52
+ "@modelcontextprotocol/sdk": "^1.12.0",
53
+ "@opentelemetry/api": "^1.9.0",
54
+ "@opentelemetry/api-logs": "^0.57.0",
55
+ "@opentelemetry/core": "^1.30.0",
56
+ "@opentelemetry/exporter-logs-otlp-grpc": "^0.214.0",
57
+ "@opentelemetry/exporter-logs-otlp-http": "^0.214.0",
58
+ "@opentelemetry/exporter-logs-otlp-proto": "^0.214.0",
59
+ "@opentelemetry/exporter-metrics-otlp-grpc": "^0.214.0",
60
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.214.0",
61
+ "@opentelemetry/exporter-metrics-otlp-proto": "^0.214.0",
62
+ "@opentelemetry/exporter-prometheus": "^0.214.0",
63
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.214.0",
64
+ "@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
65
+ "@opentelemetry/exporter-trace-otlp-proto": "^0.214.0",
66
+ "@opentelemetry/resources": "^2.0.0",
67
+ "@opentelemetry/sdk-logs": "^0.57.0",
68
+ "@opentelemetry/sdk-metrics": "^1.30.0",
69
+ "@opentelemetry/sdk-trace-base": "^1.30.0",
70
+ "@opentelemetry/semantic-conventions": "^1.30.0",
71
+ "ajv": "^8.17.0",
72
+ "asciichart": "^1.5.25",
73
+ "auto-bind": "^5.0.1",
74
+ "axios": "^1.7.0",
75
+ "bidi-js": "^1.0.3",
76
+ "chalk": "^5.4.0",
77
+ "chokidar": "^4.0.0",
78
+ "cli-boxes": "^3.0.0",
79
+ "commander": "13",
80
+ "diff": "^7.0.0",
81
+ "emoji-regex": "^10.4.0",
82
+ "env-paths": "^3.0.0",
83
+ "execa": "^9.5.0",
84
+ "fflate": "^0.8.2",
85
+ "figures": "^6.1.0",
86
+ "fuse.js": "^7.0.0",
87
+ "get-east-asian-width": "^1.3.0",
88
+ "google-auth-library": "^9.15.0",
89
+ "highlight.js": "^11.11.0",
90
+ "https-proxy-agent": "^7.0.0",
91
+ "ignore": "^7.0.0",
92
+ "indent-string": "^5.0.0",
93
+ "ink": "^5.1.0",
94
+ "jsonc-parser": "^3.3.0",
95
+ "lodash-es": "^4.17.21",
96
+ "lru-cache": "^11.0.0",
97
+ "marked": "^15.0.0",
98
+ "p-map": "^7.0.0",
99
+ "picomatch": "^4.0.0",
100
+ "proper-lockfile": "^4.1.2",
101
+ "qrcode": "^1.5.4",
102
+ "react": "19",
103
+ "react-compiler-runtime": "^1.0.0",
104
+ "react-reconciler": "0.33.0",
105
+ "semver": "^7.6.0",
106
+ "sharp": "^0.34.5",
107
+ "shell-quote": "^1.8.0",
108
+ "signal-exit": "^4.1.0",
109
+ "stack-utils": "^2.0.6",
110
+ "strip-ansi": "^7.1.0",
111
+ "supports-hyperlinks": "^3.1.0",
112
+ "tree-kill": "^1.2.2",
113
+ "turndown": "^7.2.2",
114
+ "type-fest": "^4.30.0",
115
+ "undici": "^7.3.0",
116
+ "usehooks-ts": "^3.1.0",
117
+ "vscode-jsonrpc": "^8.2.0",
118
+ "vscode-languageserver-protocol": "^3.17.0",
119
+ "vscode-languageserver-types": "^3.17.0",
120
+ "wrap-ansi": "^9.0.0",
121
+ "ws": "^8.18.0",
122
+ "xss": "^1.0.15",
123
+ "yaml": "^2.7.0",
124
+ "zod": "^3.25.0"
125
+ },
126
+ "devDependencies": {
127
+ "@types/bun": "^1.2.0",
128
+ "@types/diff": "^7.0.0",
129
+ "@types/lodash-es": "^4.17.12",
130
+ "@types/node": "^22.10.0",
131
+ "@types/proper-lockfile": "^4.1.4",
132
+ "@types/qrcode": "^1.5.5",
133
+ "@types/react": "^18.3.0",
134
+ "@types/react-reconciler": "^0.28.8",
135
+ "@types/semver": "^7.5.8",
136
+ "@types/shell-quote": "^1.7.5",
137
+ "@types/stack-utils": "^2.0.3",
138
+ "@types/ws": "^8.5.0",
139
+ "typescript": "^5.7.0"
140
+ },
141
+ "engines": {
142
+ "bun": ">=1.2.0"
143
+ },
144
+ "optionalDependencies": {
145
+ "@legna-lnc/legnacode-darwin-arm64": "1.2.1",
146
+ "@legna-lnc/legnacode-darwin-x64": "1.2.1",
147
+ "@legna-lnc/legnacode-linux-x64": "1.2.1",
148
+ "@legna-lnc/legnacode-linux-arm64": "1.2.1",
149
+ "@legna-lnc/legnacode-win32-x64": "1.2.2"
150
+ }
151
+ }