@foothill/agent-move 1.0.6 → 1.0.8

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/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  A real-time pixel-art visualizer that turns AI coding sessions into a living 2D world. Agents walk between rooms, use tools, chat, and rest — all rendered at 60fps in your browser.
8
8
 
9
9
  ```
10
- npx agent-move@latest
10
+ npx @foothill/agent-move@latest
11
11
  ```
12
12
 
13
13
  <br>
@@ -17,8 +17,8 @@ npx agent-move@latest
17
17
  <br>
18
18
  <br>
19
19
 
20
- [![npm version](https://img.shields.io/npm/v/agent-move)](https://www.npmjs.com/package/agent-move)
21
- [![license](https://img.shields.io/npm/l/agent-move)](LICENSE)
20
+ [![npm version](https://img.shields.io/npm/v/@foothill/agent-move)](https://www.npmjs.com/package/@foothill/agent-move)
21
+ [![license](https://img.shields.io/npm/l/@foothill/agent-move)](LICENSE)
22
22
 
23
23
  </div>
24
24
 
@@ -53,7 +53,7 @@ It uses a **hybrid data pipeline** — JSONL file watching for rich data (tokens
53
53
  ### One Command
54
54
 
55
55
  ```bash
56
- npx agent-move@latest
56
+ npx @foothill/agent-move@latest
57
57
  ```
58
58
 
59
59
  That's it. The server starts, hooks are auto-installed, your browser opens, and any active coding session is visualized immediately.
@@ -66,9 +66,9 @@ On first run, AgentMove automatically:
66
66
  ### Options
67
67
 
68
68
  ```bash
69
- npx agent-move@latest --port 4000 # custom port (default: 3333)
70
- npx agent-move@latest --no-open # don't auto-open the browser
71
- npx agent-move@latest --help # show all options
69
+ npx @foothill/agent-move@latest --port 4000 # custom port (default: 3333)
70
+ npx @foothill/agent-move@latest --no-open # don't auto-open the browser
71
+ npx @foothill/agent-move@latest --help # show all options
72
72
  ```
73
73
 
74
74
  ### Hooks Management
@@ -76,9 +76,9 @@ npx agent-move@latest --help # show all options
76
76
  Hooks are auto-installed on first run. You can also manage them manually:
77
77
 
78
78
  ```bash
79
- npx agent-move@latest hooks status # check if hooks are installed
80
- npx agent-move@latest hooks install # (re)install hooks
81
- npx agent-move@latest hooks uninstall # remove hooks
79
+ npx @foothill/agent-move@latest hooks status # check if hooks are installed
80
+ npx @foothill/agent-move@latest hooks install # (re)install hooks
81
+ npx @foothill/agent-move@latest hooks uninstall # remove hooks
82
82
  ```
83
83
 
84
84
  AgentMove works without hooks too — it falls back to JSONL file watching. Hooks add precise session lifecycle, tool success/failure tracking, and permission management.
@@ -86,7 +86,7 @@ AgentMove works without hooks too — it falls back to JSONL file watching. Hook
86
86
  ### From Source (for development)
87
87
 
88
88
  ```bash
89
- git clone https://github.com/AbdullahSAhmad/agent-move.git
89
+ git clone https://github.com/FoothillSolutions/agent-move.git
90
90
  cd agent-move
91
91
  npm install
92
92
  npm run dev
@@ -242,14 +242,14 @@ The WebSocket sends a `full_state` snapshot on connect, then incremental events:
242
242
 
243
243
  | Problem | Solution |
244
244
  |---------|----------|
245
- | Port already in use | `npx agent-move@latest --port 4444` |
246
- | Hooks not working | `npx agent-move@latest hooks status` to check, then `hooks install` to fix |
245
+ | Port already in use | `npx @foothill/agent-move@latest --port 4444` |
246
+ | Hooks not working | `npx @foothill/agent-move@latest hooks status` to check, then `hooks install` to fix |
247
247
  | No agents showing up | Make sure Claude Code is running — agents appear when sessions are active |
248
248
  | Build artifacts missing (from source) | Run `npm run build` |
249
249
  | Permission denied on port | Use a port above 1024: `--port 3333` |
250
250
  | Browser didn't open | Visit `http://localhost:3333` manually, or check `--no-open` flag |
251
251
 
252
- Need more help? [Open an issue](https://github.com/AbdullahSAhmad/agent-move/issues)
252
+ Need more help? [Open an issue](https://github.com/FoothillSolutions/agent-move/issues)
253
253
 
254
254
  ## Tech Stack
255
255
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foothill/agent-move",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Watch your AI coding agents come alive as pixel-art characters in a 2D world",
5
5
  "type": "module",
6
6
  "engines": {
@@ -1,6 +1,10 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/config.js
4
+ import { createRequire } from "module";
2
5
  import { homedir } from "os";
3
6
  import { join } from "path";
7
+ var require2 = createRequire(import.meta.url);
4
8
  var config = {
5
9
  port: parseInt(process.env.AGENT_MOVE_PORT || "3333", 10),
6
10
  claudeHome: join(homedir(), ".claude"),
@@ -1,6 +1,10 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/hooks/hook-event-manager.js
4
+ import { createRequire } from "module";
2
5
  import { EventEmitter } from "events";
3
6
  import { randomUUID } from "crypto";
7
+ var require2 = createRequire(import.meta.url);
4
8
  var PERMISSION_TIMEOUT_MS = 5 * 60 * 1e3;
5
9
  var HookEventManager = class extends EventEmitter {
6
10
  stateManager;
@@ -1,7 +1,11 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/hooks/hook-installer.js
4
+ import { createRequire } from "module";
2
5
  import { readFileSync, writeFileSync, mkdirSync, chmodSync, existsSync } from "fs";
3
6
  import { join } from "path";
4
7
  import { homedir, platform } from "os";
8
+ var require2 = createRequire(import.meta.url);
5
9
  var ALL_HOOK_EVENTS = [
6
10
  "SessionStart",
7
11
  "SessionEnd",
@@ -1,11 +1,7 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
- }) : x)(function(x) {
4
- if (typeof require !== "undefined") return require.apply(this, arguments);
5
- throw Error('Dynamic require of "' + x + '" is not supported');
6
- });
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
7
2
 
8
3
  // dist/index.js
4
+ import { createRequire } from "module";
9
5
  import { fileURLToPath } from "url";
10
6
  import { dirname, join as join6 } from "path";
11
7
  import Fastify from "fastify";
@@ -30,19 +26,20 @@ import { EventEmitter } from "events";
30
26
  import { execSync } from "child_process";
31
27
  import { EventEmitter as EventEmitter3 } from "events";
32
28
  import { randomUUID } from "crypto";
29
+ var require2 = createRequire(import.meta.url);
33
30
  var __create = Object.create;
34
31
  var __defProp = Object.defineProperty;
35
32
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
36
33
  var __getOwnPropNames = Object.getOwnPropertyNames;
37
34
  var __getProtoOf = Object.getPrototypeOf;
38
35
  var __hasOwnProp = Object.prototype.hasOwnProperty;
39
- var __require2 = /* @__PURE__ */ ((x) => typeof __require !== "undefined" ? __require : typeof Proxy !== "undefined" ? new Proxy(x, {
40
- get: (a, b) => (typeof __require !== "undefined" ? __require : a)[b]
36
+ var __require = /* @__PURE__ */ ((x) => typeof require2 !== "undefined" ? require2 : typeof Proxy !== "undefined" ? new Proxy(x, {
37
+ get: (a, b) => (typeof require2 !== "undefined" ? require2 : a)[b]
41
38
  }) : x)(function(x) {
42
- if (typeof __require !== "undefined") return __require.apply(this, arguments);
39
+ if (typeof require2 !== "undefined") return require2.apply(this, arguments);
43
40
  throw Error('Dynamic require of "' + x + '" is not supported');
44
41
  });
45
- var __commonJS = (cb, mod) => function __require22() {
42
+ var __commonJS = (cb, mod) => function __require2() {
46
43
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
47
44
  };
48
45
  var __copyProps = (to, from, except, desc) => {
@@ -100,7 +97,7 @@ var require_sqlite_error = __commonJS({
100
97
  });
101
98
  var require_file_uri_to_path = __commonJS({
102
99
  "../../node_modules/file-uri-to-path/index.js"(exports, module) {
103
- var sep = __require2("path").sep || "/";
100
+ var sep = __require("path").sep || "/";
104
101
  module.exports = fileUriToPath;
105
102
  function fileUriToPath(uri) {
106
103
  if ("string" != typeof uri || uri.length <= 7 || "file://" != uri.substring(0, 7)) {
@@ -128,8 +125,8 @@ var require_file_uri_to_path = __commonJS({
128
125
  });
129
126
  var require_bindings = __commonJS({
130
127
  "../../node_modules/bindings/bindings.js"(exports, module) {
131
- var fs = __require2("fs");
132
- var path = __require2("path");
128
+ var fs = __require("fs");
129
+ var path = __require("path");
133
130
  var fileURLToPath2 = require_file_uri_to_path();
134
131
  var join7 = path.join;
135
132
  var dirname2 = path.dirname;
@@ -188,7 +185,7 @@ var require_bindings = __commonJS({
188
185
  if (path.extname(opts.bindings) != ".node") {
189
186
  opts.bindings += ".node";
190
187
  }
191
- var requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require2;
188
+ var requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
192
189
  var tries = [], i = 0, l = opts.try.length, n, b, err;
193
190
  for (; i < l; i++) {
194
191
  n = join7.apply(
@@ -415,9 +412,9 @@ var require_pragma = __commonJS({
415
412
  var require_backup = __commonJS({
416
413
  "../../node_modules/better-sqlite3/lib/methods/backup.js"(exports, module) {
417
414
  "use strict";
418
- var fs = __require2("fs");
419
- var path = __require2("path");
420
- var { promisify } = __require2("util");
415
+ var fs = __require("fs");
416
+ var path = __require("path");
417
+ var { promisify } = __require("util");
421
418
  var { cppdb } = require_util();
422
419
  var fsAccess = promisify(fs.access);
423
420
  module.exports = async function backup(filename, options) {
@@ -725,8 +722,8 @@ var require_inspect = __commonJS({
725
722
  var require_database = __commonJS({
726
723
  "../../node_modules/better-sqlite3/lib/database.js"(exports, module) {
727
724
  "use strict";
728
- var fs = __require2("fs");
729
- var path = __require2("path");
725
+ var fs = __require("fs");
726
+ var path = __require("path");
730
727
  var util = require_util();
731
728
  var SqliteError = require_sqlite_error();
732
729
  var DEFAULT_ADDON;
@@ -761,7 +758,7 @@ var require_database = __commonJS({
761
758
  if (nativeBinding == null) {
762
759
  addon = DEFAULT_ADDON || (DEFAULT_ADDON = require_bindings()("better_sqlite3.node"));
763
760
  } else if (typeof nativeBinding === "string") {
764
- const requireFunc = typeof __non_webpack_require__ === "function" ? __non_webpack_require__ : __require2;
761
+ const requireFunc = typeof __non_webpack_require__ === "function" ? __non_webpack_require__ : __require;
765
762
  addon = requireFunc(path.resolve(nativeBinding).replace(/(\.node)?$/, ".node"));
766
763
  } else {
767
764
  addon = nativeBinding;
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/routes/api.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  function registerApiRoutes(app, stateManager) {
3
7
  app.get("/api/health", async () => {
4
8
  return { status: "ok", timestamp: Date.now() };
@@ -1,5 +1,9 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/state/activity-processor.js
4
+ import { createRequire } from "module";
2
5
  import { execSync } from "child_process";
6
+ var require2 = createRequire(import.meta.url);
3
7
  var TOOL_ZONE_MAP = {
4
8
  // Files zone
5
9
  Read: "files",
@@ -1,9 +1,13 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/state/agent-state-manager.js
4
+ import { createRequire } from "module";
2
5
  import { EventEmitter as EventEmitter2 } from "events";
3
6
  import { homedir } from "os";
4
7
  import { join } from "path";
5
8
  import { EventEmitter } from "events";
6
9
  import { execSync } from "child_process";
10
+ var require2 = createRequire(import.meta.url);
7
11
  var DEFAULT_ANOMALY_CONFIG = {
8
12
  tokenVelocityThreshold: 1e5,
9
13
  retryLoopThreshold: 5,
@@ -1,5 +1,9 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/state/anomaly-detector.js
4
+ import { createRequire } from "module";
2
5
  import { EventEmitter } from "events";
6
+ var require2 = createRequire(import.meta.url);
3
7
  var DEFAULT_ANOMALY_CONFIG = {
4
8
  tokenVelocityThreshold: 1e5,
5
9
  retryLoopThreshold: 5,
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/state/identity-manager.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  function resolveAgentId(sessionToAgent, sessionId) {
3
7
  return sessionToAgent.get(sessionId) ?? sessionId;
4
8
  }
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/state/role-resolver.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  function determineRole(_activity, sessionInfo) {
3
7
  if (sessionInfo.isSubagent)
4
8
  return "subagent";
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/state/task-graph-manager.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  var TaskGraphManager = class {
3
7
  tasks = /* @__PURE__ */ new Map();
4
8
  /** Per-agent-root counters to match Claude's sequential task IDs per team */
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/state/tool-chain-tracker.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  var MAX_DURATION_SAMPLES = 50;
3
7
  var ToolChainTracker = class {
4
8
  lastTool = /* @__PURE__ */ new Map();
@@ -0,0 +1,5 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
3
+ // dist/watcher/agent-watcher.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
@@ -1,6 +1,10 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/watcher/claude-paths.js
4
+ import { createRequire } from "module";
2
5
  import { existsSync } from "fs";
3
6
  import { join } from "path";
7
+ var require2 = createRequire(import.meta.url);
4
8
  var ClaudePaths = class {
5
9
  /**
6
10
  * Parse a JSONL session file path to extract project info.
@@ -1,4 +1,7 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/watcher/file-watcher.js
4
+ import { createRequire } from "module";
2
5
  import chokidar from "chokidar";
3
6
  import { stat as stat2, open } from "fs/promises";
4
7
  import { join as join4, basename } from "path";
@@ -8,6 +11,7 @@ import { readdir, stat } from "fs/promises";
8
11
  import { join as join3 } from "path";
9
12
  import { homedir } from "os";
10
13
  import { join as join2 } from "path";
14
+ var require2 = createRequire(import.meta.url);
11
15
  var JsonlParser = class {
12
16
  parseLine(line) {
13
17
  try {
@@ -1,5 +1,9 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/watcher/git-info.js
4
+ import { createRequire } from "module";
2
5
  import { execSync } from "child_process";
6
+ var require2 = createRequire(import.meta.url);
3
7
  var branchCache = /* @__PURE__ */ new Map();
4
8
  var CACHE_TTL = 3e4;
5
9
  var MAX_CACHE_SIZE = 100;
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/watcher/jsonl-parser.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  var JsonlParser = class {
3
7
  parseLine(line) {
4
8
  try {
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/watcher/opencode/opencode-parser.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  var TOOL_NAME_MAP = {
3
7
  // OpenCode lowercase → canonical PascalCase
4
8
  read: "Read",
@@ -1,7 +1,11 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/watcher/opencode/opencode-paths.js
4
+ import { createRequire } from "module";
2
5
  import { homedir } from "os";
3
6
  import { join } from "path";
4
7
  import { existsSync } from "fs";
8
+ var require2 = createRequire(import.meta.url);
5
9
  function getOpenCodeDbPath() {
6
10
  const home = homedir();
7
11
  const candidates = [
@@ -1,30 +1,27 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
- }) : x)(function(x) {
4
- if (typeof require !== "undefined") return require.apply(this, arguments);
5
- throw Error('Dynamic require of "' + x + '" is not supported');
6
- });
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
7
2
 
8
3
  // dist/watcher/opencode/opencode-watcher.js
4
+ import { createRequire } from "module";
9
5
  import chokidar from "chokidar";
10
6
  import { homedir } from "os";
11
7
  import { join } from "path";
12
8
  import { homedir as homedir2 } from "os";
13
9
  import { join as join2 } from "path";
14
10
  import { existsSync } from "fs";
11
+ var require2 = createRequire(import.meta.url);
15
12
  var __create = Object.create;
16
13
  var __defProp = Object.defineProperty;
17
14
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
18
15
  var __getOwnPropNames = Object.getOwnPropertyNames;
19
16
  var __getProtoOf = Object.getPrototypeOf;
20
17
  var __hasOwnProp = Object.prototype.hasOwnProperty;
21
- var __require2 = /* @__PURE__ */ ((x) => typeof __require !== "undefined" ? __require : typeof Proxy !== "undefined" ? new Proxy(x, {
22
- get: (a, b) => (typeof __require !== "undefined" ? __require : a)[b]
18
+ var __require = /* @__PURE__ */ ((x) => typeof require2 !== "undefined" ? require2 : typeof Proxy !== "undefined" ? new Proxy(x, {
19
+ get: (a, b) => (typeof require2 !== "undefined" ? require2 : a)[b]
23
20
  }) : x)(function(x) {
24
- if (typeof __require !== "undefined") return __require.apply(this, arguments);
21
+ if (typeof require2 !== "undefined") return require2.apply(this, arguments);
25
22
  throw Error('Dynamic require of "' + x + '" is not supported');
26
23
  });
27
- var __commonJS = (cb, mod) => function __require22() {
24
+ var __commonJS = (cb, mod) => function __require2() {
28
25
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
29
26
  };
30
27
  var __copyProps = (to, from, except, desc) => {
@@ -82,7 +79,7 @@ var require_sqlite_error = __commonJS({
82
79
  });
83
80
  var require_file_uri_to_path = __commonJS({
84
81
  "../../node_modules/file-uri-to-path/index.js"(exports, module) {
85
- var sep = __require2("path").sep || "/";
82
+ var sep = __require("path").sep || "/";
86
83
  module.exports = fileUriToPath;
87
84
  function fileUriToPath(uri) {
88
85
  if ("string" != typeof uri || uri.length <= 7 || "file://" != uri.substring(0, 7)) {
@@ -110,8 +107,8 @@ var require_file_uri_to_path = __commonJS({
110
107
  });
111
108
  var require_bindings = __commonJS({
112
109
  "../../node_modules/bindings/bindings.js"(exports, module) {
113
- var fs = __require2("fs");
114
- var path = __require2("path");
110
+ var fs = __require("fs");
111
+ var path = __require("path");
115
112
  var fileURLToPath = require_file_uri_to_path();
116
113
  var join3 = path.join;
117
114
  var dirname = path.dirname;
@@ -170,7 +167,7 @@ var require_bindings = __commonJS({
170
167
  if (path.extname(opts.bindings) != ".node") {
171
168
  opts.bindings += ".node";
172
169
  }
173
- var requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require2;
170
+ var requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
174
171
  var tries = [], i = 0, l = opts.try.length, n, b, err;
175
172
  for (; i < l; i++) {
176
173
  n = join3.apply(
@@ -397,9 +394,9 @@ var require_pragma = __commonJS({
397
394
  var require_backup = __commonJS({
398
395
  "../../node_modules/better-sqlite3/lib/methods/backup.js"(exports, module) {
399
396
  "use strict";
400
- var fs = __require2("fs");
401
- var path = __require2("path");
402
- var { promisify } = __require2("util");
397
+ var fs = __require("fs");
398
+ var path = __require("path");
399
+ var { promisify } = __require("util");
403
400
  var { cppdb } = require_util();
404
401
  var fsAccess = promisify(fs.access);
405
402
  module.exports = async function backup(filename, options) {
@@ -707,8 +704,8 @@ var require_inspect = __commonJS({
707
704
  var require_database = __commonJS({
708
705
  "../../node_modules/better-sqlite3/lib/database.js"(exports, module) {
709
706
  "use strict";
710
- var fs = __require2("fs");
711
- var path = __require2("path");
707
+ var fs = __require("fs");
708
+ var path = __require("path");
712
709
  var util = require_util();
713
710
  var SqliteError = require_sqlite_error();
714
711
  var DEFAULT_ADDON;
@@ -743,7 +740,7 @@ var require_database = __commonJS({
743
740
  if (nativeBinding == null) {
744
741
  addon = DEFAULT_ADDON || (DEFAULT_ADDON = require_bindings()("better_sqlite3.node"));
745
742
  } else if (typeof nativeBinding === "string") {
746
- const requireFunc = typeof __non_webpack_require__ === "function" ? __non_webpack_require__ : __require2;
743
+ const requireFunc = typeof __non_webpack_require__ === "function" ? __non_webpack_require__ : __require;
747
744
  addon = requireFunc(path.resolve(nativeBinding).replace(/(\.node)?$/, ".node"));
748
745
  } else {
749
746
  addon = nativeBinding;
@@ -1,8 +1,12 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/watcher/session-scanner.js
4
+ import { createRequire } from "module";
2
5
  import { readdir, stat } from "fs/promises";
3
6
  import { join as join2 } from "path";
4
7
  import { homedir } from "os";
5
8
  import { join } from "path";
9
+ var require2 = createRequire(import.meta.url);
6
10
  var config = {
7
11
  port: parseInt(process.env.AGENT_MOVE_PORT || "3333", 10),
8
12
  claudeHome: join(homedir(), ".claude"),
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/ws/broadcaster.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  var Broadcaster = class {
3
7
  stateManager;
4
8
  clients = /* @__PURE__ */ new Set();
@@ -1,4 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
1
3
  // dist/ws/ws-handler.js
4
+ import { createRequire } from "module";
5
+ var require2 = createRequire(import.meta.url);
2
6
  function registerWsHandler(app, stateManager, broadcaster, hookManager) {
3
7
  app.get("/ws", { websocket: true }, (socket, _req) => {
4
8
  console.log("WebSocket client connected");