mcpocket 0.1.1 → 0.3.0

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.
Files changed (92) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +52 -4
  3. package/dist/cli.js +24 -5
  4. package/dist/cli.js.map +1 -1
  5. package/dist/clients/antigravity.d.ts +5 -0
  6. package/dist/clients/antigravity.d.ts.map +1 -0
  7. package/dist/clients/antigravity.js +94 -0
  8. package/dist/clients/antigravity.js.map +1 -0
  9. package/dist/clients/codex.d.ts +5 -0
  10. package/dist/clients/codex.d.ts.map +1 -0
  11. package/dist/clients/codex.js +78 -0
  12. package/dist/clients/codex.js.map +1 -0
  13. package/dist/clients/copilot-cli.d.ts +5 -0
  14. package/dist/clients/copilot-cli.d.ts.map +1 -0
  15. package/dist/clients/copilot-cli.js +90 -0
  16. package/dist/clients/copilot-cli.js.map +1 -0
  17. package/dist/clients/cursor.d.ts +5 -0
  18. package/dist/clients/cursor.d.ts.map +1 -0
  19. package/dist/clients/cursor.js +77 -0
  20. package/dist/clients/cursor.js.map +1 -0
  21. package/dist/clients/providers.d.ts +7 -0
  22. package/dist/clients/providers.d.ts.map +1 -0
  23. package/dist/clients/providers.js +80 -0
  24. package/dist/clients/providers.js.map +1 -0
  25. package/dist/clients/types.d.ts +27 -1
  26. package/dist/clients/types.d.ts.map +1 -1
  27. package/dist/commands/dedupe.d.ts +2 -0
  28. package/dist/commands/dedupe.d.ts.map +1 -0
  29. package/dist/commands/dedupe.js +114 -0
  30. package/dist/commands/dedupe.js.map +1 -0
  31. package/dist/commands/init.d.ts.map +1 -1
  32. package/dist/commands/init.js +54 -15
  33. package/dist/commands/init.js.map +1 -1
  34. package/dist/commands/provider-options.d.ts +18 -0
  35. package/dist/commands/provider-options.d.ts.map +1 -0
  36. package/dist/commands/provider-options.js +34 -0
  37. package/dist/commands/provider-options.js.map +1 -0
  38. package/dist/commands/pull.d.ts +2 -1
  39. package/dist/commands/pull.d.ts.map +1 -1
  40. package/dist/commands/pull.js +90 -75
  41. package/dist/commands/pull.js.map +1 -1
  42. package/dist/commands/push.d.ts +2 -1
  43. package/dist/commands/push.d.ts.map +1 -1
  44. package/dist/commands/push.js +82 -50
  45. package/dist/commands/push.js.map +1 -1
  46. package/dist/config.d.ts +1 -1
  47. package/dist/config.d.ts.map +1 -1
  48. package/dist/config.js +1 -1
  49. package/dist/config.js.map +1 -1
  50. package/dist/storage/gist.d.ts +5 -0
  51. package/dist/storage/gist.d.ts.map +1 -1
  52. package/dist/storage/gist.js +36 -7
  53. package/dist/storage/gist.js.map +1 -1
  54. package/dist/storage/github.d.ts +5 -0
  55. package/dist/storage/github.d.ts.map +1 -1
  56. package/dist/storage/github.js +25 -0
  57. package/dist/storage/github.js.map +1 -1
  58. package/dist/sync/agents.d.ts +6 -2
  59. package/dist/sync/agents.d.ts.map +1 -1
  60. package/dist/sync/agents.js +35 -33
  61. package/dist/sync/agents.js.map +1 -1
  62. package/dist/sync/mcp.d.ts.map +1 -1
  63. package/dist/sync/mcp.js +75 -9
  64. package/dist/sync/mcp.js.map +1 -1
  65. package/dist/sync/plugins.d.ts +5 -1
  66. package/dist/sync/plugins.d.ts.map +1 -1
  67. package/dist/sync/plugins.js +14 -0
  68. package/dist/sync/plugins.js.map +1 -1
  69. package/dist/sync/pocket.d.ts +3 -0
  70. package/dist/sync/pocket.d.ts.map +1 -0
  71. package/dist/sync/pocket.js +16 -0
  72. package/dist/sync/pocket.js.map +1 -0
  73. package/dist/sync/skills.d.ts +3 -2
  74. package/dist/sync/skills.d.ts.map +1 -1
  75. package/dist/sync/skills.js +28 -18
  76. package/dist/sync/skills.js.map +1 -1
  77. package/dist/utils/crypto.d.ts +11 -0
  78. package/dist/utils/crypto.d.ts.map +1 -1
  79. package/dist/utils/crypto.js +17 -3
  80. package/dist/utils/crypto.js.map +1 -1
  81. package/dist/utils/files.d.ts +16 -0
  82. package/dist/utils/files.d.ts.map +1 -0
  83. package/dist/utils/files.js +168 -0
  84. package/dist/utils/files.js.map +1 -0
  85. package/dist/utils/paths.d.ts +16 -0
  86. package/dist/utils/paths.d.ts.map +1 -1
  87. package/dist/utils/paths.js +38 -3
  88. package/dist/utils/paths.js.map +1 -1
  89. package/dist/utils/sparkle.d.ts.map +1 -1
  90. package/dist/utils/sparkle.js +27 -10
  91. package/dist/utils/sparkle.js.map +1 -1
  92. package/package.json +4 -2
