codex-webapp 0.1.6 → 0.1.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.
@@ -0,0 +1,85 @@
1
+ # Architecture
2
+
3
+ Codex WebApp is a small, local adapter for people who already have the macOS
4
+ Codex App installed on their Mac. It does not replace Codex App and it does not ship a
5
+ separate Codex runtime. The package prepares the renderer that is already on
6
+ the user's machine, serves it on a local web address, and bridges browser
7
+ requests to the local Codex command-line tools.
8
+
9
+ ## What The Package Includes
10
+
11
+ The npm package includes the adapter code:
12
+
13
+ - a command-line wrapper for `doctor`, `start`, and `smoke`
14
+ - local server code that serves static renderer files from the user's cache
15
+ - a small browser preload and bridge layer for local app-server communication
16
+ - tests, docs, and public support files
17
+
18
+ The package does not bundle or publish user or vendor runtime artifacts:
19
+
20
+ - no Codex/OpenAI binaries
21
+ - no `app.asar`
22
+ - no pre-extracted `webview/` directory
23
+ - no tokens, cookies, session IDs, or private keys
24
+ - no signed URLs
25
+ - no private session database
26
+ - no repository contents, prompts, customer data, or other user data
27
+
28
+ In short: the npm package is the adapter. The renderer source remains the Codex
29
+ App that the user installed locally.
30
+
31
+ ## Runtime Flow
32
+
33
+ When a user runs `codex-webapp start`, the adapter does this on the local
34
+ machine:
35
+
36
+ 1. Locates Codex App.
37
+ By default it expects `/Applications/Codex.app`. Users can override this
38
+ with `CODEX_APP_PATH` or point directly at a local archive with
39
+ `CODEX_WEBAPP_CODEX_ASAR`.
40
+ 2. Reads the local Codex App renderer archive.
41
+ The expected archive is `Contents/Resources/app.asar` inside the app bundle.
42
+ 3. Extracts only the `webview/` tree.
43
+ The files are copied into `~/.cache/codex-webapp/<fingerprint>/webview/`.
44
+ Other archive contents are not served.
45
+ 4. Serves the prepared renderer.
46
+ The local HTTP server defaults to `http://127.0.0.1:8214/` and serves the
47
+ cached static files with normal cache headers.
48
+ 5. Bridges browser calls to the local Codex app server.
49
+ The adapter starts `codex app-server --listen stdio://` when browser IPC
50
+ needs it, speaks JSON over stdio, and keeps that process local to the host.
51
+
52
+ The extraction cache is local machine state. It is not included in the npm
53
+ package and is not uploaded by this project. Users can remove it by deleting
54
+ `~/.cache/codex-webapp/`; the adapter will prepare it again on the next start.
55
+
56
+ ## Adapter Responsibilities
57
+
58
+ Codex WebApp owns these public, package-level responsibilities:
59
+
60
+ | Area | Responsibility |
61
+ | --- | --- |
62
+ | Codex App discovery | Find the user's local Codex App or accept explicit local paths through environment variables. |
63
+ | Local extraction | Read the local `app.asar`, extract only `webview/`, transform the local `index.html` enough to load the browser bridge, and cache the result under the user's home directory. |
64
+ | Static UI serving | Serve the prepared renderer on a localhost-first HTTP server and block unsafe path traversal requests. |
65
+ | App-server bridge | Start and communicate with the local `codex app-server` process over stdio for browser-side app calls. |
66
+ | `doctor` | Check that Codex CLI is installed, new enough, and exposes the expected local commands. |
67
+ | `start` | Confirm the binding, prepare the renderer, and start the local server. |
68
+ | `smoke` | Verify that the local URL responds, and optionally capture browser evidence. |
69
+
70
+ ## Local-First Boundary
71
+
72
+ The default binding is `127.0.0.1`. A non-loopback host requires an explicit
73
+ `--allow-non-loopback` flag because anyone who can reach the UI may be able to
74
+ operate Codex on that machine.
75
+
76
+ For phone or remote access, keep the raw UI behind a trusted access boundary
77
+ such as Tailscale, Cloudflare Access, WireGuard, or SSH tunneling. Codex WebApp
78
+ does not provide hosted access, identity, or account management.
79
+
80
+ ## Public Documentation Boundary
81
+
82
+ This repository should describe the adapter in practical terms: what it starts,
83
+ what it reads locally, what it caches locally, and how users can verify it. Keep
84
+ the wording friendly and concrete. Avoid implying that the package contains
85
+ Codex App, OpenAI binaries, private session material, or customer data.
@@ -0,0 +1,95 @@
1
+ # Clean Release Verification
2
+
3
+ Status: release operator checklist for public Codex WebApp package readiness.
4
+
5
+ This gate gives release operators a repeatable public-repo check before publishing or handing off a release candidate. It is bounded evidence, not a guarantee of release safety.
6
+
7
+ ## Command
8
+
9
+ From a clean checkout of this public repo:
10
+
11
+ ```bash
12
+ npm ci
13
+ npm run verify:clean-release
14
+ ```
15
+
16
+ The command runs:
17
+
18
+ - `npm test`
19
+ - `npm run check:public-boundary`
20
+ - `npm pack --dry-run`
21
+ - `npm run start:dry-run` when the package exposes that script
22
+
23
+ It also inspects package metadata, the dry-run pack file list, and source-tree paths for private engine package names, bundled Codex App artifacts, pre-extracted renderer payloads, credential-looking paths, session database-looking paths, customer-data-looking paths, and private dependency specs.
24
+
25
+ The path scan intentionally allows public docs to name excluded artifacts so the boundary remains explainable. Do not add private implementation notes, patent-sensitive details, secrets, binary fixtures, `app.asar`, extracted renderer files, screenshots, private repo content, or private package dependencies to this repository.
26
+
27
+ ## Optional Private Engine Check
28
+
29
+ If the private engine repository is available locally, include it without making this public package depend on it:
30
+
31
+ ```bash
32
+ npm run verify:clean-release -- --private-engine-dir /private/tmp/penso-render-envelope
33
+ ```
34
+
35
+ The same path can be provided with:
36
+
37
+ ```bash
38
+ PENSO_RENDER_ENVELOPE_DIR=/private/tmp/penso-render-envelope npm run verify:clean-release
39
+ ```
40
+
41
+ When the private repo path is absent, the gate reports a `SKIP` for private engine checks and still verifies the public package. That skip is expected for public contributors and clean npm install environments.
42
+
43
+ The optional private check runs only the private repo's `npm test` and `npm pack --dry-run`. It does not copy private files into this repo or add a package dependency.
44
+
45
+ ## Empty Directory Package Check
46
+
47
+ For a clean install-style proof, create a temporary directory outside this repo and install from the dry-run tarball or current public npm package:
48
+
49
+ ```bash
50
+ tmpdir="$(mktemp -d)"
51
+ npm pack --pack-destination "$tmpdir"
52
+ cd "$tmpdir"
53
+ npm init -y
54
+ npm install ./codex-webapp-*.tgz
55
+ npx codex-webapp start --dry-run
56
+ ```
57
+
58
+ For the already-published package, use:
59
+
60
+ ```bash
61
+ tmpdir="$(mktemp -d)"
62
+ cd "$tmpdir"
63
+ npm init -y
64
+ npx -y codex-webapp@latest doctor
65
+ npx -y codex-webapp@latest start --dry-run
66
+ ```
67
+
68
+ Keep outputs redacted. Do not attach credentials, local app archives, extracted renderer files, private repo listings, or user data.
69
+
70
+ ## Local Browser Smoke Evidence
71
+
72
+ On a Mac with Codex App installed, release evidence may include a local browser smoke run:
73
+
74
+ ```bash
75
+ npx -y codex-webapp start
76
+ npx -y codex-webapp smoke --browser --url http://127.0.0.1:8214/
77
+ ```
78
+
79
+ Screenshots are optional and should be attached only after review for tokens, cookies, prompts, private repository contents, customer data, internal URLs, or other sensitive material.
80
+
81
+ ## Evidence To Attach
82
+
83
+ Attach concise, redacted evidence:
84
+
85
+ - commit hash and branch
86
+ - `npm ci`
87
+ - `npm test`
88
+ - `npm run check:public-boundary`
89
+ - `npm run verify:clean-release`
90
+ - optional private engine check result or the explicit `SKIP`
91
+ - `npm pack --dry-run`
92
+ - empty-directory install or public `npx` dry-run proof when performed
93
+ - local Codex.app browser smoke result when performed
94
+
95
+ The evidence should show whether each check passed, failed, or was skipped. Avoid claiming complete detection or absolute protection.
@@ -8,6 +8,11 @@ affiliated with or endorsed by OpenAI.
8
8
  This is a prompt-driven npm package path, not a native Codex App marketplace
