forge-remote 0.1.19 → 0.1.20

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": "forge-remote",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "Desktop relay for Forge Remote — monitor and control Claude Code sessions from your phone",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -3,7 +3,7 @@
3
3
  // Created by Daniel Wendel, CEO/Founder of Iron Forge Apps
4
4
 
5
5
  import { getDb, FieldValue } from "./firebase.js";
6
- import { readdir, realpath } from "node:fs/promises";
6
+ import { readdir, realpath, mkdir } from "node:fs/promises";
7
7
  import { homedir } from "node:os";
8
8
  import path from "node:path";
9
9
  import { spawn, execSync } from "child_process";
@@ -490,8 +490,14 @@ export async function startNewSession(desktopId, payload) {
490
490
  );
491
491
  }
492
492
 
493
- const { prompt, projectPath, model, webhookMeta, allowedTools } =
494
- payload || {};
493
+ const {
494
+ prompt,
495
+ projectPath,
496
+ model,
497
+ webhookMeta,
498
+ allowedTools,
499
+ createIfMissing,
500
+ } = payload || {};
495
501
  const db = getDb();
496
502
  const resolvedModel = model || "sonnet";
497
503
  const resolvedPath = projectPath || process.cwd();
@@ -503,7 +509,12 @@ export async function startNewSession(desktopId, payload) {
503
509
  try {
504
510
  await realpath(resolvedPath);
505
511
  } catch {
506
- throw new Error(`projectPath does not exist: ${resolvedPath}`);
512
+ if (createIfMissing) {
513
+ log.info(`Creating project directory: ${resolvedPath}`);
514
+ await mkdir(resolvedPath, { recursive: true });
515
+ } else {
516
+ throw new Error(`projectPath does not exist: ${resolvedPath}`);
517
+ }
507
518
  }
508
519
 
509
520
  const projectName = resolvedPath.split("/").pop();