pikakit 3.7.5 → 3.7.7

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.
@@ -652,27 +652,65 @@ export async function run(spec) {
652
652
  // VS Code not available, continue
653
653
  }
654
654
 
655
- // Also install to Antigravity extensions folder
655
+ // Also install to Antigravity extensions folder by extracting VSIX
656
656
  const antigravityExt = path.join(os.homedir(), ".antigravity", "extensions");
657
657
  if (fs.existsSync(path.join(os.homedir(), ".antigravity"))) {
658
658
  try {
659
659
  fs.mkdirSync(antigravityExt, { recursive: true });
660
660
  const extDest = path.join(antigravityExt, "pikakit.pikakit-skill-generator-1.0.0");
661
661
 
662
- // Copy extension source files (not VSIX, but actual extension)
663
- const outDir = path.join(vsixDir, "out");
664
- if (fs.existsSync(outDir)) {
662
+ // Remove old extension if exists
663
+ if (fs.existsSync(extDest)) {
664
+ fs.rmSync(extDest, { recursive: true, force: true });
665
+ }
666
+
667
+ // VSIX is a ZIP file, need to rename for PowerShell
668
+ const isWindows = process.platform === "win32";
669
+ if (isWindows) {
670
+ // PowerShell Expand-Archive requires .zip extension
671
+ const zipPath = path.join(os.tmpdir(), "pikakit-ext.zip");
672
+ fs.copyFileSync(vsixPath, zipPath);
673
+ await execAsync(`powershell -Command "Expand-Archive -Path '${zipPath}' -DestinationPath '${extDest}' -Force"`, { timeout: 30000 });
674
+ fs.unlinkSync(zipPath);
675
+ } else {
676
+ // Use unzip on Unix
665
677
  fs.mkdirSync(extDest, { recursive: true });
666
- // Copy required files
667
- fs.cpSync(path.join(vsixDir, "package.json"), path.join(extDest, "package.json"));
668
- fs.cpSync(outDir, path.join(extDest, "out"), { recursive: true });
669
- if (fs.existsSync(path.join(vsixDir, "README.md"))) {
670
- fs.cpSync(path.join(vsixDir, "README.md"), path.join(extDest, "README.md"));
678
+ await execAsync(`unzip -o "${vsixPath}" -d "${extDest}"`, { timeout: 30000 });
679
+ }
680
+
681
+ // Move extension contents from extension/ subfolder to root if needed
682
+ const extSubfolder = path.join(extDest, "extension");
683
+ if (fs.existsSync(extSubfolder)) {
684
+ // Use cpSync instead of renameSync for reliability
685
+ for (const item of fs.readdirSync(extSubfolder)) {
686
+ const src = path.join(extSubfolder, item);
687
+ const dest = path.join(extDest, item);
688
+ fs.cpSync(src, dest, { recursive: true });
689
+ }
690
+ fs.rmSync(extSubfolder, { recursive: true, force: true });
691
+ }
692
+
693
+ // Clean up VSIX manifest files
694
+ const filesToRemove = ["[Content_Types].xml", "extension.vsixmanifest"];
695
+ for (const f of filesToRemove) {
696
+ const fp = path.join(extDest, f);
697
+ if (fs.existsSync(fp)) fs.unlinkSync(fp);
698
+ }
699
+
700
+ installedTo.push("Antigravity");
701
+ } catch (extractErr) {
702
+ // Antigravity install failed, try fallback to source copy
703
+ try {
704
+ const outDir = path.join(vsixDir, "out");
705
+ if (fs.existsSync(outDir)) {
706
+ fs.mkdirSync(extDest, { recursive: true });
707
+ fs.cpSync(path.join(vsixDir, "package.json"), path.join(extDest, "package.json"));
708
+ fs.cpSync(outDir, path.join(extDest, "out"), { recursive: true });
709
+ installedTo.push("Antigravity");
671
710
  }
672
- installedTo.push("Antigravity");
711
+ } catch {
712
+ // Both methods failed
673
713
  }
674
- } catch {
675
- // Antigravity install failed, continue
676
714
  }
677
715
  }
678
716
 
package/package.json CHANGED
@@ -1,76 +1,78 @@
1
- {
2
- "name": "pikakit",
3
- "version": "3.7.5",
4
- "description": "Enterprise-grade Agent Skill Manager with Antigravity Skills support, Progressive Disclosure detection, and semantic routing validation",
5
- "license": "MIT",
6
- "author": "pikakit <pikakit@gmail.com>",
7
- "homepage": "https://github.com/pikakit/pikakit",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/pikakit/pikakit.git"
11
- },
12
- "bugs": {
13
- "url": "https://github.com/pikakit/pikakit/issues"
14
- },
15
- "type": "module",
16
- "bin": {
17
- "pikakit": "bin/cli.mjs",
18
- "kit": "bin/kit.js"
19
- },
20
- "files": [
21
- "bin/",
22
- "lib/",
23
- "specs/",
24
- "README.md",
25
- "LICENSE"
26
- ],
27
- "engines": {
28
- "node": ">=18.0.0"
29
- },
30
- "keywords": [
31
- "agent",
32
- "ai",
33
- "skills",
34
- "cli",
35
- "tooling",
36
- "registry",
37
- "security",
38
- "devops",
39
- "automation",
40
- "antigravity"
41
- ],
42
- "scripts": {
43
- "lint": "eslint bin/",
44
- "lint:fix": "eslint bin/ --fix",
45
- "format": "prettier --write bin/",
46
- "test": "vitest run",
47
- "test:watch": "vitest",
48
- "ci": "npm run lint && npm test && node bin/kit.js verify --strict && node bin/kit.js doctor --strict",
49
- "agent": "agent"
50
- },
51
- "publishConfig": {
52
- "access": "public"
53
- },
54
- "dependencies": {
55
- "@clack/core": "^0.5.0",
56
- "@clack/prompts": "^0.11.0",
57
- "@google/generative-ai": "^0.21.0",
58
- "boxen": "^8.0.1",
59
- "chalk": "^5.4.1",
60
- "clipboardy": "^5.1.0",
61
- "css-tree": "^3.1.0",
62
- "csv-parse": "^6.1.0",
63
- "dotenv": "^16.4.5",
64
- "gradient-string": "^2.0.2",
65
- "js-yaml": "^4.1.0",
66
- "kleur": "^4.1.5",
67
- "ora": "^9.1.0",
68
- "picocolors": "^1.1.1",
69
- "prompts": "^2.4.2"
70
- },
71
- "devDependencies": {
72
- "eslint": "^8.57.0",
73
- "prettier": "^3.2.5",
74
- "vitest": "^4.0.18"
75
- }
76
- }
1
+ {
2
+ "name": "pikakit",
3
+ "version": "3.7.7",
4
+ "description": "Enterprise-grade Agent Skill Manager with Antigravity Skills support, Progressive Disclosure detection, and semantic routing validation",
5
+ "license": "MIT",
6
+ "author": "pikakit <pikakit@gmail.com>",
7
+ "homepage": "https://github.com/pikakit/pikakit",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/pikakit/pikakit.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/pikakit/pikakit/issues"
14
+ },
15
+ "type": "module",
16
+ "bin": {
17
+ "pikakit": "bin/cli.mjs",
18
+ "kit": "bin/kit.js"
19
+ },
20
+ "files": [
21
+ "bin/",
22
+ "lib/",
23
+ "specs/",
24
+ "README.md",
25
+ "LICENSE"
26
+ ],
27
+ "engines": {
28
+ "node": ">=18.0.0"
29
+ },
30
+ "keywords": [
31
+ "agent",
32
+ "ai",
33
+ "skills",
34
+ "cli",
35
+ "tooling",
36
+ "registry",
37
+ "security",
38
+ "devops",
39
+ "automation",
40
+ "antigravity"
41
+ ],
42
+ "scripts": {
43
+ "lint": "eslint bin/",
44
+ "lint:fix": "eslint bin/ --fix",
45
+ "format": "prettier --write bin/",
46
+ "test": "vitest run",
47
+ "test:watch": "vitest",
48
+ "ci": "npm run lint && npm test && node bin/kit.js verify --strict && node bin/kit.js doctor --strict",
49
+ "agent": "agent",
50
+ "kit": "kit"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "dependencies": {
56
+ "@clack/core": "^0.5.0",
57
+ "@clack/prompts": "^0.11.0",
58
+ "@google/generative-ai": "^0.21.0",
59
+ "boxen": "^8.0.1",
60
+ "chalk": "^5.4.1",
61
+ "clipboardy": "^5.1.0",
62
+ "css-tree": "^3.1.0",
63
+ "csv-parse": "^6.1.0",
64
+ "dotenv": "^16.4.5",
65
+ "gradient-string": "^2.0.2",
66
+ "js-yaml": "^4.1.0",
67
+ "kleur": "^4.1.5",
68
+ "ora": "^9.1.0",
69
+ "picocolors": "^1.1.1",
70
+ "prompts": "^2.4.2"
71
+ },
72
+ "devDependencies": {
73
+ "eslint": "^8.57.0",
74
+ "pikakit": "^3.7.5",
75
+ "prettier": "^3.2.5",
76
+ "vitest": "^4.0.18"
77
+ }
78
+ }