mcpocket 0.2.0 → 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.
- package/CHANGELOG.md +8 -0
- package/dist/cli.js +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +54 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/storage/gist.d.ts +5 -0
- package/dist/storage/gist.d.ts.map +1 -1
- package/dist/storage/gist.js +19 -0
- package/dist/storage/gist.js.map +1 -1
- package/dist/storage/github.d.ts +5 -0
- package/dist/storage/github.d.ts.map +1 -1
- package/dist/storage/github.js +25 -0
- package/dist/storage/github.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.3.0] - 2026-04-10
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- `mcpocket init` now asks if you have an existing pocket to connect to.
|
|
9
|
+
- Paste a gist URL (`https://gist.github.com/user/id`) or raw gist ID to link an existing gist.
|
|
10
|
+
- Paste a repo URL (`https://github.com/owner/repo`) or `owner/repo` to link an existing repo.
|
|
11
|
+
- New `resolveGistInfo` and `resolveRepoInfo` helpers that validate and resolve existing remotes.
|
|
12
|
+
|
|
5
13
|
## [0.2.0] - 2026-04-09
|
|
6
14
|
|
|
7
15
|
### Added
|
package/dist/cli.js
CHANGED
|
@@ -14,7 +14,7 @@ const program = new commander_1.Command();
|
|
|
14
14
|
program
|
|
15
15
|
.name('mcpocket')
|
|
16
16
|
.description('Your AI setup. Every pocket.\nSyncs agents, skills, plugins, and MCPs across all your machines like magic.')
|
|
17
|
-
.version('0.
|
|
17
|
+
.version('0.3.0');
|
|
18
18
|
program
|
|
19
19
|
.command('init')
|
|
20
20
|
.description('Set up mcpocket: connect GitHub, create your sync pocket')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4IjD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -76,16 +76,38 @@ async function initCommand() {
|
|
|
76
76
|
console.log(' [2] GitHub gist (lighter, no git clone needed)\n');
|
|
77
77
|
const storageChoice = await (0, prompt_js_1.ask)(' Pick one [1/2]: ');
|
|
78
78
|
const storageType = storageChoice === '2' ? 'gist' : 'repo';
|
|
79
|
+
// Ask if they already have an existing pocket to connect to
|
|
80
|
+
console.log('');
|
|
81
|
+
const hasExisting = await (0, prompt_js_1.ask)(' Do you have an existing pocket to connect? [y/N] ');
|
|
82
|
+
const connectToExisting = hasExisting.toLowerCase() === 'y';
|
|
79
83
|
if (storageType === 'gist') {
|
|
80
|
-
(0, sparkle_js_1.sparkle)('Creating your private sync gist...');
|
|
81
84
|
let gistInfo;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
(
|
|
85
|
+
if (connectToExisting) {
|
|
86
|
+
const input = await (0, prompt_js_1.ask)(' Paste your gist URL or gist ID: ');
|
|
87
|
+
if (!input) {
|
|
88
|
+
(0, sparkle_js_1.oops)('Gist URL or ID cannot be empty.');
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
(0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.verifying);
|
|
92
|
+
try {
|
|
93
|
+
gistInfo = await (0, gist_js_1.resolveGistInfo)(token, input);
|
|
94
|
+
(0, sparkle_js_1.sparkle)(`Connected to pocket: ${gistInfo.htmlUrl}`);
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
(0, sparkle_js_1.oops)(err.message);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
85
100
|
}
|
|
86
|
-
|
|
87
|
-
(0, sparkle_js_1.
|
|
88
|
-
|
|
101
|
+
else {
|
|
102
|
+
(0, sparkle_js_1.sparkle)('Creating your private sync gist...');
|
|
103
|
+
try {
|
|
104
|
+
gistInfo = await (0, gist_js_1.createGist)(token);
|
|
105
|
+
(0, sparkle_js_1.sparkle)(`Pocket ready: ${gistInfo.htmlUrl}`);
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
(0, sparkle_js_1.oops)(err.message);
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
89
111
|
}
|
|
90
112
|
// Ensure staging dir exists
|
|
91
113
|
const localDir = (0, config_js_1.getLocalRepoDir)();
|
|
@@ -99,16 +121,33 @@ async function initCommand() {
|
|
|
99
121
|
});
|
|
100
122
|
}
|
|
101
123
|
else {
|
|
102
|
-
// Create repo
|
|
103
|
-
(0, sparkle_js_1.sparkle)('Creating your private sync pocket (mcpocket-sync)...');
|
|
104
124
|
let repoInfo;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
(
|
|
125
|
+
if (connectToExisting) {
|
|
126
|
+
const input = await (0, prompt_js_1.ask)(' Paste your repo URL (https://github.com/owner/repo) or owner/repo: ');
|
|
127
|
+
if (!input) {
|
|
128
|
+
(0, sparkle_js_1.oops)('Repo URL cannot be empty.');
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
(0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.verifying);
|
|
132
|
+
try {
|
|
133
|
+
repoInfo = await (0, github_js_1.resolveRepoInfo)(token, input);
|
|
134
|
+
(0, sparkle_js_1.sparkle)(`Connected to pocket: ${repoInfo.htmlUrl}`);
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
(0, sparkle_js_1.oops)(err.message);
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
108
140
|
}
|
|
109
|
-
|
|
110
|
-
(0, sparkle_js_1.
|
|
111
|
-
|
|
141
|
+
else {
|
|
142
|
+
(0, sparkle_js_1.sparkle)('Creating your private sync pocket (mcpocket-sync)...');
|
|
143
|
+
try {
|
|
144
|
+
repoInfo = await (0, github_js_1.createRepo)(token, owner);
|
|
145
|
+
(0, sparkle_js_1.sparkle)(`Pocket ready: ${repoInfo.htmlUrl}`);
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
(0, sparkle_js_1.oops)(err.message);
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
112
151
|
}
|
|
113
152
|
// Clone repo locally
|
|
114
153
|
const localDir = (0, config_js_1.getLocalRepoDir)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,kCA4IC;AAnJD,oDAAqH;AACrH,gDAAiE;AACjE,4CAA0E;AAE1E,kDAAoD;AACpD,oDAAyF;AAElF,KAAK,UAAU,WAAW;IAC/B,IAAA,oBAAO,EAAC,MAAM,CAAC,CAAC;IAEhB,IAAI,IAAA,wBAAY,GAAE,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,IAAA,eAAG,EAAC,qDAAqD,CAAC,CAAC;QACnF,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACpC,IAAA,oBAAO,EAAC,uCAAuC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAA,oBAAO,EAAC,yCAAyC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAS,EAAC,qBAAqB,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAA,iBAAI,EAAC,wBAAwB,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gCAAgC;IAChC,IAAA,oBAAO,EAAC,kBAAK,CAAC,SAAS,CAAC,CAAC;IACzB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,IAAA,gCAAoB,EAAC,KAAK,CAAC,CAAC;QAC1C,IAAA,oBAAO,EAAC,2BAA2B,KAAK,6BAA6B,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,iBAAI,EAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAA,oBAAO,EAAC,0CAA0C,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,MAAM,IAAA,eAAG,EAAC,oBAAoB,CAAC,CAAC;IACtD,MAAM,WAAW,GAAgB,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzE,4DAA4D;IAC5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,WAAW,GAAG,MAAM,IAAA,eAAG,EAAC,qDAAqD,CAAC,CAAC;IACrF,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IAE5D,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAyC,CAAC;QAE9C,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,IAAA,eAAG,EAAC,oCAAoC,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAA,iBAAI,EAAC,iCAAiC,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAA,oBAAO,EAAC,kBAAK,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAA,yBAAe,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAA,oBAAO,EAAC,wBAAwB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,iBAAI,EAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAA,oBAAO,EAAC,oCAAoC,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;gBACnC,IAAA,oBAAO,EAAC,iBAAiB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,iBAAI,EAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAA,2BAAe,GAAE,CAAC;QACnC,MAAM,EAAE,GAAG,wDAAa,IAAI,GAAC,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,IAAA,uBAAW,EAAC;YACV,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,QAAQ,CAAC,EAAE;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,QAAgD,CAAC;QAErD,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,IAAA,eAAG,EAAC,uEAAuE,CAAC,CAAC;YACjG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAA,iBAAI,EAAC,2BAA2B,CAAC,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAA,oBAAO,EAAC,kBAAK,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAA,2BAAe,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAA,oBAAO,EAAC,wBAAwB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,iBAAI,EAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAA,oBAAO,EAAC,sDAAsD,CAAC,CAAC;YAChE,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAA,sBAAU,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAA,oBAAO,EAAC,iBAAiB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,iBAAI,EAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAA,2BAAe,GAAE,CAAC;QACnC,IAAA,oBAAO,EAAC,kBAAK,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,IAAA,qBAAS,EAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAA,2BAAe,EAAC,QAAQ,CAAC,CAAC;YAC1B,IAAA,oBAAO,EAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;QACpC,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;QAED,IAAA,uBAAW,EAAC;YACV,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,QAAQ,CAAC,QAAQ;YAC/B,YAAY,EAAE,QAAQ,CAAC,QAAQ;YAC/B,WAAW,EAAE,QAAQ,CAAC,OAAO;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,IAAA,sBAAS,EAAC,kBAAK,CAAC,QAAQ,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,IAAA,oBAAO,EAAC,kDAAkD,CAAC,CAAC;IAC5D,IAAA,oBAAO,EAAC,sDAAsD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
package/dist/storage/gist.d.ts
CHANGED
|
@@ -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":"AAMA,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,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"}
|
|
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"}
|
package/dist/storage/gist.js
CHANGED
|
@@ -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;
|
|
@@ -51,6 +52,24 @@ function headers(token) {
|
|
|
51
52
|
'User-Agent': 'mcpocket-cli',
|
|
52
53
|
};
|
|
53
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
|
+
}
|
|
54
73
|
/** Create a private gist as the sync target */
|
|
55
74
|
async function createGist(token) {
|
|
56
75
|
const res = await fetch(`${GITHUB_API}/gists`, {
|
package/dist/storage/gist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gist.js","sourceRoot":"","sources":["../../src/storage/gist.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"gist.js","sourceRoot":"","sources":["../../src/storage/gist.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/github.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ export interface RepoInfo {
|
|
|
6
6
|
}
|
|
7
7
|
/** Get the authenticated user's login */
|
|
8
8
|
export declare function getAuthenticatedUser(token: string): Promise<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a repo URL (https://github.com/owner/repo[.git]) or owner/repo string
|
|
11
|
+
* to RepoInfo, verifying it's accessible with the given token.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveRepoInfo(token: string, urlOrName: string): Promise<RepoInfo>;
|
|
9
14
|
/** Create a private repo named mcpocket-sync (idempotent — returns existing if 422) */
|
|
10
15
|
export declare function createRepo(token: string, owner: string): Promise<RepoInfo>;
|
|
11
16
|
/** Clone the repo to a local directory. Uses HTTPS with token auth. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,yCAAyC;AACzC,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzE;AAED,uFAAuF;AACvF,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0ChF;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYjF;AAED,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,SAAmB,GAAG,IAAI,CAiBlH;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAStD"}
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,yCAAyC;AACzC,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBzF;AAED,uFAAuF;AACvF,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0ChF;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYjF;AAED,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,SAAmB,GAAG,IAAI,CAiBlH;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAStD"}
|
package/dist/storage/github.js
CHANGED
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.getAuthenticatedUser = getAuthenticatedUser;
|
|
37
|
+
exports.resolveRepoInfo = resolveRepoInfo;
|
|
37
38
|
exports.createRepo = createRepo;
|
|
38
39
|
exports.cloneRepo = cloneRepo;
|
|
39
40
|
exports.pullRepo = pullRepo;
|
|
@@ -61,6 +62,30 @@ async function getAuthenticatedUser(token) {
|
|
|
61
62
|
const data = await res.json();
|
|
62
63
|
return data.login;
|
|
63
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Resolve a repo URL (https://github.com/owner/repo[.git]) or owner/repo string
|
|
67
|
+
* to RepoInfo, verifying it's accessible with the given token.
|
|
68
|
+
*/
|
|
69
|
+
async function resolveRepoInfo(token, urlOrName) {
|
|
70
|
+
let fullName = urlOrName.trim().replace(/\.git$/, '');
|
|
71
|
+
const urlMatch = fullName.match(/github\.com\/([^/]+\/[^/]+)/);
|
|
72
|
+
if (urlMatch) {
|
|
73
|
+
fullName = urlMatch[1];
|
|
74
|
+
}
|
|
75
|
+
const res = await fetch(`${GITHUB_API}/repos/${fullName}`, {
|
|
76
|
+
headers: headers(token),
|
|
77
|
+
});
|
|
78
|
+
if (!res.ok) {
|
|
79
|
+
throw new Error(`Could not access repo (${res.status}): ${await res.text()}`);
|
|
80
|
+
}
|
|
81
|
+
const data = await res.json();
|
|
82
|
+
return {
|
|
83
|
+
fullName: data.full_name,
|
|
84
|
+
cloneUrl: data.clone_url,
|
|
85
|
+
sshUrl: data.ssh_url,
|
|
86
|
+
htmlUrl: data.html_url,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
64
89
|
/** Create a private repo named mcpocket-sync (idempotent — returns existing if 422) */
|
|
65
90
|
async function createRepo(token, owner) {
|
|
66
91
|
const repoName = 'mcpocket-sync';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,oDAOC;AAGD,gCA0CC;AAGD,8BAYC;AAGD,4BASC;AAGD,sCAiBC;AAGD,0CASC;
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":"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"}
|