flockbay 0.10.22 → 0.10.23

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.
@@ -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-Z2OYpI8c.cjs');
6
+ var types = require('./types-DvlwEGpS.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-DQTqwzYd.cjs', document.baseURI).href)));
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-BtB1Sqpy.cjs', document.baseURI).href)));
1277
1277
  const __dirname$1 = path.join(__filename$1, "..");
1278
1278
  function getGlobalClaudeVersion(claudeExecutable) {
1279
1279
  try {
@@ -12658,7 +12658,7 @@ ${engineRoot}`, {
12658
12658
  } else if (subcommand === "codex") {
12659
12659
  try {
12660
12660
  await chdirToNearestUprojectRootIfPresent();
12661
- const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-CaWagdzG.cjs'); });
12661
+ const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-ozeIEfAo.cjs'); });
12662
12662
  let startedBy = void 0;
12663
12663
  let sessionId = void 0;
12664
12664
  for (let i = 1; i < args.length; i++) {
@@ -12759,7 +12759,7 @@ ${engineRoot}`, {
12759
12759
  }
12760
12760
  try {
12761
12761
  await chdirToNearestUprojectRootIfPresent();
12762
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-8w5P093W.cjs'); });
12762
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-B-sAKY5u.cjs'); });
12763
12763
  let startedBy = void 0;
12764
12764
  let sessionId = void 0;
12765
12765
  for (let i = 1; i < args.length; i++) {
@@ -13099,7 +13099,6 @@ exports.autoFinalizeCoordinationWorkItem = autoFinalizeCoordinationWorkItem;
13099
13099
  exports.buildProjectCapsule = buildProjectCapsule;
13100
13100
  exports.consumeToolQuota = consumeToolQuota;
13101
13101
  exports.detectScreenshotsForGate = detectScreenshotsForGate;
13102
- exports.detectUnrealProject = detectUnrealProject;
13103
13102
  exports.extractUserImagesMarker = extractUserImagesMarker;
13104
13103
  exports.formatQuotaDeniedReason = formatQuotaDeniedReason;
13105
13104
  exports.getLatestUserImages = getLatestUserImages;
@@ -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-CMWcip0F.mjs';
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-CNn15BaT.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';
@@ -12636,7 +12636,7 @@ ${engineRoot}`, {
12636
12636
  } else if (subcommand === "codex") {
12637
12637
  try {
12638
12638
  await chdirToNearestUprojectRootIfPresent();
12639
- const { runCodex } = await import('./runCodex-B7fGICdv.mjs');
12639
+ const { runCodex } = await import('./runCodex-BC3IImzm.mjs');
12640
12640
  let startedBy = void 0;
12641
12641
  let sessionId = void 0;
12642
12642
  for (let i = 1; i < args.length; i++) {
@@ -12737,7 +12737,7 @@ ${engineRoot}`, {
12737
12737
  }
12738
12738
  try {
12739
12739
  await chdirToNearestUprojectRootIfPresent();
12740
- const { runGemini } = await import('./runGemini-CK43WQk8.mjs');
12740
+ const { runGemini } = await import('./runGemini-C43IKGUU.mjs');
12741
12741
  let startedBy = void 0;
12742
12742
  let sessionId = void 0;
12743
12743
  for (let i = 1; i < args.length; i++) {
@@ -13068,4 +13068,4 @@ ${chalk.bold("Examples:")}
13068
13068
  }
13069
13069
  }
13070
13070
 
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, detectUnrealProject as e, formatQuotaDeniedReason as f, buildProjectCapsule as g, hashObject as h, initialMachineMetadata as i, autoFinalizeCoordinationWorkItem as j, detectScreenshotsForGate as k, applyCoordinationSideEffectsFromMcpToolResult as l, stopCaffeinate as m, notifyDaemonSessionStarted as n, extractUserImagesMarker as o, getLatestUserImages as p, registerKillSessionHandler as r, shouldCountToolCall as s, trimIdent as t, withUserImagesMarker as w };
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, 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 };
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./index-DQTqwzYd.cjs');
5
- require('./types-Z2OYpI8c.cjs');
4
+ require('./index-BtB1Sqpy.cjs');
5
+ require('./types-DvlwEGpS.cjs');
6
6
  require('zod');
7
7
  require('node:child_process');
8
8
  require('node:fs');
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import 'chalk';
2
- import './index-BjZUYSzh.mjs';
3
- import './types-CMWcip0F.mjs';
2
+ import './index-CRGcIpET.mjs';
3
+ import './types-CNn15BaT.mjs';
4
4
  import 'zod';
5
5
  import 'node:child_process';
6
6
  import 'node:fs';
package/dist/lib.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var types = require('./types-Z2OYpI8c.cjs');
3
+ var types = require('./types-DvlwEGpS.cjs');
4
4
  require('axios');
5
5
  require('node:fs');
6
6
  require('node:os');
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-CMWcip0F.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-CNn15BaT.mjs';
2
2
  import 'axios';
3
3
  import 'node:fs';
4
4
  import 'node:os';
@@ -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-CMWcip0F.mjs';
3
+ import { l as logger, A as ApiClient, r as readSettings, p as projectPath, c as configuration, b as packageJson } from './types-CNn15BaT.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 detectUnrealProject, g as buildProjectCapsule, t as trimIdent, j as autoFinalizeCoordinationWorkItem, k as detectScreenshotsForGate, l as applyCoordinationSideEffectsFromMcpToolResult, m as stopCaffeinate } from './index-BjZUYSzh.mjs';
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-CRGcIpET.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);
@@ -2,7 +2,7 @@
2
2
 
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
- var types = require('./types-Z2OYpI8c.cjs');
5
+ var types = require('./types-DvlwEGpS.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-DQTqwzYd.cjs');
15
+ var index = require('./index-BtB1Sqpy.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);
@@ -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-Z2OYpI8c.cjs');
10
- var index = require('./index-DQTqwzYd.cjs');
9
+ var types = require('./types-DvlwEGpS.cjs');
10
+ var index = require('./index-BtB1Sqpy.cjs');
11
11
  var node_child_process = require('node:child_process');
12
12
  var sdk = require('@agentclientprotocol/sdk');
13
13
  var fs = require('fs');
@@ -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-CMWcip0F.mjs';
8
- import { s as shouldCountToolCall, c as consumeToolQuota, f as formatQuotaDeniedReason, h as hashObject, i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, g as buildProjectCapsule, a as setLatestUserImages, b as MessageBuffer, w as withUserImagesMarker, r as registerKillSessionHandler, d as startFlockbayServer, o as extractUserImagesMarker, p as getLatestUserImages, P as PLATFORM_SYSTEM_PROMPT, j as autoFinalizeCoordinationWorkItem, E as ElicitationHub, k as detectScreenshotsForGate, m as stopCaffeinate } from './index-BjZUYSzh.mjs';
7
+ import { l as logger, b as packageJson, A as ApiClient, r as readSettings, p as projectPath, c as configuration } from './types-CNn15BaT.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-CRGcIpET.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';
@@ -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.22";
24
+ var version = "0.10.23";
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.replace(/^http/, "ws");
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
- path: "/v1/updates",
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.22";
45
+ var version = "0.10.23";
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-Z2OYpI8c.cjs', document.baseURI).href))));
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-DvlwEGpS.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.replace(/^http/, "ws");
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
- path: "/v1/updates",
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flockbay",
3
- "version": "0.10.22",
3
+ "version": "0.10.23",
4
4
  "description": "Flockbay CLI (local agent + daemon)",
5
5
  "author": "Eduardo Orellana",
6
6
  "license": "UNLICENSED",