@@ -34,62 +34,36 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.pullCommand = pullCommand;
37
- const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
39
  const config_js_1 = require("../config.js");
40
40
  const github_js_1 = require("../storage/github.js");
41
41
  const gist_js_1 = require("../storage/gist.js");
42
- const claude_desktop_js_1 = require("../clients/claude-desktop.js");
43
- const claude_code_js_1 = require("../clients/claude-code.js");
44
- const opencode_js_1 = require("../clients/opencode.js");
45
42
  const mcp_js_1 = require("../sync/mcp.js");
46
- const claude_desktop_js_2 = require("../clients/claude-desktop.js");
47
- const claude_code_js_2 = require("../clients/claude-code.js");
48
- const opencode_js_2 = require("../clients/opencode.js");
49
43
  const plugins_js_1 = require("../sync/plugins.js");
50
44
  const agents_js_1 = require("../sync/agents.js");
51
45
  const skills_js_1 = require("../sync/skills.js");
46
+ const provider_options_js_1 = require("./provider-options.js");
52
47
  const prompt_js_1 = require("../utils/prompt.js");
53
48
  const sparkle_js_1 = require("../utils/sparkle.js");
54
- async function pullCommand() {
49
+ async function pullCommand(options = {}) {
55
50
  const config = (0, config_js_1.readConfig)();
56
51
  const repoDir = (0, config_js_1.getLocalRepoDir)();
52
+ const selection = (0, provider_options_js_1.resolveProviderSelection)(options);
57
53
  // Pull or clone
58
54
  (0, sparkle_js_1.section)('Pull');
59
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.pulling);
60
- if (config.storageType === 'gist') {
61
- try {
62
- const gistFiles = await (0, gist_js_1.fetchGist)(config.githubToken, config.gistId);
63
- fs.mkdirSync(repoDir, { recursive: true });
64
- (0, gist_js_1.writeGistFilesToDir)(repoDir, gistFiles);
65
- }
66
- catch (err) {
67
- (0, sparkle_js_1.oops)(err.message);
68
- process.exit(1);
69
- }
70
- }
71
- else {
72
- try {
73
- (0, github_js_1.pullRepo)(repoDir, config.githubToken, config.repoCloneUrl);
74
- (0, github_js_1.ensureGitConfig)(repoDir);
75
- }
76
- catch (err) {
77
- (0, sparkle_js_1.oops)(err.message);
78
- process.exit(1);
79
- }
55
+ if (selection.isFiltered) {
56
+ (0, sparkle_js_1.sparkle)(`Sync scope: ${(0, provider_options_js_1.formatProviderList)(selection.selected)}`);
80
57
  }
58
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.pulling);
59
+ await syncPocketToLocal(repoDir, config);
81
60
  // Check for mcp-config.json
82
61
  const mcpConfigPath = path.join(repoDir, 'mcp-config.json');
83
62
  if (!fs.existsSync(mcpConfigPath)) {
84
63
  (0, sparkle_js_1.heads_up)('No config found in the pocket yet. Run `mcpocket push` on your source machine first!');
85
64
  return;
86
65
  }
87
- // Get passphrase for decrypting secrets
88
- const passphrase = await (0, prompt_js_1.askSecret)(' 🔓 Passphrase to decrypt secrets: ');
89
- if (!passphrase) {
90
- (0, sparkle_js_1.oops)('Passphrase cannot be empty.');
91
- process.exit(1);
92
- }
66
+ const passphrase = await promptForPullPassphrase();
93
67
  // Restore MCP servers
94
68
  (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.decrypting);
95
69
  let remoteServers;
@@ -102,56 +76,97 @@ async function pullCommand() {
102
76
  process.exit(1);
103
77
  }
104
78
  const serverCount = Object.keys(remoteServers).length;
105
- const updatedClients = [];
106
- // Apply to Claude Desktop
107
- const localDesktop = (0, claude_desktop_js_2.readClaudeDesktopMcpServers)();
108
- const mergedDesktop = (0, mcp_js_1.additiveMerge)(localDesktop, remoteServers);
109
- if (Object.keys(mergedDesktop).length > Object.keys(localDesktop).length) {
110
- (0, claude_desktop_js_1.writeClaudeDesktopMcpServers)(mergedDesktop);
111
- updatedClients.push(`Claude Desktop (${(0, claude_desktop_js_1.getConfigPath)()})`);
112
- }
113
- // Apply to Claude Code
114
- const localCode = (0, claude_code_js_2.readClaudeCodeMcpServers)();
115
- const mergedCode = (0, mcp_js_1.additiveMerge)(localCode, remoteServers);
116
- if (Object.keys(mergedCode).length > Object.keys(localCode).length) {
117
- (0, claude_code_js_1.writeClaudeCodeMcpServers)(mergedCode);
118
- updatedClients.push(`Claude Code (${(0, claude_code_js_1.getSettingsPath)()})`);
119
- }
120
- // Apply to OpenCode
121
- const localOpenCode = (0, opencode_js_2.readOpenCodeMcpServers)();
122
- const mergedOpenCode = (0, mcp_js_1.additiveMerge)(localOpenCode, remoteServers);
123
- if (Object.keys(mergedOpenCode).length > Object.keys(localOpenCode).length) {
124
- (0, opencode_js_1.writeOpenCodeMcpServers)(mergedOpenCode);
125
- updatedClients.push(`OpenCode (${(0, opencode_js_1.getConfigPath)()})`);
126
- }
79
+ const updatedClients = applyServersToProviders(selection.selected, remoteServers);
127
80
  (0, sparkle_js_1.sparkle)(`Restored ${serverCount} MCP server(s)`);
128
- // Apply plugin manifests
129
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingPlugins);
130
- const manifests = (0, plugins_js_1.readPluginManifestsFromRepo)(repoDir);
131
- const updatedManifests = (0, plugins_js_1.applyPluginManifests)(manifests);
132
- (0, sparkle_js_1.sparkle)(`Updated ${updatedManifests.length} manifest file(s)`);
133
- // Apply agents
134
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingAgents);
135
- const agentCount = (0, agents_js_1.applyAgentsFromRepo)(repoDir);
136
- (0, sparkle_js_1.sparkle)(`Restored ${agentCount} agent file(s)`);
137
- // Apply skills
138
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingSkills);
139
- const skillCount = (0, skills_js_1.applySkillsFromRepo)(repoDir);
140
- (0, sparkle_js_1.sparkle)(`Restored ${skillCount} skill file(s)`);
81
+ const restoredAssets = restoreClaudeHomeAssetsFromPocket(repoDir, selection.syncsClaudeHomeAssets, selection.isFiltered);
141
82
  // Summary
