@slorenzot/memento-core 2.0.6 → 2.0.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.
|
@@ -38,6 +38,11 @@ export declare class SyncClient {
|
|
|
38
38
|
* GET /api/v1/sync/projects
|
|
39
39
|
*/
|
|
40
40
|
projects(): Promise<SyncProjectsResponse>;
|
|
41
|
+
/**
|
|
42
|
+
* Extract detail message and raw body from a sync error response.
|
|
43
|
+
* The mementohub.xyz API returns { error: { code, message } } for validation errors.
|
|
44
|
+
*/
|
|
45
|
+
private extractErrorDetail;
|
|
41
46
|
/**
|
|
42
47
|
* Make an authenticated request to the sync API.
|
|
43
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-client.d.ts","sourceRoot":"","sources":["../../src/sync/sync-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,OAAO,KAAK,CAAC;KAC9B;IAMD;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAa3G;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU5D;;;OAGG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS5D;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAS/C;;OAEG;YACW,OAAO;
|
|
1
|
+
{"version":3,"file":"sync-client.d.ts","sourceRoot":"","sources":["../../src/sync/sync-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,OAAO,KAAK,CAAC;KAC9B;IAMD;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAa3G;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU5D;;;OAGG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS5D;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAS/C;;;OAGG;YACW,kBAAkB;IAmBhC;;OAEG;YACW,OAAO;CAqEtB"}
|
package/dist/sync/sync-client.js
CHANGED
|
@@ -54,6 +54,30 @@ class SyncClient {
|
|
|
54
54
|
const response = await this.request('GET', '/api/v1/sync/projects');
|
|
55
55
|
return response.data;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Extract detail message and raw body from a sync error response.
|
|
59
|
+
* The mementohub.xyz API returns { error: { code, message } } for validation errors.
|
|
60
|
+
*/
|
|
61
|
+
async extractErrorDetail(response) {
|
|
62
|
+
const text = await response.text().catch(() => 'Unknown error');
|
|
63
|
+
let detail = '';
|
|
64
|
+
try {
|
|
65
|
+
const parsed = JSON.parse(text);
|
|
66
|
+
if (parsed?.error?.message) {
|
|
67
|
+
detail = ` — ${parsed.error.message}`;
|
|
68
|
+
}
|
|
69
|
+
else if (parsed?.message) {
|
|
70
|
+
detail = ` — ${parsed.message}`;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Not JSON — use raw text if it's short enough
|
|
75
|
+
if (text && text.length < 500) {
|
|
76
|
+
detail = ` — ${text}`;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return { detail, rawBody: text };
|
|
80
|
+
}
|
|
57
81
|
/**
|
|
58
82
|
* Make an authenticated request to the sync API.
|
|
59
83
|
*/
|
|
@@ -72,35 +96,20 @@ class SyncClient {
|
|
|
72
96
|
body: body ? JSON.stringify(body) : undefined,
|
|
73
97
|
});
|
|
74
98
|
if (response.status === 401) {
|
|
75
|
-
|
|
99
|
+
const { detail, rawBody } = await this.extractErrorDetail(response);
|
|
100
|
+
throw new types_js_1.SyncApiError(`Authentication failed. Run \`memento login\` again.${detail}`, 401, 'UNAUTHORIZED', rawBody);
|
|
76
101
|
}
|
|
77
102
|
if (response.status === 403) {
|
|
78
|
-
|
|
103
|
+
const { detail, rawBody } = await this.extractErrorDetail(response);
|
|
104
|
+
throw new types_js_1.SyncApiError(`Access denied. Check your project permissions.${detail}`, 403, 'FORBIDDEN', rawBody);
|
|
79
105
|
}
|
|
80
106
|
if (response.status === 429) {
|
|
81
|
-
|
|
107
|
+
const { detail, rawBody } = await this.extractErrorDetail(response);
|
|
108
|
+
throw new types_js_1.SyncApiError(`Rate limited. Please wait before retrying.${detail}`, 429, 'RATE_LIMITED', rawBody);
|
|
82
109
|
}
|
|
83
110
|
if (!response.ok) {
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
// The mementohub.xyz API returns { error: { code, message } } for validation errors.
|
|
87
|
-
let detail = '';
|
|
88
|
-
try {
|
|
89
|
-
const parsed = JSON.parse(text);
|
|
90
|
-
if (parsed?.error?.message) {
|
|
91
|
-
detail = ` — ${parsed.error.message}`;
|
|
92
|
-
}
|
|
93
|
-
else if (parsed?.message) {
|
|
94
|
-
detail = ` — ${parsed.message}`;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
// Not JSON — use raw text if it's short enough
|
|
99
|
-
if (text && text.length < 500) {
|
|
100
|
-
detail = ` — ${text}`;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
throw new types_js_1.SyncApiError(`Sync API error: ${response.status} ${response.statusText}${detail}`, response.status, undefined, text);
|
|
111
|
+
const { detail, rawBody } = await this.extractErrorDetail(response);
|
|
112
|
+
throw new types_js_1.SyncApiError(`Sync API error: ${response.status} ${response.statusText}${detail}`, response.status, undefined, rawBody);
|
|
104
113
|
}
|
|
105
114
|
return response.json();
|
|
106
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-client.js","sourceRoot":"","sources":["../../src/sync/sync-client.ts"],"names":[],"mappings":";;;AAOA,yCAA0C;AAE1C;;;;;GAKG;AACH,MAAa,UAAU;IACb,OAAO,CAAS;IAChB,QAAQ,CAA+B;IACvC,OAAO,CAAe;IAE9B,YAAY,OAIX;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,MAAoE;QAC7E,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,KAAK;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,KAAK,EACL,qBAAqB,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrC,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,IAAqB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,MAAM,EACN,mBAAmB,EACnB,IAAI,CACL,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,KAAK,EACL,iCAAiC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CACjE,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,KAAK,EACL,uBAAuB,CACxB,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAc;QAEd,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,uBAAY,CACpB,+CAA+C,EAC/C,GAAG,EACH,cAAc,CACf,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,eAAe,EAAE,UAAU,KAAK,EAAE;YAClC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAC5D,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"sync-client.js","sourceRoot":"","sources":["../../src/sync/sync-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED