@enactprotocol/api 2.0.3 → 2.0.4
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/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +45 -0
- package/dist/publish.js.map +1 -1
- package/package.json +1 -1
- package/src/publish.ts +55 -0
package/dist/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,WAAW,EAAE,IAAI,CAAC;IAClB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,EAAE,IAAI,CAAC;IACf,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,0BAA0B;IAC1B,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,IAAI,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC;QACvB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CASvE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GACA,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/publish.js
CHANGED
|
@@ -67,6 +67,51 @@ export async function publishTool(client, options) {
|
|
|
67
67
|
});
|
|
68
68
|
if (!response.ok) {
|
|
69
69
|
const errorText = await response.text();
|
|
70
|
+
// Try to parse as JSON to get a more meaningful error message
|
|
71
|
+
try {
|
|
72
|
+
const errorJson = JSON.parse(errorText);
|
|
73
|
+
const error = errorJson.error;
|
|
74
|
+
if (error?.code && error?.message) {
|
|
75
|
+
// Provide user-friendly error messages based on error code
|
|
76
|
+
switch (error.code) {
|
|
77
|
+
case "NAMESPACE_MISMATCH":
|
|
78
|
+
throw new Error(`Namespace mismatch: ${error.message}\n` +
|
|
79
|
+
`Hint: You can only publish tools under your own namespace (${error.details?.userNamespace || "your username"}).`);
|
|
80
|
+
case "CONFLICT":
|
|
81
|
+
throw new Error(`Version conflict: ${error.message}\nHint: Bump the version number in your enact.md file and try again.`);
|
|
82
|
+
case "UNAUTHORIZED":
|
|
83
|
+
throw new Error(`Authentication required: ${error.message}\nHint: Run 'enact auth login' to authenticate.`);
|
|
84
|
+
case "VALIDATION_ERROR":
|
|
85
|
+
throw new Error(`Validation error: ${error.message}`);
|
|
86
|
+
case "BUNDLE_TOO_LARGE":
|
|
87
|
+
throw new Error(`Bundle too large: ${error.message}`);
|
|
88
|
+
default:
|
|
89
|
+
throw new Error(`Publish failed (${error.code}): ${error.message}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (parseError) {
|
|
94
|
+
// If JSON parsing fails, fall back to the raw error text
|
|
95
|
+
if (parseError instanceof Error && parseError.message.startsWith("Namespace mismatch:")) {
|
|
96
|
+
throw parseError;
|
|
97
|
+
}
|
|
98
|
+
if (parseError instanceof Error && parseError.message.startsWith("Version conflict:")) {
|
|
99
|
+
throw parseError;
|
|
100
|
+
}
|
|
101
|
+
if (parseError instanceof Error &&
|
|
102
|
+
parseError.message.startsWith("Authentication required:")) {
|
|
103
|
+
throw parseError;
|
|
104
|
+
}
|
|
105
|
+
if (parseError instanceof Error && parseError.message.startsWith("Validation error:")) {
|
|
106
|
+
throw parseError;
|
|
107
|
+
}
|
|
108
|
+
if (parseError instanceof Error && parseError.message.startsWith("Bundle too large:")) {
|
|
109
|
+
throw parseError;
|
|
110
|
+
}
|
|
111
|
+
if (parseError instanceof Error && parseError.message.startsWith("Publish failed (")) {
|
|
112
|
+
throw parseError;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
70
115
|
throw new Error(`Publish failed: ${response.status} - ${errorText}`);
|
|
71
116
|
}
|
|
72
117
|
const json = (await response.json());
|
package/dist/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+EH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe;IAChD,qDAAqD;IACrD,6BAA6B;IAC7B,oBAAoB;IACpB,kBAAkB;IAElB,6CAA6C;IAC7C,oEAAoE;IACpE,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,OAKC;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEnD,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAEhC,uBAAuB;IACvB,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD,qBAAqB;IACrB,MAAM,UAAU,GACd,MAAM,YAAY,WAAW;QAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAClD,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAEvD,sBAAsB;IACtB,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,EAAE;QACnE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;YAC7E,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,iBAAiB;SACzD;QACD,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/publish.ts
CHANGED
|
@@ -162,6 +162,61 @@ export async function publishTool(
|
|
|
162
162
|
|
|
163
163
|
if (!response.ok) {
|
|
164
164
|
const errorText = await response.text();
|
|
165
|
+
|
|
166
|
+
// Try to parse as JSON to get a more meaningful error message
|
|
167
|
+
try {
|
|
168
|
+
const errorJson = JSON.parse(errorText);
|
|
169
|
+
const error = errorJson.error;
|
|
170
|
+
|
|
171
|
+
if (error?.code && error?.message) {
|
|
172
|
+
// Provide user-friendly error messages based on error code
|
|
173
|
+
switch (error.code) {
|
|
174
|
+
case "NAMESPACE_MISMATCH":
|
|
175
|
+
throw new Error(
|
|
176
|
+
`Namespace mismatch: ${error.message}\n` +
|
|
177
|
+
`Hint: You can only publish tools under your own namespace (${error.details?.userNamespace || "your username"}).`
|
|
178
|
+
);
|
|
179
|
+
case "CONFLICT":
|
|
180
|
+
throw new Error(
|
|
181
|
+
`Version conflict: ${error.message}\nHint: Bump the version number in your enact.md file and try again.`
|
|
182
|
+
);
|
|
183
|
+
case "UNAUTHORIZED":
|
|
184
|
+
throw new Error(
|
|
185
|
+
`Authentication required: ${error.message}\nHint: Run 'enact auth login' to authenticate.`
|
|
186
|
+
);
|
|
187
|
+
case "VALIDATION_ERROR":
|
|
188
|
+
throw new Error(`Validation error: ${error.message}`);
|
|
189
|
+
case "BUNDLE_TOO_LARGE":
|
|
190
|
+
throw new Error(`Bundle too large: ${error.message}`);
|
|
191
|
+
default:
|
|
192
|
+
throw new Error(`Publish failed (${error.code}): ${error.message}`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
} catch (parseError) {
|
|
196
|
+
// If JSON parsing fails, fall back to the raw error text
|
|
197
|
+
if (parseError instanceof Error && parseError.message.startsWith("Namespace mismatch:")) {
|
|
198
|
+
throw parseError;
|
|
199
|
+
}
|
|
200
|
+
if (parseError instanceof Error && parseError.message.startsWith("Version conflict:")) {
|
|
201
|
+
throw parseError;
|
|
202
|
+
}
|
|
203
|
+
if (
|
|
204
|
+
parseError instanceof Error &&
|
|
205
|
+
parseError.message.startsWith("Authentication required:")
|
|
206
|
+
) {
|
|
207
|
+
throw parseError;
|
|
208
|
+
}
|
|
209
|
+
if (parseError instanceof Error && parseError.message.startsWith("Validation error:")) {
|
|
210
|
+
throw parseError;
|
|
211
|
+
}
|
|
212
|
+
if (parseError instanceof Error && parseError.message.startsWith("Bundle too large:")) {
|
|
213
|
+
throw parseError;
|
|
214
|
+
}
|
|
215
|
+
if (parseError instanceof Error && parseError.message.startsWith("Publish failed (")) {
|
|
216
|
+
throw parseError;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
165
220
|
throw new Error(`Publish failed: ${response.status} - ${errorText}`);
|
|
166
221
|
}
|
|
167
222
|
|