openfox 2.0.136 → 2.0.137
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/CHANGELOG.md +6 -0
- package/dist/CHANGELOG.md +6 -0
- package/dist/{chat-handler-SYU4HJMI.js → chat-handler-ZCPFNHTE.js} +9 -9
- package/dist/{chunk-342BKOTE.js → chunk-2OO46UAW.js} +2 -2
- package/dist/{chunk-YDPC4FLR.js → chunk-6TQNTFJW.js} +4 -4
- package/dist/chunk-FG4G4EWB.js +7 -0
- package/dist/{chunk-5YPHN5NC.js → chunk-FIQPKLDY.js} +3 -3
- package/dist/{chunk-UL7776XB.js → chunk-JIS6C6PA.js} +7 -7
- package/dist/{chunk-CPVEONNS.js → chunk-LQPAM55V.js} +4 -4
- package/dist/{chunk-XGG4XCKP.js → chunk-MMGHIPBU.js} +71 -53
- package/dist/{chunk-QQQBNL7A.js → chunk-RS7I4W5A.js} +49 -49
- package/dist/{chunk-VA2TYWQR.js → chunk-U7XCK7WL.js} +2 -2
- package/dist/{chunk-MILEZY2J.js → chunk-WOIQO7ZC.js} +3 -3
- package/dist/{chunk-U6FHHT2B.js → chunk-WQUCCHOY.js} +3 -3
- package/dist/{chunk-PQKLOLGC.js → chunk-XWWRZSK7.js} +2 -2
- package/dist/{chunk-GP5BYQMF.js → chunk-ZJ2IHOVN.js} +11 -11
- package/dist/{chunk-EXLCFEML.js → chunk-ZQENKB7X.js} +9 -9
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{compactor-LBK53WAK.js → compactor-KDTY4ERE.js} +4 -4
- package/dist/{describe-image-4XDLSKAB.js → describe-image-EFHMWGWI.js} +5 -5
- package/dist/{dynamic-context-RDBNQPPA.js → dynamic-context-HL4RGNHK.js} +4 -4
- package/dist/{events-YTYYT3PR.js → events-ADE2KEHI.js} +4 -6
- package/dist/{export-import-GHRCOQHF.js → export-import-6OUEANYH.js} +4 -4
- package/dist/{folding-3MMOPS4W.js → folding-CM63AVSB.js} +4 -4
- package/dist/{launch-YZ46OEFP.js → launch-L5NSPAAX.js} +9 -9
- package/dist/{orchestrator-6QGQ55NT.js → orchestrator-FMWKMD54.js} +8 -8
- package/dist/package.json +1 -1
- package/dist/{path-security-EC4Z2ZZG.js → path-security-DND2R3RP.js} +4 -4
- package/dist/{processor-B2RV7MVC.js → processor-SB5X44PX.js} +8 -8
- package/dist/{serve-EWA5HXC7.js → serve-VONTGJCK.js} +14 -14
- package/dist/server/index.js +13 -13
- package/dist/{server-ZAPAB3FS.js → server-MI2LZK3W.js} +12 -12
- package/dist/{tools-EJOABHVO.js → tools-WLJJ3ILO.js} +6 -6
- package/dist/{update-IPHJMRQZ.js → update-6ZSQJQJB.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-VWBPQZLO.js +0 -7
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
terminalManager,
|
|
10
10
|
tokenFromPassword,
|
|
11
11
|
verifyPassword
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ZJ2IHOVN.js";
|
|
13
13
|
import {
|
|
14
14
|
projectSessionStatus
|
|
15
15
|
} from "./chunk-T3S5MTMD.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./chunk-IJ53Y77N.js";
|
|
28
28
|
import {
|
|
29
29
|
TEMPLATE_VARIABLES
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-LQPAM55V.js";
|
|
31
31
|
import {
|
|
32
32
|
createToolRegistry,
|
|
33
33
|
devServerManager,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
setMcpManagerForTools,
|
|
43
43
|
setMcpTools,
|
|
44
44
|
setNotifyMcpServersChanged
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-ZQENKB7X.js";
|
|
46
46
|
import {
|
|
47
47
|
deleteOwnedSkill,
|
|
48
48
|
deleteProjectSkill,
|
|
@@ -133,7 +133,7 @@ import {
|
|
|
133
133
|
import {
|
|
134
134
|
getPendingConfirmationsBySession,
|
|
135
135
|
providePathConfirmation
|
|
136
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-XWWRZSK7.js";
|
|
137
137
|
import {
|
|
138
138
|
combineEventsWithSnapshot,
|
|
139
139
|
emitAssistantMessageStart,
|
|
@@ -151,10 +151,10 @@ import {
|
|
|
151
151
|
getEventStore,
|
|
152
152
|
getSessionState,
|
|
153
153
|
initEventStore
|
|
154
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-2OO46UAW.js";
|
|
155
155
|
import {
|
|
156
156
|
buildMessagesFromStoredEvents
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-MMGHIPBU.js";
|
|
158
158
|
import {
|
|
159
159
|
clearWorkflowExecution,
|
|
160
160
|
createSession,
|
|
@@ -222,7 +222,7 @@ import {
|
|
|
222
222
|
} from "./chunk-YNMP647F.js";
|
|
223
223
|
import {
|
|
224
224
|
VERSION
|
|
225
|
-
} from "./chunk-
|
|
225
|
+
} from "./chunk-FG4G4EWB.js";
|
|
226
226
|
import {
|
|
227
227
|
deleteProject,
|
|
228
228
|
getProject,
|
|
@@ -3132,8 +3132,8 @@ var SessionManager = class {
|
|
|
3132
3132
|
* @throws Error for invalid payloads or unknown project
|
|
3133
3133
|
*/
|
|
3134
3134
|
async importSession(projectId, rawPayload) {
|
|
3135
|
-
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-
|
|
3136
|
-
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-
|
|
3135
|
+
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-6OUEANYH.js");
|
|
3136
|
+
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-HL4RGNHK.js");
|
|
3137
3137
|
const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-FMDMGIUB.js");
|
|
3138
3138
|
const payload = parseSessionExport(rawPayload);
|
|
3139
3139
|
if (payload.version !== SESSION_EXPORT_VERSION) {
|
|
@@ -7103,7 +7103,7 @@ function detectWsl() {
|
|
|
7103
7103
|
// src/server/index.ts
|
|
7104
7104
|
var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
|
|
7105
7105
|
async function announceContextDrift(sessionManager, sessionIds) {
|
|
7106
|
-
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-
|
|
7106
|
+
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-HL4RGNHK.js");
|
|
7107
7107
|
await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
|
|
7108
7108
|
}
|
|
7109
7109
|
async function createServerHandle(config3) {
|
|
@@ -7218,7 +7218,7 @@ async function createServerHandle(config3) {
|
|
|
7218
7218
|
toolRegistry = createToolRegistry();
|
|
7219
7219
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
7220
7220
|
}
|
|
7221
|
-
const { signalMcpReady } = await import("./server-
|
|
7221
|
+
const { signalMcpReady } = await import("./server-MI2LZK3W.js");
|
|
7222
7222
|
signalMcpReady();
|
|
7223
7223
|
});
|
|
7224
7224
|
const app = express();
|
|
@@ -7435,7 +7435,7 @@ async function createServerHandle(config3) {
|
|
|
7435
7435
|
app.use("/api", sessionFavoriteRouter);
|
|
7436
7436
|
const { createTasksService } = await import("./service-NKLQH647.js");
|
|
7437
7437
|
const { registerTaskRoutes } = await import("./tasks-GPM3JAE6.js");
|
|
7438
|
-
const { setTasksService } = await import("./tools-
|
|
7438
|
+
const { setTasksService } = await import("./tools-WLJJ3ILO.js");
|
|
7439
7439
|
const tasksService = createTasksService({
|
|
7440
7440
|
sessionManager,
|
|
7441
7441
|
config: config3,
|
|
@@ -7633,8 +7633,8 @@ All file and git operations should use this branch.
|
|
|
7633
7633
|
res.json({ workspaces: workspacesList });
|
|
7634
7634
|
});
|
|
7635
7635
|
app.get("/api/sessions", async (req, res) => {
|
|
7636
|
-
const { getRecentUserPromptsForSession } = await import("./events-
|
|
7637
|
-
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-
|
|
7636
|
+
const { getRecentUserPromptsForSession } = await import("./events-ADE2KEHI.js");
|
|
7637
|
+
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-DND2R3RP.js");
|
|
7638
7638
|
const projectId = req.query["projectId"];
|
|
7639
7639
|
const rawLimit = req.query["limit"];
|
|
7640
7640
|
const offset = parseInt(req.query["offset"]) || 0;
|
|
@@ -7752,9 +7752,9 @@ All file and git operations should use this branch.
|
|
|
7752
7752
|
}
|
|
7753
7753
|
});
|
|
7754
7754
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
7755
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-
|
|
7756
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-
|
|
7757
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7755
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ADE2KEHI.js");
|
|
7756
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-CM63AVSB.js");
|
|
7757
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-WLJJ3ILO.js");
|
|
7758
7758
|
const { getMaxVisibleItems } = await import("./settings-WH6BVQCP.js");
|
|
7759
7759
|
const session = sessionManager.getSession(req.params.id);
|
|
7760
7760
|
if (!session) {
|
|
@@ -7783,9 +7783,9 @@ All file and git operations should use this branch.
|
|
|
7783
7783
|
});
|
|
7784
7784
|
app.get("/api/sessions/:id/status", async (req, res) => {
|
|
7785
7785
|
const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
|
|
7786
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7787
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-
|
|
7788
|
-
const { foldPendingConfirmations } = await import("./folding-
|
|
7786
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-WLJJ3ILO.js");
|
|
7787
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ADE2KEHI.js");
|
|
7788
|
+
const { foldPendingConfirmations } = await import("./folding-CM63AVSB.js");
|
|
7789
7789
|
const sessionId = req.params["id"];
|
|
7790
7790
|
if (!sessionId) {
|
|
7791
7791
|
return res.status(400).json({ error: "Session id is required" });
|
|
@@ -7815,8 +7815,8 @@ All file and git operations should use this branch.
|
|
|
7815
7815
|
if (!session) {
|
|
7816
7816
|
return res.status(404).json({ error: "Session not found" });
|
|
7817
7817
|
}
|
|
7818
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7819
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7818
|
+
const { stopSessionExecution } = await import("./chat-handler-ZCPFNHTE.js");
|
|
7819
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-WLJJ3ILO.js");
|
|
7820
7820
|
sessionManager.clearMessageQueue(sessionId);
|
|
7821
7821
|
stopSessionExecution(sessionId, sessionManager);
|
|
7822
7822
|
abortSession(sessionId);
|
|
@@ -7845,8 +7845,8 @@ All file and git operations should use this branch.
|
|
|
7845
7845
|
res.json({ success: true });
|
|
7846
7846
|
});
|
|
7847
7847
|
app.post("/api/sessions/:id/provider", async (req, res) => {
|
|
7848
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
7849
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
7848
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ADE2KEHI.js");
|
|
7849
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-CM63AVSB.js");
|
|
7850
7850
|
const { getMaxVisibleItems } = await import("./settings-WH6BVQCP.js");
|
|
7851
7851
|
const sessionId = req.params.id;
|
|
7852
7852
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -7876,8 +7876,8 @@ All file and git operations should use this branch.
|
|
|
7876
7876
|
res.json({ session: toClientSession(updatedSession), messages, hiddenCount, contextState });
|
|
7877
7877
|
});
|
|
7878
7878
|
app.delete("/api/sessions/:id/provider", async (req, res) => {
|
|
7879
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
7880
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
7879
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ADE2KEHI.js");
|
|
7880
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-CM63AVSB.js");
|
|
7881
7881
|
const { getMaxVisibleItems } = await import("./settings-WH6BVQCP.js");
|
|
7882
7882
|
const sessionId = req.params.id;
|
|
7883
7883
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -8010,8 +8010,8 @@ All file and git operations should use this branch.
|
|
|
8010
8010
|
res.json({ success: true });
|
|
8011
8011
|
});
|
|
8012
8012
|
app.put("/api/sessions/:id/mode", async (req, res) => {
|
|
8013
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
8014
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
8013
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ADE2KEHI.js");
|
|
8014
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-CM63AVSB.js");
|
|
8015
8015
|
const { getMaxVisibleItems } = await import("./settings-WH6BVQCP.js");
|
|
8016
8016
|
const sessionId = req.params.id;
|
|
8017
8017
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -8072,7 +8072,7 @@ All file and git operations should use this branch.
|
|
|
8072
8072
|
setSessionDisabledServers(sessionId, disabledServers);
|
|
8073
8073
|
const messages = session.messages ?? [];
|
|
8074
8074
|
if (messages.length === 0) {
|
|
8075
|
-
const { applyDynamicContext } = await import("./dynamic-context-
|
|
8075
|
+
const { applyDynamicContext } = await import("./dynamic-context-HL4RGNHK.js");
|
|
8076
8076
|
const modelName = session.providerModel ?? providerManager.getCurrentModel();
|
|
8077
8077
|
await applyDynamicContext(sessionManager, sessionId, modelName);
|
|
8078
8078
|
} else {
|
|
@@ -8106,7 +8106,7 @@ All file and git operations should use this branch.
|
|
|
8106
8106
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
8107
8107
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
8108
8108
|
}
|
|
8109
|
-
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-
|
|
8109
|
+
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-WLJJ3ILO.js");
|
|
8110
8110
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
8111
8111
|
if (!pendingSessionId) {
|
|
8112
8112
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -8118,10 +8118,10 @@ All file and git operations should use this branch.
|
|
|
8118
8118
|
if (!result.found) {
|
|
8119
8119
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
8120
8120
|
}
|
|
8121
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-
|
|
8122
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-
|
|
8121
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-ADE2KEHI.js");
|
|
8122
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-CM63AVSB.js");
|
|
8123
8123
|
const { createSessionStateMessage } = await import("./protocol-XO4ZROAU.js");
|
|
8124
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
8124
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-WLJJ3ILO.js");
|
|
8125
8125
|
const { getMaxVisibleItems } = await import("./settings-WH6BVQCP.js");
|
|
8126
8126
|
const eventStore = getEventStore2();
|
|
8127
8127
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
@@ -8159,7 +8159,7 @@ All file and git operations should use this branch.
|
|
|
8159
8159
|
if (!skip && typeof answer !== "string") {
|
|
8160
8160
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
8161
8161
|
}
|
|
8162
|
-
const { provideAnswer: provideAnswer2 } = await import("./tools-
|
|
8162
|
+
const { provideAnswer: provideAnswer2 } = await import("./tools-WLJJ3ILO.js");
|
|
8163
8163
|
const found = provideAnswer2(callId, answer ?? "", skip ?? false);
|
|
8164
8164
|
if (!found) {
|
|
8165
8165
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -8225,7 +8225,7 @@ All file and git operations should use this branch.
|
|
|
8225
8225
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
8226
8226
|
model: llmClient.getModel()
|
|
8227
8227
|
};
|
|
8228
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
8228
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-FMWKMD54.js");
|
|
8229
8229
|
runAgentTurn(
|
|
8230
8230
|
{
|
|
8231
8231
|
sessionManager,
|
|
@@ -8263,15 +8263,15 @@ All file and git operations should use this branch.
|
|
|
8263
8263
|
if (!session) {
|
|
8264
8264
|
return res.status(404).json({ error: "Session not found" });
|
|
8265
8265
|
}
|
|
8266
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
8267
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
8266
|
+
const { stopSessionExecution } = await import("./chat-handler-ZCPFNHTE.js");
|
|
8267
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-WLJJ3ILO.js");
|
|
8268
8268
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
8269
8269
|
sessionManager.clearMessageQueue(sessionId);
|
|
8270
8270
|
stopSessionExecution(sessionId, sessionManager);
|
|
8271
8271
|
abortSession(sessionId);
|
|
8272
8272
|
cancelQuestionsForSession(sessionId, "Session stopped by user");
|
|
8273
8273
|
cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
|
|
8274
|
-
const eventStore = (await import("./events-
|
|
8274
|
+
const eventStore = (await import("./events-ADE2KEHI.js")).getEventStore();
|
|
8275
8275
|
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
8276
8276
|
res.json({ success: true, queuedMessages });
|
|
8277
8277
|
});
|
|
@@ -8285,7 +8285,7 @@ All file and git operations should use this branch.
|
|
|
8285
8285
|
if (typeof messageIndex !== "number" || messageIndex < 0) {
|
|
8286
8286
|
return res.status(400).json({ error: "messageIndex must be a non-negative number" });
|
|
8287
8287
|
}
|
|
8288
|
-
const { truncateSessionMessages } = await import("./events-
|
|
8288
|
+
const { truncateSessionMessages } = await import("./events-ADE2KEHI.js");
|
|
8289
8289
|
truncateSessionMessages(sessionId, messageIndex);
|
|
8290
8290
|
res.json({ success: true });
|
|
8291
8291
|
});
|
|
@@ -8305,8 +8305,8 @@ All file and git operations should use this branch.
|
|
|
8305
8305
|
if (attachments !== void 0 && !Array.isArray(attachments)) {
|
|
8306
8306
|
return res.status(400).json({ error: "attachments must be an array if provided" });
|
|
8307
8307
|
}
|
|
8308
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
8309
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
8308
|
+
const { getEventStore: getEventStore2 } = await import("./events-ADE2KEHI.js");
|
|
8309
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-CM63AVSB.js");
|
|
8310
8310
|
const eventStore = getEventStore2();
|
|
8311
8311
|
const events = eventStore.getEvents(sessionId);
|
|
8312
8312
|
const { messages } = buildMessagesFromStoredEvents2(events);
|
|
@@ -8318,7 +8318,7 @@ All file and git operations should use this branch.
|
|
|
8318
8318
|
if (msg.role !== "user" || msg.isSystemGenerated) {
|
|
8319
8319
|
return res.status(400).json({ error: "Can only replay user messages" });
|
|
8320
8320
|
}
|
|
8321
|
-
const { truncateSessionMessages } = await import("./events-
|
|
8321
|
+
const { truncateSessionMessages } = await import("./events-ADE2KEHI.js");
|
|
8322
8322
|
truncateSessionMessages(sessionId, msgIndex - 1);
|
|
8323
8323
|
sessionManager.queueMessage(
|
|
8324
8324
|
sessionId,
|
|
@@ -8360,7 +8360,7 @@ All file and git operations should use this branch.
|
|
|
8360
8360
|
return res.status(404).json({ error: "Session not found" });
|
|
8361
8361
|
}
|
|
8362
8362
|
try {
|
|
8363
|
-
const { buildSessionExport } = await import("./export-import-
|
|
8363
|
+
const { buildSessionExport } = await import("./export-import-6OUEANYH.js");
|
|
8364
8364
|
const payload = buildSessionExport(sessionManager, sessionId);
|
|
8365
8365
|
const filename = `${(payload.session.title ?? "session").replace(/[^a-zA-Z0-9-_]/g, "_")}.openfox-session.json`;
|
|
8366
8366
|
res.setHeader("Content-Disposition", `attachment; filename="${filename}"`);
|
|
@@ -9183,7 +9183,7 @@ All file and git operations should use this branch.
|
|
|
9183
9183
|
});
|
|
9184
9184
|
async function rebuildMcpTools() {
|
|
9185
9185
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-ZY4FC4C4.js");
|
|
9186
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
9186
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-WLJJ3ILO.js");
|
|
9187
9187
|
const mcpTools = createMcpTools2(mcpManager);
|
|
9188
9188
|
setMcpTools2(mcpTools);
|
|
9189
9189
|
toolRegistry = createToolRegistry();
|
|
@@ -9759,7 +9759,7 @@ All file and git operations should use this branch.
|
|
|
9759
9759
|
);
|
|
9760
9760
|
const wss = wssExports.wss;
|
|
9761
9761
|
deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
|
|
9762
|
-
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-
|
|
9762
|
+
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-L5NSPAAX.js");
|
|
9763
9763
|
deferTasksLaunchWorkflow = (sessionId, launch) => {
|
|
9764
9764
|
const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
|
|
9765
9765
|
let llmClient = getLLMClient();
|
|
@@ -9804,7 +9804,7 @@ All file and git operations should use this branch.
|
|
|
9804
9804
|
const state = sessionManager.getContextState(sessionId);
|
|
9805
9805
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
9806
9806
|
});
|
|
9807
|
-
const { QueueProcessor } = await import("./processor-
|
|
9807
|
+
const { QueueProcessor } = await import("./processor-SB5X44PX.js");
|
|
9808
9808
|
const queueProcessor = new QueueProcessor({
|
|
9809
9809
|
sessionManager,
|
|
9810
9810
|
providerManager,
|
|
@@ -9846,8 +9846,8 @@ All file and git operations should use this branch.
|
|
|
9846
9846
|
launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
|
|
9847
9847
|
stopSession: (sessionId) => {
|
|
9848
9848
|
void (async () => {
|
|
9849
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
9850
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
9849
|
+
const { stopSessionExecution } = await import("./chat-handler-ZCPFNHTE.js");
|
|
9850
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-WLJJ3ILO.js");
|
|
9851
9851
|
sessionManager.clearMessageQueue(sessionId);
|
|
9852
9852
|
stopSessionExecution(sessionId, sessionManager);
|
|
9853
9853
|
abortSession(sessionId);
|
|
@@ -9968,4 +9968,4 @@ export {
|
|
|
9968
9968
|
createServerHandle,
|
|
9969
9969
|
createServer
|
|
9970
9970
|
};
|
|
9971
|
-
//# sourceMappingURL=chunk-
|
|
9971
|
+
//# sourceMappingURL=chunk-RS7I4W5A.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-4LLGI372.js";
|
|
7
7
|
import {
|
|
8
8
|
getCurrentWindowMessageOptions
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2OO46UAW.js";
|
|
10
10
|
|
|
11
11
|
// src/server/context/compactor.ts
|
|
12
12
|
function appendCompactionPrompt(sessionId, append) {
|
|
@@ -36,4 +36,4 @@ export {
|
|
|
36
36
|
COMPACTION_MAX_RATIO,
|
|
37
37
|
shouldCompact
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-U7XCK7WL.js.map
|
|
@@ -252,7 +252,7 @@ async function runCli(options) {
|
|
|
252
252
|
break;
|
|
253
253
|
}
|
|
254
254
|
case "update": {
|
|
255
|
-
const { runUpdate } = await import("./update-
|
|
255
|
+
const { runUpdate } = await import("./update-6ZSQJQJB.js");
|
|
256
256
|
const code = await runUpdate();
|
|
257
257
|
if (code !== 0) {
|
|
258
258
|
process.exit(code);
|
|
@@ -265,7 +265,7 @@ async function runCli(options) {
|
|
|
265
265
|
if (!configExists) {
|
|
266
266
|
await runNetworkSetup(mode);
|
|
267
267
|
}
|
|
268
|
-
const { runServe } = await import("./serve-
|
|
268
|
+
const { runServe } = await import("./serve-VONTGJCK.js");
|
|
269
269
|
const serveOptions = { mode };
|
|
270
270
|
if (values.port) serveOptions.port = parseInt(values.port);
|
|
271
271
|
if (values["no-browser"] === true) serveOptions.openBrowser = false;
|
|
@@ -277,4 +277,4 @@ async function runCli(options) {
|
|
|
277
277
|
export {
|
|
278
278
|
runCli
|
|
279
279
|
};
|
|
280
|
-
//# sourceMappingURL=chunk-
|
|
280
|
+
//# sourceMappingURL=chunk-WOIQO7ZC.js.map
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
PathAccessDeniedError,
|
|
9
9
|
registerPathConfirmation,
|
|
10
10
|
requestPathAccess
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XWWRZSK7.js";
|
|
12
12
|
import {
|
|
13
13
|
getEventStore
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2OO46UAW.js";
|
|
15
15
|
import {
|
|
16
16
|
getRuntimeConfig
|
|
17
17
|
} from "./chunk-BHVR2YS5.js";
|
|
@@ -1152,4 +1152,4 @@ export {
|
|
|
1152
1152
|
isDescribeImageEligible,
|
|
1153
1153
|
describeImageTool
|
|
1154
1154
|
};
|
|
1155
|
-
//# sourceMappingURL=chunk-
|
|
1155
|
+
//# sourceMappingURL=chunk-WQUCCHOY.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getEventStore
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2OO46UAW.js";
|
|
4
4
|
import {
|
|
5
5
|
createChatPathConfirmationMessage
|
|
6
6
|
} from "./chunk-AATMPL7S.js";
|
|
@@ -938,4 +938,4 @@ export {
|
|
|
938
938
|
getConfirmationSessionId,
|
|
939
939
|
getPendingConfirmationsBySession
|
|
940
940
|
};
|
|
941
|
-
//# sourceMappingURL=chunk-
|
|
941
|
+
//# sourceMappingURL=chunk-XWWRZSK7.js.map
|
|
@@ -2,21 +2,21 @@ import {
|
|
|
2
2
|
generateSessionNameForSession,
|
|
3
3
|
getSessionMessageCount,
|
|
4
4
|
needsNameGeneration
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FIQPKLDY.js";
|
|
6
6
|
import {
|
|
7
7
|
launchWorkflowRun
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LQPAM55V.js";
|
|
9
9
|
import {
|
|
10
10
|
runChatTurn
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JIS6C6PA.js";
|
|
12
12
|
import {
|
|
13
13
|
applyDynamicContext,
|
|
14
14
|
computeSessionHash,
|
|
15
15
|
computeUnifiedDiff
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-6TQNTFJW.js";
|
|
17
17
|
import {
|
|
18
18
|
devServerManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZQENKB7X.js";
|
|
20
20
|
import {
|
|
21
21
|
gitSpawnEnv
|
|
22
22
|
} from "./chunk-J7GAZGZT.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "./chunk-4SBVW4UH.js";
|
|
26
26
|
import {
|
|
27
27
|
appendCompactionPrompt
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-U7XCK7WL.js";
|
|
29
29
|
import {
|
|
30
30
|
hasRecentLLMFailure,
|
|
31
31
|
interruptLLMRetryWait
|
|
@@ -43,11 +43,11 @@ import {
|
|
|
43
43
|
import {
|
|
44
44
|
combineEventsWithSnapshot,
|
|
45
45
|
getEventStore
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-2OO46UAW.js";
|
|
47
47
|
import {
|
|
48
48
|
buildMessagesFromStoredEvents,
|
|
49
49
|
foldPendingConfirmations
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-MMGHIPBU.js";
|
|
51
51
|
import {
|
|
52
52
|
getRuntimeConfig
|
|
53
53
|
} from "./chunk-BHVR2YS5.js";
|
|
@@ -1344,7 +1344,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
1344
1344
|
}
|
|
1345
1345
|
const session = sessionManager.requireSession(sessionId);
|
|
1346
1346
|
try {
|
|
1347
|
-
const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-
|
|
1347
|
+
const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-HL4RGNHK.js");
|
|
1348
1348
|
const allAgents = await import("./registry-FMDMGIUB.js");
|
|
1349
1349
|
const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
|
|
1350
1350
|
const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
|
|
@@ -1356,7 +1356,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
1356
1356
|
const oldCached = sessionManager.getCachedPrompt(sessionId);
|
|
1357
1357
|
const oldPrompt = oldCached?.systemPrompt;
|
|
1358
1358
|
const diff = oldPrompt ? computeUnifiedDiff(oldPrompt, newPrompt) : [];
|
|
1359
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
1359
|
+
const { getToolRegistryForAgent } = await import("./tools-WLJJ3ILO.js");
|
|
1360
1360
|
const unfilteredTools = getToolRegistryForAgent(agentDef).definitions;
|
|
1361
1361
|
const toolDiff = computePreviewToolDiff(oldCached?.tools, unfilteredTools, newTools);
|
|
1362
1362
|
send({
|
|
@@ -1729,4 +1729,4 @@ export {
|
|
|
1729
1729
|
signalMcpReady,
|
|
1730
1730
|
createWebSocketServer
|
|
1731
1731
|
};
|
|
1732
|
-
//# sourceMappingURL=chunk-
|
|
1732
|
+
//# sourceMappingURL=chunk-ZJ2IHOVN.js.map
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
requireSession,
|
|
34
34
|
validateActionWithPermission,
|
|
35
35
|
validateFileForWrite
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-WQUCCHOY.js";
|
|
37
37
|
import {
|
|
38
38
|
serverT
|
|
39
39
|
} from "./chunk-4SBVW4UH.js";
|
|
@@ -93,12 +93,12 @@ import {
|
|
|
93
93
|
extractAbsolutePathsFromCommand,
|
|
94
94
|
extractSensitivePathsFromCommand,
|
|
95
95
|
resolveRelativeTraversals
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-XWWRZSK7.js";
|
|
97
97
|
import {
|
|
98
98
|
getCurrentContextWindowId,
|
|
99
99
|
getCurrentWindowMessageOptions,
|
|
100
100
|
getEventStore
|
|
101
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-2OO46UAW.js";
|
|
102
102
|
import {
|
|
103
103
|
buildContextMessagesFromEventHistory,
|
|
104
104
|
foldContextState,
|
|
@@ -108,7 +108,7 @@ import {
|
|
|
108
108
|
handleToolResult,
|
|
109
109
|
reorderToolMessages,
|
|
110
110
|
stripOrphanedToolCalls
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-MMGHIPBU.js";
|
|
112
112
|
import {
|
|
113
113
|
findAgentById,
|
|
114
114
|
getRuntimeConfig,
|
|
@@ -1725,7 +1725,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
1725
1725
|
currentMaxTokensOverride = void 0;
|
|
1726
1726
|
if (!compacting) {
|
|
1727
1727
|
const contextState = sessionManager.getContextState(sessionId);
|
|
1728
|
-
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-
|
|
1728
|
+
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-KDTY4ERE.js");
|
|
1729
1729
|
if (shouldCompact(
|
|
1730
1730
|
contextState.currentTokens,
|
|
1731
1731
|
contextState.maxTokens,
|
|
@@ -2441,7 +2441,7 @@ var callSubAgentTool = {
|
|
|
2441
2441
|
};
|
|
2442
2442
|
}
|
|
2443
2443
|
try {
|
|
2444
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
2444
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-WLJJ3ILO.js");
|
|
2445
2445
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
2446
2446
|
const turnMetrics = new TurnMetrics();
|
|
2447
2447
|
const result = await executeSubAgent({
|
|
@@ -3545,11 +3545,11 @@ var mcpConfigTool = createTool(
|
|
|
3545
3545
|
async function notifyContextChanged(sessionId) {
|
|
3546
3546
|
context.sessionManager.setDynamicContextChanged(sessionId, true);
|
|
3547
3547
|
mcpNotifyChanged?.(sessionId);
|
|
3548
|
-
const { injectContextDriftReminders } = await import("./dynamic-context-
|
|
3548
|
+
const { injectContextDriftReminders } = await import("./dynamic-context-HL4RGNHK.js");
|
|
3549
3549
|
await injectContextDriftReminders(context.sessionManager, sessionId);
|
|
3550
3550
|
}
|
|
3551
3551
|
async function rebuildTools() {
|
|
3552
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
3552
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-WLJJ3ILO.js");
|
|
3553
3553
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
3554
3554
|
setMcpTools2(mcpTools);
|
|
3555
3555
|
}
|
|
@@ -4691,4 +4691,4 @@ export {
|
|
|
4691
4691
|
getToolRegistryForAgent,
|
|
4692
4692
|
createToolRegistry
|
|
4693
4693
|
};
|
|
4694
|
-
//# sourceMappingURL=chunk-
|
|
4694
|
+
//# sourceMappingURL=chunk-ZQENKB7X.js.map
|
package/dist/cli/dev.js
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
COMPACTION_MAX_RATIO,
|
|
4
4
|
appendCompactionPrompt,
|
|
5
5
|
shouldCompact
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-U7XCK7WL.js";
|
|
7
7
|
import "./chunk-HEYU7FAY.js";
|
|
8
8
|
import "./chunk-4LLGI372.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-2OO46UAW.js";
|
|
10
|
+
import "./chunk-MMGHIPBU.js";
|
|
11
11
|
import "./chunk-X4PVR6AW.js";
|
|
12
12
|
import "./chunk-BHVR2YS5.js";
|
|
13
13
|
import "./chunk-OSXPQSLW.js";
|
|
@@ -31,4 +31,4 @@ export {
|
|
|
31
31
|
appendCompactionPrompt,
|
|
32
32
|
shouldCompact
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=compactor-
|
|
34
|
+
//# sourceMappingURL=compactor-KDTY4ERE.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
describeImageTool,
|
|
3
3
|
isDescribeImageEligible
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WQUCCHOY.js";
|
|
5
5
|
import "./chunk-4SBVW4UH.js";
|
|
6
6
|
import "./chunk-V5AC2TV7.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-XWWRZSK7.js";
|
|
8
|
+
import "./chunk-2OO46UAW.js";
|
|
9
|
+
import "./chunk-MMGHIPBU.js";
|
|
10
10
|
import "./chunk-X4PVR6AW.js";
|
|
11
11
|
import "./chunk-BHVR2YS5.js";
|
|
12
12
|
import "./chunk-OSXPQSLW.js";
|
|
@@ -27,4 +27,4 @@ export {
|
|
|
27
27
|
describeImageTool,
|
|
28
28
|
isDescribeImageEligible
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=describe-image-
|
|
30
|
+
//# sourceMappingURL=describe-image-EFHMWGWI.js.map
|
|
@@ -16,11 +16,11 @@ import {
|
|
|
16
16
|
injectContextDriftRemindersForSessions,
|
|
17
17
|
renderSystemPromptDiff,
|
|
18
18
|
renderToolChangeReminder
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-6TQNTFJW.js";
|
|
20
20
|
import "./chunk-Q33DL67W.js";
|
|
21
21
|
import "./chunk-4LLGI372.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2OO46UAW.js";
|
|
23
|
+
import "./chunk-MMGHIPBU.js";
|
|
24
24
|
import "./chunk-X4PVR6AW.js";
|
|
25
25
|
import "./chunk-BHVR2YS5.js";
|
|
26
26
|
import "./chunk-OSXPQSLW.js";
|
|
@@ -51,4 +51,4 @@ export {
|
|
|
51
51
|
renderSystemPromptDiff,
|
|
52
52
|
renderToolChangeReminder
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=dynamic-context-
|
|
54
|
+
//# sourceMappingURL=dynamic-context-HL4RGNHK.js.map
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
isStoredEvent,
|
|
41
41
|
isTurnEvent,
|
|
42
42
|
truncateSessionMessages
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-2OO46UAW.js";
|
|
44
44
|
import {
|
|
45
45
|
buildContextMessagesFromEventHistory,
|
|
46
46
|
buildContextMessagesFromMessages,
|
|
@@ -55,9 +55,8 @@ import {
|
|
|
55
55
|
foldPhase,
|
|
56
56
|
foldSessionState,
|
|
57
57
|
foldTodos,
|
|
58
|
-
foldTurnEventsToSnapshotMessages
|
|
59
|
-
|
|
60
|
-
} from "./chunk-XGG4XCKP.js";
|
|
58
|
+
foldTurnEventsToSnapshotMessages
|
|
59
|
+
} from "./chunk-MMGHIPBU.js";
|
|
61
60
|
import "./chunk-X4PVR6AW.js";
|
|
62
61
|
import "./chunk-BHVR2YS5.js";
|
|
63
62
|
import "./chunk-OSXPQSLW.js";
|
|
@@ -116,7 +115,6 @@ export {
|
|
|
116
115
|
getCurrentWindowMessageOptions,
|
|
117
116
|
getCurrentWindowMessages,
|
|
118
117
|
getEventStore,
|
|
119
|
-
getMessagesForWindow,
|
|
120
118
|
getReadFilesCache,
|
|
121
119
|
getRecentUserPromptsForSession,
|
|
122
120
|
getSessionState,
|
|
@@ -126,4 +124,4 @@ export {
|
|
|
126
124
|
isTurnEvent,
|
|
127
125
|
truncateSessionMessages
|
|
128
126
|
};
|
|
129
|
-
//# sourceMappingURL=events-
|
|
127
|
+
//# sourceMappingURL=events-ADE2KEHI.js.map
|