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
- prompt runtime passes ACP session identity through Pydantic AI `conversation_id` and run `metadata`
147
+
-`run_stream_events()` returns an async context manager in current Pydantic AI; keep direct async-iterable fallback only for tests and compatibility fakes
148
+
-`OpenAICompactionBridge` must not pass deprecated `instructions=` into upstream `OpenAICompaction`
149
+
131
150
## Module Guide
132
151
133
152
| Subsystem | Key files | Use them for |
@@ -190,7 +209,7 @@ It supports:
190
209
- mode switching
191
210
- config options
192
211
- ACP-native plans
193
-
-tool-based or structured plan generation
212
+
-`Tool Plans`or `Structured Plans` plan generation
194
213
- custom slash command providers
195
214
- session replay and fork/resume/load/close/list lifecycle
196
215
- slash command discovery and rendering
@@ -205,6 +224,10 @@ This package should be the reference answer whenever the question is:
@@ -1464,10 +1468,13 @@ called inside `graph_factory=...`.
1464
1468
- `AdapterConfig`
1465
1469
- explicit session stores and transcript replay
1466
1470
- provider-owned models, modes, and config options
1471
+
- prompt capability advertisement
1467
1472
- native ACP plan state with `TaskPlan`
1468
-
- approval bridging
1473
+
- approval bridging with projection-aware permission cards
1469
1474
- capability bridges
1475
+
- built-in and host-defined slash commands
1470
1476
- projection maps and event projection maps
1477
+
- external hook event projection
1471
1478
- ACP-facing type exports in `langchain_acp.types`
1472
1479
1473
1480
The important difference is upstream shape, not ACP Kit architecture. On the LangChain side the adapter deals in graphs and middleware instead of model profiles and tool preparers.
@@ -1513,6 +1520,51 @@ The point is not to make the adapter magical. The point is to keep the host,
1513
1520
the graph, and the ACP surface aligned without inventing runtime state the graph
1514
1521
cannot really honor.
1515
1522
1523
+
## Prompt Capabilities And Slash Commands
1524
+
1525
+
Prompt capability advertisement is configurable instead of hardcoded:
1526
+
1527
+
```python
1528
+
from langchain_acp import AdapterConfig, AdapterPromptCapabilities
1529
+
1530
+
config = AdapterConfig(
1531
+
prompt_capabilities=AdapterPromptCapabilities(
1532
+
audio=False,
1533
+
image=False,
1534
+
embedded_context=True,
1535
+
)
1536
+
)
1537
+
```
1538
+
1539
+
The adapter also owns an ACP-native slash-command layer:
1540
+
1541
+
- mode commands such as `/ask`
1542
+
- `/model`
1543
+
- `/tools`
1544
+
- `/mcp-servers`
1545
+
- custom host commands through `slash_command_provider`
0 commit comments