petdex-cc 0.1.2 → 0.1.4
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/LICENSE +21 -21
- package/README.md +311 -311
- package/README_CN.md +323 -323
- package/dist/bin/cli.js +13 -13
- package/dist/src/cli/install.js +12 -1
- package/dist/src/cli/install.js.map +1 -1
- package/dist/src/cli/postinstall.d.ts +2 -0
- package/dist/src/cli/postinstall.d.ts.map +1 -0
- package/dist/src/cli/postinstall.js +74 -0
- package/dist/src/cli/postinstall.js.map +1 -0
- package/dist/src/cli/preinstall.d.ts +2 -0
- package/dist/src/cli/preinstall.d.ts.map +1 -0
- package/dist/src/cli/preinstall.js +22 -0
- package/dist/src/cli/preinstall.js.map +1 -0
- package/dist/src/cli/start.d.ts.map +1 -1
- package/dist/src/cli/start.js +17 -3
- package/dist/src/cli/start.js.map +1 -1
- package/dist/src/hooks/write-scripts.js +21 -21
- package/dist/src/renderer/index.html +264 -264
- package/package.json +50 -48
- package/src/hooks/bridge.ps1 +11 -11
- package/src/hooks/bridge.sh +9 -9
- package/dist/src/renderer/wander.d.ts +0 -8
- package/dist/src/renderer/wander.d.ts.map +0 -1
- package/dist/src/renderer/wander.js +0 -137
- package/dist/src/renderer/wander.js.map +0 -1
package/dist/bin/cli.js
CHANGED
|
@@ -56,19 +56,19 @@ async function main() {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
function printHelp() {
|
|
59
|
-
console.log(`
|
|
60
|
-
petdex-cc - Desktop pet companion for Claude Code
|
|
61
|
-
|
|
62
|
-
Commands:
|
|
63
|
-
install <slug> Install a pet from Petdex and configure hooks
|
|
64
|
-
start Start the desktop pet
|
|
65
|
-
stop Stop the desktop pet
|
|
66
|
-
list List available pets from Petdex
|
|
67
|
-
switch <slug> Switch to a different pet
|
|
68
|
-
status Show current pet status and level
|
|
69
|
-
uninstall Remove petdex-cc hooks and data
|
|
70
|
-
config Configure API key and settings
|
|
71
|
-
help Show this help message
|
|
59
|
+
console.log(`
|
|
60
|
+
petdex-cc - Desktop pet companion for Claude Code
|
|
61
|
+
|
|
62
|
+
Commands:
|
|
63
|
+
install <slug> Install a pet from Petdex and configure hooks
|
|
64
|
+
start Start the desktop pet
|
|
65
|
+
stop Stop the desktop pet
|
|
66
|
+
list List available pets from Petdex
|
|
67
|
+
switch <slug> Switch to a different pet
|
|
68
|
+
status Show current pet status and level
|
|
69
|
+
uninstall Remove petdex-cc hooks and data
|
|
70
|
+
config Configure API key and settings
|
|
71
|
+
help Show this help message
|
|
72
72
|
`);
|
|
73
73
|
}
|
|
74
74
|
main().catch((err) => {
|
package/dist/src/cli/install.js
CHANGED
|
@@ -7,7 +7,7 @@ import { findPetBySlug } from "../petdex-api/client.js";
|
|
|
7
7
|
import { downloadPetAssets } from "../petdex-api/download.js";
|
|
8
8
|
import { registerHooks } from "../hooks/register.js";
|
|
9
9
|
import { writeBridgeScripts } from "../hooks/write-scripts.js";
|
|
10
|
-
import { spawn } from "node:child_process";
|
|
10
|
+
import { spawn, execSync } from "node:child_process";
|
|
11
11
|
import { getDefaultState, saveState } from "../main/storage.js";
|
|
12
12
|
import { stop } from "./stop.js";
|
|
13
13
|
// ANSI escape codes
|
|
@@ -109,6 +109,17 @@ export async function install(slug) {
|
|
|
109
109
|
async function startElectron() {
|
|
110
110
|
const require = createRequire(import.meta.url);
|
|
111
111
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
112
|
+
// Ensure @electron/remote is available (may be missing after global install)
|
|
113
|
+
try {
|
|
114
|
+
require.resolve("@electron/remote/main/index.js");
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
const pkgRoot = dirname(require.resolve("petdex-cc/package.json"));
|
|
118
|
+
execSync("npm install @electron/remote", {
|
|
119
|
+
cwd: pkgRoot,
|
|
120
|
+
stdio: "ignore",
|
|
121
|
+
});
|
|
122
|
+
}
|
|
112
123
|
const electronPath = require("electron");
|
|
113
124
|
const child = spawn(String(electronPath), [join(__dirname, "..", "main", "index.js")], {
|
|
114
125
|
detached: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
/**
|
|
4
|
+
* postinstall script:
|
|
5
|
+
* 1. Print download complete message
|
|
6
|
+
* 2. Auto-detect if user is in China and set ELECTRON_MIRROR for faster downloads
|
|
7
|
+
* 3. Ensure @electron/remote is installed (may be skipped during global install)
|
|
8
|
+
*/
|
|
9
|
+
const require = createRequire(import.meta.url);
|
|
10
|
+
const C = {
|
|
11
|
+
reset: "\x1b[0m",
|
|
12
|
+
bold: "\x1b[1m",
|
|
13
|
+
dim: "\x1b[2m",
|
|
14
|
+
cyan: "\x1b[36m",
|
|
15
|
+
yellow: "\x1b[33m",
|
|
16
|
+
green: "\x1b[32m",
|
|
17
|
+
};
|
|
18
|
+
const CHINA_MIRRORS = [
|
|
19
|
+
"https://npmmirror.com/mirrors/electron/",
|
|
20
|
+
"https://cdn.npmmirror.com/binaries/electron/",
|
|
21
|
+
];
|
|
22
|
+
async function main() {
|
|
23
|
+
// Skip during npm publish / prepublishOnly
|
|
24
|
+
if (process.env.npm_lifecycle_event === "prepublishOnly")
|
|
25
|
+
return;
|
|
26
|
+
// Print download complete message
|
|
27
|
+
console.log(` ${C.green}✔${C.reset} ${C.dim}Dependencies installed successfully!${C.reset}`);
|
|
28
|
+
console.log("");
|
|
29
|
+
ensureElectronMirror();
|
|
30
|
+
await ensureElectronRemote();
|
|
31
|
+
}
|
|
32
|
+
function ensureElectronMirror() {
|
|
33
|
+
const existing = process.env.ELECTRON_MIRROR;
|
|
34
|
+
if (existing)
|
|
35
|
+
return; // User already configured
|
|
36
|
+
// Simple heuristic: if npm registry is a China mirror, set electron mirror too
|
|
37
|
+
const npmRegistry = process.env.npm_config_registry || "https://registry.npmjs.org";
|
|
38
|
+
const isChina = npmRegistry.includes("npmmirror") ||
|
|
39
|
+
npmRegistry.includes("taobao") ||
|
|
40
|
+
npmRegistry.includes("tencent");
|
|
41
|
+
if (isChina) {
|
|
42
|
+
process.env.ELECTRON_MIRROR = CHINA_MIRRORS[0];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function ensureElectronRemote() {
|
|
46
|
+
try {
|
|
47
|
+
require.resolve("@electron/remote/main/index.js");
|
|
48
|
+
return; // Already installed
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// Not found — install it
|
|
52
|
+
const registry = process.env.npm_config_registry || "https://registry.npmjs.org";
|
|
53
|
+
await new Promise((resolve, reject) => {
|
|
54
|
+
const args = ["install", "@electron/remote", "--registry", registry];
|
|
55
|
+
const child = spawn("npm", args, {
|
|
56
|
+
cwd: process.cwd(),
|
|
57
|
+
stdio: "ignore",
|
|
58
|
+
shell: true,
|
|
59
|
+
});
|
|
60
|
+
child.on("close", (code) => {
|
|
61
|
+
if (code === 0)
|
|
62
|
+
resolve();
|
|
63
|
+
else
|
|
64
|
+
reject(new Error(`npm install @electron/remote failed (exit ${code})`));
|
|
65
|
+
});
|
|
66
|
+
}).catch(() => {
|
|
67
|
+
// Non-fatal: the start command has its own fallback
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
main().catch(() => {
|
|
72
|
+
// Silently fail — don't block npm install
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=postinstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../../src/cli/postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,GAAG;IACR,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,yCAAyC;IACzC,8CAA8C;CAC/C,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,2CAA2C;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,gBAAgB;QAAE,OAAO;IAEjE,kCAAkC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,uCAAuC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,oBAAoB,EAAE,CAAC;IACvB,MAAM,oBAAoB,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC7C,IAAI,QAAQ;QAAE,OAAO,CAAC,0BAA0B;IAEhD,+EAA+E;IAC/E,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;IAClE,MAAM,OAAO,GACX,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAClD,OAAO,CAAC,oBAAoB;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;QACzB,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;QAElE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;;oBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,IAAI,GAAG,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,oDAAoD;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAChB,0CAA0C;AAC5C,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preinstall.d.ts","sourceRoot":"","sources":["../../../src/cli/preinstall.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* preinstall script: notify user that Electron is being downloaded
|
|
3
|
+
*/
|
|
4
|
+
const C = {
|
|
5
|
+
reset: "\x1b[0m",
|
|
6
|
+
bold: "\x1b[1m",
|
|
7
|
+
dim: "\x1b[2m",
|
|
8
|
+
cyan: "\x1b[36m",
|
|
9
|
+
yellow: "\x1b[33m",
|
|
10
|
+
green: "\x1b[32m",
|
|
11
|
+
};
|
|
12
|
+
// Skip during prepublishOnly
|
|
13
|
+
if (process.env.npm_lifecycle_event === "prepublishOnly")
|
|
14
|
+
process.exit(0);
|
|
15
|
+
console.log("");
|
|
16
|
+
console.log(` ${C.cyan}${C.bold}petdex-cc${C.reset} ${C.dim}Installing dependencies...${C.reset}`);
|
|
17
|
+
console.log(` ${C.dim}⏳ Downloading Electron (~100MB), this may take a minute...${C.reset}`);
|
|
18
|
+
console.log(` ${C.dim} Tip: Set ELECTRON_MIRROR for faster downloads in China:${C.reset}`);
|
|
19
|
+
console.log(` ${C.dim} export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/${C.reset}`);
|
|
20
|
+
console.log("");
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=preinstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preinstall.js","sourceRoot":"","sources":["../../../src/cli/preinstall.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,GAAG;IACR,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,6BAA6B;AAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,gBAAgB;IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACpG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,6DAA6D,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,6DAA6D,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,oEAAoE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACrG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/start.ts"],"names":[],"mappings":"AAsBA,wBAAgB,KAAK,IAAI,IAAI,CAqB5B;AAED,wBAAgB,SAAS,IAAI,OAAO,CASnC"}
|
package/dist/src/cli/start.js
CHANGED
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
import { readFileSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
2
|
+
import { join, dirname } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
import { spawn } from "node:child_process";
|
|
4
|
+
import { spawn, execSync } from "node:child_process";
|
|
5
5
|
import { createRequire } from "node:module";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
6
7
|
const require = createRequire(import.meta.url);
|
|
7
8
|
const PID_FILE = join(homedir(), ".petdex-cc", "data", "pid.lock");
|
|
9
|
+
function ensureElectronRemote() {
|
|
10
|
+
try {
|
|
11
|
+
require.resolve("@electron/remote/main/index.js");
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
const pkgRoot = dirname(require.resolve("petdex-cc/package.json"));
|
|
15
|
+
execSync("npm install @electron/remote", {
|
|
16
|
+
cwd: pkgRoot,
|
|
17
|
+
stdio: "ignore",
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
8
21
|
export function start() {
|
|
9
22
|
if (isRunning()) {
|
|
10
23
|
console.log("Pet is already running.");
|
|
11
24
|
return;
|
|
12
25
|
}
|
|
26
|
+
ensureElectronRemote();
|
|
13
27
|
const electronPath = require("electron");
|
|
14
|
-
const mainPath = join(import.meta.
|
|
28
|
+
const mainPath = join(dirname(fileURLToPath(import.meta.url)), "..", "main", "index.js");
|
|
15
29
|
const child = spawn(String(electronPath), [mainPath], {
|
|
16
30
|
detached: true,
|
|
17
31
|
stdio: "ignore",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAEnE,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,8BAA8B,EAAE;YACvC,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,oBAAoB,EAAE,CAAC;IAEvB,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;QACpD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import * as path from "path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
const BRIDGE_SH = `#!/bin/bash
|
|
5
|
-
INPUT=$(cat)
|
|
6
|
-
PORT_FILE="$HOME/.petdex-cc/data/port.lock"
|
|
7
|
-
PORT=17321
|
|
8
|
-
if [ -f "$PORT_FILE" ]; then
|
|
9
|
-
PORT=$(cat "$PORT_FILE" 2>/dev/null || echo "17321")
|
|
10
|
-
fi
|
|
11
|
-
curl -s -X POST "http://localhost:$PORT/event" \\
|
|
12
|
-
-H "Content-Type: application/json" \\
|
|
13
|
-
-d "$INPUT" > /dev/null 2>&1 &
|
|
4
|
+
const BRIDGE_SH = `#!/bin/bash
|
|
5
|
+
INPUT=$(cat)
|
|
6
|
+
PORT_FILE="$HOME/.petdex-cc/data/port.lock"
|
|
7
|
+
PORT=17321
|
|
8
|
+
if [ -f "$PORT_FILE" ]; then
|
|
9
|
+
PORT=$(cat "$PORT_FILE" 2>/dev/null || echo "17321")
|
|
10
|
+
fi
|
|
11
|
+
curl -s -X POST "http://localhost:$PORT/event" \\
|
|
12
|
+
-H "Content-Type: application/json" \\
|
|
13
|
+
-d "$INPUT" > /dev/null 2>&1 &
|
|
14
14
|
`;
|
|
15
|
-
const BRIDGE_PS1 = `$inputJson = [System.Console]::In.ReadToEnd()
|
|
16
|
-
$portFile = Join-Path $env:USERPROFILE ".petdex-cc\\data\\port.lock"
|
|
17
|
-
$port = 17321
|
|
18
|
-
if (Test-Path $portFile) {
|
|
19
|
-
$port = Get-Content $portFile -ErrorAction SilentlyContinue
|
|
20
|
-
if (-not $port) { $port = 17321 }
|
|
21
|
-
}
|
|
22
|
-
$url = "http://localhost:$port/event"
|
|
23
|
-
try {
|
|
24
|
-
Invoke-WebRequest -Uri $url -Method POST -ContentType "application/json" -Body $inputJson -UseBasicParsing -TimeoutSec 5 | Out-Null
|
|
25
|
-
} catch {}
|
|
15
|
+
const BRIDGE_PS1 = `$inputJson = [System.Console]::In.ReadToEnd()
|
|
16
|
+
$portFile = Join-Path $env:USERPROFILE ".petdex-cc\\data\\port.lock"
|
|
17
|
+
$port = 17321
|
|
18
|
+
if (Test-Path $portFile) {
|
|
19
|
+
$port = Get-Content $portFile -ErrorAction SilentlyContinue
|
|
20
|
+
if (-not $port) { $port = 17321 }
|
|
21
|
+
}
|
|
22
|
+
$url = "http://localhost:$port/event"
|
|
23
|
+
try {
|
|
24
|
+
Invoke-WebRequest -Uri $url -Method POST -ContentType "application/json" -Body $inputJson -UseBasicParsing -TimeoutSec 5 | Out-Null
|
|
25
|
+
} catch {}
|
|
26
26
|
`;
|
|
27
27
|
export function writeBridgeScripts() {
|
|
28
28
|
const hooksDir = path.join(homedir(), ".petdex-cc", "hooks");
|