1.9 KiB
1.9 KiB
| spec_doc_type | spec_id | status | source_evidence | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| spec | input/openai-compatible-surface | 구현됨 |
|
OpenAI-Compatible Input Surface
Current implementation
Edge exposes model discovery, Chat Completions, Responses, legacy Completions, Anthropic Messages, and token-counting compatibility routes. Public model ids resolve to provider-pool candidates or direct provider routes.
Standard streaming, sampling, reasoning, tool definitions, tool choice, structured output, provider passthrough extensions, authentication, and compatible error envelopes are preserved. Provider-native tool calls remain structured; text fallback occurs only after an explicit native-tool rejection.
Caller metadata is a bounded string map. It is never treated as local process control or a filesystem execution context. Correlation values do not resume provider state.
Execution paths
- OpenAI-compatible providers use the raw provider tunnel when selected by the pool.
- Normalized adapters use
RunRequestand ordered run events. - Disconnect and timeout cancellation use the active run id.
- Usage attribution follows the selected provider or configured model group.
Verification
go test -count=1 ./apps/edge/internal/openai ./apps/node/internal/adapters/...make test-e2e