9
9
  install. Codex App runs the setup commands for the user.
10
10
 
11
+ The package is only the local adapter. It does not include Codex/OpenAI
12
+ binaries, `app.asar`, a pre-extracted `webview/`, tokens, cookies, signed URLs,
13
+ private session databases, private repository contents, or customer data. At
14
+ runtime it uses the Codex App renderer already installed on the user's Mac.
15
+
11
16
  The intended experience is simple: paste one instruction into Codex App, let
12
17
  Codex check/install the companion, start the local Codex-style Web surface, and
13
18
  run a smoke test. For access from another PC or a phone, keep the machine behind
@@ -0,0 +1,37 @@
1
+ # Codex WebApp Distribution Boundary Decision
2
+
3
+ Status: accepted for PAN-1596.
4
+
5
+ ## Decision
6
+
7
+ Codex WebApp remains a public-install-independent npm package. `npx codex-webapp` must work from the public npm registry without GitHub credentials, private package registry credentials, or access to a private engine repository.
8
+
9
+ The package will not depend on `penso-render-envelope` or any other private engine package at runtime. The public package owns only the local Codex App renderer bridge, public docs, and public-safe checks needed to start and smoke-test the installed Codex App renderer.
10
+
11
+ Future integration with private rendering work requires a new approval step and one of these public-safe paths:
12
+
13
+ - a generated subset that contains only reviewed public-safe code and metadata
14
+ - a separately licensed package that can be installed from a public or approved registry without private repository credentials
15
+
16
+ An adapter or interface boundary is preferred over transforming private implementation into public code. A generated subset is allowed only after review because comments, metadata, control flow, or test fixtures can still reveal private engine mechanics even when direct secrets are removed.
17
+
18
+ ## Rejected Options
19
+
20
+ - Direct private GitHub dependency in `package.json` or `package-lock.json`: rejected because public `npx` installs would require private credentials and would fail for normal npm users.
21
+ - Runtime fetch from a private repository or private package registry: rejected because it turns first run into an authentication-dependent install path and can expose private infrastructure assumptions.
22
+ - Vendoring private engine internals into this public package: rejected because it risks publishing private implementation detail and changes the licensing and IP surface without approval.
23
+ - Embedding patent claim text or private engine design notes in public docs: rejected because the package only needs the distribution boundary, not protected claim language or private internals.
24
+
25
+ ## License And IP Notes
26
+
27
+ This repository is public and distributed under its existing Apache-2.0 license. That license should apply only to the public code and docs intentionally shipped here. Private engine code, generated artifacts, or separately licensed packages need an explicit approval and compatibility review before being added to this package or its runtime path.
28
+
29
+ This note is an engineering distribution decision, not legal advice. It avoids making ownership, patent scope, or licensing conclusions beyond the public package boundary.
30
+
31
+ ## Guardrail
32
+
33
+ `npm test` includes a public package boundary guard. The guard fails if `package.json`, `package-lock.json`, or the `npm pack --dry-run --json` file list shows private package names, GitHub dependency specs, private registry URLs, local `file:` or `link:` dependency specs, workspace dependency specs, install lifecycle scripts, non-public npm `publishConfig.registry`, or private-boundary pack paths such as `.npmrc`, `.env`, secrets directories, or a bundled private engine directory.
34
+
35
+ The guard intentionally checks dependency and package contents paths rather than every word in docs. Public documentation may name the boundary and the private package to explain what is not included, but package code should not dynamically import or fetch it, and docs must not expose private engine internals or patent claim text.
36
+
37
+ Counterproof review for this decision specifically called out dependency confusion, lockfile `resolved` URL leakage, `optionalDependencies`, install lifecycle scripts, and IP bleed from generated subsets. The accepted follow-up was to keep all dependency collections under the guard, add install lifecycle and private registry checks, and document adapter-first future integration.
@@ -1,95 +1,41 @@
1
- > **Unofficial community project.** This project is not affiliated with,
2
- > endorsed by, sponsored by, or associated with OpenAI or the official Codex App.
3
-
4
1
  # Codex WebApp
