grok-bot-cli 0.8.0 → 0.10.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/CHANGELOG.md +30 -0
- package/README.md +65 -0
- package/dist/.claude-plugin/marketplace.json +1 -1
- package/dist/.claude-plugin/plugin.json +1 -1
- package/dist/.codex-plugin/plugin.json +1 -1
- package/dist/.cursor-plugin/plugin.json +1 -1
- package/dist/.mcp.json +1 -1
- package/dist/AGENTS.md +12 -0
- package/dist/INSTALL.md +47 -39
- package/dist/README.md +65 -0
- package/dist/agent-bundle.compile-evidence.json +1 -1
- package/dist/agent-bundle.manifest.json +1 -1
- package/dist/agent-bundle.package-compile-evidence.json +1 -1
- package/dist/bin/gbot-flight.mjs +25242 -31532
- package/dist/bin/gbot-install.js +71105 -135394
- package/dist/bin/gbot.mjs +43299 -90567
- package/dist/install.mjs +66 -142
- package/dist/mcp/mcp-claude-channel-8029413c.mjs +45557 -0
- package/dist/mcp/mcp-grok-bot-b8c2461e-flight.mjs +23740 -29992
- package/dist/mcp/mcp-grok-bot-b8c2461e.mjs +60333 -111638
- package/dist/package.json +5 -3
- package/dist/plugin.json +1 -1
- package/dist/scripts/gbot-relay.mjs +26991 -60592
- package/dist/skills/talk-to-grok-bot/SKILL.md +22 -81
- package/dist/skills/talk-to-grok-bot/references/bridge-administration.md +84 -0
- package/package.json +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# grok-bot-cli
|
|
2
2
|
|
|
3
|
+
## 0.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- a619538: Add an opt-in native Claude Code channel, with private local messaging and correlated replies through `gbot claude send` and `claude_send`.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 75521df: Update agent-bundle to the 0.3.1 release preview (899755dc6d) and rebuild the plugin artifact.
|
|
12
|
+
- 3f64ac2: Update agent-bundle to b4e38409f4 so generated executables no longer ship bundled dependencies' comments.
|
|
13
|
+
- 872eb61: Reduce the messaging skill's default context by loading bridge administration and diagnostic procedures only when needed.
|
|
14
|
+
- 657ed43: Update the Claude channel MCP server SDK to 2.1.0.
|
|
15
|
+
|
|
16
|
+
## 0.9.1
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- f2482eb: Build the plugin with the agent-bundle 0.3.0 pkg.pr.new preview (4f62216f30).
|
|
21
|
+
- c49a0b8: Ship generated host marketplaces and the complete Agent Bundle artifact in the GitHub repository so Codex, Claude Code, and Cursor can install it without a local build.
|
|
22
|
+
|
|
23
|
+
## 0.9.0
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- a1031eb: Add `gbot skills list|add|remove` for the account-wide Grok Bot skill library over the gateway (`getAgentWorkflows`, `importAgentWorkflowText`, `deleteAgentWorkflow`). Grok Bot has no per-bot skill attach: `add` makes a `SKILL.md` visible to every bot, `remove` deletes a `workflow` skill for every bot and refuses `managed`, `plugin`, and `automation` entries. Skills have no `--files` mode.
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- fde32cd: Preserve nested Codex MCP overrides when the generated installer replaces an enabled plugin. Refuse replacement when plugin-level enablement is disabled or unknown.
|
|
32
|
+
|
|
3
33
|
## 0.8.0
|
|
4
34
|
|
|
5
35
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -29,6 +29,9 @@ gbot send Researcher "Summarize the launch status."
|
|
|
29
29
|
gbot send Launch "Share your updates."
|
|
30
30
|
gbot thread Researcher
|
|
31
31
|
gbot thread Researcher --after <last-entry-id> --json
|
|
32
|
+
gbot skills list
|
|
33
|
+
gbot skills add ./skills/poteto-mode
|
|
34
|
+
gbot skills remove poteto-mode
|
|
32
35
|
gbot groups delete Launch
|
|
33
36
|
gbot bots delete Researcher
|
|
34
37
|
gbot bots delete Writer
|
|
@@ -36,6 +39,15 @@ gbot bots delete Writer
|
|
|
36
39
|
|
|
37
40
|
`update` fields: `--name` `--description` `--title` `--avatar-shape` `--avatar-color` `--notify on|off` `--hidden on|off`. `--description` is the UI Instructions field.
|
|
38
41
|
|
|
42
|
+
`gbot skills` manages the skill library over the gateway. Grok Bot keeps one
|
|
43
|
+
library per account; every bot reads the same list, and there is no per-bot
|
|
44
|
+
attach. `add` posts a `SKILL.md` (or a directory holding one) and every bot sees
|
|
45
|
+
it. `list` shows each entry's `source`: `workflow` is your library, `managed` is
|
|
46
|
+
team-published, `plugin` comes from a marketplace install, `automation` is a
|
|
47
|
+
scheduled routine. `remove` deletes a `workflow` skill by id or exact name, for
|
|
48
|
+
every bot, and refuses the other sources. Adding the same file twice yields two
|
|
49
|
+
same-named skills; remove by id then. There is no `--files` mode for skills.
|
|
50
|
+
|
|
39
51
|
`gbot thread --after ID` filters the bounded tail locally and returns entries strictly
|
|
40
52
|
after that opaque entry ID. Its JSON includes `cursor`, `entryCount`, and `gapReset`.
|
|
41
53
|
An unchanged poll has `entryCount: 0`; an unknown or expired ID returns one bounded
|
|
@@ -47,6 +59,45 @@ Options are command-local (for example, `gbot send --history-dir DIR ...`);
|
|
|
47
59
|
a JSON document on stdout with `exitCode` (see below), every other command
|
|
48
60
|
prints the failure message on stderr and exits 1.
|
|
49
61
|
|
|
62
|
+
## Messaging a live Claude Code session
|
|
63
|
+
|
|
64
|
+
Claude Code has a native [Channels API](https://code.claude.com/docs/en/channels-reference),
|
|
65
|
+
so this integration needs no desktop shim. The Claude plugin includes an opt-in
|
|
66
|
+
`claude-channel` MCP server; Codex and Grok callers can use `claude_send`, or the
|
|
67
|
+
local CLI, to send a message and receive Claude's explicit reply.
|
|
68
|
+
|
|
69
|
+
After installing this version of the Claude plugin, launch a named session:
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
GROK_BOT_CLAUDE_CHANNEL=review claude --dangerously-load-development-channels plugin:gbot@gbot-marketplace
|
|
73
|
+
# From another terminal on the same machine and user account:
|
|
74
|
+
gbot claude send review "Reply with GBOT_CLAUDE_OK" --json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Accept Claude's development-channel prompt. Custom channels are a research preview
|
|
78
|
+
and require session opt-in and any applicable organization policy. Claude must be
|
|
79
|
+
signed in. The development flag permits this channel; it does not bypass tool
|
|
80
|
+
approvals. `claude_send` takes `name`, `message`, and optional `timeoutMs` (default
|
|
81
|
+
60000, maximum 120000). Claude uses `claude_reply` with the incoming `request_id`.
|
|
82
|
+
Only that explicit reply completes the call; a notification alone is not proof
|
|
83
|
+
Claude received or processed the message. Timeout/disconnect returns `unknown`;
|
|
84
|
+
do not automatically resend.
|
|
85
|
+
|
|
86
|
+
Each name selects one live session. Sockets live under `~/.grok-bot-cli/claude/`
|
|
87
|
+
in a user-owned 0700 directory, with mode 0600 sockets. Access grants messaging
|
|
88
|
+
to local processes running as the same user. No TCP listener, automatic permission
|
|
89
|
+
approval, conversation-history scraping, or background daemon is installed.
|
|
90
|
+
Without `GROK_BOT_CLAUDE_CHANNEL`, the channel is disabled. Shut down the owning
|
|
91
|
+
Claude session to close it. A crashed process may leave a socket: confirm the
|
|
92
|
+
named session is stopped before removing that socket and restarting. A second
|
|
93
|
+
session with the same name fails rather than taking over the first.
|
|
94
|
+
|
|
95
|
+
This targets opted-in Claude Code sessions, not arbitrary existing sessions or
|
|
96
|
+
ordinary Claude Desktop chats. Remote Grok runtimes need local tool execution to
|
|
97
|
+
reach the socket; installing an MCP artifact does not establish that connection.
|
|
98
|
+
Claude can use the existing `gbot_send`/`gbot_thread` and `codex_send` tools for
|
|
99
|
+
outgoing messages; its own tool permissions still apply.
|
|
100
|
+
|
|
50
101
|
## Automatic Grok ↔ Codex replies
|
|
51
102
|
|
|
52
103
|
In a native Codex invocation, `gbot_send` sends once and returns a durable exchange
|
|
@@ -205,6 +256,20 @@ Codex conversation, and managed bridge tools, plus a `talk-to-grok-bot` skill.
|
|
|
205
256
|
The tools bundle this repository's gateway client and worker, so the installed
|
|
206
257
|
plugin does not need `gbot` on `PATH`.
|
|
207
258
|
|
|
259
|
+
Install the committed bundle directly from GitHub without cloning or building it:
|
|
260
|
+
|
|
261
|
+
```sh
|
|
262
|
+
codex plugin marketplace add ScriptedAlchemy/grok-bot-cli
|
|
263
|
+
codex plugin add gbot@gbot-marketplace
|
|
264
|
+
|
|
265
|
+
claude plugin marketplace add ScriptedAlchemy/grok-bot-cli
|
|
266
|
+
claude plugin install gbot@gbot-marketplace
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Cursor users can add `https://github.com/ScriptedAlchemy/grok-bot-cli` as a
|
|
270
|
+
marketplace repository from Customize → Plugins. The repository-root host
|
|
271
|
+
marketplaces all point at the committed `artifact/` bundle.
|
|
272
|
+
|
|
208
273
|
Install the bundled host projections from the same npm package:
|
|
209
274
|
|
|
210
275
|
```sh
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","name":"gbot-marketplace","owner":{"name":"gbot"},"plugins":[{"author":{"name":"Zack Jackson","url":"https://github.com/ScriptedAlchemy"},"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","homepage":"https://github.com/ScriptedAlchemy/grok-bot-cli#readme","keywords":["grok","grok-bot","grokbot","gbot","cursor","ai-agents","automation","terminal","cli","agent-bundle"],"license":"MIT","name":"gbot","repository":"https://github.com/ScriptedAlchemy/grok-bot-cli","source":"./","version":"0.
|
|
1
|
+
{"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","name":"gbot-marketplace","owner":{"name":"gbot"},"plugins":[{"author":{"name":"Zack Jackson","url":"https://github.com/ScriptedAlchemy"},"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","homepage":"https://github.com/ScriptedAlchemy/grok-bot-cli#readme","keywords":["grok","grok-bot","grokbot","gbot","cursor","ai-agents","automation","terminal","cli","agent-bundle"],"license":"MIT","name":"gbot","repository":"https://github.com/ScriptedAlchemy/grok-bot-cli","source":"./","version":"0.10.0"}]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"author":{"name":"gbot"},"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","name":"gbot","version":"0.
|
|
1
|
+
{"author":{"name":"gbot"},"channels":[{"server":"claude-channel"}],"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","name":"gbot","version":"0.10.0"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"author":{"name":"Zack Jackson","url":"https://github.com/ScriptedAlchemy"},"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","homepage":"https://github.com/ScriptedAlchemy/grok-bot-cli#readme","interface":{"capabilities":["mcp","skills"],"category":"Productivity","defaultPrompt":["Help me use gbot."],"developerName":"gbot","displayName":"gbot","longDescription":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","shortDescription":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links."},"keywords":["grok","grok-bot","grokbot","gbot","cursor","ai-agents","automation","terminal","cli","agent-bundle"],"license":"MIT","mcpServers":"./.codex-plugin/mcp.json","name":"gbot","repository":"https://github.com/ScriptedAlchemy/grok-bot-cli","skills":"./skills/","version":"0.
|
|
1
|
+
{"author":{"name":"Zack Jackson","url":"https://github.com/ScriptedAlchemy"},"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","homepage":"https://github.com/ScriptedAlchemy/grok-bot-cli#readme","interface":{"capabilities":["mcp","skills"],"category":"Productivity","defaultPrompt":["Help me use gbot."],"developerName":"gbot","displayName":"gbot","longDescription":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","shortDescription":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links."},"keywords":["grok","grok-bot","grokbot","gbot","cursor","ai-agents","automation","terminal","cli","agent-bundle"],"license":"MIT","mcpServers":"./.codex-plugin/mcp.json","name":"gbot","repository":"https://github.com/ScriptedAlchemy/grok-bot-cli","skills":"./skills/","version":"0.10.0"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"author":{"name":"Zack Jackson"},"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","displayName":"gbot","homepage":"https://github.com/ScriptedAlchemy/grok-bot-cli#readme","keywords":["grok","grok-bot","grokbot","gbot","cursor","ai-agents","automation","terminal","cli","agent-bundle"],"license":"MIT","mcpServers":"./.cursor-plugin/mcp.json","name":"gbot","repository":"https://github.com/ScriptedAlchemy/grok-bot-cli","skills":"./skills/","version":"0.
|
|
1
|
+
{"author":{"name":"Zack Jackson"},"description":"Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.","displayName":"gbot","homepage":"https://github.com/ScriptedAlchemy/grok-bot-cli#readme","keywords":["grok","grok-bot","grokbot","gbot","cursor","ai-agents","automation","terminal","cli","agent-bundle"],"license":"MIT","mcpServers":"./.cursor-plugin/mcp.json","name":"gbot","repository":"https://github.com/ScriptedAlchemy/grok-bot-cli","skills":"./skills/","version":"0.10.0"}
|
package/dist/.mcp.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mcpServers":{"grok-bot":{"args":["${CLAUDE_PLUGIN_ROOT}/mcp/mcp-grok-bot-b8c2461e.mjs"],"command":"node","env":{"AGENT_BUNDLE_PLUGIN_ROOT":"${CLAUDE_PLUGIN_ROOT}"},"type":"stdio"}}}
|
|
1
|
+
{"mcpServers":{"claude-channel":{"args":["${CLAUDE_PLUGIN_ROOT}/mcp/mcp-claude-channel-8029413c.mjs"],"command":"node","env":{"AGENT_BUNDLE_PLUGIN_ROOT":"${CLAUDE_PLUGIN_ROOT}"},"type":"stdio"},"grok-bot":{"args":["${CLAUDE_PLUGIN_ROOT}/mcp/mcp-grok-bot-b8c2461e.mjs"],"command":"node","env":{"AGENT_BUNDLE_PLUGIN_ROOT":"${CLAUDE_PLUGIN_ROOT}"},"type":"stdio"}}}
|
package/dist/AGENTS.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Agent instructions
|
|
2
|
+
|
|
3
|
+
Publish exclusively through `.github/workflows/release.yml` with GitHub OIDC.
|
|
4
|
+
Its package release script is a workflow entrypoint: never publish locally,
|
|
5
|
+
request npm publishing tokens/login, or troubleshoot local publishing auth.
|
|
6
|
+
Use the existing Changesets flow and verify Actions plus the registry before
|
|
7
|
+
updating installations.
|
|
8
|
+
|
|
9
|
+
Delete dead code, obsolete scripts, duplicate workarounds, and unused legacy
|
|
10
|
+
installs. Check active owners/references first; preserve auth, operator env,
|
|
11
|
+
durable data, and intentional duplicate suppression. Prefer existing helpers,
|
|
12
|
+
stdlib, and native features over new wrappers or fallback frameworks.
|
package/dist/INSTALL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Message Grok Bot from Codex, Claude Code, and Cursor, with managed automatic replies and explicit Codex conversation links.
|
|
4
4
|
|
|
5
|
-
Version: `0.
|
|
5
|
+
Version: `0.10.0`
|
|
6
6
|
|
|
7
7
|
Run these commands from this bundle directory. The bundle is self-contained: every command below is
|
|
8
8
|
a host command or the bundled installer, and nothing requires the `agent-bundle` CLI. Where that CLI is
|
|
@@ -33,7 +33,7 @@ claude plugin install gbot@gbot-marketplace --scope user
|
|
|
33
33
|
|
|
34
34
|
With the optional `agent-bundle` CLI, `agent-bundle install claude --from ./` runs this sequence
|
|
35
35
|
automatically when the installed copy has the same version but a different content hash; `--replace`
|
|
36
|
-
|
|
36
|
+
forces it.
|
|
37
37
|
|
|
38
38
|
### Uninstall
|
|
39
39
|
|
|
@@ -42,7 +42,7 @@ claude plugin uninstall gbot@gbot-marketplace --scope user --keep-data
|
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
Match the scope the plugin was installed with (`user`, `project`, or `local`). `--keep-data` keeps durable
|
|
45
|
-
runtime state (Claude orphans the cached copy
|
|
45
|
+
runtime state (Claude orphans the cached copy for its ~14-day grace period); omit it to
|
|
46
46
|
remove `~/.claude/plugins/data/<id>/` immediately.
|
|
47
47
|
|
|
48
48
|
The marketplace `gbot-marketplace` stays registered. Remove it only when nothing else installs from it:
|
|
@@ -61,9 +61,10 @@ would be removed and `agent-bundle uninstall claude --from ./` reverses the reco
|
|
|
61
61
|
(or under `$CLAUDE_CONFIG_DIR`; `user` is the install scope, pass `--scope project` or `--scope local` to match
|
|
62
62
|
a scoped install), and `uninstall` consumes it, running the two commands above in order and retaining the
|
|
63
63
|
marketplace while any other plugin, scope, or project still installs from it. Durable runtime state
|
|
64
|
-
is kept by default; `--purge-data --confirm-purge` removes
|
|
65
|
-
immediately. A missing receipt or a cached copy that no longer matches it is refused unless `--force`;
|
|
66
|
-
|
|
64
|
+
is kept by default; `--purge-data --confirm-purge` removes the receipt-owned state roots and
|
|
65
|
+
`~/.claude/plugins/data/<id>/` immediately. A missing receipt or a cached copy that no longer matches it is refused unless `--force`;
|
|
66
|
+
`--purge-data --confirm-purge` without a receipt is refused even with `--force` (`AB7009`); a second run is a
|
|
67
|
+
`not-installed` no-op.
|
|
67
68
|
|
|
68
69
|
## Codex
|
|
69
70
|
|
|
@@ -76,18 +77,23 @@ codex plugin add gbot@gbot-marketplace
|
|
|
76
77
|
|
|
77
78
|
### Reinstall after a same-version rebuild
|
|
78
79
|
|
|
79
|
-
`codex plugin add` re-copies the marketplace snapshot
|
|
80
|
-
|
|
80
|
+
`codex plugin add` re-copies the marketplace snapshot and keeps plugin settings in `config.toml`.
|
|
81
|
+
`codex plugin remove` deletes that settings subtree, including nested MCP overrides, so a same-version
|
|
82
|
+
refresh is add-only:
|
|
81
83
|
|
|
82
84
|
```sh
|
|
83
|
-
codex plugin remove gbot@gbot-marketplace
|
|
84
85
|
codex plugin marketplace add ./
|
|
85
86
|
codex plugin add gbot@gbot-marketplace
|
|
86
87
|
```
|
|
87
88
|
|
|
89
|
+
Native add resets a plugin-level `enabled = false` to `true`.
|
|
90
|
+
The native plugin CLI has no qualified settings-preserving update API, so the optional
|
|
91
|
+
`agent-bundle install` refuses replacement when `plugin list --json` reports `enabled: false`
|
|
92
|
+
or omits `enabled` (`AB7004`) and leaves that install unchanged. Enable the plugin in Codex first, then rerun.
|
|
93
|
+
|
|
88
94
|
With the optional `agent-bundle` CLI, `agent-bundle install codex --from ./` runs this sequence
|
|
89
95
|
automatically when the installed copy has the same version but a different content hash; `--replace`
|
|
90
|
-
|
|
96
|
+
forces it.
|
|
91
97
|
|
|
92
98
|
### Uninstall
|
|
93
99
|
|
|
@@ -95,8 +101,7 @@ automatically when the installed copy has the same version but a different conte
|
|
|
95
101
|
codex plugin remove gbot@gbot-marketplace
|
|
96
102
|
```
|
|
97
103
|
|
|
98
|
-
Codex 0.147.0 deletes the cached plugin tree
|
|
99
|
-
option.
|
|
104
|
+
Codex 0.147.0 deletes the cached plugin tree on `plugin remove` and has no keep-data option.
|
|
100
105
|
|
|
101
106
|
The marketplace `gbot-marketplace` stays registered. Remove it only when nothing else installs from it:
|
|
102
107
|
`codex plugin list` shows every other plugin from it.
|
|
@@ -109,8 +114,10 @@ With the optional `agent-bundle` CLI, `agent-bundle uninstall codex --from ./ --
|
|
|
109
114
|
would be removed and `agent-bundle uninstall codex --from ./` reverses the recorded registrations.
|
|
110
115
|
`agent-bundle install codex` records a receipt at `~/.codex/agent-bundle/receipts/gbot.gbot-marketplace.user.json` (or
|
|
111
116
|
under `$CODEX_HOME`), and `uninstall` consumes it, running the two commands above in order. `--keep-data`
|
|
112
|
-
|
|
113
|
-
|
|
117
|
+
keeps the framework state roots the receipt records outside the cached tree (`kept`); with nothing there the
|
|
118
|
+
result says so (`unavailable`). A missing receipt or a cached
|
|
119
|
+
copy that no longer matches it is refused unless `--force`; `--purge-data --confirm-purge` without a receipt is
|
|
120
|
+
refused even with `--force` (`AB7009`); a second run is a `not-installed` no-op.
|
|
114
121
|
|
|
115
122
|
## Cursor
|
|
116
123
|
|
|
@@ -132,37 +139,38 @@ manifest-declared `hooks/hooks.json` from that directory; plugin hooks run from
|
|
|
132
139
|
The installer writes an install receipt (`.agent-bundle-install.json`: plugin, version, content hash,
|
|
133
140
|
owned files) beside the plugin manifest. Re-running `node ./install.mjs` on an identical artifact
|
|
134
141
|
is a no-op that says so. When the installed copy has the same version but different content, the
|
|
135
|
-
installer replaces its owned files in place and leaves
|
|
142
|
+
installer replaces its owned files in place and leaves unowned entries untouched:
|
|
136
143
|
|
|
137
144
|
```sh
|
|
138
145
|
node ./install.mjs # same-version content drift of a receipt-managed copy is replaced
|
|
139
|
-
node ./install.mjs --replace # also replace a different installed version
|
|
146
|
+
node ./install.mjs --replace # also replace a different installed version
|
|
140
147
|
```
|
|
141
148
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
manually. The optional `agent-bundle` CLI applies the same policy through
|
|
149
|
+
A directory without a receipt naming this plugin (including a copy placed before install receipts
|
|
150
|
+
existed) is foreign and always refused with an installed-versus-artifact content-hash comparison;
|
|
151
|
+
remove it manually and reinstall. The optional `agent-bundle` CLI applies the same policy through
|
|
145
152
|
`agent-bundle install cursor --from ./ [--replace]`.
|
|
146
153
|
|
|
147
154
|
### Uninstall
|
|
148
155
|
|
|
149
156
|
```sh
|
|
150
157
|
node ./install.mjs --uninstall --plan # print exactly what would be removed
|
|
151
|
-
node ./install.mjs --uninstall # remove the receipt-owned files; keep state
|
|
152
|
-
node ./install.mjs --uninstall --purge-data --confirm-purge # also remove durable runtime state
|
|
158
|
+
node ./install.mjs --uninstall # remove the receipt-owned files; keep durable state
|
|
159
|
+
node ./install.mjs --uninstall --purge-data --confirm-purge # also remove receipt-owned durable runtime state
|
|
153
160
|
node ./install.mjs --uninstall --mode marketplace # remove a staged marketplace repository
|
|
154
161
|
```
|
|
155
162
|
|
|
156
163
|
Uninstall removes exactly what the receipt owns: the listed files, the directories the installer
|
|
157
164
|
created (including `~/.cursor/plugins/local` when the installer made it), and nothing else. Durable
|
|
158
|
-
runtime state
|
|
159
|
-
server, the `~/.cursor/agent-bundle/plugin-data/<name>` directory the receipt records
|
|
160
|
-
unless `--purge-data --confirm-purge` is passed (a kept data directory leaves a
|
|
161
|
-
purge still finds it; an empty one is pruned); unowned
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
165
|
+
runtime state (the framework state roots the receipt records with ownership evidence) — and, for an Agent
|
|
166
|
+
Plugins pack with a stdio server, the `~/.cursor/agent-bundle/plugin-data/<name>` directory the receipt records
|
|
167
|
+
as `PLUGIN_DATA` — is kept unless `--purge-data --confirm-purge` is passed (a kept data directory leaves a
|
|
168
|
+
remnant receipt behind so a later purge still finds it; an empty one is pruned); unowned entries, including a
|
|
169
|
+
`state/` directory beside the plugin, are left in place and listed. A receipt with no recorded state location
|
|
170
|
+
(written before the install could record it) retains the current environment's default as unproven; a
|
|
171
|
+
keep-data run cannot turn that observation into later purge authority. A directory without a receipt naming
|
|
172
|
+
this plugin is foreign and always refused, with or without `--force`; owned content that no longer matches
|
|
173
|
+
the receipt is refused unless `--force`.
|
|
166
174
|
A second run is a `Not installed` no-op. With the optional `agent-bundle` CLI,
|
|
167
175
|
`agent-bundle uninstall cursor --from ./ [--mode marketplace]` applies the same policy, and
|
|
168
176
|
`agent-bundle doctor --from ./` shows the lifecycle stage (placed, registered, enabled, active) with
|
|
@@ -249,21 +257,21 @@ other clients; the recorded clients above name which of them expand the placehol
|
|
|
249
257
|
### Reinstall after a same-version rebuild
|
|
250
258
|
|
|
251
259
|
The installer records an install receipt (`.agent-bundle-install.json`) and replaces its owned files in
|
|
252
|
-
place when the same version was rebuilt with different content;
|
|
253
|
-
touched. Pass `--replace`
|
|
254
|
-
copy installed before receipts existed
|
|
255
|
-
comparison. For a client that manages its own copy, remove and re-add
|
|
256
|
-
when only content changed at the same version.
|
|
260
|
+
place when the same version was rebuilt with different content; unowned entries are never
|
|
261
|
+
touched. Pass `--replace` to replace a different installed version. A directory without a receipt
|
|
262
|
+
naming this plugin (including a copy installed before receipts existed) is foreign and refused with a
|
|
263
|
+
content-hash comparison; remove it manually. For a client that manages its own copy, remove and re-add
|
|
264
|
+
the plugin through that client when only content changed at the same version.
|
|
257
265
|
|
|
258
266
|
### Uninstall
|
|
259
267
|
|
|
260
268
|
```sh
|
|
261
269
|
node ./install.mjs --uninstall --plan # print exactly what would be removed
|
|
262
|
-
node ./install.mjs --uninstall # remove the receipt-owned files; keep state
|
|
263
|
-
node ./install.mjs --uninstall --purge-data --confirm-purge # also remove durable runtime state
|
|
270
|
+
node ./install.mjs --uninstall # remove the receipt-owned files; keep durable state
|
|
271
|
+
node ./install.mjs --uninstall --purge-data --confirm-purge # also remove receipt-owned durable runtime state
|
|
264
272
|
```
|
|
265
273
|
|
|
266
274
|
Uninstall removes exactly what the receipt owns (files, installer-created directories) and keeps
|
|
267
|
-
durable runtime state
|
|
268
|
-
unless `--purge-data --confirm-purge` is passed.
|
|
269
|
-
|
|
275
|
+
the durable runtime state the receipt records (and the recorded `PLUGIN_DATA` directory of an Agent Plugins
|
|
276
|
+
pack) unless `--purge-data --confirm-purge` is passed. Modified owned content is refused unless `--force`;
|
|
277
|
+
a directory without a receipt naming this plugin is foreign and always refused.
|
package/dist/README.md
CHANGED
|
@@ -29,6 +29,9 @@ gbot send Researcher "Summarize the launch status."
|
|
|
29
29
|
gbot send Launch "Share your updates."
|
|
30
30
|
gbot thread Researcher
|
|
31
31
|
gbot thread Researcher --after <last-entry-id> --json
|
|
32
|
+
gbot skills list
|
|
33
|
+
gbot skills add ./skills/poteto-mode
|
|
34
|
+
gbot skills remove poteto-mode
|
|
32
35
|
gbot groups delete Launch
|
|
33
36
|
gbot bots delete Researcher
|
|
34
37
|
gbot bots delete Writer
|
|
@@ -36,6 +39,15 @@ gbot bots delete Writer
|
|
|
36
39
|
|
|
37
40
|
`update` fields: `--name` `--description` `--title` `--avatar-shape` `--avatar-color` `--notify on|off` `--hidden on|off`. `--description` is the UI Instructions field.
|
|
38
41
|
|
|
42
|
+
`gbot skills` manages the skill library over the gateway. Grok Bot keeps one
|
|
43
|
+
library per account; every bot reads the same list, and there is no per-bot
|
|
44
|
+
attach. `add` posts a `SKILL.md` (or a directory holding one) and every bot sees
|
|
45
|
+
it. `list` shows each entry's `source`: `workflow` is your library, `managed` is
|
|
46
|
+
team-published, `plugin` comes from a marketplace install, `automation` is a
|
|
47
|
+
scheduled routine. `remove` deletes a `workflow` skill by id or exact name, for
|
|
48
|
+
every bot, and refuses the other sources. Adding the same file twice yields two
|
|
49
|
+
same-named skills; remove by id then. There is no `--files` mode for skills.
|
|
50
|
+
|
|
39
51
|
`gbot thread --after ID` filters the bounded tail locally and returns entries strictly
|
|
40
52
|
after that opaque entry ID. Its JSON includes `cursor`, `entryCount`, and `gapReset`.
|
|
41
53
|
An unchanged poll has `entryCount: 0`; an unknown or expired ID returns one bounded
|
|
@@ -47,6 +59,45 @@ Options are command-local (for example, `gbot send --history-dir DIR ...`);
|
|
|
47
59
|
a JSON document on stdout with `exitCode` (see below), every other command
|
|
48
60
|
prints the failure message on stderr and exits 1.
|
|
49
61
|
|
|
62
|
+
## Messaging a live Claude Code session
|
|
63
|
+
|
|
64
|
+
Claude Code has a native [Channels API](https://code.claude.com/docs/en/channels-reference),
|
|
65
|
+
so this integration needs no desktop shim. The Claude plugin includes an opt-in
|
|
66
|
+
`claude-channel` MCP server; Codex and Grok callers can use `claude_send`, or the
|
|
67
|
+
local CLI, to send a message and receive Claude's explicit reply.
|
|
68
|
+
|
|
69
|
+
After installing this version of the Claude plugin, launch a named session:
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
GROK_BOT_CLAUDE_CHANNEL=review claude --dangerously-load-development-channels plugin:gbot@gbot-marketplace
|
|
73
|
+
# From another terminal on the same machine and user account:
|
|
74
|
+
gbot claude send review "Reply with GBOT_CLAUDE_OK" --json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Accept Claude's development-channel prompt. Custom channels are a research preview
|
|
78
|
+
and require session opt-in and any applicable organization policy. Claude must be
|
|
79
|
+
signed in. The development flag permits this channel; it does not bypass tool
|
|
80
|
+
approvals. `claude_send` takes `name`, `message`, and optional `timeoutMs` (default
|
|
81
|
+
60000, maximum 120000). Claude uses `claude_reply` with the incoming `request_id`.
|
|
82
|
+
Only that explicit reply completes the call; a notification alone is not proof
|
|
83
|
+
Claude received or processed the message. Timeout/disconnect returns `unknown`;
|
|
84
|
+
do not automatically resend.
|
|
85
|
+
|
|
86
|
+
Each name selects one live session. Sockets live under `~/.grok-bot-cli/claude/`
|
|
87
|
+
in a user-owned 0700 directory, with mode 0600 sockets. Access grants messaging
|
|
88
|
+
to local processes running as the same user. No TCP listener, automatic permission
|
|
89
|
+
approval, conversation-history scraping, or background daemon is installed.
|
|
90
|
+
Without `GROK_BOT_CLAUDE_CHANNEL`, the channel is disabled. Shut down the owning
|
|
91
|
+
Claude session to close it. A crashed process may leave a socket: confirm the
|
|
92
|
+
named session is stopped before removing that socket and restarting. A second
|
|
93
|
+
session with the same name fails rather than taking over the first.
|
|
94
|
+
|
|
95
|
+
This targets opted-in Claude Code sessions, not arbitrary existing sessions or
|
|
96
|
+
ordinary Claude Desktop chats. Remote Grok runtimes need local tool execution to
|
|
97
|
+
reach the socket; installing an MCP artifact does not establish that connection.
|
|
98
|
+
Claude can use the existing `gbot_send`/`gbot_thread` and `codex_send` tools for
|
|
99
|
+
outgoing messages; its own tool permissions still apply.
|
|
100
|
+
|
|
50
101
|
## Automatic Grok ↔ Codex replies
|
|
51
102
|
|
|
52
103
|
In a native Codex invocation, `gbot_send` sends once and returns a durable exchange
|
|
@@ -205,6 +256,20 @@ Codex conversation, and managed bridge tools, plus a `talk-to-grok-bot` skill.
|
|
|
205
256
|
The tools bundle this repository's gateway client and worker, so the installed
|
|
206
257
|
plugin does not need `gbot` on `PATH`.
|
|
207
258
|
|
|
259
|
+
Install the committed bundle directly from GitHub without cloning or building it:
|
|
260
|
+
|
|
261
|
+
```sh
|
|
262
|
+
codex plugin marketplace add ScriptedAlchemy/grok-bot-cli
|
|
263
|
+
codex plugin add gbot@gbot-marketplace
|
|
264
|
+
|
|
265
|
+
claude plugin marketplace add ScriptedAlchemy/grok-bot-cli
|
|
266
|
+
claude plugin install gbot@gbot-marketplace
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Cursor users can add `https://github.com/ScriptedAlchemy/grok-bot-cli` as a
|
|
270
|
+
marketplace repository from Customize → Plugins. The repository-root host
|
|
271
|
+
marketplaces all point at the committed `artifact/` bundle.
|
|
272
|
+
|
|
208
273
|
Install the bundled host projections from the same npm package:
|
|
209
274
|
|
|
210
275
|
```sh
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"assets":[{"externals":[{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"async_hooks","userRequest":"async_hooks"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"crypto","userRequest":"crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js","node_modules/@agent-bundle/runtime/dist/index.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/cli/codex/bridge/run.tsx","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/history.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["src/core/history.js"],"kind":"builtin","request":"node:readline","userRequest":"node:readline"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-flight-entry.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-flight-entry.mjs"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"stream","userRequest":"stream"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"bin/gbot-flight.mjs","sha256":"413be2850a0a32c23c24981e216ad0593319340ee72bfac514005a238dde8460"},{"externals":[{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js","node_modules/@agent-bundle/runtime/dist/index.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/cli/codex/bridge/run.tsx","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/667~1.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","node_modules/agent-bundle/dist/terminal-capability.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/history.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","node_modules/agent-bundle/dist/667~1.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["src/core/history.js"],"kind":"builtin","request":"node:readline","userRequest":"node:readline"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-0.mjs",".agent-bundle-virtual/bin-gbot-entry.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-entry.mjs"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","agent-bundle","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"bin/gbot.mjs","sha256":"179f3818fea1b87618e8dc2f66391077b4e5d9935d83dc59a9eedd7b146c2294"},{"externals":[{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"async_hooks","userRequest":"async_hooks"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"crypto","userRequest":"crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js","node_modules/@agent-bundle/runtime/dist/index.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/mcp-grok-bot-b8c2461e-flight-entry.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":[".agent-bundle-virtual/mcp-grok-bot-b8c2461e-flight-entry.mjs"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"stream","userRequest":"stream"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","agent-bundle","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"mcp/mcp-grok-bot-b8c2461e-flight.mjs","sha256":"f50ecbfa83f2cdb8075bc66a4944d89f06aa18aa318050549124cef25094c034"},{"externals":[{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js","node_modules/@agent-bundle/runtime/dist/index.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/@agent-bundle/runtime/dist/lineage.js","node_modules/agent-bundle/dist/667~1.js","node_modules/agent-bundle/dist/mcp-server-runtime.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","node_modules/agent-bundle/dist/terminal-capability.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","node_modules/agent-bundle/dist/667~1.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs"],"kind":"builtin","request":"node:process","userRequest":"node:process"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/mcp-grok-bot-b8c2461e-1.mjs",".agent-bundle-virtual/mcp-grok-bot-b8c2461e-2.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":["node_modules/agent-bundle/dist/mcp-server-runtime.js"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","@modelcontextprotocol/core","@modelcontextprotocol/server","agent-bundle","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"mcp/mcp-grok-bot-b8c2461e.mjs","sha256":"f283a515c549cdf3a657b030b4279cf94f678de13e573a3e11fe713f73e88918"},{"externals":[{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state.js"],"kind":"builtin","request":"node:assert/strict","userRequest":"node:assert/strict"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/codex.js","src/core/relay/control.js","src/core/relay/engine.js","src/core/relay/profile.js","src/core/relay/records.js","src/core/relay/state.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/relay/codex.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["src/core/relay/ownership.js","src/core/relay/state.js","src/core/relay/worker.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/codex-bridge.js","src/core/relay/control.js","src/core/relay/ownership.js","src/core/relay/worker.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/engine.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/engine.js","src/core/relay/ownership.js","src/core/relay/profile.js","src/core/relay/state.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"import","issuers":["src/core/relay/ownership.js"],"kind":"builtin","request":"node:sqlite","userRequest":"node:sqlite"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js"],"kind":"builtin","request":"node:sqlite","userRequest":"node:sqlite"},{"externalType":"module","issuers":["src/core/relay/control.js","src/core/relay/worker.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"}],"packages":["@agent-bundle/runtime","effect","react","zod"],"path":"scripts/gbot-relay.mjs","sha256":"6ea9693852097360e11115c2c75a2eb26303bfec5df14a75e078e345482f791b"}],"coverage":{"rewritable":false,"unobserved":["import(<expression>)","require(<expression>)","require.resolve(…)","createRequire(…)(…)","import.meta.resolve(…)"]},"policy":{"name":"closed-world-externals","revision":1},"producer":{"name":"agent-bundle","rspack":"2.2.4","version":"0.2.1"}}
|
|
1
|
+
{"assets":[{"externals":[{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"async_hooks","userRequest":"async_hooks"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"crypto","userRequest":"crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/cli/codex/bridge/run.tsx","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/history.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","src/cli/skills/add.tsx","src/core/claude-channel.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/claude-channel.js","src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/cli/skills/add.tsx","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["src/core/history.js"],"kind":"builtin","request":"node:readline","userRequest":"node:readline"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-flight-entry.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-flight-entry.mjs"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"stream","userRequest":"stream"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"bin/gbot-flight.mjs","sha256":"4ce450cd822249304791846147a90ef18819b9e383be914198e442e15d7a33fb"},{"externals":[{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/cli/codex/bridge/run.tsx","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/667~1.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","node_modules/agent-bundle/dist/terminal-capability.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/history.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","node_modules/agent-bundle/dist/667~1.js","src/cli/skills/add.tsx","src/core/claude-channel.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/claude-channel.js","src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","src/cli/skills/add.tsx","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/history.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["src/core/history.js"],"kind":"builtin","request":"node:readline","userRequest":"node:readline"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-0.mjs",".agent-bundle-virtual/bin-gbot-entry.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":[".agent-bundle-virtual/bin-gbot-entry.mjs"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","agent-bundle","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"bin/gbot.mjs","sha256":"6f63f02f55fdc97b3b96be15d0e0abe3f5802c53c176b2440bdca2312fb3a98c"},{"externals":[{"externalType":"module","issuers":["src/core/claude-channel.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/agent-bundle/dist/launch-env.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["src/core/claude-channel.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/claude-channel.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["src/core/claude-channel.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/agent-bundle/dist/launch-env.js","src/core/claude-channel.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs","node_modules/agent-bundle/node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs"],"kind":"builtin","request":"node:process","userRequest":"node:process"},{"externalType":"module","issuers":[".agent-bundle-virtual/mcp-claude-channel-8029413c-1.mjs"],"kind":"builtin","request":"node:url","userRequest":"node:url"}],"packages":["@modelcontextprotocol/core","@modelcontextprotocol/server","agent-bundle","zod"],"path":"mcp/mcp-claude-channel-8029413c.mjs","sha256":"740b63c0bef153a4784d9d17838b843ebfef48236a161e65da5eac5064bef3fe"},{"externals":[{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"async_hooks","userRequest":"async_hooks"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"crypto","userRequest":"crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","src/core/claude-channel.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/claude-channel.js","src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/mcp-grok-bot-b8c2461e-flight-entry.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":[".agent-bundle-virtual/mcp-grok-bot-b8c2461e-flight-entry.mjs"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"stream","userRequest":"stream"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-server.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","agent-bundle","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"mcp/mcp-grok-bot-b8c2461e-flight.mjs","sha256":"c6e0be05ca76385cd3011ac85566408b876866b2d4d0fde94615c00c0027deea"},{"externals":[{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/@agent-bundle/runtime/dist/lineage.js","node_modules/agent-bundle/dist/667~1.js","node_modules/agent-bundle/dist/mcp-server-runtime.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/control.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","node_modules/agent-bundle/dist/terminal-capability.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/40.js","node_modules/agent-bundle/dist/667~1.js","src/core/claude-channel.js","src/core/relay/managed.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/claude-channel.js","src/core/codex-bridge.js","src/core/relay/control.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/49.js","node_modules/agent-bundle/dist/launch-env.js","src/core/app-session.js","src/core/claude-channel.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/managed.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"module","issuers":["node_modules/agent-bundle/node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs"],"kind":"builtin","request":"node:process","userRequest":"node:process"},{"externalType":"module","issuers":["src/core/relay/control.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"},{"externalType":"module","issuers":[".agent-bundle-virtual/mcp-grok-bot-b8c2461e-1.mjs",".agent-bundle-virtual/mcp-grok-bot-b8c2461e-2.mjs","src/core/relay/managed.js"],"kind":"builtin","request":"node:url","userRequest":"node:url"},{"externalType":"module","issuers":["node_modules/agent-bundle/dist/mcp-server-runtime.js"],"kind":"builtin","request":"node:worker_threads","userRequest":"node:worker_threads"},{"externalType":"node-commonjs","issuers":["node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.development.js","node_modules/react-server-dom-rspack/cjs/react-server-dom-rspack-client.node.production.js"],"kind":"builtin","request":"util","userRequest":"util"}],"packages":["@agent-bundle/runtime","@modelcontextprotocol/core","@modelcontextprotocol/server","agent-bundle","effect","react","react-dom","react-server-dom-rspack","rsc-markdown-stream","zod"],"path":"mcp/mcp-grok-bot-b8c2461e.mjs","sha256":"6ec9661fe2d3f1204711ad749c37277c25c07ee36200a5fea34fa69a3ef85f91"},{"externals":[{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state.js"],"kind":"builtin","request":"node:assert/strict","userRequest":"node:assert/strict"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/736.js"],"kind":"builtin","request":"node:async_hooks","userRequest":"node:async_hooks"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/302.js"],"kind":"builtin","request":"node:buffer","userRequest":"node:buffer"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js"],"kind":"builtin","request":"node:child_process","userRequest":"node:child_process"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/gateway.js","src/core/relay/codex.js","src/core/relay/control.js","src/core/relay/engine.js","src/core/relay/profile.js","src/core/relay/records.js","src/core/relay/state.js","src/core/store.js"],"kind":"builtin","request":"node:crypto","userRequest":"node:crypto"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/codex/conversation.js","src/core/desktop-shim.js","src/core/relay/codex.js","src/core/store.js"],"kind":"builtin","request":"node:fs","userRequest":"node:fs"},{"externalType":"module","issuers":["src/core/relay/ownership.js","src/core/relay/state.js","src/core/relay/worker.js"],"kind":"builtin","request":"node:fs/promises","userRequest":"node:fs/promises"},{"externalType":"module","issuers":["src/core/codex-bridge.js","src/core/relay/control.js","src/core/relay/ownership.js","src/core/relay/worker.js"],"kind":"builtin","request":"node:net","userRequest":"node:net"},{"externalType":"module","issuers":["src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/engine.js","src/core/relay/profile.js","src/core/store.js"],"kind":"builtin","request":"node:os","userRequest":"node:os"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js","src/core/app-session.js","src/core/codex-bridge.js","src/core/desktop-shim.js","src/core/relay/engine.js","src/core/relay/ownership.js","src/core/relay/profile.js","src/core/relay/state.js","src/core/store.js"],"kind":"builtin","request":"node:path","userRequest":"node:path"},{"externalType":"import","issuers":["src/core/relay/ownership.js"],"kind":"builtin","request":"node:sqlite","userRequest":"node:sqlite"},{"externalType":"module","issuers":["node_modules/@agent-bundle/runtime/dist/state/sqlite.js"],"kind":"builtin","request":"node:sqlite","userRequest":"node:sqlite"},{"externalType":"module","issuers":["src/core/relay/control.js","src/core/relay/worker.js"],"kind":"builtin","request":"node:string_decoder","userRequest":"node:string_decoder"}],"packages":["@agent-bundle/runtime","effect","zod"],"path":"scripts/gbot-relay.mjs","sha256":"559f41cb682a15737f59adf6ef6116b1cb49988fce7d05d55257ce49a4e6cd17"}],"coverage":{"rewritable":false,"unobserved":["import(<expression>)","require(<expression>)","require.resolve(…)","createRequire(…)(…)","import.meta.resolve(…)"]},"policy":{"name":"closed-world-externals","revision":1},"producer":{"name":"agent-bundle","rspack":"2.2.4","version":"0.3.1"}}
|