flockbay 0.10.22 → 0.10.24
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/{index-BjZUYSzh.mjs → index-JzArX4mS.mjs} +41 -6
- package/dist/{index-DQTqwzYd.cjs → index-ltPvhytE.cjs} +41 -7
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/lib.cjs +1 -1
- package/dist/lib.mjs +1 -1
- package/dist/{runCodex-CaWagdzG.cjs → runCodex-B8oJouHY.cjs} +2 -19
- package/dist/{runCodex-B7fGICdv.mjs → runCodex-OxMZG47u.mjs} +2 -19
- package/dist/{runGemini-CK43WQk8.mjs → runGemini-CKJGSs8A.mjs} +2 -2
- package/dist/{runGemini-8w5P093W.cjs → runGemini-D6Lfno7n.cjs} +2 -2
- package/dist/{types-CMWcip0F.mjs → types-B83OY7Tb.mjs} +7 -4
- package/dist/{types-Z2OYpI8c.cjs → types-C8y4Qsfc.cjs} +8 -5
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
|
|
2
2
|
import os, { homedir } from 'node:os';
|
|
3
3
|
import { randomUUID, createCipheriv, randomBytes } from 'node:crypto';
|
|
4
|
-
import { l as logger, p as projectPath, d as backoff, e as delay, R as RawJSONLinesSchema, c as configuration, f as readDaemonState, g as clearDaemonState, b as packageJson, r as readSettings, h as readCredentials, u as updateSettings, w as writeCredentials, i as unrealMcpPythonDir, j as acquireDaemonLock, k as writeDaemonState, m as ApiMachineClient, n as releaseDaemonLock, s as sendUnrealMcpTcpCommand, A as ApiClient, o as clearCredentials, q as clearMachineId, t as installUnrealMcpPluginToEngine, v as buildAndInstallUnrealMcpPlugin, x as getLatestDaemonLog, y as normalizeServerUrlForNode } from './types-
|
|
4
|
+
import { l as logger, p as projectPath, d as backoff, e as delay, R as RawJSONLinesSchema, c as configuration, f as readDaemonState, g as clearDaemonState, b as packageJson, r as readSettings, h as readCredentials, u as updateSettings, w as writeCredentials, i as unrealMcpPythonDir, j as acquireDaemonLock, k as writeDaemonState, m as ApiMachineClient, n as releaseDaemonLock, s as sendUnrealMcpTcpCommand, A as ApiClient, o as clearCredentials, q as clearMachineId, t as installUnrealMcpPluginToEngine, v as buildAndInstallUnrealMcpPlugin, x as getLatestDaemonLog, y as normalizeServerUrlForNode } from './types-B83OY7Tb.mjs';
|
|
5
5
|
import { spawn, execFileSync, execSync } from 'node:child_process';
|
|
6
6
|
import path, { resolve, join, dirname } from 'node:path';
|
|
7
7
|
import { createInterface } from 'node:readline';
|
|
@@ -5663,6 +5663,17 @@ async function startDaemon() {
|
|
|
5663
5663
|
return "";
|
|
5664
5664
|
}
|
|
5665
5665
|
};
|
|
5666
|
+
const formatLogExcerpt = (tail) => {
|
|
5667
|
+
const text = String(tail || "").trim();
|
|
5668
|
+
if (!text) return "";
|
|
5669
|
+
const lines = text.split("\n");
|
|
5670
|
+
const keep = 60;
|
|
5671
|
+
const excerpt = lines.slice(Math.max(0, lines.length - keep)).join("\n");
|
|
5672
|
+
return `
|
|
5673
|
+
|
|
5674
|
+
Log tail:
|
|
5675
|
+
${excerpt}`;
|
|
5676
|
+
};
|
|
5666
5677
|
const onSessionWebhook = (sessionId, sessionMetadata) => {
|
|
5667
5678
|
logger.debugLargeJson(`[DAEMON RUN] Session reported`, sessionMetadata);
|
|
5668
5679
|
const pid = sessionMetadata.hostPid;
|
|
@@ -6039,10 +6050,11 @@ Fix: restart the daemon and try again (macOS: \`flockbay daemon stop\` then \`fl
|
|
|
6039
6050
|
clearTimeout(timeout);
|
|
6040
6051
|
void (async () => {
|
|
6041
6052
|
const logPath = await findLatestLogForPid(pid);
|
|
6053
|
+
const tail = logPath ? await readLogTail(logPath, 12e3) : "";
|
|
6042
6054
|
settleOnce({
|
|
6043
6055
|
type: "error",
|
|
6044
6056
|
errorMessage: `Session process exited before webhook (PID ${pid}, code ${code ?? "unknown"}, signal ${signal ?? "none"}).
|
|
6045
|
-
Log: ${logPath || `not found (check ${configuration.logsDir})`}`
|
|
6057
|
+
Log: ${logPath || `not found (check ${configuration.logsDir})`}` + formatLogExcerpt(tail)
|
|
6046
6058
|
});
|
|
6047
6059
|
})();
|
|
6048
6060
|
};
|
|
@@ -6050,10 +6062,11 @@ Log: ${logPath || `not found (check ${configuration.logsDir})`}`
|
|
|
6050
6062
|
clearTimeout(timeout);
|
|
6051
6063
|
void (async () => {
|
|
6052
6064
|
const logPath = await findLatestLogForPid(pid);
|
|
6065
|
+
const tail = logPath ? await readLogTail(logPath, 12e3) : "";
|
|
6053
6066
|
settleOnce({
|
|
6054
6067
|
type: "error",
|
|
6055
6068
|
errorMessage: `Session process error before webhook (PID ${pid}): ${error.message}.
|
|
6056
|
-
Log: ${logPath || `not found (check ${configuration.logsDir})`}`
|
|
6069
|
+
Log: ${logPath || `not found (check ${configuration.logsDir})`}` + formatLogExcerpt(tail)
|
|
6057
6070
|
});
|
|
6058
6071
|
})();
|
|
6059
6072
|
};
|
|
@@ -12155,6 +12168,15 @@ ${res.error}
|
|
|
12155
12168
|
console.log(chalk.green("\nMatrix smoke passed.\n"));
|
|
12156
12169
|
}
|
|
12157
12170
|
|
|
12171
|
+
function logFatalToFile(context, error) {
|
|
12172
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
12173
|
+
logger.debug(`[FATAL] ${context}: ${message}`);
|
|
12174
|
+
if (error instanceof Error && error.stack) {
|
|
12175
|
+
logger.debug(error.stack);
|
|
12176
|
+
} else if (process.env.DEBUG) {
|
|
12177
|
+
logger.debug(`[FATAL] Non-Error thrown: ${String(error)}`);
|
|
12178
|
+
}
|
|
12179
|
+
}
|
|
12158
12180
|
function readTailUtf8(filePath, maxBytes) {
|
|
12159
12181
|
try {
|
|
12160
12182
|
const stat = fs.statSync(filePath);
|
|
@@ -12188,6 +12210,18 @@ function looksLikeServerUnreachable(logTail) {
|
|
|
12188
12210
|
const url = t.match(/"url"\s*:\s*"([^"]+)"/)?.[1] ?? null;
|
|
12189
12211
|
return { code: String(code), url };
|
|
12190
12212
|
}
|
|
12213
|
+
process.on("uncaughtException", (error) => {
|
|
12214
|
+
logFatalToFile("uncaughtException", error);
|
|
12215
|
+
console.error(chalk.red("Fatal error:"), error instanceof Error ? error.message : String(error));
|
|
12216
|
+
if (process.env.DEBUG) console.error(error);
|
|
12217
|
+
process.exit(1);
|
|
12218
|
+
});
|
|
12219
|
+
process.on("unhandledRejection", (reason) => {
|
|
12220
|
+
logFatalToFile("unhandledRejection", reason);
|
|
12221
|
+
console.error(chalk.red("Fatal error:"), reason instanceof Error ? reason.message : String(reason));
|
|
12222
|
+
if (process.env.DEBUG) console.error(reason);
|
|
12223
|
+
process.exit(1);
|
|
12224
|
+
});
|
|
12191
12225
|
async function promptYesNo(question, { defaultYes }) {
|
|
12192
12226
|
const isInteractive = Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
12193
12227
|
if (!isInteractive) return false;
|
|
@@ -12636,7 +12670,7 @@ ${engineRoot}`, {
|
|
|
12636
12670
|
} else if (subcommand === "codex") {
|
|
12637
12671
|
try {
|
|
12638
12672
|
await chdirToNearestUprojectRootIfPresent();
|
|
12639
|
-
const { runCodex } = await import('./runCodex-
|
|
12673
|
+
const { runCodex } = await import('./runCodex-OxMZG47u.mjs');
|
|
12640
12674
|
let startedBy = void 0;
|
|
12641
12675
|
let sessionId = void 0;
|
|
12642
12676
|
for (let i = 1; i < args.length; i++) {
|
|
@@ -12651,6 +12685,7 @@ ${engineRoot}`, {
|
|
|
12651
12685
|
} = await authAndSetupMachineIfNeeded();
|
|
12652
12686
|
await runCodex({ credentials, startedBy, sessionId });
|
|
12653
12687
|
} catch (error) {
|
|
12688
|
+
logFatalToFile("codex", error);
|
|
12654
12689
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
12655
12690
|
if (process.env.DEBUG) {
|
|
12656
12691
|
console.error(error);
|
|
@@ -12737,7 +12772,7 @@ ${engineRoot}`, {
|
|
|
12737
12772
|
}
|
|
12738
12773
|
try {
|
|
12739
12774
|
await chdirToNearestUprojectRootIfPresent();
|
|
12740
|
-
const { runGemini } = await import('./runGemini-
|
|
12775
|
+
const { runGemini } = await import('./runGemini-CKJGSs8A.mjs');
|
|
12741
12776
|
let startedBy = void 0;
|
|
12742
12777
|
let sessionId = void 0;
|
|
12743
12778
|
for (let i = 1; i < args.length; i++) {
|
|
@@ -13068,4 +13103,4 @@ ${chalk.bold("Examples:")}
|
|
|
13068
13103
|
}
|
|
13069
13104
|
}
|
|
13070
13105
|
|
|
13071
|
-
export { ElicitationHub as E, MessageQueue2 as M, PLATFORM_SYSTEM_PROMPT as P, setLatestUserImages as a, MessageBuffer as b, consumeToolQuota as c, startFlockbayServer as d,
|
|
13106
|
+
export { ElicitationHub as E, MessageQueue2 as M, PLATFORM_SYSTEM_PROMPT as P, setLatestUserImages as a, MessageBuffer as b, consumeToolQuota as c, startFlockbayServer as d, buildProjectCapsule as e, formatQuotaDeniedReason as f, autoFinalizeCoordinationWorkItem as g, hashObject as h, initialMachineMetadata as i, detectScreenshotsForGate as j, applyCoordinationSideEffectsFromMcpToolResult as k, stopCaffeinate as l, extractUserImagesMarker as m, notifyDaemonSessionStarted as n, getLatestUserImages as o, registerKillSessionHandler as r, shouldCountToolCall as s, trimIdent as t, withUserImagesMarker as w };
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var os = require('node:os');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
|
-
var types = require('./types-
|
|
6
|
+
var types = require('./types-C8y4Qsfc.cjs');
|
|
7
7
|
var node_child_process = require('node:child_process');
|
|
8
8
|
var path = require('node:path');
|
|
9
9
|
var node_readline = require('node:readline');
|
|
@@ -1273,7 +1273,7 @@ function buildDaemonSafeEnv(baseEnv, binPath) {
|
|
|
1273
1273
|
env[pathKey] = [...prepend, ...existingParts].join(pathSep);
|
|
1274
1274
|
return env;
|
|
1275
1275
|
}
|
|
1276
|
-
const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
1276
|
+
const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-ltPvhytE.cjs', document.baseURI).href)));
|
|
1277
1277
|
const __dirname$1 = path.join(__filename$1, "..");
|
|
1278
1278
|
function getGlobalClaudeVersion(claudeExecutable) {
|
|
1279
1279
|
try {
|
|
@@ -5685,6 +5685,17 @@ async function startDaemon() {
|
|
|
5685
5685
|
return "";
|
|
5686
5686
|
}
|
|
5687
5687
|
};
|
|
5688
|
+
const formatLogExcerpt = (tail) => {
|
|
5689
|
+
const text = String(tail || "").trim();
|
|
5690
|
+
if (!text) return "";
|
|
5691
|
+
const lines = text.split("\n");
|
|
5692
|
+
const keep = 60;
|
|
5693
|
+
const excerpt = lines.slice(Math.max(0, lines.length - keep)).join("\n");
|
|
5694
|
+
return `
|
|
5695
|
+
|
|
5696
|
+
Log tail:
|
|
5697
|
+
${excerpt}`;
|
|
5698
|
+
};
|
|
5688
5699
|
const onSessionWebhook = (sessionId, sessionMetadata) => {
|
|
5689
5700
|
types.logger.debugLargeJson(`[DAEMON RUN] Session reported`, sessionMetadata);
|
|
5690
5701
|
const pid = sessionMetadata.hostPid;
|
|
@@ -6061,10 +6072,11 @@ Fix: restart the daemon and try again (macOS: \`flockbay daemon stop\` then \`fl
|
|
|
6061
6072
|
clearTimeout(timeout);
|
|
6062
6073
|
void (async () => {
|
|
6063
6074
|
const logPath = await findLatestLogForPid(pid);
|
|
6075
|
+
const tail = logPath ? await readLogTail(logPath, 12e3) : "";
|
|
6064
6076
|
settleOnce({
|
|
6065
6077
|
type: "error",
|
|
6066
6078
|
errorMessage: `Session process exited before webhook (PID ${pid}, code ${code ?? "unknown"}, signal ${signal ?? "none"}).
|
|
6067
|
-
Log: ${logPath || `not found (check ${types.configuration.logsDir})`}`
|
|
6079
|
+
Log: ${logPath || `not found (check ${types.configuration.logsDir})`}` + formatLogExcerpt(tail)
|
|
6068
6080
|
});
|
|
6069
6081
|
})();
|
|
6070
6082
|
};
|
|
@@ -6072,10 +6084,11 @@ Log: ${logPath || `not found (check ${types.configuration.logsDir})`}`
|
|
|
6072
6084
|
clearTimeout(timeout);
|
|
6073
6085
|
void (async () => {
|
|
6074
6086
|
const logPath = await findLatestLogForPid(pid);
|
|
6087
|
+
const tail = logPath ? await readLogTail(logPath, 12e3) : "";
|
|
6075
6088
|
settleOnce({
|
|
6076
6089
|
type: "error",
|
|
6077
6090
|
errorMessage: `Session process error before webhook (PID ${pid}): ${error.message}.
|
|
6078
|
-
Log: ${logPath || `not found (check ${types.configuration.logsDir})`}`
|
|
6091
|
+
Log: ${logPath || `not found (check ${types.configuration.logsDir})`}` + formatLogExcerpt(tail)
|
|
6079
6092
|
});
|
|
6080
6093
|
})();
|
|
6081
6094
|
};
|
|
@@ -12177,6 +12190,15 @@ ${res.error}
|
|
|
12177
12190
|
console.log(chalk.green("\nMatrix smoke passed.\n"));
|
|
12178
12191
|
}
|
|
12179
12192
|
|
|
12193
|
+
function logFatalToFile(context, error) {
|
|
12194
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
12195
|
+
types.logger.debug(`[FATAL] ${context}: ${message}`);
|
|
12196
|
+
if (error instanceof Error && error.stack) {
|
|
12197
|
+
types.logger.debug(error.stack);
|
|
12198
|
+
} else if (process.env.DEBUG) {
|
|
12199
|
+
types.logger.debug(`[FATAL] Non-Error thrown: ${String(error)}`);
|
|
12200
|
+
}
|
|
12201
|
+
}
|
|
12180
12202
|
function readTailUtf8(filePath, maxBytes) {
|
|
12181
12203
|
try {
|
|
12182
12204
|
const stat = fs__namespace.statSync(filePath);
|
|
@@ -12210,6 +12232,18 @@ function looksLikeServerUnreachable(logTail) {
|
|
|
12210
12232
|
const url = t.match(/"url"\s*:\s*"([^"]+)"/)?.[1] ?? null;
|
|
12211
12233
|
return { code: String(code), url };
|
|
12212
12234
|
}
|
|
12235
|
+
process.on("uncaughtException", (error) => {
|
|
12236
|
+
logFatalToFile("uncaughtException", error);
|
|
12237
|
+
console.error(chalk.red("Fatal error:"), error instanceof Error ? error.message : String(error));
|
|
12238
|
+
if (process.env.DEBUG) console.error(error);
|
|
12239
|
+
process.exit(1);
|
|
12240
|
+
});
|
|
12241
|
+
process.on("unhandledRejection", (reason) => {
|
|
12242
|
+
logFatalToFile("unhandledRejection", reason);
|
|
12243
|
+
console.error(chalk.red("Fatal error:"), reason instanceof Error ? reason.message : String(reason));
|
|
12244
|
+
if (process.env.DEBUG) console.error(reason);
|
|
12245
|
+
process.exit(1);
|
|
12246
|
+
});
|
|
12213
12247
|
async function promptYesNo(question, { defaultYes }) {
|
|
12214
12248
|
const isInteractive = Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
12215
12249
|
if (!isInteractive) return false;
|
|
@@ -12658,7 +12692,7 @@ ${engineRoot}`, {
|
|
|
12658
12692
|
} else if (subcommand === "codex") {
|
|
12659
12693
|
try {
|
|
12660
12694
|
await chdirToNearestUprojectRootIfPresent();
|
|
12661
|
-
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-
|
|
12695
|
+
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-B8oJouHY.cjs'); });
|
|
12662
12696
|
let startedBy = void 0;
|
|
12663
12697
|
let sessionId = void 0;
|
|
12664
12698
|
for (let i = 1; i < args.length; i++) {
|
|
@@ -12673,6 +12707,7 @@ ${engineRoot}`, {
|
|
|
12673
12707
|
} = await authAndSetupMachineIfNeeded();
|
|
12674
12708
|
await runCodex({ credentials, startedBy, sessionId });
|
|
12675
12709
|
} catch (error) {
|
|
12710
|
+
logFatalToFile("codex", error);
|
|
12676
12711
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
12677
12712
|
if (process.env.DEBUG) {
|
|
12678
12713
|
console.error(error);
|
|
@@ -12759,7 +12794,7 @@ ${engineRoot}`, {
|
|
|
12759
12794
|
}
|
|
12760
12795
|
try {
|
|
12761
12796
|
await chdirToNearestUprojectRootIfPresent();
|
|
12762
|
-
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-
|
|
12797
|
+
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-D6Lfno7n.cjs'); });
|
|
12763
12798
|
let startedBy = void 0;
|
|
12764
12799
|
let sessionId = void 0;
|
|
12765
12800
|
for (let i = 1; i < args.length; i++) {
|
|
@@ -13099,7 +13134,6 @@ exports.autoFinalizeCoordinationWorkItem = autoFinalizeCoordinationWorkItem;
|
|
|
13099
13134
|
exports.buildProjectCapsule = buildProjectCapsule;
|
|
13100
13135
|
exports.consumeToolQuota = consumeToolQuota;
|
|
13101
13136
|
exports.detectScreenshotsForGate = detectScreenshotsForGate;
|
|
13102
|
-
exports.detectUnrealProject = detectUnrealProject;
|
|
13103
13137
|
exports.extractUserImagesMarker = extractUserImagesMarker;
|
|
13104
13138
|
exports.formatQuotaDeniedReason = formatQuotaDeniedReason;
|
|
13105
13139
|
exports.getLatestUserImages = getLatestUserImages;
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
package/dist/lib.cjs
CHANGED
package/dist/lib.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-B83OY7Tb.mjs';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import 'node:fs';
|
|
4
4
|
import 'node:os';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var ink = require('ink');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var types = require('./types-
|
|
5
|
+
var types = require('./types-C8y4Qsfc.cjs');
|
|
6
6
|
var index_js = require('@modelcontextprotocol/sdk/client/index.js');
|
|
7
7
|
var stdio_js = require('@modelcontextprotocol/sdk/client/stdio.js');
|
|
8
8
|
var z = require('zod');
|
|
@@ -12,7 +12,7 @@ var fs = require('node:fs');
|
|
|
12
12
|
var os = require('node:os');
|
|
13
13
|
var path = require('node:path');
|
|
14
14
|
var node_child_process = require('node:child_process');
|
|
15
|
-
var index = require('./index-
|
|
15
|
+
var index = require('./index-ltPvhytE.cjs');
|
|
16
16
|
require('axios');
|
|
17
17
|
require('node:events');
|
|
18
18
|
require('socket.io-client');
|
|
@@ -2383,7 +2383,6 @@ async function runCodex(opts) {
|
|
|
2383
2383
|
appendSystemPrompt: index.PLATFORM_SYSTEM_PROMPT
|
|
2384
2384
|
});
|
|
2385
2385
|
}
|
|
2386
|
-
const bypassUeGates = String(process.env.FLOCKBAY_DEV_BYPASS_UE_GATES || "") === "1";
|
|
2387
2386
|
let currentPermissionMode = void 0;
|
|
2388
2387
|
let currentModel = void 0;
|
|
2389
2388
|
const defaultAppendSystemPrompt = index.PLATFORM_SYSTEM_PROMPT;
|
|
@@ -3451,22 +3450,6 @@ Error: ${message}`,
|
|
|
3451
3450
|
try {
|
|
3452
3451
|
resetScreenshotGateForTurn();
|
|
3453
3452
|
const overrides = { approvalPolicy: "untrusted", sandbox: "workspace-write" };
|
|
3454
|
-
if (!bypassUeGates) {
|
|
3455
|
-
const detection = await index.detectUnrealProject(process.cwd());
|
|
3456
|
-
if (!detection.ok) {
|
|
3457
|
-
session.sendCodexMessage({
|
|
3458
|
-
type: "message",
|
|
3459
|
-
message: "Select an Unreal project folder (the folder containing a *.uproject) to continue.",
|
|
3460
|
-
id: node_crypto.randomUUID()
|
|
3461
|
-
});
|
|
3462
|
-
if (wasCreated) {
|
|
3463
|
-
client.clearSession();
|
|
3464
|
-
wasCreated = false;
|
|
3465
|
-
currentModeHash = null;
|
|
3466
|
-
}
|
|
3467
|
-
continue;
|
|
3468
|
-
}
|
|
3469
|
-
}
|
|
3470
3453
|
if (!wasCreated) {
|
|
3471
3454
|
const projectCapsule = await index.buildProjectCapsule({ startDir: process.cwd() });
|
|
3472
3455
|
const modelOverride = resolveCodexModelOverride(message.mode.model);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
2
2
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
|
-
import { l as logger, A as ApiClient, r as readSettings, p as projectPath, c as configuration, b as packageJson } from './types-
|
|
3
|
+
import { l as logger, A as ApiClient, r as readSettings, p as projectPath, c as configuration, b as packageJson } from './types-B83OY7Tb.mjs';
|
|
4
4
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
5
5
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
6
6
|
import { z } from 'zod';
|
|
@@ -10,7 +10,7 @@ import fs__default from 'node:fs';
|
|
|
10
10
|
import os from 'node:os';
|
|
11
11
|
import path, { resolve, join } from 'node:path';
|
|
12
12
|
import { spawnSync } from 'node:child_process';
|
|
13
|
-
import { s as shouldCountToolCall, c as consumeToolQuota, f as formatQuotaDeniedReason, h as hashObject, i as initialMachineMetadata, E as ElicitationHub, n as notifyDaemonSessionStarted, M as MessageQueue2, P as PLATFORM_SYSTEM_PROMPT, a as setLatestUserImages, w as withUserImagesMarker, r as registerKillSessionHandler, b as MessageBuffer, d as startFlockbayServer, e as
|
|
13
|
+
import { s as shouldCountToolCall, c as consumeToolQuota, f as formatQuotaDeniedReason, h as hashObject, i as initialMachineMetadata, E as ElicitationHub, n as notifyDaemonSessionStarted, M as MessageQueue2, P as PLATFORM_SYSTEM_PROMPT, a as setLatestUserImages, w as withUserImagesMarker, r as registerKillSessionHandler, b as MessageBuffer, d as startFlockbayServer, e as buildProjectCapsule, t as trimIdent, g as autoFinalizeCoordinationWorkItem, j as detectScreenshotsForGate, k as applyCoordinationSideEffectsFromMcpToolResult, l as stopCaffeinate } from './index-JzArX4mS.mjs';
|
|
14
14
|
import 'axios';
|
|
15
15
|
import 'node:events';
|
|
16
16
|
import 'socket.io-client';
|
|
@@ -2381,7 +2381,6 @@ async function runCodex(opts) {
|
|
|
2381
2381
|
appendSystemPrompt: PLATFORM_SYSTEM_PROMPT
|
|
2382
2382
|
});
|
|
2383
2383
|
}
|
|
2384
|
-
const bypassUeGates = String(process.env.FLOCKBAY_DEV_BYPASS_UE_GATES || "") === "1";
|
|
2385
2384
|
let currentPermissionMode = void 0;
|
|
2386
2385
|
let currentModel = void 0;
|
|
2387
2386
|
const defaultAppendSystemPrompt = PLATFORM_SYSTEM_PROMPT;
|
|
@@ -3449,22 +3448,6 @@ Error: ${message}`,
|
|
|
3449
3448
|
try {
|
|
3450
3449
|
resetScreenshotGateForTurn();
|
|
3451
3450
|
const overrides = { approvalPolicy: "untrusted", sandbox: "workspace-write" };
|
|
3452
|
-
if (!bypassUeGates) {
|
|
3453
|
-
const detection = await detectUnrealProject(process.cwd());
|
|
3454
|
-
if (!detection.ok) {
|
|
3455
|
-
session.sendCodexMessage({
|
|
3456
|
-
type: "message",
|
|
3457
|
-
message: "Select an Unreal project folder (the folder containing a *.uproject) to continue.",
|
|
3458
|
-
id: randomUUID()
|
|
3459
|
-
});
|
|
3460
|
-
if (wasCreated) {
|
|
3461
|
-
client.clearSession();
|
|
3462
|
-
wasCreated = false;
|
|
3463
|
-
currentModeHash = null;
|
|
3464
|
-
}
|
|
3465
|
-
continue;
|
|
3466
|
-
}
|
|
3467
|
-
}
|
|
3468
3451
|
if (!wasCreated) {
|
|
3469
3452
|
const projectCapsule = await buildProjectCapsule({ startDir: process.cwd() });
|
|
3470
3453
|
const modelOverride = resolveCodexModelOverride(message.mode.model);
|
|
@@ -4,8 +4,8 @@ import { randomUUID, createHash } from 'node:crypto';
|
|
|
4
4
|
import os from 'node:os';
|
|
5
5
|
import path, { resolve, join as join$1, basename } from 'node:path';
|
|
6
6
|
import { mkdir, writeFile, readFile } from 'node:fs/promises';
|
|
7
|
-
import { l as logger, b as packageJson, A as ApiClient, r as readSettings, p as projectPath, c as configuration } from './types-
|
|
8
|
-
import { s as shouldCountToolCall, c as consumeToolQuota, f as formatQuotaDeniedReason, h as hashObject, i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2,
|
|
7
|
+
import { l as logger, b as packageJson, A as ApiClient, r as readSettings, p as projectPath, c as configuration } from './types-B83OY7Tb.mjs';
|
|
8
|
+
import { s as shouldCountToolCall, c as consumeToolQuota, f as formatQuotaDeniedReason, h as hashObject, i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, e as buildProjectCapsule, a as setLatestUserImages, b as MessageBuffer, w as withUserImagesMarker, r as registerKillSessionHandler, d as startFlockbayServer, m as extractUserImagesMarker, o as getLatestUserImages, P as PLATFORM_SYSTEM_PROMPT, g as autoFinalizeCoordinationWorkItem, E as ElicitationHub, j as detectScreenshotsForGate, l as stopCaffeinate } from './index-JzArX4mS.mjs';
|
|
9
9
|
import { spawn, spawnSync } from 'node:child_process';
|
|
10
10
|
import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
|
|
11
11
|
import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
@@ -6,8 +6,8 @@ var node_crypto = require('node:crypto');
|
|
|
6
6
|
var os = require('node:os');
|
|
7
7
|
var path = require('node:path');
|
|
8
8
|
var fs$2 = require('node:fs/promises');
|
|
9
|
-
var types = require('./types-
|
|
10
|
-
var index = require('./index-
|
|
9
|
+
var types = require('./types-C8y4Qsfc.cjs');
|
|
10
|
+
var index = require('./index-ltPvhytE.cjs');
|
|
11
11
|
var node_child_process = require('node:child_process');
|
|
12
12
|
var sdk = require('@agentclientprotocol/sdk');
|
|
13
13
|
var fs = require('fs');
|
|
@@ -21,7 +21,7 @@ import net from 'node:net';
|
|
|
21
21
|
import { spawn as spawn$1 } from 'node:child_process';
|
|
22
22
|
|
|
23
23
|
var name = "flockbay";
|
|
24
|
-
var version = "0.10.
|
|
24
|
+
var version = "0.10.24";
|
|
25
25
|
var description = "Flockbay CLI (local agent + daemon)";
|
|
26
26
|
var author = "Eduardo Orellana";
|
|
27
27
|
var license = "UNLICENSED";
|
|
@@ -3555,8 +3555,8 @@ class ApiMachineClient {
|
|
|
3555
3555
|
};
|
|
3556
3556
|
}
|
|
3557
3557
|
connect() {
|
|
3558
|
-
const serverUrl = configuration.serverUrl
|
|
3559
|
-
logger.debug(`[API MACHINE] Connecting to ${serverUrl}`);
|
|
3558
|
+
const serverUrl = configuration.serverUrl;
|
|
3559
|
+
logger.debug(`[API MACHINE] Connecting to ${serverUrl} (daemon channel)`);
|
|
3560
3560
|
this.socket = io(serverUrl, {
|
|
3561
3561
|
transports: ["websocket"],
|
|
3562
3562
|
auth: {
|
|
@@ -3564,7 +3564,10 @@ class ApiMachineClient {
|
|
|
3564
3564
|
clientType: "machine-scoped",
|
|
3565
3565
|
machineId: this.machine.id
|
|
3566
3566
|
},
|
|
3567
|
-
|
|
3567
|
+
// IMPORTANT: The backend distinguishes daemon sockets from regular `/v1/updates` sockets.
|
|
3568
|
+
// It aliases `/v1/user-machine-daemon` -> `/v1/updates` at the HTTP upgrade layer while tagging
|
|
3569
|
+
// the socket as `channel=daemon`. Server-side auto-revive and machine presence depend on this.
|
|
3570
|
+
path: "/v1/user-machine-daemon",
|
|
3568
3571
|
reconnection: true,
|
|
3569
3572
|
reconnectionDelay: 1e3,
|
|
3570
3573
|
reconnectionDelayMax: 5e3
|
|
@@ -42,7 +42,7 @@ function _interopNamespaceDefault(e) {
|
|
|
42
42
|
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
43
43
|
|
|
44
44
|
var name = "flockbay";
|
|
45
|
-
var version = "0.10.
|
|
45
|
+
var version = "0.10.24";
|
|
46
46
|
var description = "Flockbay CLI (local agent + daemon)";
|
|
47
47
|
var author = "Eduardo Orellana";
|
|
48
48
|
var license = "UNLICENSED";
|
|
@@ -770,7 +770,7 @@ class RpcHandlerManager {
|
|
|
770
770
|
}
|
|
771
771
|
}
|
|
772
772
|
|
|
773
|
-
const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-
|
|
773
|
+
const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-C8y4Qsfc.cjs', document.baseURI).href))));
|
|
774
774
|
function projectPath() {
|
|
775
775
|
const path = path$1.resolve(__dirname$1, "..");
|
|
776
776
|
return path;
|
|
@@ -3576,8 +3576,8 @@ class ApiMachineClient {
|
|
|
3576
3576
|
};
|
|
3577
3577
|
}
|
|
3578
3578
|
connect() {
|
|
3579
|
-
const serverUrl = configuration.serverUrl
|
|
3580
|
-
logger.debug(`[API MACHINE] Connecting to ${serverUrl}`);
|
|
3579
|
+
const serverUrl = configuration.serverUrl;
|
|
3580
|
+
logger.debug(`[API MACHINE] Connecting to ${serverUrl} (daemon channel)`);
|
|
3581
3581
|
this.socket = socket_ioClient.io(serverUrl, {
|
|
3582
3582
|
transports: ["websocket"],
|
|
3583
3583
|
auth: {
|
|
@@ -3585,7 +3585,10 @@ class ApiMachineClient {
|
|
|
3585
3585
|
clientType: "machine-scoped",
|
|
3586
3586
|
machineId: this.machine.id
|
|
3587
3587
|
},
|
|
3588
|
-
|
|
3588
|
+
// IMPORTANT: The backend distinguishes daemon sockets from regular `/v1/updates` sockets.
|
|
3589
|
+
// It aliases `/v1/user-machine-daemon` -> `/v1/updates` at the HTTP upgrade layer while tagging
|
|
3590
|
+
// the socket as `channel=daemon`. Server-side auto-revive and machine presence depend on this.
|
|
3591
|
+
path: "/v1/user-machine-daemon",
|
|
3589
3592
|
reconnection: true,
|
|
3590
3593
|
reconnectionDelay: 1e3,
|
|
3591
3594
|
reconnectionDelayMax: 5e3
|