WebSocket
messaging-websocket は、build-answer.json から生成される answer 所有のメッセージングプロバイダーです。クライアントが Greentic とライブ WebSocket セッションを維持し、名前付きチャットプラットフォームではなく JSON frame を交換する場合に役立ちます。
現在サポートしている機能:
- 認証なし、bearer-token auth、query-token auth による接続検証
- JSON オブジェクトを含む受信 text frame を正規化イベントへマッピング
- メッセージ payload から送信 text frame を構築
open、close、errorの lifecycle event を正規化
binary frame は現在のプロバイダー実装では保留されています。
セットアップ
Section titled “セットアップ”-
プロバイダー pack を追加する
gtc wizardでmessaging-websocketを選択するか、メッセージングプロバイダーカタログから pack を bundle に追加します。 -
接続ポリシーを設定する
インストール済み pack に対して生成された setup answers を使います。典型的な設定には tenant/team metadata と任意の認証が含まれます。
-
setup を実行する
Terminal window gtc setup ./my-bundle -
runtime を起動する
Terminal window gtc start ./my-bundle
受信 Frame
Section titled “受信 Frame”受信 frame は JSON オブジェクトを含む text frame である必要があります。プロバイダーはそれを次のようなイベントにマッピングします:
{ "provider": "messaging-websocket", "direction": "inbound", "kind": "websocket.frame", "session_id": "session-1", "payload": { "message": "hello" }, "metadata": { "tenant_id": "demo", "team_id": "default" }}lifecycle event は websocket.open、websocket.close、websocket.error などの kind 値で正規化されます。
送信 Frame
Section titled “送信 Frame”送信メッセージには session_id とオブジェクト payload が必要です。これらは text frame に変換されます:
{ "session_id": "session-1", "opcode": "text", "data": "{\"message\":\"hello\"}"}ネットワークアクセス
Section titled “ネットワークアクセス”| 方向 | プロトコルとポート | 目的 |
|---|---|---|
| 受信 | Greentic への WSS 443 | 本番環境のブラウザーまたはサービス WebSocket クライアント |
| 受信、ローカル開発 | ローカル runtime/tester ポートの WS | TLS/トンネル終端前のローカルテスト |
| 送信 | host/runtime integration が使う場合の設定済み endpoint への WS または WSS | プロバイダーが構築する送信 frame |
ローカル tester を使います:
./scripts/test_ws.shtester ページには受信 frame マッピング、送信 frame 生成、lifecycle event 正規化の個別ボタンがあり、明確な pass/fail ステータスを表示します。