@cmmd-center/forge 0.13.108 → 0.13.110
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/bin.cjs +62 -8
- package/dist/bin.mjs +86 -32
- package/dist/client/assets/CanvasPanel-Cg4D-ISF.js +441 -0
- package/dist/client/assets/{CompositeItem-DYaCFJOM.js → CompositeItem-CYjaZm9j.js} +2 -2
- package/dist/client/assets/{DiffPanel-CzFJNXLw.js → DiffPanel-DA0QAING.js} +2 -2
- package/dist/client/assets/{DiffPanel.logic-Bk9XyjyJ.js → DiffPanel.logic-Cg5xBiSE.js} +2 -2
- package/dist/client/assets/{DiffWorkerPoolProvider-AxaO3o2S.js → DiffWorkerPoolProvider-BJSpQ5VY.js} +52 -52
- package/dist/client/assets/{PullRequestCodePanel-C_6uE9uq.js → PullRequestCodePanel-C8WlU2iQ.js} +3 -3
- package/dist/client/assets/{Virtualizer-C96hhBBx.js → Virtualizer-V8jZ5w_U.js} +2 -2
- package/dist/client/assets/{WorkerPoolContext-D3gbYcsV.js → WorkerPoolContext-CLHqIrE4.js} +3 -3
- package/dist/client/assets/canvasStateStore-BejjlUiS.js +2 -0
- package/dist/client/assets/{cmmdAuthRedirect-D9b4x37X.js → cmmdAuthRedirect-PUmt8-ZY.js} +2 -2
- package/dist/client/assets/index-Dq5A7gWd.css +1 -0
- package/dist/client/assets/{index-JCoiPxpo.js → index-yDeHcRkt.js} +68 -68
- package/dist/client/assets/{popover-BLN6-1Lv.js → popover-kIpfozNc.js} +2 -2
- package/dist/client/assets/{src-CP7pFzq9.js → src-D27YeBpH.js} +2 -2
- package/dist/client/assets/{toggle-D5P2us-a.js → toggle-BNOwunZr.js} +2 -2
- package/dist/client/index.html +11 -11
- package/dist/forge-build.json +1 -1
- package/dist/{open-yHTUkd2Y.mjs → open-2-reBrpv.mjs} +3 -3
- package/package.json +1 -1
- package/dist/client/assets/CanvasPanel-DUT9sMKg.js +0 -441
- package/dist/client/assets/canvasStateStore-Dk-UG8_D.js +0 -2
- package/dist/client/assets/index-CB79B6jT.css +0 -1
package/dist/bin.cjs
CHANGED
|
@@ -21242,6 +21242,7 @@ const RuntimeErrorClass = require_Schema$1.Literals([
|
|
|
21242
21242
|
"transport_error",
|
|
21243
21243
|
"permission_error",
|
|
21244
21244
|
"validation_error",
|
|
21245
|
+
"usage_limit",
|
|
21245
21246
|
"unknown"
|
|
21246
21247
|
]);
|
|
21247
21248
|
const TOOL_LIFECYCLE_ITEM_TYPES = [
|
|
@@ -66335,7 +66336,7 @@ function normalizeNumberish(value) {
|
|
|
66335
66336
|
}
|
|
66336
66337
|
//#endregion
|
|
66337
66338
|
//#region package.json
|
|
66338
|
-
var version$1 = "0.13.
|
|
66339
|
+
var version$1 = "0.13.110";
|
|
66339
66340
|
//#endregion
|
|
66340
66341
|
//#region src/sentry.ts
|
|
66341
66342
|
const SERVER_APP_NAME = "forge-server";
|
|
@@ -98570,11 +98571,12 @@ function classifyProviderTurnStartFailureReason(detail) {
|
|
|
98570
98571
|
* follow-up issue) that would stop Codex from retrying against that wall in
|
|
98571
98572
|
* the first place.
|
|
98572
98573
|
*/
|
|
98573
|
-
function classifyMidTurnFailureReason(detail) {
|
|
98574
|
+
function classifyMidTurnFailureReason(detail, errorClass) {
|
|
98574
98575
|
const message = detail && detail.trim().length > 0 ? detail : "The runtime reported an error while this run was in progress.";
|
|
98575
|
-
const
|
|
98576
|
+
const classifiedFailure = classifyRetryableProviderFailure(detail);
|
|
98577
|
+
const classifiedTerminal = classifiedFailure?.kind === "terminal" && classifiedFailure.reason === "quota";
|
|
98576
98578
|
return {
|
|
98577
|
-
code:
|
|
98579
|
+
code: errorClass === "usage_limit" || classifiedTerminal ? "provider_usage_limit" : "provider_turn_failed",
|
|
98578
98580
|
message
|
|
98579
98581
|
};
|
|
98580
98582
|
}
|
|
@@ -98778,6 +98780,11 @@ function errorMessageOf(payload) {
|
|
|
98778
98780
|
const message = payload.errorMessage;
|
|
98779
98781
|
return typeof message === "string" && message.trim().length > 0 ? message : null;
|
|
98780
98782
|
}
|
|
98783
|
+
function errorClassOf(payload) {
|
|
98784
|
+
if (!payload || typeof payload !== "object") return null;
|
|
98785
|
+
const cls = payload.errorClass;
|
|
98786
|
+
return typeof cls === "string" && cls.trim().length > 0 ? cls : null;
|
|
98787
|
+
}
|
|
98781
98788
|
/**
|
|
98782
98789
|
* Turns the one durable activity `Layers/CheckpointReactor.ts` records when a
|
|
98783
98790
|
* turn ends into CMMD's `turn_status` terminal event (CMMD-Center/forge#3562
|
|
@@ -98797,7 +98804,7 @@ function serializeTurnTerminalStatusActivity(activity) {
|
|
|
98797
98804
|
if (activity.kind !== "turn.terminal-status" || !activity.turnId) return null;
|
|
98798
98805
|
const outcome = outcomeOf(activity.payload);
|
|
98799
98806
|
if (outcome === null) return null;
|
|
98800
|
-
const reason = outcome === "failed" ? classifyMidTurnFailureReason(errorMessageOf(activity.payload)) : null;
|
|
98807
|
+
const reason = outcome === "failed" ? classifyMidTurnFailureReason(errorMessageOf(activity.payload), errorClassOf(activity.payload)) : null;
|
|
98801
98808
|
return {
|
|
98802
98809
|
sourceSequence: null,
|
|
98803
98810
|
event: {
|
|
@@ -214137,13 +214144,32 @@ const codexRealtimeMethodMappers = {
|
|
|
214137
214144
|
function mapCodexRuntimeErrorEvent(event, canonicalThreadId, payload) {
|
|
214138
214145
|
const message = asString$2(asObject$2(payload?.error)?.message) ?? event.message ?? "Provider runtime error";
|
|
214139
214146
|
const willRetry = payload?.willRetry === true;
|
|
214147
|
+
const detail = event.payload !== void 0 ? { detail: event.payload } : {};
|
|
214148
|
+
if (asString$2(asObject$2(payload?.error)?.codexErrorInfo) === "usageLimitExceeded") return [{
|
|
214149
|
+
type: "runtime.error",
|
|
214150
|
+
...runtimeEventBase(event, canonicalThreadId),
|
|
214151
|
+
payload: {
|
|
214152
|
+
message,
|
|
214153
|
+
class: "usage_limit",
|
|
214154
|
+
...detail
|
|
214155
|
+
}
|
|
214156
|
+
}];
|
|
214157
|
+
if (classifyRetryableProviderFailure(message)?.kind === "terminal") return [{
|
|
214158
|
+
type: "runtime.error",
|
|
214159
|
+
...runtimeEventBase(event, canonicalThreadId),
|
|
214160
|
+
payload: {
|
|
214161
|
+
message,
|
|
214162
|
+
class: "usage_limit",
|
|
214163
|
+
...detail
|
|
214164
|
+
}
|
|
214165
|
+
}];
|
|
214140
214166
|
return [{
|
|
214141
214167
|
type: willRetry ? "runtime.warning" : "runtime.error",
|
|
214142
214168
|
...runtimeEventBase(event, canonicalThreadId),
|
|
214143
214169
|
payload: {
|
|
214144
214170
|
message,
|
|
214145
214171
|
...!willRetry ? { class: "provider_error" } : {},
|
|
214146
|
-
...
|
|
214172
|
+
...detail
|
|
214147
214173
|
}
|
|
214148
214174
|
}];
|
|
214149
214175
|
}
|
|
@@ -291440,7 +291466,10 @@ function runtimeStatusEventToActivities(event) {
|
|
|
291440
291466
|
tone: "error",
|
|
291441
291467
|
kind: "runtime.error",
|
|
291442
291468
|
summary: "Runtime error",
|
|
291443
|
-
payload: {
|
|
291469
|
+
payload: {
|
|
291470
|
+
message: truncateDetail(event.payload.message),
|
|
291471
|
+
...event.payload.class !== void 0 ? { class: event.payload.class } : {}
|
|
291472
|
+
}
|
|
291444
291473
|
}];
|
|
291445
291474
|
case "codeweb.workspace.required": return [{
|
|
291446
291475
|
...activityBase(event),
|
|
@@ -292847,6 +292876,31 @@ const make$8 = require_Schema$1.fn("make")(function* () {
|
|
|
292847
292876
|
},
|
|
292848
292877
|
createdAt: event.createdAt
|
|
292849
292878
|
});
|
|
292879
|
+
if (activeTurnId !== null && eventTurnId !== void 0 && sameId$1(activeTurnId, eventTurnId)) {
|
|
292880
|
+
const activityId = turnTerminalStatusActivityId(eventTurnId);
|
|
292881
|
+
if (!thread.activities.some((a) => a.id === activityId)) {
|
|
292882
|
+
const recordedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
292883
|
+
yield* orchestrationEngine.dispatch({
|
|
292884
|
+
type: "thread.activity.append",
|
|
292885
|
+
commandId: providerCommandId(event, "mid-turn-terminal-status"),
|
|
292886
|
+
threadId: thread.id,
|
|
292887
|
+
activity: {
|
|
292888
|
+
id: EventId.make(activityId),
|
|
292889
|
+
tone: "error",
|
|
292890
|
+
kind: TURN_TERMINAL_STATUS_ACTIVITY_KIND,
|
|
292891
|
+
summary: "Turn failed",
|
|
292892
|
+
payload: {
|
|
292893
|
+
outcome: "failed",
|
|
292894
|
+
errorMessage: publicProviderRuntimeError(event.payload.message) ?? "CMMD is temporarily unavailable. Check the workspace AI connection and retry.",
|
|
292895
|
+
...event.payload.class ? { errorClass: event.payload.class } : {}
|
|
292896
|
+
},
|
|
292897
|
+
turnId: eventTurnId,
|
|
292898
|
+
createdAt: recordedAt
|
|
292899
|
+
},
|
|
292900
|
+
createdAt: recordedAt
|
|
292901
|
+
});
|
|
292902
|
+
}
|
|
292903
|
+
}
|
|
292850
292904
|
});
|
|
292851
292905
|
const handleThreadMetadata = require_Schema$1.fn("handleThreadMetadata")(function* (event, thread) {
|
|
292852
292906
|
if (event.type !== "thread.metadata.updated" || !event.payload.name) return;
|
|
@@ -300341,7 +300395,7 @@ function resolveBuildCommitFromEnv(env) {
|
|
|
300341
300395
|
* environment descriptor down instead of reporting an honest "unknown".
|
|
300342
300396
|
*/
|
|
300343
300397
|
function readBakedBuildCommit() {
|
|
300344
|
-
return "
|
|
300398
|
+
return "037bb9952083dd6c284e0ed8ab8af478c1756914";
|
|
300345
300399
|
}
|
|
300346
300400
|
async function resolveServerBuildCommit(input) {
|
|
300347
300401
|
if (isFullCommitSha(input.baked)) return input.baked;
|
package/dist/bin.mjs
CHANGED
|
@@ -23,7 +23,7 @@ import { createCipheriv, createDecipheriv, createHash, createHmac, createPublicK
|
|
|
23
23
|
import * as FS$1 from "node:fs";
|
|
24
24
|
import fs, { accessSync, chmodSync, constants, createReadStream, existsSync, mkdirSync, mkdtempSync, promises, readFile, readFileSync, readdir, readdirSync, realpathSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
25
25
|
import * as NodeOS from "node:os";
|
|
26
|
-
import
|
|
26
|
+
import $U, { homedir, networkInterfaces, tmpdir } from "node:os";
|
|
27
27
|
import * as Path$1 from "node:path";
|
|
28
28
|
import path, { basename, delimiter, dirname, extname, isAbsolute, join, posix, relative, resolve, sep } from "node:path";
|
|
29
29
|
import { pathToFileURL } from "node:url";
|
|
@@ -21110,6 +21110,7 @@ const RuntimeErrorClass = Literals([
|
|
|
21110
21110
|
"transport_error",
|
|
21111
21111
|
"permission_error",
|
|
21112
21112
|
"validation_error",
|
|
21113
|
+
"usage_limit",
|
|
21113
21114
|
"unknown"
|
|
21114
21115
|
]);
|
|
21115
21116
|
const TOOL_LIFECYCLE_ITEM_TYPES = [
|
|
@@ -50656,7 +50657,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
|
50656
50657
|
const min = forceColor || 0;
|
|
50657
50658
|
if (env.TERM === "dumb") return min;
|
|
50658
50659
|
if (process$1.platform === "win32") {
|
|
50659
|
-
const osRelease =
|
|
50660
|
+
const osRelease = $U.release().split(".");
|
|
50660
50661
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
50661
50662
|
return 1;
|
|
50662
50663
|
}
|
|
@@ -53099,7 +53100,7 @@ var require_ProcessDetector = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
53099
53100
|
exports.processDetector = void 0;
|
|
53100
53101
|
const api_1 = (init_esm$1(), __toCommonJS(esm_exports$1));
|
|
53101
53102
|
const semconv_1 = require_semconv$1();
|
|
53102
|
-
const os$
|
|
53103
|
+
const os$3 = __require("os");
|
|
53103
53104
|
/**
|
|
53104
53105
|
* ProcessDetector will be used to detect the resources related current process running
|
|
53105
53106
|
* and being instrumented from the NodeJS Process module.
|
|
@@ -53121,7 +53122,7 @@ var require_ProcessDetector = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
53121
53122
|
};
|
|
53122
53123
|
if (process.argv.length > 1) attributes[semconv_1.ATTR_PROCESS_COMMAND] = process.argv[1];
|
|
53123
53124
|
try {
|
|
53124
|
-
const userInfo = os$
|
|
53125
|
+
const userInfo = os$3.userInfo();
|
|
53125
53126
|
attributes[semconv_1.ATTR_PROCESS_OWNER] = userInfo.username;
|
|
53126
53127
|
} catch (e) {
|
|
53127
53128
|
api_1.diag.debug(`error obtaining process owner: ${e}`);
|
|
@@ -66044,7 +66045,7 @@ function normalizeNumberish(value) {
|
|
|
66044
66045
|
}
|
|
66045
66046
|
//#endregion
|
|
66046
66047
|
//#region package.json
|
|
66047
|
-
var version$1 = "0.13.
|
|
66048
|
+
var version$1 = "0.13.110";
|
|
66048
66049
|
//#endregion
|
|
66049
66050
|
//#region src/sentry.ts
|
|
66050
66051
|
const SERVER_APP_NAME = "forge-server";
|
|
@@ -76114,7 +76115,7 @@ var require_node_gyp_build = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
76114
76115
|
var fs$6 = __require("fs");
|
|
76115
76116
|
var path$5 = __require("path");
|
|
76116
76117
|
var url$1 = __require("url");
|
|
76117
|
-
var os$
|
|
76118
|
+
var os$2 = __require("os");
|
|
76118
76119
|
var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
|
|
76119
76120
|
var vars = process.config && process.config.variables || {};
|
|
76120
76121
|
var prebuildsOnly = !!process.env.PREBUILDS_ONLY;
|
|
@@ -76122,8 +76123,8 @@ var require_node_gyp_build = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
76122
76123
|
var abi = versions.modules;
|
|
76123
76124
|
if (versions.deno || process.isBun) abi = "unsupported";
|
|
76124
76125
|
var runtime = isElectron() ? "electron" : isNwjs() ? "node-webkit" : "node";
|
|
76125
|
-
var arch = process.env.npm_config_arch || os$
|
|
76126
|
-
var platform = process.env.npm_config_platform || os$
|
|
76126
|
+
var arch = process.env.npm_config_arch || os$2.arch();
|
|
76127
|
+
var platform = process.env.npm_config_platform || os$2.platform();
|
|
76127
76128
|
var libc = process.env.LIBC || (isMusl(platform) ? "musl" : "glibc");
|
|
76128
76129
|
var armv = process.env.ARM_VERSION || (arch === "arm64" ? "8" : vars.arm_version) || "";
|
|
76129
76130
|
var uv = (versions.uv || "").split(".")[0];
|
|
@@ -93967,7 +93968,7 @@ const launchDetached = (launch) => gen(function* () {
|
|
|
93967
93968
|
});
|
|
93968
93969
|
const OpenLive = effect(Open, gen(function* () {
|
|
93969
93970
|
const open = yield* tryPromise({
|
|
93970
|
-
try: () => import("./open-
|
|
93971
|
+
try: () => import("./open-2-reBrpv.mjs"),
|
|
93971
93972
|
catch: (cause) => new OpenError$1({
|
|
93972
93973
|
message: "failed to load browser opener",
|
|
93973
93974
|
cause
|
|
@@ -98180,11 +98181,12 @@ function classifyProviderTurnStartFailureReason(detail) {
|
|
|
98180
98181
|
* follow-up issue) that would stop Codex from retrying against that wall in
|
|
98181
98182
|
* the first place.
|
|
98182
98183
|
*/
|
|
98183
|
-
function classifyMidTurnFailureReason(detail) {
|
|
98184
|
+
function classifyMidTurnFailureReason(detail, errorClass) {
|
|
98184
98185
|
const message = detail && detail.trim().length > 0 ? detail : "The runtime reported an error while this run was in progress.";
|
|
98185
|
-
const
|
|
98186
|
+
const classifiedFailure = classifyRetryableProviderFailure(detail);
|
|
98187
|
+
const classifiedTerminal = classifiedFailure?.kind === "terminal" && classifiedFailure.reason === "quota";
|
|
98186
98188
|
return {
|
|
98187
|
-
code:
|
|
98189
|
+
code: errorClass === "usage_limit" || classifiedTerminal ? "provider_usage_limit" : "provider_turn_failed",
|
|
98188
98190
|
message
|
|
98189
98191
|
};
|
|
98190
98192
|
}
|
|
@@ -98388,6 +98390,11 @@ function errorMessageOf(payload) {
|
|
|
98388
98390
|
const message = payload.errorMessage;
|
|
98389
98391
|
return typeof message === "string" && message.trim().length > 0 ? message : null;
|
|
98390
98392
|
}
|
|
98393
|
+
function errorClassOf(payload) {
|
|
98394
|
+
if (!payload || typeof payload !== "object") return null;
|
|
98395
|
+
const cls = payload.errorClass;
|
|
98396
|
+
return typeof cls === "string" && cls.trim().length > 0 ? cls : null;
|
|
98397
|
+
}
|
|
98391
98398
|
/**
|
|
98392
98399
|
* Turns the one durable activity `Layers/CheckpointReactor.ts` records when a
|
|
98393
98400
|
* turn ends into CMMD's `turn_status` terminal event (CMMD-Center/forge#3562
|
|
@@ -98407,7 +98414,7 @@ function serializeTurnTerminalStatusActivity(activity) {
|
|
|
98407
98414
|
if (activity.kind !== "turn.terminal-status" || !activity.turnId) return null;
|
|
98408
98415
|
const outcome = outcomeOf(activity.payload);
|
|
98409
98416
|
if (outcome === null) return null;
|
|
98410
|
-
const reason = outcome === "failed" ? classifyMidTurnFailureReason(errorMessageOf(activity.payload)) : null;
|
|
98417
|
+
const reason = outcome === "failed" ? classifyMidTurnFailureReason(errorMessageOf(activity.payload), errorClassOf(activity.payload)) : null;
|
|
98411
98418
|
return {
|
|
98412
98419
|
sourceSequence: null,
|
|
98413
98420
|
event: {
|
|
@@ -192236,7 +192243,7 @@ var Vce = {
|
|
|
192236
192243
|
function Ve() {
|
|
192237
192244
|
return Vce;
|
|
192238
192245
|
}
|
|
192239
|
-
var Us =
|
|
192246
|
+
var Us = $U.homedir(), lk = $U.tmpdir(), { env: Vc } = process$1, Yce = (e) => {
|
|
192240
192247
|
let t = path.join(Us, "Library");
|
|
192241
192248
|
return {
|
|
192242
192249
|
data: path.join(t, "Application Support", e),
|
|
@@ -202436,12 +202443,12 @@ function qZ(e, t) {
|
|
|
202436
202443
|
}
|
|
202437
202444
|
return n;
|
|
202438
202445
|
}
|
|
202439
|
-
var os$
|
|
202446
|
+
var os$1 = "https://code.claude.com/docs/en", kKe = [
|
|
202440
202447
|
{
|
|
202441
202448
|
matches: (e) => e.path === "permissions.defaultMode" && e.code === "invalid_value",
|
|
202442
202449
|
tip: {
|
|
202443
202450
|
suggestion: "Valid modes: \"acceptEdits\" (ask before file changes), \"plan\" (analysis only), \"bypassPermissions\" (auto-accept all), or \"default\" (standard behavior)",
|
|
202444
|
-
docLink: `${os$
|
|
202451
|
+
docLink: `${os$1}/iam#permission-modes`
|
|
202445
202452
|
}
|
|
202446
202453
|
},
|
|
202447
202454
|
{
|
|
@@ -202456,7 +202463,7 @@ var os$2 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202456
202463
|
matches: (e) => e.path.startsWith("env.") && e.code === "invalid_type",
|
|
202457
202464
|
tip: {
|
|
202458
202465
|
suggestion: "Environment variables must be strings. Wrap numbers and booleans in quotes. Example: \"DEBUG\": \"true\", \"PORT\": \"3000\"",
|
|
202459
|
-
docLink: `${os$
|
|
202466
|
+
docLink: `${os$1}/settings#environment-variables`
|
|
202460
202467
|
}
|
|
202461
202468
|
},
|
|
202462
202469
|
{
|
|
@@ -202467,14 +202474,14 @@ var os$2 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202467
202474
|
matches: (e) => e.path.startsWith("hooks.") && e.code === "invalid_key",
|
|
202468
202475
|
tip: {
|
|
202469
202476
|
suggestion: "Not a recognized hook event. Common events: PreToolUse, PostToolUse, UserPromptSubmit, SessionStart, SessionEnd, Stop. Check spelling and capitalization.",
|
|
202470
|
-
docLink: `${os$
|
|
202477
|
+
docLink: `${os$1}/hooks`
|
|
202471
202478
|
}
|
|
202472
202479
|
},
|
|
202473
202480
|
{
|
|
202474
202481
|
matches: (e) => /\.hooks\.\d+\.command$/.test(e.path) && e.code === "invalid_type" && e.received === "undefined",
|
|
202475
202482
|
tip: {
|
|
202476
202483
|
suggestion: "Command hooks require `command`. For exec form (no shell), set `command` to the executable and `args` to its arguments: {\"type\": \"command\", \"command\": \"echo\", \"args\": [\"hi\"]}. For shell form, set `command` to the full shell string: {\"type\": \"command\", \"command\": \"echo hi\"}.",
|
|
202477
|
-
docLink: `${os$
|
|
202484
|
+
docLink: `${os$1}/hooks#exec-form-and-shell-form`
|
|
202478
202485
|
}
|
|
202479
202486
|
},
|
|
202480
202487
|
{
|
|
@@ -202489,7 +202496,7 @@ var os$2 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202489
202496
|
matches: (e) => e.code === "unrecognized_keys",
|
|
202490
202497
|
tip: {
|
|
202491
202498
|
suggestion: "Check for typos or refer to the documentation for valid fields",
|
|
202492
|
-
docLink: `${os$
|
|
202499
|
+
docLink: `${os$1}/settings`
|
|
202493
202500
|
}
|
|
202494
202501
|
},
|
|
202495
202502
|
{
|
|
@@ -202504,13 +202511,13 @@ var os$2 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202504
202511
|
matches: (e) => e.path === "permissions.additionalDirectories" && e.code === "invalid_type",
|
|
202505
202512
|
tip: {
|
|
202506
202513
|
suggestion: "Must be an array of directory paths. Example: [\"~/projects\", \"/tmp/workspace\"]. You can also use --add-dir flag or /add-dir command",
|
|
202507
|
-
docLink: `${os$
|
|
202514
|
+
docLink: `${os$1}/iam#working-directories`
|
|
202508
202515
|
}
|
|
202509
202516
|
}
|
|
202510
202517
|
], AKe = {
|
|
202511
|
-
permissions: `${os$
|
|
202512
|
-
env: `${os$
|
|
202513
|
-
hooks: `${os$
|
|
202518
|
+
permissions: `${os$1}/iam#configuring-permissions`,
|
|
202519
|
+
env: `${os$1}/settings#environment-variables`,
|
|
202520
|
+
hooks: `${os$1}/hooks`
|
|
202514
202521
|
};
|
|
202515
202522
|
function GZ(e) {
|
|
202516
202523
|
let t = kKe.find((r) => r.matches(e));
|
|
@@ -213712,13 +213719,32 @@ const codexRealtimeMethodMappers = {
|
|
|
213712
213719
|
function mapCodexRuntimeErrorEvent(event, canonicalThreadId, payload) {
|
|
213713
213720
|
const message = asString$2(asObject$2(payload?.error)?.message) ?? event.message ?? "Provider runtime error";
|
|
213714
213721
|
const willRetry = payload?.willRetry === true;
|
|
213722
|
+
const detail = event.payload !== void 0 ? { detail: event.payload } : {};
|
|
213723
|
+
if (asString$2(asObject$2(payload?.error)?.codexErrorInfo) === "usageLimitExceeded") return [{
|
|
213724
|
+
type: "runtime.error",
|
|
213725
|
+
...runtimeEventBase(event, canonicalThreadId),
|
|
213726
|
+
payload: {
|
|
213727
|
+
message,
|
|
213728
|
+
class: "usage_limit",
|
|
213729
|
+
...detail
|
|
213730
|
+
}
|
|
213731
|
+
}];
|
|
213732
|
+
if (classifyRetryableProviderFailure(message)?.kind === "terminal") return [{
|
|
213733
|
+
type: "runtime.error",
|
|
213734
|
+
...runtimeEventBase(event, canonicalThreadId),
|
|
213735
|
+
payload: {
|
|
213736
|
+
message,
|
|
213737
|
+
class: "usage_limit",
|
|
213738
|
+
...detail
|
|
213739
|
+
}
|
|
213740
|
+
}];
|
|
213715
213741
|
return [{
|
|
213716
213742
|
type: willRetry ? "runtime.warning" : "runtime.error",
|
|
213717
213743
|
...runtimeEventBase(event, canonicalThreadId),
|
|
213718
213744
|
payload: {
|
|
213719
213745
|
message,
|
|
213720
213746
|
...!willRetry ? { class: "provider_error" } : {},
|
|
213721
|
-
...
|
|
213747
|
+
...detail
|
|
213722
213748
|
}
|
|
213723
213749
|
}];
|
|
213724
213750
|
}
|
|
@@ -271035,7 +271061,7 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
|
|
|
271035
271061
|
var dgram = __require("dgram");
|
|
271036
271062
|
var thunky = require_thunky();
|
|
271037
271063
|
var events = __require("events");
|
|
271038
|
-
var os
|
|
271064
|
+
var os = __require("os");
|
|
271039
271065
|
var noop = function() {};
|
|
271040
271066
|
module.exports = function(opts) {
|
|
271041
271067
|
if (!opts) opts = {};
|
|
@@ -271166,14 +271192,14 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
|
|
|
271166
271192
|
return that;
|
|
271167
271193
|
};
|
|
271168
271194
|
function defaultInterface() {
|
|
271169
|
-
var networks = os
|
|
271195
|
+
var networks = os.networkInterfaces();
|
|
271170
271196
|
var names = Object.keys(networks);
|
|
271171
271197
|
for (var i = 0; i < names.length; i++) {
|
|
271172
271198
|
var net = networks[names[i]];
|
|
271173
271199
|
for (var j = 0; j < net.length; j++) {
|
|
271174
271200
|
var iface = net[j];
|
|
271175
271201
|
if (isIPv4(iface.family) && !iface.internal) {
|
|
271176
|
-
if (os
|
|
271202
|
+
if (os.platform() === "darwin" && names[i] === "en0") return iface.address;
|
|
271177
271203
|
return "0.0.0.0";
|
|
271178
271204
|
}
|
|
271179
271205
|
}
|
|
@@ -271181,7 +271207,7 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
|
|
|
271181
271207
|
return "127.0.0.1";
|
|
271182
271208
|
}
|
|
271183
271209
|
function allInterfaces() {
|
|
271184
|
-
var networks = os
|
|
271210
|
+
var networks = os.networkInterfaces();
|
|
271185
271211
|
var names = Object.keys(networks);
|
|
271186
271212
|
var res = [];
|
|
271187
271213
|
for (var i = 0; i < names.length; i++) {
|
|
@@ -290924,7 +290950,10 @@ function runtimeStatusEventToActivities(event) {
|
|
|
290924
290950
|
tone: "error",
|
|
290925
290951
|
kind: "runtime.error",
|
|
290926
290952
|
summary: "Runtime error",
|
|
290927
|
-
payload: {
|
|
290953
|
+
payload: {
|
|
290954
|
+
message: truncateDetail(event.payload.message),
|
|
290955
|
+
...event.payload.class !== void 0 ? { class: event.payload.class } : {}
|
|
290956
|
+
}
|
|
290928
290957
|
}];
|
|
290929
290958
|
case "codeweb.workspace.required": return [{
|
|
290930
290959
|
...activityBase(event),
|
|
@@ -292330,6 +292359,31 @@ const ProviderRuntimeIngestionLive = effect(ProviderRuntimeIngestionService, fn$
|
|
|
292330
292359
|
},
|
|
292331
292360
|
createdAt: event.createdAt
|
|
292332
292361
|
});
|
|
292362
|
+
if (activeTurnId !== null && eventTurnId !== void 0 && sameId$1(activeTurnId, eventTurnId)) {
|
|
292363
|
+
const activityId = turnTerminalStatusActivityId(eventTurnId);
|
|
292364
|
+
if (!thread.activities.some((a) => a.id === activityId)) {
|
|
292365
|
+
const recordedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
292366
|
+
yield* orchestrationEngine.dispatch({
|
|
292367
|
+
type: "thread.activity.append",
|
|
292368
|
+
commandId: providerCommandId(event, "mid-turn-terminal-status"),
|
|
292369
|
+
threadId: thread.id,
|
|
292370
|
+
activity: {
|
|
292371
|
+
id: EventId.make(activityId),
|
|
292372
|
+
tone: "error",
|
|
292373
|
+
kind: TURN_TERMINAL_STATUS_ACTIVITY_KIND,
|
|
292374
|
+
summary: "Turn failed",
|
|
292375
|
+
payload: {
|
|
292376
|
+
outcome: "failed",
|
|
292377
|
+
errorMessage: publicProviderRuntimeError(event.payload.message) ?? "CMMD is temporarily unavailable. Check the workspace AI connection and retry.",
|
|
292378
|
+
...event.payload.class ? { errorClass: event.payload.class } : {}
|
|
292379
|
+
},
|
|
292380
|
+
turnId: eventTurnId,
|
|
292381
|
+
createdAt: recordedAt
|
|
292382
|
+
},
|
|
292383
|
+
createdAt: recordedAt
|
|
292384
|
+
});
|
|
292385
|
+
}
|
|
292386
|
+
}
|
|
292333
292387
|
});
|
|
292334
292388
|
const handleThreadMetadata = fn$1("handleThreadMetadata")(function* (event, thread) {
|
|
292335
292389
|
if (event.type !== "thread.metadata.updated" || !event.payload.name) return;
|
|
@@ -299788,7 +299842,7 @@ function resolveBuildCommitFromEnv(env) {
|
|
|
299788
299842
|
* environment descriptor down instead of reporting an honest "unknown".
|
|
299789
299843
|
*/
|
|
299790
299844
|
function readBakedBuildCommit() {
|
|
299791
|
-
return "
|
|
299845
|
+
return "037bb9952083dd6c284e0ed8ab8af478c1756914";
|
|
299792
299846
|
}
|
|
299793
299847
|
async function resolveServerBuildCommit(input) {
|
|
299794
299848
|
if (isFullCommitSha(input.baked)) return input.baked;
|
|
@@ -324810,7 +324864,7 @@ const connectLoginCommand = make$33("login", {
|
|
|
324810
324864
|
})).json();
|
|
324811
324865
|
},
|
|
324812
324866
|
openBrowser: async (url) => {
|
|
324813
|
-
const open = (await import("./open-
|
|
324867
|
+
const open = (await import("./open-2-reBrpv.mjs")).default;
|
|
324814
324868
|
await open(url);
|
|
324815
324869
|
return true;
|
|
324816
324870
|
},
|