5
2
 
6
3
  [English](../../README.md) / [日本語](../../README.ja.md) / 한국어 / [简体中文](./README.zh-CN.md)
7
4
 
8
- Codex App 사용자를 위한 브라우저 companion입니다.
9
-
10
- Codex App에 붙여 넣을 수 있는 프롬프트, `doctor`, 안전한 로컬 실행, 그리고 실제 Codex 스타일 브라우저 화면이 열리는지 확인하는 smoke test를 제공합니다.
5
+ Codex WebApp은 Codex App 사용자를 위한 비공식 local-first renderer bridge입니다. 설치된 Codex App의 `webview/` renderer를 로컬 캐시에 준비하고, `127.0.0.1`에서 제공하며, smoke test로 실제 접근 가능 여부를 확인합니다.
11
6
 
12
7
  ![Codex WebApp overview](../assets/codex-webapp-overview.svg)
13
8
 
14
- > OpenAI와 제휴하거나 OpenAI가 보증한 공식 제품이 아닙니다.
15
- >
16
- > 원본 UI 서버는 기본적으로 `localhost`에만 두세요. 휴대폰이나 다른 PC에서 접근하려면 Tailscale, Cloudflare Access, 또는 동등한 신뢰 경계를 먼저 설정하세요. 공개 IP에 직접 노출하지 마세요.
17
-
18
- Note: The software interface is currently available mainly in English. This
19
- Korean documentation has been translated for setup convenience.
20
-
21
- ## 빠른 시작: Codex App
22
-
23
- 아래 프롬프트를 Codex App에 붙여 넣으세요.
24
-
25
- ```text
26
- Please set up Codex WebApp on this machine.
27
-
28
- Use this npm package:
29
- codex-webapp
30
-
31
- Please:
32
- 1. Check my Codex version.
33
- 2. Run the package doctor.
34
- 3. Run start in dry-run mode first.
35
- 4. Start the local browser UI only on localhost.
36
- 5. Smoke-test the printed local URL.
37
-
38
- Keep everything on localhost unless I already have Tailscale, Cloudflare Access,
39
- or another trusted access boundary set up.
40
-
41
- Do not print tokens, cookies, private repo contents, customer data, or internal URLs.
42
- ```
43
-
44
- Codex는 내부적으로 다음과 같은 명령을 실행합니다.
45
-
46
- ```bash
47
- npx -y codex-webapp doctor
48
- npx -y codex-webapp start --dry-run
49
- npx -y codex-webapp start
50
- ```
51
-
52
- `npx`는 npm에 공개된 패키지를 임시로 실행하는 도구입니다. 사용자가 직접 프로젝트를 만들거나 의존성을 관리할 필요를 줄여 줍니다.
53
-
54
- ## 터미널로 실행
9
+ ## Quick Start
55
10
 