142
83
  (0, sparkle_js_1.celebrate)(sparkle_js_1.WITTY.pullDone);
143
84
  (0, sparkle_js_1.section)('Summary');
85
+ (0, sparkle_js_1.stat)('Providers', (0, provider_options_js_1.formatProviderList)(selection.selected));
144
86
  (0, sparkle_js_1.stat)('MCPs', `${serverCount} servers → ${updatedClients.length} client(s)`);
145
- (0, sparkle_js_1.stat)('Plugins', `${updatedManifests.length} manifest file(s)`);
146
- (0, sparkle_js_1.stat)('Agents', agentCount.toString());
147
- (0, sparkle_js_1.stat)('Skills', skillCount.toString());
87
+ (0, sparkle_js_1.stat)('Plugins', `${restoredAssets.updatedManifests.length} manifest file(s)`);
88
+ (0, sparkle_js_1.stat)('Agents', restoredAssets.agentResult.synced.toString());
89
+ (0, sparkle_js_1.stat)('Skills', restoredAssets.skillResult.synced.toString());
148
90
  if (updatedClients.length > 0) {
149
91
  console.log('\n Updated clients:');
150
92
  for (const c of updatedClients) {
151
93
  (0, sparkle_js_1.sparkle)(c);
152
94
  }
153
- (0, sparkle_js_1.heads_up)('Restart Claude Desktop to apply MCP changes.');
95
+ (0, sparkle_js_1.heads_up)('Restart affected apps to apply MCP changes.');
154
96
  }
155
97
  console.log('');
156
98
  }
