@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.
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
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());
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enactprotocol/api",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "Enact registry API client v2 - OAuth auth, search, download, publish, attestations, and trust",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
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