56
11
  ```bash
57
- codex --version
58
- codex remote-control --help
59
12
  npx -y codex-webapp doctor
60
13
  npx -y codex-webapp start --dry-run
61
14
  npx -y codex-webapp start
62
15
  ```
63
16
 
64
- 기본 로컬 URL:
17
+ Open:
65
18
 
66
19
  ```text
67
20
  http://127.0.0.1:8214/
68
21
  ```
69
22
 
70
- ## Smoke Test
23
+ Verify:
71
24
 
72
25
  ```bash
73
- npx -y codex-webapp smoke \
74
- --url http://127.0.0.1:8214/
26
+ npx -y codex-webapp smoke --url http://127.0.0.1:8214/
75
27
  ```
76
28
 
77
- 공개 이슈나 스크린샷에는 토큰, 쿠키, private repository, 고객 데이터, 내부 URL을 넣지 마세요.
78
-
79
- ## 현재 범위
80
-
81
- 이 패키지는 Codex App native marketplace plugin, browser extension, one-click installer, managed hosting service가 아닙니다. Codex App에 프롬프트를 붙여 넣고, Codex가 `npx`로 npm 패키지를 실행하는 방식입니다.
82
-
83
- 현재 release는 `0.1.6`이며 early, compatibility-first입니다. 현재 `0xcaff/codex-web` commit `585613f5a3a355af5aefc388ca4e31b07a472cda`를 참조하는 Codex 스타일 browser runtime을 실행하고, 그 주변에 설치, 안전, 문서, 검증 evidence 계층을 더합니다.
29
+ ## Safety
84
30
 