99
+ async function syncPocketToLocal(repoDir, config) {
100
+ if (config.storageType === 'gist') {
101
+ try {
102
+ const gistFiles = await (0, gist_js_1.fetchGist)(config.githubToken, config.gistId);
103
+ fs.mkdirSync(repoDir, { recursive: true });
104
+ (0, gist_js_1.writeGistFilesToDir)(repoDir, gistFiles);
105
+ return;
106
+ }
107
+ catch (err) {
108
+ (0, sparkle_js_1.oops)(err.message);
109
+ process.exit(1);
110
+ }
111
+ }
112
+ try {
113
+ (0, github_js_1.pullRepo)(repoDir, config.githubToken, config.repoCloneUrl);
114
+ (0, github_js_1.ensureGitConfig)(repoDir);
115
+ }
116
+ catch (err) {
117
+ (0, sparkle_js_1.oops)(err.message);
118
+ process.exit(1);
119
+ }
120
+ }
121
+ async function promptForPullPassphrase() {
122
+ const passphrase = await (0, prompt_js_1.askSecret)(' 🔓 Passphrase to decrypt secrets: ');
123
+ if (!passphrase) {
124
+ (0, sparkle_js_1.oops)('Passphrase cannot be empty.');
125
+ process.exit(1);
126
+ }
127
+ return passphrase;
128
+ }
129
+ function applyServersToProviders(providers, remoteServers) {
130
+ const updatedClients = [];
131
+ for (const provider of providers) {
132
+ const localServers = provider.readMcpServers();
133
+ const mergedServers = (0, mcp_js_1.additiveMerge)(localServers, remoteServers);
134
+ if (Object.keys(mergedServers).length > Object.keys(localServers).length) {
135
+ provider.writeMcpServers(mergedServers);
136
+ updatedClients.push(`${provider.displayName} (${provider.getConfigPath()})`);
137
+ }
138
+ }
139
+ return updatedClients;
140
+ }
141
+ function restoreClaudeHomeAssetsFromPocket(repoDir, shouldRestore, showSkipMessage) {
142
+ if (!shouldRestore) {
143
+ if (showSkipMessage) {
144
+ (0, sparkle_js_1.sparkle)('Skipping Claude home plugin manifests for this provider selection');
145
+ (0, sparkle_js_1.sparkle)('Skipping Claude home agents for this provider selection');
146
+ (0, sparkle_js_1.sparkle)('Skipping Claude home skills for this provider selection');
147
+ }
148
+ return {
149
+ updatedManifests: [],
150
+ agentResult: { synced: 0, removed: 0 },
151
+ skillResult: { synced: 0, removed: 0 },
152
+ };
153
+ }
154
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingPlugins);
155
+ const manifests = (0, plugins_js_1.readPluginManifestsFromRepo)(repoDir);
156
+ const updatedManifests = (0, plugins_js_1.applyPluginManifests)(manifests);
157
+ (0, sparkle_js_1.sparkle)(`Updated ${updatedManifests.length} manifest file(s)`);
158
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingAgents);
159
+ const agentResult = (0, agents_js_1.applyAgentsFromRepo)(repoDir);
160
+ (0, sparkle_js_1.sparkle)(`Restored ${agentResult.synced} agent file(s)`);
161
+ if (agentResult.removed > 0) {
162
+ (0, sparkle_js_1.sparkle)(`Removed ${agentResult.removed} stale local agent file(s)`);
163
+ }
164
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingSkills);
165
+ const skillResult = (0, skills_js_1.applySkillsFromRepo)(repoDir);
166
+ (0, sparkle_js_1.sparkle)(`Restored ${skillResult.synced} skill file(s)`);
167
+ if (skillResult.removed > 0) {
168
+ (0, sparkle_js_1.sparkle)(`Removed ${skillResult.removed} stale local skill file(s)`);
169
+ }
170
+ return { updatedManifests, agentResult, skillResult };
171
+ }
157
172
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,kCAkHC;AAxID,uCAAyB;AACzB,2CAA6B;AAC7B,4CAA2D;AAC3D,oDAA4E;AAC5E,gDAAoE;AACpE,oEAA0G;AAC1G,8DAAuF;AACvF,wDAAgG;AAChG,2CAGwB;AAExB,oEAA2E;AAC3E,8DAAqE;AACrE,wDAAgE;AAChE,mDAAuF;AACvF,iDAAwD;AACxD,iDAAwD;AACxD,kDAA+C;AAC/C,oDAA+F;AAExF,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,IAAA,sBAAU,GAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,2BAAe,GAAE,CAAC;IAElC,gBAAgB;IAChB,IAAA,oBAAO,EAAC,MAAM,CAAC,CAAC;IAChB,IAAA,oBAAO,EAAC,kBAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAS,EAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAO,CAAC,CAAC;YACtE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,IAAA,6BAAmB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,iBAAI,EAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAA,oBAAQ,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAa,CAAC,CAAC;YAC5D,IAAA,2BAAe,EAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,iBAAI,EAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,IAAA,qBAAQ,EAAC,sFAAsF,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAS,EAAC,sCAAsC,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAA,iBAAI,EAAC,6BAA6B,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,IAAA,oBAAO,EAAC,kBAAK,CAAC,UAAU,CAAC,CAAC;IAC1B,IAAI,aAA2D,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,cAAc,GAAsB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,aAAa,GAAG,IAAA,kCAAyB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,iBAAI,EAAC,sBAAuB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,0BAA0B;IAC1B,MAAM,YAAY,GAAG,IAAA,+CAA2B,GAAE,CAAC;IACnD,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;QACzE,IAAA,gDAA4B,EAAC,aAAa,CAAC,CAAC;QAC5C,cAAc,CAAC,IAAI,CAAC,mBAAmB,IAAA,iCAAW,GAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,IAAA,yCAAwB,GAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,IAAA,0CAAyB,EAAC,UAAU,CAAC,CAAC;QACtC,cAAc,CAAC,IAAI,CAAC,gBAAgB,IAAA,gCAAe,GAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,IAAA,oCAAsB,GAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,sBAAa,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3E,IAAA,qCAAuB,EAAC,cAAc,CAAC,CAAC;QACxC,cAAc,CAAC,IAAI,CAAC,aAAa,IAAA,2BAAY,GAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,IAAA,oBAAO,EAAC,YAAY,WAAW,gBAAgB,CAAC,CAAC;IAEjD,yBAAyB;IACzB,IAAA,oBAAO,EAAC,kBAAK,CAAC,cAAc,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAA,wCAA2B,EAAC,OAAO,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAA,iCAAoB,EAAC,SAAS,CAAC,CAAC;IACzD,IAAA,oBAAO,EAAC,WAAW,gBAAgB,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAE/D,eAAe;IACf,IAAA,oBAAO,EAAC,kBAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,CAAC;IAChD,IAAA,oBAAO,EAAC,YAAY,UAAU,gBAAgB,CAAC,CAAC;IAEhD,eAAe;IACf,IAAA,oBAAO,EAAC,kBAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,CAAC;IAChD,IAAA,oBAAO,EAAC,YAAY,UAAU,gBAAgB,CAAC,CAAC;IAEhD,UAAU;IACV,IAAA,sBAAS,EAAC,kBAAK,CAAC,QAAQ,CAAC,CAAC;IAE1B,IAAA,oBAAO,EAAC,SAAS,CAAC,CAAC;IACnB,IAAA,iBAAI,EAAC,MAAM,EAAE,GAAG,WAAW,cAAc,cAAc,CAAC,MAAM,YAAY,CAAC,CAAC;IAC5E,IAAA,iBAAI,EAAC,SAAS,EAAE,GAAG,gBAAgB,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAC/D,IAAA,iBAAI,EAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtC,IAAA,iBAAI,EAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,IAAA,oBAAO,EAAC,CAAC,CAAC,CAAC;QACb,CAAC;QACD,IAAA,qBAAQ,EAAC,8CAA8C,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export declare function pushCommand(): Promise<void>;
1
+ import type { ProviderFlagOptions } from './provider-options.js';
2
+ export declare function pushCommand(options?: ProviderFlagOptions): Promise<void>;
2
3
  //# sourceMappingURL=push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAeA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA8FjD"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAWjE,wBAAsB,WAAW,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmElF"}
