@getopencrawl/cli-darwin-arm64 0.3.1 → 0.4.0

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 CHANGED
@@ -96,8 +96,7 @@ but its tarballs and binaries are public. Review the package allowlist with
96
96
  UNLICENSED pending the repository's separate public-license decision.
97
97
 
98
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.
99
+ background upgrades; Glen's small npm entry point for agents.
101
100
 
102
101
 
103
102
  ### Session capture
@@ -107,3 +106,83 @@ After signing in, run `opencrawl collect install` to install Claude Code and Cod
107
106
  `opencrawl collect status --json` reports the enrolled identity, queued uploads, last receipt and errors. `collect sync` reconciles active transcripts; `collect flush` retries queued uploads; `collect uninstall` removes OpenCrawl hooks and stops collection while preserving queued data.
108
107
 
109
108
  Messages, tool arguments/results and attachments are collected with native session IDs and a stable installation ID. System/developer prompts are excluded. The hosted service derives ownership from login. Self-hosted users can supply `OPENCRAWL_SESSIONS_TOKEN` and `--api` for the portable receiver. See [capture architecture and limits](../docs/session-capture.md).
109
+
110
+ ### Optional history import
111
+
112
+ `collect install` asks terminal users whether to import past Claude Code sessions,
113
+ Codex sessions, both, or skip (the default). Desktop coding sessions use the same
114
+ native transcript stores. A JSON/noninteractive install returns
115
+ `backfill.status=decision_required` with a preview and instructions for the agent
116
+ to ask the user. It never assumes consent. `npm install` itself reads no history.
117
+
118
+ Agents must show the destination and counts, explain that messages, tool
119
+ arguments/results and available attachments will leave the machine, and wait for
120
+ the user's choice. The setup request alone is not consent to import history.
121
+
122
+ ```sh
123
+ opencrawl collect install --backfill skip # future collection only
124
+ opencrawl collect backfill --dry-run --json # local metadata only; no upload
125
+ # Only after the user chooses a source:
126
+ opencrawl collect backfill --harness claude-code --yes
127
+ opencrawl collect backfill --harness codex --yes
128
+ opencrawl collect backfill --harness all --yes
129
+ ```
130
+
131
+ During setup, `collect install --backfill claude-code|codex|all` records the
132
+ user's explicit choice in the invocation and imports immediately; `--backfill
133
+ skip` skips without prompting. `--json` alone never grants approval. Use the
134
+ same `--api` as collection enrollment for preview/import.
135
+
136
+ Preview reports transcript-file counts and on-disk bytes, not unique sessions
137
+ or upload size. It scans `CLAUDE_CONFIG_DIR/projects` (default `~/.claude/projects`)
138
+ and `CODEX_HOME/{sessions,archived_sessions}` (default `~/.codex/`), including
139
+ Codex `.jsonl.zst` compressed transcripts. Archives expand one at a time into a
140
+ private temporary file, capped at 256 MiB; corrupt or oversized archives report
141
+ an incomplete import and stay on disk. Temporary expanded files are removed. It follows no
142
+ transcript symlinks and does not read conversation content. Import includes
143
+ subagent transcripts in those directories and only records the harness saved
144
+ locally. Cloud-only Claude chats, Cowork VM records, deleted sessions and missing
145
+ attachments cannot be recovered by this importer.
146
+
147
+ A one-time import reuses capture cursors, owner checks, attachment storage and
148
+ durable receipts. It does not turn on recurring historical scans. Rerun the
149
+ same approved command after an interruption; completed records are skipped.
150
+ Failures return nonzero rather than reporting a complete import. Status still
151
+ shows queued uploads and errors; `collect flush` retries uploads already queued.
152
+
153
+ ### Claude Code cloud
154
+
155
+ Cloud sessions run on a fresh Linux VM. Local hooks do not transfer. The first
156
+ setup prompt should direct hosted users to their deployment's `/capture/cloud`
157
+ page, which issues a one-year, revocable, upload-only credential and supplies the
158
+ exact setup script. Use a **personal** Claude environment: sessions using that
159
+ credential are attributed to its owner, regardless of who starts them.
160
+
161
+ Keep Limited/Trusted networking and allow the deployment's API hostname plus
162
+ npm registries. Add `OPENCRAWL_SESSIONS_TOKEN` in Environment variables and append
163
+ the provided script to Setup script. Save and start a fresh session using that
164
+ environment. No local Claude installation is required. Human-only settings and
165
+ a separate setup session are supported. Environment variables are visible to
166
+ commands in that environment; don't paste the credential into the chat or repo.
167
+
168
+ The installer detects `CLAUDE_CODE_REMOTE=true`, installs Claude hooks only and
169
+ skips systemd. `--harness claude-code --no-background` also selects this explicitly.
170
+ The setup installs the CLI at
171
+ `$HOME/.local/share/opencrawl-cloud/node_modules/.bin/opencrawl`. After a user
172
+ message, tool call and image, `collect status` must report a stored receipt and
173
+ no error. Don't use manual sync as evidence that automatic hooks work. Search
174
+ follows asynchronous indexing, not the upload acknowledgement.
175
+
176
+ Cloud batches retain the native session UUID and the web session ID from the
177
+ native `remote_session_change` attachment, and mark origin `cloud`. Internal
178
+ prompt snapshots, environment snapshots and repeated tool/MCP listings are
179
+ omitted. Image attachment bytes are stored separately using their digest.
180
+
181
+ Self-hosted operators use the same protocol: with the configured receiver token,
182
+ POST `/api/sessions/credentials` to obtain an upload-only delegation, store the
183
+ returned token directly in a private file (not a transcript), then configure the
184
+ personal environment above using their HTTPS receiver hostname. DELETE
185
+ `/api/sessions/credentials/<id>` with the receiver token revokes it. The child
186
+ credential cannot search/read, issue credentials or revoke credentials. The
187
+ receiver always binds the operator's fixed tenant/user, including for delegated
188
+ tokens. Changing that fixed identity invalidates old delegations.
package/bin/opencrawl CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/bin/opencrawl
3
- size: 63480784 bytes
4
- sha256: f614822b069fdcff24ca1e836a6ddb3c5f77ac8c4beb096ae5f491ada71863a9
3
+ size: 63497296 bytes
4
+ sha256: 7f299aa05bc0afa49ea9389732d5717ef8a2726126027930ddb241a725634b17
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getopencrawl/cli-darwin-arm64",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "OpenCrawl binary for darwin/arm64",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {