slack-rs 0.1.70

A Slack CLI tool with OAuth authentication, profile management, and API access
Documentation
# thread-command Specification

## Purpose
TBD - created by archiving change add-thread-get-command. Update Purpose after archive.
## Requirements
### Requirement: `thread get``conversations.replies` をラップしてスレッドを取得できる

`thread get` MUST 指定されたチャンネルとスレッドタイムスタンプを用いて `conversations.replies` を実行し、対象スレッドのメッセージを取得する。

#### Scenario: channel と thread_ts を指定してスレッドを取得する
Given `slack-rs thread get C123456 1700000000.000001` を実行する
When CLI が `conversations.replies` を呼び出す
Then `channel=C123456` と `ts=1700000000.000001` が送信される

### Requirement: `thread get``--limit``--inclusive` を API パラメータとして渡す

`--limit` と `--inclusive` の指定内容 MUST `conversations.replies` のリクエストパラメータに反映される。

#### Scenario: `--limit``--inclusive` を指定して取得する
Given `slack-rs thread get C123456 1700000000.000001 --limit=50 --inclusive` を実行する
When CLI が `conversations.replies` を呼び出す
Then `limit=50` と `inclusive=true` が送信される

### Requirement: `thread get` はカーソルページネーションを追従し messages を集約する

`response_metadata.next_cursor` が返る場合、CLI MUST 追加ページを取得し、全ページの `messages` を結合して返す。

#### Scenario: `next_cursor` が返る場合に複数ページを統合する
Given 1 ページ目のレスポンスに `response_metadata.next_cursor` が含まれる
When CLI が追加ページを取得する
Then `messages` は全ページ分の配列として返される

### Requirement: `thread get` は統一エンベロープを既定出力し `--raw` で生レスポンスを返す

既定では統一エンベロープを出力し、`--raw` が指定された場合は Slack API の生レスポンスを出力することを CLI MUST 守る。

#### Scenario: `--raw` なしと `--raw` 指定で出力形式が切り替わる
Given `slack-rs thread get C123456 1700000000.000001` を実行する
When `--raw` を指定しない
Then `response` と `meta` を含む統一エンベロープが出力される
When `--raw` を指定する
Then Slack API の生レスポンスが出力される

### Requirement: `thread get` はヘルプとイントロスペクションに表示される

`commands --json` と `--help --json` の結果に `thread get` が含まれることを CLI MUST 保証する。

#### Scenario: `commands --json``--help --json``thread get` が含まれる
Given `slack-rs commands --json` を実行する
When コマンド一覧を取得する
Then `thread get` が含まれる