@@ -34,73 +34,42 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.pushCommand = pushCommand;
37
- const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
39
  const config_js_1 = require("../config.js");
40
40
  const github_js_1 = require("../storage/github.js");
41
41
  const gist_js_1 = require("../storage/gist.js");
42
- const claude_desktop_js_1 = require("../clients/claude-desktop.js");
43
- const claude_code_js_1 = require("../clients/claude-code.js");
44
- const opencode_js_1 = require("../clients/opencode.js");
45
42
  const mcp_js_1 = require("../sync/mcp.js");
46
43
  const plugins_js_1 = require("../sync/plugins.js");
47
44
  const agents_js_1 = require("../sync/agents.js");
48
45
  const skills_js_1 = require("../sync/skills.js");
46
+ const pocket_js_1 = require("../sync/pocket.js");
47
+ const provider_options_js_1 = require("./provider-options.js");
49
48
  const prompt_js_1 = require("../utils/prompt.js");
50
49
  const sparkle_js_1 = require("../utils/sparkle.js");
51
- async function pushCommand() {
50
+ async function pushCommand(options = {}) {
52
51
  const config = (0, config_js_1.readConfig)();
53
52
  const repoDir = (0, config_js_1.getLocalRepoDir)();
53
+ const selection = (0, provider_options_js_1.resolveProviderSelection)(options);
54
54
  (0, sparkle_js_1.section)('Push');
55
- // For repo mode, pull latest first to avoid conflicts
56
- if (config.storageType !== 'gist') {
57
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.pulling);
58
- try {
59
- (0, github_js_1.pullRepo)(repoDir, config.githubToken, config.repoCloneUrl);
60
- }
61
- catch (err) {
62
- (0, sparkle_js_1.heads_up)(`Could not pull latest — ${err.message}`);
63
- }
64
- }
65
- else {
66
- fs.mkdirSync(repoDir, { recursive: true });
55
+ if (selection.isFiltered) {
56
+ (0, sparkle_js_1.sparkle)(`Sync scope: ${(0, provider_options_js_1.formatProviderList)(selection.selected)}`);
67
57
  }
68
- // Get passphrase for encrypting secrets
69
- const passphrase = await (0, prompt_js_1.askSecret)(' 🔒 Passphrase to encrypt secrets: ');
70
- if (!passphrase) {
71
- (0, sparkle_js_1.oops)('Passphrase cannot be empty.');
72
- process.exit(1);
73
- }
74
- const confirm = await (0, prompt_js_1.askSecret)(' 🔒 Confirm passphrase: ');
75
- if (passphrase !== confirm) {
76
- (0, sparkle_js_1.oops)('Passphrases don\'t match. Give it another whirl!');
77
- process.exit(1);
58
+ preparePocketDirectory(config.storageType, repoDir, config.githubToken, config.repoCloneUrl);
59
+ const prunedEntries = (0, pocket_js_1.prunePocketDir)(repoDir);
60
+ if (prunedEntries > 0) {
61
+ (0, sparkle_js_1.sparkle)(`Removed ${prunedEntries} stale pocket entr${prunedEntries === 1 ? 'y' : 'ies'}`);
78
62
  }
63
+ const passphrase = await promptForPushPassphrase();
79
64
  (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingMCP);
80
- const desktop = (0, claude_desktop_js_1.readClaudeDesktopMcpServers)();
81
- const claudeCode = (0, claude_code_js_1.readClaudeCodeMcpServers)();
82
- const opencode = (0, opencode_js_1.readOpenCodeMcpServers)();
83
- const merged = (0, mcp_js_1.mergeMcpSources)(desktop, claudeCode, opencode);
65
+ const merged = (0, mcp_js_1.mergeMcpSources)(...selection.selected.map((provider) => provider.readMcpServers()));
84
66
  const serverCount = Object.keys(merged).length;
85
- (0, sparkle_js_1.sparkle)(`Found ${serverCount} MCP server(s) across all clients`);
67
+ (0, sparkle_js_1.sparkle)(`Found ${serverCount} MCP server(s) across ${selection.selected.length} provider(s)`);
86
68
  // Write mcp-config.json
87
69
  (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.encrypting);
88
70
  const portableConfig = (0, mcp_js_1.buildPortableConfig)(merged, passphrase);
89
71
  fs.writeFileSync(path.join(repoDir, 'mcp-config.json'), JSON.stringify(portableConfig, null, 2), 'utf8');
90
- // Sync plugin manifests
91
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingPlugins);
92
- const manifests = (0, plugins_js_1.readPluginManifests)();
93
- const manifestCount = Object.keys(manifests).length;
94
- (0, sparkle_js_1.sparkle)(`Found ${manifestCount} plugin manifest file(s)`);
95
- (0, plugins_js_1.writePluginManifestsToRepo)(manifests, repoDir);
96
- // Sync agents
97
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingAgents);
98
- const agentCount = (0, agents_js_1.writeAgentsToRepo)(repoDir);
99
- (0, sparkle_js_1.sparkle)(`Synced ${agentCount} agent file(s)`);
100
- // Sync skills
101
- (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingSkills);
102
- const skillCount = (0, skills_js_1.writeSkillsToRepo)(repoDir);
103
- (0, sparkle_js_1.sparkle)(`Synced ${skillCount} skill file(s)`);
72
+ const assetSummary = syncClaudeHomeAssetsToPocket(repoDir, selection.syncsClaudeHomeAssets, selection.isFiltered);
104
73
  // Push to remote
105
74
  (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.pushing);
106
75
  if (config.storageType === 'gist') {
@@ -127,10 +96,73 @@ async function pushCommand() {
127
96
  }
128
97
  (0, sparkle_js_1.section)('Summary');
129
98
  (0, sparkle_js_1.stat)('Storage', config.storageType === 'gist' ? `gist (${config.gistUrl})` : `repo (${config.repoHtmlUrl})`);
99
+ (0, sparkle_js_1.stat)('Providers', (0, provider_options_js_1.formatProviderList)(selection.selected));
130
100
  (0, sparkle_js_1.stat)('MCPs', serverCount.toString());
131
- (0, sparkle_js_1.stat)('Plugins', `${manifestCount} manifest file(s)`);
132
- (0, sparkle_js_1.stat)('Agents', agentCount.toString());
133
- (0, sparkle_js_1.stat)('Skills', skillCount.toString());
101
+ (0, sparkle_js_1.stat)('Plugins', `${assetSummary.manifestCount} manifest file(s)`);
102
+ (0, sparkle_js_1.stat)('Agents', assetSummary.agentResult.synced.toString());
103
+ (0, sparkle_js_1.stat)('Skills', assetSummary.skillResult.synced.toString());
134
104
  console.log('');
135
105
  }
106
+ function preparePocketDirectory(storageType, repoDir, githubToken, repoCloneUrl) {
107
+ if (storageType === 'gist') {
108
+ fs.mkdirSync(repoDir, { recursive: true });
109
+ return;
110
+ }
111
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.pulling);
112
+ try {
113
+ (0, github_js_1.pullRepo)(repoDir, githubToken, repoCloneUrl);
114
+ }
115
+ catch (err) {
116
+ (0, sparkle_js_1.heads_up)(`Could not pull latest — ${err.message}`);
117
+ }
118
+ }
119
+ async function promptForPushPassphrase() {
120
+ const passphrase = await (0, prompt_js_1.askSecret)(' 🔒 Passphrase to encrypt secrets: ');
121
+ if (!passphrase) {
122
+ (0, sparkle_js_1.oops)('Passphrase cannot be empty.');
123
+ process.exit(1);
124
+ }
125
+ const confirm = await (0, prompt_js_1.askSecret)(' 🔒 Confirm passphrase: ');
126
+ if (passphrase !== confirm) {
127
+ (0, sparkle_js_1.oops)('Passphrases don\'t match. Give it another whirl!');
128
+ process.exit(1);
129
+ }
130
+ return passphrase;
131
+ }
132
+ function syncClaudeHomeAssetsToPocket(repoDir, shouldSync, showSkipMessage) {
133
+ if (!shouldSync) {
134
+ if (showSkipMessage) {
135
+ (0, sparkle_js_1.sparkle)('Skipping Claude home plugin manifests for this provider selection');
136
+ (0, sparkle_js_1.sparkle)('Skipping Claude home agents for this provider selection');
137
+ (0, sparkle_js_1.sparkle)('Skipping Claude home skills for this provider selection');
138
+ }
139
+ return {
140
+ manifestCount: 0,
141
+ pluginResult: { synced: 0, removed: 0 },
142
+ agentResult: { synced: 0, removed: 0 },
143
+ skillResult: { synced: 0, removed: 0 },
144
+ };
145
+ }
146
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingPlugins);
147
+ const manifests = (0, plugins_js_1.readPluginManifests)();
148
+ const manifestCount = Object.keys(manifests).length;
149
+ (0, sparkle_js_1.sparkle)(`Found ${manifestCount} plugin manifest file(s)`);
150
+ const pluginResult = (0, plugins_js_1.writePluginManifestsToRepo)(manifests, repoDir);
151
+ if (pluginResult.removed > 0) {
152
+ (0, sparkle_js_1.sparkle)(`Removed ${pluginResult.removed} stale plugin manifest file(s) from the pocket`);
153
+ }
154
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingAgents);
155
+ const agentResult = (0, agents_js_1.writeAgentsToRepo)(repoDir);
156
+ (0, sparkle_js_1.sparkle)(`Synced ${agentResult.synced} agent file(s)`);
157
+ if (agentResult.removed > 0) {
158
+ (0, sparkle_js_1.sparkle)(`Removed ${agentResult.removed} stale agent file(s) from the pocket`);
159
+ }
160
+ (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.readingSkills);
161
+ const skillResult = (0, skills_js_1.writeSkillsToRepo)(repoDir);
162
+ (0, sparkle_js_1.sparkle)(`Synced ${skillResult.synced} skill file(s)`);
163
+ if (skillResult.removed > 0) {
164
+ (0, sparkle_js_1.sparkle)(`Removed ${skillResult.removed} stale skill file(s) from the pocket`);
165
+ }
166
+ return { manifestCount, pluginResult, agentResult, skillResult };
167
+ }
136
168
  //# sourceMappingURL=push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -11,6 +11,6 @@ export interface McpocketConfig {
