@tocca-systems/twp-cli 0.51.0 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.public.md +6 -0
- package/README.md +22 -2
- package/dist/{api-command-ZZFN3T2G.js → api-command-5LQFOG24.js} +1 -1
- package/dist/{app-WX4B5MQ3.js → app-G524XCIA.js} +1 -1
- package/dist/{chunk-Z4UT367H.js → chunk-E34FX2DF.js} +1 -1
- package/dist/{chunk-PFY5QJKO.js → chunk-K7OIECPN.js} +1 -1
- package/dist/cli.js +33 -6
- package/dist/{media-VQ74YPWV.js → media-TIRJJUNN.js} +159 -63
- package/dist/{registry-HEGYZVX6.js → registry-3PWIZP2X.js} +1 -1
- package/dist/{run-HYQQIOVW.js → run-XZZR3OKX.js} +1 -1
- package/package.json +1 -1
package/CHANGELOG.public.md
CHANGED
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
`CHANGELOG.md` に残してあります。顧客向けの履歴は public 公開以降を対象とします。
|
|
12
12
|
-->
|
|
13
13
|
|
|
14
|
+
## 0.52.0
|
|
15
|
+
|
|
16
|
+
CLI から AI で動画・音楽を作れるようになりました(`twp media video create` / `twp media music create`)。送る前に消費クレジットの見積を表示し、`--wait` で完成まで待って `--out` でそのままファイルに保存できます。待ちきれなかった場合は表示されるコマンド(`twp media video get <task_id> --wait --out <パス>`)で、作り直さずに続きから受け取れます。画像や動画を元にした動画のリミックス(`--from` / `--from-video`)、生成中の取り消し、見積だけの確認(`preview`)にも対応しています。
|
|
17
|
+
|
|
18
|
+
メディアライブラリのファイルに、CLI からコメントを付けたり、AI にタグを提案させたり、重複ファイルを探したりできるようになりました。コメントの一覧・投稿・更新・削除(`twp media comment`)、画像・動画のタグ提案と今のタグへの追加(`twp media ai-tag run`・AI クレジットを消費します)、内容が同じファイルの検出とアップロード前の同名チェック(`twp media duplicate list`)に対応しています。
|
|
19
|
+
|
|
14
20
|
## 0.51.0
|
|
15
21
|
|
|
16
22
|
メディアライブラリのファイルの中身を CLI から書き換え・差し替えできるようになりました。テキストファイルの本文の読み取りと書き換え(`twp media content get` / `update`)、ファイルIDを変えずに新しいファイルへ差し替える操作(`twp media version create`)、版の一覧・詳細・比較(`twp media version list` / `get` / `compare`)、過去の版の取り出し(`twp media version download`)と、過去の版の内容に戻す操作(`twp media version restore`)に対応しています。
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ TWP(Tocca Working Platform)を、ターミナルから使うための CLI
|
|
|
31
31
|
| **できる** | `twp announcement` による自分に届いているお知らせ(運営・組織)の一覧(未読・確認待ち・語で絞り込み)・本文と返信の表示・未読件数、既読化(1件ずつ・まとめて)・「確認しました」の記録・返信の一覧と投稿 |
|
|
32
32
|
| **できる** | `twp agent session` によるコンテナエージェント(リポジトリで作業する AI セッション)の起動・追加の指示・再開・停止・削除と、状態・作業ブランチ・PR・会話・実行ログ・変更ファイル(差分)の参照、`twp agent repository` による起動できるリポジトリとブランチの一覧。`--wait` で作業が止まるまで待ち、最後のアシスタント発言・作業ブランチ・PR URL を出します。起動・指示・再開は AI クレジットを消費します |
|
|
33
33
|
| **できる** | `twp estimate` / `twp invoice` による販売管理の見積・請求の一覧(語・ステータス・取引先・プロジェクト・担当者・日付・回収状況で絞り込み)と詳細、`twp estimate` による見積の作成・更新・削除・社内共有メモ・既存の請求の紐づけ・関連入金・部署按分・案件書類(注文書・個別契約書など)の登録・版の差替え・ダウンロードと、注文書からの注文書番号の読み取り・見積書/注文書/注文請書の PDF の書き出し、`twp invoice` による請求の作成・更新・削除・取消と取消解除・統合請求書の作成・社内共有メモ・CSV/MF 会計仕訳の書き出し・請求書メールの送信・支払いリンクの作成・請求書/納品書/検収書の PDF の書き出し、`twp contract` による取引契約(見積から作る販売管理の契約)の一覧・詳細・作成・更新・削除、`twp invoice auto-template` による自動請求テンプレートの一覧・詳細・作成・更新・削除と発行履歴の参照(販売管理の管理者)、`twp deposit` による入金の一覧・詳細・登録・更新・削除・CSV 書き出し、請求への引当(CSV での一括を含む)・解除・手数料分の引き上げ、入金予定からの入金と引当のまとめ登録、`twp receivable` による売掛金残高の表示と CSV 書き出し・月次の締めと締めの解除(どちらも販売管理の管理者)、`twp purchase` による仕入(注文書)の一覧・詳細・作成・更新・削除・複製・一覧のメモ・注文書/注文請書の PDF の書き出しと、添付書類(見積書・注文書・注文請書)の登録・版の差替え・ダウンロード、添付した見積書からの AI 読み取り(候補を出すだけで仕入は変えません)、`twp supplier-payment` による支払(仕入先へ払うお金の台帳)の一覧・詳細・登録・更新・削除・ID を並べたファイルでのステータスの一括変更と、毎月の支払を生成する支払先マスタの一覧・詳細・登録・更新・削除(どちらも販売管理の管理者)、`twp business-place` / `twp payee` / `twp seal-impression` による帳票に載る自社の事業所・振込先・印影(画像の登録を含む)の一覧・詳細・登録・更新・削除(書き込みは販売管理の管理者。振込先の一覧は口座番号を伏字にします)、`twp purchase ai-mapping` による見積書 AI 読み取りのマッピング表の一覧・詳細・登録・更新・削除と反映先の選択肢、`twp estimate no-rule` / `twp invoice no-rule` / `twp purchase no-rule` による見積・請求・仕入の番号ルールの一覧(次に発行される番号つき)・詳細・登録・更新・削除と、`twp estimate format` による見積フォーマット(書類を作るときの既定値の組)の一覧・詳細・作成・更新・削除、`twp rounding-setting` による端数処理(金額の丸め方)の表示と変更(番号ルールと端数処理の変更は `--yes` が要り、変更前・変更後を出します)、`twp company` / `twp customer` による取引先企業・顧客の一覧と詳細(名前でも指定できます)、`twp customer` による顧客の登録・更新・削除(担当者・対応履歴ごと。ID を並べたファイルでの一括削除を含む)と担当者・対応履歴の一覧・詳細・登録・更新・削除、全顧客の最近の対応、名刺画像の登録・裏面メモ・削除、企業をまたいだ人物の一覧・詳細・CSV 書き出し、登録前の類似企業検索、`twp company` による取引先企業(仕入先を含む)の登録・更新・削除、`twp prospect` によるアプローチ先(見込客)の一覧・登録・更新・削除・CSV での一括登録と書き出し・重複確認・顧客への昇格と対応履歴の記録、`twp estimate|invoice|contract ai-review` による申請前AIチェックの実行(`--wait` で完了まで待つ)・結果の表示・指摘への確認済みの理由の登録と取消、`twp ai-review-reason` による理由の横断一覧・社内ナレッジへの追記文案の生成と追記PRの作成(販売管理の管理者)。販売管理・顧客管理の権限が要ります |
|
|
34
|
-
| **できる** | `twp media` によるメディアライブラリのファイルのアップロード・一覧・ダウンロード・詳細・名前/説明/タグの変更・移動・公開・非公開・アーカイブ・予約公開・削除(ゴミ箱へ移す・`--permanent` で完全削除)・復元・一括操作(公開・非公開・アーカイブ・移動・削除・復元・ZIP ダウンロード)・AI による画像/文書の生成と画像のリミックス(`--out`
|
|
34
|
+
| **できる** | `twp media` によるメディアライブラリのファイルのアップロード・一覧・ダウンロード・詳細・名前/説明/タグの変更・移動・公開・非公開・アーカイブ・予約公開・削除(ゴミ箱へ移す・`--permanent` で完全削除)・復元・一括操作(公開・非公開・アーカイブ・移動・削除・復元・ZIP ダウンロード)・AI による画像/文書の生成と画像のリミックス(`--out` でそのまま取得)・AI による動画/音楽の生成と動画のリミックス(非同期。送る前に見積を表示・`--wait` で完了まで待って `--out` で取得・`twp media video|music`)・テキストファイルの本文の読み書き(`twp media content`)・差し替えと版の一覧・比較・取り出し・巻き戻し(`twp media version`)、`twp media folder` によるフォルダの一覧・ツリー表示・作成・名前変更・移動・削除・ゴミ箱からの復元と完全削除(`--folder` はフォルダID のほか「親/子」形式のパスでも指定可)、`twp media trash` によるゴミ箱の一覧と空にする操作、`twp media tag` によるタグの一覧・登録・統合・削除(統合と削除は管理者)、`twp media recent list` による最近閲覧したファイル、`twp media comment` によるファイルへのコメントの一覧・投稿・更新・削除(更新と削除は自分のコメントだけ)、`twp media ai-tag run` による AI のタグ提案(クレジットを消費・`--apply` で今のタグに追加)、`twp media duplicate list` による内容が同じファイルの検出とアップロード前の同名検査、`twp storage get` によるストレージ使用量の確認(管理者) |
|
|
35
35
|
| **できる** | `twp attendance` による自分の勤怠の参照(いまの打刻状態・打刻の履歴・月の勤怠表)と打刻・打刻修正(過去の時刻での打刻・メモの変更・取り消し・プロジェクトの付け替え)、勤怠連絡の一覧・登録・変更・削除、チームの勤怠状況・フレックス精算の参照、管理者向けの残業サマリ(36協定を含む)・締め状況の参照 |
|
|
36
36
|
| **できる** | `twp leave` による有給の残日数・取得履歴・付与履歴の参照と有給の申請(`twp leave request`)、`twp workchange list` / `twp shift list` による月の勤務変更・シフトの参照(`--me` で自分の分・無ければ全員分=勤怠の管理者) |
|
|
37
37
|
| **できる** | `twp expense commuting` による通勤交通費の一覧・月ごとの内容と勤怠情報(有給・リモート・勤務変更)の参照、日ごとの区分の保存(下書き)・申請・申請の取消・削除。経費の管理者はテナント全員の一覧(`--all-users`)と月の CSV 出力(`export`)ができます |
|
|
@@ -829,9 +829,25 @@ twp media version create <ファイルID> --file <パス> [--comment <説明>]
|
|
|
829
829
|
twp media version restore <ファイルID> --rev <版番号> --yes
|
|
830
830
|
twp media image create (--prompt <文> | --prompt-file <パス|->) [--from <ファイルID>] [--model <ID>] [--quality <品質>] [--size <幅x高さ>] [--project <コード|ID>] [--folder <ID|パス>] [--out <パス> [--force]] --yes
|
|
831
831
|
twp media document create (--prompt <文> | --prompt-file <パス|->) --format <形式> [--model <ID>] [--project <コード|ID>] [--folder <ID|パス>] [--out <パス> [--force]] --yes
|
|
832
|
-
twp media model list --for image|document
|
|
832
|
+
twp media model list --for image|document|video|music
|
|
833
|
+
twp media video create (--prompt <文> | --prompt-file <パス|->) [--from <画像ID> | --from-video <動画ID>] [--model <ID>] [--duration <秒>] [--resolution <解像度>] [--aspect-ratio <比>] [--project <コード|ID>] [--folder <ID|パス>] [--wait [--wait-timeout <秒>]] [--out <パス> [--force]] --yes
|
|
834
|
+
twp media video get <task_id> [--wait [--wait-timeout <秒>]] [--out <パス> [--force]]
|
|
835
|
+
twp media video list [--limit <件数>]
|
|
836
|
+
twp media video cancel <task_id> --yes
|
|
837
|
+
twp media video preview [--model <ID>] [--duration <秒>] [--resolution <解像度>] [--aspect-ratio <比>] [--from <画像ID> | --from-video <動画ID>]
|
|
838
|
+
twp media music create (--prompt <文> | --prompt-file <パス|->) [--model <ID>] [--duration <秒>] [--instrumental] [--project <コード|ID>] [--folder <ID|パス>] [--wait [--wait-timeout <秒>]] [--out <パス> [--force]] --yes
|
|
839
|
+
twp media music get <task_id> [--wait [--wait-timeout <秒>]] [--out <パス> [--force]]
|
|
840
|
+
twp media music list [--limit <件数>]
|
|
841
|
+
twp media music cancel <task_id> --yes
|
|
842
|
+
twp media music preview [--model <ID>] [--duration <秒>]
|
|
833
843
|
twp media document-format list
|
|
834
844
|
twp media prompt create (--content <文> | --content-file <パス|->) --for image|video|music
|
|
845
|
+
twp media comment list <ファイルID>
|
|
846
|
+
twp media comment create <ファイルID> --body-file <パス|->
|
|
847
|
+
twp media comment update <コメントID> --file-id <ファイルID> --body-file <パス|->
|
|
848
|
+
twp media comment delete <コメントID> --file-id <ファイルID> --yes
|
|
849
|
+
twp media ai-tag run <ファイルID> --yes [--apply]
|
|
850
|
+
twp media duplicate list <ファイルID> | --name <ファイル名>... [--folder <ID|パス>] [--project <コード|ID>]
|
|
835
851
|
twp storage get
|
|
836
852
|
```
|
|
837
853
|
|
|
@@ -846,6 +862,10 @@ twp storage get
|
|
|
846
862
|
- **`twp media schedule` の日時はタイムゾーン付きの ISO 8601 で指定します**(例 `2026-12-01T09:00:00+09:00`)。オフセットの無い日時は受け付けません。送る値は `--dry-run` で確認できます。`--clear` で予約を外すと非公開(下書き)に戻ります
|
|
847
863
|
- **`twp media trash empty` はゴミ箱のファイルとフォルダをすべて完全に削除します。** 実行時は先に件数を表示し、1件でも消せなかったものがあれば終了コード 3 で終わります
|
|
848
864
|
- **`twp media tag merge` / `delete` はテナント全体のファイルのタグを書き換えます**(管理者のみ・`--yes` が要る)。実行時は先に使用数を表示し、存在しないタグは送らずに終了コード 2 で止まります(サーバは無いタグの削除にも成功を返すため)
|
|
865
|
+
- **動画・音楽の生成(`twp media video create` / `twp media music create`)は非同期です。** 送る前に見積(消費クレジット)を表示し(`--dry-run` なら見積だけ)、`--yes` が無ければ送りません。`--wait` で完了まで待ち(既定 300 秒・最大 480 秒)、`--out` を付けると完成したファイルを書き出します。終了コードは 0=完了・3=failed / cancelled・6=待機の上限に達した(生成は続いています)。**6 のときは開始を打ち直さず**、表示される `twp media video get <task_id> --wait --out <パス>` で続きを待って取得してください(打ち直すとクレジットが二重にかかります)。`--from <画像ID>` で画像から、`--from-video <動画ID>` で動画から動画を作ります(`--from-video` の生成物は元の動画と同じ場所・フォルダに保存されるため `--project` とは併用できず、`--folder` はフォルダID だけ受け付けます。`--model` を省くと元の動画と同じモデルになり、既定モデルで計算した見積と一致しないため `--model` の指定を勧めます)
|
|
866
|
+
- **`twp media comment` の本文は `--body-file`(`-` で標準入力)から読みます。** 空・空白だけの本文は送りません。更新・削除は自分のコメントだけで、対象のファイルを `--file-id` で指定します
|
|
867
|
+
- **`twp media ai-tag run` は AI クレジットを消費するため `--yes` が要ります**(`--dry-run` は消費しません)。対象は画像と動画です。既定は提案を表示するだけで、`--apply` を付けると提案のうちまだ付いていないタグを**今のタグに追加**します(既存のタグは消しません。`--apply` 無しで見てから付け直すと再びクレジットを消費し、提案も変わりえます)
|
|
868
|
+
- **`twp media duplicate list <ファイルID>` は内容(sha256)が同じ別のファイル、`--name` はアップロード先に同じ名前のファイルがあるか**を出します(完全一致のみ・あればサーバが推奨する別名つき)。`twp media upload` は同名があるとサーバが自動で別名(`名前(1).png`)にするため、上書きの心配はありません
|
|
849
869
|
- **アップロードの前に、テナントのストレージ容量を確かめます**(`twp task attachment upload` も同じ)。容量を超えるなら何も登録せず終了コード 3 で止まり、警告の閾値を超えているときは stderr で知らせます
|
|
850
870
|
- **一括操作(`bulk-*`)は1件でも失敗すると終了コード 3 で終わり、失敗したファイルと理由・適用済みのファイルを stderr に出します**(サーバは失敗があっても HTTP 200 を返すため)。`bulk-publish` / `bulk-unpublish` / `bulk-archive` は存在しないファイルIDが1件でもあると他も適用しません。`bulk-restore` / `bulk-move` / `bulk-delete` は1件ずつ処理するので、失敗したもの以外は適用されます。`bulk-download` は ZIP に入った件数が指定より少なければ書き出さずに終了コード 3 で終わります。件数は 100 件まで(`bulk-download` は 50 件)
|
|
851
871
|
- `bulk-restore` はゴミ箱から戻す操作です(アーカイブの解除ではありません)。`bulk-delete --permanent` は**ゴミ箱にあるファイルだけ**を完全に削除します(先に `bulk-delete` でゴミ箱へ移してください)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-NZ7WI4RZ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{NO_REDACT_FLAG,NO_REDACT_NOTICE,exitCodeFor,fetchAllPages,reportError}from"./chunk-
|
|
3
|
+
import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-NZ7WI4RZ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{NO_REDACT_FLAG,NO_REDACT_NOTICE,exitCodeFor,fetchAllPages,reportError}from"./chunk-E34FX2DF.js";import"./chunk-K7OIECPN.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-MXKAEPXA.js";
|
|
4
4
|
import{redactSecretValues,redactSecrets,withDebug}from"./chunk-AUAZP2G7.js";import"./chunk-Q3B65OFC.js";import{parseOperationArgs,repeatedValues}from"./chunk-RX5HWI4L.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,envelopePaging,isPageNumberEnvelope,pageRangeNotes,positiveInteger,readEnvelopeCursor,readPageNumberCursor,shellQuote}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import"./chunk-FEJDU42E.js";import"./chunk-GMBJTG6A.js";import{
|
|
5
5
|
ApiError,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import{ApiResponseError,EXIT_OK,EXIT_WAIT_TIMEOUT,NetworkError,UsageError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,
|
|
6
6
|
resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import{HELP_TOKEN}from"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var MIN_SEGMENT_CHARS=3;var parsedCache=new WeakMap;function splitSegments(path){return path.split("/").filter(segment=>segment!=="")}function parseRoutes(routes){const cached=parsedCache.get(routes);if(cached!==void 0)return cached;const parsed=[];for(const[key,domain]of Object.entries(routes.routes)){const space=key.indexOf(" ");if(space<=0)continue;const template=key.slice(space+1);parsed.push({method:key.slice(0,space),template,domain,segments:splitSegments(template).map(segment=>/^\{[^/{}]+\}$/.
|
|
@@ -1212,7 +1212,7 @@ cwd()){const listed=await gitListFiles(cwd2);const raw=listed??await walkFiles(c
|
|
|
1212
1212
|
1;const after=/^[^\s]*/.exec(text.slice(cursor))?.[0]??"";return{query,start,end:cursor+after.length}}var TWP_SLASH_ROUTES={"/tasks":{domain:"task",operation:"list"},"/task":{domain:"task",operation:"get"},"/projects":{domain:"project",operation:"list"}};function isTwpSlashCommand(name){return Object.hasOwn(TWP_SLASH_ROUTES,name)}async function runTwpSlashCommand(name,args,deps){const route=TWP_SLASH_ROUTES[name];if(!Object.hasOwn(TWP_SLASH_ROUTES,name)||route===void 0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9: ${name}
|
|
1213
1213
|
`}}const parsed=parseArgv([route.domain,route.operation,...args]);if(parsed.command!=="domain"||parsed.domain!==route.domain){return{code:2,out:"",err:`${name}: \u3053\u306E\u5F15\u6570\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF08${args.join(" ")}\uFF09
|
|
1214
1214
|
`}}if(parsed.unknown.length>0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u5F15\u6570: ${parsed.unknown.join(" ")}
|
|
1215
|
-
`}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-
|
|
1215
|
+
`}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-XZZR3OKX.js");try{const code=await runDomain({domain:route.domain,...parsed.operation!==void 0?{operation:parsed.operation}:
|
|
1216
1216
|
{},argv:parsed.domainArgv,help:parsed.domainHelp,globals,version:deps.version,io,...deps.fetchImpl!==void 0?{fetchImpl:deps.fetchImpl}:{}});return{code,out,err}}catch(e){return{code:1,out,err:`${err}${e.message}
|
|
1217
1217
|
`}}}var GIT_LOG_OUTPUT=["9f3c1a2 feat(ui): \u4E00\u89A7\u306E\u30D5\u30A3\u30EB\u30BF\u3092 URL \u30AF\u30A8\u30EA\u3068\u540C\u671F\u3059\u308B","4b8e0d7 fix(ui): \u4EEE\u60F3\u30B9\u30AF\u30ED\u30FC\u30EB\u306E\u884C\u9AD8\u3055\u3092\u5B9F\u6E2C\u5024\u306B\u5408\u308F\u305B\u308B","c15a99e refactor(api): \u4E00\u89A7\u53D6\u5F97\u306E\u30DA\u30FC\u30B8\u30F3\u30B0\u51E6\u7406\u3092\u5171\u901A\u5316\u3059\u308B","2d70f4b test: \u4E00\u89A7\u30D5\u30A3\u30EB\u30BF\u306E\u56DE\u5E30\u30C6\u30B9\u30C8\u3092\u8FFD\u52A0\u3059\u308B",
|
|
1218
1218
|
"a6e2b38 fix(api): \u7A7A\u306E\u691C\u7D22\u6761\u4EF6\u3067\u5168\u4EF6\u8FD4\u3089\u306A\u3044\u3088\u3046\u306B\u3059\u308B","7c40d51 chore(deps): \u958B\u767A\u4F9D\u5B58\u3092\u6700\u65B0\u3078\u66F4\u65B0\u3059\u308B","e83b1c6 docs: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u624B\u9806\u306B Node 22 \u306E\u524D\u63D0\u3092\u8FFD\u8A18\u3059\u308B","b91f7a4 fix(ui): \u30E2\u30FC\u30C0\u30EB\u306E\u91CD\u306A\u308A\u9806\u3092\u6307\u5B9A\u3059\u308B","5a2c8e0 perf(api): \u4E00\u89A7\u306E N+1 \u3092\u89E3\u6D88\u3059\u308B",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{loadDomain}from"./chunk-
|
|
3
|
+
import{loadDomain}from"./chunk-K7OIECPN.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-MXKAEPXA.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-AUAZP2G7.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{parseOperationArgs}from"./chunk-RX5HWI4L.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{Resolver,requireDefaultProject}from"./chunk-FEJDU42E.js";
|
|
4
4
|
import{ResolveError}from"./chunk-GMBJTG6A.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,EXIT_WAIT_TIMEOUT,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{AuthSession,NotLoggedInError,SessionExpiredError,
|
|
5
5
|
loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import{HELP_TOKEN}from"./chunk-6A2JSS76.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import{stringWidth}from"./chunk-WVS4W5FY.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var NO_REDACT_FLAG={name:"--no-redact",summary:"\u5FDC\u7B54\u306E\u4F0F\u5B57\u5316\u3092\u89E3\u9664\u3057\u3066\u751F\u306E\u5024\u3092\u51FA\u3059\uFF08\u9375\u306E\u53D7\u3051\u53D6\u308A\u7B49\uFF09",takesValue:false};var NO_REDACT_NOTICE="\u6CE8\u8A18: --no-redact \u306E\u305F\u3081\u51FA\u529B\u3092\u4F0F\u5B57\u5316\u3057\u307E\u305B\u3093\uFF08\u7AEF\u672B\u3068\u30ED\u30B0\u306B\u5E73\u6587\u3067\u6B8B\u308A\u307E\u3059\uFF09\u3002";function withCommonFlags(flags){return flags.some(flag=>flag.
|
|
6
6
|
name===NO_REDACT_FLAG.name)?flags:[...flags,NO_REDACT_FLAG]}function alignedList(entries,indent=" "){const width=entries.reduce((max,[left])=>Math.max(max,stringWidth(left)),0);return entries.map(([left,right])=>`${indent}${left}${" ".repeat(Math.max(0,width-stringWidth(left)))} ${right}`).join("\n")}function subresourcesOf(resource){return resource.subresources??[]}function renderResourceHelp(resource,path2){const subresources=subresourcesOf(resource);const operationSection=resource.operations.length===0?"":`
|
|
@@ -3,7 +3,7 @@ const require = __twpCreateRequire(import.meta.url);
|
|
|
3
3
|
var LOADERS={agent:async()=>(await import("./agent-LHNDQMT5.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-QP6UHX4R.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-IEISLBIH.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-RFO4E4ZS.js")).analysisDomain,announcement:async()=>(await import("./announcement-HQ7CQYFI.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-CRRR4EKL.js")).attendanceDomainWithRecords,
|
|
4
4
|
backlog:async()=>(await import("./backlog-NU5HHXN2.js")).backlogDomain,budget:async()=>(await import("./budget-AM7JJ5YP.js")).budgetDomain,"business-place":async()=>(await import("./sales-master-S3YTUE7J.js")).businessPlaceDomain,company:async()=>(await import("./company-BKULUHIU.js")).companyDomain,contract:async()=>(await import("./contract-376FE7VC.js")).contractDomain,customer:async()=>(await import("./company-BKULUHIU.js")).customerDomain,department:async()=>(await import("./department-YKBPBPU6.js")).
|
|
5
5
|
departmentDomain,deposit:async()=>(await import("./deposit-CY5K3ZTM.js")).depositDomain,estimate:async()=>(await import("./estimate-GPNG6YOJ.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-VRLMQV32.js")).evaluationDomain,expense:async()=>(await import("./expense-3MT6WHTG.js")).expenseDomain,"goal-sheet":async()=>(await import("./evaluation-VRLMQV32.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-YV433Q7V.js")).inquiryDomain,invoice:async()=>(await import("./invoice-OSAO4PIO.js")).
|
|
6
|
-
invoiceDomain,"job-title":async()=>(await import("./job-title-FITZHBR4.js")).jobTitleDomain,leave:async()=>(await import("./leave-MWYAL66X.js")).leaveDomain,media:async()=>(await import("./media-
|
|
6
|
+
invoiceDomain,"job-title":async()=>(await import("./job-title-FITZHBR4.js")).jobTitleDomain,leave:async()=>(await import("./leave-MWYAL66X.js")).leaveDomain,media:async()=>(await import("./media-TIRJJUNN.js")).mediaDomain,meeting:async()=>(await import("./knowledge-YEEAKLQJ.js")).meetingDomain,note:async()=>(await import("./knowledge-YEEAKLQJ.js")).noteDomain,notification:async()=>(await import("./notification-EAEKDN54.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-UBSHXVYS.js")).
|
|
7
7
|
onedriveDomain,outlook:async()=>(await import("./outlook-ODZD27J5.js")).outlookDomain,payee:async()=>(await import("./sales-master-S3YTUE7J.js")).payeeDomain,position:async()=>(await import("./position-ZKYGVAAK.js")).positionDomain,project:async()=>(await import("./project-5MHCPDVC.js")).projectDomain,prospect:async()=>(await import("./prospect-ASQA5QVD.js")).prospectDomain,purchase:async()=>(await import("./purchase-WLJJSMM6.js")).purchaseDomain,qualification:async()=>(await import("./skill-45FBIGC5.js")).
|
|
8
8
|
qualificationDomain,receivable:async()=>(await import("./receivable-FBPROHOV.js")).receivableDomain,report:async()=>(await import("./report-HK2NZXHC.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-M4KUZAM7.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-S3YTUE7J.js")).sealImpressionDomain,shift:async()=>(await import("./attendance-lists-XPCU25OJ.js")).shiftDomain,skill:async()=>(await import("./skill-45FBIGC5.js")).skillDomain,
|
|
9
9
|
storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-MS6YMIT4.js")).supplierPaymentDomain,support:async()=>(await import("./support-VSDMFUTY.js")).supportDomain,task:async()=>(await import("./task-BTYFJRSC.js")).taskDomain,teams:async()=>(await import("./teams-GPXJPXNC.js")).teamsDomain,user:async()=>(await import("./user-VFJGLZDR.js")).userDomain,wiki:async()=>(await import("./knowledge-YEEAKLQJ.js")).
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
3
3
|
const require = __twpCreateRequire(import.meta.url);
|
|
4
|
-
import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chunk-ZVEMJWRR.js";import"./chunk-NAUH75MM.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.
|
|
4
|
+
import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chunk-ZVEMJWRR.js";import"./chunk-NAUH75MM.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.52.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
|
|
5
5
|
|
|
6
6
|
\u4F7F\u3044\u65B9:
|
|
7
7
|
twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
|
|
@@ -251,10 +251,37 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
|
|
|
251
251
|
twp media image create AI \u3067\u753B\u50CF\u3092\u751F\u6210\u3057\u3066\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\u3059\u308B\uFF08--from \u3067\u30EA\u30DF\u30C3\u30AF\u30B9\u30FB--out \u3067\u305D\u306E\u307E\u307E\u53D6\u5F97\u30FB--yes \u304C\u8981\u308B\uFF09
|
|
252
252
|
twp media document create
|
|
253
253
|
AI \u3067\u6587\u66F8\u3092\u751F\u6210\u3057\u3066\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\u3059\u308B\uFF08--format \u5FC5\u9808\u30FB--out \u3067\u305D\u306E\u307E\u307E\u53D6\u5F97\u30FB--yes \u304C\u8981\u308B\uFF09
|
|
254
|
-
twp media
|
|
254
|
+
twp media video create AI \u3067\u52D5\u753B\u3092\u751F\u6210\u3059\u308B\uFF08\u975E\u540C\u671F\u30FB\u9001\u308B\u524D\u306B\u898B\u7A4D\u3092\u8868\u793A\u30FB--from <\u753B\u50CFID> / --from-video <\u52D5\u753BID> \u3067\u30EA\u30DF\u30C3\u30AF\u30B9\u30FB
|
|
255
|
+
--wait \u3067\u5B8C\u4E86\u307E\u3067\u5F85\u3061 --out \u3067\u53D6\u5F97\u30FB\u6642\u9593\u5207\u308C\u306F\u7D42\u4E86\u30B3\u30FC\u30C9 6\u30FB--yes \u304C\u8981\u308B\uFF09
|
|
256
|
+
twp media video get <task_id>
|
|
257
|
+
\u52D5\u753B\u751F\u6210\u306E\u72B6\u614B\uFF08--wait --out \u3067\u958B\u59CB\u3092\u6253\u3061\u76F4\u3055\u305A\u306B\u7D9A\u304D\u3092\u5F85\u3063\u3066\u53D6\u5F97\uFF09
|
|
258
|
+
twp media video list \u81EA\u5206\u306E\u52D5\u753B\u751F\u6210\u3092\u4E00\u89A7\u3059\u308B
|
|
259
|
+
twp media video cancel <task_id>
|
|
260
|
+
\u5B9F\u884C\u4E2D\u306E\u52D5\u753B\u751F\u6210\u3092\u6B62\u3081\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
|
|
261
|
+
twp media video preview \u52D5\u753B\u751F\u6210\u306E\u898B\u7A4D\uFF08\u6D88\u8CBB\u30AF\u30EC\u30B8\u30C3\u30C8\uFF09\u3092\u51FA\u3059
|
|
262
|
+
twp media music create AI \u3067\u97F3\u697D\u3092\u751F\u6210\u3059\u308B\uFF08\u975E\u540C\u671F\u30FB\u898B\u7A4D\u30FB--wait / --out\u30FB--yes \u304C\u8981\u308B\uFF09
|
|
263
|
+
twp media music get <task_id>
|
|
264
|
+
\u97F3\u697D\u751F\u6210\u306E\u72B6\u614B\uFF08--wait --out \u3067\u7D9A\u304D\u3092\u5F85\u3063\u3066\u53D6\u5F97\uFF09
|
|
265
|
+
twp media music list \u81EA\u5206\u306E\u97F3\u697D\u751F\u6210\u3092\u4E00\u89A7\u3059\u308B
|
|
266
|
+
twp media music cancel <task_id>
|
|
267
|
+
\u5B9F\u884C\u4E2D\u306E\u97F3\u697D\u751F\u6210\u3092\u6B62\u3081\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
|
|
268
|
+
twp media music preview \u97F3\u697D\u751F\u6210\u306E\u898B\u7A4D\uFF08\u6D88\u8CBB\u30AF\u30EC\u30B8\u30C3\u30C8\uFF09\u3092\u51FA\u3059
|
|
269
|
+
twp media model list \u751F\u6210\u306B\u4F7F\u3048\u308B\u30E2\u30C7\u30EB\u3068\u76EE\u5B89\u306E\u6D88\u8CBB\u30AF\u30EC\u30B8\u30C3\u30C8\uFF08--for image|document|video|music\uFF09
|
|
255
270
|
twp media document-format list
|
|
256
271
|
\u6587\u66F8\u751F\u6210\u3067\u6307\u5B9A\u3067\u304D\u308B\u5F62\u5F0F
|
|
257
272
|
twp media prompt create \u9577\u3044\u6587\u7AE0\u3092\u751F\u6210\u7528\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u3078\u8981\u7D04\u3059\u308B\uFF08--for image|video|music\uFF09
|
|
273
|
+
twp media comment list <\u30D5\u30A1\u30A4\u30EBID>
|
|
274
|
+
\u30D5\u30A1\u30A4\u30EB\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u4E00\u89A7\u3059\u308B
|
|
275
|
+
twp media comment create <\u30D5\u30A1\u30A4\u30EBID>
|
|
276
|
+
\u30B3\u30E1\u30F3\u30C8\u3092\u6295\u7A3F\u3059\u308B\uFF08--body-file <\u30D1\u30B9|-> \u5FC5\u9808\uFF09
|
|
277
|
+
twp media comment update <\u30B3\u30E1\u30F3\u30C8ID>
|
|
278
|
+
\u81EA\u5206\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--file-id / --body-file \u5FC5\u9808\uFF09
|
|
279
|
+
twp media comment delete <\u30B3\u30E1\u30F3\u30C8ID>
|
|
280
|
+
\u81EA\u5206\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u524A\u9664\u3059\u308B\uFF08--file-id \u5FC5\u9808\u30FB--yes \u304C\u8981\u308B\uFF09
|
|
281
|
+
twp media ai-tag run <\u30D5\u30A1\u30A4\u30EBID>
|
|
282
|
+
AI \u306B\u30BF\u30B0\u3092\u63D0\u6848\u3055\u305B\u308B\uFF08\u30AF\u30EC\u30B8\u30C3\u30C8\u6D88\u8CBB\u30FB--yes \u304C\u8981\u308B\u30FB--apply \u3067\u8FFD\u52A0\uFF09
|
|
283
|
+
twp media duplicate list <\u30D5\u30A1\u30A4\u30EBID>
|
|
284
|
+
\u5185\u5BB9\u304C\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u3092\u63A2\u3059\uFF08--name \u3067\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u524D\u306E\u540C\u540D\u691C\u67FB\uFF09
|
|
258
285
|
twp storage get \u30C6\u30CA\u30F3\u30C8\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u4F7F\u7528\u91CF\u30FB\u4E0A\u9650\u30FB\u6B8B\u91CF\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
259
286
|
twp attendance status \u3044\u307E\u306E\u6253\u523B\u72B6\u614B\u3068\u3001\u6B21\u306B\u6253\u3066\u308B\u6253\u523B\u3092\u8868\u793A\u3059\u308B
|
|
260
287
|
twp attendance list \u6253\u523B\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--month / --date\uFF09
|
|
@@ -1059,14 +1086,14 @@ TUI \u5185:
|
|
|
1059
1086
|
\u4F1A\u8A71\u30FB\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB\u30B3\u30DE\u30F3\u30C9\u30FBgit\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30AF\u30EC\u30B8\u30C3\u30C8\u3067\u5B9F\u969B\u306B\u52D5\u304D\u307E\u3059\u3002
|
|
1060
1087
|
`;function ignoreEpipe(stream){stream.on("error",err=>{if(err.code==="EPIPE")process.exit(0);throw err})}async function main(){const nodeMajor=Number(process.versions.node.split(".")[0]);if(nodeMajor<22){process.stderr.write(`twp-cli \u306B\u306F Node.js 22 \u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\uFF08\u73FE\u5728: ${process.versions.node}\uFF09
|
|
1061
1088
|
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-RWWCIR6G.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
|
|
1062
|
-
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-
|
|
1089
|
+
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-3PWIZP2X.js"),import("./config-3CNEQ7KN.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-YMI3F44R.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-QU6JK65I.js");process.exitCode=
|
|
1063
1090
|
await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
|
|
1064
1091
|
`);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
|
|
1065
1092
|
|
|
1066
|
-
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-
|
|
1067
|
-
domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-
|
|
1093
|
+
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-XZZR3OKX.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
|
|
1094
|
+
domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-5LQFOG24.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
|
|
1068
1095
|
void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-NCAVUXSX.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-TYUK7MV4.js");
|
|
1069
1096
|
const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-BXU44JWS.js");process.exitCode=await runTaskLoop(
|
|
1070
1097
|
{action:args.taskLoopAction??"run",project:args.project,profile:args.profile,safe:args.safe,daemon:args.daemon,interval:args.interval,maxCycles:args.maxCycles,forceRunner:args.forceRunner,force:args.stopForce,drain:args.stopDrain,engine:args.engine,version:VERSION,verbose:args.verbose,scheduleNow:args.scheduleNow,scheduleCounts:args.scheduleCounts,scheduleGate:args.scheduleGate,charterOp:args.charterOp,charterInput:args.charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,
|
|
1071
1098
|
skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-62DOJWOH.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
|
|
1072
|
-
allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-
|
|
1099
|
+
allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-G524XCIA.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{checkOutTarget}from"./chunk-
|
|
4
|
-
readEnvelopeCursor,shellQuote}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import"./chunk-FEJDU42E.js";import{collapsesInUrlPath,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{
|
|
5
|
-
NetworkError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-YLM54X35.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";
|
|
3
|
+
import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{checkOutTarget}from"./chunk-E34FX2DF.js";import"./chunk-K7OIECPN.js";import"./chunk-GFLGXGWE.js";import"./chunk-MXKAEPXA.js";import"./chunk-AUAZP2G7.js";import"./chunk-Q3B65OFC.js";import{contentTypeFor,inspectLocalFile}from"./chunk-VOMCTG6N.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-GY7KI5E5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";
|
|
4
|
+
import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,readEnvelopeCursor,shellQuote}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import"./chunk-FEJDU42E.js";import{collapsesInUrlPath,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{acknowledgement,
|
|
5
|
+
isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import"./chunk-YLM54X35.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";
|
|
6
|
+
import"./chunk-VSJBJXZO.js";import crypto2 from"crypto";import fs2 from"fs";import path from"path";var SCOPE_PERSONAL="personal";var SCOPE_PROJECT="project";var UUID=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var FORBIDDEN_NAME=/[/\\:*?"<>|]/;var NAME_MAX=255;var ROW_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","updated_at"];var TRASH_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","deleted_at"];function folderRows(raw){return raw.map(row=>{const id=row["id"];const name=row["name"];const parentId=row["parent_id"];if(typeof id!==
|
|
6
7
|
"string"||typeof name!=="string"||parentId!==null&&parentId!==void 0&&typeof parentId!=="string"){throw new ApiResponseError("\u30E1\u30C7\u30A3\u30A2\u30D5\u30A9\u30EB\u30C0\u4E00\u89A7\u306E\u884C\u306B id / name / parent_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const path2=typeof row["path"]==="string"?row["path"]:`/${name}`;return{id,name,parentId:parentId??null,path:path2}})}function resolveFolderPath(rows,input){
|
|
7
8
|
const segments=folderPathSegments(input);const ids=new Set(rows.map(row=>row.id));const isTop=row=>row.parentId===null||!ids.has(row.parentId);let level=rows.filter(isTop);let walked="";for(const[index,segment]of segments.entries()){const hits=level.filter(row=>row.name===segment);const here=walked===""?"\u6700\u4E0A\u4F4D":`\u300C${walked}\u300D\u306E\u4E0B`;if(hits.length===0){const names=level.map(row=>row.name);throw new UsageError(`\u30D5\u30A9\u30EB\u30C0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${input}\
|
|
8
9
|
\uFF08${here}\u306B\u300C${segment}\u300D\u304C\u3042\u308A\u307E\u305B\u3093\uFF09`,names.length===0?`${here}\u306B\u30D5\u30A9\u30EB\u30C0\u306F\u3042\u308A\u307E\u305B\u3093\u3002`:`${here}\u306B\u3042\u308B\u30D5\u30A9\u30EB\u30C0: ${listNames(names)}`)}if(hits.length>1){throw new UsageError(`\u30D5\u30A9\u30EB\u30C0\u300C${input}\u300D\u306B\u5F53\u305F\u308B\u3082\u306E\u304C ${hits.length} \u4EF6\u3042\u308A\u307E\u3059\uFF08${here}\u306B\u300C${segment}\u300D\u304C\u8907\u6570\u3042\u308A\u307E\u3059\uFF09`,
|
|
@@ -62,12 +63,53 @@ mediaFolderTrash(scope.scope,scope.scopeId));const folder=trash.find(row=>row.id
|
|
|
62
63
|
return withResolved(input,{folderId:ref,folderPath:folder.path})},plan:input=>({method:"POST",path:`${folderPath(requireResolved(input,"folderId"))}/restore`,body:{}}),plannedNotes:input=>[`\u30B4\u30DF\u7BB1\u306E\u30D5\u30A9\u30EB\u30C0 ${requireResolved(input,"folderPath")} \u3092\u4E2D\u8EAB\u3054\u3068\u5143\u306B\u623B\u3057\u307E\u3059\u3002`],async execute(input,ctx){const body=await ctx.send({method:"POST",path:`${folderPath(requireResolved(input,"folderId"))}/restore`,body:{}});const meta=isRecord(
|
|
63
64
|
body)&&isRecord(body["meta"])?body["meta"]:void 0;if(meta?.["scan_truncated"]===true){ctx.warn(`\u30D5\u30A9\u30EB\u30C0 ${requireResolved(input,"folderPath")} \u306F\u5FA9\u5143\u3055\u308C\u307E\u3057\u305F\u304C\u3001\u4E2D\u8EAB\u306E\u4E00\u90E8\u3092\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u53D6\u308A\u6B8B\u3055\u308C\u305F\u30D5\u30A9\u30EB\u30C0\u306F twp media folder list --trash \u3067\u78BA\u304B\u3081\u30011\u4EF6\u305A\u3064 restore \u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
64
65
|
throw new ApiRejectedError("\u30D5\u30A9\u30EB\u30C0\u306E\u5FA9\u5143\u306F\u5B8C\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\uFF08\u4E2D\u8EAB\u306E\u4E00\u90E8\u304C\u623B\u3063\u3066\u3044\u307E\u305B\u3093\uFF09\u3002")}return body},summarize:body=>pick(dataOf(body,"\u30D5\u30A9\u30EB\u30C0\u5FA9\u5143"),ROW_COLUMNS),raw:body=>dataOf(body,"\u30D5\u30A9\u30EB\u30C0\u5FA9\u5143")}];var mediaFolderResource={name:"folder",summary:"\u30E1\u30C7\u30A3\u30A2\u306E\u30D5\u30A9\u30EB\u30C0\uFF08\u4E00\u89A7\u30FB\u30C4\u30EA\u30FC\u30FB\u4F5C\u6210\u30FB\u540D\u524D\u5909\u66F4\u30FB\u79FB\u52D5\u30FB\u524A\u9664\u30FB\u5FA9\u5143\uFF09",
|
|
65
|
-
operations};var SCOPE_PERSONAL2="personal";var SCOPE_PROJECT2="project";var
|
|
66
|
+
operations};var COMMENT_MAX_CHARS=1e4;var CHECK_NAMES_MAX=100;var NAME_MAX2=255;var TAG_MAX=100;var SCOPE_PERSONAL2="personal";var SCOPE_PROJECT2="project";var COMMENT_COLUMNS=["id","user_name","content","created_at","updated_at"];var DUPLICATE_COLUMNS=["id","file_name","file_size","scope","folder_id","file_path","updated_at"];function fileUrl(id){return`/api/v2/media/files/${encodeURIComponent(id)}`}function safeId(id,label){if(!isSafePathSegment(id))throw new UsageError(`${label} \u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${id}`);
|
|
67
|
+
return id}function dataOf2(body,label){const data=isRecord(body)?body["data"]:void 0;if(!isRecord(data))throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}function arrayOf(value,label){if(!Array.isArray(value))throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B\u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
68
|
+
return value}var FILE_ID_FLAG={name:"--file-id",summary:"\u30B3\u30E1\u30F3\u30C8\u304C\u4ED8\u3044\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB\u306E ID",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EBID>"};var COMMENT_ID_FLAG={name:"--id",summary:"\u30B3\u30E1\u30F3\u30C8ID\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF08\u4E21\u65B9\u6307\u5B9A\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u30B3\u30E1\u30F3\u30C8ID>"};var BODY_FLAGS=[{name:"--body-file",summary:"\
|
|
69
|
+
\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u6539\u884C\u30FBMarkdown \u3092\u58CA\u3055\u306A\u3044\u4E3B\u7D4C\u8DEF",takesValue:true,placeholder:"<\u30D1\u30B9|->"},{name:"--body",summary:"\u672C\u6587\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u4E00\u884C\u5411\u3051\u3002--body-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"}];var BODY_HELP=`\u672C\u6587\u306F --bod\
|
|
70
|
+
y-file \u3092\u4E3B\u7D4C\u8DEF\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08--body-file - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3081\u307E\u3059\uFF09\u3002
|
|
71
|
+
\u672C\u6587\u306F\u52A0\u5DE5\u3057\u307E\u305B\u3093\uFF08\u6539\u884C\u306F\u305D\u306E\u307E\u307E\u9001\u308A\u307E\u3059\uFF09\u3002\u843D\u3068\u3059\u306E\u306F\u5148\u982D\u306E UTF-8 BOM \u3060\u3051\u3067\u3059\u3002
|
|
72
|
+
\u7A7A\u30FB\u7A7A\u767D\u306E\u307F\u306E\u672C\u6587\u306F\u9001\u308A\u307E\u305B\u3093\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9 2\uFF09\u3002\u4E0A\u9650\u306F ${COMMENT_MAX_CHARS} \u6587\u5B57\u3067\u3059\u3002`;var COMMENT_LIST_USAGE="twp media comment list <\u30D5\u30A1\u30A4\u30EBID>";var COMMENT_CREATE_USAGE="twp media comment create <\u30D5\u30A1\u30A4\u30EBID> --body-file <\u30D1\u30B9|->";var COMMENT_UPDATE_USAGE="twp media comment update <\u30B3\u30E1\u30F3\u30C8ID> --file-id <\u30D5\u30A1\u30A4\u30EBID> --body-file <\u30D1\u30B9|->";
|
|
73
|
+
var COMMENT_DELETE_USAGE="twp media comment delete <\u30B3\u30E1\u30F3\u30C8ID> --file-id <\u30D5\u30A1\u30A4\u30EBID> --yes";async function requireContent(input,usage){const content=await readBody(input,{flag:"--body",fileFlag:"--body-file",label:"\u30B3\u30E1\u30F3\u30C8\u672C\u6587",maxChars:COMMENT_MAX_CHARS,usage});if(content===void 0)throw new UsageError("\u30B3\u30E1\u30F3\u30C8\u672C\u6587\u3092 --body-file <\u30D1\u30B9|-> \u304B --body <\u6587\u5B57\u5217> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
74
|
+
usage);return content}function commentFile(input,usage){return safeId(singleRef(input,{flag:"--file-id",label:"\u30D5\u30A1\u30A4\u30EBID",usage}),"\u30D5\u30A1\u30A4\u30EBID")}function commentTarget(input,usage){const commentId=safeId(singleRef(input,{flag:"--id",label:"\u30B3\u30E1\u30F3\u30C8ID",usage}),"\u30B3\u30E1\u30F3\u30C8ID");const fileId=nonEmpty(input.flags,"--file-id");if(fileId===void 0)throw new UsageError("--file-id <\u30D5\u30A1\u30A4\u30EBID> \u306F\u5FC5\u9808\u3067\u3059\uFF08\u30B3\u30E1\u30F3\u30C8\u306F\u30D5\u30A1\u30A4\u30EB\u306E\u4E0B\u306B\u3042\u308A\u307E\u3059\uFF09",
|
|
75
|
+
usage);return{fileId:safeId(fileId,"\u30D5\u30A1\u30A4\u30EBID"),commentId}}function commentRows(body){return arrayOf(isRecord(body)?body["data"]:void 0,"\u30E1\u30C7\u30A3\u30A2\u306E\u30B3\u30E1\u30F3\u30C8\u4E00\u89A7")}var commentOperations=[{name:"list",summary:"\u30D5\u30A1\u30A4\u30EB\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u53E4\u3044\u9806\u30FB\u5168\u4EF6\uFF09",usage:COMMENT_LIST_USAGE,description:"\u30B5\u30FC\u30D0\u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u305B\u305A\u306B\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002",
|
|
76
|
+
flags:[FILE_ID_FLAG],plan:input=>({method:"GET",path:`${fileUrl(commentFile(input,COMMENT_LIST_USAGE))}/comments`}),summarize:body=>commentRows(body).map(row=>pick(row,COMMENT_COLUMNS)),raw:commentRows},{name:"create",summary:"\u30D5\u30A1\u30A4\u30EB\u306B\u30B3\u30E1\u30F3\u30C8\u3092\u6295\u7A3F\u3059\u308B",usage:COMMENT_CREATE_USAGE,description:BODY_HELP,flags:[...BODY_FLAGS,FILE_ID_FLAG],async prepare(input){const fileId=commentFile(input,COMMENT_CREATE_USAGE);return withResolved(input,{fileId,
|
|
77
|
+
content:await requireContent(input,COMMENT_CREATE_USAGE)})},plan:input=>({method:"POST",path:`${fileUrl(requireResolved(input,"fileId"))}/comments`,body:{content:requireResolved(input,"content")}}),summarize:body=>pick(dataOf2(body,"\u30B3\u30E1\u30F3\u30C8\u4F5C\u6210"),COMMENT_COLUMNS),raw:body=>dataOf2(body,"\u30B3\u30E1\u30F3\u30C8\u4F5C\u6210")},{name:"update",summary:"\u81EA\u5206\u306E\u30B3\u30E1\u30F3\u30C8\u306E\u672C\u6587\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u7F6E\u304D\u63DB\u3048\uFF09",
|
|
78
|
+
usage:COMMENT_UPDATE_USAGE,description:`${BODY_HELP}
|
|
79
|
+
|
|
80
|
+
\u672C\u6587\u306F\u7F6E\u304D\u63DB\u3048\u3067\u3059\uFF08\u8FFD\u8A18\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u4ED6\u306E\u4EBA\u306E\u30B3\u30E1\u30F3\u30C8\u306F\u30B5\u30FC\u30D0\u304C 403 \u3067\u65AD\u308A\u307E\u3059\u3002`,flags:[...BODY_FLAGS,COMMENT_ID_FLAG,FILE_ID_FLAG],async prepare(input){const target2=commentTarget(input,COMMENT_UPDATE_USAGE);return withResolved(input,{...target2,content:await requireContent(input,COMMENT_UPDATE_USAGE)})},plan:input=>({method:"PUT",
|
|
81
|
+
path:`${fileUrl(requireResolved(input,"fileId"))}/comments/${encodeURIComponent(requireResolved(input,"commentId"))}`,body:{content:requireResolved(input,"content")}}),summarize:body=>pick(dataOf2(body,"\u30B3\u30E1\u30F3\u30C8\u66F4\u65B0"),COMMENT_COLUMNS),raw:body=>dataOf2(body,"\u30B3\u30E1\u30F3\u30C8\u66F4\u65B0")},{name:"delete",summary:"\u81EA\u5206\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u524A\u9664\u3059\u308B",usage:COMMENT_DELETE_USAGE,description:"\u524A\u9664\u306F\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\u4ED6\u306E\u4EBA\u306E\u30B3\u30E1\u30F3\u30C8\u306F\u30B5\u30FC\u30D0\u304C 403 \u3067\u65AD\u308A\u307E\u3059\u3002",
|
|
82
|
+
destructive:true,flags:[COMMENT_ID_FLAG,FILE_ID_FLAG],plan(input){const{fileId,commentId}=commentTarget(input,COMMENT_DELETE_USAGE);return{method:"DELETE",path:`${fileUrl(fileId)}/comments/${encodeURIComponent(commentId)}`}},summarize:body=>acknowledgement(body,"\u30B3\u30E1\u30F3\u30C8\u524A\u9664"),raw:body=>acknowledgement(body,"\u30B3\u30E1\u30F3\u30C8\u524A\u9664")}];var mediaCommentResource={name:"comment",summary:"\u30E1\u30C7\u30A3\u30A2\u30D5\u30A1\u30A4\u30EB\u306E\u30B3\u30E1\u30F3\u30C8\uFF08\u4E00\u89A7\u30FB\u6295\u7A3F\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",
|
|
83
|
+
operations:commentOperations};var AI_TAG_USAGE="twp media ai-tag run <\u30D5\u30A1\u30A4\u30EBID> --yes [--apply]";function suggestionOf(body){const tags=isRecord(body)?body["suggested_tags"]:void 0;if(!Array.isArray(tags)||!tags.every(tag=>typeof tag==="string")){throw new ApiResponseError("\u30BF\u30B0\u63D0\u6848\u306E\u5FDC\u7B54\u306B suggested_tags \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const scores=isRecord(
|
|
84
|
+
body)&&isRecord(body["confidence_scores"])?body["confidence_scores"]:{};return{tags,scores}}function mergeTags(current,suggested){const key=tag=>tag.trim().toLowerCase();const seen=new Set(current.map(key));const added=[];for(const raw of suggested){const tag=raw.trim();if(tag===""||seen.has(key(tag)))continue;seen.add(key(tag));added.push(tag)}return{merged:[...current,...added],added}}function currentTags(file){const tags=file["tags"];if(tags===void 0||tags===null)return[];if(!Array.isArray(tags)||
|
|
85
|
+
!tags.every(tag=>typeof tag==="string")){throw new ApiResponseError("\u30D5\u30A1\u30A4\u30EB\u8A73\u7D30\u306E\u5FDC\u7B54\u306E tags \u304C\u6587\u5B57\u5217\u306E\u914D\u5217\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return tags}async function runAiTag(input,ctx){const fileId=requireResolved(input,"fileId");const suggestion=suggestionOf(await ctx.send(aiTagPlan(input)));const result={file_id:fileId,suggested_tags:suggestion.
|
|
86
|
+
tags,confidence_scores:suggestion.scores,applied:false,added_tags:[],tags:null};if(!input.flags.has("--apply"))return result;try{return await applySuggestion(ctx,fileId,suggestion,result)}catch(err){ctx.warn(`AI \u306E\u63D0\u6848\uFF08\u4ED8\u4E0E\u306F\u3067\u304D\u3066\u3044\u307E\u305B\u3093\uFF09: ${suggestion.tags.join(", ")||"\u306A\u3057"}`);throw err}}async function applySuggestion(ctx,fileId,suggestion,result){const file=dataOf2(await ctx.send({method:"GET",path:fileUrl(fileId)}),"\u30D5\u30A1\u30A4\u30EB\
|
|
87
|
+
\u8A73\u7D30");const current=currentTags(file);const fitting=suggestion.tags.filter(tag=>[...tag.trim()].length<=TAG_MAX);if(fitting.length<suggestion.tags.length){ctx.warn(`${TAG_MAX} \u6587\u5B57\u3092\u8D85\u3048\u308B\u63D0\u6848 ${suggestion.tags.length-fitting.length} \u4EF6\u306F\u4ED8\u4E0E\u3057\u307E\u305B\u3093\u3002`)}const{merged,added}=mergeTags(current,fitting);if(added.length===0){ctx.warn(suggestion.tags.length===0?"\u63D0\u6848\u3055\u308C\u305F\u30BF\u30B0\u304C\u7121\u3044\u305F\u3081\u3001\u30BF\u30B0\u306F\u5909\u3048\u3066\u3044\u307E\u305B\u3093\u3002":
|
|
88
|
+
"\u63D0\u6848\u3055\u308C\u305F\u30BF\u30B0\u306F\u3059\u3079\u3066\u4ED8\u4E0E\u6E08\u307F\u306E\u305F\u3081\u3001\u30BF\u30B0\u306F\u5909\u3048\u3066\u3044\u307E\u305B\u3093\u3002");return{...result,tags:current}}const updated=dataOf2(await ctx.send({method:"PUT",path:fileUrl(fileId),body:{tags:merged}}),"\u30D5\u30A1\u30A4\u30EB\u66F4\u65B0");const saved=currentTags(updated);const missing=added.filter(tag=>!saved.includes(tag));if(missing.length>0){throw new ApiResponseError(`\u30BF\u30B0\u306E\u4FDD\u5B58\u7D50\u679C\u306B ${missing.
|
|
89
|
+
join(", ")} \u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u4FDD\u5B58\u5F8C\u306E\u30BF\u30B0: ${saved.join(", ")||"\u306A\u3057"}\uFF09\u3002`)}return{...result,applied:true,added_tags:added,tags:saved}}function aiTagPlan(input){return{method:"POST",path:`${fileUrl(requireResolved(input,"fileId"))}/suggest-tags`,body:{}}}var aiTagOperations=[{name:"run",summary:"AI \u306B\u753B\u50CF\u30FB\u52D5\u753B\u306E\u30BF\u30B0\u3092\u63D0\u6848\u3055\u305B\u308B\uFF08--apply \u3067\u4ECA\u306E\u30BF\u30B0\u306B\u8FFD\u52A0\u3059\u308B\uFF09",
|
|
90
|
+
usage:AI_TAG_USAGE,description:"AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u305F\u3081 --yes \u304C\u5FC5\u8981\u3067\u3059\uFF08--dry-run \u306F\u9001\u308B\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u3001\u6D88\u8CBB\u3057\u307E\u305B\u3093\uFF09\u3002\n\u5BFE\u8C61\u306F\u753B\u50CF\u3068\u52D5\u753B\u3067\u3059\uFF08\u52D5\u753B\u306F\u30B5\u30E0\u30CD\u30A4\u30EB\u304B\u3089\u63D0\u6848\u3057\u307E\u3059\uFF09\u3002\u65E2\u5B9A\u306F\u63D0\u6848\u3092\u8868\u793A\u3059\u308B\u3060\u3051\u3067\u3001\u30D5\u30A1\u30A4\u30EB\u306F\u5909\u3048\u307E\u305B\u3093\u3002\n--apply \u3092\u4ED8\u3051\u308B\u3068\u3001\u63D0\u6848\u306E\u3046\u3061\u307E\u3060\u4ED8\u3044\u3066\u3044\u306A\u3044\u30BF\u30B0\u3092**\u4ECA\u306E\u30BF\u30B0\u306B\u8FFD\u52A0**\u3057\u307E\u3059\uFF08\u65E2\u5B58\u306E\u30BF\u30B0\u306F\u6D88\u3057\u307E\u305B\u3093\uFF09\u3002\n--apply \u7121\u3057\u3067\u63D0\u6848\u3092\u898B\u3066\u304B\u3089\u4ED8\u4E0E\u3057\u76F4\u3059\u3068\u3001\u3082\u3046\u4E00\u5EA6\u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3057\u3001\u63D0\u6848\u3082\u5909\u308F\u308A\u3048\u307E\u3059\uFF08\u4ED8\u4E0E\u3059\u308B\u306A\u3089\u6700\u521D\u304B\u3089 --apply\uFF09\u3002\n\u4ED8\u4E0E\u306B\u5931\u6557\u3057\u305F\u3068\u304D\u3082\u3001\u53D7\u3051\u53D6\u3063\u305F\u63D0\u6848\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002",
|
|
91
|
+
destructive:true,confirmation:"AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u64CD\u4F5C",flags:[{name:"--id",summary:"\u30D5\u30A1\u30A4\u30EBID\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF08\u4E21\u65B9\u6307\u5B9A\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EBID>"},{name:"--apply",summary:"\u63D0\u6848\u306E\u3046\u3061\u672A\u4ED8\u4E0E\u306E\u30BF\u30B0\u3092\u4ECA\u306E\u30BF\u30B0\u306B\u8FFD\u52A0\u3059\u308B\uFF08\u65E2\u5B58\u306E\u30BF\u30B0\u306F\u6D88\u3055\u306A\u3044\uFF09",
|
|
92
|
+
takesValue:false}],prepare:input=>Promise.resolve(withResolved(input,{fileId:safeId(singleRef(input,{flag:"--id",label:"\u30D5\u30A1\u30A4\u30EBID",usage:AI_TAG_USAGE}),"\u30D5\u30A1\u30A4\u30EBID")})),plan:aiTagPlan,plannedNotes:input=>input.flags.has("--apply")?["--apply: \u63D0\u6848\u3092\u53D7\u3051\u53D6\u3063\u305F\u3042\u3068\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u4ECA\u306E\u30BF\u30B0\u3092\u8AAD\u307F\uFF08GET\uFF09\u3001\u672A\u4ED8\u4E0E\u306E\u30BF\u30B0\u304C\u3042\u308C\u3070\u8FFD\u52A0\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\uFF08PUT\uFF09\u3002"]:
|
|
93
|
+
[],execute:runAiTag,summarize(body){const result=isRecord(body)?body:{};const scores=isRecord(result["confidence_scores"])?result["confidence_scores"]:{};const tags=Array.isArray(result["suggested_tags"])?result["suggested_tags"]:[];const added=new Set(Array.isArray(result["added_tags"])?result["added_tags"]:[]);return tags.map(tag=>({tag,confidence:scores[tag]??null,added:added.has(tag.trim())}))},raw:body=>body,notes(body,input){const result=isRecord(body)?body:{};const tags=Array.isArray(result["\
|
|
94
|
+
suggested_tags"])?result["suggested_tags"]:[];if(tags.length===0)return["AI \u306F\u30BF\u30B0\u3092\u63D0\u6848\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002"];if(!input.flags.has("--apply"))return["\u63D0\u6848\u3092\u8868\u793A\u3057\u305F\u3060\u3051\u3067\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30B0\u306F\u5909\u3048\u3066\u3044\u307E\u305B\u3093\uFF08\u4ED8\u4E0E\u3059\u308B\u306A\u3089 --apply\uFF09\u3002"];const added=Array.isArray(result["added_tags"])?result["added_tags"]:[];return added.
|
|
95
|
+
length>0?[`${added.length} \u4EF6\u306E\u30BF\u30B0\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F\u3002\u4ECA\u306E\u30BF\u30B0: ${result["tags"].join(", ")}`]:[]}}];var mediaAiTagResource={name:"ai-tag",summary:"AI \u306B\u3088\u308B\u30E1\u30C7\u30A3\u30A2\u306E\u30BF\u30B0\u63D0\u6848\uFF08\u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\uFF09",operations:aiTagOperations};var DUPLICATE_USAGE="twp media duplicate list (<\u30D5\u30A1\u30A4\u30EBID> | --name <\u30D5\u30A1\u30A4\u30EB\u540D>... [--folder <ID|\u30D1\u30B9>] [--project <\u30B3\u30FC\u30C9|ID>])";
|
|
96
|
+
function checkNames(input){const names=repeatedValues(input,"--name");if(names.length>CHECK_NAMES_MAX)throw new UsageError(`--name \u306F ${CHECK_NAMES_MAX} \u4EF6\u307E\u3067\u3067\u3059\uFF08${names.length} \u4EF6\uFF09`,DUPLICATE_USAGE);for(const name of names){if(name.trim()==="")throw new UsageError("--name \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",DUPLICATE_USAGE);if([...name].length>NAME_MAX2)throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u540D\u306F ${NAME_MAX2}\
|
|
97
|
+
\u6587\u5B57\u307E\u3067\u3067\u3059: ${name}`,DUPLICATE_USAGE)}return[...new Set(names)]}async function prepareDuplicate(input,ctx){const names=checkNames(input);const hasPlace=input.flags.has("--folder")||input.flags.has("--project");if(names.length===0){if(hasPlace)throw new UsageError("--folder / --project \u306F --name \u3068\u7D44\u307F\u5408\u308F\u305B\u3066\u4F7F\u3044\u307E\u3059",DUPLICATE_USAGE);const fileId=safeId(singleRef(input,{flag:"--id",label:"\u30D5\u30A1\u30A4\u30EBID",usage:DUPLICATE_USAGE}),
|
|
98
|
+
"\u30D5\u30A1\u30A4\u30EBID");return withResolved(input,{mode:"content",fileId})}if(input.args.length>0||input.flags.has("--id")){throw new UsageError("\u30D5\u30A1\u30A4\u30EBID \u3068 --name \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08\u5185\u5BB9\u306E\u91CD\u8907\u304B\u3001\u540D\u524D\u306E\u91CD\u8907\u304B\u306E\u3069\u3061\u3089\u304B\uFF09",DUPLICATE_USAGE)}const projectRef=nonEmpty(input.flags,"--project");const scope=projectRef===void 0?SCOPE_PERSONAL2:SCOPE_PROJECT2;
|
|
99
|
+
const scopeId=projectRef===void 0?(await ctx.resolver.currentUser()).id:await ctx.projectId(projectRef);const values={mode:"name",scope,scopeId,names:JSON.stringify(names)};const folder=nonEmpty(input.flags,"--folder");if(folder!==void 0){values["folderId"]=isFolderId(folder)?folder:await resolveFolderRef(ctx,folder,{scope,scopeId:scope===SCOPE_PROJECT2?scopeId:void 0})}return withResolved(input,values)}function duplicatePlan(input){if(requireResolved(input,"mode")==="content"){return{method:"GE\
|
|
100
|
+
T",path:`${fileUrl(requireResolved(input,"fileId"))}/duplicates`}}const body={scope:requireResolved(input,"scope"),scope_id:requireResolved(input,"scopeId"),file_names:JSON.parse(requireResolved(input,"names"))};const folderId2=input.resolved?.["folderId"];if(folderId2!==void 0)body["folder_id"]=folderId2;return{method:"POST",path:"/api/v2/media/files/check-duplicates",body}}function isNameCheck(data){return"non_duplicates"in data}var duplicateOperations=[{name:"list",summary:"\u91CD\u8907\u30D5\u30A1\u30A4\u30EB\u3092\u63A2\u3059\uFF08\u30D5\u30A1\u30A4\u30EBID \u3067\
|
|
101
|
+
\u5185\u5BB9\u304C\u540C\u3058\u3082\u306E\u30FB--name \u3067\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u524D\u306E\u540C\u540D\uFF09",usage:DUPLICATE_USAGE,description:"\u30D5\u30A1\u30A4\u30EBID \u3092\u6E21\u3059\u3068\u3001\u5185\u5BB9\uFF08sha256\uFF09\u304C\u540C\u3058\u5225\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3057\u307E\u3059\uFF08\u81EA\u5206\u81EA\u8EAB\u306F\u542B\u307F\u307E\u305B\u3093\uFF09\u3002\n--name \u3092\u6E21\u3059\u3068\u3001\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u5148\uFF08--folder\u30FB--project\u3002\u7121\u3051\u308C\u3070\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\u306E\u6700\u4E0A\u4F4D\uFF09\u306B\u540C\u3058\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308B\u304B\u3092\u8ABF\u3079\u3001\n\u3042\u308C\u3070\u305D\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u30B5\u30FC\u30D0\u304C\u63A8\u5968\u3059\u308B\u5225\u540D\u3092\u51FA\u3057\u307E\u3059\uFF08\u5B8C\u5168\u4E00\u81F4\u3060\u3051\u3092\u898B\u307E\u3059\uFF09\u3002--name \u306F\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u6700\u5927100\u4EF6\uFF09\u3002\n--project \u3092\u4ED8\u3051\u306A\u3044\u3068\u304D\u3001\u65E2\u5B9A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08TWP_PROJECT \u7B49\uFF09\u306F\u4F7F\u3044\u307E\u305B\u3093\u3002",
|
|
102
|
+
flags:[{name:"--id",summary:"\u30D5\u30A1\u30A4\u30EBID\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF08\u4E21\u65B9\u6307\u5B9A\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EBID>"},{name:"--name",summary:"\u540C\u540D\u3092\u8ABF\u3079\u308B\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u8907\u6570\u56DE\u6307\u5B9A\u53EF\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EB\u540D>",repeatable:true},{name:"--folder",summary:"--name \u3092\u8ABF\u3079\u308B\u30D5\u30A9\u30EB\u30C0\uFF08I\
|
|
103
|
+
D \u304B\u300C\u89AA/\u5B50\u300D\u5F62\u5F0F\u306E\u30D1\u30B9\uFF09",takesValue:true,placeholder:"<ID|\u30D1\u30B9>"},{name:"--project",summary:"--name \u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3067\u8ABF\u3079\u308B\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"}],prepare:prepareDuplicate,plan:duplicatePlan,summarize(body){const data=dataOf2(body,"\u91CD\u8907\u691C\u51FA");const rows=arrayOf(data["dupl\
|
|
104
|
+
icates"],"\u91CD\u8907\u691C\u51FA");if(!isNameCheck(data))return rows.map(row=>pick(row,DUPLICATE_COLUMNS));return rows.map(row=>{const existing=isRecord(row)&&isRecord(row["existing_file"])?row["existing_file"]:{};return{file_name:isRecord(row)?row["file_name"]??null:null,existing_id:existing["id"]??null,existing_updated_at:existing["updated_at"]??null,suggested_name:isRecord(row)?row["suggested_name"]??null:null}})},raw:body=>dataOf2(body,"\u91CD\u8907\u691C\u51FA"),notes(body){const data=isRecord(
|
|
105
|
+
body)&&isRecord(body["data"])?body["data"]:{};const rows=Array.isArray(data["duplicates"])?data["duplicates"]:[];if(isNameCheck(data)){const free=Array.isArray(data["non_duplicates"])?data["non_duplicates"].length:0;return[`\u540C\u3058\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308B\u3082\u306E ${rows.length} \u4EF6\u30FB\u7121\u3044\u3082\u306E ${free} \u4EF6\u3002`]}const savings=data["total_size_savings"];return rows.length===0?["\u5185\u5BB9\u304C\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u306F\u3042\u308A\u307E\u305B\u3093\u3002"]:
|
|
106
|
+
[`\u5185\u5BB9\u304C\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u304C ${rows.length} \u4EF6\u3042\u308A\u307E\u3059\uFF08\u91CD\u8907\u3092\u6D88\u3059\u3068 ${typeof savings==="number"?savings:"?"} \u30D0\u30A4\u30C8\u6E1B\u308A\u307E\u3059\uFF09\u3002`]}}];var mediaDuplicateResource={name:"duplicate",summary:"\u91CD\u8907\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u51FA\uFF08\u5185\u5BB9\u304C\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u30FB\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u524D\u306E\u540C\u540D\u691C\u67FB\uFF09",
|
|
107
|
+
operations:duplicateOperations};var SCOPE_PERSONAL3="personal";var SCOPE_PROJECT3="project";var UUID2=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var ZONED_DATETIME=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/;var DETAIL_COLUMNS=["id","file_name","content_type","file_size","scope","scope_id","folder_id","file_path","public_status","publish_start_at","publish_end_at","published_at","description","tags","public_url","updated_at"];var STATUS_COLUMNS=["id","file_name","public_st\
|
|
66
108
|
atus","publish_start_at","publish_end_at","archive_after_unpublish"];var TRASH_COLUMNS2=["id","file_name","content_type","file_size","folder_id","updated_at"];var RECENT_COLUMNS=["file_id","file_name","content_type","scope","folder_id","folder_path"];var FILE_REF_FLAG={name:"--id",summary:"\u30D5\u30A1\u30A4\u30EBID\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF08\u4E21\u65B9\u6307\u5B9A\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EBID>"};var PROJECT_FLAG2={
|
|
67
109
|
name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5BFE\u8C61\u306B\u3059\u308B\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF09\u3002\u7701\u7565\u6642\u306F\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};function fileRef(input,usage){const id=singleRef(input,{flag:"--id",label:"\u30D5\u30A1\u30A4\u30EBID",usage});if(!isSafePathSegment(id))throw new UsageError(`\u30D5\u30A1\u30A4\u30EBID \u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${id}`,
|
|
68
|
-
usage);return id}function filePath(id){return`/api/v2/media/files/${encodeURIComponent(id)}`}function
|
|
69
|
-
`${label}\u306E\u5FDC\u7B54\u306B data \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}function noArgs(input,usage){if(input.args.length>0)throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}async function resolveScope(input,ctx){const ref=nonEmpty(input.flags,"--project");if(ref===void 0)return{scope:
|
|
70
|
-
scope:
|
|
110
|
+
usage);return id}function filePath(id){return`/api/v2/media/files/${encodeURIComponent(id)}`}function dataOf3(body,label){const data=isRecord(body)?body["data"]:void 0;if(!isRecord(data)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}function rowsOf(body,label){const data=isRecord(body)?body["data"]:void 0;if(!Array.isArray(data)){throw new ApiResponseError(
|
|
111
|
+
`${label}\u306E\u5FDC\u7B54\u306B data \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}function noArgs(input,usage){if(input.args.length>0)throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}async function resolveScope(input,ctx){const ref=nonEmpty(input.flags,"--project");if(ref===void 0)return{scope:SCOPE_PERSONAL3};return{
|
|
112
|
+
scope:SCOPE_PROJECT3,scopeId:await ctx.projectId(ref)}}function singleSummary(columns){return body=>({message:isRecord(body)?body["message"]??null:null,...pick(dataOf3(body,"\u30D5\u30A1\u30A4\u30EB\u64CD\u4F5C"),columns)})}var GET_USAGE2="twp media get <\u30D5\u30A1\u30A4\u30EBID>";var UPDATE_USAGE2="twp media update <\u30D5\u30A1\u30A4\u30EBID> [--name <\u30D5\u30A1\u30A4\u30EB\u540D>] [--description <\u8AAC\u660E>|--clear-description] [--tag <\u30BF\u30B0>]... [--clear-tags]";function updateBody(input){
|
|
71
113
|
const body={};const name=nonEmpty(input.flags,"--name");if(name!==void 0)body["file_name"]=name;const description=input.flags.get("--description");if(description!==void 0&&input.flags.has("--clear-description")){throw new UsageError("--description \u3068 --clear-description \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",UPDATE_USAGE2)}if(description!==void 0){if(description.trim()===""){throw new UsageError("\u8AAC\u660E\u3092\u6D88\u3059\u3068\u304D\u306F --clear-description \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
72
114
|
UPDATE_USAGE2)}body["description"]=description}if(input.flags.has("--clear-description"))body["description"]=null;const tags=repeatedValues(input,"--tag").map(tag=>tag.trim());if(tags.length>0&&input.flags.has("--clear-tags")){throw new UsageError("--tag \u3068 --clear-tags \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",UPDATE_USAGE2)}if(tags.some(tag=>tag===""))throw new UsageError("--tag \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",UPDATE_USAGE2);
|
|
73
115
|
if(tags.length>0)body["tags"]=[...new Set(tags)];if(input.flags.has("--clear-tags"))body["tags"]=[];if(Object.keys(body).length===0){throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08--name / --description / --tag \u7B49\uFF09",UPDATE_USAGE2)}return body}var MOVE_USAGE2="twp media move <\u30D5\u30A1\u30A4\u30EBID> [--project <\u30B3\u30FC\u30C9|ID> | --personal] [--folder <\u30D5\u30A9\u30EB\u30C0ID|\u89AA/\u5B50>]";
|
|
@@ -81,47 +123,47 @@ SCHEDULE_USAGE)}const body={publish_start_at:start};if(end!==void 0)body["publis
|
|
|
81
123
|
\u30D5\u30A1\u30A4\u30EB\u3092\u975E\u516C\u958B\u306B\u3059\u308B",description:"\u30D5\u30A1\u30A4\u30EB\u3092\u975E\u516C\u958B\uFF08draft\uFF09\u306B\u623B\u3057\u307E\u3059\u3002"},{name:"archive",summary:"\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B",description:"\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u72B6\u614B\uFF08archived\uFF09\u306B\u3057\u307E\u3059\uFF08\u524A\u9664\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002"}];function statusOperation(spec){
|
|
82
124
|
const usage=`twp media ${spec.name} <\u30D5\u30A1\u30A4\u30EBID>`;return{name:spec.name,summary:spec.summary,usage,description:`${spec.description}
|
|
83
125
|
\u8907\u6570\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u307E\u3068\u3081\u3066\u5909\u3048\u308B\u306A\u3089 twp media bulk-${spec.name}\u3002\u5931\u6557\uFF08\u5B58\u5728\u3057\u306A\u3044\u30FB\u6A29\u9650\u304C\u7121\u3044\uFF09\u306F HTTP \u306E\u62D2\u5426\u3068\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 3 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002`,flags:[FILE_REF_FLAG],plan:input=>({method:"POST",path:`${filePath(fileRef(input,usage))}/${spec.name}`,body:{}}),summarize:singleSummary(STATUS_COLUMNS),
|
|
84
|
-
raw:body=>
|
|
85
|
-
plan:input=>({method:"GET",path:filePath(fileRef(input,GET_USAGE2))}),summarize:body=>pick(
|
|
126
|
+
raw:body=>dataOf3(body,spec.summary)}}var RESTORE_USAGE2="twp media restore <\u30D5\u30A1\u30A4\u30EBID>";var MEDIA_FILE_OPERATIONS=[{name:"get",summary:"\u30D5\u30A1\u30A4\u30EB\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:GET_USAGE2,description:"\u30D5\u30A1\u30A4\u30EBID \u306F twp media list \u306E id \u3067\u3059\u3002\u30B4\u30DF\u7BB1\u306B\u3042\u308B\u30D5\u30A1\u30A4\u30EB\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\uFF08twp media trash list\uFF09\u3002",flags:[FILE_REF_FLAG],
|
|
127
|
+
plan:input=>({method:"GET",path:filePath(fileRef(input,GET_USAGE2))}),summarize:body=>pick(dataOf3(body,"\u30D5\u30A1\u30A4\u30EB\u8A73\u7D30"),DETAIL_COLUMNS),raw:body=>dataOf3(body,"\u30D5\u30A1\u30A4\u30EB\u8A73\u7D30")},{name:"update",summary:"\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u30FB\u8AAC\u660E\u30FB\u30BF\u30B0\u3092\u5909\u66F4\u3059\u308B",usage:UPDATE_USAGE2,description:"\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u66F4\u3057\u307E\u3059\u3002\n--tag \u306F\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u3001**\u6307\u5B9A\u3057\u305F\u30BF\u30B0\u3067\u7F6E\u304D\u63DB\u3048\u307E\u3059**\uFF08\u8FFD\u52A0\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u4ECA\u306E\u30BF\u30B0\u306F twp media get \u3067\u78BA\u8A8D\uFF09\u3002\n\u30BF\u30B0\u3092\u5168\u90E8\u5916\u3059\u306A\u3089 --clear-tags\u3001\u8AAC\
|
|
86
128
|
\u660E\u3092\u6D88\u3059\u306A\u3089 --clear-description\u3002\n\u30D5\u30A9\u30EB\u30C0\u3092\u5909\u3048\u308B\u306A\u3089 twp media move\u3002",flags:[FILE_REF_FLAG,{name:"--name",summary:"\u65B0\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u540D",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EB\u540D>"},{name:"--description",summary:"\u65B0\u3057\u3044\u8AAC\u660E\uFF081000\u5B57\u307E\u3067\uFF09",takesValue:true,placeholder:"<\u8AAC\u660E>"},{name:"--clear-description",summary:"\u8AAC\u660E\u3092\u6D88\u3059",
|
|
87
129
|
takesValue:false},{name:"--tag",summary:"\u30BF\u30B0\uFF08\u8907\u6570\u56DE\u6307\u5B9A\u53EF\u30FB\u6307\u5B9A\u3057\u305F\u3082\u306E\u3067\u7F6E\u304D\u63DB\u3048\uFF09",takesValue:true,placeholder:"<\u30BF\u30B0>",repeatable:true},{name:"--clear-tags",summary:"\u30BF\u30B0\u3092\u3059\u3079\u3066\u5916\u3059",takesValue:false}],plan:input=>({method:"PUT",path:filePath(fileRef(input,UPDATE_USAGE2)),body:updateBody(input)}),summarize:singleSummary(["id","file_name","description","tags","upda\
|
|
88
|
-
ted_at"]),raw:body=>
|
|
130
|
+
ted_at"]),raw:body=>dataOf3(body,"\u30D5\u30A1\u30A4\u30EB\u66F4\u65B0")},{name:"move",summary:"\u30D5\u30A1\u30A4\u30EB\u3092\u5225\u306E\u30D5\u30A9\u30EB\u30C0\u30FB\u30B9\u30B3\u30FC\u30D7\u3078\u79FB\u3059",usage:MOVE_USAGE2,description:"--folder \u3092\u4ED8\u3051\u306A\u3051\u308C\u3070\u79FB\u52D5\u5148\u306E\u30B9\u30B3\u30FC\u30D7\u306E\u6700\u4E0A\u4F4D\u3078\u79FB\u3057\u307E\u3059\u3002\n--project \u3082 --personal \u3082\u4ED8\u3051\u306A\u3051\u308C\u3070\u3001\u4ECA\u306E\u30B9\u30B3\u30FC\u30D7\uFF08\u500B\u4EBA\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF09\u306E\u307E\u307E\u79FB\u3057\u307E\u3059\n\uFF08\u65E2\u5B9A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 TWP_PROJECT \u7B49\u306F\u4F7F\u3044\u307E\u305B\u3093\uFF09\u3002\u8907\u6570\u3092\u307E\u3068\u3081\u3066\u79FB\u3059\u306A\u3089 twp media bulk-move\u3002",
|
|
89
131
|
flags:[FILE_REF_FLAG,{name:"--project",summary:"\u79FB\u52D5\u5148\u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u3059\u308B\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"},{name:"--personal",summary:"\u79FB\u52D5\u5148\u3092\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\u306B\u3059\u308B",takesValue:false},{name:"--folder",summary:"\u79FB\u52D5\u5148\u306E\u30D5\u30A9\u30EB\u30C0\uFF08ID \u304B\u300C\u89AA/\u5B50\u300D\u5F62\u5F0F\u306E\u30D1\u30B9\u3002\u30D1\u30B9\u306F --project / --personal \u3068\u4F75\u7528\u3002\u7701\u7565\u6642\u306F\u30B9\u30B3\u30FC\u30D7\u306E\u6700\u4E0A\
|
|
90
|
-
\u4F4D\uFF09",takesValue:true,placeholder:"<\u30D5\u30A9\u30EB\u30C0ID|\u89AA/\u5B50>"}],async prepare(input,ctx){fileRef(input,MOVE_USAGE2);const project=nonEmpty(input.flags,"--project");if(project!==void 0&&input.flags.has("--personal")){throw new UsageError("--project \u3068 --personal \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",MOVE_USAGE2)}if(project!==void 0){const scopeId=await ctx.projectId(project);const folder2=await resolveMoveFolder(input,ctx,{scope:
|
|
91
|
-
scopeId});return withResolved(input,{scope:
|
|
92
|
-
input)}),summarize:singleSummary(["id","file_name","scope","scope_id","folder_id","file_path"]),raw:body=>
|
|
132
|
+
\u4F4D\uFF09",takesValue:true,placeholder:"<\u30D5\u30A9\u30EB\u30C0ID|\u89AA/\u5B50>"}],async prepare(input,ctx){fileRef(input,MOVE_USAGE2);const project=nonEmpty(input.flags,"--project");if(project!==void 0&&input.flags.has("--personal")){throw new UsageError("--project \u3068 --personal \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",MOVE_USAGE2)}if(project!==void 0){const scopeId=await ctx.projectId(project);const folder2=await resolveMoveFolder(input,ctx,{scope:SCOPE_PROJECT3,
|
|
133
|
+
scopeId});return withResolved(input,{scope:SCOPE_PROJECT3,scopeId,...folder2})}if(input.flags.has("--personal")){const folder2=await resolveMoveFolder(input,ctx,{scope:SCOPE_PERSONAL3});return withResolved(input,{scope:SCOPE_PERSONAL3,scopeId:(await ctx.resolver.currentUser()).id,...folder2})}const folder=await resolveMoveFolder(input,ctx,void 0);return Object.keys(folder).length>0?withResolved(input,folder):input},plan:input=>({method:"POST",path:`${filePath(fileRef(input,MOVE_USAGE2))}/move`,body:moveBody(
|
|
134
|
+
input)}),summarize:singleSummary(["id","file_name","scope","scope_id","folder_id","file_path"]),raw:body=>dataOf3(body,"\u30D5\u30A1\u30A4\u30EB\u79FB\u52D5")},...STATUS_OPERATIONS.map(statusOperation),{name:"schedule",summary:"\u30D5\u30A1\u30A4\u30EB\u306E\u516C\u958B\u671F\u9593\u3092\u4E88\u7D04\u3059\u308B\uFF08--clear \u3067\u89E3\u9664\uFF09",usage:SCHEDULE_USAGE,description:"\u65E5\u6642\u306F\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u4ED8\u304D\u306E ISO 8601 \u3067\u6307\u5B9A\u3057\u307E\u3059\uFF08\u4F8B: 2026-12-01T09:00:00+09:00 / 2026-12-01T00:00:00Z\uFF09\u3002\n\u30AA\u30D5\u30BB\u30C3\u30C8\u306E\u7121\u3044\u65E5\u6642\u306F\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306E\u6642\u523B\u5E2F\u3067\u89E3\u91C8\u3055\u308C\
|
|
93
135
|
\u3001\u305A\u308C\u308B\u305F\u3081\uFF09\u3002\u9001\u308B\u5024\u306F --dry-run \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002\n--end \u3092\u4ED8\u3051\u308B\u3068\u3001\u305D\u306E\u65E5\u6642\u306B\u975E\u516C\u958B\u3078\u623B\u308A\u307E\u3059\u3002--archive-after-end \u3092\u4ED8\u3051\u308B\u3068\u30A2\u30FC\u30AB\u30A4\u30D6\u306B\u3057\u307E\u3059\u3002\n--clear \u306F\u4E88\u7D04\u3092\u5916\u3057\u3001\u30D5\u30A1\u30A4\u30EB\u3092\u975E\u516C\u958B\uFF08draft\uFF09\u306B\u623B\u3057\u307E\u3059\u3002",
|
|
94
136
|
flags:[FILE_REF_FLAG,{name:"--start",summary:"\u516C\u958B\u958B\u59CB\u65E5\u6642\uFF08\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u4ED8\u304D ISO 8601\uFF09",takesValue:true,placeholder:"<\u65E5\u6642>"},{name:"--end",summary:"\u516C\u958B\u7D42\u4E86\u65E5\u6642\uFF08\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u4ED8\u304D ISO 8601\uFF09",takesValue:true,placeholder:"<\u65E5\u6642>"},{name:"--archive-after-end",summary:"\u516C\u958B\u7D42\u4E86\u5F8C\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B\uFF08--end \u304C\u5FC5\u8981\uFF09",
|
|
95
|
-
takesValue:false},{name:"--clear",summary:"\u4E88\u7D04\u3092\u5916\u3057\u3066\u975E\u516C\u958B\u306B\u623B\u3059",takesValue:false}],plan:input=>({method:"POST",path:`${filePath(fileRef(input,SCHEDULE_USAGE))}/schedule`,body:scheduleBody(input)}),summarize:singleSummary(STATUS_COLUMNS),raw:body=>
|
|
137
|
+
takesValue:false},{name:"--clear",summary:"\u4E88\u7D04\u3092\u5916\u3057\u3066\u975E\u516C\u958B\u306B\u623B\u3059",takesValue:false}],plan:input=>({method:"POST",path:`${filePath(fileRef(input,SCHEDULE_USAGE))}/schedule`,body:scheduleBody(input)}),summarize:singleSummary(STATUS_COLUMNS),raw:body=>dataOf3(body,"\u516C\u958B\u4E88\u7D04")},{name:"restore",summary:"\u30B4\u30DF\u7BB1\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5143\u306B\u623B\u3059",usage:RESTORE_USAGE2,description:"twp media delete \u3067\u30B4\
|
|
96
138
|
\u30DF\u7BB1\u3078\u79FB\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u5143\u306B\u623B\u3057\u307E\u3059\uFF08\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u89E3\u9664\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\u30B4\u30DF\u7BB1\u306B\u3042\u308B\u30D5\u30A1\u30A4\u30EB\u306F twp media trash list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002\u8907\u6570\u306A\u3089 twp media bulk-restore\u3002",flags:[FILE_REF_FLAG],plan:input=>({method:"POST",path:`${filePath(fileRef(input,RESTORE_USAGE2))}\
|
|
97
|
-
/restore`,body:{}}),summarize:singleSummary(["id","file_name","folder_id","file_path"]),raw:body=>
|
|
139
|
+
/restore`,body:{}}),summarize:singleSummary(["id","file_name","folder_id","file_path"]),raw:body=>dataOf3(body,"\u5FA9\u5143")}];var TRASH_LIST_USAGE="twp media trash list [--project <\u30B3\u30FC\u30C9|ID>]";var TRASH_EMPTY_USAGE="twp media trash empty --yes [--project <\u30B3\u30FC\u30C9|ID>]";function metaTotal(body){const meta=isRecord(body)?body["meta"]:void 0;const total=isRecord(meta)?meta["total"]:void 0;return typeof total==="number"?total:void 0}async function emptyTrash(input,ctx){const scope=requireResolved(
|
|
98
140
|
input,"scope");const scopeId=requireResolved(input,"scopeId");const query={scope,scope_id:scopeId,limit:1};const files=metaTotal(await ctx.send({method:"GET",path:"/api/v2/media/trash",query}));const folders=metaTotal(await ctx.send({method:"GET",path:"/api/v2/media/folders/trash",query}));const count=n=>n===void 0?"\u4EF6\u6570\u4E0D\u660E":`${n} \u4EF6`;ctx.warn(`\u30B4\u30DF\u7BB1\u306E\u30D5\u30A1\u30A4\u30EB ${count(files)}\u30FB\u30D5\u30A9\u30EB\u30C0 ${count(folders)} \u3092\u3059\u3079\u3066\u5B8C\u5168\u306B\u524A\u9664\u3057\u307E\u3059\uFF08\u5FA9\u5143\u3067\u304D\u307E\u305B\
|
|
99
|
-
\u3093\uFF09\u3002`);const body=await ctx.send(trashEmptyPlan(input));const data=
|
|
141
|
+
\u3093\uFF09\u3002`);const body=await ctx.send(trashEmptyPlan(input));const data=dataOf3(body,"\u30B4\u30DF\u7BB1\u3092\u7A7A\u306B\u3059\u308B");const failed=data["failed"];if(typeof failed!=="number"){throw new ApiResponseError("\u30B4\u30DF\u7BB1\u3092\u7A7A\u306B\u3059\u308B\u5FDC\u7B54\u306B data.failed \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}if(failed>0){ctx.warn(`\u30B4\u30DF\u7BB1\u3092\u7A7A\u306B\u3059\u308B: ${String(
|
|
100
142
|
data["success"]??0)} \u4EF6\u3092\u524A\u9664\u3001${failed} \u4EF6\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002twp media trash list \u3067\u6B8B\u308A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);throw new ApiRejectedError(`\u30B4\u30DF\u7BB1\u3092\u7A7A\u306B\u3067\u304D\u3066\u3044\u307E\u305B\u3093\uFF08${failed} \u4EF6\u5931\u6557\uFF09\u3002`)}return body}function trashEmptyPlan(input){return{method:"POST",path:"/api/v2/media/trash/empty",body:{scope:requireResolved(input,
|
|
101
143
|
"scope"),scope_id:requireResolved(input,"scopeId")}}}var mediaTrashResource={name:"trash",summary:"\u30B4\u30DF\u7BB1\uFF08\u4E00\u89A7\u30FB\u7A7A\u306B\u3059\u308B\uFF09\u30021\u4EF6\u306E\u5FA9\u5143\u306F twp media restore\u3001\u5B8C\u5168\u524A\u9664\u306F twp media delete --permanent",operations:[{name:"list",summary:"\u30B4\u30DF\u7BB1\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\uFF09",usage:TRASH_LIST_USAGE,
|
|
102
144
|
description:"--project \u3092\u4ED8\u3051\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B4\u30DF\u7BB1\u3092\u8FD4\u3057\u307E\u3059\u3002\n\n"+LIST_PAGING_HELP,flags:[PROJECT_FLAG2,...LIST_FLAGS],paging:envelopePaging({label:"\u30B4\u30DF\u7BB1\u4E00\u89A7",itemsKey:"data"}),async prepare(input,ctx){noArgs(input,TRASH_LIST_USAGE);return withResolved(input,await resolveScope(input,ctx))},plan:input=>({method:"GET",path:"/api/v2/media/trash",query:{scope:requireResolved(input,"scope"),
|
|
103
145
|
scope_id:input.resolved?.["scopeId"],limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor")}}),summarize:body=>rowsOf(body,"\u30B4\u30DF\u7BB1\u4E00\u89A7").map(row=>pick(row,TRASH_COLUMNS2)),raw:body=>rowsOf(body,"\u30B4\u30DF\u7BB1\u4E00\u89A7")},{name:"empty",summary:"\u30B4\u30DF\u7BB1\u3092\u7A7A\u306B\u3059\u308B\uFF08\u30D5\u30A1\u30A4\u30EB\u3068\u30D5\u30A9\u30EB\u30C0\u3092\u5B8C\u5168\u306B\u524A\u9664\uFF09",usage:TRASH_EMPTY_USAGE,description:"\u30B4\u30DF\u7BB1\u306B\u3042\u308B\u30D5\u30A1\u30A4\
|
|
104
146
|
\u30EB\u3068\u30D5\u30A9\u30EB\u30C0\u3092\u3059\u3079\u3066\u5B8C\u5168\u306B\u524A\u9664\u3057\u307E\u3059\u3002\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093\u3002\n--project \u3092\u4ED8\u3051\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B4\u30DF\u7BB1\u3001\u7121\u3051\u308C\u3070\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\u306E\u30B4\u30DF\u7BB1\u3067\u3059\uFF08\u65E2\u5B9A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u4F7F\u3044\u307E\u305B\u3093\uFF09\u3002\n\u7834\u58CA\u7684\u306A\u64CD\u4F5C\u3068\u3057\u3066\u6271\u3046\u305F\u3081 --yes \u304C\u5FC5\u8981\u3067\u3059\u3002\u5B9F\u884C\u6642\u306F\u3001\u5148\u306B\u30B4\u30DF\u7BB1\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u30D5\u30A9\u30EB\u30C0\u306E\u4EF6\u6570\u3092\u53D6\u5F97\u3057\u3066 stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n1\u4EF6\u3067\u3082\u6D88\u305B\u306A\u304B\u3063\u305F\u3082\u306E\u304C\u3042\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 3 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002",
|
|
105
|
-
destructive:true,flags:[PROJECT_FLAG2],async prepare(input,ctx){noArgs(input,TRASH_EMPTY_USAGE);const scope=await resolveScope(input,ctx);const scopeId=scope["scopeId"]??(await ctx.resolver.currentUser()).id;return withResolved(input,{scope:scope["scope"]??
|
|
106
|
-
execute:emptyTrash,summarize:body=>({message:isRecord(body)?body["message"]??null:null,...
|
|
147
|
+
destructive:true,flags:[PROJECT_FLAG2],async prepare(input,ctx){noArgs(input,TRASH_EMPTY_USAGE);const scope=await resolveScope(input,ctx);const scopeId=scope["scopeId"]??(await ctx.resolver.currentUser()).id;return withResolved(input,{scope:scope["scope"]??SCOPE_PERSONAL3,scopeId})},plan:trashEmptyPlan,plannedNotes:()=>["\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u30B4\u30DF\u7BB1\u306E\u4EF6\u6570\u3092\u53D6\u5F97\u3057\u307E\u3059\uFF08GET /api/v2/media/trash\u30FBGET /api/v2/media/folders/trash\uFF09\u3002\u30D5\u30A1\u30A4\u30EB\u3068\u30D5\u30A9\u30EB\u30C0\u306E\u4E21\u65B9\u304C\u5B8C\u5168\u306B\u524A\u9664\u3055\u308C\u307E\u3059\u3002"],
|
|
148
|
+
execute:emptyTrash,summarize:body=>({message:isRecord(body)?body["message"]??null:null,...dataOf3(body,"\u30B4\u30DF\u7BB1\u3092\u7A7A\u306B\u3059\u308B")}),raw:body=>dataOf3(body,"\u30B4\u30DF\u7BB1\u3092\u7A7A\u306B\u3059\u308B")}]};var RECENT_USAGE="twp media recent list [--limit <\u4EF6\u6570>]";var mediaRecentResource={name:"recent",summary:"\u6700\u8FD1\u95B2\u89A7\u3057\u305F\u30D5\u30A1\u30A4\u30EB",operations:[{name:"list",summary:"\u81EA\u5206\u304C\u6700\u8FD1\u95B2\u89A7\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u6700\u592720\u4EF6\uFF09",
|
|
107
149
|
usage:RECENT_USAGE,description:"\u30B4\u30DF\u7BB1\u3078\u79FB\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u542B\u307F\u307E\u305B\u3093\u3002\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093\uFF08--limit \u306F 20 \u307E\u3067\uFF09\u3002\n\u5404\u884C\u306E file_id \u304C twp media get \u306B\u6E21\u3059\u30D5\u30A1\u30A4\u30EBID \u3067\u3059\u3002",flags:[{name:"--limit",summary:"\u53D6\u5F97\u4EF6\u6570\uFF08\u65E2\u5B9A 10\u30FB\u6700\u5927 20\uFF09",takesValue:true,placeholder:"\
|
|
108
150
|
<\u4EF6\u6570>"}],plan(input){noArgs(input,RECENT_USAGE);const limit=positiveInteger(input.flags,"--limit");if(limit!==void 0&&limit>20)throw new UsageError("--limit \u306F 20 \u307E\u3067\u3067\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u4E0A\u9650\uFF09",RECENT_USAGE);return{method:"GET",path:"/api/v2/media/files/recent",query:{limit}}},summarize:body=>rowsOf(body,"\u6700\u8FD1\u306E\u30D5\u30A1\u30A4\u30EB").map(row=>pick(row,RECENT_COLUMNS)),raw:body=>rowsOf(body,"\u6700\u8FD1\u306E\u30D5\u30A1\u30A4\u30EB")}]};
|
|
109
151
|
var TAG_LIST_USAGE="twp media tag list [--with-count]";var TAG_CREATE_USAGE="twp media tag create <\u30BF\u30B0>";var TAG_MERGE_USAGE="twp media tag merge <\u65E7\u30BF\u30B0> --into <\u65B0\u30BF\u30B0> --yes";var TAG_DELETE_USAGE="twp media tag delete <\u30BF\u30B0> --yes";function tagArg(input,usage){if(input.args.length!==1)throw new UsageError("\u30BF\u30B0\u30921\u3064\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const tag=(input.args[0]??"").trim();if(tag==="")throw new UsageError(
|
|
110
152
|
"\u30BF\u30B0\u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage);if(tag.length>100)throw new UsageError("\u30BF\u30B0\u306F100\u6587\u5B57\u307E\u3067\u3067\u3059",usage);return tag}function tagPathSegment(tag,usage){if(collapsesInUrlPath(tag))throw new UsageError(`\u3053\u306E\u30BF\u30B0\u306F\u30B3\u30DE\u30F3\u30C9\u304B\u3089\u524A\u9664\u3067\u304D\u307E\u305B\u3093\uFF08\u30C9\u30C3\u30C8\u3060\u3051\u306E\u540D\u524D\uFF09: ${tag}`,usage);return encodeURIComponent(
|
|
111
153
|
encodeURIComponent(tag))}function normalizeTag(tag){return tag.trim().toLowerCase()}async function tagUsage(ctx,tag){const body=await ctx.send({method:"GET",path:"/api/v2/media/files/tags",query:{with_count:"true"}});const rows=rowsOf(body,"\u30BF\u30B0\u4E00\u89A7");const key=normalizeTag(tag);const hit=rows.find(row=>isRecord(row)&&typeof row["tag"]==="string"&&normalizeTag(row["tag"])===key);if(!isRecord(hit))return void 0;const count=hit["count"];return typeof count==="number"?count:0}function updatedCountSummary(body){
|
|
112
|
-
return{message:isRecord(body)?body["message"]??null:null,updated_count:
|
|
154
|
+
return{message:isRecord(body)?body["message"]??null:null,updated_count:dataOf3(body,"\u30BF\u30B0\u64CD\u4F5C")["updated_count"]??null}}function mergeBody(input){const oldTag=tagArg(input,TAG_MERGE_USAGE);const newTag=nonEmpty(input.flags,"--into")?.trim();if(newTag===void 0)throw new UsageError("--into\uFF08\u7D71\u5408\u5148\u306E\u30BF\u30B0\uFF09\u306F\u5FC5\u9808\u3067\u3059",TAG_MERGE_USAGE);if(normalizeTag(newTag)===normalizeTag(oldTag))throw new UsageError("\u7D71\u5408\u5143\u3068\u7D71\u5408\u5148\u304C\u540C\u3058\u30BF\u30B0\u3067\u3059\uFF08\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u306F\u533A\u5225\u3055\u308C\u307E\u305B\u3093\uFF09",
|
|
113
155
|
TAG_MERGE_USAGE);return{old_tag:oldTag,new_tag:newTag}}var mediaTagResource={name:"tag",summary:"\u30E1\u30C7\u30A3\u30A2\u306E\u30BF\u30B0\uFF08\u4E00\u89A7\u30FB\u4F5C\u6210\u30FB\u7D71\u5408\u30FB\u524A\u9664\uFF09\u3002\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u4ED8\u3051\u5916\u3057\u306F twp media update --tag",operations:[{name:"list",summary:"\u30C6\u30CA\u30F3\u30C8\u306E\u30BF\u30B0\u3092\u4E00\u89A7\u3059\u308B\uFF08--with-count \u3067\u4F7F\u7528\u6570\uFF09",usage:TAG_LIST_USAGE,description:"\
|
|
114
156
|
\u30D5\u30A1\u30A4\u30EB\u306B\u4ED8\u3044\u3066\u3044\u308B\u30BF\u30B0\u3068\u3001twp media tag create \u3067\u767B\u9332\u3057\u305F\u30BF\u30B0\uFF08\u4F7F\u7528\u65700\uFF09\u3092\u8FD4\u3057\u307E\u3059\u3002",flags:[{name:"--with-count",summary:"\u5404\u30BF\u30B0\u3092\u4F7F\u3063\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB\u6570\u3082\u51FA\u3059",takesValue:false}],plan(input){noArgs(input,TAG_LIST_USAGE);return{method:"GET",path:"/api/v2/media/files/tags",query:{with_count:input.flags.has(
|
|
115
157
|
"--with-count")?"true":void 0}}},summarize:body=>rowsOf(body,"\u30BF\u30B0\u4E00\u89A7").map(row=>isRecord(row)?row:{tag:row}),raw:body=>rowsOf(body,"\u30BF\u30B0\u4E00\u89A7")},{name:"create",summary:"\u30BF\u30B0\u3092\u767B\u9332\u3059\u308B\uFF08\u30D5\u30A1\u30A4\u30EB\u306B\u306F\u4ED8\u304D\u307E\u305B\u3093\uFF09",usage:TAG_CREATE_USAGE,description:"\u9078\u629E\u80A2\u3068\u3057\u3066\u4F7F\u3048\u308B\u30BF\u30B0\u3092\u767B\u9332\u3057\u307E\u3059\u3002\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u308B\u30FB\u767B\u9332\u6E08\u307F\u306E\u30BF\u30B0\u306F\u62D2\u5426\u3055\u308C\u307E\u3059\u3002",
|
|
116
|
-
flags:[],plan:input=>({method:"POST",path:"/api/v2/media/tags",body:{tag:tagArg(input,TAG_CREATE_USAGE)}}),summarize:body=>({message:isRecord(body)?body["message"]??null:null,...
|
|
158
|
+
flags:[],plan:input=>({method:"POST",path:"/api/v2/media/tags",body:{tag:tagArg(input,TAG_CREATE_USAGE)}}),summarize:body=>({message:isRecord(body)?body["message"]??null:null,...dataOf3(body,"\u30BF\u30B0\u4F5C\u6210")}),raw:body=>dataOf3(body,"\u30BF\u30B0\u4F5C\u6210")},{name:"merge",summary:"\u65E7\u30BF\u30B0\u3092\u6301\u3064\u5168\u30D5\u30A1\u30A4\u30EB\u3092\u65B0\u30BF\u30B0\u3078\u4ED8\u3051\u66FF\u3048\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:TAG_MERGE_USAGE,description:"\
|
|
117
159
|
\u30C6\u30CA\u30F3\u30C8\u5168\u4F53\u3067\u3001<\u65E7\u30BF\u30B0> \u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30B0\u3092 --into \u306E\u65B0\u30BF\u30B0\u306B\u7F6E\u304D\u63DB\u3048\u307E\u3059\u3002\u5143\u306B\u306F\u623B\u305B\u307E\u305B\u3093\u3002\n\u7834\u58CA\u7684\u306A\u64CD\u4F5C\u3068\u3057\u3066\u6271\u3046\u305F\u3081 --yes \u304C\u5FC5\u8981\u3067\u3059\u3002\u5B9F\u884C\u6642\u306F\u3001\u5148\u306B\u65E7\u30BF\u30B0\u306E\u4F7F\u7528\u6570\u3092\u53D6\u5F97\u3057\u3066 stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n\u65E7\u30BF\u30B0\u304C\u3069\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u3082\u4ED8\u3044\u3066\u304A\u3089\u305A\u767B\u9332\u3082\u3055\u308C\u3066\u3044\u306A\u3051\u308C\u3070\u3001\u9001\u3089\u305A\u306B\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002",
|
|
118
160
|
destructive:true,flags:[{name:"--into",summary:"\u7D71\u5408\u5148\u306E\u30BF\u30B0\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u65B0\u30BF\u30B0>"}],plan:input=>({method:"POST",path:"/api/v2/media/tags/merge",body:mergeBody(input)}),plannedNotes:()=>["\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u30BF\u30B0\u306E\u4F7F\u7528\u6570\u3092\u53D6\u5F97\u3057\u307E\u3059\uFF08GET /api/v2/media/files/tags?with_count=true\uFF09\u3002"],async execute(input,ctx){const body=mergeBody(
|
|
119
|
-
input);const count=await tagUsage(ctx,body.old_tag);if(count===void 0)throw new UsageError(`\u30BF\u30B0\u300C${body.old_tag}\u300D\u306F\u3042\u308A\u307E\u305B\u3093\uFF08twp media tag list\uFF09`,TAG_MERGE_USAGE);ctx.warn(`\u30BF\u30B0\u300C${body.old_tag}\u300D\u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB ${count} \u4EF6\u3092\u300C${body.new_tag}\u300D\u3078\u4ED8\u3051\u66FF\u3048\u307E\u3059\u3002`);const response=await ctx.send({method:"POST",path:"/api/v2/media/tags/merge",body});const updated=
|
|
161
|
+
input);const count=await tagUsage(ctx,body.old_tag);if(count===void 0)throw new UsageError(`\u30BF\u30B0\u300C${body.old_tag}\u300D\u306F\u3042\u308A\u307E\u305B\u3093\uFF08twp media tag list\uFF09`,TAG_MERGE_USAGE);ctx.warn(`\u30BF\u30B0\u300C${body.old_tag}\u300D\u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB ${count} \u4EF6\u3092\u300C${body.new_tag}\u300D\u3078\u4ED8\u3051\u66FF\u3048\u307E\u3059\u3002`);const response=await ctx.send({method:"POST",path:"/api/v2/media/tags/merge",body});const updated=dataOf3(
|
|
120
162
|
response,"\u30BF\u30B0\u7D71\u5408")["updated_count"];if(count>0&&updated===0){throw new ApiRejectedError(`\u30BF\u30B0\u300C${body.old_tag}\u300D\u306F ${count} \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u4ED8\u3044\u3066\u3044\u307E\u3059\u304C\u3001\u30B5\u30FC\u30D0\u306F 0 \u4EF6\u3057\u304B\u4ED8\u3051\u66FF\u3048\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u5927\u6587\u5B57\u3092\u542B\u3080\u5F62\u3067\u4FDD\u5B58\u3055\u308C\u305F\u30BF\u30B0\u306F\u30B5\u30FC\u30D0\u306E\u7D71\u5408\u51E6\u7406\u3067\u7167\u5408\u3055\u308C\u307E\u305B\u3093\uFF09\u3002`)}
|
|
121
|
-
return response},summarize:updatedCountSummary,raw:body=>
|
|
163
|
+
return response},summarize:updatedCountSummary,raw:body=>dataOf3(body,"\u30BF\u30B0\u7D71\u5408")},{name:"delete",summary:"\u30BF\u30B0\u3092\u524A\u9664\u3057\u3001\u5168\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u5916\u3059\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:TAG_DELETE_USAGE,description:"\u30C6\u30CA\u30F3\u30C8\u5168\u4F53\u3067\u3001\u305D\u306E\u30BF\u30B0\u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30BF\u30B0\u3092\u5916\u3057\u3001\u767B\u9332\u3082\u6D88\u3057\u307E\u3059\u3002\u5143\u306B\u306F\u623B\u305B\u307E\u305B\u3093\u3002\n\u7834\u58CA\u7684\u306A\u64CD\u4F5C\u3068\u3057\u3066\u6271\u3046\u305F\u3081 --yes \u304C\u5FC5\u8981\u3067\u3059\u3002\u5B9F\u884C\u6642\u306F\u3001\u5148\u306B\u30BF\u30B0\u306E\u4F7F\u7528\u6570\u3092\u53D6\u5F97\u3057\u3066 stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n\u30B5\u30FC\u30D0\u306F\u5B58\u5728\u3057\u306A\u3044\u30BF\u30B0\u3067\u3082\u6210\u529F\u3092\u8FD4\u3059\u305F\u3081\u3001\u7121\u3044\u30BF\u30B0\u306F\u9001\u3089\u305A\u306B\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002",
|
|
122
164
|
destructive:true,flags:[],plan:input=>{const tag=tagArg(input,TAG_DELETE_USAGE);return{method:"DELETE",path:`/api/v2/media/tags/${tagPathSegment(tag,TAG_DELETE_USAGE)}`}},plannedNotes:()=>["\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u30BF\u30B0\u306E\u4F7F\u7528\u6570\u3092\u53D6\u5F97\u3057\u307E\u3059\uFF08GET /api/v2/media/files/tags?with_count=true\uFF09\u3002"],async execute(input,ctx){const tag=tagArg(input,TAG_DELETE_USAGE);const path2=`/api/v2/media/tags/${tagPathSegment(tag,
|
|
123
165
|
TAG_DELETE_USAGE)}`;const count=await tagUsage(ctx,tag);if(count===void 0)throw new UsageError(`\u30BF\u30B0\u300C${tag}\u300D\u306F\u3042\u308A\u307E\u305B\u3093\uFF08twp media tag list\uFF09`,TAG_DELETE_USAGE);ctx.warn(`\u30BF\u30B0\u300C${tag}\u300D\u3092\u524A\u9664\u3057\u3001\u4ED8\u3044\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB ${count} \u4EF6\u304B\u3089\u5916\u3057\u307E\u3059\u3002`);const body=await ctx.send({method:"DELETE",path:path2});if(await tagUsage(ctx,tag)!==void 0){throw new ApiRejectedError(
|
|
124
|
-
`\u30BF\u30B0\u300C${tag}\u300D\u304C\u524A\u9664\u5F8C\u3082\u6B8B\u3063\u3066\u3044\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u5225\u306E\u30BF\u30B0\u3068\u3057\u3066\u53D7\u3051\u53D6\u3063\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09\u3002`)}return body},summarize:updatedCountSummary,raw:body=>
|
|
166
|
+
`\u30BF\u30B0\u300C${tag}\u300D\u304C\u524A\u9664\u5F8C\u3082\u6B8B\u3063\u3066\u3044\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u5225\u306E\u30BF\u30B0\u3068\u3057\u3066\u53D7\u3051\u53D6\u3063\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09\u3002`)}return body},summarize:updatedCountSummary,raw:body=>dataOf3(body,"\u30BF\u30B0\u524A\u9664")}]};import crypto from"crypto";import fs from"fs";var CONTENT_MAX_CHARS=5e5;var VERSION_COLUMNS=["version_number","file_size","content_hash","change_type","change_summary","changed_by_name","created_at","is_protected"];var FILE_COLUMNS=["id","file_name","content_type","file_size","content_hash","version","updated_at"];var FILE_REF_FLAG2={name:"--id",summary:"\u30D5\u30A1\u30A4\u30EBID\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF08\u4E21\u65B9\u6307\u5B9A\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EBID>"};
|
|
125
167
|
var REV_FLAG={name:"--rev",summary:"\u7248\u756A\u53F7\uFF08twp media version list \u306E version_number\u30FB\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u7248\u756A\u53F7>"};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\u3002\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var FORCE_FLAG={name:"--force",summary:"\u66F8\u304D\u51FA\u3057\u5148\u304C\u65E2\u306B\u3042\u308C\u3070\u4E0A\u66F8\u304D\u3059\u308B\uFF08\u65E2\u5B9A\u3067\u306F\u4E0A\u66F8\u304D\u3057\u306A\
|
|
126
168
|
\u3044\uFF09",takesValue:false};var CONTENT_FILE_FLAG={name:"--file",summary:"\u65B0\u3057\u3044\u672C\u6587\u3092\u8AAD\u3080\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\u3002\u5FC5\u9808\u3002\u672C\u6587\u3092\u30B3\u30DE\u30F3\u30C9\u5F15\u6570\u306B\u306F\u8F09\u305B\u307E\u305B\u3093\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var UPLOAD_FILE_FLAG={name:"--file",summary:"\u5DEE\u3057\u66FF\u3048\u308B\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",
|
|
127
169
|
takesValue:true,placeholder:"<\u30D1\u30B9>"};var CONTENT_TYPE_FLAG={name:"--content-type",summary:"Content-Type\uFF08\u7701\u7565\u6642\u306F\u62E1\u5F35\u5B50\u304B\u3089\u63A8\u5B9A\u3002\u4E0D\u660E\u306A\u3089 application/octet-stream\uFF09",takesValue:true,placeholder:"<\u578B>"};var COMMENT_FLAG={name:"--comment",summary:"\u7248\u306E\u8AAC\u660E\uFF08version list \u306E change_summary \u306B\u51FA\u307E\u3059\u30FB500\u6587\u5B57\u307E\u3067\uFF09",takesValue:true,placeholder:"<\u8AAC\u660E>"};
|
|
@@ -129,8 +171,8 @@ var LIMIT_FLAG={name:"--limit",summary:"\u53D6\u5F97\u4EF6\u6570\uFF08\u65E2\u5B
|
|
|
129
171
|
placeholder:"<\u7248\u756A\u53F7>"};var CONTENT_GET_USAGE="twp media content get <\u30D5\u30A1\u30A4\u30EBID>";var CONTENT_UPDATE_USAGE="twp media content update <\u30D5\u30A1\u30A4\u30EBID> --file <\u30D1\u30B9|->";var VERSION_LIST_USAGE="twp media version list <\u30D5\u30A1\u30A4\u30EBID> [--limit <\u4EF6\u6570>]";var VERSION_GET_USAGE="twp media version get <\u30D5\u30A1\u30A4\u30EBID> --rev <\u7248\u756A\u53F7>";var VERSION_COMPARE_USAGE="twp media version compare <\u30D5\u30A1\u30A4\u30EBID> --from <\u7248\u756A\u53F7> --to \
|
|
130
172
|
<\u7248\u756A\u53F7>";var VERSION_DOWNLOAD_USAGE="twp media version download <\u30D5\u30A1\u30A4\u30EBID> --rev <\u7248\u756A\u53F7> --out <\u30D1\u30B9> [--force]";var VERSION_CREATE_USAGE="twp media version create <\u30D5\u30A1\u30A4\u30EBID> --file <\u30D1\u30B9> [--comment <\u8AAC\u660E>]";var VERSION_RESTORE_USAGE="twp media version restore <\u30D5\u30A1\u30A4\u30EBID> --rev <\u7248\u756A\u53F7> --yes";var CONTENT_BODY={flag:"--content-inline",fileFlag:"--file",label:"\u30D5\u30A1\u30A4\u30EB\u306E\u672C\u6587",
|
|
131
173
|
maxChars:CONTENT_MAX_CHARS,usage:CONTENT_UPDATE_USAGE};function fileRef2(input,usage){const id=singleRef(input,{flag:"--id",label:"\u30D5\u30A1\u30A4\u30EBID",usage});if(!isSafePathSegment(id))throw new UsageError(`\u30D5\u30A1\u30A4\u30EBID \u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${id}`,usage);return id}function filePath2(id){return`/api/v2/media/files/${encodeURIComponent(id)}`}function revOf(input,flag,usage){const n=positiveInteger(input.flags,flag);if(n===void 0)throw new UsageError(
|
|
132
|
-
`${flag} \u306F\u5FC5\u9808\u3067\u3059`,usage);return n}function
|
|
133
|
-
\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data.filter(isRecord)}function withoutUrl(row){return Object.fromEntries(Object.entries(row).filter(([key])=>key!=="download_url"))}function signedUrlOf(body,label){const url=
|
|
174
|
+
`${flag} \u306F\u5FC5\u9808\u3067\u3059`,usage);return n}function dataOf4(body,label){const data=isRecord(body)?body["data"]:void 0;if(!isRecord(data))throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}function versionRows(body){const data=isRecord(body)?body["data"]:void 0;if(!Array.isArray(data))throw new ApiResponseError("\u7248\u306E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B data \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\
|
|
175
|
+
\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data.filter(isRecord)}function withoutUrl(row){return Object.fromEntries(Object.entries(row).filter(([key])=>key!=="download_url"))}function signedUrlOf(body,label){const url=dataOf4(body,label)["download_url"];if(typeof url!=="string"||!/^https:\/\//.test(url)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data.download_url \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
|
|
134
176
|
return url}function replaceGuidance(id,stage,retry){if(stage==="transfer"){return`\u30D5\u30A1\u30A4\u30EB ${id} \u306E\u5DEE\u3057\u66FF\u3048\u306F\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u3078\u306E\u8EE2\u9001\u3067\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u7248\u306E\u767B\u9332\uFF08replace-complete\uFF09\u306F\u307E\u3060\u9001\u3063\u3066\u3044\u307E\u305B\u3093\u3002
|
|
135
177
|
\u901A\u4FE1\u304C\u9014\u4E2D\u3067\u5207\u308C\u305F\u5834\u5408\u306F\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u5B9F\u4F53\u3060\u3051\u304C\u7F6E\u304D\u63DB\u308F\u3063\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u6B21\u3092\u6253\u3061\u76F4\u3059\u3068\u8A18\u9332\u3092\u63C3\u3048\u307E\u3059\u3002
|
|
136
178
|
\u518D\u5B9F\u884C: ${retry}`}return`\u30D5\u30A1\u30A4\u30EB ${id} \u306F\u30B9\u30C8\u30EC\u30FC\u30B8\u3078\u306E\u8EE2\u9001\u307E\u3067\u5B8C\u4E86\u3057\u307E\u3057\u305F\u304C\u3001\u7248\u306E\u767B\u9332\uFF08replace-complete\uFF09\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
|
|
@@ -140,35 +182,35 @@ return url}function replaceGuidance(id,stage,retry){if(stage==="transfer"){retur
|
|
|
140
182
|
\u78BA\u8A8D: twp media version list ${id}`}function localUpload(input){if(input.args.length>1)throw new UsageError(`\u30D5\u30A1\u30A4\u30EBID \u306F1\u3064\u3060\u3051\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${input.args.join(" ")}`,VERSION_CREATE_USAGE);const{file,size}=inspectLocalFile(input.flags.get("--file"),"--file",VERSION_CREATE_USAGE);const contentType=nonEmpty(input.flags,"--content-type")??contentTypeFor(file);const comment=input.flags.get("--comment");if(comment!==void 0&&
|
|
141
183
|
[...comment].length>500){throw new UsageError(`--comment \u304C\u9577\u3059\u304E\u307E\u3059\uFF08${[...comment].length} \u6587\u5B57\u30FB\u4E0A\u9650 500 \u6587\u5B57\uFF09`,VERSION_CREATE_USAGE)}return{file,size,contentType}}function replaceBody(input){return{content_type:requireResolved(input,"contentType"),file_size:Number(requireResolved(input,"fileSize"))}}function replaceUrlPlan(input){return{method:"POST",path:`${filePath2(requireResolved(input,"fileId"))}/replace-url`,body:replaceBody(
|
|
142
184
|
input)}}async function replace(input,ctx){const id=requireResolved(input,"fileId");const file=requireResolved(input,"file");const size=Number(requireResolved(input,"fileSize"));const contentType=requireResolved(input,"contentType");const comment=input.flags.get("--comment");const explicitType=nonEmpty(input.flags,"--content-type");const retry=`twp media version create ${id} --file ${shellQuote(file)}`+(explicitType!==void 0?` --content-type ${shellQuote(explicitType)}`:"")+(comment!==void 0&&comment!==
|
|
143
|
-
""?` --comment ${shellQuote(comment)}`:"");const bytes=new Uint8Array(fs.readFileSync(file));if(bytes.byteLength!==size){throw new UsageError(`\u5DEE\u3057\u66FF\u3048\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u5927\u304D\u3055\u304C\u5909\u308F\u308A\u307E\u3057\u305F\uFF08${size} \u2192 ${bytes.byteLength} \u30D0\u30A4\u30C8\uFF09: ${file}`)}const localHash=crypto.createHash("sha256").update(bytes).digest("hex");await checkUploadQuota(ctx,size);const issued2=
|
|
185
|
+
""?` --comment ${shellQuote(comment)}`:"");const bytes=new Uint8Array(fs.readFileSync(file));if(bytes.byteLength!==size){throw new UsageError(`\u5DEE\u3057\u66FF\u3048\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u5927\u304D\u3055\u304C\u5909\u308F\u308A\u307E\u3057\u305F\uFF08${size} \u2192 ${bytes.byteLength} \u30D0\u30A4\u30C8\uFF09: ${file}`)}const localHash=crypto.createHash("sha256").update(bytes).digest("hex");await checkUploadQuota(ctx,size);const issued2=dataOf4(await ctx.send(replaceUrlPlan(
|
|
144
186
|
input)),"\u5DEE\u3057\u66FF\u3048URL\u767A\u884C");const uploadUrl=issued2["upload_url"];if(typeof uploadUrl!=="string"||!/^https:\/\//.test(uploadUrl)){throw new ApiResponseError("\u5DEE\u3057\u66FF\u3048URL\u767A\u884C\u306E\u5FDC\u7B54\u306B data.upload_url \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}try{await ctx.putSigned(uploadUrl,bytes,contentType)}catch(err){ctx.warn(replaceGuidance(id,"transfer",retry));throw err}
|
|
145
|
-
let completed;try{const body=replaceBody(input);if(comment!==void 0&&comment!=="")body["comment"]=comment;completed=
|
|
187
|
+
let completed;try{const body=replaceBody(input);if(comment!==void 0&&comment!=="")body["comment"]=comment;completed=dataOf4(await ctx.send({method:"POST",path:`${filePath2(id)}/replace-complete`,body}),"\u5DEE\u3057\u66FF\u3048\u306E\u5B8C\u4E86")}catch(err){ctx.warn(replaceGuidance(id,"complete",retry));throw err}const serverHash=completed["content_hash"];if(typeof serverHash==="string"&&serverHash!==""){if(serverHash.toLowerCase()!==localHash){ctx.warn(`\u30D5\u30A1\u30A4\u30EB ${id} \u306F\u65B0\u3057\u3044\u7248\u3068\u3057\u3066\u767B\
|
|
146
188
|
\u9332\u6E08\u307F\u3067\u3059\u304C\u3001\u5185\u5BB9\u304C\u30ED\u30FC\u30AB\u30EB\u3068\u98DF\u3044\u9055\u3063\u3066\u3044\u307E\u3059\u3002
|
|
147
189
|
\u518D\u5B9F\u884C: ${retry}`);throw new ApiResponseError(`\u5DEE\u3057\u66FF\u3048\u305F\u30D5\u30A1\u30A4\u30EB ${id} \u306E\u5185\u5BB9\u304C\u30ED\u30FC\u30AB\u30EB\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\uFF08\u30ED\u30FC\u30AB\u30EB sha256 ${localHash} / \u30B5\u30FC\u30D0 ${serverHash}\uFF09\u3002twp media version list ${id} \u3067\u7248\u3092\u78BA\u304B\u3081\u3001\u5FC5\u8981\u306A\u3089\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}}else{ctx.warn(`\u30B5\u30FC\u30D0\u304C content_hash\
|
|
148
190
|
\u3092\u8FD4\u3055\u306A\u304B\u3063\u305F\u305F\u3081\u3001\u30D5\u30A1\u30A4\u30EB ${id} \u306E\u5185\u5BB9\u306F\u7167\u5408\u3057\u3066\u3044\u307E\u305B\u3093\u3002`)}return completed}var mediaContentResource={name:"content",summary:"\u30C6\u30AD\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u306E\u672C\u6587\uFF08\u8AAD\u307F\u53D6\u308A\u30FB\u66F8\u304D\u63DB\u3048\uFF09",operations:[{name:"get",summary:"\u30C6\u30AD\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u306E\u672C\u6587\u3092\u8AAD\u3080",usage:CONTENT_GET_USAGE,
|
|
149
191
|
description:'\u30C6\u30AD\u30B9\u30C8\u3068\u3057\u3066\u8AAD\u3081\u308B\u30D5\u30A1\u30A4\u30EB\u3060\u3051\u304C\u5BFE\u8C61\u3067\u3059\uFF08\u305D\u308C\u4EE5\u5916\u306F\u30B5\u30FC\u30D0\u304C 422 \u3067\u65AD\u308A\u307E\u3059\uFF09\u3002\n--output text \u306F\u672C\u6587\u3092\u8907\u6570\u884C\u3067\u51FA\u3057\u307E\u3059\u3002--output json \u306F {"content": "\u2026"} \u3067\u3059\u3002\n\u8868\u793A\u7528\u306E\u51FA\u529B\u306A\u306E\u3067\u3001\u30C8\u30FC\u30AF\u30F3\u3089\u3057\u304D\u5024\u306E\u4F0F\u5B57\u5316\u30FBCRLF \u306E LF \u5316\u30FB\u5236\u5FA1\u6587\u5B57\u306E\u9664\u53BB\u304C\u304B\u304B\u308A\u307E\u3059\uFF08--no-redact \u3067\u4F0F\u5B57\u5316\u3060\u3051\u5916\u305B\u307E\u3059\uFF09\u3002\n\u66F8\u304D\u63DB\u3048\u3066 content update \u3067\u623B\u3059\u5143\u30C7\u30FC\u30BF\u306B\u306F\u3001\u30D0\u30A4\u30C8\u5217\u306E\u307E\u307E\u66F8\u304D\u51FA\u3059 twp media download --out \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002',
|
|
150
|
-
flags:[FILE_REF_FLAG2],plan:input=>({method:"GET",path:`${filePath2(fileRef2(input,CONTENT_GET_USAGE))}/content`}),summarize:body=>pick(
|
|
192
|
+
flags:[FILE_REF_FLAG2],plan:input=>({method:"GET",path:`${filePath2(fileRef2(input,CONTENT_GET_USAGE))}/content`}),summarize:body=>pick(dataOf4(body,"\u672C\u6587\u306E\u53D6\u5F97"),["content"]),raw:body=>dataOf4(body,"\u672C\u6587\u306E\u53D6\u5F97"),document:body=>{const content=dataOf4(body,"\u672C\u6587\u306E\u53D6\u5F97")["content"];return typeof content==="string"?content:""}},{name:"update",summary:"\u30C6\u30AD\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u306E\u672C\u6587\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u65B0\u3057\u3044\u7248\u304C\u7A4D\u307E\u308C\u307E\u3059\uFF09",
|
|
151
193
|
usage:CONTENT_UPDATE_USAGE,description:"\u672C\u6587\u306F --file \u306E\u30D5\u30A1\u30A4\u30EB\u304B\u6A19\u6E96\u5165\u529B\uFF08--file -\uFF09\u304B\u3089\u8AAD\u307F\u307E\u3059\u3002\u30B3\u30DE\u30F3\u30C9\u5F15\u6570\u306B\u306F\u8F09\u305B\u307E\u305B\u3093\u3002\n\u4E2D\u8EAB\u306F\u305D\u306E\u307E\u307E\u9001\u308A\u307E\u3059\uFF08\u843D\u3068\u3059\u306E\u306F\u5148\u982D\u306E UTF-8 BOM \u3060\u3051\uFF09\u3002\u7A7A\u30FB\u7A7A\u767D\u3060\u3051\u306E\u672C\u6587\u306F\u30B5\u30FC\u30D0\u304C\u53D7\u3051\u4ED8\u3051\u306A\u3044\u306E\u3067\u3001\u9001\u308B\u524D\u306B\u6B62\u3081\u307E\u3059\u3002\n\u66F8\u304D\u63DB\u3048\u308B\u3068\u65B0\u3057\u3044\u7248\u304C\u7A4D\u307E\u308C\u3001twp media version list \u3067\u524D\u306E\u7248\u3092\u8FBF\u308C\u307E\u3059\u3002\u4E0A\u9650\u306F 500,000 \u6587\u5B57\u3067\u3059\u3002",
|
|
152
194
|
flags:[FILE_REF_FLAG2,CONTENT_FILE_FLAG],async prepare(input){const id=fileRef2(input,CONTENT_UPDATE_USAGE);const content=await readBody(input,CONTENT_BODY);if(content===void 0)throw new UsageError("--file \u306F\u5FC5\u9808\u3067\u3059\uFF08\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3080\u306A\u3089 --file -\uFF09",CONTENT_UPDATE_USAGE);return withResolved(input,{fileId:id,content})},plan:input=>({method:"PUT",path:`${filePath2(requireResolved(input,"fileId"))}/content`,body:{content:requireResolved(
|
|
153
|
-
input,"content")}}),summarize:body=>pick(
|
|
195
|
+
input,"content")}}),summarize:body=>pick(dataOf4(body,"\u672C\u6587\u306E\u66F4\u65B0"),FILE_COLUMNS),raw:body=>dataOf4(body,"\u672C\u6587\u306E\u66F4\u65B0")}]};var mediaVersionResource={name:"version",summary:"\u30D5\u30A1\u30A4\u30EB\u306E\u7248\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u6BD4\u8F03\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30FB\u5DEE\u3057\u66FF\u3048\u30FB\u5DFB\u304D\u623B\u3057\uFF09",operations:[{name:"list",summary:"\u30D5\u30A1\u30A4\u30EB\u306E\u7248\u3092\u65B0\u3057\u3044\u9806\u306B\u4E00\u89A7\u3059\u308B",
|
|
154
196
|
usage:VERSION_LIST_USAGE,description:"\u65B0\u3057\u3044\u9806\u306B\u8FD4\u308A\u307E\u3059\u3002\u5148\u982D\u304C\u73FE\u884C\u7248\u3067\u3059\u3002\n\u30B5\u30FC\u30D0\u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3057\u307E\u305B\u3093\uFF08\u65E2\u5B9A50\u4EF6\u30FB\u4E0A\u9650100\u4EF6\uFF09\u3002\u53E4\u3044\u7248\u306F\u30B5\u30FC\u30D0\u304C\u9593\u5F15\u304F\u305F\u3081\u3001\u6B8B\u3063\u3066\u3044\u308B\u7248\u3060\u3051\u304C\u51FA\u307E\u3059\u3002",flags:[FILE_REF_FLAG2,LIMIT_FLAG],plan(input){
|
|
155
197
|
const limit=positiveInteger(input.flags,"--limit");if(limit!==void 0&&limit>100)throw new UsageError(`--limit \u306E\u4E0A\u9650\u306F 100 \u3067\u3059\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${limit}\uFF09`,VERSION_LIST_USAGE);return{method:"GET",path:`${filePath2(fileRef2(input,VERSION_LIST_USAGE))}/versions`,query:{limit}}},summarize:body=>versionRows(body).map(row=>pick(row,VERSION_COLUMNS)),raw:body=>versionRows(body),notes(body,input){const limit=positiveInteger(input.flags,"--limit")??
|
|
156
198
|
50;if(versionRows(body).length<limit)return[];return[limit<100?`${limit} \u4EF6\u3067\u6253\u3061\u5207\u3089\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF08\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093\u3002--limit 100 \u307E\u3067\u4E0A\u3052\u3089\u308C\u307E\u3059\uFF09\u3002`:"100 \u4EF6\u3067\u6253\u3061\u5207\u3089\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u4E0A\u9650\u3067\u3001\u3053\u308C\u3088\u308A\u53E4\u3044\u7248\u306F\u4E00\u89A7\u3067\u304D\u307E\u305B\u3093\uFF09\u3002"]}},
|
|
157
199
|
{name:"get",summary:"\u7248\u306E\u8A73\u7D30",usage:VERSION_GET_USAGE,description:"--output json \u306F\u7F72\u540D\u4ED8\u304D\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9URL\uFF08\u671F\u9650\u4ED8\u304D\uFF09\u3082\u542B\u307F\u307E\u3059\u3002\u4E2D\u8EAB\u3092\u53D6\u308A\u51FA\u3059\u306A\u3089 twp media version download \u3092\u4F7F\u3044\u307E\u3059\u3002",flags:[FILE_REF_FLAG2,REV_FLAG],plan:input=>({method:"GET",path:`${filePath2(fileRef2(input,VERSION_GET_USAGE))}/versions/${revOf(input,
|
|
158
|
-
"--rev",VERSION_GET_USAGE)}`}),summarize:body=>withoutUrl(
|
|
159
|
-
flags:[FILE_REF_FLAG2,FROM_FLAG,TO_FLAG],plan:input=>({method:"GET",path:`${filePath2(fileRef2(input,VERSION_COMPARE_USAGE))}/versions/compare`,query:{from:revOf(input,"--from",VERSION_COMPARE_USAGE),to:revOf(input,"--to",VERSION_COMPARE_USAGE)}}),summarize(body){const data=
|
|
160
|
-
raw:body=>
|
|
200
|
+
"--rev",VERSION_GET_USAGE)}`}),summarize:body=>withoutUrl(dataOf4(body,"\u7248\u306E\u8A73\u7D30")),raw:body=>dataOf4(body,"\u7248\u306E\u8A73\u7D30")},{name:"compare",summary:"2\u3064\u306E\u7248\u306E\u5927\u304D\u3055\u30FB\u30CF\u30C3\u30B7\u30E5\u3092\u6BD4\u3079\u308B",usage:VERSION_COMPARE_USAGE,description:"\u672C\u6587\u306E\u5DEE\u5206\u306F\u51FA\u3057\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C\u8FD4\u3059\u306E\u306F\u5927\u304D\u3055\u306E\u5DEE size_diff \u3068\u3001\u30CF\u30C3\u30B7\u30E5\u304C\u9055\u3046\u304B content_changed \u3067\u3059\uFF09\u3002\n\u4E2D\u8EAB\u3092\u6BD4\u3079\u308B\u306A\u3089\u3001\u305D\u308C\u305E\u308C twp media version download \u3067\u53D6\u308A\u51FA\u3057\u3066\u6BD4\u3079\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
201
|
+
flags:[FILE_REF_FLAG2,FROM_FLAG,TO_FLAG],plan:input=>({method:"GET",path:`${filePath2(fileRef2(input,VERSION_COMPARE_USAGE))}/versions/compare`,query:{from:revOf(input,"--from",VERSION_COMPARE_USAGE),to:revOf(input,"--to",VERSION_COMPARE_USAGE)}}),summarize(body){const data=dataOf4(body,"\u7248\u306E\u6BD4\u8F03");const side=key=>isRecord(data[key])?pick(data[key],VERSION_COLUMNS):data[key];return{from:side("from"),to:side("to"),size_diff:data["size_diff"],content_changed:data["content_changed"]}},
|
|
202
|
+
raw:body=>dataOf4(body,"\u7248\u306E\u6BD4\u8F03")},{name:"download",summary:"\u6307\u5B9A\u3057\u305F\u7248\u306E\u4E2D\u8EAB\u3092\u30D5\u30A1\u30A4\u30EB\u3078\u66F8\u304D\u51FA\u3059",usage:VERSION_DOWNLOAD_USAGE,description:"\u7248\u306E\u7F72\u540DURL\u3092\u53D6\u5F97\u3057\u3066\u304B\u3089\u672C\u4F53\u3092\u53D7\u3051\u53D6\u308A\u307E\u3059\uFF08\u7F72\u540DURL\u3078 TWP \u306E\u8A8D\u8A3C\u60C5\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09\u3002\n\u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002",
|
|
161
203
|
flags:[FILE_REF_FLAG2,REV_FLAG,OUT_FLAG,FORCE_FLAG],download:{outFlag:"--out",forceFlag:"--force",signedUrl:body=>signedUrlOf(body,"\u7248\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9URL\u53D6\u5F97")},plan:input=>({method:"GET",path:`${filePath2(fileRef2(input,VERSION_DOWNLOAD_USAGE))}/versions/${revOf(input,"--rev",VERSION_DOWNLOAD_USAGE)}/download-url`}),summarize:body=>body,raw:body=>body},{name:"create",summary:"\u30D5\u30A1\u30A4\u30EB\u3092\u5DEE\u3057\u66FF\u3048\u308B\uFF08\u65B0\u3057\u3044\u7248\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u3002\u30D5\u30A1\u30A4\u30EBID\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09",
|
|
162
204
|
usage:VERSION_CREATE_USAGE,description:"\u5BB9\u91CF\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\u3001\u6B21\u306E3\u5F80\u5FA9\u30921\u30B3\u30DE\u30F3\u30C9\u3067\u884C\u3044\u307E\u3059\u3002\n 0. POST /api/v2/storage/check-upload\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u5BB9\u91CF\u691C\u67FB\uFF09\n 1. POST /api/v2/media/files/{id}/replace-url\uFF08\u7F72\u540DURL\u306E\u767A\u884C\uFF09\n 2. \u7F72\u540DURL\u3078 PUT\uFF08\u30D5\u30A1\u30A4\u30EB\u672C\u4F53\u3002TWP \u306E\u8A8D\u8A3C\u60C5\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09\n 3. POST /api/v2/media/files/{id}/replace-complete\uFF08\u65B0\u3057\u3044\u7248\u306E\u767B\u9332\uFF09\n\u767B\u9332\u306E\u5FDC\u7B54\u306E content_hash\uFF08sha256\uFF09\u3092\u30ED\u30FC\u30AB\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u7A81\u304D\u5408\u308F\u305B\u3001\u4E00\u81F4\u3057\u306A\u3051\u308C\u3070\u5931\u6557\u3057\u307E\u3059\u3002\n3 \u304C\u5931\u6557\u3059\u308B\u3068\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u5B9F\u4F53\u3060\u3051\u304C\u65B0\u3057\u304F\u306A\u308A\u7248\u306E\u8A18\u9332\u304C\u53E4\u3044\u307E\u307E\u6B8B\u308B\u306E\u3067\u3001\u6253\u3061\u76F4\u3059\u624B\u9806\u3092 stderr \u306B\u51FA\u3057\u3066\u5931\u6557\u3057\u307E\u3059\u3002\n--dry-run \u306F 1 \u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\u3002",
|
|
163
205
|
flags:[FILE_REF_FLAG2,UPLOAD_FILE_FLAG,CONTENT_TYPE_FLAG,COMMENT_FLAG],async prepare(input){const local=localUpload(input);const id=fileRef2(input,VERSION_CREATE_USAGE);return withResolved(input,{fileId:id,file:local.file,fileSize:String(local.size),contentType:local.contentType})},plan:replaceUrlPlan,plannedNotes:input=>[`\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u5BB9\u91CF\u691C\u67FB\uFF08POST /api/v2/storage/check-upload\uFF09\u3092\u9001\u308A\u3001\u3053\u306E\u3042\u3068\u7F72\u540DURL\u3078 ${requireResolved(
|
|
164
206
|
input,"fileSize")} \u30D0\u30A4\u30C8\u3092 PUT \u3057\u3001\u7248\u306E\u767B\u9332\uFF08POST \u2026/replace-complete\uFF09\u3092\u9001\u308A\u307E\u3059\u3002`],execute:replace,summarize:body=>pick(body,FILE_COLUMNS),raw:body=>body},{name:"restore",summary:"\u904E\u53BB\u306E\u7248\u306E\u5185\u5BB9\u306B\u623B\u3059\uFF08\u305D\u306E\u5185\u5BB9\u3067\u65B0\u3057\u3044\u7248\u3092\u7A4D\u3080\uFF09",usage:VERSION_RESTORE_USAGE,description:"\u6307\u5B9A\u3057\u305F\u7248\u306E\u4E2D\u8EAB\u3092\u73FE\u884C\u306B\u3057\u307E\u3059\u3002\u5C65\u6B74\u306F\u6D88\u3055\u305A\u3001\u305D\u306E\u5185\u5BB9\u3067\u65B0\u3057\u3044\u7248\uFF08change_type: rollbac\
|
|
165
207
|
k\uFF09\u3092\u7A4D\u307F\u307E\u3059\u3002\n\u305F\u3060\u3057\u7248\u304C\u7A4D\u307E\u308C\u308B\u3068\u30B5\u30FC\u30D0\u304C\u53E4\u3044\u7248\u3092\u9593\u5F15\u304F\u306E\u3067\u3001\u3044\u3061\u3070\u3093\u53E4\u3044\u7248\u304C\u623B\u305B\u306A\u304F\u306A\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n\u305D\u306E\u305F\u3081\u7834\u58CA\u7684\u306A\u64CD\u4F5C\u3068\u3057\u3066\u6271\u3044\u3001--yes \u304C\u5FC5\u8981\u3067\u3059\u3002",destructive:true,confirmation:"\u3044\u3061\u3070\u3093\u53E4\u3044\
|
|
166
208
|
\u7248\u304C\u9593\u5F15\u304B\u308C\u3066\u623B\u305B\u306A\u304F\u306A\u308A\u3046\u308B\u64CD\u4F5C",flags:[FILE_REF_FLAG2,REV_FLAG],plan:input=>({method:"POST",path:`${filePath2(fileRef2(input,VERSION_RESTORE_USAGE))}/versions/${revOf(input,"--rev",VERSION_RESTORE_USAGE)}/rollback`,body:{}}),plannedNotes:input=>[`1 \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u3092 v${revOf(input,"--rev",VERSION_RESTORE_USAGE)} \u306E\u5185\u5BB9\u306B\u623B\u3057\u307E\u3059\uFF08\u65B0\u3057\u3044\u7248\u304C\u7A4D\u307E\u308C\u307E\u3059\uFF09\u3002`],
|
|
167
|
-
summarize:body=>pick(
|
|
209
|
+
summarize:body=>pick(dataOf4(body,"\u7248\u306E\u5DFB\u304D\u623B\u3057"),FILE_COLUMNS),raw:body=>dataOf4(body,"\u7248\u306E\u5DFB\u304D\u623B\u3057")}]};var SCOPE_PERSONAL4="personal";var SCOPE_PROJECT4="project";var FOLDER_FLAG={name:"--folder",summary:"\u30D5\u30A9\u30EB\u30C0\uFF08ID \u304B\u300C\u89AA/\u5B50\u300D\u5F62\u5F0F\u306E\u30D1\u30B9\u3002\u7701\u7565\u6642\u306F\u30B9\u30B3\u30FC\u30D7\u306E\u6700\u4E0A\u4F4D\uFF09",takesValue:true,placeholder:"<ID|\u30D1\u30B9>"};var MEDIA_PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5BFE\u8C61\u306B\u3059\u308B\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF09\u3002\u7701\u7565\u6642\u306F\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB",
|
|
168
210
|
takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var OUT_FLAG2={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\u3002\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var FORCE_FLAG2={name:"--force",summary:"\u66F8\u304D\u51FA\u3057\u5148\u304C\u65E2\u306B\u3042\u308C\u3070\u4E0A\u66F8\u304D\u3059\u308B\uFF08\u65E2\u5B9A\u3067\u306F\u4E0A\u66F8\u304D\u3057\u306A\u3044\uFF09",
|
|
169
211
|
takesValue:false};var UUID3=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function folderId(input){const resolved=input.resolved?.["folderId"];if(resolved!==void 0)return resolved;const value=nonEmpty(input.flags,"--folder");if(value!==void 0&&!UUID3.test(value)){throw new Error(`\u5185\u90E8\u30A8\u30E9\u30FC: --folder ${value} \u304C ID \u3078\u89E3\u6C7A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08prepare() \u306E\u914D\u7DDA\u6F0F\u308C\uFF09`)}return value}async function resolveFolderFlag(input,ctx,scope){
|
|
170
|
-
const value=nonEmpty(input.flags,"--folder");if(value===void 0)return{};const scopeName=scope["scope"]??
|
|
171
|
-
return`/api/v2/media/files/${encodeURIComponent(id)}`}function
|
|
212
|
+
const value=nonEmpty(input.flags,"--folder");if(value===void 0)return{};const scopeName=scope["scope"]??SCOPE_PERSONAL4;const scopeId=scope["scope"]===SCOPE_PROJECT4?scope["scopeId"]:void 0;return{folderId:isFolderId(value)?value:await resolveFolderRef(ctx,value,{scope:scopeName,scopeId})}}async function resolveScope2(input,ctx){const ref=nonEmpty(input.flags,"--project");if(ref===void 0)return{scope:SCOPE_PERSONAL4};return{scope:SCOPE_PROJECT4,scopeId:await ctx.projectId(ref)}}function filePath3(id){
|
|
213
|
+
return`/api/v2/media/files/${encodeURIComponent(id)}`}function dataOf5(body,label){const data=isRecord(body)?body["data"]:void 0;if(!isRecord(data)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}var IMAGE_PROMPT_MAX=2e3;var DOCUMENT_PROMPT_MAX=4e3;var SUMMARIZE_CONTENT_MAX=5e4;var CREDIT_CONFIRMATION="AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u64CD\u4F5C";var FILE_COLUMNS2=["id","file_name","content_type","file_size","folder_id","scope"];var PROMPT_FLAG={name:"--prompt",summary:"\u751F\u6210\u306E\u6307\u793A\uFF08--prompt-file \u3068\u6392\u4ED6\uFF09",takesValue:true,placeholder:"<\u6587>"};var PROMPT_FILE_FLAG={name:"--prompt-file",summary:"\u751F\u6210\u306E\u6307\u793A\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\
|
|
172
214
|
\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var MODEL_FLAG={name:"--model",summary:"\u30E2\u30C7\u30EBID\uFF08\u7701\u7565\u6642\u306F\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\u3002\u4E00\u89A7\u306F twp media model list\uFF09",takesValue:true,placeholder:"<\u30E2\u30C7\u30EBID>"};var GEN_OUT_FLAG={name:"--out",summary:"\u751F\u6210\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u305D\u306E\u307E\u307E\u3053\u3053\u3078\u66F8\u304D\u51FA\u3059\uFF08\u7701\u7565\u6642\u306F\u30D5\u30A1\u30A4\u30EBID\u3092\u51FA\u3057\u3066\u7D42\u3048\u308B\uFF09",
|
|
173
215
|
takesValue:true,placeholder:"<\u30D1\u30B9>"};function rateLimitGuidance(retryAfterSeconds){const wait=retryAfterSeconds===null?"\u3057\u3070\u3089\u304F\uFF081\u5206\u307B\u3069\uFF09":`${retryAfterSeconds} \u79D2`;return`AI \u751F\u6210\u306E\u56DE\u6570\u5236\u9650\u306B\u9054\u3057\u307E\u3057\u305F\uFF08\u30E6\u30FC\u30B6\u30FC\u3054\u3068\u306B1\u5206\u3042\u305F\u308A\u306E\u56DE\u6570\u304C\u6C7A\u307E\u3063\u3066\u3044\u307E\u3059\uFF09\u3002${wait}\u5F85\u3063\u3066\u304B\u3089\u5B9F\u884C\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
174
216
|
\u751F\u6210\u306F1\u56DE\u3054\u3068\u306B\u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u305F\u3081\u3001twp \u306F\u81EA\u52D5\u3067\u306F\u6253\u3061\u76F4\u3057\u307E\u305B\u3093\u3002`}function maybeGeneratedGuidance(){return"\u751F\u6210\u306E\u7D50\u679C\u3092\u53D7\u3051\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B5\u30FC\u30D0\u5074\u3067\u306F\u751F\u6210\u30FB\u4FDD\u5B58\u3068\u30AF\u30EC\u30B8\u30C3\u30C8\u306E\u6D88\u8CBB\u304C\u6E08\u3093\u3067\u3044\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\n\u6253\u3061\u76F4\u3059\u524D\u306B twp media list \u3067\u751F\u6210\u7269\u304C\u7121\u3044\u3053\u3068\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF08twp \u306F\u81EA\u52D5\u3067\u306F\u6253\u3061\u76F4\u3057\u307E\u305B\u3093\uFF09\u3002"}
|
|
@@ -182,10 +224,10 @@ AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u305F\u3081 --ye
|
|
|
182
224
|
\u56DE\u6570\u5236\u9650\uFF08429\uFF09\u306B\u5F53\u305F\u3063\u3066\u3082\u81EA\u52D5\u3067\u306F\u6253\u3061\u76F4\u3057\u307E\u305B\u3093\uFF08\u4E8C\u91CD\u8AB2\u91D1\u3092\u907F\u3051\u308B\u305F\u3081\uFF09\u3002\u5F85\u3064\u79D2\u6570\u3092\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 4 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002`,destructive:true,confirmation:CREDIT_CONFIRMATION,flags:[PROMPT_FLAG,PROMPT_FILE_FLAG,...spec.flags,MEDIA_PROJECT_FLAG,FOLDER_FLAG,GEN_OUT_FLAG,FORCE_FLAG2],
|
|
183
225
|
async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`${spec.name} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,spec.usage)}spec.validate?.(input);const target2=checkOutTarget(input,"--out","--force");if(target2===void 0&&input.flags.has("--force")){throw new UsageError("--force \u306F --out \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",spec.usage)}const prompt=await readBody(input,promptSpec);
|
|
184
226
|
if(prompt===void 0){throw new UsageError("--prompt \u304B --prompt-file \u306E\u3069\u3061\u3089\u304B\u304C\u5FC5\u8981\u3067\u3059",spec.usage)}const scope=await resolveScope2(input,ctx);return withResolved(input,{...scope,...await resolveFolderFlag(input,ctx,scope),prompt,...target2===void 0?{}:{out:target2.out,force:target2.force?"1":""}})},plan,plannedNotes:input=>outTarget(input)===void 0?[]:[`\u751F\u6210\u306E\u3042\u3068\u3001\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9URL\u3092\u53D6\u5F97\u3057\uFF08GET \u2026/{id}/download-url\uFF09\u3001${outTarget(
|
|
185
|
-
input)?.out} \u3078\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002`],execute:(input,ctx)=>runGeneration(input,ctx,plan(input),spec.label(input)),summarize:body=>{const result=body;return{...pick(result.file,FILE_COLUMNS2),out:result.download?.path??null}},raw:body=>body}}async function runGeneration(input,ctx,plan,label){
|
|
186
|
-
status===402)ctx.warn("AI \u30AF\u30EC\u30B8\u30C3\u30C8\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\uFF08\u751F\u6210\u306F\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093\uFF09\u3002");else if(err instanceof
|
|
187
|
-
id
|
|
188
|
-
url,target2)
|
|
227
|
+
input)?.out} \u3078\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002`],execute:(input,ctx)=>runGeneration(input,ctx,plan(input),spec.label(input)),summarize:body=>{const result=body;return{...pick(result.file,FILE_COLUMNS2),out:result.download?.path??null}},raw:body=>body}}async function runGeneration(input,ctx,plan,label){const body=await sendGeneration(ctx,plan);const file=generatedFile(body,label);const message=isRecord(body)?body["message"]??null:null;const target2=outTarget(input);if(target2===void 0)
|
|
228
|
+
return{message,file,download:null};return{message,file,download:await downloadGenerated(ctx,file["id"],target2)}}async function sendGeneration(ctx,plan){try{return await ctx.send(plan)}catch(err){if(err instanceof ApiError&&err.status===429)ctx.warn(rateLimitGuidance(err.retryAfterSeconds));else if(err instanceof ApiError&&err.status===402)ctx.warn("AI \u30AF\u30EC\u30B8\u30C3\u30C8\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\uFF08\u751F\u6210\u306F\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093\uFF09\u3002");else if(err instanceof
|
|
229
|
+
ApiError&&err.status>=500||err instanceof NetworkError)ctx.warn(maybeGeneratedGuidance());throw err}}async function downloadGenerated(ctx,id,target2){try{const url=dataOf5(await ctx.send({method:"GET",path:`${filePath3(id)}/download-url`}),"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9URL\u53D6\u5F97")["download_url"];if(typeof url!=="string"||!/^https:\/\//.test(url)){throw new ApiResponseError("\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9URL\u53D6\u5F97\u306E\u5FDC\u7B54\u306B data.download_url \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
230
|
+
return await ctx.downloadSigned(url,target2)}catch(err){ctx.warn(savedButNotDownloaded(id));throw err}}var QUALITY_FLAG={name:"--quality",summary:"\u54C1\u8CEA\uFF08\u30E2\u30C7\u30EB\u304C\u5BFE\u5FDC\u3059\u308B\u3082\u306E\u3060\u3051\u3002\u5024\u306F twp media model list --for image \u306E quality_options\uFF09",takesValue:true,placeholder:"<\u54C1\u8CEA>"};var SIZE_FLAG={name:"--size",summary:"\u30B5\u30A4\u30BA\uFF08\u30E2\u30C7\u30EB\u304C\u5BFE\u5FDC\u3059\u308B\u3082\u306E\u3060\u3051\u3002\u5024\u306F twp media model list --for image \u306E size_options\uFF09",
|
|
189
231
|
takesValue:true,placeholder:"<\u5E45x\u9AD8\u3055>"};var FROM_FLAG2={name:"--from",summary:"\u30EA\u30DF\u30C3\u30AF\u30B9\u5143\u306E\u753B\u50CF\u306E\u30D5\u30A1\u30A4\u30EBID\uFF08\u4ED8\u3051\u308B\u3068\u65E2\u5B58\u753B\u50CF\u304B\u3089\u4F5C\u308B\uFF1D\u30EA\u30DF\u30C3\u30AF\u30B9\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EBID>"};var FORMAT_FLAG={name:"--format",summary:"\u51FA\u529B\u5F62\u5F0F\uFF08\u5FC5\u9808\u3002\u4E00\u89A7\u306F twp media document-format list\uFF09",
|
|
190
232
|
takesValue:true,placeholder:"<\u5F62\u5F0F>"};var IMAGE_CREATE_USAGE="twp media image create (--prompt <\u6587> | --prompt-file <\u30D1\u30B9|->) [--from <\u30D5\u30A1\u30A4\u30EBID>] [--model <ID>] [--quality <\u54C1\u8CEA>] [--size <\u5E45x\u9AD8\u3055>] [--project <\u30B3\u30FC\u30C9|ID>] [--folder <ID|\u30D1\u30B9>] [--out <\u30D1\u30B9> [--force]] --yes";var DOCUMENT_CREATE_USAGE="twp media document create (--prompt <\u6587> | --prompt-file <\u30D1\u30B9|->) --format <\u5F62\u5F0F> [--model <ID>] [--project <\u30B3\u30FC\u30C9|ID\
|
|
191
233
|
>] [--folder <ID|\u30D1\u30B9>] [--out <\u30D1\u30B9> [--force]] --yes";function optional(input,names){const body={};for(const[flag,key]of Object.entries(names)){const value=nonEmpty(input.flags,flag);if(value!==void 0)body[key]=value}return body}function sourceFileId(input){const value=nonEmpty(input.flags,"--from");if(value!==void 0&&!UUID3.test(value)){throw new UsageError(`--from \u306B\u306F\u30EA\u30DF\u30C3\u30AF\u30B9\u5143\u306E\u30D5\u30A1\u30A4\u30EBID\uFF08UUID\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${value}`,
|
|
@@ -193,35 +235,88 @@ IMAGE_CREATE_USAGE)}return value}var imageCreate=generationOperation({name:"crea
|
|
|
193
235
|
label:input=>sourceFileId(input)===void 0?"\u753B\u50CF\u751F\u6210":"\u753B\u50CF\u30EA\u30DF\u30C3\u30AF\u30B9",promptMaxChars:IMAGE_PROMPT_MAX,flags:[FROM_FLAG2,MODEL_FLAG,QUALITY_FLAG,SIZE_FLAG],endpoint:input=>sourceFileId(input)===void 0?"/api/v2/media/files/generate/image":"/api/v2/media/files/remix/image",body:input=>{const from=sourceFileId(input);return{...from===void 0?{}:{source_file_id:from},...optional(input,{"--model":"model","--quality":"quality","--size":"size"})}},validate:input=>{
|
|
194
236
|
sourceFileId(input)}});var documentCreate=generationOperation({name:"create",summary:"AI \u3067\u6587\u66F8\u3092\u751F\u6210\u3057\u3066\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\u3059\u308B\uFF08--out \u3067\u305D\u306E\u307E\u307E\u53D6\u5F97\uFF09",usage:DOCUMENT_CREATE_USAGE,description:"\u5F62\u5F0F\u306F --format \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u4F7F\u3048\u308B\u5F62\u5F0F\u306F twp media document-format list \u306E available \u304C true \u306E\u3082\u306E\uFF09\u3002",
|
|
195
237
|
label:()=>"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210",promptMaxChars:DOCUMENT_PROMPT_MAX,flags:[FORMAT_FLAG,MODEL_FLAG],endpoint:()=>"/api/v2/media/files/generate/document",body:input=>({format:nonEmpty(input.flags,"--format"),...optional(input,{"--model":"model"})}),validate:input=>{if(nonEmpty(input.flags,"--format")===void 0){throw new UsageError("--format \u306F\u5FC5\u9808\u3067\u3059",DOCUMENT_CREATE_USAGE)}}});function dataRows(body,label){const data=isRecord(body)?body["data"]:void 0;
|
|
196
|
-
if(!Array.isArray(data))throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}var MODEL_KINDS=["image","document"];var MODEL_LIST_USAGE="twp media model list --for image|document";var MODEL_COLUMNS=["id","name","provider","is_default","estimated_milli_credits","
|
|
197
|
-
input.flags,"--for");if(value===void 0)throw new UsageError("--for \u306F\u5FC5\u9808\u3067\u3059\uFF08image
|
|
198
|
-
operations:[{name:"list",summary:"\u753B\u50CF\u30FB\u6587\u66F8\u306E\u751F\u6210\u306B\u4F7F\u3048\u308B\u30E2\u30C7\u30EB\u3092\u4E00\u89A7\u3059\u308B",usage:MODEL_LIST_USAGE,description:"estimated_milli_credits \u306F1\u56DE\u3042\u305F\u308A\u306E\u76EE\u5B89\u3067\u3059\uFF081000 \u3067 1 \u30AF\u30EC\u30B8\u30C3\u30C8\uFF09\u3002\n\u753B\
|
|
199
|
-
flags:[{name:"--for",summary:"image
|
|
200
|
-
{name:"list",summary:"\u6587\u66F8\u751F\u6210\u3067\u6307\u5B9A\u3067\u304D\u308B\u5F62\u5F0F\u3092\u4E00\u89A7\u3059\u308B\uFF08available \u304C false \u306E\u3082\u306E\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09",
|
|
201
|
-
var PROMPT_CREATE_USAGE="twp media prompt create (--content <\u6587> | --content-file <\u30D1\u30B9|->) --for image|video|music";var PROMPT_TARGETS=["image","video","music"];function promptTarget(input){
|
|
202
|
-
PROMPT_CREATE_USAGE)}return value}var promptResource={name:"prompt",summary:"\u9577\u3044\u6587\u7AE0\uFF08\u8B70\u4E8B\u9332\u30FB\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u7B49\uFF09\u3092\u751F\u6210\u7528\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u3078\u8981\u7D04\u3059\u308B",
|
|
203
|
-
description:"\u8981\u7D04\u3057\u305F\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8FD4\u3059\u3060\u3051\u3067\u3001\u751F\u6210\u3082\u30D5\u30A1\u30A4\u30EB\u306E\u4FDD\u5B58\u3082\u3057\u307E\u305B\u3093\uFF08\u8981\u7D04\u306B\u306F AI \u3092\u4F7F\u3044\u307E\u3059\uFF09\u3002\n\u7D50\u679C\u306F twp media image create --prompt-file - \u3078\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08--output text --query prompt\uFF09\u3002",
|
|
204
|
-
takesValue:true,placeholder:"<\u6587>"},{name:"--content-file",summary:"\u8981\u7D04\u3059\u308B\u6587\u7AE0\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"},{name:"--for",summary:"\u4F55\u306E\u751F\u6210\u306B\u4F7F\u3046\u304B\uFF08image / video / music\u30FB\u5FC5\u9808\uFF09",takesValue:true,
|
|
205
|
-
{flag:"--content",fileFlag:"--content-file",label:"\u8981\u7D04\u3059\u308B\u6587\u7AE0",maxChars:SUMMARIZE_CONTENT_MAX,usage:PROMPT_CREATE_USAGE});if(content===void 0)throw new UsageError("--content \u304B --content-file \u306E\u3069\u3061\u3089\u304B\u304C\u5FC5\u8981\u3067\u3059",PROMPT_CREATE_USAGE);return withResolved(input,{content})},plan:input=>({method:"POST",path:"/api/v2/media/
|
|
206
|
-
summarize:body=>
|
|
207
|
-
operations:[documentCreate]},modelResource,documentFormatResource,promptResource];var
|
|
238
|
+
if(!Array.isArray(data))throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}var MODEL_KINDS=["image","document","video","music"];var MODEL_LIST_USAGE="twp media model list --for image|document|video|music";var MODEL_COLUMNS=["id","name","provider","is_default","estimated_milli_credits","milli_credits_per_second","duration_options","resol\
|
|
239
|
+
ution_options","size_options","quality_options"];function modelKind(input){const value=nonEmpty(input.flags,"--for");if(value===void 0)throw new UsageError("--for \u306F\u5FC5\u9808\u3067\u3059\uFF08image / document / video / music\uFF09",MODEL_LIST_USAGE);if(!MODEL_KINDS.includes(value)){throw new UsageError(`--for \u306B\u306F image / document / video / music \u306E\u3069\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${value}`,MODEL_LIST_USAGE)}return value}var modelResource={
|
|
240
|
+
name:"model",summary:"AI \u751F\u6210\u306B\u4F7F\u3048\u308B\u30E2\u30C7\u30EB\uFF08\u76EE\u5B89\u306E\u6D88\u8CBB\u30AF\u30EC\u30B8\u30C3\u30C8\u4ED8\u304D\uFF09",operations:[{name:"list",summary:"\u753B\u50CF\u30FB\u6587\u66F8\u30FB\u52D5\u753B\u30FB\u97F3\u697D\u306E\u751F\u6210\u306B\u4F7F\u3048\u308B\u30E2\u30C7\u30EB\u3092\u4E00\u89A7\u3059\u308B",usage:MODEL_LIST_USAGE,description:"\u753B\u50CF\u30FB\u6587\u66F8\u306E estimated_milli_credits \u306F1\u56DE\u3042\u305F\u308A\u306E\u76EE\u5B89\u3001\u52D5\u753B\u30FB\u97F3\u697D\u306E milli_credits_per_second \u306F1\u79D2\u3042\u305F\u308A\u3067\u3059\uFF081000 \u3067 1 \u30AF\u30EC\u30B8\u30C3\u30C8\uFF09\u3002\n\u52D5\u753B\u30FB\u97F3\u697D\u306F\u6761\u4EF6\
|
|
241
|
+
\u3054\u3068\u306E\u898B\u7A4D\u3092 twp media video preview / twp media music preview \u3067\u51FA\u305B\u307E\u3059\u3002\n\u753B\u50CF\u30E2\u30C7\u30EB\u306E size_options / quality_options \u304C\u7A7A\u306A\u3089\u3001\u305D\u306E\u30E2\u30C7\u30EB\u306F --size / --quality \u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002",flags:[{name:"--for",summary:"image / document / video / music\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u7A2E\u985E>"}],plan:input=>({method:"GET",path:`\
|
|
242
|
+
/api/v2/media/files/generate/${modelKind(input)}/models`}),summarize:body=>dataRows(body,"\u30E2\u30C7\u30EB\u4E00\u89A7").map(row=>pick(row,MODEL_COLUMNS)),raw:body=>dataRows(body,"\u30E2\u30C7\u30EB\u4E00\u89A7")}]};var documentFormatResource={name:"document-format",summary:"\u6587\u66F8\u751F\u6210\u306E\u51FA\u529B\u5F62\u5F0F",operations:[{name:"list",summary:"\u6587\u66F8\u751F\u6210\u3067\u6307\u5B9A\u3067\u304D\u308B\u5F62\u5F0F\u3092\u4E00\u89A7\u3059\u308B\uFF08available \u304C false \u306E\u3082\u306E\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09",
|
|
243
|
+
usage:"twp media document-format list",flags:[],plan:()=>({method:"GET",path:"/api/v2/media/files/generate/document/formats"}),summarize:body=>dataRows(body,"\u5F62\u5F0F\u4E00\u89A7").map(row=>pick(row,["id","name","extension","available"])),raw:body=>dataRows(body,"\u5F62\u5F0F\u4E00\u89A7")}]};var PROMPT_CREATE_USAGE="twp media prompt create (--content <\u6587> | --content-file <\u30D1\u30B9|->) --for image|video|music";var PROMPT_TARGETS=["image","video","music"];function promptTarget(input){
|
|
244
|
+
const value=nonEmpty(input.flags,"--for");if(value===void 0)throw new UsageError("--for \u306F\u5FC5\u9808\u3067\u3059\uFF08image / video / music\uFF09",PROMPT_CREATE_USAGE);if(!PROMPT_TARGETS.includes(value)){throw new UsageError(`--for \u306B\u306F image / video / music \u306E\u3069\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${value}`,PROMPT_CREATE_USAGE)}return value}var promptResource={name:"prompt",summary:"\u9577\u3044\u6587\u7AE0\uFF08\u8B70\u4E8B\u9332\u30FB\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u7B49\uFF09\u3092\u751F\u6210\u7528\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u3078\u8981\u7D04\u3059\u308B",
|
|
245
|
+
operations:[{name:"create",summary:"\u6587\u7AE0\u3092\u751F\u6210\u7528\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u3078\u8981\u7D04\u3059\u308B\uFF08\u30D5\u30A1\u30A4\u30EB\u306F\u4F5C\u308A\u307E\u305B\u3093\uFF09",usage:PROMPT_CREATE_USAGE,description:"\u8981\u7D04\u3057\u305F\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8FD4\u3059\u3060\u3051\u3067\u3001\u751F\u6210\u3082\u30D5\u30A1\u30A4\u30EB\u306E\u4FDD\u5B58\u3082\u3057\u307E\u305B\u3093\uFF08\u8981\u7D04\u306B\u306F AI \u3092\u4F7F\u3044\u307E\u3059\uFF09\u3002\n\u7D50\u679C\u306F twp media image create --prompt-file - \u3078\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08--output text --query prompt\uFF09\u3002",
|
|
246
|
+
flags:[{name:"--content",summary:"\u8981\u7D04\u3059\u308B\u6587\u7AE0\uFF08--content-file \u3068\u6392\u4ED6\uFF09",takesValue:true,placeholder:"<\u6587>"},{name:"--content-file",summary:"\u8981\u7D04\u3059\u308B\u6587\u7AE0\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"},{name:"--for",summary:"\u4F55\u306E\u751F\u6210\u306B\u4F7F\u3046\u304B\uFF08image / video / music\u30FB\u5FC5\u9808\uFF09",takesValue:true,
|
|
247
|
+
placeholder:"<\u7A2E\u985E>"}],async prepare(input){promptTarget(input);const content=await readBody(input,{flag:"--content",fileFlag:"--content-file",label:"\u8981\u7D04\u3059\u308B\u6587\u7AE0",maxChars:SUMMARIZE_CONTENT_MAX,usage:PROMPT_CREATE_USAGE});if(content===void 0)throw new UsageError("--content \u304B --content-file \u306E\u3069\u3061\u3089\u304B\u304C\u5FC5\u8981\u3067\u3059",PROMPT_CREATE_USAGE);return withResolved(input,{content})},plan:input=>({method:"POST",path:"/api/v2/media/fi\
|
|
248
|
+
les/summarize-for-generation",body:{content:requireResolved(input,"content"),target_type:promptTarget(input)}}),summarize:body=>dataOf5(body,"\u30D7\u30ED\u30F3\u30D7\u30C8\u8981\u7D04"),raw:body=>dataOf5(body,"\u30D7\u30ED\u30F3\u30D7\u30C8\u8981\u7D04")}]};var mediaGenerationResources=[{name:"image",summary:"AI \u306B\u3088\u308B\u753B\u50CF\u306E\u751F\u6210\u30FB\u30EA\u30DF\u30C3\u30AF\u30B9\uFF08\u751F\u6210\u7269\u306F\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\uFF09",operations:[imageCreate]},
|
|
249
|
+
{name:"document",summary:"AI \u306B\u3088\u308B\u6587\u66F8\u306E\u751F\u6210\uFF08\u751F\u6210\u7269\u306F\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\uFF09",operations:[documentCreate]},modelResource,documentFormatResource,promptResource];var waitClock={sleep:ms=>new Promise(resolve=>setTimeout(resolve,ms)),now:()=>Date.now()};var BASE="/api/v2/media/files";var WAIT_FLAGS=[{name:"--wait",summary:"\u7D42\u308F\u308B\uFF08completed / failed / cancelled\uFF09\u307E\u3067\u72B6\u614B\u3092\u53D6\u308A\u76F4\u3059",takesValue:false},{name:"--wait-timeout",summary:"--wait \u3067\u5F85\u3064\u4E0A\u9650\u306E\u79D2\u6570\uFF08\u65E2\u5B9A 300\u30FB\u6700\u5927 480\uFF09",takesValue:true,placeholder:"<\u79D2>"},{name:"--wait-interval",summary:"\
|
|
250
|
+
--wait \u3067\u72B6\u614B\u3092\u53D6\u308A\u76F4\u3059\u9593\u9694\u306E\u79D2\u6570\uFF08\u65E2\u5B9A 5\uFF09",takesValue:true,placeholder:"<\u79D2>"}];var DURATION_FLAG={name:"--duration",summary:"\u9577\u3055\uFF08\u79D2\u3002\u9078\u3079\u308B\u5024\u306F twp media model list --for video|music \u306E duration_options\uFF09",takesValue:true,placeholder:"<\u79D2>"};function optional2(input,names){const out={};for(const[flag,key]of Object.entries(names)){const value=nonEmpty(input.flags,flag);
|
|
251
|
+
if(value!==void 0)out[key]=value}return out}function durationOf(input,usage){const raw=nonEmpty(input.flags,"--duration");if(raw===void 0)return void 0;if(!/^\d+$/.test(raw))throw new UsageError(`--duration \u306B\u306F\u79D2\u6570\uFF08\u6574\u6570\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usage);return Number(raw)}function uuidFlag(input,flag,what,usage){const value=nonEmpty(input.flags,flag);if(value!==void 0&&!UUID3.test(value))throw new UsageError(`${flag} \u306B\u306F${what}\
|
|
252
|
+
\u306E\u30D5\u30A1\u30A4\u30EBID\uFF08UUID\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${value}`,usage);return value}var VIDEO_CREATE_USAGE="twp media video create (--prompt <\u6587> | --prompt-file <\u30D1\u30B9|->) [--from <\u753B\u50CFID> | --from-video <\u52D5\u753BID>] [--model <ID>] [--duration <\u79D2>] [--resolution <\u89E3\u50CF\u5EA6>] [--aspect-ratio <\u6BD4>] [--project <\u30B3\u30FC\u30C9|ID>] [--folder <ID|\u30D1\u30B9>] [--wait [--wait-timeout <\u79D2>]] [--out <\u30D1\u30B9> [--force]] --yes";
|
|
253
|
+
var MUSIC_CREATE_USAGE="twp media music create (--prompt <\u6587> | --prompt-file <\u30D1\u30B9|->) [--model <ID>] [--duration <\u79D2>] [--instrumental] [--project <\u30B3\u30FC\u30C9|ID>] [--folder <ID|\u30D1\u30B9>] [--wait [--wait-timeout <\u79D2>]] [--out <\u30D1\u30B9> [--force]] --yes";var VIDEO_TO_VIDEO_PROMPT_MAX=2e3;function videoSource(input){const image=uuidFlag(input,"--from","\u30EA\u30DF\u30C3\u30AF\u30B9\u5143\u306E\u753B\u50CF",VIDEO_CREATE_USAGE);const video=uuidFlag(input,"--f\
|
|
254
|
+
rom-video","\u30EA\u30DF\u30C3\u30AF\u30B9\u5143\u306E\u52D5\u753B",VIDEO_CREATE_USAGE);if(image!==void 0&&video!==void 0)throw new UsageError("--from \u3068 --from-video \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",VIDEO_CREATE_USAGE);if(image!==void 0)return{kind:"image",id:image};if(video!==void 0)return{kind:"video",id:video};return{kind:"text"}}var VIDEO={name:"video",noun:"\u52D5\u753B",taskType:"video_generation",promptMaxChars:4e3,createUsage:VIDEO_CREATE_USAGE,createDescription:"\
|
|
255
|
+
--from <\u753B\u50CFID> \u3067\u753B\u50CF\u304B\u3089\u52D5\u753B\u3092\u3001--from-video <\u52D5\u753BID> \u3067\u52D5\u753B\u304B\u3089\u52D5\u753B\u3092\u4F5C\u308A\u307E\u3059\uFF08\u5143\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002\n--from-video \u306E\u751F\u6210\u7269\u306F\u5143\u306E\u52D5\u753B\u3068\u540C\u3058\u5834\u6240\uFF08\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\u304B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF09\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u4FDD\u5B58\u5148\u3092\u53D7\u3051\u53D6\u3089\u306A\u3044\u305F\u3081 --project \u3068\u306F\u4F75\u7528\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\n --folder \u3092\u7701\u304F\u3068\u5143\u306E\u52D5\u753B\u3068\u540C\u3058\u30D5\u30A9\u30EB\u30C0\u306B\u5165\u308A\u307E\u3059\u3002--folder \u306F\u30D5\u30A9\u30EB\u30C0ID \u3060\u3051\u3092\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08\u30D1\u30B9\u306F\u5143\u306E\u52D5\u753B\u306E\u5834\u6240\u3067\u89E3\u6C7A\u3067\u304D\u306A\u3044\u305F\u3081\uFF09\u3002\n --model \u3092\u7701\u304F\u3068\u5143\u306E\u52D5\u753B\u3068\u540C\u3058\u30E2\u30C7\u30EB\u3067\u751F\u6210\u3055\u308C\u307E\u3059\uFF08\u898B\u7A4D\u306F\u65E2\u5B9A\u30E2\u30C7\u30EB\u3067\u8A08\u7B97\u3055\u308C\u308B\u305F\u3081\u3001--model \u306E\u6307\u5B9A\u3092\u52E7\u3081\u307E\u3059\uFF09\u3002\n--duration / --resolution / --aspect-ratio \u306F\u30E2\u30C7\u30EB\u304C\u5BFE\u5FDC\u3059\u308B\u5024\u3060\u3051\u3092\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08twp media model list --for video\uFF09\u3002",
|
|
256
|
+
createFlags:[{name:"--from",summary:"\u753B\u50CF\u304B\u3089\u52D5\u753B\u3092\u4F5C\u308B\uFF08\u30EA\u30DF\u30C3\u30AF\u30B9\u5143\u306E\u753B\u50CF\u306E\u30D5\u30A1\u30A4\u30EBID\uFF09",takesValue:true,placeholder:"<\u753B\u50CFID>"},{name:"--from-video",summary:"\u52D5\u753B\u304B\u3089\u52D5\u753B\u3092\u4F5C\u308B\uFF08\u30EA\u30DF\u30C3\u30AF\u30B9\u5143\u306E\u52D5\u753B\u306E\u30D5\u30A1\u30A4\u30EBID\uFF09",takesValue:true,placeholder:"<\u52D5\u753BID>"},MODEL_FLAG,DURATION_FLAG,{name:"\
|
|
257
|
+
--resolution",summary:"\u89E3\u50CF\u5EA6\uFF08720p / 1080p \u7B49\u3002\u30E2\u30C7\u30EB\u304C\u5BFE\u5FDC\u3059\u308B\u3082\u306E\uFF09",takesValue:true,placeholder:"<\u89E3\u50CF\u5EA6>"},{name:"--aspect-ratio",summary:"\u30A2\u30B9\u30DA\u30AF\u30C8\u6BD4\uFF0816:9 / 9:16 \u7B49\u3002\u30E2\u30C7\u30EB\u304C\u5BFE\u5FDC\u3059\u308B\u3082\u306E\uFF09",takesValue:true,placeholder:"<\u6BD4>"}],endpoint:input=>{const source=videoSource(input);if(source.kind==="image")return`${BASE}/remix/video`;
|
|
258
|
+
if(source.kind==="video")return`${BASE}/remix/video-to-video`;return`${BASE}/generate/video`},body:input=>{const source=videoSource(input);const duration=durationOf(input,VIDEO_CREATE_USAGE);return{...source.id===void 0?{}:{source_file_id:source.id},...optional2(input,{"--model":"model","--resolution":"resolution","--aspect-ratio":"aspect_ratio"}),...duration===void 0?{}:{duration}}},estimateQuery:input=>{const duration=durationOf(input,VIDEO_CREATE_USAGE);return{...optional2(input,{"--model":"m\
|
|
259
|
+
odel","--resolution":"resolution","--aspect-ratio":"aspect_ratio"}),...duration===void 0?{}:{duration:String(duration)},mode:videoSource(input).kind}},validate:input=>{videoSource(input);durationOf(input,VIDEO_CREATE_USAGE);if(videoSource(input).kind==="video"){if(nonEmpty(input.flags,"--project")!==void 0){throw new UsageError("--from-video \u306E\u751F\u6210\u7269\u306F\u5143\u306E\u52D5\u753B\u3068\u540C\u3058\u5834\u6240\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u4FDD\u5B58\u5148\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093\uFF09\u3002--project \u3068\u306F\u4F75\u7528\u3067\u304D\u307E\u305B\u3093",
|
|
260
|
+
VIDEO_CREATE_USAGE)}const folder=nonEmpty(input.flags,"--folder");if(folder!==void 0&&!UUID3.test(folder)){throw new UsageError("--from-video \u306E --folder \u306F\u30D5\u30A9\u30EB\u30C0ID\uFF08UUID\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u30D1\u30B9\u306F\u5143\u306E\u52D5\u753B\u306E\u5834\u6240\u3067\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\uFF09",VIDEO_CREATE_USAGE)}}},validatePrompt:(input,prompt)=>{if(videoSource(input).kind==="video"&&[...prompt].length>VIDEO_TO_VIDEO_PROMPT_MAX){
|
|
261
|
+
throw new UsageError(`--from-video \u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u306F ${VIDEO_TO_VIDEO_PROMPT_MAX} \u6587\u5B57\u4EE5\u5185\u3067\u3059\uFF08${[...prompt].length} \u6587\u5B57\uFF09`,VIDEO_CREATE_USAGE)}},personalOnly:input=>videoSource(input).kind==="video"};var MUSIC={name:"music",noun:"\u97F3\u697D",taskType:"audio_generation",promptMaxChars:2e3,createUsage:MUSIC_CREATE_USAGE,createDescription:"--instrumental \u3092\u4ED8\u3051\u308B\u3068\u30DC\u30FC\u30AB\u30EB\u7121\u3057\u3067\u4F5C\u308A\u307E\u3059\u3002--duration \u306F 10\u301C600 \u79D2\u3067\u3059\u3002",
|
|
262
|
+
createFlags:[MODEL_FLAG,DURATION_FLAG,{name:"--instrumental",summary:"\u30DC\u30FC\u30AB\u30EB\u7121\u3057\uFF08\u30A4\u30F3\u30B9\u30C8\uFF09\u3067\u4F5C\u308B",takesValue:false}],endpoint:()=>`${BASE}/generate/music`,body:input=>{const duration=durationOf(input,MUSIC_CREATE_USAGE);return{...optional2(input,{"--model":"model"}),...duration===void 0?{}:{duration},...input.flags.has("--instrumental")?{instrumental:true}:{}}},estimateQuery:input=>{const duration=durationOf(input,MUSIC_CREATE_USAGE);
|
|
263
|
+
return{...optional2(input,{"--model":"model"}),...duration===void 0?{}:{duration:String(duration)}}},validate:input=>{const duration=durationOf(input,MUSIC_CREATE_USAGE);if(duration!==void 0&&(duration<10||duration>600)){throw new UsageError(`--duration \u306F 10\u301C600 \u79D2\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u6307\u5B9A: ${duration}\uFF09`,MUSIC_CREATE_USAGE)}}};function statusPath(kind,taskId){return`${BASE}/generate/${kind.name}/${encodeURIComponent(taskId)}`}function credits(milli){
|
|
264
|
+
return typeof milli==="number"?`${milli/1e3} \u30AF\u30EC\u30B8\u30C3\u30C8\uFF08${milli} \u30DF\u30EA\u30AF\u30EC\u30B8\u30C3\u30C8\uFF09`:"\u4E0D\u660E"}function estimatePlan(kind,input){return{method:"GET",path:`${BASE}/generate/${kind.name}/estimate`,query:kind.estimateQuery(input)}}function resumeCommand(kind,taskId,out){return`twp media ${kind.name} get ${taskId} --wait${out===void 0?" --out <\u30D1\u30B9>":` --out ${shellQuote2(out)}`}`}function shellQuote2(value){return/^[\w@%+=:,./\\-]+$/.
|
|
265
|
+
test(value)?value:`"${value.replace(/(["$`])/g,"\\$1")}"`}function taskData(body,label){const data=dataOf5(body,label);if(!isSafePathSegment(data["task_id"]))throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data.task_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}function finishedFileId(task,fallback){const output=task["output"];const id=isRecord(output)?output["media_file_id"]:void 0;const chosen=isSafePathSegment(
|
|
266
|
+
id)?id:fallback;if(!isSafePathSegment(chosen)){throw new ApiResponseError("\u5B8C\u4E86\u3057\u305F\u751F\u6210\u306E\u5FDC\u7B54\u306B output.media_file_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u751F\u6210\u7269\u306F twp media list \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002")}return chosen}async function settle(kind,ctx,first,options,startedAt,target2,startedFileId){let body=first;const taskId=String(dataOf5(first,`${kind.noun}\u751F\u6210\u306E\u72B6\u614B`)["task_id"]);
|
|
267
|
+
const resume=resumeCommand(kind,taskId,target2?.out);const fileNote=isSafePathSegment(startedFileId)?`\u30FBmedia_file_id=${String(startedFileId)}`:"";if(options!==null){let result;try{result=await waitUntilTerminal(first,options,{fetchAgain:()=>ctx.send({method:"GET",path:statusPath(kind,taskId)}),sleep:ms=>waitClock.sleep(ms),now:()=>waitClock.now(),startedAt})}catch(err){ctx.warn(`${kind.noun}\u751F\u6210\uFF08task_id=${taskId}${fileNote}\uFF09\u306F\u53D7\u3051\u4ED8\u3051\u6E08\u307F\u3067\u3059\u3002\u958B\u59CB\u304B\u3089\u6253\u3061\u76F4\u3055\u305A\u3001\u6B21\u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044: ${resume}`);
|
|
268
|
+
throw err instanceof UsageError?new ApiResponseError(`${kind.noun}\u751F\u6210\u306E\u72B6\u614B\u306E\u5FDC\u7B54\u306B status \u304C\u3042\u308A\u307E\u305B\u3093`):err}body=result.body;ctx.warn(`\u5F85\u6A5F: ${result.polls} \u56DE\u53D6\u5F97\u30FB${result.elapsedSeconds} \u79D2\u30FBstatus=${result.state.status}`);if(result.pollError!==void 0){ctx.warn(`${kind.noun}\u751F\u6210\uFF08task_id=${taskId}${fileNote}\uFF09\u306F\u53D7\u3051\u4ED8\u3051\u6E08\u307F\u3067\u3059\u304C\u3001\u7D42\u4E86\u3092\u5F85\u3064\u9014\u4E2D\u3067\u72B6\u614B\u3092\u8AAD\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
|
269
|
+
\u958B\u59CB\u304B\u3089\u6253\u3061\u76F4\u3055\u305A\uFF08\u30AF\u30EC\u30B8\u30C3\u30C8\u304C\u4E8C\u91CD\u306B\u304B\u304B\u308A\u307E\u3059\uFF09\u3001\u6B21\u3067\u72B6\u614B\u78BA\u8A8D\u3068\u53D6\u5F97\u3092\u518D\u958B\u3057\u3066\u304F\u3060\u3055\u3044: ${resume}`);throw result.pollError}if(result.timedOut){throw new WaitTimeoutError(`${options.timeoutSeconds} \u79D2\u5F85\u3061\u307E\u3057\u305F\u304C${kind.noun}\u751F\u6210\u304C\u7D42\u308F\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF08task_id=${taskId}${fileNote}\
|
|
270
|
+
\u30FBstatus=${result.state.status}\uFF09\u3002\u751F\u6210\u306F\u7D9A\u3044\u3066\u3044\u307E\u3059\u3002
|
|
271
|
+
\u958B\u59CB\u304B\u3089\u6253\u3061\u76F4\u3055\u305A\uFF08\u30AF\u30EC\u30B8\u30C3\u30C8\u304C\u4E8C\u91CD\u306B\u304B\u304B\u308A\u307E\u3059\uFF09\u3001\u6B21\u3067\u72B6\u614B\u78BA\u8A8D\u3068\u53D6\u5F97\u3092\u518D\u958B\u3057\u3066\u304F\u3060\u3055\u3044: ${resume}`)}}const task=dataOf5(body,`${kind.noun}\u751F\u6210\u306E\u72B6\u614B`);const status=task["status"];if(options===null&&target2===void 0)return{task,download:null};if(status==="failed"||status==="cancelled"){const reason=typeof task["\
|
|
272
|
+
error_message"]==="string"&&task["error_message"]!==""?`: ${task["error_message"]}`:"";throw new ApiRejectedError(`${kind.noun}\u751F\u6210\uFF08task_id=${taskId}\uFF09\u306F ${status} \u3067\u7D42\u308F\u308A\u307E\u3057\u305F${reason}`)}if(target2===void 0)return{task,download:null};if(status!=="completed"){throw new WaitTimeoutError(`${kind.noun}\u751F\u6210\uFF08task_id=${taskId}${fileNote}\uFF09\u306F\u307E\u3060\u7D42\u308F\u3063\u3066\u3044\u307E\u305B\u3093\uFF08status=${String(status)}\uFF09\
|
|
273
|
+
\u3002--out \u3067\u53D6\u5F97\u3059\u308B\u306B\u306F\u5B8C\u4E86\u3092\u5F85\u3063\u3066\u304F\u3060\u3055\u3044: ${resume}`)}return{task,download:await downloadGenerated(ctx,finishedFileId(task,startedFileId),target2)}}var TASK_COLUMNS=["task_id","status","progress","model_id","error_message","estimated_credits","created_at","completed_at"];function summarizeResult(body){const result=body;const output=result.task["output"];const fileId=(isRecord(output)?output["media_file_id"]:void 0)??result.
|
|
274
|
+
task["media_file_id"]??null;return{...pick(result.task,["task_id","status"]),media_file_id:fileId,out:result.download?.path??null}}function createOperation(kind){const promptSpec={flag:"--prompt",fileFlag:"--prompt-file",label:"\u30D7\u30ED\u30F3\u30D7\u30C8",maxChars:kind.promptMaxChars,usage:kind.createUsage};const plan=input=>{const destination=destinationBody(input);const sent=kind.personalOnly?.(input)===true?destination["folder_id"]===void 0?{}:{folder_id:destination["folder_id"]}:destination;
|
|
275
|
+
return{method:"POST",path:kind.endpoint(input),body:{prompt:input.resolved?.["prompt"],...kind.body(input),...sent}}};return{name:"create",summary:`AI \u3067${kind.noun}\u3092\u751F\u6210\u3057\u3066\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\u3059\u308B\uFF08\u958B\u59CB\u524D\u306B\u898B\u7A4D\u3092\u8868\u793A\u30FB--wait \u3067\u5B8C\u4E86\u307E\u3067\u5F85\u3064\u30FB--out \u3067\u53D6\u5F97\uFF09`,usage:kind.createUsage,description:`${kind.createDescription}
|
|
276
|
+
\u9001\u308B\u524D\u306B\u898B\u7A4D\uFF08\u6D88\u8CBB\u30AF\u30EC\u30B8\u30C3\u30C8\uFF09\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002--dry-run \u306A\u3089\u898B\u7A4D\u3060\u3051\u3092\u51FA\u3057\u3066\u9001\u308A\u307E\u305B\u3093\u3002
|
|
277
|
+
\u751F\u6210\u306F\u975E\u540C\u671F\u3067\u3059\u3002--wait \u3092\u4ED8\u3051\u306A\u3051\u308C\u3070\u958B\u59CB\u3057\u3066 task_id \u3092\u8FD4\u3057\u307E\u3059\uFF08\u72B6\u614B\u306F twp media ${kind.name} get <task_id>\uFF09\u3002
|
|
278
|
+
--wait \u306F\u5B8C\u4E86\u307E\u3067\u5F85\u3061\u3001--out \u304C\u3042\u308C\u3070\u5B8C\u6210\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002\u7D42\u4E86\u30B3\u30FC\u30C9\u306F
|
|
279
|
+
0\uFF1D\u5B8C\u4E86\u30FB3\uFF1Dfailed / cancelled\uFF08error_message \u3092\u51FA\u3057\u307E\u3059\uFF09\u30FB6\uFF1D\u5F85\u6A5F\u306E\u4E0A\u9650\u306B\u9054\u3057\u305F\uFF08\u751F\u6210\u306F\u7D9A\u3044\u3066\u3044\u307E\u3059\uFF09\u3067\u3059\u3002
|
|
280
|
+
6 \u306E\u3068\u304D\u306F\u958B\u59CB\u3092\u6253\u3061\u76F4\u3055\u305A\u3001\u8868\u793A\u3055\u308C\u308B twp media ${kind.name} get <task_id> --wait --out <\u30D1\u30B9> \u3067\u518D\u958B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
281
|
+
AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u305F\u3081 --yes \u304C\u8981\u308A\u307E\u3059\u3002\u56DE\u6570\u5236\u9650\uFF08429\uFF09\u3067\u3082\u81EA\u52D5\u3067\u306F\u6253\u3061\u76F4\u3057\u307E\u305B\u3093\u3002`,destructive:true,confirmation:CREDIT_CONFIRMATION,flags:[PROMPT_FLAG,PROMPT_FILE_FLAG,...kind.createFlags,MEDIA_PROJECT_FLAG,FOLDER_FLAG,...WAIT_FLAGS,{...GEN_OUT_FLAG,summary:"\u5B8C\u6210\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u3053\u3053\u3078\u66F8\u304D\u51FA\u3059\uFF08--wait \u304C\u8981\u308B\u3002\u7701\u7565\u6642\u306F task_id \u3092\u51FA\u3057\u3066\u7D42\u3048\u308B\uFF09"},
|
|
282
|
+
FORCE_FLAG2],async prepare(input,ctx){if(input.args.length>0)throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,kind.createUsage);kind.validate(input);const wait=parseWaitOptions(input.flags);const target2=checkOutTarget(input,"--out","--force");if(target2===void 0&&input.flags.has("--force"))throw new UsageError("--force \u306F --out \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",kind.createUsage);
|
|
283
|
+
if(target2!==void 0&&wait===null){throw new UsageError("--out \u306F --wait \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u5B8C\u6210\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\uFF09",kind.createUsage)}const prompt=await readBody(input,promptSpec);if(prompt===void 0)throw new UsageError("--prompt \u304B --prompt-file \u306E\u3069\u3061\u3089\u304B\u304C\u5FC5\u8981\u3067\u3059",kind.createUsage);kind.validatePrompt?.(input,
|
|
284
|
+
prompt);const scope=await resolveScope2(input,ctx);return withResolved(input,{...scope,...await resolveFolderFlag(input,ctx,scope),prompt,...target2===void 0?{}:{out:target2.out,force:target2.force?"1":""}})},plan,async preview(input,ctx){const estimate=dataOf5(await ctx.send(estimatePlan(kind,input)),"\u898B\u7A4D")["estimated_milli_credits"];const warnings=kind.name==="video"&&videoSource(input).kind==="video"&&nonEmpty(input.flags,"--model")===void 0?["--from-video \u3067 --model \u3092\u7701\u304F\u3068\u5143\u306E\u52D5\u753B\u3068\u540C\u3058\u30E2\u30C7\u30EB\u3067\u751F\u6210\
|
|
285
|
+
\u3055\u308C\u307E\u3059\u304C\u3001\u3053\u306E\u898B\u7A4D\u306F\u65E2\u5B9A\u30E2\u30C7\u30EB\u3067\u8A08\u7B97\u3057\u3066\u3044\u307E\u3059\uFF08\u5B9F\u969B\u306E\u6D88\u8CBB\u3068\u9055\u3046\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF09\u3002--model \u3092\u6307\u5B9A\u3059\u308B\u3068\u4E00\u81F4\u3057\u307E\u3059"]:[];return{notes:[`\u898B\u7A4D: ${credits(estimate)}\uFF08\u30E2\u30C7\u30EB\u30FB\u9577\u3055\u3092\u7701\u304F\u3068\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\u3067\u898B\u7A4D\u3082\u308A\u307E\u3059\uFF09`],
|
|
286
|
+
warnings}},plannedNotes:input=>{const notes=[];if(input.flags.has("--wait"))notes.push(`\u958B\u59CB\u5F8C\u3001\u7D42\u308F\u308B\u307E\u3067 GET \u2026/generate/${kind.name}/{task_id} \u3092\u53D6\u308A\u76F4\u3057\u307E\u3059\u3002`);const out=outTarget(input);if(out!==void 0)notes.push(`\u5B8C\u4E86\u5F8C\u3001\u751F\u6210\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u3092 ${out.out} \u3078\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002`);return notes},async execute(input,ctx){const options=parseWaitOptions(
|
|
287
|
+
input.flags);const target2=outTarget(input);const startedAt=waitClock.now();let started;try{started=await sendGeneration(ctx,plan(input))}catch(err){if(err instanceof ApiError&&err.status>=500||err instanceof NetworkError){ctx.warn(`\u958B\u59CB\u6E08\u307F\u304B\u3069\u3046\u304B\u306F twp media ${kind.name} list --limit 20 \u3067\u78BA\u304B\u3081\u3001\u3042\u308C\u3070 ${resumeCommand(kind,"<task_id>",outTarget(input)?.out)} \u3067\u53D6\u5F97\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}throw err}
|
|
288
|
+
const data=taskData(started,`${kind.noun}\u751F\u6210\u306E\u958B\u59CB`);ctx.warn(`${kind.noun}\u751F\u6210\u3092\u958B\u59CB\u3057\u307E\u3057\u305F\uFF08task_id=${String(data["task_id"])}\u30FBmedia_file_id=${String(data["media_file_id"]??"\u4E0D\u660E")}\u30FB\u898B\u7A4D ${credits(data["estimated_milli_credits"])}\u30FB\u76EE\u5B89 ${String(data["estimated_wait_seconds"]??"?")} \u79D2\uFF09\u3002`);if(options===null){ctx.warn(`\u72B6\u614B\u306F twp media ${kind.name} get ${String(data["tas\
|
|
289
|
+
k_id"])}\uFF08--wait --out <\u30D1\u30B9> \u3067\u5B8C\u4E86\u3092\u5F85\u3063\u3066\u53D6\u5F97\uFF09\u3067\u898B\u3089\u308C\u307E\u3059\u3002`);return{task:data,download:null}}return settle(kind,ctx,started,options,startedAt,target2,data["media_file_id"])},summarize:summarizeResult,raw:body=>body}}function taskRef(input,usage){const[ref,...rest]=input.args;if(ref===void 0)throw new UsageError("<task_id> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(rest.length>0)throw new UsageError(
|
|
290
|
+
`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${rest.join(" ")}`,usage);if(!isSafePathSegment(ref))throw new UsageError(`task_id \u306E\u5F62\u5F0F\u304C\u4E0D\u6B63\u3067\u3059: ${ref}`,usage);return ref}function getOperation(kind){const usage=`twp media ${kind.name} get <task_id> [--wait [--wait-timeout <\u79D2>]] [--out <\u30D1\u30B9> [--force]]`;return{name:"get",summary:`${kind.noun}\u751F\u6210\u306E\u72B6\u614B\u3092\u898B\u308B\uFF08--wait \u3067\u5B8C\u4E86\u307E\u3067\u5F85\u3064\u30FB--out \u3067\u5B8C\u6210\u54C1\u3092\u53D6\u5F97\uFF09`,
|
|
291
|
+
usage,description:"\u958B\u59CB\u3092\u6253\u3061\u76F4\u3055\u305A\u306B\u3001\u7D9A\u304D\u3092\u5F85\u3063\u3066\u53D6\u5F97\u3059\u308B\u305F\u3081\u306E\u5165\u53E3\u3067\u3059\uFF08create --wait \u304C\u6642\u9593\u5207\u308C\u306B\u306A\u3063\u305F\u3068\u304D\uFF09\u3002\n\u7D42\u4E86\u30B3\u30FC\u30C9\u306F 0\uFF1D\u53D6\u5F97\u3067\u304D\u305F\uFF0F\u72B6\u614B\u3092\u51FA\u3057\u305F\u30FB3\uFF1Dfailed / cancelled\u30FB6\uFF1D\u672A\u5B8C\u4E86\uFF08--out \u3092\u4ED8\u3051\u305F\u306E\u306B\u5B8C\u4E86\u3057\u3066\u3044\u306A\u3044\u30FB\u5F85\u6A5F\u306E\u4E0A\u9650\uFF09\u3067\u3059\u3002",
|
|
292
|
+
flags:[...WAIT_FLAGS,{...OUT_FLAG2,summary:"\u5B8C\u6210\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u3053\u3053\u3078\u66F8\u304D\u51FA\u3059\uFF08\u5B8C\u4E86\u3057\u3066\u3044\u306A\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 6\uFF09"},FORCE_FLAG2],prepare(input){taskRef(input,usage);parseWaitOptions(input.flags);const target2=checkOutTarget(input,"--out","--force");if(target2===void 0&&input.flags.has("--force"))throw new UsageError("--force \u306F --out \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
293
|
+
usage);return Promise.resolve(target2===void 0?input:withResolved(input,{out:target2.out,force:target2.force?"1":""}))},plan:input=>({method:"GET",path:statusPath(kind,taskRef(input,usage))}),async execute(input,ctx){const startedAt=waitClock.now();const first=await ctx.send({method:"GET",path:statusPath(kind,taskRef(input,usage))});const task=taskData(first,`${kind.noun}\u751F\u6210\u306E\u72B6\u614B`);if(task["task_type"]!==void 0&&task["task_type"]!==kind.taskType){throw new UsageError(`task_\
|
|
294
|
+
id ${String(task["task_id"])} \u306F${kind.noun}\u751F\u6210\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08task_type=${String(task["task_type"])}\uFF09`,usage)}return settle(kind,ctx,first,parseWaitOptions(input.flags),startedAt,outTarget(input),void 0)},summarize:body=>{const result=body;return{...pick(result.task,TASK_COLUMNS),...summarizeResult(body)}},raw:body=>body}}function listOperation(kind){const usage=`twp media ${kind.name} list [--limit <\u4EF6\u6570>]`;const rows=body=>dataRows(body,
|
|
295
|
+
`${kind.noun}\u751F\u6210\u306E\u4E00\u89A7`).filter(row=>isRecord(row)&&row["task_type"]===kind.taskType);return{name:"list",summary:`\u81EA\u5206\u306E${kind.noun}\u751F\u6210\u3092\u65B0\u3057\u3044\u9806\u306B\u4E00\u89A7\u3059\u308B`,usage,description:"--limit \u306F 1\u301C100\uFF08\u65E2\u5B9A 50\uFF09\u3002\u30B5\u30FC\u30D0\u306F\u65B0\u3057\u3044\u9806\u306B\u8FD4\u3057\u307E\u3059\u3002\n"+(kind.name==="video"?"\u52D5\u753B\u306E\u4E00\u89A7\u306F\u30B5\u30FC\u30D0\u304C\u753B\u50CF\u30FB\u6587\u66F8\u306E\u751F\u6210\u3082\u6DF7\u305C\u3066\u8FD4\u3059\u305F\u3081\u3001--limit \u4EF6\u306E\u4E2D\u304B\u3089\u52D5\u753B\u3060\u3051\u3092\u51FA\u3057\u307E\u3059\uFF08--limit \u3088\u308A\u5C11\u306A\u304F\u306A\u308A\u307E\u3059\uFF09\u3002":
|
|
296
|
+
""),flags:[{name:"--limit",summary:"\u4EF6\u6570\uFF081\u301C100\u30FB\u65E2\u5B9A 50\uFF09",takesValue:true,placeholder:"<\u4EF6\u6570>"}],plan:input=>{const limit=nonEmpty(input.flags,"--limit");if(limit!==void 0&&(!/^\d+$/.test(limit)||Number(limit)<1||Number(limit)>100)){throw new UsageError(`--limit \u306F 1\u301C100 \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${limit}`,usage)}return{method:"GET",path:`${BASE}/generate/${kind.name}`,...limit===void 0?{}:{query:{limit}}}},summarize:body=>rows(
|
|
297
|
+
body).map(row=>({...pick(row,TASK_COLUMNS),media_file_id:isRecord(row)&&isRecord(row["output"])?row["output"]["media_file_id"]??null:null})),raw:rows}}function cancelOperation(kind){const usage=`twp media ${kind.name} cancel <task_id> --yes`;return{name:"cancel",summary:`\u5B9F\u884C\u4E2D\u306E${kind.noun}\u751F\u6210\u3092\u6B62\u3081\u308B\uFF08--yes \u304C\u8981\u308B\uFF09`,usage,description:"\u6B62\u3081\u305F\u751F\u6210\u306F\u518D\u958B\u3067\u304D\u307E\u305B\u3093\u3002\u7D42\u308F\u3063\u305F\u751F\u6210\uFF08completed / failed / cancelled\uFF09\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002",
|
|
298
|
+
destructive:true,confirmation:`${kind.noun}\u751F\u6210\u3092\u6B62\u3081\u308B\u64CD\u4F5C\uFF08\u518D\u958B\u3067\u304D\u307E\u305B\u3093\uFF09`,flags:[],plan:input=>({method:"POST",path:`${statusPath(kind,taskRef(input,usage))}/cancel`}),plannedNotes:input=>[`${kind.noun}\u751F\u6210 ${taskRef(input,usage)} \u3092\u6B62\u3081\u307E\u3059\u3002`],summarize:body=>body,raw:body=>body}}function previewOperation(kind){const usage=kind.name==="video"?"twp media video preview [--model <ID>] [--durat\
|
|
299
|
+
ion <\u79D2>] [--resolution <\u89E3\u50CF\u5EA6>] [--aspect-ratio <\u6BD4>] [--from <\u753B\u50CFID> | --from-video <\u52D5\u753BID>]":"twp media music preview [--model <ID>] [--duration <\u79D2>]";return{name:"preview",summary:`${kind.noun}\u751F\u6210\u306E\u898B\u7A4D\uFF08\u6D88\u8CBB\u30AF\u30EC\u30B8\u30C3\u30C8\uFF09\u3092\u51FA\u3059\uFF08\u751F\u6210\u306F\u3057\u307E\u305B\u3093\uFF09`,usage,description:"create \u3068\u540C\u3058\u5F15\u6570\u3067\u898B\u7A4D\u3060\u3051\u3092\u51FA\u3057\u307E\u3059\u3002\u7701\u3044\u305F\u5024\u306F\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\uFF08\u65E2\u5B9A\u30E2\u30C7\u30EB\u30FB\u65E2\u5B9A\u306E\u9577\u3055\uFF09\u3067\u898B\u7A4D\u3082\u308A\u307E\u3059\u3002",
|
|
300
|
+
flags:kind.createFlags.filter(flag=>flag.name!=="--instrumental"),plan:input=>{kind.validate(input);if(kind.name==="video"&&videoSource(input).kind==="video"&&nonEmpty(input.flags,"--model")===void 0){throw new UsageError("--from-video \u306E\u898B\u7A4D\u306B\u306F --model \u304C\u8981\u308A\u307E\u3059\uFF08\u7701\u304F\u3068\u751F\u6210\u306F\u5143\u306E\u52D5\u753B\u306E\u30E2\u30C7\u30EB\u3067\u884C\u308F\u308C\u3001\u65E2\u5B9A\u30E2\u30C7\u30EB\u306E\u898B\u7A4D\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\uFF09",
|
|
301
|
+
usage)}return estimatePlan(kind,input)},summarize:body=>{const milli=dataOf5(body,"\u898B\u7A4D")["estimated_milli_credits"];return{estimated_milli_credits:milli??null,credits:typeof milli==="number"?milli/1e3:null}},raw:body=>dataOf5(body,"\u898B\u7A4D")}}function resource(kind){return{name:kind.name,summary:`AI \u306B\u3088\u308B${kind.noun}\u306E\u751F\u6210${kind.name==="video"?"\u30FB\u30EA\u30DF\u30C3\u30AF\u30B9":""}\uFF08\u975E\u540C\u671F\u3002\u751F\u6210\u7269\u306F\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\uFF09`,
|
|
302
|
+
operations:[createOperation(kind),getOperation(kind),listOperation(kind),cancelOperation(kind),previewOperation(kind)]}}var mediaAsyncGenerationResources=[resource(VIDEO),resource(MUSIC)];var LIST_COLUMNS=["id","file_name","content_type","file_size","folder_id","public_status","updated_at"];var UPLOAD_COLUMNS=["id","file_name","content_type","file_size","folder_id","scope","content_hash"];var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var NAME_FLAG2={name:"--name",summary:"\u4FDD\u5B58\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u7701\u7565\u6642\u306F\u30ED\u30FC\u30AB\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3002\u540C\u540D\u304C\u3042\u308B\u3068\u30B5\u30FC\
|
|
208
303
|
\u30D0\u304C\u5225\u540D\u306B\u3057\u307E\u3059\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EB\u540D>"};var CONTENT_TYPE_FLAG2={name:"--content-type",summary:"Content-Type\uFF08\u7701\u7565\u6642\u306F\u62E1\u5F35\u5B50\u304B\u3089\u63A8\u5B9A\u3002\u4E0D\u660E\u306A\u3089 application/octet-stream\uFF09",takesValue:true,placeholder:"<\u578B>"};var KEYWORD_FLAG={name:"--keyword",summary:"\u30D5\u30A1\u30A4\u30EB\u540D\u30FB\u5185\u5BB9\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\uFF08\u691C\u7D22\u6642\u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3057\u307E\u305B\u3093\uFF09",
|
|
209
304
|
takesValue:true,placeholder:"<\u30AD\u30FC\u30EF\u30FC\u30C9>"};var FILE_REF_FLAG3={name:"--id",summary:"\u30D5\u30A1\u30A4\u30EBID\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF08\u4E21\u65B9\u6307\u5B9A\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EBID>"};function fileRef3(input,usage){const id=singleRef(input,{flag:"--id",label:"\u30D5\u30A1\u30A4\u30EBID",usage});if(!isSafePathSegment(id))throw new UsageError(`\u30D5\u30A1\u30A4\u30EBID \u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${id}`);
|
|
210
305
|
return id}function listRows(body){const data=isRecord(body)?body["data"]:void 0;if(!Array.isArray(data)){throw new ApiResponseError("\u30E1\u30C7\u30A3\u30A2\u4E00\u89A7\u306E\u5FDC\u7B54\u306B data \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return data}function localFile(input){const raw=input.flags.get("--file");if(raw===void 0||raw.trim()===""){throw new UsageError("--file \u306F\u5FC5\u9808\u3067\u3059",
|
|
211
306
|
"twp media upload --file <\u30D1\u30B9>")}if(input.args.length>0){throw new UsageError(`upload \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp media upload --file <\u30D1\u30B9>")}const{file,size}=inspectLocalFile(raw,"--file","twp media upload --file <\u30D1\u30B9>");const nameFlag=nonEmpty(input.flags,"--name");const name=nameFlag??path.basename(file);const contentType=nonEmpty(input.flags,"--content-type")??contentTypeFor(name);return{
|
|
212
307
|
file,name,size,contentType}}function uploadUrlPlan(input){const resolved=input.resolved??{};const body={file_name:requireResolved(input,"fileName"),content_type:requireResolved(input,"contentType"),file_size:Number(requireResolved(input,"fileSize")),scope:requireResolved(input,"scope")};if(resolved["scopeId"]!==void 0)body["scope_id"]=resolved["scopeId"];const folder=folderId(input);if(folder!==void 0)body["folder_id"]=folder;return{method:"POST",path:"/api/v2/media/files/upload-url",body}}function issued(body){
|
|
213
|
-
const data=
|
|
308
|
+
const data=dataOf5(body,"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9URL\u767A\u884C");const id=data["file_id"];const uploadUrl=data["upload_url"];if(!isSafePathSegment(id)||typeof uploadUrl!=="string"||!/^https:\/\//.test(uploadUrl)){throw new ApiResponseError("\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9URL\u767A\u884C\u306E\u5FDC\u7B54\u306B data.file_id / data.upload_url \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{id,uploadUrl}}
|
|
214
309
|
var discardGuidance=id=>` \u7834\u68C4: twp media delete ${id} --yes\uFF08\u30B4\u30DF\u7BB1\u3078\u79FB\u3057\u307E\u3059\u3002\u7D9A\u3051\u3066 twp media delete ${id} --permanent --yes \u3067\u5B8C\u5168\u306B\u6D88\u3057\u307E\u3059\uFF09`;function orphanGuidance(id,stage){if(stage==="transfer"){return`\u30D5\u30A1\u30A4\u30EB ${id} \u306F\u4EEE\u767B\u9332\u3055\u308C\u307E\u3057\u305F\u304C\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u3078\u306E\u8EE2\u9001\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
|
|
215
310
|
\u30B5\u30FC\u30D0\u306B\u306F\u4E2D\u8EAB\u306E\u7121\u3044\u4EEE\u767B\u9332\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u6B8B\u3063\u3066\u304A\u308A\u3001\u81EA\u52D5\u3067\u306F\u524A\u9664\u3055\u308C\u307E\u305B\u3093\u3002\u7834\u68C4\u3057\u3066\u304B\u3089\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
216
311
|
`+discardGuidance(id)}return`\u30D5\u30A1\u30A4\u30EB ${id} \u306F\u30B9\u30C8\u30EC\u30FC\u30B8\u3078\u306E\u8EE2\u9001\u307E\u3067\u5B8C\u4E86\u3057\u307E\u3057\u305F\u304C\u3001\u5B8C\u4E86\u767B\u9332\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
|
|
217
312
|
\u30B5\u30FC\u30D0\u306B\u306F\u4EEE\u767B\u9332\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u6B8B\u3063\u3066\u304A\u308A\u3001\u81EA\u52D5\u3067\u306F\u524A\u9664\u3055\u308C\u307E\u305B\u3093\u3002\u6B21\u306E\u3069\u3061\u3089\u304B\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
218
313
|
\u518D\u767B\u9332: twp api /v2/media/files/${id}/complete --method POST --yes
|
|
219
314
|
`+discardGuidance(id)}async function upload(input,ctx){const file=requireResolved(input,"file");const size=Number(requireResolved(input,"fileSize"));const contentType=requireResolved(input,"contentType");const bytes=new Uint8Array(fs2.readFileSync(file));if(bytes.byteLength!==size){throw new UsageError(`\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u5927\u304D\u3055\u304C\u5909\u308F\u308A\u307E\u3057\u305F\uFF08${size} \u2192 ${bytes.byteLength} \u30D0\u30A4\u30C8\uFF09: ${file}`)}
|
|
220
|
-
const localHash=crypto2.createHash("sha256").update(bytes).digest("hex");await checkUploadQuota(ctx,size);const{id,uploadUrl}=issued(await ctx.send(uploadUrlPlan(input)));try{await ctx.putSigned(uploadUrl,bytes,contentType)}catch(err){ctx.warn(orphanGuidance(id,"transfer"));throw err}let completed;try{completed=
|
|
315
|
+
const localHash=crypto2.createHash("sha256").update(bytes).digest("hex");await checkUploadQuota(ctx,size);const{id,uploadUrl}=issued(await ctx.send(uploadUrlPlan(input)));try{await ctx.putSigned(uploadUrl,bytes,contentType)}catch(err){ctx.warn(orphanGuidance(id,"transfer"));throw err}let completed;try{completed=dataOf5(await ctx.send({method:"POST",path:`${filePath3(id)}/complete`,body:{}}),"\u5B8C\u4E86\u767B\u9332")}catch(err){ctx.warn(orphanGuidance(id,"complete"));throw err}const serverHash=completed["\
|
|
221
316
|
content_hash"];if(typeof serverHash==="string"&&serverHash!==""){if(serverHash.toLowerCase()!==localHash){ctx.warn(`\u30D5\u30A1\u30A4\u30EB ${id} \u306F\u30B5\u30FC\u30D0\u306B\u767B\u9332\u6E08\u307F\u306E\u307E\u307E\u6B8B\u3063\u3066\u3044\u307E\u3059\u3002
|
|
222
317
|
${discardGuidance(id)}`);throw new ApiResponseError(`\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u305F\u30D5\u30A1\u30A4\u30EB ${id} \u306E\u5185\u5BB9\u304C\u30ED\u30FC\u30AB\u30EB\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\uFF08\u30ED\u30FC\u30AB\u30EB sha256 ${localHash} / \u30B5\u30FC\u30D0 ${serverHash}\uFF09\u3002`)}}else{ctx.warn(`\u30B5\u30FC\u30D0\u304C content_hash \u3092\u8FD4\u3055\u306A\u304B\u3063\u305F\u305F\u3081\u3001\u30D5\u30A1\u30A4\u30EB ${id} \u306E\u5185\u5BB9\u306F\u7167\u5408\u3057\u3066\u3044\u307E\u305B\u3093\u3002`)}
|
|
223
318
|
return completed}var BULK_MAX=100;var BULK_DOWNLOAD_MAX=50;function bulkIds(input,usage,max){const ids=input.args.map(arg=>arg.trim()).filter(arg=>arg!=="");if(ids.length===0)throw new UsageError("\u30D5\u30A1\u30A4\u30EBID \u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(ids.length>max)throw new UsageError(`\u4E00\u5EA6\u306B\u6307\u5B9A\u3067\u304D\u308B\u30D5\u30A1\u30A4\u30EB\u306F ${max} \u4EF6\u307E\u3067\u3067\u3059\uFF08${ids.length} \u4EF6\u6307\u5B9A\uFF09`,
|
|
224
|
-
usage);const bad=ids.filter(id=>!UUID3.test(id));if(bad.length>0)throw new UsageError(`\u30D5\u30A1\u30A4\u30EBID\uFF08UUID\uFF09\u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${bad.join(" ")}`,usage);const duplicated=ids.filter((id,index)=>ids.indexOf(id)!==index);if(duplicated.length>0)throw new UsageError(`\u540C\u3058\u30D5\u30A1\u30A4\u30EBID \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${[...new Set(duplicated)].join(" ")}`,usage);return ids}function bulkResult(body,label){const data=
|
|
319
|
+
usage);const bad=ids.filter(id=>!UUID3.test(id));if(bad.length>0)throw new UsageError(`\u30D5\u30A1\u30A4\u30EBID\uFF08UUID\uFF09\u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${bad.join(" ")}`,usage);const duplicated=ids.filter((id,index)=>ids.indexOf(id)!==index);if(duplicated.length>0)throw new UsageError(`\u540C\u3058\u30D5\u30A1\u30A4\u30EBID \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${[...new Set(duplicated)].join(" ")}`,usage);return ids}function bulkResult(body,label){const data=dataOf5(
|
|
225
320
|
body,label);const{success,failed}=data;const rolledBack=data["rolled_back"]??[];if(!Array.isArray(success)||!Array.isArray(failed)||!Array.isArray(rolledBack)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data.success / failed \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return{success:success.map(String),failed:failed.map(row=>({id:String(isRecord(row)?row["id"]??row["file_id"]:row),reason:String(isRecord(
|
|
226
321
|
row)?row["reason"]??row["error"]??"":"")})),rolledBack:rolledBack.map(String)}}function assertBulkSucceeded(result,requested,label,ctx){if(result.failed.length===0)return;const lines=[`${label}: ${requested} \u4EF6\u4E2D ${result.failed.length} \u4EF6\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002`];for(const row of result.failed)lines.push(` \u5931\u6557: ${row.id}\uFF08${row.reason}\uFF09`);lines.push(result.success.length===0?" \u9069\u7528\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u3042\u308A\u307E\u305B\u3093\u3002":
|
|
227
322
|
` \u9069\u7528\u6E08\u307F\uFF08\u623B\u3055\u308C\u3066\u3044\u306A\u3044\uFF09: ${result.success.join(" ")}`);if(result.rolledBack.length>0)lines.push(` \u5931\u6557\u306E\u305F\u3081\u5143\u306B\u623B\u3057\u305F\u3082\u306E: ${result.rolledBack.join(" ")}`);ctx.warn(lines.join("\n"));throw new ApiRejectedError(`${label}\u306F\u5B8C\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\uFF08${result.failed.length} \u4EF6\u5931\u6557\u30FB${result.success.length} \u4EF6\u9069\u7528\uFF09\u3002`)}function bulkSummary(body){
|
|
@@ -244,22 +339,23 @@ BULK_MAX).length} \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u30B4\u30DF\u7BB1\u
|
|
|
244
339
|
\u7F72\u540DURL\u304B\u3089\u672C\u4F53\u3092\u53D7\u3051\u53D6\u308A\u307E\u3059\uFF08${BULK_DOWNLOAD_MAX} \u4EF6\u307E\u3067\uFF09\u3002
|
|
245
340
|
\u30B5\u30FC\u30D0\u306F\u5B58\u5728\u3057\u306A\u3044\u30FB\u8AAD\u3081\u306A\u3044\u30D5\u30A1\u30A4\u30EB\u3092\u9ED9\u3063\u3066\u9664\u3044\u3066 ZIP \u3092\u4F5C\u308B\u306E\u3067\u3001ZIP \u306B\u5165\u3063\u305F\u4EF6\u6570\u304C
|
|
246
341
|
\u6307\u5B9A\u3088\u308A\u5C11\u306A\u3051\u308C\u3070\u66F8\u304D\u51FA\u3055\u305A\u306B\u7D42\u4E86\u30B3\u30FC\u30C9 3 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002
|
|
247
|
-
\u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002`,flags:[OUT_FLAG2,FORCE_FLAG2],download:{outFlag:"--out",forceFlag:"--force",signedUrl(body,plan){const data=
|
|
342
|
+
\u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002`,flags:[OUT_FLAG2,FORCE_FLAG2],download:{outFlag:"--out",forceFlag:"--force",signedUrl(body,plan){const data=dataOf5(body,"\u4E00\u62EC\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9");const requested=isRecord(plan.body)&&Array.isArray(plan.body["file_ids"])?plan.body["file_ids"].length:
|
|
248
343
|
0;const packed=data["file_count"];if(typeof packed==="number"&&packed<requested){throw new ApiRejectedError(`ZIP \u306B\u5165\u3063\u305F\u306E\u306F ${requested} \u4EF6\u4E2D ${packed} \u4EF6\u3067\u3057\u305F\uFF08\u5B58\u5728\u3057\u306A\u3044\u30FB\u8AAD\u3081\u306A\u3044\u30D5\u30A1\u30A4\u30EB\u304C\u9664\u304B\u308C\u3066\u3044\u307E\u3059\uFF09\u3002\u66F8\u304D\u51FA\u3057\u3066\u3044\u307E\u305B\u3093\u3002twp media list \u3067 ID \u3092\u78BA\u304B\u3081\u3066\u6307\u5B9A\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
|
|
249
344
|
const url=data["download_url"];if(typeof url!=="string"||!/^https:\/\//.test(url)){throw new ApiResponseError("\u4E00\u62EC\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306E\u5FDC\u7B54\u306B data.download_url \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return url}},plan:input=>({method:"POST",path:"/api/v2/media/files/bulk/download",body:{file_ids:bulkIds(input,BULK_DOWNLOAD_USAGE,BULK_DOWNLOAD_MAX)}}),summarize:body=>body,raw:body=>body}];
|
|
250
345
|
function requireScope(scope){const value=scope["scope"];if(value===void 0)throw new Error("resolveScope \u304C scope \u3092\u8FD4\u3057\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u914D\u7DDA\u306E\u8AA4\u308A\uFF09");return value}function bulkMoveBody(input){const body={file_ids:bulkIds(input,BULK_MOVE_USAGE,BULK_MAX),scope:requireResolved(input,"scope"),scope_id:requireResolved(input,"scopeId")};const folder=folderId(input);if(folder!==void 0)body["folder_id"]=folder;return body}var LIST_USAGE2="\
|
|
251
346
|
twp media list [--project <\u30B3\u30FC\u30C9|ID>] [--folder <ID|\u30D1\u30B9>] [--keyword <\u8A9E>]";var UPLOAD_USAGE="twp media upload --file <\u30D1\u30B9> [--project <\u30B3\u30FC\u30C9|ID>] [--folder <ID|\u30D1\u30B9>] [--name <\u540D\u524D>]";var DOWNLOAD_USAGE="twp media download <\u30D5\u30A1\u30A4\u30EBID> --out <\u30D1\u30B9> [--force]";var DELETE_USAGE2="twp media delete <\u30D5\u30A1\u30A4\u30EBID> --yes [--permanent]";var mediaDomain={name:"media",summary:"\u30E1\u30C7\u30A3\u30A2\u30E9\u30A4\u30D6\u30E9\u30EA\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u30D5\u30A9\u30EB\u30C0\uFF08\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\
|
|
252
|
-
\u30FB\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u66F4\u65B0\u30FB\u79FB\u52D5\u30FB\u516C\u958B\u72B6\u614B\u30FB\u30B4\u30DF\u7BB1\u30FB\u30BF\u30B0\u30FB\u4E00\u62EC\u64CD\u4F5C\u30FB\u672C\u6587\u30FB\u7248\u30FB\u30D5\u30A9\u30EB\u30C0\u7BA1\u7406\u30FBAI \u751F\u6210\uFF09",operations:[{name:"list",summary:"\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\uFF09",
|
|
253
|
-
\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3001\u7121\u3051\u308C\u3070\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\u3092\u8FD4\u3057\u307E\u3059\u3002\n\u30D5\u30A9\u30EB\u30C0\u3092\u4ED8\u3051\u306A\u3051\u308C\u3070\u30B9\u30B3\u30FC\u30D7\u306E\u6700\u4E0A\u4F4D\u306B\u3042\u308B\u30D5\u30A1\u30A4\u30EB\u3060\u3051\u3067\u3059\uFF08\u4E0B\u4F4D\u30D5\u30A9\u30EB\u30C0\u306F\u542B\u307F\u307E\u305B\u3093\uFF09\u3002\n\n"+
|
|
254
|
-
|
|
255
|
-
"--keyword");return{method:"GET",path:"/api/v2/media/files",query:{scope:requireResolved(input,"scope"),scope_id:resolved["scopeId"],folder_id:folderId(input),keyword,limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor")}}},summarize:body=>listRows(body).map(row=>pick(row,LIST_COLUMNS)),raw:body=>listRows(body),notes(body,input){if(nonEmpty(input.flags,"--keyword")===void 0)return[];const meta=isRecord(
|
|
256
|
-
|
|
257
|
-
usage:UPLOAD_USAGE,description:"\u5BB9\u91CF\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\u3001\u6B21\u306E3\u5F80\u5FA9\u30921\u30B3\u30DE\u30F3\u30C9\u3067\u884C\u3044\u307E\u3059\u3002\n 0. POST /api/v2/storage/check-upload\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u5BB9\u91CF\u691C\u67FB\u3002\u8D85\u904E\u306A\u3089\u4F55\u3082\u767B\u9332\u305B\u305A\u306B\u6B62\u307E\u308A\u307E\u3059\uFF09\n 1. POST /api/v2/media/files/upload-url\uFF08\u7F72\u540DURL\u306E\u767A\u884C\u3002\u3053\u3053\u3067\u30D5\u30A1\u30A4\u30EB\u304C\u4EEE\u767B\u9332\u3055\u308C\u307E\u3059\uFF09\n 2. \u7F72\u540DURL\u3078 PUT\uFF08\u30D5\u30A1\u30A4\u30EB\u672C\u4F53\u3002TWP \u306E\u8A8D\u8A3C\u60C5\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09\n 3. POST /api/v2/media/files/{id}/
|
|
347
|
+
\u30FB\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u66F4\u65B0\u30FB\u79FB\u52D5\u30FB\u516C\u958B\u72B6\u614B\u30FB\u30B4\u30DF\u7BB1\u30FB\u30BF\u30B0\u30FB\u4E00\u62EC\u64CD\u4F5C\u30FB\u672C\u6587\u30FB\u7248\u30FB\u30D5\u30A9\u30EB\u30C0\u7BA1\u7406\u30FBAI \u751F\u6210\u30FB\u30B3\u30E1\u30F3\u30C8\u30FBAI\u30BF\u30B0\u63D0\u6848\u30FB\u91CD\u8907\u691C\u51FA\uFF09",operations:[{name:"list",summary:"\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\uFF09",
|
|
348
|
+
usage:LIST_USAGE2,description:"--project \u3092\u4ED8\u3051\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3001\u7121\u3051\u308C\u3070\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\u3092\u8FD4\u3057\u307E\u3059\u3002\n\u30D5\u30A9\u30EB\u30C0\u3092\u4ED8\u3051\u306A\u3051\u308C\u3070\u30B9\u30B3\u30FC\u30D7\u306E\u6700\u4E0A\u4F4D\u306B\u3042\u308B\u30D5\u30A1\u30A4\u30EB\u3060\u3051\u3067\u3059\uFF08\u4E0B\u4F4D\u30D5\u30A9\u30EB\u30C0\u306F\u542B\u307F\u307E\u305B\u3093\uFF09\u3002\n\n"+
|
|
349
|
+
LIST_PAGING_HELP,flags:[MEDIA_PROJECT_FLAG,FOLDER_FLAG,KEYWORD_FLAG,...LIST_FLAGS],paging:envelopePaging({label:"\u30E1\u30C7\u30A3\u30A2\u4E00\u89A7",itemsKey:"data"}),async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,LIST_USAGE2)}const scope=await resolveScope2(input,ctx);return withResolved(input,{...scope,...await resolveFolderFlag(input,ctx,scope)})},plan(input){
|
|
350
|
+
const resolved=input.resolved??{};const keyword=nonEmpty(input.flags,"--keyword");return{method:"GET",path:"/api/v2/media/files",query:{scope:requireResolved(input,"scope"),scope_id:resolved["scopeId"],folder_id:folderId(input),keyword,limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor")}}},summarize:body=>listRows(body).map(row=>pick(row,LIST_COLUMNS)),raw:body=>listRows(body),notes(body,input){if(nonEmpty(input.flags,"--keyword")===void 0)return[];const meta=isRecord(
|
|
351
|
+
body)?body["meta"]:void 0;const total=isRecord(meta)?meta["total"]:void 0;const shown=listRows(body).length;if(typeof total!=="number"||total<=shown)return[];return[`\u691C\u7D22\u7D50\u679C ${total} \u4EF6\u306E\u3046\u3061 ${shown} \u4EF6\u3060\u3051\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\uFF08\u691C\u7D22\u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3057\u307E\u305B\u3093\u3002--limit \u3092\u4E0A\u3052\u308B\u304B\u8A9E\u3092\u7D5E\u3063\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`]}},{name:"\
|
|
352
|
+
upload",summary:"\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\uFF08\u767A\u884C\u30FB\u8EE2\u9001\u30FB\u5B8C\u4E86\u767B\u9332\u30921\u30B3\u30DE\u30F3\u30C9\u3067\uFF09",usage:UPLOAD_USAGE,description:"\u5BB9\u91CF\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\u3001\u6B21\u306E3\u5F80\u5FA9\u30921\u30B3\u30DE\u30F3\u30C9\u3067\u884C\u3044\u307E\u3059\u3002\n 0. POST /api/v2/storage/check-upload\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u5BB9\u91CF\u691C\u67FB\u3002\u8D85\u904E\u306A\u3089\u4F55\u3082\u767B\u9332\u305B\u305A\u306B\u6B62\u307E\u308A\u307E\u3059\uFF09\n 1. POST /api/v2/media/files/upload-url\uFF08\u7F72\u540DURL\u306E\u767A\u884C\u3002\u3053\u3053\u3067\u30D5\u30A1\u30A4\u30EB\u304C\u4EEE\u767B\u9332\u3055\u308C\u307E\u3059\uFF09\n 2. \u7F72\u540DURL\u3078 PUT\uFF08\u30D5\u30A1\u30A4\u30EB\u672C\u4F53\u3002TWP \u306E\u8A8D\u8A3C\u60C5\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09\n 3. POST /api/v2/media/files/{id}/c\
|
|
353
|
+
omplete\uFF08\u5B8C\u4E86\u767B\u9332\uFF09\n\u5B8C\u4E86\u767B\u9332\u306E\u5FDC\u7B54\u306E content_hash\uFF08sha256\uFF09\u3092\u30ED\u30FC\u30AB\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u7A81\u304D\u5408\u308F\u305B\u3001\u4E00\u81F4\u3057\u306A\u3051\u308C\u3070\u5931\u6557\u3057\u307E\u3059\u3002\n2\u30FB3 \u304C\u5931\u6557\u3057\u305F\u5834\u5408\u306F\u30D5\u30A1\u30A4\u30EBID\u3068\u518D\u767B\u9332\u30FB\u7834\u68C4\u306E\u624B\u9806\u3092 stderr \u306B\u51FA\u3057\u3066\u5931\u6557\u3057\u307E\u3059\uFF08\u4EEE\u767B\u9332\u306F\u81EA\u52D5\u3067\u306F\u6D88\u3048\u307E\u305B\u3093\uFF09\u3002\n--dry-run \u306F 1 \u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\uFF082 \u4EE5\u964D\u306F 1 \u306E\u5FDC\u7B54\u306B\u4F9D\u5B58\u3059\u308B\u305F\u3081\uFF09\u3002\n\u540C\u3058\u5834\u6240\u306B\u540C\u540D\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308B\u3068\u30B5\u30FC\u30D0\u304C\u5225\u540D\uFF08\u540D\u524D(1).png\uFF09\u306B\u3057\u307E\u3059\u3002\u5148\u306B\u78BA\u304B\u3081\u308B\u306A\u3089 twp media duplicate list --name\u3002",
|
|
258
354
|
flags:[FILE_FLAG,MEDIA_PROJECT_FLAG,FOLDER_FLAG,NAME_FLAG2,CONTENT_TYPE_FLAG2],async prepare(input,ctx){const local=localFile(input);const scope=await resolveScope2(input,ctx);return withResolved(input,{...scope,...await resolveFolderFlag(input,ctx,scope),file:local.file,fileName:local.name,fileSize:String(local.size),contentType:local.contentType})},plan:uploadUrlPlan,plannedNotes:input=>[`\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u5BB9\u91CF\u691C\u67FB\uFF08POST /api/v2/storage/check-upload\uFF09\u3092\u9001\u308A\u3001\u3053\u306E\u3042\u3068\u7F72\u540DURL\u3078 ${requireResolved(
|
|
259
355
|
input,"fileSize")} \u30D0\u30A4\u30C8\u3092 PUT \u3057\u3001\u5B8C\u4E86\u767B\u9332\uFF08POST \u2026/complete\uFF09\u3092\u9001\u308A\u307E\u3059\u3002`],execute:upload,summarize:body=>pick(body,UPLOAD_COLUMNS),raw:body=>body},{name:"download",summary:"\u30D5\u30A1\u30A4\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u3078\u66F8\u304D\u51FA\u3059",usage:DOWNLOAD_USAGE,description:"\u30D5\u30A1\u30A4\u30EBID \u306F twp media list \u306E id \u3067\u3059\u3002\n\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u7528\u306E\u7F72\u540DURL\u3092\u53D6\u5F97\u3057\u3066\u304B\u3089\u672C\u4F53\u3092\u53D7\u3051\u53D6\u308A\u307E\u3059\uFF08\u7F72\u540DURL\u3078 TWP \u306E\u8A8D\u8A3C\u60C5\
|
|
260
|
-
\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09\u3002\n\u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002",flags:[FILE_REF_FLAG3,OUT_FLAG2,FORCE_FLAG2],download:{outFlag:"--out",forceFlag:"--force",signedUrl(body){const url=
|
|
356
|
+
\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09\u3002\n\u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002",flags:[FILE_REF_FLAG3,OUT_FLAG2,FORCE_FLAG2],download:{outFlag:"--out",forceFlag:"--force",signedUrl(body){const url=dataOf5(body,"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9U\
|
|
261
357
|
RL\u53D6\u5F97")["download_url"];if(typeof url!=="string"||!/^https:\/\//.test(url)){throw new ApiResponseError("\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9URL\u53D6\u5F97\u306E\u5FDC\u7B54\u306B data.download_url \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return url}},plan:input=>({method:"GET",path:`${filePath3(fileRef3(input,DOWNLOAD_USAGE))}/download-url`}),summarize:body=>body,raw:body=>body},{name:"delete",summary:"\u30D5\u30A1\
|
|
262
358
|
\u30A4\u30EB\u3092\u30B4\u30DF\u7BB1\u3078\u79FB\u3059\uFF08--permanent \u3067\u30B4\u30DF\u7BB1\u304B\u3089\u5B8C\u5168\u524A\u9664\uFF09",usage:DELETE_USAGE2,description:"\u65E2\u5B9A\u306F\u30B4\u30DF\u7BB1\u3078\u79FB\u3059\u3060\u3051\u3067\u3001twp media restore \u3067\u623B\u305B\u307E\u3059\u3002\n--permanent \u3092\u4ED8\u3051\u308B\u3068\u30B4\u30DF\u7BB1\u306B\u3042\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u5B8C\u5168\u306B\u524A\u9664\u3057\u3001\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093\n\uFF08\u30B4\u30DF\u7BB1\u306B\u7121\u3044\u30D5\u30A1\u30A4\u30EB\u306F\u30B5\u30FC\u30D0\u304C\u62D2\u5426\u3057\u307E\u3059\u3002\u5148\u306B --permanent \u7121\u3057\u3067\u30B4\u30DF\u7BB1\u3078\u79FB\u3059\u3053\u3068\uFF09\u3002\n\u7834\u58CA\u7684\u306A\u64CD\u4F5C\u3068\u3057\u3066\u6271\u3046\u305F\u3081 --yes \u304C\u5FC5\u8981\u3067\u3059\u3002",
|
|
263
359
|
destructive:true,flags:[FILE_REF_FLAG3,{...PERMANENT_FLAG2,summary:"\u30B4\u30DF\u7BB1\u306B\u3042\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u5B8C\u5168\u306B\u524A\u9664\u3059\u308B\uFF08\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093\u3002\u5148\u306B --permanent \u7121\u3057\u3067\u30B4\u30DF\u7BB1\u3078\u79FB\u3059\u3053\u3068\uFF09"}],plan:input=>{const base=filePath3(fileRef3(input,DELETE_USAGE2));return{method:"DELETE",path:input.flags.has("--permanent")?`${base}/permanent`:base}},plannedNotes:input=>[
|
|
264
360
|
input.flags.has("--permanent")?"1 \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5B8C\u5168\u306B\u524A\u9664\u3057\u307E\u3059\uFF08\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093\uFF09\u3002":"1 \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u30B4\u30DF\u7BB1\u3078\u79FB\u3057\u307E\u3059\u3002"],summarize:body=>body,raw:body=>body},...MEDIA_FILE_OPERATIONS,...BULK_OPERATIONS],subresources:[mediaFolderResource,mediaTrashResource,mediaTagResource,mediaRecentResource,mediaContentResource,mediaVersionResource,
|
|
265
|
-
|
|
361
|
+
mediaCommentResource,mediaAiTagResource,mediaDuplicateResource,...mediaGenerationResources,...mediaAsyncGenerationResources]};export{mediaDomain,orphanGuidance};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{loadDomain}from"./chunk-
|
|
3
|
+
import{loadDomain}from"./chunk-K7OIECPN.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-
|
|
3
|
+
import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-E34FX2DF.js";import"./chunk-K7OIECPN.js";import"./chunk-GFLGXGWE.js";import"./chunk-MXKAEPXA.js";import"./chunk-AUAZP2G7.js";import"./chunk-Q3B65OFC.js";import"./chunk-RX5HWI4L.js";import"./chunk-MI6HVYR2.js";import"./chunk-FEJDU42E.js";import"./chunk-GMBJTG6A.js";import"./chunk-JA5A6UJ2.js";
|
|
4
4
|
import"./chunk-QBGEYQ2I.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-YLM54X35.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};
|