Onprest v2.0.0 を公開しました
リリース
Onprest v2.0.0 をリリースしました。
Onprest は、オンプレミス環境にあるデータベースやファイル、社内 API を、REST API / MCP から安全に利用するための OSS です。データベースや SQL をそのまま外部公開するのではなく、オンプレ側で定義した capability だけを gateway 経由で呼び出せる構成にしています。
v2.0.0 は、capability の対象をデータベース以外にも広げ、ファイルの入出力に対応したメジャーバージョンアップです。
- capability の実行方式(executor)として
db/csv/http/file/wasmの 5 種類に対応。いずれも capability の YAML で設定し、同じ REST / MCP のインターフェースから利用可能 - 入出力の契約を共通化。
properties/itemsによる宣言を単一のコンパイラで正規化し、gateway はその宣言から生成した OpenAPI / MCP のスキーマを公開。出力は項目の選択、そのままの受け渡し、CSV の生成に対応 - ファイルの入力を 1 回の呼び出しで完結。REST は JSON への Base64 インライン埋め込みと
multipart/form-dataによる生ファイル送信に対応し、MCP はtools/callの引数にインラインで指定可能。アップロードは既存の outbound WebSocket で agent にストリーミングされ、別途アップロード用の手順は不要 - ファイルの出力は、インライン返却、REST での直接ダウンロード、呼び出し元に紐づく短命な参照 URL / MCP リソースの 3 通りに対応
- 独立したモジュールとして Go SDK(
github.com/viewlegacy/onprest/sdk/go)を追加。型付きの入力、InputFile、ファイルを含む結果、agent 経由のファイル / HTTP アクセス、公開エラーを提供 onprest-agent code build/code validate/code testを追加し、capability をローカルでビルド・検証・テスト可能。agent を動かすホスト側に Go は不要- Wasm の capability は、ファイルシステム・HTTP・環境変数へのアクセスを明示的に許可したものだけに限定でき、呼び出しごとの入出力量の上限も設定可能
- ファイルの保存は atomic に実行し、保存が中断されて残った一時ファイルは次回起動時に回収
今回のリリースにより、データベースの参照・更新だけでなく、CSV の取り込みや社内 API の呼び出し、ファイルの受け渡し、独自ロジックの実行までを、同じ capability の枠組みと同じ認可のもとで外部に公開できるようになりました。
GitHub: https://github.com/viewlegacy/onprest
Documentation: https://docs.onprest.viewlegacy.com/