85
- ## Security And Privacy
31
+ This project is not affiliated with or endorsed by OpenAI.
86
32
 
87
- CLI wrapper는 사용자의 prompt, repository, token, cookie, customer data를 프로젝트가 운영하는 third-party server로 전송하지 않습니다. 패키지는 browser extension을 설치하지 않으며 browser token을 `localStorage`, `chrome.storage`, extension profile에 저장하지 않습니다.
33
+ Keep the raw UI server on localhost. For phone or remote access, use Tailscale, Cloudflare Access, WireGuard, SSH tunneling, or an equivalent trusted access boundary. Do not expose the raw UI server directly to a public IP.
88
34
 
89
- 공개 issue나 screenshot에는 secret, private repository, customer data, internal URL을 포함하지 마세요.
35
+ Do not share tokens, cookies, private repository contents, customer data, internal URLs, `.env` values, or anything containing SECRET, KEY, or TOKEN in public issues or screenshots.
90
36
 
91
- ## Acknowledgements
37
+ ## Scope
92
38
 
93
- 현재 release는 Codex 스타일 브라우저 화면을 제공하는 public project `0xcaff/codex-web`의 접근 방식을 사용하고 참조합니다. 프로젝트는 주변에 배포, doctor, 안전 경계, 문서, 검증 evidence 계층을 추가합니다.
39
+ This package starts a local renderer bridge for the Codex App already installed on this computer. It is not a native Codex App marketplace plugin, browser extension, one-click installer, or managed hosting service.
94
40
 
95
41
  License: [Apache-2.0](../../LICENSE.md)
@@ -1,95 +1,41 @@
1
- > **Unofficial community project.** This project is not affiliated with,
2
- > endorsed by, sponsored by, or associated with OpenAI or the official Codex App.
3
-
4
1
  # Codex WebApp
5
2
 
6
3
  [English](../../README.md) / [日本語](../../README.ja.md) / [한국어](./README.ko.md) / 简体中文
7
4
 
8
- 这是面向 Codex App 用户的浏览器 companion。
9
-
10
- 它提供可直接粘贴到 Codex App 的提示词、友好的 `doctor` 检查、安全的本地启动器,以及用于确认真实 Codex 风格浏览器界面是否可访问的 smoke test。
5
+ Codex WebApp 是面向 Codex App 用户的非官方、local-first renderer bridge。它会从本机已安装的 Codex App 准备 `webview/` renderer,在 `127.0.0.1` 提供本地页面,并通过 smoke test 验证页面是否可访问。
11
6
 
12
7
  ![Codex WebApp overview](../assets/codex-webapp-overview.svg)
13
8
 
14
- > 本项目不隶属于 OpenAI,也未获得 OpenAI 的官方认可或背书。
15
- >
16
- > 原始 UI 服务器默认应只监听 `localhost`。如果需要从手机或另一台电脑访问,请先使用 Tailscale、Cloudflare Access,或同等的可信访问边界。不要把原始服务器直接暴露到公网 IP。
17
-
18
- Note: The software interface is currently available mainly in English. This
19
- Simplified Chinese documentation has been translated for setup convenience.
20
-
21
- ## Codex App 快速开始
22
-
23
- 把下面的提示词粘贴到 Codex App:
24
-
25
- ```text
26
- Please set up Codex WebApp on this machine.
27
-
28
- Use this npm package:
29
- codex-webapp
30
-
31
- Please:
32
- 1. Check my Codex version.
33
- 2. Run the package doctor.
34
- 3. Run start in dry-run mode first.
35
- 4. Start the local browser UI only on localhost.
36
- 5. Smoke-test the printed local URL.
37
-
38
- Keep everything on localhost unless I already have Tailscale, Cloudflare Access,
39
- or another trusted access boundary set up.
40
-
41
- Do not print tokens, cookies, private repo contents, customer data, or internal URLs.
42
- ```
43
-
44
- Codex 通常会为你执行类似命令:
45
-
46
- ```bash
47
- npx -y codex-webapp doctor
48
- npx -y codex-webapp start --dry-run
49
- npx -y codex-webapp start
50
- ```
51
-
52
- `npx` 的简单解释:它会临时运行一个已经发布到 npm 的包,减少手动安装和管理项目依赖的麻烦。
53
-
54
- ## 终端快速开始
9
+ ## Quick Start
55
10
 