11
11
  export declare function configExists(): boolean;
12
12
  export declare function readConfig(): McpocketConfig;
13
13
  export declare function writeConfig(config: McpocketConfig): void;
14
- /** Local clone directory */
14
+ /** Local staging directory for synced pocket contents */
15
15
  export declare function getLocalRepoDir(): string;
16
16
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,UAAU,IAAI,cAAc,CAa3C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAQxD;AAED,4BAA4B;AAC5B,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,UAAU,IAAI,cAAc,CAa3C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAQxD;AAED,yDAAyD;AACzD,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
package/dist/config.js CHANGED
@@ -65,7 +65,7 @@ function writeConfig(config) {
65
65
  fs.chmodSync((0, paths_js_1.getMcpocketConfigPath)(), 0o600);
66
66
  }
67
67
  }
68
- /** Local clone directory */
68
+ /** Local staging directory for synced pocket contents */
69
69
  function getLocalRepoDir() {
70
70
  return path.join(os.homedir(), '.mcpocket', 'repo');
71
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,oCAEC;AAED,gCAaC;AAED,kCAQC;AAGD,0CAEC;AAnDD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,+CAA+E;AAgB/E,SAAgB,YAAY;IAC1B,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,gCAAqB,GAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,IAAA,gCAAqB,GAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,uEAAuE;IACvE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,WAAW,CAAC,MAAsB;IAChD,MAAM,GAAG,GAAG,IAAA,+BAAoB,GAAE,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,IAAA,gCAAqB,GAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,IAAA,gCAAqB,GAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,SAAgB,eAAe;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,oCAEC;AAED,gCAaC;AAED,kCAQC;AAGD,0CAEC;AAnDD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,+CAA+E;AAgB/E,SAAgB,YAAY;IAC1B,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,gCAAqB,GAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,IAAA,gCAAqB,GAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,uEAAuE;IACvE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,WAAW,CAAC,MAAsB;IAChD,MAAM,GAAG,GAAG,IAAA,+BAAoB,GAAE,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,IAAA,gCAAqB,GAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,IAAA,gCAAqB,GAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,SAAgB,eAAe;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
@@ -2,6 +2,11 @@ export interface GistInfo {
2
2
  id: string;
3
3
  htmlUrl: string;
4
4
  }
5
+ /**
6
+ * Resolve a gist URL (https://gist.github.com/user/id) or raw ID to GistInfo,
7
+ * verifying it's accessible with the given token.
8
+ */
9
+ export declare function resolveGistInfo(token: string, urlOrId: string): Promise<GistInfo>;
5
10
  /** Create a private gist as the sync target */
6
11
  export declare function createGist(token: string): Promise<GistInfo>;
7
12
  /** Upload files to an existing gist (creates/updates, does not delete missing files) */
@@ -1 +1 @@
1
- {"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../../src/storage/gist.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,+CAA+C;AAC/C,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmBjE;AAED,wFAAwF;AACxF,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAef;AAED,kCAAkC;AAClC,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkBjC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKvE;AAoBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,IAAI,CAON"}
1
+ {"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../../src/storage/gist.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgBvF;AAED,+CAA+C;AAC/C,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmBjE;AAED,wFAAwF;AACxF,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,kCAAkC;AAClC,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkBjC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKvE;AAoBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,IAAI,CAON"}
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.resolveGistInfo = resolveGistInfo;
36
37
  exports.createGist = createGist;
37
38
  exports.updateGist = updateGist;
38
39
  exports.fetchGist = fetchGist;
@@ -40,6 +41,7 @@ exports.collectFilesFromDir = collectFilesFromDir;
40
41
  exports.writeGistFilesToDir = writeGistFilesToDir;
41
42
  const fs = __importStar(require("fs"));
42
43
  const path = __importStar(require("path"));
44
+ const files_js_1 = require("../utils/files.js");
43
45
  const GITHUB_API = 'https://api.github.com';
44
46
  function headers(token) {
45
47
  return {
@@ -50,6 +52,24 @@ function headers(token) {
50
52
  'User-Agent': 'mcpocket-cli',
51
53
  };
52
54
  }
55
+ /**
56
+ * Resolve a gist URL (https://gist.github.com/user/id) or raw ID to GistInfo,
57
+ * verifying it's accessible with the given token.
58
+ */
59
+ async function resolveGistInfo(token, urlOrId) {
60
+ const trimmed = urlOrId.trim();
61
+ // Extract ID from URL: https://gist.github.com/user/gistId
62
+ const urlMatch = trimmed.match(/gist\.github\.com\/[^/]+\/([a-f0-9]+)/i);
63
+ const gistId = urlMatch ? urlMatch[1] : trimmed;
64
+ const res = await fetch(`${GITHUB_API}/gists/${gistId}`, {
65
+ headers: headers(token),
66
+ });
67
+ if (!res.ok) {
68
+ throw new Error(`Could not access gist (${res.status}): ${await res.text()}`);
69
+ }
70
+ const data = await res.json();
71
+ return { id: data.id, htmlUrl: data.html_url };
72
+ }
53
73
  /** Create a private gist as the sync target */
54
74
  async function createGist(token) {
55
75
  const res = await fetch(`${GITHUB_API}/gists`, {
@@ -75,10 +95,21 @@ async function updateGist(token, gistId, files) {
75
95
  for (const [name, content] of Object.entries(files)) {
76
96
  gistFiles[name] = { content };
77
97
  }
98
+ const existingFiles = await fetchGist(token, gistId);
99
+ for (const name of Object.keys(existingFiles)) {
100
+ if (!(name in files)) {
101
+ gistFiles[name] = { content: '' };
102
+ }
103
+ }
78
104
  const res = await fetch(`${GITHUB_API}/gists/${gistId}`, {
79
105
  method: 'PATCH',
80
106
  headers: headers(token),
81
- body: JSON.stringify({ files: gistFiles }),
107
+ body: JSON.stringify({
108
+ files: Object.fromEntries(Object.entries(gistFiles).map(([name, file]) => [
109
+ name,
110
+ name in files ? file : null,
111
+ ])),
112
+ }),
82
113
  });
83
114
  if (!res.ok) {
84
115
  throw new Error(`Failed to update gist (${res.status}): ${await res.text()}`);
@@ -129,11 +160,9 @@ function collectRecursive(dir, prefix, files) {
129
160
  * Keys with __ are expanded to subdirectories.
130
161
  */
131
162
  function writeGistFilesToDir(dir, files) {
132
- for (const [key, content] of Object.entries(files)) {
133
- const relPath = key.split('__').join(path.sep);
134
- const fullPath = path.join(dir, relPath);
135
- fs.mkdirSync(path.dirname(fullPath), { recursive: true });
136
- fs.writeFileSync(fullPath, content, 'utf8');
137
- }
163
+ const expandedFiles = Object.fromEntries(Object.entries(files).map(([key, content]) => [key.split('__').join(path.sep), content]));
164
+ (0, files_js_1.mirrorFileMapToDir)(dir, expandedFiles, {
165
+ protectedTopLevelNames: new Set(['.git']),
166
+ });
138
167
  }
139
168
  //# sourceMappingURL=gist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gist.js","sourceRoot":"","sources":["../../src/storage/gist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gist.js","sourceRoot":"","sources":["../../src/storage/gist.ts"],"names":[],"mappings":"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"}