grok-bot-cli 0.10.0 → 0.10.2
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 +17 -0
- package/README.md +18 -6
- 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/marketplace.json +1 -1
- package/dist/.cursor-plugin/plugin.json +1 -1
- package/dist/INSTALL.md +2 -2
- package/dist/README.md +18 -6
- 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 +413 -108
- package/dist/bin/gbot.mjs +495 -114
- package/dist/commands/codex-send.md +2 -0
- package/dist/commands/codex-threads.md +2 -0
- package/dist/commands/codex-wait.md +2 -0
- package/dist/install.mjs +1 -1
- package/dist/mcp/mcp-claude-channel-8029413c.mjs +44 -2
- package/dist/mcp/mcp-grok-bot-b8c2461e-flight.mjs +447 -90
- package/dist/mcp/mcp-grok-bot-b8c2461e.mjs +441 -85
- package/dist/package.json +2 -2
- package/dist/plugin.json +1 -1
- package/dist/rules/codex-claude-on-user-machines.mdc +18 -0
- package/dist/scripts/gbot-relay.mjs +191 -21
- package/dist/skills/talk-to-grok-bot/SKILL.md +26 -11
- package/dist/skills/talk-to-grok-bot/references/bridge-administration.md +8 -3
- package/package.json +2 -2
package/dist/bin/gbot.mjs
CHANGED
|
@@ -7600,6 +7600,96 @@ var __webpack_modules__ = {
|
|
|
7600
7600
|
resultSchema: resultSchema
|
|
7601
7601
|
});
|
|
7602
7602
|
},
|
|
7603
|
+
"./src/cli/codex/new.tsx" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
7604
|
+
__webpack_require__.r(__webpack_exports__);
|
|
7605
|
+
var react_jsx_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-runtime.js");
|
|
7606
|
+
var _agent_bundle_runtime__rspack_import_5 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/506.js");
|
|
7607
|
+
var zod__rspack_import_4 = __webpack_require__("./node_modules/zod/v4/classic/schemas.js");
|
|
7608
|
+
var _core_codex_bridge_js__rspack_import_1 = __webpack_require__("./src/core/codex-bridge.js");
|
|
7609
|
+
var _core_codex_contract_js__rspack_import_2 = __webpack_require__("./src/core/codex/contract.js");
|
|
7610
|
+
var _core_codex_routes_js__rspack_import_3 = __webpack_require__("./src/core/codex/routes.ts");
|
|
7611
|
+
const inputSchema = zod__rspack_import_4.Ikc({
|
|
7612
|
+
cwd: zod__rspack_import_4.YjP().min(1),
|
|
7613
|
+
expectedCwd: zod__rspack_import_4.YjP().min(1).optional(),
|
|
7614
|
+
model: zod__rspack_import_4.YjP().regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/).optional(),
|
|
7615
|
+
effort: zod__rspack_import_4.k5n([
|
|
7616
|
+
'none',
|
|
7617
|
+
'minimal',
|
|
7618
|
+
'low',
|
|
7619
|
+
'medium',
|
|
7620
|
+
'high',
|
|
7621
|
+
'xhigh'
|
|
7622
|
+
]).optional(),
|
|
7623
|
+
message: zod__rspack_import_4.YOg(zod__rspack_import_4.YjP()).optional()
|
|
7624
|
+
}).strict();
|
|
7625
|
+
const config = {
|
|
7626
|
+
description: 'Start a new Codex thread in --cwd, optionally with --model, --effort and a message.',
|
|
7627
|
+
exitCode: 'result',
|
|
7628
|
+
positionals: [
|
|
7629
|
+
'message'
|
|
7630
|
+
],
|
|
7631
|
+
inputJsonSchema: {
|
|
7632
|
+
type: 'object',
|
|
7633
|
+
additionalProperties: false,
|
|
7634
|
+
properties: {
|
|
7635
|
+
cwd: {
|
|
7636
|
+
type: 'string'
|
|
7637
|
+
},
|
|
7638
|
+
expectedCwd: {
|
|
7639
|
+
type: 'string'
|
|
7640
|
+
},
|
|
7641
|
+
model: {
|
|
7642
|
+
type: 'string'
|
|
7643
|
+
},
|
|
7644
|
+
effort: {
|
|
7645
|
+
type: 'string',
|
|
7646
|
+
enum: [
|
|
7647
|
+
'none',
|
|
7648
|
+
'minimal',
|
|
7649
|
+
'low',
|
|
7650
|
+
'medium',
|
|
7651
|
+
'high',
|
|
7652
|
+
'xhigh'
|
|
7653
|
+
]
|
|
7654
|
+
},
|
|
7655
|
+
message: {
|
|
7656
|
+
type: 'array',
|
|
7657
|
+
items: {
|
|
7658
|
+
type: 'string'
|
|
7659
|
+
}
|
|
7660
|
+
}
|
|
7661
|
+
},
|
|
7662
|
+
required: [
|
|
7663
|
+
'cwd'
|
|
7664
|
+
]
|
|
7665
|
+
}
|
|
7666
|
+
};
|
|
7667
|
+
async function route({ input, signal }) {
|
|
7668
|
+
let out;
|
|
7669
|
+
try {
|
|
7670
|
+
out = await (0, _core_codex_bridge_js__rspack_import_1.QC)({
|
|
7671
|
+
...input,
|
|
7672
|
+
message: input.message?.join(' ').trim() || undefined,
|
|
7673
|
+
signal
|
|
7674
|
+
});
|
|
7675
|
+
} catch (error) {
|
|
7676
|
+
out = (0, _core_codex_contract_js__rspack_import_2.DG)(error);
|
|
7677
|
+
}
|
|
7678
|
+
return (0, react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_5.g.Result, {
|
|
7679
|
+
value: out,
|
|
7680
|
+
children: (0, react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_5.g.Text, {
|
|
7681
|
+
children: out.threadId && !('delivery' in out) ? `Started Codex thread ${out.threadId}` : (0, _core_codex_routes_js__rspack_import_3.D6)(out)
|
|
7682
|
+
})
|
|
7683
|
+
});
|
|
7684
|
+
}
|
|
7685
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
7686
|
+
"default": ()=>route,
|
|
7687
|
+
resultSchema: ()=>_core_codex_routes_js__rspack_import_3.FD
|
|
7688
|
+
}, {
|
|
7689
|
+
config: config,
|
|
7690
|
+
inputSchema: inputSchema
|
|
7691
|
+
});
|
|
7692
|
+
},
|
|
7603
7693
|
"./src/cli/codex/queue.tsx" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
7604
7694
|
__webpack_require__.r(__webpack_exports__);
|
|
7605
7695
|
var react_jsx_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-runtime.js");
|
|
@@ -7705,7 +7795,7 @@ var __webpack_modules__ = {
|
|
|
7705
7795
|
description: 'Send to Codex; acceptance is distinct from completion. Options precede threadId.',
|
|
7706
7796
|
exitCode: 'result',
|
|
7707
7797
|
render: {
|
|
7708
|
-
maxElapsedMs:
|
|
7798
|
+
maxElapsedMs: 7260000
|
|
7709
7799
|
},
|
|
7710
7800
|
positionals: [
|
|
7711
7801
|
'threadId',
|
|
@@ -7730,9 +7820,23 @@ var __webpack_modules__ = {
|
|
|
7730
7820
|
expectedCwd: {
|
|
7731
7821
|
type: 'string'
|
|
7732
7822
|
},
|
|
7823
|
+
model: {
|
|
7824
|
+
type: 'string'
|
|
7825
|
+
},
|
|
7826
|
+
effort: {
|
|
7827
|
+
type: 'string',
|
|
7828
|
+
enum: [
|
|
7829
|
+
'none',
|
|
7830
|
+
'minimal',
|
|
7831
|
+
'low',
|
|
7832
|
+
'medium',
|
|
7833
|
+
'high',
|
|
7834
|
+
'xhigh'
|
|
7835
|
+
]
|
|
7836
|
+
},
|
|
7733
7837
|
timeoutMs: {
|
|
7734
7838
|
type: 'number',
|
|
7735
|
-
description: 'Observation timeout: 1-
|
|
7839
|
+
description: 'Observation timeout: 1-7200000 milliseconds.'
|
|
7736
7840
|
},
|
|
7737
7841
|
correlationId: {
|
|
7738
7842
|
type: 'string'
|
|
@@ -7867,7 +7971,7 @@ var __webpack_modules__ = {
|
|
|
7867
7971
|
description: 'Bounded Codex wait observation; never interrupts execution.',
|
|
7868
7972
|
exitCode: 'result',
|
|
7869
7973
|
render: {
|
|
7870
|
-
maxElapsedMs:
|
|
7974
|
+
maxElapsedMs: 7260000
|
|
7871
7975
|
},
|
|
7872
7976
|
positionals: [
|
|
7873
7977
|
'threadId',
|
|
@@ -7885,7 +7989,7 @@ var __webpack_modules__ = {
|
|
|
7885
7989
|
},
|
|
7886
7990
|
"timeoutMs": {
|
|
7887
7991
|
"type": "number",
|
|
7888
|
-
"description": "Observation timeout: 1-
|
|
7992
|
+
"description": "Observation timeout: 1-7200000 milliseconds."
|
|
7889
7993
|
},
|
|
7890
7994
|
"turnId": {
|
|
7891
7995
|
"type": "string"
|
|
@@ -9349,13 +9453,22 @@ var __webpack_modules__ = {
|
|
|
9349
9453
|
const observationFields = {
|
|
9350
9454
|
expectedCwd: zod__rspack_import_3.YjP().min(1).optional(),
|
|
9351
9455
|
threadId: id,
|
|
9352
|
-
timeoutMs: zod__rspack_import_3.aig().int().min(1).max(
|
|
9456
|
+
timeoutMs: zod__rspack_import_3.aig().int().min(1).max(7200000).optional()
|
|
9353
9457
|
};
|
|
9354
9458
|
const sendFields = {
|
|
9355
9459
|
...observationFields,
|
|
9356
9460
|
correlationId: id.optional(),
|
|
9357
9461
|
envelope: zod__rspack_import_3.zMY().optional(),
|
|
9358
9462
|
hop: zod__rspack_import_3.aig().int().min(0).optional(),
|
|
9463
|
+
model: zod__rspack_import_3.YjP().regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/).optional(),
|
|
9464
|
+
effort: zod__rspack_import_3.k5n([
|
|
9465
|
+
'none',
|
|
9466
|
+
'minimal',
|
|
9467
|
+
'low',
|
|
9468
|
+
'medium',
|
|
9469
|
+
'high',
|
|
9470
|
+
'xhigh'
|
|
9471
|
+
]).optional(),
|
|
9359
9472
|
replyTo: id.optional(),
|
|
9360
9473
|
expectedTurnId: id.optional(),
|
|
9361
9474
|
whenBusy: zod__rspack_import_3.k5n([
|
|
@@ -9377,7 +9490,9 @@ var __webpack_modules__ = {
|
|
|
9377
9490
|
maxOutputBytes: zod__rspack_import_3.aig().int().min(1).max(4194304).optional()
|
|
9378
9491
|
}).strict();
|
|
9379
9492
|
const watchSchema = zod__rspack_import_3.Ikc({
|
|
9380
|
-
|
|
9493
|
+
expectedCwd: zod__rspack_import_3.YjP().min(1).optional(),
|
|
9494
|
+
threadId: id,
|
|
9495
|
+
timeoutMs: zod__rspack_import_3.aig().int().min(1).max(600000).optional(),
|
|
9381
9496
|
maxEvents: zod__rspack_import_3.aig().int().min(1).max(500).default(100)
|
|
9382
9497
|
}).strict();
|
|
9383
9498
|
const threadsSchema = zod__rspack_import_3.Ikc({
|
|
@@ -9434,6 +9549,8 @@ var __webpack_modules__ = {
|
|
|
9434
9549
|
envelope,
|
|
9435
9550
|
whenBusy: input.whenBusy,
|
|
9436
9551
|
expectedCwd: input.expectedCwd,
|
|
9552
|
+
model: input.model,
|
|
9553
|
+
effort: input.effort,
|
|
9437
9554
|
signal
|
|
9438
9555
|
});
|
|
9439
9556
|
}
|
|
@@ -9446,7 +9563,9 @@ var __webpack_modules__ = {
|
|
|
9446
9563
|
receipt = await conversation.send(input.message, {
|
|
9447
9564
|
envelope,
|
|
9448
9565
|
whenBusy: input.whenBusy,
|
|
9449
|
-
expectedTurnId: input.expectedTurnId
|
|
9566
|
+
expectedTurnId: input.expectedTurnId,
|
|
9567
|
+
model: input.model,
|
|
9568
|
+
effort: input.effort
|
|
9450
9569
|
});
|
|
9451
9570
|
if (!input.wait || receipt.delivery !== 'accepted' || !receipt.turnId) return receipt;
|
|
9452
9571
|
await progress?.(`Accepted message ${receipt.messageId}; observing turn ${receipt.turnId}`);
|
|
@@ -9735,7 +9854,9 @@ var __webpack_modules__ = {
|
|
|
9735
9854
|
requestId: input.requestId,
|
|
9736
9855
|
busyPolicy: input.whenBusy,
|
|
9737
9856
|
hop: input.hop,
|
|
9738
|
-
correlationId: input.correlationId
|
|
9857
|
+
correlationId: input.correlationId,
|
|
9858
|
+
model: input.model,
|
|
9859
|
+
effort: input.effort
|
|
9739
9860
|
}, options(context)));
|
|
9740
9861
|
}
|
|
9741
9862
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -36935,9 +37056,9 @@ var __webpack_modules__ = {
|
|
|
36935
37056
|
try {
|
|
36936
37057
|
var agent_bundle_launch_env_layer__rspack_import_0 = __webpack_require__("./.agent-bundle-virtual/bin-gbot-0.mjs");
|
|
36937
37058
|
var agent_bundle_cli_entry__rspack_import_1 = __webpack_require__("./node_modules/agent-bundle/dist/cli-entry.js");
|
|
36938
|
-
var
|
|
36939
|
-
var
|
|
36940
|
-
var
|
|
37059
|
+
var _agent_bundle_runtime__rspack_import_41 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/49.js");
|
|
37060
|
+
var _agent_bundle_runtime__rspack_import_42 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/736.js");
|
|
37061
|
+
var _agent_bundle_runtime__rspack_import_43 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/index.js");
|
|
36941
37062
|
var node_url__rspack_import_2 = __webpack_require__("node:url");
|
|
36942
37063
|
var node_worker_threads__rspack_import_3 = __webpack_require__("node:worker_threads");
|
|
36943
37064
|
var _src_cli_approvals_list_tsx__rspack_import_4 = __webpack_require__("./src/cli/approvals/list.tsx");
|
|
@@ -36955,27 +37076,28 @@ var __webpack_modules__ = {
|
|
|
36955
37076
|
var _src_cli_codex_bridge_stop_tsx__rspack_import_16 = __webpack_require__("./src/cli/codex/bridge/stop.tsx");
|
|
36956
37077
|
var _src_cli_codex_desktop_shim_tsx__rspack_import_17 = __webpack_require__("./src/cli/codex/desktop-shim.tsx");
|
|
36957
37078
|
var _src_cli_codex_list_threads_tsx__rspack_import_18 = __webpack_require__("./src/cli/codex/list-threads.tsx");
|
|
36958
|
-
var
|
|
36959
|
-
var
|
|
36960
|
-
var
|
|
36961
|
-
var
|
|
36962
|
-
var
|
|
36963
|
-
var
|
|
36964
|
-
var
|
|
36965
|
-
var
|
|
36966
|
-
var
|
|
36967
|
-
var
|
|
36968
|
-
var
|
|
36969
|
-
var
|
|
36970
|
-
var
|
|
36971
|
-
var
|
|
36972
|
-
var
|
|
36973
|
-
var
|
|
36974
|
-
var
|
|
36975
|
-
var
|
|
36976
|
-
var
|
|
36977
|
-
var
|
|
36978
|
-
var
|
|
37079
|
+
var _src_cli_codex_new_tsx__rspack_import_19 = __webpack_require__("./src/cli/codex/new.tsx");
|
|
37080
|
+
var _src_cli_codex_queue_tsx__rspack_import_20 = __webpack_require__("./src/cli/codex/queue.tsx");
|
|
37081
|
+
var _src_cli_codex_send_tsx__rspack_import_21 = __webpack_require__("./src/cli/codex/send.tsx");
|
|
37082
|
+
var _src_cli_codex_status_tsx__rspack_import_22 = __webpack_require__("./src/cli/codex/status.tsx");
|
|
37083
|
+
var _src_cli_codex_wait_tsx__rspack_import_23 = __webpack_require__("./src/cli/codex/wait.tsx");
|
|
37084
|
+
var _src_cli_codex_watch_tsx__rspack_import_24 = __webpack_require__("./src/cli/codex/watch.tsx");
|
|
37085
|
+
var _src_cli_doctor_tsx__rspack_import_25 = __webpack_require__("./src/cli/doctor.tsx");
|
|
37086
|
+
var _src_cli_groups_add_tsx__rspack_import_26 = __webpack_require__("./src/cli/groups/add.tsx");
|
|
37087
|
+
var _src_cli_groups_create_tsx__rspack_import_27 = __webpack_require__("./src/cli/groups/create.tsx");
|
|
37088
|
+
var _src_cli_groups_delete_tsx__rspack_import_28 = __webpack_require__("./src/cli/groups/delete.tsx");
|
|
37089
|
+
var _src_cli_groups_get_tsx__rspack_import_29 = __webpack_require__("./src/cli/groups/get.tsx");
|
|
37090
|
+
var _src_cli_groups_list_tsx__rspack_import_30 = __webpack_require__("./src/cli/groups/list.tsx");
|
|
37091
|
+
var _src_cli_groups_members_tsx__rspack_import_31 = __webpack_require__("./src/cli/groups/members.tsx");
|
|
37092
|
+
var _src_cli_groups_remove_tsx__rspack_import_32 = __webpack_require__("./src/cli/groups/remove.tsx");
|
|
37093
|
+
var _src_cli_groups_set_tsx__rspack_import_33 = __webpack_require__("./src/cli/groups/set.tsx");
|
|
37094
|
+
var _src_cli_groups_update_tsx__rspack_import_34 = __webpack_require__("./src/cli/groups/update.tsx");
|
|
37095
|
+
var _src_cli_history_tsx__rspack_import_35 = __webpack_require__("./src/cli/history.tsx");
|
|
37096
|
+
var _src_cli_send_tsx__rspack_import_36 = __webpack_require__("./src/cli/send.tsx");
|
|
37097
|
+
var _src_cli_skills_add_tsx__rspack_import_37 = __webpack_require__("./src/cli/skills/add.tsx");
|
|
37098
|
+
var _src_cli_skills_list_tsx__rspack_import_38 = __webpack_require__("./src/cli/skills/list.tsx");
|
|
37099
|
+
var _src_cli_skills_remove_tsx__rspack_import_39 = __webpack_require__("./src/cli/skills/remove.tsx");
|
|
37100
|
+
var _src_cli_thread_tsx__rspack_import_40 = __webpack_require__("./src/cli/thread.tsx");
|
|
36979
37101
|
const route0 = Object.assign({}, Reflect.get(_src_cli_approvals_list_tsx__rspack_import_4, 'default'), _src_cli_approvals_list_tsx__rspack_import_4);
|
|
36980
37102
|
const route1 = Object.assign({}, Reflect.get(_src_cli_approvals_respond_tsx__rspack_import_5, 'default'), _src_cli_approvals_respond_tsx__rspack_import_5);
|
|
36981
37103
|
const route2 = Object.assign({}, Reflect.get(_src_cli_bots_create_tsx__rspack_import_6, 'default'), _src_cli_bots_create_tsx__rspack_import_6);
|
|
@@ -36991,28 +37113,29 @@ var __webpack_modules__ = {
|
|
|
36991
37113
|
const route12 = Object.assign({}, Reflect.get(_src_cli_codex_bridge_stop_tsx__rspack_import_16, 'default'), _src_cli_codex_bridge_stop_tsx__rspack_import_16);
|
|
36992
37114
|
const route13 = Object.assign({}, Reflect.get(_src_cli_codex_desktop_shim_tsx__rspack_import_17, 'default'), _src_cli_codex_desktop_shim_tsx__rspack_import_17);
|
|
36993
37115
|
const route14 = Object.assign({}, Reflect.get(_src_cli_codex_list_threads_tsx__rspack_import_18, 'default'), _src_cli_codex_list_threads_tsx__rspack_import_18);
|
|
36994
|
-
const route15 = Object.assign({}, Reflect.get(
|
|
36995
|
-
const route16 = Object.assign({}, Reflect.get(
|
|
36996
|
-
const route17 = Object.assign({}, Reflect.get(
|
|
36997
|
-
const route18 = Object.assign({}, Reflect.get(
|
|
36998
|
-
const route19 = Object.assign({}, Reflect.get(
|
|
36999
|
-
const route20 = Object.assign({}, Reflect.get(
|
|
37000
|
-
const route21 = Object.assign({}, Reflect.get(
|
|
37001
|
-
const route22 = Object.assign({}, Reflect.get(
|
|
37002
|
-
const route23 = Object.assign({}, Reflect.get(
|
|
37003
|
-
const route24 = Object.assign({}, Reflect.get(
|
|
37004
|
-
const route25 = Object.assign({}, Reflect.get(
|
|
37005
|
-
const route26 = Object.assign({}, Reflect.get(
|
|
37006
|
-
const route27 = Object.assign({}, Reflect.get(
|
|
37007
|
-
const route28 = Object.assign({}, Reflect.get(
|
|
37008
|
-
const route29 = Object.assign({}, Reflect.get(
|
|
37009
|
-
const route30 = Object.assign({}, Reflect.get(
|
|
37010
|
-
const route31 = Object.assign({}, Reflect.get(
|
|
37011
|
-
const route32 = Object.assign({}, Reflect.get(
|
|
37012
|
-
const route33 = Object.assign({}, Reflect.get(
|
|
37013
|
-
const route34 = Object.assign({}, Reflect.get(
|
|
37014
|
-
const route35 = Object.assign({}, Reflect.get(
|
|
37015
|
-
const
|
|
37116
|
+
const route15 = Object.assign({}, Reflect.get(_src_cli_codex_new_tsx__rspack_import_19, 'default'), _src_cli_codex_new_tsx__rspack_import_19);
|
|
37117
|
+
const route16 = Object.assign({}, Reflect.get(_src_cli_codex_queue_tsx__rspack_import_20, 'default'), _src_cli_codex_queue_tsx__rspack_import_20);
|
|
37118
|
+
const route17 = Object.assign({}, Reflect.get(_src_cli_codex_send_tsx__rspack_import_21, 'default'), _src_cli_codex_send_tsx__rspack_import_21);
|
|
37119
|
+
const route18 = Object.assign({}, Reflect.get(_src_cli_codex_status_tsx__rspack_import_22, 'default'), _src_cli_codex_status_tsx__rspack_import_22);
|
|
37120
|
+
const route19 = Object.assign({}, Reflect.get(_src_cli_codex_wait_tsx__rspack_import_23, 'default'), _src_cli_codex_wait_tsx__rspack_import_23);
|
|
37121
|
+
const route20 = Object.assign({}, Reflect.get(_src_cli_codex_watch_tsx__rspack_import_24, 'default'), _src_cli_codex_watch_tsx__rspack_import_24);
|
|
37122
|
+
const route21 = Object.assign({}, Reflect.get(_src_cli_doctor_tsx__rspack_import_25, 'default'), _src_cli_doctor_tsx__rspack_import_25);
|
|
37123
|
+
const route22 = Object.assign({}, Reflect.get(_src_cli_groups_add_tsx__rspack_import_26, 'default'), _src_cli_groups_add_tsx__rspack_import_26);
|
|
37124
|
+
const route23 = Object.assign({}, Reflect.get(_src_cli_groups_create_tsx__rspack_import_27, 'default'), _src_cli_groups_create_tsx__rspack_import_27);
|
|
37125
|
+
const route24 = Object.assign({}, Reflect.get(_src_cli_groups_delete_tsx__rspack_import_28, 'default'), _src_cli_groups_delete_tsx__rspack_import_28);
|
|
37126
|
+
const route25 = Object.assign({}, Reflect.get(_src_cli_groups_get_tsx__rspack_import_29, 'default'), _src_cli_groups_get_tsx__rspack_import_29);
|
|
37127
|
+
const route26 = Object.assign({}, Reflect.get(_src_cli_groups_list_tsx__rspack_import_30, 'default'), _src_cli_groups_list_tsx__rspack_import_30);
|
|
37128
|
+
const route27 = Object.assign({}, Reflect.get(_src_cli_groups_members_tsx__rspack_import_31, 'default'), _src_cli_groups_members_tsx__rspack_import_31);
|
|
37129
|
+
const route28 = Object.assign({}, Reflect.get(_src_cli_groups_remove_tsx__rspack_import_32, 'default'), _src_cli_groups_remove_tsx__rspack_import_32);
|
|
37130
|
+
const route29 = Object.assign({}, Reflect.get(_src_cli_groups_set_tsx__rspack_import_33, 'default'), _src_cli_groups_set_tsx__rspack_import_33);
|
|
37131
|
+
const route30 = Object.assign({}, Reflect.get(_src_cli_groups_update_tsx__rspack_import_34, 'default'), _src_cli_groups_update_tsx__rspack_import_34);
|
|
37132
|
+
const route31 = Object.assign({}, Reflect.get(_src_cli_history_tsx__rspack_import_35, 'default'), _src_cli_history_tsx__rspack_import_35);
|
|
37133
|
+
const route32 = Object.assign({}, Reflect.get(_src_cli_send_tsx__rspack_import_36, 'default'), _src_cli_send_tsx__rspack_import_36);
|
|
37134
|
+
const route33 = Object.assign({}, Reflect.get(_src_cli_skills_add_tsx__rspack_import_37, 'default'), _src_cli_skills_add_tsx__rspack_import_37);
|
|
37135
|
+
const route34 = Object.assign({}, Reflect.get(_src_cli_skills_list_tsx__rspack_import_38, 'default'), _src_cli_skills_list_tsx__rspack_import_38);
|
|
37136
|
+
const route35 = Object.assign({}, Reflect.get(_src_cli_skills_remove_tsx__rspack_import_39, 'default'), _src_cli_skills_remove_tsx__rspack_import_39);
|
|
37137
|
+
const route36 = Object.assign({}, Reflect.get(_src_cli_thread_tsx__rspack_import_40, 'default'), _src_cli_thread_tsx__rspack_import_40);
|
|
37138
|
+
const pluginRoot = (0, _agent_bundle_runtime__rspack_import_41.E7)({
|
|
37016
37139
|
fallback: (0, node_url__rspack_import_2.fileURLToPath)(new URL('..', import.meta.url)),
|
|
37017
37140
|
stateAnchor: 'user-data'
|
|
37018
37141
|
});
|
|
@@ -37067,68 +37190,71 @@ var __webpack_modules__ = {
|
|
|
37067
37190
|
"cli:codex/list-threads": Object.freeze({
|
|
37068
37191
|
module: route14
|
|
37069
37192
|
}),
|
|
37070
|
-
"cli:codex/
|
|
37193
|
+
"cli:codex/new": Object.freeze({
|
|
37071
37194
|
module: route15
|
|
37072
37195
|
}),
|
|
37073
|
-
"cli:codex/
|
|
37196
|
+
"cli:codex/queue": Object.freeze({
|
|
37074
37197
|
module: route16
|
|
37075
37198
|
}),
|
|
37076
|
-
"cli:codex/
|
|
37199
|
+
"cli:codex/send": Object.freeze({
|
|
37077
37200
|
module: route17
|
|
37078
37201
|
}),
|
|
37079
|
-
"cli:codex/
|
|
37202
|
+
"cli:codex/status": Object.freeze({
|
|
37080
37203
|
module: route18
|
|
37081
37204
|
}),
|
|
37082
|
-
"cli:codex/
|
|
37205
|
+
"cli:codex/wait": Object.freeze({
|
|
37083
37206
|
module: route19
|
|
37084
37207
|
}),
|
|
37085
|
-
"cli:
|
|
37208
|
+
"cli:codex/watch": Object.freeze({
|
|
37086
37209
|
module: route20
|
|
37087
37210
|
}),
|
|
37088
|
-
"cli:
|
|
37211
|
+
"cli:doctor": Object.freeze({
|
|
37089
37212
|
module: route21
|
|
37090
37213
|
}),
|
|
37091
|
-
"cli:groups/
|
|
37214
|
+
"cli:groups/add": Object.freeze({
|
|
37092
37215
|
module: route22
|
|
37093
37216
|
}),
|
|
37094
|
-
"cli:groups/
|
|
37217
|
+
"cli:groups/create": Object.freeze({
|
|
37095
37218
|
module: route23
|
|
37096
37219
|
}),
|
|
37097
|
-
"cli:groups/
|
|
37220
|
+
"cli:groups/delete": Object.freeze({
|
|
37098
37221
|
module: route24
|
|
37099
37222
|
}),
|
|
37100
|
-
"cli:groups/
|
|
37223
|
+
"cli:groups/get": Object.freeze({
|
|
37101
37224
|
module: route25
|
|
37102
37225
|
}),
|
|
37103
|
-
"cli:groups/
|
|
37226
|
+
"cli:groups/list": Object.freeze({
|
|
37104
37227
|
module: route26
|
|
37105
37228
|
}),
|
|
37106
|
-
"cli:groups/
|
|
37229
|
+
"cli:groups/members": Object.freeze({
|
|
37107
37230
|
module: route27
|
|
37108
37231
|
}),
|
|
37109
|
-
"cli:groups/
|
|
37232
|
+
"cli:groups/remove": Object.freeze({
|
|
37110
37233
|
module: route28
|
|
37111
37234
|
}),
|
|
37112
|
-
"cli:groups/
|
|
37235
|
+
"cli:groups/set": Object.freeze({
|
|
37113
37236
|
module: route29
|
|
37114
37237
|
}),
|
|
37115
|
-
"cli:
|
|
37238
|
+
"cli:groups/update": Object.freeze({
|
|
37116
37239
|
module: route30
|
|
37117
37240
|
}),
|
|
37118
|
-
"cli:
|
|
37241
|
+
"cli:history": Object.freeze({
|
|
37119
37242
|
module: route31
|
|
37120
37243
|
}),
|
|
37121
|
-
"cli:
|
|
37244
|
+
"cli:send": Object.freeze({
|
|
37122
37245
|
module: route32
|
|
37123
37246
|
}),
|
|
37124
|
-
"cli:skills/
|
|
37247
|
+
"cli:skills/add": Object.freeze({
|
|
37125
37248
|
module: route33
|
|
37126
37249
|
}),
|
|
37127
|
-
"cli:skills/
|
|
37250
|
+
"cli:skills/list": Object.freeze({
|
|
37128
37251
|
module: route34
|
|
37129
37252
|
}),
|
|
37130
|
-
"cli:
|
|
37253
|
+
"cli:skills/remove": Object.freeze({
|
|
37131
37254
|
module: route35
|
|
37255
|
+
}),
|
|
37256
|
+
"cli:thread": Object.freeze({
|
|
37257
|
+
module: route36
|
|
37132
37258
|
})
|
|
37133
37259
|
});
|
|
37134
37260
|
const commands = Object.freeze([
|
|
@@ -37808,6 +37934,63 @@ var __webpack_modules__ = {
|
|
|
37808
37934
|
"rendered": true,
|
|
37809
37935
|
"routeId": "cli:codex/list-threads"
|
|
37810
37936
|
},
|
|
37937
|
+
{
|
|
37938
|
+
"aliases": [],
|
|
37939
|
+
"description": "Start a new Codex thread in --cwd, optionally with --model, --effort and a message.",
|
|
37940
|
+
"exitCode": "result",
|
|
37941
|
+
"options": [
|
|
37942
|
+
{
|
|
37943
|
+
"key": "cwd",
|
|
37944
|
+
"kind": "string",
|
|
37945
|
+
"option": "cwd",
|
|
37946
|
+
"repeated": false,
|
|
37947
|
+
"required": true
|
|
37948
|
+
},
|
|
37949
|
+
{
|
|
37950
|
+
"choices": [
|
|
37951
|
+
"none",
|
|
37952
|
+
"minimal",
|
|
37953
|
+
"low",
|
|
37954
|
+
"medium",
|
|
37955
|
+
"high",
|
|
37956
|
+
"xhigh"
|
|
37957
|
+
],
|
|
37958
|
+
"key": "effort",
|
|
37959
|
+
"kind": "enum",
|
|
37960
|
+
"option": "effort",
|
|
37961
|
+
"repeated": false,
|
|
37962
|
+
"required": false
|
|
37963
|
+
},
|
|
37964
|
+
{
|
|
37965
|
+
"key": "expectedCwd",
|
|
37966
|
+
"kind": "string",
|
|
37967
|
+
"option": "expected-cwd",
|
|
37968
|
+
"repeated": false,
|
|
37969
|
+
"required": false
|
|
37970
|
+
},
|
|
37971
|
+
{
|
|
37972
|
+
"key": "message",
|
|
37973
|
+
"kind": "string",
|
|
37974
|
+
"option": "message",
|
|
37975
|
+
"positional": 0,
|
|
37976
|
+
"repeated": true,
|
|
37977
|
+
"required": false
|
|
37978
|
+
},
|
|
37979
|
+
{
|
|
37980
|
+
"key": "model",
|
|
37981
|
+
"kind": "string",
|
|
37982
|
+
"option": "model",
|
|
37983
|
+
"repeated": false,
|
|
37984
|
+
"required": false
|
|
37985
|
+
}
|
|
37986
|
+
],
|
|
37987
|
+
"path": [
|
|
37988
|
+
"codex",
|
|
37989
|
+
"new"
|
|
37990
|
+
],
|
|
37991
|
+
"rendered": true,
|
|
37992
|
+
"routeId": "cli:codex/new"
|
|
37993
|
+
},
|
|
37811
37994
|
{
|
|
37812
37995
|
"aliases": [],
|
|
37813
37996
|
"description": "List the experimental Codex thread queue (GROK_BOT_CODEX_EXPERIMENTAL=1).",
|
|
@@ -37848,6 +38031,21 @@ var __webpack_modules__ = {
|
|
|
37848
38031
|
"repeated": false,
|
|
37849
38032
|
"required": false
|
|
37850
38033
|
},
|
|
38034
|
+
{
|
|
38035
|
+
"choices": [
|
|
38036
|
+
"none",
|
|
38037
|
+
"minimal",
|
|
38038
|
+
"low",
|
|
38039
|
+
"medium",
|
|
38040
|
+
"high",
|
|
38041
|
+
"xhigh"
|
|
38042
|
+
],
|
|
38043
|
+
"key": "effort",
|
|
38044
|
+
"kind": "enum",
|
|
38045
|
+
"option": "effort",
|
|
38046
|
+
"repeated": false,
|
|
38047
|
+
"required": false
|
|
38048
|
+
},
|
|
37851
38049
|
{
|
|
37852
38050
|
"key": "envelope",
|
|
37853
38051
|
"kind": "boolean",
|
|
@@ -37893,6 +38091,13 @@ var __webpack_modules__ = {
|
|
|
37893
38091
|
"repeated": true,
|
|
37894
38092
|
"required": true
|
|
37895
38093
|
},
|
|
38094
|
+
{
|
|
38095
|
+
"key": "model",
|
|
38096
|
+
"kind": "string",
|
|
38097
|
+
"option": "model",
|
|
38098
|
+
"repeated": false,
|
|
38099
|
+
"required": false
|
|
38100
|
+
},
|
|
37896
38101
|
{
|
|
37897
38102
|
"key": "replyTo",
|
|
37898
38103
|
"kind": "string",
|
|
@@ -37923,7 +38128,7 @@ var __webpack_modules__ = {
|
|
|
37923
38128
|
"required": true
|
|
37924
38129
|
},
|
|
37925
38130
|
{
|
|
37926
|
-
"description": "Observation timeout: 1-
|
|
38131
|
+
"description": "Observation timeout: 1-7200000 milliseconds.",
|
|
37927
38132
|
"key": "timeoutMs",
|
|
37928
38133
|
"kind": "number",
|
|
37929
38134
|
"option": "timeout-ms",
|
|
@@ -37955,7 +38160,7 @@ var __webpack_modules__ = {
|
|
|
37955
38160
|
"send"
|
|
37956
38161
|
],
|
|
37957
38162
|
"render": {
|
|
37958
|
-
"maxElapsedMs":
|
|
38163
|
+
"maxElapsedMs": 7260000
|
|
37959
38164
|
},
|
|
37960
38165
|
"rendered": true,
|
|
37961
38166
|
"routeId": "cli:codex/send"
|
|
@@ -38008,7 +38213,7 @@ var __webpack_modules__ = {
|
|
|
38008
38213
|
"required": true
|
|
38009
38214
|
},
|
|
38010
38215
|
{
|
|
38011
|
-
"description": "Observation timeout: 1-
|
|
38216
|
+
"description": "Observation timeout: 1-7200000 milliseconds.",
|
|
38012
38217
|
"key": "timeoutMs",
|
|
38013
38218
|
"kind": "number",
|
|
38014
38219
|
"option": "timeout-ms",
|
|
@@ -38029,7 +38234,7 @@ var __webpack_modules__ = {
|
|
|
38029
38234
|
"wait"
|
|
38030
38235
|
],
|
|
38031
38236
|
"render": {
|
|
38032
|
-
"maxElapsedMs":
|
|
38237
|
+
"maxElapsedMs": 7260000
|
|
38033
38238
|
},
|
|
38034
38239
|
"rendered": true,
|
|
38035
38240
|
"routeId": "cli:codex/wait"
|
|
@@ -39076,27 +39281,27 @@ var __webpack_modules__ = {
|
|
|
39076
39281
|
instanceId: processLifetime.instanceId,
|
|
39077
39282
|
pid: processLifetime.pid
|
|
39078
39283
|
};
|
|
39079
|
-
const result = await (0,
|
|
39284
|
+
const result = await (0, _agent_bundle_runtime__rspack_import_42.iC)({
|
|
39080
39285
|
capabilities: {
|
|
39081
|
-
command: (0,
|
|
39082
|
-
filesystem: (0,
|
|
39083
|
-
network: (0,
|
|
39084
|
-
projectRoot: (0,
|
|
39286
|
+
command: (0, _agent_bundle_runtime__rspack_import_42.hU)(),
|
|
39287
|
+
filesystem: (0, _agent_bundle_runtime__rspack_import_42.hU)(),
|
|
39288
|
+
network: (0, _agent_bundle_runtime__rspack_import_42.hU)(),
|
|
39289
|
+
projectRoot: (0, _agent_bundle_runtime__rspack_import_42.qC)({
|
|
39085
39290
|
root: cwd
|
|
39086
39291
|
}, 'derived')
|
|
39087
39292
|
},
|
|
39088
|
-
host: (0,
|
|
39293
|
+
host: (0, _agent_bundle_runtime__rspack_import_42.hU)('unsupported-surface'),
|
|
39089
39294
|
invocation: {
|
|
39090
39295
|
kind: 'cli',
|
|
39091
39296
|
operationId: command.routeId,
|
|
39092
39297
|
surface: command.path.join(' ')
|
|
39093
39298
|
},
|
|
39094
|
-
lineage: (0,
|
|
39299
|
+
lineage: (0, _agent_bundle_runtime__rspack_import_42.hU)('unsupported-surface'),
|
|
39095
39300
|
plugin: pluginRoot.identity,
|
|
39096
39301
|
process: processHit,
|
|
39097
39302
|
signal: context.signal,
|
|
39098
|
-
terminal: (0,
|
|
39099
|
-
workspace: (0,
|
|
39303
|
+
terminal: (0, _agent_bundle_runtime__rspack_import_42.qC)(context.terminal, 'native'),
|
|
39304
|
+
workspace: (0, _agent_bundle_runtime__rspack_import_42.qC)({
|
|
39100
39305
|
root: cwd
|
|
39101
39306
|
}, 'derived')
|
|
39102
39307
|
}, async ()=>route.module.default({
|
|
@@ -39203,7 +39408,7 @@ var __webpack_modules__ = {
|
|
|
39203
39408
|
return stream;
|
|
39204
39409
|
}
|
|
39205
39410
|
});
|
|
39206
|
-
const dispatcher = (0,
|
|
39411
|
+
const dispatcher = (0, _agent_bundle_runtime__rspack_import_43.jK)(host);
|
|
39207
39412
|
return Object.freeze({
|
|
39208
39413
|
close: async ()=>{
|
|
39209
39414
|
await worker.terminate();
|
|
@@ -39247,11 +39452,11 @@ var __webpack_modules__ = {
|
|
|
39247
39452
|
if (import.meta.main) {
|
|
39248
39453
|
await (0, agent_bundle_cli_entry__rspack_import_1.yA)({
|
|
39249
39454
|
commands,
|
|
39250
|
-
description: "Message Grok Bot from Codex, Claude Code, and Cursor,
|
|
39455
|
+
description: "Message Grok Bot from Codex, Claude Code, and Cursor. Codex/Claude tools use local sockets on the user's registered machines only (no remote transport); from the Grok Bot box, run gbot via Grok Bot Shell with a machineId.",
|
|
39251
39456
|
execute,
|
|
39252
39457
|
name: "gbot",
|
|
39253
39458
|
render,
|
|
39254
|
-
version: "0.10.
|
|
39459
|
+
version: "0.10.2"
|
|
39255
39460
|
});
|
|
39256
39461
|
}
|
|
39257
39462
|
__webpack_require__.d(__webpack_exports__, {}, {
|
|
@@ -39472,6 +39677,7 @@ var __webpack_modules__ = {
|
|
|
39472
39677
|
var node_net__rspack_import_2 = __webpack_require__("node:net");
|
|
39473
39678
|
var node_os__rspack_import_3 = __webpack_require__("node:os");
|
|
39474
39679
|
var node_path__rspack_import_4 = __webpack_require__("node:path");
|
|
39680
|
+
var _user_machine_guidance_js__rspack_import_5 = __webpack_require__("./src/core/user-machine-guidance.js");
|
|
39475
39681
|
const MAX_BYTES = 65536;
|
|
39476
39682
|
const FRAME_BYTES = MAX_BYTES * 6 + 1024;
|
|
39477
39683
|
const defaultDirectory = ()=>(0, node_path__rspack_import_4.join)((0, node_os__rspack_import_3.homedir)(), '.grok-bot-cli', 'claude');
|
|
@@ -39482,6 +39688,18 @@ var __webpack_modules__ = {
|
|
|
39482
39688
|
if (Buffer.byteLength(path) >= 104) throw Error('Claude channel socket path is too long');
|
|
39483
39689
|
return path;
|
|
39484
39690
|
}
|
|
39691
|
+
function absentClaudeChannelMessage(path, directory) {
|
|
39692
|
+
if ((0, _user_machine_guidance_js__rspack_import_5.R)({
|
|
39693
|
+
path,
|
|
39694
|
+
home: directory
|
|
39695
|
+
})) {
|
|
39696
|
+
return [
|
|
39697
|
+
'No Claude channel socket at ' + path + '.',
|
|
39698
|
+
_user_machine_guidance_js__rspack_import_5.M
|
|
39699
|
+
].join('\n');
|
|
39700
|
+
}
|
|
39701
|
+
return 'No Claude channel socket at ' + path + '. Start an opted-in Claude Code session with GROK_BOT_CLAUDE_CHANNEL on this machine (gbot has no remote transport).';
|
|
39702
|
+
}
|
|
39485
39703
|
function messageText(message) {
|
|
39486
39704
|
if (typeof message !== 'string' || !message.trim() || Buffer.byteLength(message) > MAX_BYTES) throw Error('Message must contain text within 64 KiB');
|
|
39487
39705
|
return message;
|
|
@@ -39615,8 +39833,21 @@ var __webpack_modules__ = {
|
|
|
39615
39833
|
const path = socketPath(name, directory);
|
|
39616
39834
|
messageText(message);
|
|
39617
39835
|
timeout(timeoutMs);
|
|
39618
|
-
|
|
39619
|
-
|
|
39836
|
+
try {
|
|
39837
|
+
await privateDirectory(directory);
|
|
39838
|
+
} catch (error) {
|
|
39839
|
+
if (error && (error.code === 'ENOENT' || /no such file|ENOENT/i.test(String(error.message)))) {
|
|
39840
|
+
throw Error(absentClaudeChannelMessage(path, directory));
|
|
39841
|
+
}
|
|
39842
|
+
throw error;
|
|
39843
|
+
}
|
|
39844
|
+
let info;
|
|
39845
|
+
try {
|
|
39846
|
+
info = await (0, node_fs_promises__rspack_import_1.lstat)(path);
|
|
39847
|
+
} catch (error) {
|
|
39848
|
+
if (error && error.code === 'ENOENT') throw Error(absentClaudeChannelMessage(path, directory));
|
|
39849
|
+
throw error;
|
|
39850
|
+
}
|
|
39620
39851
|
if (!info.isSocket() || info.uid !== process.getuid() || info.mode & 63) throw Error('Claude channel socket is not private to this user');
|
|
39621
39852
|
return new Promise((resolve, reject)=>{
|
|
39622
39853
|
const socket = (0, node_net__rspack_import_2.connect)(path);
|
|
@@ -39666,7 +39897,8 @@ var __webpack_modules__ = {
|
|
|
39666
39897
|
var _package_json__rspack_import_6 = __webpack_require__("./package.json");
|
|
39667
39898
|
var _codex_contract_js__rspack_import_7 = __webpack_require__("./src/core/codex/contract.js");
|
|
39668
39899
|
var _desktop_shim_js__rspack_import_8 = __webpack_require__("./src/core/desktop-shim.js");
|
|
39669
|
-
|
|
39900
|
+
var _user_machine_guidance_js__rspack_import_9 = __webpack_require__("./src/core/user-machine-guidance.js");
|
|
39901
|
+
const PINNED_CODEX_VERSION = "0.158.0";
|
|
39670
39902
|
const UPSTREAM_DESKTOP_ISSUES = [
|
|
39671
39903
|
"https://github.com/openai/codex/issues/41014",
|
|
39672
39904
|
"https://github.com/openai/codex/issues/41112"
|
|
@@ -39699,20 +39931,34 @@ var __webpack_modules__ = {
|
|
|
39699
39931
|
function singleLine(text) {
|
|
39700
39932
|
return stripTerminalControls(text).replace(/[\t\n\r\u2028\u2029]+/g, " ");
|
|
39701
39933
|
}
|
|
39702
|
-
function
|
|
39934
|
+
function boxUnreachableMessage(path) {
|
|
39935
|
+
return [
|
|
39936
|
+
"No Codex app-server control socket at " + path + ".",
|
|
39937
|
+
_user_machine_guidance_js__rspack_import_9.M
|
|
39938
|
+
].join("\n");
|
|
39939
|
+
}
|
|
39940
|
+
function unreachableMessage(path, desktopAttached = "unknown", env = process.env) {
|
|
39941
|
+
if ((0, _user_machine_guidance_js__rspack_import_9.R)({
|
|
39942
|
+
path,
|
|
39943
|
+
env,
|
|
39944
|
+
home: env.HOME || (0, node_os__rspack_import_3.homedir)()
|
|
39945
|
+
})) {
|
|
39946
|
+
return boxUnreachableMessage(path);
|
|
39947
|
+
}
|
|
39703
39948
|
if (desktopAttached === "private-stdio") {
|
|
39704
39949
|
return [
|
|
39705
39950
|
"ChatGPT Desktop is running its private stdio app-server, which external clients cannot reach",
|
|
39706
39951
|
"(" + UPSTREAM_DESKTOP_ISSUES.join(", ") + ").",
|
|
39707
|
-
"No Codex app-server control socket at " + path + ": start a managed standalone daemon with `codex app-server daemon start
|
|
39708
|
-
"gbot codex targets daemon-managed threads only."
|
|
39952
|
+
"No Codex app-server control socket at " + path + ": start a managed standalone daemon with `codex app-server daemon start` (or bootstrap).",
|
|
39953
|
+
"gbot codex targets daemon-managed threads only; gbot has no remote transport."
|
|
39709
39954
|
].join("\n");
|
|
39710
39955
|
}
|
|
39711
39956
|
return [
|
|
39712
39957
|
"No Codex app-server control socket at " + path + ".",
|
|
39713
|
-
"Either no daemon is running (start one with `codex app-server daemon start`),",
|
|
39958
|
+
"Either no daemon is running (start one with `codex app-server daemon start` or bootstrap),",
|
|
39714
39959
|
"or ChatGPT Desktop is running a private stdio app-server that external clients cannot reach",
|
|
39715
39960
|
"(" + UPSTREAM_DESKTOP_ISSUES.join(", ") + ").",
|
|
39961
|
+
"Codex must run on the same machine as gbot. Set CODEX_APP_SERVER_SOCK to an existing local control socket if it is elsewhere; gbot has no remote transport.",
|
|
39716
39962
|
"gbot codex targets daemon-managed threads only."
|
|
39717
39963
|
].join("\n");
|
|
39718
39964
|
}
|
|
@@ -40356,6 +40602,47 @@ var __webpack_modules__ = {
|
|
|
40356
40602
|
};
|
|
40357
40603
|
}
|
|
40358
40604
|
const openSession = openCodexSession;
|
|
40605
|
+
async function startCodexThread({ cwd, expectedCwd, model, effort, message, env = process.env, signal } = {}) {
|
|
40606
|
+
validateModelEffort(model, effort);
|
|
40607
|
+
if (typeof cwd !== "string" || !cwd.trim()) throw new RangeError("--cwd is required for a new Codex thread");
|
|
40608
|
+
const resolvedCwd = (0, node_fs__rspack_import_1.realpathSync)(cwd);
|
|
40609
|
+
if (expectedCwd !== undefined && (0, node_fs__rspack_import_1.realpathSync)(expectedCwd) !== resolvedCwd) throw new RangeError("New Codex thread cwd does not match expectedCwd");
|
|
40610
|
+
if (message !== undefined && (typeof message !== "string" || !message.trim())) throw new RangeError("Message must contain text");
|
|
40611
|
+
const { client } = await openSession(env, {
|
|
40612
|
+
signal
|
|
40613
|
+
});
|
|
40614
|
+
let threadId, started;
|
|
40615
|
+
try {
|
|
40616
|
+
started = await client.request("thread/start", {
|
|
40617
|
+
cwd: resolvedCwd,
|
|
40618
|
+
...model ? {
|
|
40619
|
+
model
|
|
40620
|
+
} : {},
|
|
40621
|
+
...effort ? {
|
|
40622
|
+
config: {
|
|
40623
|
+
model_reasoning_effort: effort
|
|
40624
|
+
}
|
|
40625
|
+
} : {}
|
|
40626
|
+
});
|
|
40627
|
+
threadId = started?.thread?.id;
|
|
40628
|
+
if (typeof threadId !== "string" || !ID_PATTERN.test(threadId)) throw new CodexProtocolError("thread/start", "missing `thread.id`");
|
|
40629
|
+
} finally{
|
|
40630
|
+
client.close();
|
|
40631
|
+
}
|
|
40632
|
+
if (message === undefined) return {
|
|
40633
|
+
threadId,
|
|
40634
|
+
cwd: resolvedCwd,
|
|
40635
|
+
model: started.model ?? model,
|
|
40636
|
+
exitCode: 0
|
|
40637
|
+
};
|
|
40638
|
+
return await sendToCodexThread(threadId, message, {
|
|
40639
|
+
env,
|
|
40640
|
+
expectedCwd: resolvedCwd,
|
|
40641
|
+
model,
|
|
40642
|
+
effort,
|
|
40643
|
+
signal
|
|
40644
|
+
});
|
|
40645
|
+
}
|
|
40359
40646
|
const CODEX_VERSION_PROBE_TIMEOUT_MS = 3000;
|
|
40360
40647
|
function probeLocalCodexVersion(timeoutMs = CODEX_VERSION_PROBE_TIMEOUT_MS) {
|
|
40361
40648
|
const out = (0, node_child_process__rspack_import_5.spawnSync)("codex", [
|
|
@@ -40445,7 +40732,7 @@ var __webpack_modules__ = {
|
|
|
40445
40732
|
session = await openSession(env);
|
|
40446
40733
|
} catch (err) {
|
|
40447
40734
|
if (err instanceof CodexRouteError) {
|
|
40448
|
-
const message = err.mode === "socket-absent" ? unreachableMessage(path, desktopAttached) : err.message;
|
|
40735
|
+
const message = err.mode === "socket-absent" ? unreachableMessage(path, desktopAttached, env) : err.message;
|
|
40449
40736
|
return (0, _codex_contract_js__rspack_import_7.AQ)({
|
|
40450
40737
|
...base,
|
|
40451
40738
|
reachable: false,
|
|
@@ -40654,7 +40941,7 @@ var __webpack_modules__ = {
|
|
|
40654
40941
|
}
|
|
40655
40942
|
function requireExperimental(env, what) {
|
|
40656
40943
|
if (experimentalEnabled(env)) return;
|
|
40657
|
-
throw new CodexSendError(what + "
|
|
40944
|
+
throw new CodexSendError(what + " needs thread/queue/add, which is experimental and absent from Codex " + PINNED_CODEX_VERSION + "'s stable API. " + "Use --when-busy steer with an expected turn ID, wait until the thread is idle, or opt in with GROK_BOT_CODEX_EXPERIMENTAL=1 on a Codex daemon that supports the experimental queue API.", {
|
|
40658
40945
|
delivery: "rejected",
|
|
40659
40946
|
reason: "experimental-disabled"
|
|
40660
40947
|
});
|
|
@@ -40662,7 +40949,7 @@ var __webpack_modules__ = {
|
|
|
40662
40949
|
function unsupportedOrRpc(err, method, threadId, envelope, turnId) {
|
|
40663
40950
|
const guarded = method === "turn/steer";
|
|
40664
40951
|
if (err instanceof CodexRpcError && err.rpc && err.rpc.code === -32601) {
|
|
40665
|
-
return new CodexSendError("Codex app-server does not offer " + method + " (daemon predates it, or experimentalApi was not granted). " + (guarded ? "Upgrade Codex before retrying guarded steering." : "
|
|
40952
|
+
return new CodexSendError("Codex app-server does not offer " + method + " (daemon predates it, or experimentalApi was not granted). " + (guarded ? "Upgrade Codex before retrying guarded steering." : "Use --when-busy steer with an expected turn ID, wait for idle, or use a Codex daemon with experimental queue support and GROK_BOT_CODEX_EXPERIMENTAL=1."), {
|
|
40666
40953
|
delivery: "rejected",
|
|
40667
40954
|
reason: "unsupported",
|
|
40668
40955
|
threadId,
|
|
@@ -40719,7 +41006,7 @@ var __webpack_modules__ = {
|
|
|
40719
41006
|
}
|
|
40720
41007
|
async function sendToCodexThread(threadId, text, { env = process.env, envelope = buildEnvelope({
|
|
40721
41008
|
env
|
|
40722
|
-
}), whenBusy = "reject", session, expectedTurnId, expectedCwd, signal } = {}) {
|
|
41009
|
+
}), whenBusy = "reject", session, expectedTurnId, expectedCwd, model, effort, signal } = {}) {
|
|
40723
41010
|
try {
|
|
40724
41011
|
const receipt = await sendToCodexThreadInner(threadId, text, {
|
|
40725
41012
|
env,
|
|
@@ -40728,6 +41015,8 @@ var __webpack_modules__ = {
|
|
|
40728
41015
|
session,
|
|
40729
41016
|
expectedTurnId,
|
|
40730
41017
|
expectedCwd,
|
|
41018
|
+
model,
|
|
41019
|
+
effort,
|
|
40731
41020
|
signal
|
|
40732
41021
|
});
|
|
40733
41022
|
return (0, _codex_contract_js__rspack_import_7.Dz)(receipt);
|
|
@@ -40739,7 +41028,19 @@ var __webpack_modules__ = {
|
|
|
40739
41028
|
return (0, _codex_contract_js__rspack_import_7.DG)(err);
|
|
40740
41029
|
}
|
|
40741
41030
|
}
|
|
40742
|
-
|
|
41031
|
+
function validateModelEffort(model, effort) {
|
|
41032
|
+
if (model !== undefined && (typeof model !== "string" || !/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/.test(model))) throw new RangeError("--model must be a nonempty model ID");
|
|
41033
|
+
if (effort !== undefined && ![
|
|
41034
|
+
"none",
|
|
41035
|
+
"minimal",
|
|
41036
|
+
"low",
|
|
41037
|
+
"medium",
|
|
41038
|
+
"high",
|
|
41039
|
+
"xhigh"
|
|
41040
|
+
].includes(effort)) throw new RangeError("--effort must be none, minimal, low, medium, high, or xhigh");
|
|
41041
|
+
}
|
|
41042
|
+
async function sendToCodexThreadInner(threadId, text, { env, envelope, whenBusy, session, expectedTurnId, expectedCwd, model, effort, signal }) {
|
|
41043
|
+
validateModelEffort(model, effort);
|
|
40743
41044
|
if (![
|
|
40744
41045
|
"reject",
|
|
40745
41046
|
"queue",
|
|
@@ -40785,7 +41086,15 @@ var __webpack_modules__ = {
|
|
|
40785
41086
|
try {
|
|
40786
41087
|
resumed = await client.request("thread/resume", {
|
|
40787
41088
|
threadId,
|
|
40788
|
-
excludeTurns: true
|
|
41089
|
+
excludeTurns: true,
|
|
41090
|
+
...model ? {
|
|
41091
|
+
model
|
|
41092
|
+
} : {},
|
|
41093
|
+
...effort ? {
|
|
41094
|
+
config: {
|
|
41095
|
+
model_reasoning_effort: effort
|
|
41096
|
+
}
|
|
41097
|
+
} : {}
|
|
40789
41098
|
});
|
|
40790
41099
|
} catch (err) {
|
|
40791
41100
|
assertNotCancelled();
|
|
@@ -40918,7 +41227,13 @@ var __webpack_modules__ = {
|
|
|
40918
41227
|
}
|
|
40919
41228
|
],
|
|
40920
41229
|
clientUserMessageId: envelope.messageId,
|
|
40921
|
-
turnTrigger: "gbot"
|
|
41230
|
+
turnTrigger: "gbot",
|
|
41231
|
+
...model ? {
|
|
41232
|
+
model
|
|
41233
|
+
} : {},
|
|
41234
|
+
...effort ? {
|
|
41235
|
+
effort
|
|
41236
|
+
} : {}
|
|
40922
41237
|
});
|
|
40923
41238
|
} catch (err) {
|
|
40924
41239
|
if (err instanceof CodexSendError) throw err;
|
|
@@ -40977,6 +41292,7 @@ var __webpack_modules__ = {
|
|
|
40977
41292
|
Bt: ()=>listCodexQueue,
|
|
40978
41293
|
MU: ()=>codexStatus,
|
|
40979
41294
|
Mr: ()=>withEnvelopeHeader,
|
|
41295
|
+
QC: ()=>startCodexThread,
|
|
40980
41296
|
X$: ()=>listCodexThreads1,
|
|
40981
41297
|
ZS: ()=>sendToCodexThread,
|
|
40982
41298
|
e0: ()=>experimentalEnabled,
|
|
@@ -41193,10 +41509,10 @@ var __webpack_modules__ = {
|
|
|
41193
41509
|
];
|
|
41194
41510
|
if (afterMessageId !== undefined) boundedInteger(anchors.length, 200, 'afterMessageId count');
|
|
41195
41511
|
for (const anchor of anchors)conversationId(anchor, 'afterMessageId');
|
|
41196
|
-
boundedInteger(timeoutMs,
|
|
41512
|
+
boundedInteger(timeoutMs, 7200000, 'timeoutMs');
|
|
41197
41513
|
boundedInteger(maxOutputBytes, BUDGET, 'maxOutputBytes');
|
|
41198
41514
|
if (waitSignal !== undefined && !(waitSignal instanceof AbortSignal)) throw new TypeError('signal must be an AbortSignal');
|
|
41199
|
-
let done = false, status = acceptedTurns.has(turnId) ? 'inProgress' : undefined, error, historyError, itemBytes = 0, truncated =
|
|
41515
|
+
let done = false, status = acceptedTurns.has(turnId) ? 'inProgress' : undefined, error, historyError, itemBytes = 0, truncated = false;
|
|
41200
41516
|
const items = new Map();
|
|
41201
41517
|
const add = (item)=>{
|
|
41202
41518
|
if (!item || typeof item.id !== 'string' || typeof item.type !== 'string') throw new Error('Invalid history item');
|
|
@@ -41243,6 +41559,7 @@ var __webpack_modules__ = {
|
|
|
41243
41559
|
};
|
|
41244
41560
|
const result = (state, detail)=>{
|
|
41245
41561
|
const interactions = scan();
|
|
41562
|
+
const overflowUncertain = state === 'unknown' && /Notification coverage overflow/.test(detail ?? '');
|
|
41246
41563
|
const candidates = [
|
|
41247
41564
|
...items.values()
|
|
41248
41565
|
].map((x)=>x.item);
|
|
@@ -41251,7 +41568,7 @@ var __webpack_modules__ = {
|
|
|
41251
41568
|
const reply = {
|
|
41252
41569
|
text: '',
|
|
41253
41570
|
items: [],
|
|
41254
|
-
truncated: truncated ||
|
|
41571
|
+
truncated: truncated || overflowUncertain
|
|
41255
41572
|
};
|
|
41256
41573
|
for (const item of selected){
|
|
41257
41574
|
const text = reply.text ? `${reply.text}\n${item.text}` : item.text;
|
|
@@ -41284,7 +41601,7 @@ var __webpack_modules__ = {
|
|
|
41284
41601
|
interactions
|
|
41285
41602
|
};
|
|
41286
41603
|
};
|
|
41287
|
-
let timer, notify;
|
|
41604
|
+
let timer, pollTimer, notify;
|
|
41288
41605
|
const abortSignals = [
|
|
41289
41606
|
signal,
|
|
41290
41607
|
waitSignal
|
|
@@ -41300,10 +41617,18 @@ var __webpack_modules__ = {
|
|
|
41300
41617
|
'Codex connection closed'
|
|
41301
41618
|
]);
|
|
41302
41619
|
};
|
|
41303
|
-
timer = setTimeout(()=>resolve([
|
|
41620
|
+
timer = setTimeout(()=>resolve(overflow ? [
|
|
41621
|
+
'unknown',
|
|
41622
|
+
'Notification coverage overflow; pending interaction status is uncertain'
|
|
41623
|
+
] : [
|
|
41304
41624
|
'timeout',
|
|
41305
41625
|
'Observation deadline reached'
|
|
41306
41626
|
]), timeoutMs);
|
|
41627
|
+
pollTimer = setInterval(()=>{
|
|
41628
|
+
for (const listener of [
|
|
41629
|
+
...wake
|
|
41630
|
+
])listener();
|
|
41631
|
+
}, 2000);
|
|
41307
41632
|
for (const s of abortSignals)s.addEventListener('abort', notify, {
|
|
41308
41633
|
once: true
|
|
41309
41634
|
});
|
|
@@ -41374,19 +41699,51 @@ var __webpack_modules__ = {
|
|
|
41374
41699
|
historyError
|
|
41375
41700
|
];
|
|
41376
41701
|
}
|
|
41702
|
+
let lastPoll = 0;
|
|
41377
41703
|
while(!done){
|
|
41378
41704
|
const interactions = scan();
|
|
41379
41705
|
if (terminal(status)) return [
|
|
41380
41706
|
status,
|
|
41381
41707
|
error ?? historyError
|
|
41382
41708
|
];
|
|
41383
|
-
if (historyError
|
|
41709
|
+
if (historyError) return [
|
|
41384
41710
|
'unknown',
|
|
41385
|
-
historyError
|
|
41711
|
+
historyError
|
|
41386
41712
|
];
|
|
41387
41713
|
if (interactions.length) return [
|
|
41388
41714
|
'waiting-for-input'
|
|
41389
41715
|
];
|
|
41716
|
+
if (Date.now() - lastPoll >= 2000) {
|
|
41717
|
+
lastPoll = Date.now();
|
|
41718
|
+
try {
|
|
41719
|
+
await visitCodexHistory(session, threadId, 'thread/turns/list', {}, (data)=>{
|
|
41720
|
+
const turn = data.find((t)=>t?.id === turnId);
|
|
41721
|
+
if (!turn) return false;
|
|
41722
|
+
if (terminal(turn.status)) {
|
|
41723
|
+
status = turn.status;
|
|
41724
|
+
error = turn.error;
|
|
41725
|
+
}
|
|
41726
|
+
return true;
|
|
41727
|
+
}, {
|
|
41728
|
+
stopped: ()=>done
|
|
41729
|
+
});
|
|
41730
|
+
if (terminal(status)) {
|
|
41731
|
+
await visitCodexHistory(session, threadId, 'thread/items/list', {
|
|
41732
|
+
turnId,
|
|
41733
|
+
sortDirection: 'asc'
|
|
41734
|
+
}, (data)=>{
|
|
41735
|
+
for (const row of data)if (row?.turnId === turnId && row.item) add(row.item);
|
|
41736
|
+
return false;
|
|
41737
|
+
}, {
|
|
41738
|
+
stopped: ()=>done
|
|
41739
|
+
});
|
|
41740
|
+
continue;
|
|
41741
|
+
}
|
|
41742
|
+
} catch (err) {
|
|
41743
|
+
historyError = err.message;
|
|
41744
|
+
truncated = true;
|
|
41745
|
+
}
|
|
41746
|
+
}
|
|
41390
41747
|
await new Promise((resolve)=>{
|
|
41391
41748
|
const listener = ()=>{
|
|
41392
41749
|
wake.delete(listener);
|
|
@@ -41409,6 +41766,7 @@ var __webpack_modules__ = {
|
|
|
41409
41766
|
} finally{
|
|
41410
41767
|
done = true;
|
|
41411
41768
|
clearTimeout(timer);
|
|
41769
|
+
clearInterval(pollTimer);
|
|
41412
41770
|
wake.delete(notify);
|
|
41413
41771
|
for (const s of abortSignals)s.removeEventListener('abort', notify);
|
|
41414
41772
|
for (const listener of [
|
|
@@ -41456,7 +41814,7 @@ var __webpack_modules__ = {
|
|
|
41456
41814
|
close,
|
|
41457
41815
|
async send (text, { envelope = (0, _codex_bridge_js__rspack_import_2.nq)({
|
|
41458
41816
|
env
|
|
41459
|
-
}), whenBusy = 'reject', expectedTurnId, signal: sendSignal } = {}) {
|
|
41817
|
+
}), whenBusy = 'reject', expectedTurnId, model, effort, signal: sendSignal } = {}) {
|
|
41460
41818
|
if (closed) return (0, _contract_js__rspack_import_0.DG)(Object.assign(new Error('Conversation closed'), {
|
|
41461
41819
|
delivery: 'rejected',
|
|
41462
41820
|
reason: 'closed',
|
|
@@ -41475,6 +41833,8 @@ var __webpack_modules__ = {
|
|
|
41475
41833
|
expectedTurnId,
|
|
41476
41834
|
session,
|
|
41477
41835
|
expectedCwd,
|
|
41836
|
+
model,
|
|
41837
|
+
effort,
|
|
41478
41838
|
signal: submissionSignal
|
|
41479
41839
|
});
|
|
41480
41840
|
if (receipt.delivery === 'accepted' && receipt.turnId) {
|
|
@@ -43726,9 +44086,30 @@ ts() { date -u +%Y-%m-%dT%H:%M:%SZ; }
|
|
|
43726
44086
|
fp: ()=>redactSecrets
|
|
43727
44087
|
});
|
|
43728
44088
|
},
|
|
44089
|
+
"./src/core/user-machine-guidance.js" (__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
44090
|
+
const USER_MACHINE_CODEX_CLAUDE_GUIDANCE = [
|
|
44091
|
+
"Codex and Claude sessions live on the user's registered machines (for example their Linux desktop or Mac), not on the Grok Bot agent box (/home/box).",
|
|
44092
|
+
"Codex must run on the same machine as gbot. Set CODEX_APP_SERVER_SOCK to an existing local control socket, or use $CODEX_HOME/app-server-control/app-server-control.sock. There is no remote transport.",
|
|
44093
|
+
"When running on the box (HOME=/home/box), do not call codex_* or claude_send there. Run the gbot CLI on the user's machine through Grok Bot Shell with a machineId (the host's machine-targeted shell).",
|
|
44094
|
+
"On that machine, provide the socket with `codex app-server daemon start` (or bootstrap). Auth stays with each machine's native Codex or Claude login; gbot does not store or export credentials."
|
|
44095
|
+
].join("\n");
|
|
44096
|
+
function looksLikeGrokBotBox({ path = "", env = process.env, home = env.HOME || "" } = {}) {
|
|
44097
|
+
const values = [
|
|
44098
|
+
home,
|
|
44099
|
+
env.HOME,
|
|
44100
|
+
path
|
|
44101
|
+
].filter((value)=>value != null && value !== "").map(String);
|
|
44102
|
+
return values.some((value)=>value === "/home/box" || value.startsWith("/home/box/"));
|
|
44103
|
+
}
|
|
44104
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
44105
|
+
R: ()=>looksLikeGrokBotBox
|
|
44106
|
+
}, {
|
|
44107
|
+
M: USER_MACHINE_CODEX_CLAUDE_GUIDANCE
|
|
44108
|
+
});
|
|
44109
|
+
},
|
|
43729
44110
|
"./package.json" (module) {
|
|
43730
44111
|
module.exports = {
|
|
43731
|
-
"rE": "0.10.
|
|
44112
|
+
"rE": "0.10.2"
|
|
43732
44113
|
};
|
|
43733
44114
|
}
|
|
43734
44115
|
};
|