@mulmoclaude/core 0.26.0 → 0.28.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/assets/helps/error-recovery.md +55 -0
- package/assets/helps/wiki.md +47 -2
- package/dist/collection/core/errorMessage.d.ts +1 -4
- package/dist/collection/core/ontologyGraph.d.ts +58 -0
- package/dist/collection/core/uiTypes.d.ts +7 -0
- package/dist/collection/index.cjs +84 -13
- package/dist/collection/index.cjs.map +1 -1
- package/dist/collection/index.d.ts +1 -0
- package/dist/collection/index.js +77 -7
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/registry/server/index.cjs +8 -7
- package/dist/collection/registry/server/index.cjs.map +1 -1
- package/dist/collection/registry/server/index.js +3 -2
- package/dist/collection/registry/server/index.js.map +1 -1
- package/dist/collection/server/csvStore.d.ts +0 -5
- package/dist/collection/server/index.cjs +3 -3
- package/dist/collection/server/index.js +3 -3
- package/dist/collection/server/ontology.d.ts +2 -24
- package/dist/collection/server/util.d.ts +1 -2
- package/dist/collection-watchers/index.cjs +5 -4
- package/dist/collection-watchers/index.cjs.map +1 -1
- package/dist/collection-watchers/index.js +4 -3
- package/dist/collection-watchers/index.js.map +1 -1
- package/dist/{discovery-cwtfyDxl.cjs → discovery-BKovdRpZ.cjs} +20 -8
- package/dist/discovery-BKovdRpZ.cjs.map +1 -0
- package/dist/{discovery-QUi_7aNG.js → discovery-BVdCgBFN.js} +20 -8
- package/dist/discovery-BVdCgBFN.js.map +1 -0
- package/dist/errors-7P5eMOSX.cjs +30 -0
- package/dist/errors-7P5eMOSX.cjs.map +1 -0
- package/dist/errors-eid6Mes3.js +19 -0
- package/dist/errors-eid6Mes3.js.map +1 -0
- package/dist/feeds/index.cjs +2 -2
- package/dist/feeds/index.js +2 -2
- package/dist/feeds/server/index.cjs +4 -4
- package/dist/feeds/server/index.js +4 -4
- package/dist/google/index.cjs +8 -18
- package/dist/google/index.cjs.map +1 -1
- package/dist/google/index.js +3 -13
- package/dist/google/index.js.map +1 -1
- package/dist/google/util.d.ts +2 -4
- package/dist/{ids-P2T89Gou.js → ids-D1M1T6KJ.js} +26 -3
- package/dist/ids-D1M1T6KJ.js.map +1 -0
- package/dist/{ids-Dl9Ij63K.cjs → ids-DWmHjm17.cjs} +37 -2
- package/dist/ids-DWmHjm17.cjs.map +1 -0
- package/dist/{ingestTypes-C-IQB4nw.js → ingestTypes-Ci4eOgv-.js} +2 -2
- package/dist/{ingestTypes-C-IQB4nw.js.map → ingestTypes-Ci4eOgv-.js.map} +1 -1
- package/dist/{ingestTypes-DZpAC3N_.cjs → ingestTypes-DbuQNuK6.cjs} +2 -2
- package/dist/{ingestTypes-DZpAC3N_.cjs.map → ingestTypes-DbuQNuK6.cjs.map} +1 -1
- package/dist/{promptSafety-BOc1B3im.cjs → promptSafety-BFt2g_wn.cjs} +6 -40
- package/dist/promptSafety-BFt2g_wn.cjs.map +1 -0
- package/dist/{promptSafety-B5KPkaNY.js → promptSafety-cZIeiZtB.js} +4 -26
- package/dist/promptSafety-cZIeiZtB.js.map +1 -0
- package/dist/remote-host/server/index.cjs +4 -4
- package/dist/remote-host/server/index.cjs.map +1 -1
- package/dist/remote-host/server/index.js +1 -1
- package/dist/scheduler/index.cjs +2 -4
- package/dist/scheduler/index.cjs.map +1 -1
- package/dist/scheduler/index.js +1 -3
- package/dist/scheduler/index.js.map +1 -1
- package/dist/{server-CNLZZONa.js → server-B8mvfZSF.js} +28 -18
- package/dist/server-B8mvfZSF.js.map +1 -0
- package/dist/{server-B7mtx4Cd.cjs → server-rRQkNBvO.cjs} +28 -24
- package/dist/server-rRQkNBvO.cjs.map +1 -0
- package/dist/text-CaAh9ZSO.cjs +27 -0
- package/dist/text-CaAh9ZSO.cjs.map +1 -0
- package/dist/text-CjDbP2O1.js +22 -0
- package/dist/text-CjDbP2O1.js.map +1 -0
- package/dist/utils/errors.d.ts +2 -0
- package/dist/utils/index.cjs +6 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/text.d.ts +12 -0
- package/dist/whisper/index.cjs +7 -9
- package/dist/whisper/index.cjs.map +1 -1
- package/dist/whisper/index.js +1 -3
- package/dist/whisper/index.js.map +1 -1
- package/dist/whisper/internal.d.ts +1 -1
- package/dist/workspace-setup/index.js +12 -3
- package/dist/workspace-setup/index.js.map +1 -1
- package/package.json +7 -1
- package/dist/discovery-QUi_7aNG.js.map +0 -1
- package/dist/discovery-cwtfyDxl.cjs.map +0 -1
- package/dist/errorMessage--LvXe_Jx.cjs +0 -16
- package/dist/errorMessage--LvXe_Jx.cjs.map +0 -1
- package/dist/errorMessage-DIdhheHk.js +0 -11
- package/dist/errorMessage-DIdhheHk.js.map +0 -1
- package/dist/ids-Dl9Ij63K.cjs.map +0 -1
- package/dist/ids-P2T89Gou.js.map +0 -1
- package/dist/promptSafety-B5KPkaNY.js.map +0 -1
- package/dist/promptSafety-BOc1B3im.cjs.map +0 -1
- package/dist/server-B7mtx4Cd.cjs.map +0 -1
- package/dist/server-CNLZZONa.js.map +0 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/utils/errors.ts
|
|
2
|
+
function errorMessage(err, fallback) {
|
|
3
|
+
if (err instanceof Error) return err.message;
|
|
4
|
+
if (err !== null && typeof err === "object") {
|
|
5
|
+
const obj = err;
|
|
6
|
+
if (typeof obj.details === "string" && obj.details) return obj.details;
|
|
7
|
+
if (typeof obj.message === "string" && obj.message) return obj.message;
|
|
8
|
+
}
|
|
9
|
+
if (fallback !== void 0) return fallback;
|
|
10
|
+
return String(err);
|
|
11
|
+
}
|
|
12
|
+
function toError(err, fallback) {
|
|
13
|
+
if (err instanceof Error) return err;
|
|
14
|
+
return new Error(fallback ?? errorMessage(err));
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
Object.defineProperty(exports, "errorMessage", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function() {
|
|
20
|
+
return errorMessage;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "toError", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function() {
|
|
26
|
+
return toError;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=errors-7P5eMOSX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors-7P5eMOSX.cjs","names":[],"sources":["../src/utils/errors.ts"],"sourcesContent":["// Canonical error helpers for the whole monorepo. Host (`server/`, `src/`)\n// re-exports these rather than keeping its own copy — before #2217 the same\n// function existed 14 times across 4 behaviours, and the two that mattered\n// disagreed on gRPC-shaped errors: `{ code, details, metadata }` surfaced as\n// \"quota exceeded\" through the host copy and as \"[object Object]\" through the\n// core ones. Browser-safe: pure string work, no node imports.\n\n// Non-Error objects with a `details` (gRPC convention) or `message` string\n// field have that field surfaced — without this they stringify to\n// `[object Object]`.\n//\n// `fallback` covers the route-handler idiom where a throw of a plain non-Error\n// value should surface as a descriptive message (\"rebuild failed\") rather than\n// `String(err)` noise. Pass one at error-response boundaries; omit it for\n// logging contexts where `String(err)` is fine.\nexport function errorMessage(err: unknown, fallback?: string): string {\n if (err instanceof Error) return err.message;\n if (err !== null && typeof err === \"object\") {\n const obj = err as { details?: unknown; message?: unknown };\n if (typeof obj.details === \"string\" && obj.details) return obj.details;\n if (typeof obj.message === \"string\" && obj.message) return obj.message;\n }\n if (fallback !== undefined) return fallback;\n return String(err);\n}\n\n// Coerce an unknown caught value into an Error, preserving the original if it\n// already was one. Use in error boundaries / Promise rejections / event-handler\n// onerror callbacks where the downstream API wants an Error object.\n//\n// `fallback` is the message used when coercing a non-Error value — pass a\n// descriptive string for cases where `String(err)` would just produce noise\n// (e.g. `<img>.onerror` hands you an Event, not the underlying load failure).\nexport function toError(err: unknown, fallback?: string): Error {\n if (err instanceof Error) return err;\n return new Error(fallback ?? errorMessage(err));\n}\n"],"mappings":";AAeA,SAAgB,aAAa,KAAc,UAA2B;CACpE,IAAI,eAAe,OAAO,OAAO,IAAI;CACrC,IAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU;EAC3C,MAAM,MAAM;EACZ,IAAI,OAAO,IAAI,YAAY,YAAY,IAAI,SAAS,OAAO,IAAI;EAC/D,IAAI,OAAO,IAAI,YAAY,YAAY,IAAI,SAAS,OAAO,IAAI;CACjE;CACA,IAAI,aAAa,KAAA,GAAW,OAAO;CACnC,OAAO,OAAO,GAAG;AACnB;AASA,SAAgB,QAAQ,KAAc,UAA0B;CAC9D,IAAI,eAAe,OAAO,OAAO;CACjC,OAAO,IAAI,MAAM,YAAY,aAAa,GAAG,CAAC;AAChD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/utils/errors.ts
|
|
2
|
+
function errorMessage(err, fallback) {
|
|
3
|
+
if (err instanceof Error) return err.message;
|
|
4
|
+
if (err !== null && typeof err === "object") {
|
|
5
|
+
const obj = err;
|
|
6
|
+
if (typeof obj.details === "string" && obj.details) return obj.details;
|
|
7
|
+
if (typeof obj.message === "string" && obj.message) return obj.message;
|
|
8
|
+
}
|
|
9
|
+
if (fallback !== void 0) return fallback;
|
|
10
|
+
return String(err);
|
|
11
|
+
}
|
|
12
|
+
function toError(err, fallback) {
|
|
13
|
+
if (err instanceof Error) return err;
|
|
14
|
+
return new Error(fallback ?? errorMessage(err));
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { toError as n, errorMessage as t };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=errors-eid6Mes3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors-eid6Mes3.js","names":[],"sources":["../src/utils/errors.ts"],"sourcesContent":["// Canonical error helpers for the whole monorepo. Host (`server/`, `src/`)\n// re-exports these rather than keeping its own copy — before #2217 the same\n// function existed 14 times across 4 behaviours, and the two that mattered\n// disagreed on gRPC-shaped errors: `{ code, details, metadata }` surfaced as\n// \"quota exceeded\" through the host copy and as \"[object Object]\" through the\n// core ones. Browser-safe: pure string work, no node imports.\n\n// Non-Error objects with a `details` (gRPC convention) or `message` string\n// field have that field surfaced — without this they stringify to\n// `[object Object]`.\n//\n// `fallback` covers the route-handler idiom where a throw of a plain non-Error\n// value should surface as a descriptive message (\"rebuild failed\") rather than\n// `String(err)` noise. Pass one at error-response boundaries; omit it for\n// logging contexts where `String(err)` is fine.\nexport function errorMessage(err: unknown, fallback?: string): string {\n if (err instanceof Error) return err.message;\n if (err !== null && typeof err === \"object\") {\n const obj = err as { details?: unknown; message?: unknown };\n if (typeof obj.details === \"string\" && obj.details) return obj.details;\n if (typeof obj.message === \"string\" && obj.message) return obj.message;\n }\n if (fallback !== undefined) return fallback;\n return String(err);\n}\n\n// Coerce an unknown caught value into an Error, preserving the original if it\n// already was one. Use in error boundaries / Promise rejections / event-handler\n// onerror callbacks where the downstream API wants an Error object.\n//\n// `fallback` is the message used when coercing a non-Error value — pass a\n// descriptive string for cases where `String(err)` would just produce noise\n// (e.g. `<img>.onerror` hands you an Event, not the underlying load failure).\nexport function toError(err: unknown, fallback?: string): Error {\n if (err instanceof Error) return err;\n return new Error(fallback ?? errorMessage(err));\n}\n"],"mappings":";AAeA,SAAgB,aAAa,KAAc,UAA2B;CACpE,IAAI,eAAe,OAAO,OAAO,IAAI;CACrC,IAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU;EAC3C,MAAM,MAAM;EACZ,IAAI,OAAO,IAAI,YAAY,YAAY,IAAI,SAAS,OAAO,IAAI;EAC/D,IAAI,OAAO,IAAI,YAAY,YAAY,IAAI,SAAS,OAAO,IAAI;CACjE;CACA,IAAI,aAAa,KAAA,GAAW,OAAO;CACnC,OAAO,OAAO,GAAG;AACnB;AASA,SAAgB,QAAQ,KAAc,UAA0B;CAC9D,IAAI,eAAe,OAAO,OAAO;CACjC,OAAO,IAAI,MAAM,YAAY,aAAa,GAAG,CAAC;AAChD"}
|
package/dist/feeds/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_ids = require("../ids-
|
|
3
|
-
const require_ingestTypes = require("../ingestTypes-
|
|
2
|
+
const require_ids = require("../ids-DWmHjm17.cjs");
|
|
3
|
+
const require_ingestTypes = require("../ingestTypes-DbuQNuK6.cjs");
|
|
4
4
|
exports.AGENT_INGEST_KIND = require_ingestTypes.AGENT_INGEST_KIND;
|
|
5
5
|
exports.DEFAULT_FEED_MAX_ITEMS = require_ingestTypes.DEFAULT_FEED_MAX_ITEMS;
|
|
6
6
|
exports.FEED_SCHEDULES = require_ids.FEED_SCHEDULES;
|
package/dist/feeds/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { c as INGEST_KINDS, s as FEED_SCHEDULES } from "../ids-
|
|
2
|
-
import { n as DEFAULT_FEED_MAX_ITEMS, r as isFeedSchedule, t as AGENT_INGEST_KIND } from "../ingestTypes-
|
|
1
|
+
import { c as INGEST_KINDS, s as FEED_SCHEDULES } from "../ids-D1M1T6KJ.js";
|
|
2
|
+
import { n as DEFAULT_FEED_MAX_ITEMS, r as isFeedSchedule, t as AGENT_INGEST_KIND } from "../ingestTypes-Ci4eOgv-.js";
|
|
3
3
|
export { AGENT_INGEST_KIND, DEFAULT_FEED_MAX_ITEMS, FEED_SCHEDULES, INGEST_KINDS, isFeedSchedule };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("../../rolldown-runtime-D6vf50IK.cjs");
|
|
3
|
-
const require_ids = require("../../ids-
|
|
4
|
-
const require_discovery = require("../../discovery-
|
|
5
|
-
require("../../server-
|
|
6
|
-
const require_ingestTypes = require("../../ingestTypes-
|
|
3
|
+
const require_ids = require("../../ids-DWmHjm17.cjs");
|
|
4
|
+
const require_discovery = require("../../discovery-BKovdRpZ.cjs");
|
|
5
|
+
require("../../server-rRQkNBvO.cjs");
|
|
6
|
+
const require_ingestTypes = require("../../ingestTypes-DbuQNuK6.cjs");
|
|
7
7
|
const require_feeds_paths = require("../paths.cjs");
|
|
8
8
|
const require_notifier = require("../../notifier-bS8IEeLA.cjs");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as INGEST_KINDS, s as FEED_SCHEDULES } from "../../ids-
|
|
2
|
-
import { G as resolveDataDir, J as safeSlugName, L as readSkillTemplate, M as listItems, N as promptPathsFor, O as buildCollectionActionSeedPrompt, n as discoverCollections, u as storeFor } from "../../discovery-
|
|
3
|
-
import "../../server-
|
|
4
|
-
import { n as DEFAULT_FEED_MAX_ITEMS, r as isFeedSchedule, t as AGENT_INGEST_KIND } from "../../ingestTypes-
|
|
1
|
+
import { c as INGEST_KINDS, s as FEED_SCHEDULES } from "../../ids-D1M1T6KJ.js";
|
|
2
|
+
import { G as resolveDataDir, J as safeSlugName, L as readSkillTemplate, M as listItems, N as promptPathsFor, O as buildCollectionActionSeedPrompt, n as discoverCollections, u as storeFor } from "../../discovery-BVdCgBFN.js";
|
|
3
|
+
import "../../server-B8mvfZSF.js";
|
|
4
|
+
import { n as DEFAULT_FEED_MAX_ITEMS, r as isFeedSchedule, t as AGENT_INGEST_KIND } from "../../ingestTypes-Ci4eOgv-.js";
|
|
5
5
|
import { FEEDS_DIR, feedDir, feedStatePath, feedsRoot, ingestStateDir, ingestStatePath } from "../paths.js";
|
|
6
6
|
import { d as publish, n as clear } from "../../notifier-ChpY0XrY.js";
|
|
7
7
|
import path from "node:path";
|
package/dist/google/index.cjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("../rolldown-runtime-D6vf50IK.cjs");
|
|
3
|
-
const
|
|
3
|
+
const require_errors = require("../errors-7P5eMOSX.cjs");
|
|
4
|
+
const require_text = require("../text-CaAh9ZSO.cjs");
|
|
5
|
+
const require_discovery = require("../discovery-BKovdRpZ.cjs");
|
|
4
6
|
let node_path = require("node:path");
|
|
5
7
|
node_path = require_rolldown_runtime.__toESM(node_path, 1);
|
|
6
8
|
let node_fs = require("node:fs");
|
|
@@ -65,21 +67,9 @@ function googleSecretsDir(home) {
|
|
|
65
67
|
//#region src/google/util.ts
|
|
66
68
|
var ONE_SECOND_MS = 1e3;
|
|
67
69
|
var ONE_MINUTE_MS = 6e4;
|
|
68
|
-
function errorMessage(err, fallback = "unknown error") {
|
|
69
|
-
if (err instanceof Error) return err.message || fallback;
|
|
70
|
-
const text = String(err);
|
|
71
|
-
return text === "" || text === "[object Object]" ? fallback : text;
|
|
72
|
-
}
|
|
73
70
|
function isRecord(value) {
|
|
74
71
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
75
72
|
}
|
|
76
|
-
/** Clip a string to at most `max` chars; the ellipsis is included in the
|
|
77
|
-
* budget so output never exceeds `max`. */
|
|
78
|
-
function truncate(text, max, ellipsis = "…") {
|
|
79
|
-
if (max <= 0) return "";
|
|
80
|
-
if (text.length <= max) return text;
|
|
81
|
-
return `${text.slice(0, Math.max(0, max - ellipsis.length))}${ellipsis}`;
|
|
82
|
-
}
|
|
83
73
|
//#endregion
|
|
84
74
|
//#region src/google/clientSecret.ts
|
|
85
75
|
var isNonEmptyString = (value) => typeof value === "string" && value !== "";
|
|
@@ -282,7 +272,7 @@ var brokerFetch = async (url, init = {}) => {
|
|
|
282
272
|
headers: { "Content-Type": "application/json" }
|
|
283
273
|
});
|
|
284
274
|
} catch (err) {
|
|
285
|
-
throw new Error(`Google sign-in service unreachable — check the network connection and retry (${errorMessage(err)})`);
|
|
275
|
+
throw new Error(`Google sign-in service unreachable — check the network connection and retry (${require_errors.errorMessage(err)})`);
|
|
286
276
|
}
|
|
287
277
|
if (!response.ok) throw new Error(`Google sign-in service returned HTTP ${response.status}`);
|
|
288
278
|
try {
|
|
@@ -424,7 +414,7 @@ async function unlinkGoogle(home, revokeFetch = fetchWithTimeout) {
|
|
|
424
414
|
});
|
|
425
415
|
if (!response.ok) log.warn("google", "token revoke returned non-ok", { status: response.status });
|
|
426
416
|
} catch (err) {
|
|
427
|
-
log.warn("google", "token revoke failed, deleting local tokens anyway", { error: errorMessage(err) });
|
|
417
|
+
log.warn("google", "token revoke failed, deleting local tokens anyway", { error: require_errors.errorMessage(err) });
|
|
428
418
|
}
|
|
429
419
|
await deleteGoogleTokens(home);
|
|
430
420
|
}
|
|
@@ -575,7 +565,7 @@ var createGoogleAuthFlow = (authorize) => {
|
|
|
575
565
|
signal: controller.signal
|
|
576
566
|
}).then(() => log.info("google", "authorize flow completed")).catch((err) => {
|
|
577
567
|
if (!controller.signal.aborted) {
|
|
578
|
-
lastError = errorMessage(err);
|
|
568
|
+
lastError = require_errors.errorMessage(err);
|
|
579
569
|
log.warn("google", "authorize flow failed", { error: lastError });
|
|
580
570
|
}
|
|
581
571
|
reject(err instanceof Error ? err : new Error(String(err)));
|
|
@@ -627,7 +617,7 @@ var isGoogleApiError = (value) => value instanceof GoogleApiError;
|
|
|
627
617
|
/** 403 usually means the API is not enabled for the user's Cloud project —
|
|
628
618
|
* name the API so the agent's recovery guidance can be specific. */
|
|
629
619
|
var googleApiError = (apiLabel, status, body) => {
|
|
630
|
-
return new GoogleApiError(status, `${apiLabel}: HTTP ${status}${status === HTTP_FORBIDDEN ? ` (is the ${apiLabel} enabled for the Cloud project?)` : ""}${body ? ` — ${truncate(body, ERROR_BODY_MAX_CHARS)}` : ""}`);
|
|
620
|
+
return new GoogleApiError(status, `${apiLabel}: HTTP ${status}${status === HTTP_FORBIDDEN ? ` (is the ${apiLabel} enabled for the Cloud project?)` : ""}${body ? ` — ${require_text.truncate(body, ERROR_BODY_MAX_CHARS)}` : ""}`);
|
|
631
621
|
};
|
|
632
622
|
async function googleRequest(apiLabel, accessToken, url, init = {}) {
|
|
633
623
|
const { contentType = "application/json", expectText = false, ...rest } = init;
|
|
@@ -640,7 +630,7 @@ async function googleRequest(apiLabel, accessToken, url, init = {}) {
|
|
|
640
630
|
}
|
|
641
631
|
});
|
|
642
632
|
if (!response.ok) {
|
|
643
|
-
const body = await response.text().catch((err) => errorMessage(err));
|
|
633
|
+
const body = await response.text().catch((err) => require_errors.errorMessage(err));
|
|
644
634
|
throw googleApiError(apiLabel, response.status, body);
|
|
645
635
|
}
|
|
646
636
|
if (expectText) return await response.text();
|