You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+31Lines changed: 31 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,8 @@ An idiomatic Elixir SDK for embedding OpenAI's Codex agent in your workflows and
21
21
-`guides/03-api-guide.md` - public modules and common call patterns
22
22
-`guides/05-app-server-transport.md` - direct app-server requests and host controls
23
23
-`guides/11-typed-plugin-api.md` - typed plugin params, responses, and migration notes
24
+
-`guides/13-plugin-authoring.md` - local manifest writes, scaffold helpers, and scope rules
25
+
-`guides/14-plugin-marketplaces.md` - local marketplace modeling, merge behavior, and verification workflows
24
26
-`guides/07-models-and-reasoning.md` - shared catalog projections and reasoning controls
25
27
-`guides/08-configuration-defaults.md` - config precedence and default resolution
26
28
@@ -36,6 +38,7 @@ An idiomatic Elixir SDK for embedding OpenAI's Codex agent in your workflows and
36
38
-**Approval Hooks & Sandbox Policies**: Dynamic or static approval flows with registry-backed persistence.
37
39
-**Collaboration & Personality Controls**: Collaboration modes, personality overrides, and web search mode toggles.
38
40
-**Tooling & MCP Integration**: Built-in registry for Codex tool manifests, MCP client helpers, and elicitation handling.
41
+
-**Local Plugin Authoring**: Schema-backed local manifest and marketplace models, deterministic JSON writers, and scaffold helpers that do not depend on app-server `fs/*`.
39
42
-**Observability-Ready**: Telemetry spans, OTLP exporters gated by environment flags, usage stats, and rate limit snapshots.
40
43
-**Realtime API Support**: Full integration with OpenAI Realtime API for bidirectional voice interactions with WebSocket streaming.
41
44
-**Voice Pipeline**: Non-realtime STT -> Workflow -> TTS pipeline with streaming audio support and multi-turn conversations.
@@ -345,6 +348,8 @@ App-server-only APIs include:
345
348
- raw plugin wrappers: `Codex.AppServer.plugin_list/2`, `plugin_read/3`, `plugin_install/4`, `plugin_uninstall/3`
Copy file name to clipboardExpand all lines: examples/README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,8 @@ The `live_*.exs` scripts hit the live Codex CLI (no OPENAI_API_KEY needed if you
97
97
-`examples/live_oauth_login.exs` — native OAuth status/login/refresh demo using an isolated temporary `CODEX_HOME` by default; prints the browser URL before waiting, supports `--browser`, `--device`, and `--no-browser`, and can optionally show memory-mode app-server auth via `--app-server-memory`
98
98
-`examples/live_app_server_basic.exs` — minimal turn + skills/models/thread list over `codex app-server`
99
99
-`examples/live_app_server_filesystem.exs` — end-to-end `fs/*` app-server demo (write/read/list/metadata/copy/remove); self-skips when the connected CLI build does not advertise those legacy parity methods
100
-
-`examples/live_app_server_plugins.exs` — provisions a disposable local marketplace under the system temp directory, launches `codex app-server` with an isolated temporary `CODEX_HOME`, then exercises the typed `plugin_list_typed/2` + `plugin_read_typed/3` wrappers without mutating your real `$CODEX_HOME` or requiring a preinstalled plugin; prints derived `needs_auth` state from typed app summaries and self-skips when the connected CLI build does not advertise `plugin/read`
100
+
-`examples/plugin_scaffold.exs` — local plugin authoring walkthrough using `Codex.Plugins.scaffold/1`; writes a disposable manifest, optional skill, and marketplace entry under the system temp directory and prints the resulting paths
101
+
-`examples/live_app_server_plugins.exs` — provisions a disposable local plugin fixture through `Codex.Plugins.scaffold/1`, launches `codex app-server` with an isolated temporary `CODEX_HOME`, then exercises the typed `plugin_list_typed/2` + `plugin_read_typed/3` wrappers without mutating your real `$CODEX_HOME` or requiring a preinstalled plugin; prints derived `needs_auth` state from typed app summaries and self-skips when the connected CLI build does not advertise `plugin/read`
101
102
-`examples/live_app_server_streaming.exs` — streamed turn over app-server (prints deltas + completion)
102
103
-`examples/live_app_server_approvals.exs` — demonstrates command/file approvals, opts into app-server `experimentalApi`, provisions a disposable temp workspace plus temporary `CODEX_HOME`, enables the under-development approval feature flags only inside that isolated home, and prints a structured-grant fallback plus guardian/request-resolution events when live permissions requests still do not appear
103
104
-`examples/live_app_server_mcp.exs` — lists MCP servers and prints original vs sanitized qualified tool names
"description": "Local Codex SDK demo plugin loaded from a disposable fixture",
125
-
"interface": {
126
-
"displayName": "Codex SDK Demo Plugin",
127
-
"shortDescription": "Disposable plugin fixture for plugin/read parity checks",
128
-
"longDescription": "This plugin bundle is created under the system temp directory so the example can exercise plugin/list and plugin/read without mutating your real Codex home.",
129
-
"developerName": "OpenAI",
130
-
"category": "Productivity"
131
-
}
132
-
}
133
-
"""
134
95
135
96
app_json="""
136
97
{
@@ -154,23 +115,28 @@ defmodule CodexExamples.LiveAppServerPlugins do
description: "Local Codex SDK demo plugin loaded from a disposable fixture",
129
+
interface: [
130
+
display_name: "Codex SDK Demo Plugin",
131
+
short_description: "Disposable plugin fixture for plugin/read parity checks",
132
+
long_description:
133
+
"This plugin bundle is created under the system temp directory so the example can exercise plugin/list and plugin/read without mutating your real Codex home.",
0 commit comments