56
11
  ```bash
57
- codex --version
58
- codex remote-control --help
59
12
  npx -y codex-webapp doctor
60
13
  npx -y codex-webapp start --dry-run
61
14
  npx -y codex-webapp start
62
15
  ```
63
16
 
64
- 默认本地地址:
17
+ Open:
65
18
 
66
19
  ```text
67
20
  http://127.0.0.1:8214/
68
21
  ```
69
22
 
70
- ## Smoke Test
23
+ Verify:
71
24
 
72
25
  ```bash
73
- npx -y codex-webapp smoke \
74
- --url http://127.0.0.1:8214/
26
+ npx -y codex-webapp smoke --url http://127.0.0.1:8214/
75
27
  ```
76
28
 
77
- 公开 issue 或截图时,请不要包含 token、cookie、私有仓库、客户数据或内部 URL。
78
-
79
- ## 当前范围
80
-
81
- 这不是 Codex App native marketplace plugin、browser extension、one-click installer 或 managed hosting service。它的使用方式是:把提示词粘贴到 Codex App,让 Codex 通过 `npx` 执行 npm 包。
82
-
83
- 当前 release 为 `0.1.6`,仍处于 early 阶段,并采用 compatibility-first 方针。它目前运行一个引用 `0xcaff/codex-web` commit `585613f5a3a355af5aefc388ca4e31b07a472cda` 的 Codex 风格 browser runtime,并在其周围增加安装、安全、文档和验证证据层。
29
+ ## Safety
84
30
 
85
- ## Security And Privacy
31
+ This project is not affiliated with or endorsed by OpenAI.
86
32
 
87
- CLI wrapper 不会把你的 prompt、repository、token、cookie customer data 发送到由本项目运营的 third-party server。本包不会安装 browser extension,也不会把 browser token 写入 `localStorage`、`chrome.storage` extension profile。
33
+ Keep the raw UI server on localhost. For phone or remote access, use Tailscale, Cloudflare Access, WireGuard, SSH tunneling, or an equivalent trusted access boundary. Do not expose the raw UI server directly to a public IP.
88
34
 
89
- 公开 issue 或截图时,请不要包含 secret、私有仓库、客户数据或内部 URL。
35
+ Do not share tokens, cookies, private repository contents, customer data, internal URLs, `.env` values, or anything containing SECRET, KEY, or TOKEN in public issues or screenshots.
90
36
 
91
- ## Acknowledgements
37
+ ## Scope
92
38
 
93
- 当前 release 使用并感谢 public project `0xcaff/codex-web` 提供的 Codex 风格浏览器界面思路。本项目在此基础上增加分发、doctor、安全边界、文档和验证证据层。
39
+ This package starts a local renderer bridge for the Codex App already installed on this computer. It is not a native Codex App marketplace plugin, browser extension, one-click installer, or managed hosting service.
94
40
 
95
41
  License: [Apache-2.0](../../LICENSE.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-webapp",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Unofficial. Respectful web app surface, doctor, and safety wrapper for Codex App users.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -23,17 +23,24 @@
23
23
  "codex-webapp": "bin/codex-webapp.mjs"
24
24
  },
25
25
  "scripts": {
26
+ "check:public-boundary": "node ./scripts/check-public-package-boundary.mjs",
26
27
  "doctor": "node ./bin/codex-webapp.mjs doctor",
27
28
  "smoke": "node ./bin/codex-webapp.mjs smoke",
28
29
  "test": "node --test",
30
+ "verify:clean-release": "node ./scripts/verify-clean-release.mjs",
29
31
  "start:dry-run": "node ./bin/codex-webapp.mjs start --dry-run"
30
32
  },
33
+ "dependencies": {
34
+ "@electron/asar": "^3.4.1",
35
+ "ws": "^8.18.3"
36
+ },
31
37
  "engines": {
32
- "node": ">=20"
38
+ "node": ">=20.11"
33
39
  },
34
40
  "files": [
35
41
  "bin",
36
42
  "docs",
43
+ "scripts",
37
44
  "src",
38
45
  "ACKNOWLEDGEMENTS.md",
39
46
  "README.md",