feat(codex): create and customize Codex config from /settings
Adds the Codex config panel (skills/agents/rules/memory/config editing, mcp/plugins/marketplaces add-remove via the codex CLI) as the last piece of parity with the Claude Code settings tab, plus the codex_config_changed WebSocket type the client was missing, and docs for the new /api/codex-config surface.
This commit is contained in:
@@ -545,6 +545,7 @@
|
||||
* - `run_stream` / `run_status` / `run_input_ack` ... {@link RunStreamPayload} /
|
||||
* {@link RunStatusPayload} / {@link RunInputAckPayload}
|
||||
* - `cc_config_changed` ............................ {@link CcConfigChangedPayload}
|
||||
* - `codex_config_changed` ......................... {@link CodexConfigChangedPayload}
|
||||
* - `alert_triggered` / `alert_updated` ............ {@link AlertEvent}
|
||||
* - `workflow_upserted` ............................ {@link WorkflowRun}
|
||||
*
|
||||
@@ -1331,6 +1332,24 @@ export interface CcConfigChangedPayload {
|
||||
paths?: string[];
|
||||
}
|
||||
|
||||
// ───── Codex config change notifications ─────
|
||||
|
||||
/** Payload for the `codex_config_changed` WebSocket message: broadcast
|
||||
* whenever a Codex CLI config artifact (skill, agent, rule, memory, config,
|
||||
* MCP server, plugin, marketplace) is written or removed through the
|
||||
* dashboard's codex-config editor, so other open tabs can refresh their
|
||||
* view. Codex has no filesystem watcher counterpart to `cc-watcher.js`, so
|
||||
* unlike {@link CcConfigChangedPayload} this is always dashboard-sourced. */
|
||||
export interface CodexConfigChangedPayload {
|
||||
source: "dashboard";
|
||||
action?: "write" | "delete";
|
||||
/** "user" or "project" - Codex has no "project-local" scope. */
|
||||
scope?: "user" | "project";
|
||||
/** Artifact kind, e.g. "skills", "agents", "rules", "memory", "config". */
|
||||
type?: string;
|
||||
name?: string | null;
|
||||
}
|
||||
|
||||
// ───── Alerting ─────
|
||||
// User-defined rules that watch the ingest stream (or a periodic sweep) and fire
|
||||
// {@link AlertEvent}s. {@link AlertRuleConfig} is a tagged bag of settings whose
|
||||
@@ -1624,6 +1643,7 @@ export interface WSMessage {
|
||||
* new_event → DashboardEvent; import.progress → ImportProgressMessage;
|
||||
* update_status → UpdateStatusPayload; run_stream/run_status/run_input_ack
|
||||
* → their matching Run*Payload; cc_config_changed → CcConfigChangedPayload;
|
||||
* codex_config_changed → CodexConfigChangedPayload;
|
||||
* alert_triggered/alert_updated → AlertEvent; workflow_upserted → WorkflowRun;
|
||||
* remote_source.status → RemoteSourceStatusPayload;
|
||||
* remote_data.updated → RemoteDataUpdatedPayload;
|
||||
@@ -1640,6 +1660,7 @@ export interface WSMessage {
|
||||
| "run_status"
|
||||
| "run_input_ack"
|
||||
| "cc_config_changed"
|
||||
| "codex_config_changed"
|
||||
| "alert_triggered"
|
||||
| "alert_updated"
|
||||
| "workflow_upserted"
|
||||
@@ -1661,6 +1682,7 @@ export interface WSMessage {
|
||||
| UpdateStatusPayload
|
||||
| RunStatusPayload
|
||||
| CcConfigChangedPayload
|
||||
| CodexConfigChangedPayload
|
||||
| AlertEvent
|
||||
| WorkflowRun
|
||||
| RemoteSourceStatusPayload
|
||||
|
||||
Reference in New Issue
Block a user