pikakit 3.9.4 → 3.9.6

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.
@@ -646,7 +646,7 @@ export async function run(spec) {
646
646
  if (vsixPath && fs.existsSync(vsixPath)) {
647
647
  let installedTo = [];
648
648
 
649
- // Install to VS Code
649
+ // Install to VS Code via CLI
650
650
  try {
651
651
  await execAsync(`code --install-extension "${vsixPath}"`, { timeout: 30000 });
652
652
  installedTo.push("VS Code");
@@ -654,129 +654,21 @@ export async function run(spec) {
654
654
  // VS Code not available, continue
655
655
  }
656
656
 
657
- // Also install to Antigravity extensions folder by extracting VSIX
658
- // Antigravity uses ~/.gemini/antigravity/ for its data (not ~/.antigravity)
657
+ // Install to Antigravity via CLI (preferred method)
659
658
  const antigravityBase = path.join(os.homedir(), ".gemini", "antigravity");
660
- const antigravityExt = path.join(antigravityBase, "extensions");
661
659
  if (fs.existsSync(antigravityBase)) {
662
660
  try {
663
- fs.mkdirSync(antigravityExt, { recursive: true });
664
- const extDest = path.join(antigravityExt, "pikakit.pikakit-skill-generator-1.0.0-universal");
665
-
666
- // Remove old extension if exists (both old and new naming)
667
- const oldExtDest = path.join(antigravityExt, "pikakit.pikakit-skill-generator-1.0.0");
668
- if (fs.existsSync(oldExtDest)) {
669
- fs.rmSync(oldExtDest, { recursive: true, force: true });
670
- }
671
- if (fs.existsSync(extDest)) {
672
- fs.rmSync(extDest, { recursive: true, force: true });
673
- }
674
-
675
- // VSIX is a ZIP file, need to rename for PowerShell
676
- const isWindows = process.platform === "win32";
677
- if (isWindows) {
678
- // PowerShell Expand-Archive requires .zip extension
679
- const zipPath = path.join(os.tmpdir(), "pikakit-ext.zip");
680
- fs.copyFileSync(vsixPath, zipPath);
681
- await execAsync(`powershell -Command "Expand-Archive -Path '${zipPath}' -DestinationPath '${extDest}' -Force"`, { timeout: 30000 });
682
- fs.unlinkSync(zipPath);
683
- } else {
684
- // Use unzip on Unix
685
- fs.mkdirSync(extDest, { recursive: true });
686
- await execAsync(`unzip -o "${vsixPath}" -d "${extDest}"`, { timeout: 30000 });
687
- }
688
-
689
- // Move extension contents from extension/ subfolder to root if needed
690
- const extSubfolder = path.join(extDest, "extension");
691
- if (fs.existsSync(extSubfolder)) {
692
- // Use cpSync instead of renameSync for reliability
693
- for (const item of fs.readdirSync(extSubfolder)) {
694
- const src = path.join(extSubfolder, item);
695
- const dest = path.join(extDest, item);
696
- fs.cpSync(src, dest, { recursive: true });
697
- }
698
- fs.rmSync(extSubfolder, { recursive: true, force: true });
699
- }
700
-
701
- // Clean up VSIX manifest files (but keep them for now - needed for registration)
702
-
703
- // Register extension in Antigravity's extensions.json
704
- const extJsonPath = path.join(antigravityExt, "extensions.json");
705
- try {
706
- let extensions = [];
707
- if (fs.existsSync(extJsonPath)) {
708
- const content = fs.readFileSync(extJsonPath, "utf8");
709
- extensions = JSON.parse(content);
710
- }
711
-
712
- // Check if already registered
713
- const extId = "pikakit.pikakit-skill-generator";
714
- const existing = extensions.findIndex(e => e.identifier?.id === extId);
715
-
716
- if (existing >= 0) {
717
- // Update existing entry
718
- extensions[existing].version = "1.0.0";
719
- extensions[existing].location = {
720
- $mid: 1,
721
- path: `/c:${extDest.replace(/\\/g, "/")}`,
722
- scheme: "file"
723
- };
724
- } else {
725
- // Add new entry
726
- const newEntry = {
727
- identifier: {
728
- id: extId,
729
- uuid: "pikakit-00000000-0000-0000-0000-000000000001"
730
- },
731
- version: "1.0.0",
732
- location: {
733
- $mid: 1,
734
- path: `/c:${extDest.replace(/\\/g, "/")}`,
735
- scheme: "file"
736
- },
737
- relativeLocation: "pikakit.pikakit-skill-generator-1.0.0-universal",
738
- metadata: {
739
- installedTimestamp: Date.now(),
740
- source: "sideload",
741
- id: "pikakit-00000000-0000-0000-0000-000000000001",
742
- publisherId: "pikakit",
743
- publisherDisplayName: "PikaKit",
744
- targetPlatform: "universal",
745
- updated: false,
746
- private: false,
747
- isPreReleaseVersion: false,
748
- hasPreReleaseVersion: false
749
- }
750
- };
751
- extensions.push(newEntry);
752
- }
753
-
754
- // Write back
755
- fs.writeFileSync(extJsonPath, JSON.stringify(extensions), "utf8");
756
- } catch (jsonErr) {
757
- // Non-fatal, extension files are there anyway
758
- }
759
-
661
+ // Use antigravity CLI command for proper installation
662
+ await execAsync(`antigravity --install-extension "${vsixPath}"`, { timeout: 30000 });
760
663
  installedTo.push("Antigravity");
761
- } catch (extractErr) {
762
- // Antigravity install failed, try fallback to source copy
763
- try {
764
- const outDir = path.join(vsixDir, "out");
765
- if (fs.existsSync(outDir)) {
766
- fs.mkdirSync(extDest, { recursive: true });
767
- fs.cpSync(path.join(vsixDir, "package.json"), path.join(extDest, "package.json"));
768
- fs.cpSync(outDir, path.join(extDest, "out"), { recursive: true });
769
- installedTo.push("Antigravity");
770
- }
771
- } catch {
772
- // Both methods failed
773
- }
664
+ } catch {
665
+ // Antigravity CLI not available or failed, continue
774
666
  }
775
667
  }
776
668
 
777
669
  if (installedTo.length > 0) {
778
670
  extensionInstalled = true;
779
- es.stop(`Installed PikaKit VS Code Extension(${installedTo.join(", ")})`);
671
+ es.stop(`Installed PikaKit Extension (${installedTo.join(", ")})`);
780
672
  } else {
781
673
  es.stop(c.yellow("VS Code extension not installed (no IDE detected)"));
782
674
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pikakit",
3
- "version": "3.9.4",
3
+ "version": "3.9.6",
4
4
  "description": "Enterprise-grade Agent Skill Manager with Antigravity Skills support, Progressive Disclosure detection, and semantic routing validation",
5
5
  "license": "MIT",
6
6
  "author": "pikakit <pikakit@gmail.com>",