@getopencrawl/cli-win32-x64 0.0.0-stage → 0.2.1
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/README.md +99 -2
- package/bin/opencrawl.exe +4 -0
- package/package.json +22 -4
package/README.md
CHANGED
|
@@ -1,3 +1,100 @@
|
|
|
1
|
-
#
|
|
1
|
+
# opencrawl
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The OpenCrawl CLI. This initial release installs an automatically updating
|
|
4
|
+
command and signs you in. **Index queries are not available yet.**
|
|
5
|
+
|
|
6
|
+
Once published:
|
|
7
|
+
|
|
8
|
+
```sh
|
|
9
|
+
npm install -g @getopencrawl/cli@next
|
|
10
|
+
opencrawl login
|
|
11
|
+
opencrawl status --json
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
For SSH, remote machines and coding agents:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
opencrawl login --no-browser --json
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Open the printed URL on any machine, confirm the displayed code and sign in.
|
|
21
|
+
The CLI waits for approval. It needs no client secret, inbound port, localhost
|
|
22
|
+
callback or browser on the machine running the command. No authentication runs
|
|
23
|
+
during package installation. Installation does not configure agents or telemetry.
|
|
24
|
+
|
|
25
|
+
`whoami` verifies your identity with the service. `status` reports the version,
|
|
26
|
+
sign-in state and unavailable index. `logout` removes this deployment's local
|
|
27
|
+
credentials; it does not revoke other devices or the server session. Use your
|
|
28
|
+
identity provider's session controls to revoke access remotely.
|
|
29
|
+
|
|
30
|
+
`--api https://your-deployment.example` or `OPENCRAWL_API_URL` selects a deployment.
|
|
31
|
+
Credentials stay separate for each origin. The deployment publishes the public
|
|
32
|
+
OAuth configuration at `/.well-known/opencrawl-cli`; the CLI has no provider SDK,
|
|
33
|
+
cloud credential, server secret or dependency on the hosted shell. Only HTTPS
|
|
34
|
+
is accepted, except HTTP loopback for local development.
|
|
35
|
+
|
|
36
|
+
Credentials live in `$XDG_CONFIG_HOME/opencrawl` (default `~/.config/opencrawl`),
|
|
37
|
+
with directory mode 0700 and file mode 0600 on POSIX. `OPENCRAWL_CONFIG_HOME`
|
|
38
|
+
overrides the configuration base directory. Refresh-token rotation uses a
|
|
39
|
+
per-deployment process lock and atomic writes. Tokens never appear in output.
|
|
40
|
+
Windows uses the user's profile directory and its inherited filesystem ACLs.
|
|
41
|
+
|
|
42
|
+
`--json` returns `{schemaVersion:1,data:...}` or
|
|
43
|
+
`{schemaVersion:1,error:{code,message}}`. Progress and approval instructions stay
|
|
44
|
+
on stderr. Exit codes: 0 success, 1 service/network failure, 2 sign-in required
|
|
45
|
+
or forbidden, 64 invalid arguments, 130 interrupted.
|
|
46
|
+
|
|
47
|
+
## Updates and distribution
|
|
48
|
+
|
|
49
|
+
TypeScript compiled with Bun 1.3.14 produces a self-contained binary. Users need
|
|
50
|
+
Node 22+ and npm for the bootstrap, never Bun. npm platform packages cover macOS
|
|
51
|
+
arm64/x64, Linux glibc arm64/x64 and Windows x64. Alpine/musl and Windows arm64
|
|
52
|
+
are not supported in v0. Platform packages are optional dependencies at the exact
|
|
53
|
+
launcher version; there are no install scripts.
|
|
54
|
+
|
|
55
|
+
After a command, the launcher starts a detached updater at most once per day.
|
|
56
|
+
It checks the npm `next` release channel, installs into a private user-owned cache with
|
|
57
|
+
npm integrity verification and install scripts disabled, then atomically selects
|
|
58
|
+
the complete release. The next invocation uses it. No sudo or global-directory
|
|
59
|
+
writes are needed. Offline/update failures preserve the working copy and retry
|
|
60
|
+
after 15 minutes. Concurrent updater processes share a lock; updates never
|
|
61
|
+
downgrade. An unused installation updates when it is next invoked, not on a timer.
|
|
62
|
+
|
|
63
|
+
`OPENCRAWL_NO_UPDATE=1` disables automatic updates for reproducible agent runs.
|
|
64
|
+
`opencrawl update [--json]` explicitly updates from that same channel. Cached releases live under
|
|
65
|
+
`$XDG_CACHE_HOME/opencrawl` (default `~/.cache/opencrawl`); previous releases remain
|
|
66
|
+
available for recovery. Install a newer npm version directly to override an older
|
|
67
|
+
cached version. Set the opt-out and remove `current.json` to return to the npm
|
|
68
|
+
installed version. Standalone binary installation/self-update is not offered in
|
|
69
|
+
this release; distribute the npm command.
|
|
70
|
+
|
|
71
|
+
## Development and release
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
bun install --cwd cli --frozen-lockfile --ignore-scripts
|
|
75
|
+
bun run --cwd cli typecheck
|
|
76
|
+
bun test cli
|
|
77
|
+
cd cli
|
|
78
|
+
bun run src/cli.ts --help
|
|
79
|
+
bun scripts/build.ts --current # local smoke
|
|
80
|
+
bun scripts/build.ts # all five platform packages
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The `next` dist-tag keeps this new client separate from the existing v1 `latest`
|
|
84
|
+
release. Publishing must never move that v1 tag. The dedicated CLI workflow builds and signs on macOS, tests those same
|
|
85
|
+
binaries on macOS/Linux/Windows, then publishes the five platform packages first, then publishes `@getopencrawl/cli` last. A failed platform
|
|
86
|
+
publication cannot advertise an incomplete stable launcher. Retry skips already
|
|
87
|
+
published immutable versions. Increment `cli/package.json` for every release.
|
|
88
|
+
The main core package retains its separate private GitHub Packages release.
|
|
89
|
+
|
|
90
|
+
Create the free npm `getopencrawl` organization and grant the publisher access to
|
|
91
|
+
its packages before the first release. Bootstrap publication uses an npm token
|
|
92
|
+
or interactive npm authentication; configure npm trusted publishing for each
|
|
93
|
+
package afterwards. A public npm package does not require a public GitHub repo,
|
|
94
|
+
but its tarballs and binaries are public. Review the package allowlist with
|
|
95
|
+
`npm pack --dry-run` before publishing. The current construction license remains
|
|
96
|
+
UNLICENSED pending the repository's separate public-license decision.
|
|
97
|
+
|
|
98
|
+
Prior art: OnePatch's npm/native launcher, device login, automatic refresh and
|
|
99
|
+
background upgrades; Glen's small npm entry point for agents. No query command,
|
|
100
|
+
agent hooks, MCP integration or background daemon is included in this release.
|
package/package.json
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getopencrawl/cli-win32-x64",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "OpenCrawl binary for win32/x64",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/1patch/opencrawl-core.git",
|
|
9
|
+
"directory": "cli"
|
|
10
|
+
},
|
|
11
|
+
"os": [
|
|
12
|
+
"win32"
|
|
13
|
+
],
|
|
14
|
+
"cpu": [
|
|
15
|
+
"x64"
|
|
16
|
+
],
|
|
17
|
+
"files": [
|
|
18
|
+
"bin/opencrawl.exe"
|
|
19
|
+
],
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public",
|
|
22
|
+
"registry": "https://registry.npmjs.org"
|
|
23
|
+
}
|
|
24
|
+
}
|