@clawscarf/cli 0.1.0-alpha.3 → 0.1.0-alpha.5

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/recipes/README.md CHANGED
@@ -30,8 +30,9 @@ menu; `--recipe /path/to/recipe.json` uses a custom definition. Both use the sam
30
30
  validation and editable settings. `clawscarf recipes` lists available choices.
31
31
  Recipe changes never reconfigure an existing server automatically.
32
32
 
33
- **Team server:** GPT-6 Astra through OpenAI, medium reasoning,
34
- hosted login, Connections enabled, browser off, and no packs selected. It supplies
35
- a basic team server, not a document ingestion or question-answering workflow. A future document recipe remains separate in [TODO.md](../TODO.md).
33
+ **Team server** supplies a basic team server. Its exact model, reasoning, resource,
34
+ capability and pack defaults are defined in [recipe.json](team-server/recipe.json);
35
+ `clawscarf recipes` displays the bundled selection. Document workflows are separate
36
+ [open work](../TODO.md#openclaw-curation).
36
37
 
37
38
  See [runtime and package distribution](../release/README.md).
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "team-server",
3
- "version": "0.1.0",
4
- "runtime": "../../runtime/releases/0.1.0-alpha.3.json",
3
+ "version": "0.1.1",
4
+ "runtime": "../../runtime/releases/0.1.0-alpha.5.json",
5
5
  "name": "Team server",
6
6
  "description": "A protected OpenClaw server for your team, with hosted login, managed models and optional Connections.",
7
7
  "maturity": "supported",
package/release/README.md CHANGED
@@ -16,35 +16,14 @@ catalog entries; model protocols and limits have one definition.
16
16
 
17
17
  ## Published and development use
18
18
 
19
- ```sh
20
- npm install -g @clawscarf/cli@next
21
- clawscarf configure
22
- # Or use staging for hosted login and Connections:
23
- clawscarf configure --cloud-url https://cloud-staging.clawscarf.com
24
- ```
19
+ Use the [installation guide](../deploy/deployment/installation.md) for published
20
+ CLI installation, platform requirements and runtime downloads. Use the
21
+ [development command](../scripts/README.md#development-command) for this checkout.
25
22
 
26
- No recipe argument opens the bundled recipe menu. `--recipe team-server` selects
27
- that bundled definition; `--recipe /path/to/recipe.json` reads a custom one. Its
28
- `runtime` path resolves relative to the recipe file. The runtime cannot be changed
29
- in the settings menu. `--directory` defaults to `~/clawscarf-team`.
30
-
31
- The tracked [development runtime](../runtime/releases/0.1.0-dev.json) currently names
32
- locally built Docker image IDs and checksum-pinned OpenShell tools under ignored
33
- `runtime/tools/0.0.116/`. It works on the prepared development machine; it is **not a
34
- published, clean-machine release**. Definitions belong in the tracked directories
35
- above. Compiled images, binaries and test artifacts are not source definitions.
36
-
37
- Published candidates include macOS arm64 and Linux arm64/x86-64 tools, with Linux
38
- container images for both architectures. Windows uses the Linux CLI inside WSL2
39
- (experimental);
40
- Docker Desktop must expose its Linux engine to that distribution. Intel Mac is blocked
41
- by the pinned upstream OpenShell release lacking a Darwin x86-64 executable.
42
- See the [upstream support matrix](https://docs.nvidia.com/openshell/reference/support-matrix)
43
- for host requirements. Setup validates the host,
44
- tools and ports; it pulls registry images by digest and downloads missing runtime tools
45
- when their definition supplies an HTTPS URL and SHA-256. It cannot recover a missing
46
- local development image ID. See the
47
- [installation guide](../deploy/deployment/installation.md) for diagnostics.
23
+ The tracked [development runtime](../runtime/releases/0.1.0-dev.json) is an input
24
+ for a prepared development environment, not a clean-machine release. Its exact
25
+ images and executable paths are data in that definition. Packaging resolves those
26
+ inputs to immutable candidate artifacts; runtime startup never selects latest.
48
27
 
49
28
  ## Publishing structure
50
29
 
@@ -53,20 +32,13 @@ Release candidates contain:
53
32
  - npm `@clawscarf/cli`: compiled CLI, recipes, pack files, model catalog and runtime
54
33
  definitions. No Docker images or large OpenShell executables in npm.
55
34
  - GitHub Releases: standalone CLI archives with a private Node runtime and installed
56
- dependencies, an installer, runtime tool archives, checksums and required notices.
35
+ dependencies, an installer, runtime tool archives, checksums, required notices and
36
+ the OpenClaw source provenance and patch series used by the image build.
57
37
  - GHCR: runtime/companion images referenced by immutable registry digest.
58
38
 
59
- Installing a newer CLI supplies newer recipes. Each recipe still selects an exact
60
- runtime; startup never resolves “latest.” Existing installations retain their
61
- accepted settings and runtime. Explicit configuration changes preserve unrelated
62
- native edits. The CLI package version and a runtime version need not be the same.
63
-
64
- New installations copy their runtime definition and tools into their own `runtime/`
65
- directory and retain selected pack files under `state/pack-sources/`. Removing the
66
- checkout, an npm cache entry or an older CLI package does not remove those files.
67
- Downloads are bounded, checked before becoming executable inputs, and reused on
68
- subsequent configuration. Corrupt retained tools fail verification rather than being
69
- silently replaced. Docker verifies image digests. No start command resolves latest.
39
+ The [installation guide](../deploy/deployment/installation.md#change-an-existing-installation)
40
+ owns retained configuration and acquisition behavior. CLI, recipe and runtime
41
+ versions are independent; recipe versioning belongs to [recipes](../recipes/README.md).
70
42
 
71
43
  ## Build and publish
72
44
 
@@ -74,13 +46,18 @@ silently replaced. Docker verifies image digests. No start command resolves late
74
46
  with an exact version, such as `0.1.0-alpha.1`. It:
75
47
 
76
48
  1. Runs checks and tests the compiled operator outside the checkout on macOS arm64.
77
- 2. Builds the pinned OpenClaw source and ClawScarf images on Linux arm64 and x86-64,
49
+ 2. Reconstructs OpenClaw from the pinned upstream commit and the ordered
50
+ [patch series](../runtime/openclaw/README.md), verifies the resulting source tree,
51
+ then builds ClawScarf images on Linux arm64 and x86-64,
78
52
  checks runtime capabilities and the Chromium sandbox, then starts a protected
79
- installation with private LiteLLM networking and verifies stop/start retention.
80
- It publishes image indexes containing both architectures to GHCR.
53
+ installation with private LiteLLM networking, exercises native administrator
54
+ access through the companion, and verifies stop/start retention.
55
+ Both architectures must report identical OpenClaw source provenance and patch
56
+ archives before it publishes image indexes containing both architectures to GHCR.
81
57
  3. Downloads checksum-pinned OpenShell tools, records the image digests, and assembles
82
58
  one runtime archive per host platform, individual executable assets, npm CLI,
83
- checksums and notices.
59
+ checksums and notices. Candidate assembly verifies the image builds' patch archive
60
+ and provenance against this checkout before including them in the release.
84
61
  4. Installs the resulting npm archive into a temporary prefix and checks its CLI/catalog.
85
62
  5. Builds standalone CLI archives on macOS ARM64 and Linux ARM64/x86-64 using the
86
63
  same npm payload and frozen production dependency lockfile. Downloads Node using
@@ -90,12 +67,10 @@ with an exact version, such as `0.1.0-alpha.1`. It:
90
67
 
91
68
  [Standalone packaging](../scripts/release/standalone.ts) adds a private Node executable
92
69
  and a small launcher; it does not change the CLI implementation. The
93
- [installer](install.sh) is versioned with each release and downloads only that
94
- version's archive, verifies SHA-256, and installs under `~/.local` by default.
95
- `--prefix` selects another absolute directory. It never installs a host service,
96
- changes system Node, edits shell profiles or needs sudo. To upgrade the CLI, run
97
- the newer release's installer; it switches the command and retains the old version.
98
- Runtime upgrades and installation data are separate from CLI installation.
70
+ [installer](install.sh) is versioned with the release and verifies its archive.
71
+ Its user-facing options and upgrade behavior belong to the
72
+ [installation guide](../deploy/deployment/installation.md); archive layouts belong to
73
+ [operator packaging](operator.md).
99
74
 
100
75
  The [image builder](../scripts/release/build-images.sh) and
101
76
  [candidate assembler](../scripts/release/candidate.ts) contain the build commands;
@@ -104,17 +79,20 @@ and Linux installation checks use Depot ARM64/x86-64 runners; macOS checks and p
104
79
  use GitHub-hosted runners. The Depot Managed Runners app connects the ClawScarf organization
105
80
  to the RAW Labs Depot organization. The image job installs Docker 29.5.3 on its
106
81
  disposable runner for the network features required by installations.
82
+ The [patch guide](../runtime/openclaw/README.md#release-and-verification-boundaries)
83
+ owns source identity and reconstruction. Candidate assembly packages
84
+ [openclaw-source.json and openclaw-patches.tgz](../scripts/release/candidate.ts)
85
+ with checksums; each runtime archive includes both. The runtime definition's `sourceRevision`
86
+ identifies the ClawScarf commit that owns those inputs.
107
87
  The source recipe pins the development
108
88
  runtime. Packaging resolves that same runtime to the candidate's immutable definition;
109
- it does not make recipes select latest. The first release uses the same CLI/runtime
110
- version. Recipe versions remain independent; bump them when defaults, pack selection
111
- or the selected runtime changes. Published definitions must not be overwritten.
89
+ it does not make recipes select latest. Published definitions must not be overwritten.
112
90
 
113
91
  The `release-candidate` Actions artifact is the reviewable output. Download it and test
114
92
  a fresh supported installation, administrator login, real inference and stop/start
115
93
  before publication. GitHub's macOS runner does not provide our Docker Desktop journey;
116
- its packaging checks alone do not establish that journey. The browser-selection bug
117
- remains a separate, explicit limit; the Team server recipe leaves browser disabled.
94
+ its packaging checks alone do not establish that journey. Check the owning component
95
+ limitations before claiming support for optional capabilities.
118
96
 
119
97
  [Publish release candidate](../.github/workflows/publish-release.yml) accepts a successful
120
98
  build run from `main`. It checks the source commit and artifact checksums, creates the
@@ -130,32 +108,28 @@ Repository setup:
130
108
  organization `@clawscarf` owns the public `@clawscarf/cli` package.
131
109
  - npm trusted publishing is configured for repository `clawscarf/clawscarf`, workflow
132
110
  [publish-release.yml](../.github/workflows/publish-release.yml), environment `release`.
133
- The first tested tarball was published using the owner's authenticated npm CLI because
134
- npm requires a package to exist before configuring trust. Subsequent publication
135
- uses the workflow's short-lived identity rather than a stored npm token; alpha.2
136
- was published through that workflow successfully.
111
+ Publication uses the workflow's short-lived identity rather than a stored npm token.
137
112
  - Transitive notices/source review remains open in [TODO.md](../TODO.md).
138
113
  Debian copyright files remain in the images; runtime assets include upstream notices
139
114
  and the image build exports its network-tool sources. Those files are not a claim of
140
115
  a completed license audit. Pinned Debian packages still depend on mirror retention.
141
116
 
142
- [Candidate 35532613602](https://github.com/clawscarf/clawscarf/actions/runs/35532613602)
143
- passed full checks, compiled archive installation and all eight image builds on
144
- native ARM64 and x86-64 Depot runners. The same artifacts are available in the
145
- [0.1.0-alpha.2 GitHub prerelease](https://github.com/clawscarf/clawscarf/releases/tag/v0.1.0-alpha.2)
146
- and as `@clawscarf/cli@0.1.0-alpha.2`, tagged `next`.
147
-
148
- Both Linux architectures passed protected runtime startup, native WebSocket forwarding,
149
- authenticated TLS to the private model gateway, retained stop/start and deletion on
150
- Docker 29.5.3. The final ARM64 images also passed real GPT-6 Astra inference and retained
151
- restart on macOS Docker Desktop. Candidate downloads passed SHA-256 verification and
152
- the CLI tarball installed independently of the repository. Disposable test containers,
153
- volumes and networks were deleted afterward.
154
-
155
- Staging hosted administrator login and the packaged interactive setup previously
156
- passed on macOS with alpha.1. Hosted login and real provider inference on Linux,
157
- actual Windows/WSL2 installation, production first-time signup and changed-version
158
- upgrades remain unverified; see [TODO.md](../TODO.md).
117
+ ## Release evidence
118
+
119
+ [GitHub Releases](https://github.com/clawscarf/clawscarf/releases) owns published
120
+ versions, release notes and checksummed assets. The linked candidate CI run owns its
121
+ build/test results. Inspect the selected release's runtime definition and
122
+ OpenClaw source provenance to establish what actually shipped; current source docs are
123
+ not evidence that a setting or patch is present in an older installation.
124
+
125
+ Keep release-specific acceptance logs/screenshots in CI or ignored local artifacts,
126
+ with the tested revision/image, platform and actual outcomes. Promote only the tested
127
+ candidate; publishing reuses its bytes. Do not maintain a second release journal in
128
+ component READMEs. Current capability limits remain with their owners:
129
+ [browser integration](../deploy/execution/browser-node/README.md#verified-release-limits),
130
+ [runtime boundary](../deploy/openshell/README.md), [models](../deploy/models/README.md),
131
+ [Access](../services/access/README.md) and [Connections](../plugins/connections/README.md).
132
+ Open acceptance requirements live only in [TODO.md](../TODO.md).
159
133
 
160
134
  ## Assemble runtime artifacts
161
135
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "openclaw": {
3
+ "sourceTree": "b4ea62c5851510a4914ac95878f6e657344e6caf",
3
4
  "version": "2026.9.4",
4
- "sourceRevision": "7bc487d39dc9e059bb9b19ea08152883022f83fe",
5
- "image": "clawscarf-openclaw:7bc487d39dc9e059bb9b19ea08152883022f83fe"
5
+ "sourceRevision": "7bc487d39dc9e059bb9b19ea08152883022f83fe"
6
6
  },
7
7
  "openshell": {
8
8
  "version": "0.0.116",
@@ -1,89 +1,37 @@
1
- # ClawScarf operator
1
+ # CLI archive
2
2
 
3
- The operator archive contains the compiled configuration/lifecycle CLI and its controller, model and pack
4
- operators. It runs outside the contributor checkout. It is not the complete
5
- distribution: runtime/companion images and the pinned OpenShell executables are
6
- separate inputs. The archive includes recipes, packs, the model catalog and runtime definitions.
7
- The interactive menu lists those recipes; each fixes its runtime. For a published runtime it downloads missing OpenShell tools by checksum and pulls
8
- registry images by digest. Local development image IDs cannot be downloaded. The npm
9
- package is named `@clawscarf/cli` and exposes the `clawscarf` command. Development archives
10
- remain private; the release candidate builder makes the package publishable. [Release contents](README.md) defines the publication model.
3
+ For normal installation and operation, use the [quickstart](../README.md#get-started)
4
+ and [CLI guide](../deploy/deployment/installation.md). This file describes the archive
5
+ layout; [release assembly](README.md) owns how artifacts are built and published.
6
+ The source links refer to the repository, not additional files in this archive.
11
7
 
12
- ## Install from npm
8
+ ## Standalone layout
13
9
 
14
- ```sh
15
- npm install -g @clawscarf/cli@next
16
- clawscarf configure
17
- ```
18
-
19
- The `next` tag selects the current alpha. Use an exact version instead when needed.
20
- npm installs the CLI dependencies; runtime images and tools are fetched during setup.
21
- See [release contents](README.md) for supported platforms and verification.
22
-
23
- ## Standalone download
24
-
25
- Standalone CLI archives include Node and installed dependencies. Download the archive
26
- for your platform and its `SHA256SUMS` from the same GitHub Release. The release's
27
- [installer](install.sh) selects the correct archive, verifies it and installs
28
- `clawscarf` under `~/.local/bin`. It accepts `--prefix /absolute/directory`.
29
- No system Node, npm or pnpm is required. These archives are separate from both the
30
- npm package and the runtime-tool archives.
10
+ The standalone archive contains `clawscarf/` with the command launcher, a private
11
+ `node/bin/node`, Node's license, and `package/` with the CLI, installed dependencies
12
+ and catalogs. Verify it against the same release's `SHA256SUMS`, then extract it.
13
+ Run `./clawscarf/clawscarf configure`; moving the complete directory preserves its
14
+ runtime and dependencies. The release installer performs this verification and
15
+ installation for normal use.
31
16
 
32
- The layout is `clawscarf/` containing the launcher, `node/bin/node`, Node's LICENSE,
33
- and `package/` with the CLI, dependencies and catalogs. You can also verify and
34
- extract the archive yourself, then run `./clawscarf/clawscarf configure`.
35
- Moving the whole directory preserves the bundled runtime and dependencies.
17
+ ## JavaScript archive
36
18
 
37
- ## Run the JavaScript archive
19
+ The development JavaScript archive contains compiled operator code, its production
20
+ dependency lockfile, migrations, policy/helpers, recipes, packs and runtime definitions.
21
+ It excludes companion servers, Docker images, OpenShell executables and installation
22
+ state. Publisher dependencies and TypeScript sources are not runtime requirements.
38
23
 
39
- Verify the archive against its accompanying `SHA256SUMS`, then extract it into a new
40
- directory. Unlike the standalone download, this requires Node 24.16 or later in the Node 24 line, or Node 26.1 or later, and
41
- pnpm 10.33.0. In the extracted `package` directory:
24
+ With Node/pnpm matching [package.json](../package.json), verify the archive against
25
+ its `SHA256SUMS` and extract it into a new directory. Inside `package`:
42
26
 
43
27
  ```sh
44
28
  pnpm install --prod --frozen-lockfile --ignore-scripts
45
29
  node scripts/clawscarf.js --help
46
30
  node scripts/clawscarf.js configure --directory /absolute/new-team
47
- node scripts/clawscarf.js configure --help
48
- node scripts/clawscarf.js people --help
49
- node scripts/clawscarf.js connections --help
50
31
  ```
51
32
 
52
- Dependencies are installed from the included frozen lockfile. Its root importer
53
- contains only the production dependencies referenced by the staged operator;
54
- publisher and browser dependencies are omitted. Locked transitive versions are retained.
55
- No TypeScript compiler, contributor source or build step is needed to run the commands.
56
- Platform support is determined by the selected runtime definition. Published candidates
57
- include macOS arm64 and Linux arm64/x86-64 tools; Windows runs the Linux CLI inside WSL2.
58
-
59
- The installer reviews recipe settings before credentials, prepares the installation,
60
- and offers **Start now**. It starts Docker services and protected OpenShell containers, then exits; closing
61
- the terminal leaves them running. Administrator setup supplies a private sign-in link and waits for successful
62
- browser setup, with replacement links offered on expiry. The same public
63
- operations use `configure` for new or existing installations, with `--non-interactive`
64
- for automation. `start`, `stop`, `status` and `logs` operate the selected `--directory`.
65
- Validation and preview/apply are internal. See the source installation guide for
66
- supported retained changes and administrator setup.
67
-
68
- Recipes select runtime definitions relative to their own files. New installations
69
- retain the runtime and selected packs outside the package. The development descriptor
70
- still uses local image IDs and tools prepared separately; that development archive alone
71
- cannot install on a clean machine. Published candidates instead contain registry digests
72
- and checksummed tool download URLs. Custom recipes can point to a separately prepared
73
- runtime bundle. Team server supplies a basic team server, not a document workflow.
74
-
75
- Keep installation data outside this extracted package. Stop retains state; replacing
76
- an operator archive is not a runtime upgrade or backup. Docker services keep running after
77
- terminal exit; Docker must remain available. No host service is installed.
78
- The pack operator additionally needs the pinned Python environment from
79
- `scripts/packs/requirements.txt`. Models require an external LiteLLM gateway or the unified configuration’s pinned local
80
- LiteLLM service. This archive contains no model/provider credentials. Unified preparation
81
- can issue initial scoped model and Connections credentials for fresh installations;
82
- normal start never rotates or reactivates them. Use `configure` for capability changes;
83
- `connections` manages application accounts and grants.
84
-
85
- The source checkout owns full local setup, model and pack qualification instructions.
86
- [Third-party notices](../THIRD_PARTY_NOTICES.md) are retained verbatim; their relative source references refer
87
- to the source checkout, not additional runtime payload in this archive. Installed
88
- dependencies retain their own notices. Full binary-release license qualification
89
- remains separate from this operator packaging check.
33
+ Keep installation data outside the extracted package. A development runtime that
34
+ references local image IDs needs those images prepared separately; see
35
+ [development releases](README.md#published-and-development-use).
36
+ The optional pack operator also needs its [Python dependencies](../packs/README.md#requirements-and-bindings).
37
+ Required [notices](../THIRD_PARTY_NOTICES.md) and dependency licenses accompany the payload.
@@ -28,6 +28,7 @@ export function initialConfiguration(input) {
28
28
  const settings = configurationInput.parse(input);
29
29
  const identity = settings.administratorIdentity;
30
30
  return {
31
+ marketplace: { enabled: false },
31
32
  gateway: {
32
33
  publicOrigin: settings.publicOrigin,
33
34
  mode: "local",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.1.0-alpha.3",
4
- "sourceRevision": "b5e0988a9dbbf28b40974cc1a8b38e1d9466e6f2",
3
+ "version": "0.1.0-alpha.5",
4
+ "sourceRevision": "42c66a0697e4f1d3ee09f5a669595d66e100e6e7",
5
5
  "platforms": [
6
6
  "darwin-arm64",
7
7
  "linux-arm64",
@@ -9,16 +9,16 @@
9
9
  ],
10
10
  "images": {
11
11
  "postgres": "postgres@sha256:742f40ea20b9ff2ff31db5458d127452988a2164df9e17441e191f3b72252193",
12
- "gateway": "ghcr.io/clawscarf/clawscarf/runtime@sha256:fa6cb6ee1116a17577369166e6d73391f0194b78a69743e4f8bc137dbffb1c5c",
13
- "companion": "ghcr.io/clawscarf/clawscarf/companion@sha256:cc2a9f4caf2f9a2e97d198270b8d02cfc7fc082a97c5982eb40e223fe1d2f9a8",
14
- "openshellClient": "ghcr.io/clawscarf/clawscarf/openshell-client@sha256:48167a723eac58247b5e07d8266495b7b71e51e72491a1ed63c45e2f1e5590d1",
15
- "relay": "ghcr.io/clawscarf/clawscarf/browser-relay@sha256:a6958a6ee43bb6ebcbf18a0aae477a76ac1c8d8c4ed914d319a40dca40571ae7",
12
+ "gateway": "ghcr.io/clawscarf/clawscarf/runtime@sha256:facac1180479217a9d2508512fe998eb509980b87a855d7c52a8dd7604011eea",
13
+ "companion": "ghcr.io/clawscarf/clawscarf/companion@sha256:597c060a40d2cb0b858d93322a157e64618e837b9fd061c78064fe8ca9e44191",
14
+ "openshellClient": "ghcr.io/clawscarf/clawscarf/openshell-client@sha256:a02e79a590510a3947d4930218ad8a686d37846bad1fcbd551ea02c36c4df2a1",
15
+ "relay": "ghcr.io/clawscarf/clawscarf/browser-relay@sha256:e0684c033305b6d2f85e808645796e5ea4b71a921560c42cf12d93d7c9b1ec10",
16
16
  "models": "ghcr.io/berriai/litellm:v1.100.1@sha256:a3715fa7ad8387941ab697259bd2881d68931657247a41984f90fae6d11c62bf",
17
17
  "browser": {
18
- "chromium": "ghcr.io/clawscarf/clawscarf/browser@sha256:b765e4698c471f26ff50d7f18d14ecf2fb903b92bb22e0299c3758a6429c2121",
19
- "node": "ghcr.io/clawscarf/clawscarf/browser-node@sha256:c55268a56d45f65c05f1dd7c5f6a45c2b5cdaefb552606148c42fff0967a7654",
20
- "dns": "ghcr.io/clawscarf/clawscarf/browser-dns@sha256:c9d1a557c8bb897eccd2f83693ba3bef71f8fd681e5cd4ce189942460e67e449",
21
- "egress": "ghcr.io/clawscarf/clawscarf/browser-egress@sha256:b1b69e03629211ceaf84f7fd6c3bea7fbe659f81b4a4ab00fbc30588810cd970"
18
+ "chromium": "ghcr.io/clawscarf/clawscarf/browser@sha256:3cef37e3b2de8a8f6fbad677a191837dbe391b720484aa40a5af4ef028d61781",
19
+ "node": "ghcr.io/clawscarf/clawscarf/browser-node@sha256:b75b37f97b721b1aae5924b70ae78149f519196ed86ac325829f4df99acd67ff",
20
+ "dns": "ghcr.io/clawscarf/clawscarf/browser-dns@sha256:45b3d18efe12fff755acf00fc2629ca0d8084e215be548003645a6e8183de34f",
21
+ "egress": "ghcr.io/clawscarf/clawscarf/browser-egress@sha256:cd3a89ad06d35ecf14da695578500f8874362d6789a1590858db6c7f12489c9d"
22
22
  }
23
23
  },
24
24
  "tools": {
@@ -28,34 +28,34 @@
28
28
  "darwin-arm64": {
29
29
  "file": "tools/darwin-arm64/openshell",
30
30
  "sha256": "0baeeffe0e4c184b08fde910ac9e8815fb0b8cfb808e49c0e634d7db65fb03bb",
31
- "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.3/openshell-darwin-arm64"
31
+ "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.5/openshell-darwin-arm64"
32
32
  },
33
33
  "linux-arm64": {
34
34
  "file": "tools/linux-arm64/openshell",
35
35
  "sha256": "84df9f059b16b66c83748606cc87d9edcda84b57effea19543f5c368aba7eb18",
36
- "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.3/openshell-linux-arm64"
36
+ "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.5/openshell-linux-arm64"
37
37
  },
38
38
  "linux-x64": {
39
39
  "file": "tools/linux-x64/openshell",
40
40
  "sha256": "24e85062073d512d1951c76cd3890b7bce1ab01cc36a08f88b3b43c067a402da",
41
- "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.3/openshell-linux-x64"
41
+ "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.5/openshell-linux-x64"
42
42
  }
43
43
  },
44
44
  "gateway": {
45
45
  "darwin-arm64": {
46
46
  "file": "tools/darwin-arm64/openshell-gateway",
47
47
  "sha256": "298706259ef18350f334c222e981e91583558511d50bce22727c689d261203e6",
48
- "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.3/openshell-gateway-darwin-arm64"
48
+ "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.5/openshell-gateway-darwin-arm64"
49
49
  },
50
50
  "linux-arm64": {
51
51
  "file": "tools/linux-arm64/openshell-gateway",
52
52
  "sha256": "0e660428e655e7481f34ba8a4b351554400baf791863d32555c98dddb3f09ae2",
53
- "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.3/openshell-gateway-linux-arm64"
53
+ "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.5/openshell-gateway-linux-arm64"
54
54
  },
55
55
  "linux-x64": {
56
56
  "file": "tools/linux-x64/openshell-gateway",
57
57
  "sha256": "780fc7ad871e2163f3fb866a2d0254ee682fc0d83e6261a84b350c8dcdd9f47b",
58
- "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.3/openshell-gateway-linux-x64"
58
+ "url": "https://github.com/clawscarf/clawscarf/releases/download/v0.1.0-alpha.5/openshell-gateway-linux-x64"
59
59
  }
60
60
  }
61
61
  }
@@ -32,6 +32,7 @@ export async function ensureCertificates(directory) {
32
32
  const key = createPrivateKey(await readFile(join(directory, "management-key.pem")));
33
33
  if (!cert.checkPrivateKey(key) ||
34
34
  !cert.checkHost("host.docker.internal") ||
35
+ !cert.checkHost("companion") ||
35
36
  !cert.checkIP("127.0.0.1") ||
36
37
  !cert.raw.equals(ca.raw) ||
37
38
  !cert.ca ||
@@ -64,7 +65,7 @@ export async function ensureCertificates(directory) {
64
65
  "-subj",
65
66
  "/CN=ClawScarf local management",
66
67
  "-addext",
67
- "subjectAltName=DNS:localhost,DNS:host.docker.internal,DNS:models.clawscarf.internal,IP:127.0.0.1",
68
+ "subjectAltName=DNS:localhost,DNS:companion,DNS:host.docker.internal,DNS:models.clawscarf.internal,IP:127.0.0.1",
68
69
  "-addext",
69
70
  "basicConstraints=critical,CA:TRUE",
70
71
  ]);
@@ -187,9 +187,6 @@ export const localInput = z
187
187
  export function parseLocalInput(value) {
188
188
  return localInput.parse(value);
189
189
  }
190
- export function managementOrigin() {
191
- return "https://localhost:18801";
192
- }
193
190
  function mountedPrivateFile(directory, path, name) {
194
191
  absolutePath.parse(path);
195
192
  if (resolve(path) !== join(directory, name))
@@ -225,7 +222,8 @@ export function generateLocalConfiguration(options) {
225
222
  },
226
223
  runtime: {
227
224
  origin: `http://application:${String(input.ports.native)}`,
228
- managementOrigin: managementOrigin(),
225
+ // Native proxy attribution needs the real Docker peer, not a loopback client.
226
+ managementOrigin: "https://companion:18801",
229
227
  widgetOrigin,
230
228
  widgetUpstream: `http://widgets:${String(input.ports.nativeWidgets)}`,
231
229
  },
@@ -3,5 +3,8 @@ import { fileURLToPath } from "node:url";
3
3
  export function nodeEntrypoint(relative) {
4
4
  const source = import.meta.url.endsWith(".ts");
5
5
  const file = new URL(relative + (source ? ".ts" : ".js"), import.meta.url);
6
- return [...(source ? ["--import", "tsx"] : []), fileURLToPath(file)];
6
+ return [
7
+ ...(source ? ["--import", import.meta.resolve("tsx")] : []),
8
+ fileURLToPath(file),
9
+ ];
7
10
  }