@@ -40,7 +40,7 @@ Latest checked main branch also includes post-release coding-agent/AI fixes thro
4040
4141| Area | Upstream TS (` pi-mono ` ) | This Java repo | Alignment |
4242| ---| ---| ---| ---|
43- | Core model/provider abstraction | `packages/ai`, `packages/agent` | `pi-core`, `pi-llm` (`AgentMessage` null content normalization, `gpt-5.5` default, model-resolution helpers, request-scoped OpenAI/Anthropic/Bedrock auth/options, OpenAI/Anthropic/Bedrock request-scoped provider headers and `ProviderHeaderContributor` hook boundary for non-streaming HTTP requests, Azure Foundry endpoint normalization, HTTP error response bodies, retryable provider errors, GitHub Copilot OAuth device-flow client foundation, OAuth device-code polling interval handling, OpenAI output-token floor clamping, OpenAI-compatible HTTP 524 retry classification, OpenAI-compatible DS4 context-overflow classification, OpenAI `image_url`, Anthropic image, and Bedrock image attachment content parts, OpenAI/Anthropic/Bedrock non-streaming tool-use metadata, provider-native tool-result blocks, and `(no tool output)` placeholders for empty tool results, Anthropic/Bedrock thinking content metadata, Anthropic Messages API with Claude 5 thinking, Anthropic-compatible + Bedrock Claude Sonnet 5 catalogs and SigV4-signed non-streaming Bedrock invoke payloads) | Partially aligned |
43+ | Core model/provider abstraction | `packages/ai`, `packages/agent` | `pi-core`, `pi-llm` (`AgentMessage` null content normalization, `gpt-5.5` default, model-resolution helpers, request-scoped OpenAI/Anthropic/Bedrock auth/options, OpenAI/Anthropic/Bedrock request-scoped provider headers and `ProviderHeaderContributor` hook boundary for non-streaming HTTP requests, Azure Foundry endpoint normalization, HTTP error response bodies, retryable provider errors, GitHub Copilot OAuth device-flow client foundation, credential-backed Copilot provider availability, OAuth device-code polling interval handling, OpenAI output-token floor clamping, OpenAI-compatible HTTP 524 retry classification, OpenAI-compatible DS4 context-overflow classification, OpenAI `image_url`, Anthropic image, and Bedrock image attachment content parts, OpenAI/Anthropic/Bedrock non-streaming tool-use metadata, provider-native tool-result blocks, and `(no tool output)` placeholders for empty tool results, Anthropic/Bedrock thinking content metadata, Anthropic Messages API with Claude 5 thinking, Anthropic-compatible + Bedrock Claude Sonnet 5 catalogs and SigV4-signed non-streaming Bedrock invoke payloads) | Partially aligned |
4444| Session tree + JSONL persistence | ` packages/agent ` session storage, reasoning usage metadata, invalid-session overwrite protection, ` session_info_changed ` notification, split-turn compaction summary serialization | ` pi-session ` (restore/resume/fork/import/export, nested usage/reasoning token metadata, invalid non-empty JSONL overwrite protection, deterministic startup session ids, rename metadata event source, bounded non-streaming tool result continuation, length-truncated assistant tool-call failure handling, serialized split-turn summary orchestration) | Mostly aligned for Java use |
4545| Tool runtime | built-in ` read/write/edit/bash/grep/find/ls ` , BMP image handling | ` pi-tools ` (read/write/edit/bash/find/grep/ls, BMP-to-PNG payloads in ` read ` , literal ` edit ` replacements with extra replacement metadata tolerated, strict 1-60s bash timeout validation, sequential ` executionMode ` tool metadata, session-level multi-round tool-call execution into ` TOOL_RESULT ` ) | Partially aligned |
4646| CLI agent workflow | ` packages/coding-agent ` | ` pi-cli ` (` --no-session ` , ` --session-id ` , ` @file ` attachment expansion, improved session/model/resource commands) | Partially aligned |
@@ -206,6 +206,7 @@ Quickstart docs:
206206- [x] Resolve preferred LLM providers by model id and skip unavailable defaults
207207- [x] Expose model-resolution helpers for available model catalogs and exact model-to-provider lookup
208208- [x] Add OAuth device-code polling helper and a minimal GitHub Copilot device-flow client that delay the first token poll, honor server-provided ` slow_down ` intervals, and persist successful access tokens to a local ` api_key ` credential store
209+ - [x] Expose a credential-backed GitHub Copilot provider skeleton that is unavailable without a persisted access token and selectable by model id once credentials exist
209210- [x] Align OpenAI default model to ` gpt-5.5 ` and normalize Azure Foundry/OpenAI base URLs
210211- [x] Honor request-scoped OpenAI API key, ` OPENAI_API_KEY ` env override, model, temperature, and max-token options
211212- [x] Honor request-scoped OpenAI provider headers for non-streaming HTTP requests while keeping authorization managed by the provider
@@ -256,6 +257,7 @@ Latest local verification sample:
256257- ` mvn -pl pi-cli -am test -Dtest=PiRpcCommandHandlerTest -Dsurefire.failIfNoSpecifiedTests=false -Djava.version=17 ` : pass (minimal RPC ` get_entries ` /` get_tree ` tests, including rendered entry summaries and tail-derived ` shortId ` fields).
257258- ` mvn -pl pi-cli -am test -Dtest=PiCliStartupOptionsTest,PiCliSettingsLoaderTest,PiCliOutputFormatterTest,PiExternalEditorTest -Dsurefire.failIfNoSpecifiedTests=false -Djava.version=17 ` : pass (CLI startup args, settings loading, user/assistant/thinking output padding, and external editor command runner tests).
258259- ` mvn -pl pi-llm -am test -Dtest=GitHubCopilotOAuthClientTest,OAuthDeviceCodePollerTest -Dsurefire.failIfNoSpecifiedTests=false -Djava.version=17 ` : pass (GitHub Copilot OAuth device-flow startup, delayed first token poll, RFC +5s ` slow_down ` , server-provided ` slow_down ` interval handling, and local ` api_key ` credential-store persistence through a deterministic fake transport).
260+ - ` mvn -pl pi-llm -am test -Dtest=GitHubCopilotLLMProviderTest -Dsurefire.failIfNoSpecifiedTests=false -Djava.version=17 ` : pass (credential-backed Copilot provider availability, model-id selection, and explicit unimplemented chat transport failure).
259261- ` mvn -pl pi-llm -am test -Dtest=LLMProviderManagerTest -Dsurefire.failIfNoSpecifiedTests=false -Djava.version=17 ` : pass (model-id provider resolution, unavailable default-provider skip, available model catalog, and exact model-to-provider helper tests).
260262- ` mvn -pl pi-llm -am test -Dtest=OpenAIClientTest,OpenAIConfigTest,OpenAILLMProviderTest -Dsurefire.failIfNoSpecifiedTests=false -Djava.version=17 ` : pass (OpenAI HTTP error body, retryable provider errors, HTTP 524 timeout retry classification, DS4 context-overflow classification, request output-token floor clamping, default model, request-scoped API key/env/model/options/provider headers, provider header contributors, Azure Foundry endpoint, response content parsing, usage/reasoning token metadata, incomplete output-length response, OpenAI image attachment content parts, non-streaming tool schema request, ` tool_calls ` metadata parsing, and ` (no tool output) ` placeholder for empty tool result payloads).
261263- ` mvn -pl pi-llm -am test -Dtest=AnthropicClientTest,AnthropicConfigTest,AnthropicLLMProviderTest -Dsurefire.failIfNoSpecifiedTests=false -Djava.version=17 ` : pass (Anthropic-compatible Claude Sonnet 5 catalog, request-scoped API key/env auth/provider headers, provider header contributors, Messages API request headers/body, Claude 5 thinking payload, image attachment content blocks, non-streaming tool schema request without internal execution metadata leakage, ` tool_use ` metadata parsing, provider-native ` tool_result ` content blocks including empty-result placeholders, HTTP error body, response content, thinking content, and usage metadata tests).
0 commit comments