Repository navigation
feat: improve native Pi integration and prepare package releases - #108
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
| Layer / File(s) | Summary |
|---|---|
Session startup and approval cancellation packages/pi-gate/src/index.ts, packages/pi-gate/tests/*, packages/pi-gate/README.md, packages/pi-gate/CHANGELOG.md, packages/pi-gate/package.json |
Starter configuration is created at session start. Session cancellation signals reach queued tool calls and approval prompts. Tests cover shutdown, session replacement, stale calls, and nested calls. The package version and release notes are updated. |
OpenCode Free catalog refresh
| Layer / File(s) | Summary |
|---|---|
Catalog snapshots and conditional discovery packages/pi-opencode-free/src/models.ts, packages/pi-opencode-free/tests/models.test.ts |
Discovery supports validated persisted catalog snapshots, conditional requests, and HTTP status reporting. A 304 reuses the cached snapshot; 404 and 501 produce an empty snapshot. |
Endpoint-scoped refresh and persistence packages/pi-opencode-free/src/index.ts, packages/pi-opencode-free/tests/extension.test.ts, packages/pi-opencode-free/README.md, docs/architecture.md, packages/pi-opencode-free/CHANGELOG.md, packages/pi-opencode-free/package.json |
Refresh uses endpoint-matching snapshots and a four-hour freshness check. It persists catalog metadata and validators with model data. Tests cover refresh boundaries, failures, cancellation, and forced refreshes. |
OpenCode Free quota messages
| Layer / File(s) | Summary |
|---|---|
Quota error and reset-time display packages/pi-opencode-free/src/quota.ts, packages/pi-opencode-free/tests/stream.test.ts |
Quota errors use updated wording. Reset times use 24-hour formatting with minute precision and a short timezone name. Tests check retryability and formatting. |
Web fetch tool contract and preview
| Layer / File(s) | Summary |
|---|---|
Fetch input validation and preview rendering packages/pi-web-fetch/src/index.ts, packages/pi-web-fetch/tests/*, packages/pi-web-fetch/CHANGELOG.md, packages/pi-web-fetch/package.json |
The schema validates configured URL, query, and offset bounds. The tool adds read-only annotations and renders call details, partial text, and result metadata. Tests also update transport retry fixtures. |
Web search tool preview
| Layer / File(s) | Summary |
|---|---|
Search annotations and result summaries packages/pi-web-search/src/index.ts, packages/pi-web-search/tests/*, packages/pi-web-search/CHANGELOG.md, packages/pi-web-search/package.json |
The tool adds read-only annotations and renders partial text plus result count, cache status, and truncation details. |
Priority:
Estimated code review effort: 4 (Complex) | ~45 minutes
Change: Feature
Sequence Diagram(s)
sequenceDiagram
participant session_start
participant piGate
participant ToolCall
participant ApprovalDialog
participant session_shutdown
session_start->>piGate: Create starter configuration and session controller
ToolCall->>piGate: Queue call with combined signal
piGate->>ApprovalDialog: Open prompt with combined signal
session_shutdown->>piGate: Abort session signal
piGate-->>ApprovalDialog: Cancel pending prompt
ApprovalDialog-->>piGate: Return cancellation
piGate-->>ToolCall: Reject cancelled call
sequenceDiagram
participant ModelPicker
participant refreshModels
participant discoverFreeModels
participant CatalogEndpoint
participant ModelsStore
ModelPicker->>refreshModels: Request model refresh
refreshModels->>ModelsStore: Read endpoint-matching snapshot
refreshModels->>discoverFreeModels: Pass cached catalog and validators
discoverFreeModels->>CatalogEndpoint: Send conditional catalog request
alt Catalog unchanged
CatalogEndpoint-->>discoverFreeModels: Return 304
discoverFreeModels->>discoverFreeModels: Reuse cached snapshot
else Catalog changed
CatalogEndpoint-->>discoverFreeModels: Return 200 and catalog metadata
discoverFreeModels->>discoverFreeModels: Build updated snapshot
end
discoverFreeModels-->>refreshModels: Return models and snapshot
refreshModels->>ModelsStore: Publish models, catalog, and check time
Merge Risk: 
Minimal · up to 95c75
-
The release entry is correctly prepared ahead of tagging, and the catalog snapshot can persist across restarts. No identified issue blocks merging.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passedFull details: Docstring Coverage
-
Explanation
Docstring coverage is 72.22% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 18 functions across 16 files. (11 skipped: 11 unsupported.)
Resolution
Write docstrings for the functions missing them to satisfy the coverage threshold.
-
Finishing Touches
-
📝 Generate docstrings
-
- 🤖 Coding Agent task started for docstring generation.
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
|
🤖 Completed: Generate docstrings for PR #108 — View commit |
Improve native Pi integration across OpenCode Free, gate, and the web tools, and prepare their next releases.
Release manifests and dated changelogs prepare
pi-gate@0.7.1,pi-opencode-free@0.2.1, and both web packages at0.14.0. Publishing remains a separate post-merge step triggered by individual component tags.