@rynx-ai/cli 0.1.11-beta.2 → 0.1.11-beta.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rynx-ai/cli",
3
- "version": "0.1.11-beta.2",
3
+ "version": "0.1.11-beta.21",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/rynx-ai/rynx.git",
@@ -9,6 +9,9 @@
9
9
  "description": "Rynx command-line client and local control-plane management surface.",
10
10
  "license": "MIT",
11
11
  "type": "module",
12
+ "engines": {
13
+ "node": ">=22.16"
14
+ },
12
15
  "publishConfig": {
13
16
  "registry": "https://registry.npmjs.org/",
14
17
  "access": "public"
@@ -35,14 +38,25 @@
35
38
  "./commands": {
36
39
  "types": "./dist/commands/index.d.ts",
37
40
  "default": "./dist/commands/index.js"
41
+ },
42
+ "./standalone": {
43
+ "types": "./dist/standalone.d.ts",
44
+ "default": "./dist/standalone.js"
45
+ },
46
+ "./app-runtime": {
47
+ "types": "./dist/app-runtime.d.ts",
48
+ "default": "./dist/app-runtime.js"
38
49
  }
39
50
  },
40
51
  "dependencies": {
52
+ "@clack/prompts": "^1.6.0",
41
53
  "ws": "^8.21.0",
42
- "@rynx-ai/browser-cdp": "0.1.11-beta.2",
43
- "@rynx-ai/core": "0.1.11-beta.2",
44
- "@rynx-ai/emulator": "0.1.11-beta.2",
45
- "@rynx-ai/protocol": "0.1.11-beta.2"
54
+ "@rynx-ai/daemon": "0.1.11-beta.21",
55
+ "@rynx-ai/browser-cdp": "0.1.11-beta.21",
56
+ "@rynx-ai/emulator": "0.1.11-beta.21",
57
+ "@rynx-ai/tmux": "0.1.11-beta.21",
58
+ "@rynx-ai/protocol": "0.1.11-beta.21",
59
+ "@rynx-ai/core": "0.1.11-beta.21"
46
60
  },
47
61
  "devDependencies": {
48
62
  "@types/ws": "^8.18.1"
@@ -1,7 +0,0 @@
1
- /**
2
- * Temporary bridge for commands whose daemon-owned mutation has no management
3
- * RPC yet. It crosses the package boundary as a subprocess, never by importing
4
- * daemon implementation modules into the CLI process.
5
- */
6
- export declare function runLegacyDaemonCli(args: readonly string[]): Promise<number>;
7
- export declare function resolveLegacyDaemonCli(env?: NodeJS.ProcessEnv, moduleUrl?: string): string | null;
@@ -1,63 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { existsSync, realpathSync, statSync } from "node:fs";
3
- import { fileURLToPath } from "node:url";
4
- import path from "node:path";
5
- const LEGACY_CLI_ENV = "RYNX_LEGACY_CLI_PATH";
6
- /**
7
- * Temporary bridge for commands whose daemon-owned mutation has no management
8
- * RPC yet. It crosses the package boundary as a subprocess, never by importing
9
- * daemon implementation modules into the CLI process.
10
- */
11
- export async function runLegacyDaemonCli(args) {
12
- const cliPath = resolveLegacyDaemonCli();
13
- if (!cliPath) {
14
- throw new Error("This command still requires the legacy daemon CLI, but it is not installed. " +
15
- `Set ${LEGACY_CLI_ENV} to its absolute cli.js path or use the bundled Rynx App.`);
16
- }
17
- return new Promise((resolve, reject) => {
18
- const child = spawn(process.execPath, [cliPath, ...args], {
19
- stdio: "inherit",
20
- env: process.env,
21
- });
22
- child.once("error", (error) => {
23
- reject(new Error(`failed to launch legacy daemon CLI: ${error.message}`));
24
- });
25
- child.once("exit", (code, signal) => {
26
- if (signal) {
27
- reject(new Error(`legacy daemon CLI exited with signal ${signal}`));
28
- return;
29
- }
30
- resolve(code ?? 1);
31
- });
32
- });
33
- }
34
- export function resolveLegacyDaemonCli(env = process.env, moduleUrl = import.meta.url) {
35
- const configured = env[LEGACY_CLI_ENV];
36
- if (configured !== undefined) {
37
- if (!path.isAbsolute(configured)) {
38
- throw new Error(`${LEGACY_CLI_ENV} must be an absolute path`);
39
- }
40
- return validateCliFile(configured);
41
- }
42
- // Works both in the workspace and when @rynx-ai/cli and @rynx-ai/daemon are
43
- // siblings under node_modules/@rynx-ai.
44
- const sibling = fileURLToPath(new URL("../../daemon/dist/cli.js", moduleUrl));
45
- return validateCliFile(sibling);
46
- }
47
- function validateCliFile(candidate) {
48
- try {
49
- if (!existsSync(candidate) || !statSync(candidate).isFile())
50
- return null;
51
- const resolved = realpathSync(candidate);
52
- const current = process.argv[1];
53
- if (current &&
54
- existsSync(current) &&
55
- realpathSync(current) === resolved) {
56
- return null;
57
- }
58
- return resolved;
59
- }
60
- catch {
61
- return null;
62
- }
63
- }