@tocca-systems/twp-cli 0.60.0 → 0.61.1

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.
Files changed (73) hide show
  1. package/CHANGELOG.public.md +10 -0
  2. package/README.md +9 -2
  3. package/dist/{agent-VNXVD6RC.js → agent-TLKSUAYA.js} +1 -1
  4. package/dist/{analysis-QKYJFPGB.js → analysis-XO3WRAJR.js} +2 -2
  5. package/dist/{announcement-VIPUV4NC.js → announcement-LNG32J6X.js} +1 -1
  6. package/dist/{api-command-EK36OA7H.js → api-command-4WOUH5PL.js} +3 -3
  7. package/dist/{app-IBNHYZ6Q.js → app-UJE2OSRN.js} +2 -2
  8. package/dist/{attendance-correct-QYUMTKPG.js → attendance-correct-3C2BHJQG.js} +1 -1
  9. package/dist/{attendance-lists-JDQX4GIC.js → attendance-lists-VMOIE3XO.js} +1 -1
  10. package/dist/{backlog-XK4BUZBI.js → backlog-D5LZIEN4.js} +15 -13
  11. package/dist/{budget-NKSYQOBP.js → budget-RENLLCYQ.js} +1 -1
  12. package/dist/{chunk-SDNASQZL.js → chunk-3WFZOOXZ.js} +1 -1
  13. package/dist/{chunk-LOTNN4VY.js → chunk-4PROMNXI.js} +1 -1
  14. package/dist/{chunk-K7WIC5SH.js → chunk-52V2AZ7D.js} +1 -1
  15. package/dist/{chunk-ZQG4IEBX.js → chunk-7LFYDASU.js} +2 -2
  16. package/dist/{chunk-EOYQ56LM.js → chunk-BZJJAJGN.js} +1 -1
  17. package/dist/{chunk-TRNS45SB.js → chunk-CSXCHRYE.js} +1 -1
  18. package/dist/{chunk-XWJVDNYE.js → chunk-DLD736A2.js} +1 -1
  19. package/dist/{chunk-BVREBTDJ.js → chunk-E3KMIBSP.js} +1 -1
  20. package/dist/{chunk-CX56K7NH.js → chunk-EO3M43TN.js} +1 -1
  21. package/dist/{chunk-7OPBZYIZ.js → chunk-EWRZ4GSN.js} +2 -2
  22. package/dist/chunk-H4CDX4TX.js +9 -0
  23. package/dist/{chunk-5UJD2E2T.js → chunk-HEQCEFAW.js} +1 -1
  24. package/dist/{chunk-2N4JNFMB.js → chunk-LMYOCAEY.js} +1 -1
  25. package/dist/{chunk-VELLV6DJ.js → chunk-MYWDL3WX.js} +1 -1
  26. package/dist/{chunk-5543BC4H.js → chunk-OIC5Z6M3.js} +2 -2
  27. package/dist/chunk-OPRRLLVH.js +10 -0
  28. package/dist/{chunk-YLM54X35.js → chunk-PECIBNFD.js} +4 -2
  29. package/dist/{chunk-DCMIATYI.js → chunk-SLD6FCXA.js} +1 -1
  30. package/dist/{chunk-JDLYOCH7.js → chunk-T4YEQWJO.js} +2 -2
  31. package/dist/{chunk-O7XM54CL.js → chunk-T5CRU4DB.js} +1 -1
  32. package/dist/{chunk-KZHVWTZB.js → chunk-WBSAJ3P2.js} +1 -1
  33. package/dist/cli.js +13 -6
  34. package/dist/{company-MM7RMYG3.js → company-F3IGQMOJ.js} +3 -3
  35. package/dist/{contract-542CVLOG.js → contract-OWR27GIO.js} +2 -2
  36. package/dist/{department-ONWETRFN.js → department-3QDHMZ5P.js} +1 -1
  37. package/dist/{deposit-Q2LJYA2P.js → deposit-IPYESXIQ.js} +1 -1
  38. package/dist/{estimate-QG7UDIXA.js → estimate-4P67OZWB.js} +3 -3
  39. package/dist/{evaluation-VHYRW3OL.js → evaluation-ZA23GR7P.js} +1 -1
  40. package/dist/{expense-M6CDGLYD.js → expense-GEOAM7B3.js} +1 -1
  41. package/dist/{inquiry-LPATWSTM.js → inquiry-3SCMJOEM.js} +1 -1
  42. package/dist/{invoice-NMEPTMJ2.js → invoice-ONTG53HY.js} +2 -2
  43. package/dist/{job-title-2BITEYIJ.js → job-title-OQQH5W6C.js} +1 -1
  44. package/dist/{knowledge-J5NYT7M7.js → knowledge-IX7AZIBJ.js} +45 -7
  45. package/dist/{leave-TDXLDGQB.js → leave-7HMMZPCR.js} +2 -2
  46. package/dist/{media-ZNQZTGNM.js → media-YU4GJOH2.js} +3 -3
  47. package/dist/{notification-2YYO4OOJ.js → notification-ZT23M4R6.js} +1 -1
  48. package/dist/{onedrive-UBSHXVYS.js → onedrive-ZY3GTU26.js} +1 -1
  49. package/dist/{oneshot-VS52YK26.js → oneshot-4NIS4J4S.js} +1 -1
  50. package/dist/{outlook-ODZD27J5.js → outlook-AAS5DXYQ.js} +1 -1
  51. package/dist/{position-2KKBZTPJ.js → position-HWBHYAD2.js} +1 -1
  52. package/dist/{project-AYQUMBJD.js → project-3ROID2HA.js} +1 -1
  53. package/dist/{prospect-MW4URE6T.js → prospect-7B5UWFLH.js} +2 -2
  54. package/dist/{purchase-IJCP43IQ.js → purchase-QVINV4TM.js} +3 -3
  55. package/dist/{receivable-PD3KXJA5.js → receivable-66MYAIVR.js} +1 -1
  56. package/dist/{registry-4RF6EDQV.js → registry-664USKMN.js} +1 -1
  57. package/dist/{report-3LW27YHM.js → report-XFTM4GCX.js} +1 -1
  58. package/dist/{run-37FDHPZD.js → run-F2MRZYJO.js} +2 -2
  59. package/dist/{sales-ai-review-ISVBOO3X.js → sales-ai-review-IVRISSWX.js} +2 -2
  60. package/dist/{sales-master-EPMRXFKQ.js → sales-master-BGVF2AZL.js} +2 -2
  61. package/dist/{sales-numbering-U6DSHKKM.js → sales-numbering-4423JWN6.js} +1 -1
  62. package/dist/{search-LU5ELPON.js → search-TMROBRYD.js} +1 -1
  63. package/dist/{skill-OAUTVWTM.js → skill-S7EPMW5Z.js} +1 -1
  64. package/dist/{supplier-payment-OYIOW7NR.js → supplier-payment-O7GZSKGD.js} +2 -2
  65. package/dist/{support-JG43SGOY.js → support-U3VY5JI5.js} +1 -1
  66. package/dist/{task-XY3SVQJS.js → task-EQBPQ7H4.js} +3 -3
  67. package/dist/{teams-5EXL65HN.js → teams-GPJ6HMIX.js} +1 -1
  68. package/dist/{user-C2M3K236.js → user-XYUB54QT.js} +2 -2
  69. package/dist/{worker-agent-QREMLOKU.js → worker-agent-VPRWBAWG.js} +1 -1
  70. package/dist/{workflow-YKVB5A6Y.js → workflow-GMP6W5EF.js} +1 -1
  71. package/package.json +1 -1
  72. package/dist/chunk-B4O5MGOV.js +0 -10
  73. package/dist/chunk-QBGEYQ2I.js +0 -7
@@ -11,6 +11,16 @@
11
11
  `CHANGELOG.md` に残してあります。顧客向けの履歴は public 公開以降を対象とします。
12
12
  -->
13
13
 
14
+ ## 0.61.1
15
+
16
+ Microsoft 365 系のコマンドで、組織のデバイスポリシー(条件付きアクセス)によりアクセスが拒否された場合に、再ログインの案内ではなく原因とテナント管理者への確認を促すメッセージを表示するようにしました。
17
+
18
+ ## 0.61.0
19
+
20
+ wiki ページを CLI から作成・更新・移動・削除できるようになりました(`twp wiki create` / `update` / `move` / `delete`。本文はファイルか標準入力から読みます)。
21
+
22
+ `twp backlog issue list` / `twp backlog issue get` のヘルプに、`--output json` の形(種別・状態・担当者などは名前の文字列で、ID は別のキー)と例を載せました。
23
+
14
24
  ## 0.60.0
15
25
 
16
26
  通勤交通費を、出勤打刻のある日から日ごとの区分を埋めて保存できるようになりました(`twp expense commuting save --from-attendance`)。
package/README.md CHANGED
@@ -67,7 +67,7 @@ TWP(Tocca Working Platform)を、ターミナルから使うための CLI
67
67
  | **できる** | `twp budget` による予実管理(年度の予実ダッシュボード・サマリー・部署行の内訳と未割当・CSV 出力、目標の一覧・JSON でのまとめ登録・前年度からのコピー・CSV の取り込みと雛形、プロジェクトの部署按分の参照と全件置換)。分析の権限と予実管理ページの閲覧対象への登録が要り、目標の書き込みは全体管理者か分析の権限が「管理者」の人です |
68
68
  | **できる** | `twp workflow` による、自分が申請できる申請書・申請書の定義(管理者)・自分の申請・承認履歴・自分の承認待ちの参照(申請書は名前でも指定できます)と、申請の起票・提出・更新・削除、承認・却下・差し戻し・取下げ、承認画面の AIチェックの結果の表示と承認者コメント |
69
69
  | **できる** | `twp report` による自分のレポート(日報)の一覧(フォーマット・状態・語で絞り込み)・詳細と、下書きの作成(フォーマットの入力項目から雛形を出せます)・更新・提出・AI アドバイス、使えるレポートフォーマットの一覧。確認者としての一覧(未読・書いた人・作成日で絞り込み)・既読・コメント・確認済み・確認の取り消し・差し戻し |
70
- | **できる** | `twp wiki` / `twp note` / `twp meeting` による、wiki ページ(親ページ直下の子の一覧を含む)・ノート・議事録(開催日の期間で絞り込み)の一覧と、本文を `--output text` で文書として読むこと |
70
+ | **できる** | `twp wiki` / `twp note` / `twp meeting` による、wiki ページ(親ページ直下の子の一覧を含む)・ノート・議事録(開催日の期間で絞り込み)の一覧と、本文を `--output text` で文書として読むこと。wiki ページの作成・更新・移動・削除 |
71
71
  | **できる** | `twp outlook` / `twp teams` / `twp onedrive` による Microsoft 365 の読み取り(メール・添付・予定、Teams のチーム・チャネル・チャット・メッセージ・スレッド返信・自分宛てメンション、OneDrive のファイルの一覧・情報・ダウンロード)。TWP に Microsoft アカウントでログインしたことがあるユーザーが対象です。書き込みはメールの送信・返信・全員返信・転送(`twp outlook mail send` / `reply` / `reply-all` / `forward`)、Teams のチャット送信・チャネル投稿・スレッド返信(`twp teams message send` / `reply send`)、予定の作成・更新・削除(`twp outlook event create` / `update` / `delete`)、共有リンクの作成(`twp onedrive link create`)ができ(いずれも `--yes` が必要)、OneDrive へのアップロード(`twp onedrive item upload`)もできます |
72
72
  | **できる** | `twp task-loop` による、TWP のタスクキューを手元の AI CLI に実行させる常駐ループ |
73
73
  | **できる** | `twp agent-loop` による、エージェントループのキューの一覧・投入・更新・先頭への移動・削除と、期間を指定した実行履歴の参照。更新・移動・削除はテナントの管理者の権限が要ります |
@@ -1270,6 +1270,10 @@ twp report reject <レポートID> --comment-file reason.md --yes # 差し戻
1270
1270
  twp wiki list [--project <コード|ID>] [--status <draft|published>] [--tag <タグ>] [--keyword <語>] [--all]
1271
1271
  twp wiki list [--project <コード|ID>] --parent <ページID>|root # 親ページ直下の子(root で最上位)
1272
1272
  twp wiki get <ページID> --output text
1273
+ twp wiki create [--project <コード|ID>] --title <件名> --content-file <パス|-> [--parent <ページID>] [--status <draft|published>] [--tag <タグ>]...
1274
+ twp wiki update <ページID> [--title <件名>] [--content-file <パス|->] [--status <draft|published>] [--tag <タグ>]... [--clear-tags] [--if-version <版>]
1275
+ twp wiki move <ページID> [--parent <ページID>|root] [--sort-order <順>]
1276
+ twp wiki delete <ページID> --yes
1273
1277
  twp note list [--mine] [--favorite] [--status <draft|published>] [--visibility <private|tenant|external|public>] [--keyword <語>] [--all]
1274
1278
  twp note get <ノートID> --output text
1275
1279
  twp meeting list [--from <YYYY-MM-DD>] [--to <YYYY-MM-DD>] [--project <コード|ID>] [--keyword <語>] [--tag <タグ>]... [--all]
@@ -1281,7 +1285,10 @@ twp meeting get <議事録ID> --output text
1281
1285
  - wiki はプロジェクトごとです(`--project` を省くと既定のプロジェクト)。`--parent` は他の絞り込み・ページングと併用できません
1282
1286
  - `twp meeting list` の `--from` / `--to` は開催日(日本時間の日付)の期間で、両端の日を含み、片方だけでも指定できます。`--keyword` はタイトルの語です
1283
1287
  - `twp note get` で開くと、画面で開いたときと同じくノートの閲覧数が1増えます
1284
- - 書き込み(作成・更新)はまだできません(`twp api /api/v2/wiki/...`・`/api/v2/notes/...`・`/api/v2/meetings/...` で到達できます)。ヘルプは `twp wiki help` / `twp note help` / `twp meeting help`
1288
+ - wiki の本文は `--content-file` のファイル(`-` で標準入力)から読み、加工せずに送ります。画面のエディタは HTML で保存するので、Markdown を渡しても変換されず記号のまま表示されます。`create` で `--status` を省くと下書きになります
1289
+ - `twp wiki update --if-version <版>` は送る直前にページの版(`twp wiki get` の `version`)を照合し、違えば何も送らずに終了コード 3 で止まります(照合と送信の間の他人の更新までは防げません)。`--tag` はタグを置き換え、`--clear-tags` で空にします
1290
+ - 編集・移動・削除できるのはページの作成者・wiki の管理者・組織の管理者です。権限が無ければサーバの文面をそのまま出して終了コード 3 です
1291
+ - ノート・議事録の書き込みはまだできません(`twp api /api/v2/notes/...`・`/api/v2/meetings/...` で到達できます)。ヘルプは `twp wiki help` / `twp note help` / `twp meeting help`
1285
1292
 
1286
1293
  ### TWP 内を横断して検索する
1287
1294
 
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{AGENT_REPOSITORIES_PATH,AGENT_SESSIONS_PATH}from"./chunk-VELLV6DJ.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";
3
+ import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{AGENT_REPOSITORIES_PATH,AGENT_SESSIONS_PATH}from"./chunk-MYWDL3WX.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";
4
4
  import{ApiRejectedError,ApiResponseError,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var SESSION_COLUMNS=["sessionId","status","repositoryFullName","baseBranch","workBranch","prUrl","aiModel","myRole","createdAt"];var SESSION_GET_COLUMNS=["sessionId","status","repositoryFullName","repositoryId","baseBranch","workBranch","branchName","prUrl","errorMessage","aiProvider","aiModel","sessionMode","executionMode","masterUserName","myRole","createdAt","updatedAt","completedAt","instructions"];var CHAT_COLUMNS=["timestamp","role","user_name","content"];var REPOSITORY_COLUMNS=["id","full\
5
5
  _name","default_branch","private"];var BRANCH_COLUMNS=["name","protected"];var DIFF_COLUMNS=["path","status","additions","deletions"];var INSTRUCTION_MAX_CHARS=1e4;var ACTIVE=new Set(["created","pending","provisioning","running"]);var FAILED=new Set(["failed","cancelled","expired"]);var WAIT_POLL_INTERVAL_MS=5e3;var WAIT_DEFAULT_SECONDS=300;var WAIT_MAX_SECONDS=540;var WAIT_CHAT_SCAN_LIMIT=2e3;var sleep=ms=>new Promise(resolve=>setTimeout(resolve,ms));var SESSION_REF_HELP="<\u30BB\u30C3\u30B7\u30E7\u30F3> \u306F\u30BB\u30C3\u30B7\u30E7\u30F3 ID\uFF08twp \
6
6
  agent session list \u306E sessionId \u5217\uFF09\u3067\u3059\u3002";var CREDIT_CONFIRMATION="AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u64CD\u4F5C";function usageOf(op){return`twp agent ${op} help`}function noArgs(input,op){if(input.args.length>0)throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usageOf(op))}function single(input,op,label,hint){const values=input.args.map(arg=>arg.trim());if(values.length>
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,analysisDomain,analysisForbidden,currentMonth,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,monthsBetween,noArgs,profitRows,rangeNotes,recordOf,staffKpiRows,workloadDistributionNotes,workloadDistributionRows}from"./chunk-O7XM54CL.js";import"./chunk-RX5HWI4L.js";import"./chunk-BVREBTDJ.js";import"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-VELLV6DJ.js";
4
- import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,analysisDomain,analysisForbidden,currentMonth,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,monthsBetween,noArgs,profitRows,rangeNotes,recordOf,staffKpiRows,workloadDistributionNotes,workloadDistributionRows};
3
+ import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,analysisDomain,analysisForbidden,currentMonth,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,monthsBetween,noArgs,profitRows,rangeNotes,recordOf,staffKpiRows,workloadDistributionNotes,workloadDistributionRows}from"./chunk-T5CRU4DB.js";import"./chunk-RX5HWI4L.js";import"./chunk-E3KMIBSP.js";import"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-MYWDL3WX.js";
4
+ import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,analysisDomain,analysisForbidden,currentMonth,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,monthsBetween,noArgs,profitRows,rangeNotes,recordOf,staffKpiRows,workloadDistributionNotes,workloadDistributionRows};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{composeDocument,htmlToText,metaLine}from"./chunk-QSXS5SB2.js";import{boundedText}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{ANNOUNCEMENTS_PATH}from"./chunk-VELLV6DJ.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{composeDocument,htmlToText,metaLine}from"./chunk-QSXS5SB2.js";import{boundedText}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{ANNOUNCEMENTS_PATH}from"./chunk-MYWDL3WX.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u304A\u77E5\u3089\u305B";var LIST_COLUMNS=["id","publish_start_at","sender_name","category_name","title","is_read","require_confirmation","is_confirmed"];var UNCONFIRMED_COLUMNS=["id","publish_start_at","publish_end_at","importance","title"];var GET_COLUMNS=["id","title","sender_name","category_name","importance_name","publish_start_at","publish_end_at","is_organization","is_read","require_confirmation","is_confirmed","allow_replies","link_url"];var REPLY_COLUMNS=["id","created_at","\
5
5
  user_name","is_mine","content"];var REPLY_MAX_CHARS=2e3;function noArgs(input,op){if(input.args.length>0){throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp announcement ${op} help`)}}function checkId(raw,help){const id=raw.trim();if(id==="")throw new UsageError("\u304A\u77E5\u3089\u305B\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",help);if(!isSafePathSegment(id)){throw new UsageError(`\u304A\u77E5\u3089\u305B\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\
6
6
  \u5024\u3067\u3059: ${id}`,"\u304A\u77E5\u3089\u305B\u306E ID \u306F twp announcement list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}return id}function announcementId(input,op){const help=`twp announcement ${op} help`;const[raw,...rest]=input.args;if(rest.length>0)throw new UsageError(`${op} \u304C\u53D7\u3051\u53D6\u308C\u308B\u304A\u77E5\u3089\u305B ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,help);return checkId(raw??"",help)}function announcementIds(input){
@@ -1,8 +1,8 @@
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-5543BC4H.js";import"./chunk-B4O5MGOV.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-YXVN6OCH.js";
4
- import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UFGJSWKU.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-VELLV6DJ.js";import"./chunk-HVZUXLQ4.js";import{
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,
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-OIC5Z6M3.js";import"./chunk-OPRRLLVH.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-YXVN6OCH.js";
4
+ import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UFGJSWKU.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-MYWDL3WX.js";import"./chunk-HVZUXLQ4.js";import{
5
+ ApiError,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.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-PECIBNFD.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-QZBE4KC2.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-74BPZOKU.js";import"./chunk-UREA4ZIG.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=>/^\{[^/{}]+\}$/.
7
7
  test(segment)?null:segment)})}parsedCache.set(routes,parsed);return parsed}function matches(route,segments){if(route.segments.length!==segments.length)return false;return route.segments.every((literal,i)=>literal===null||literal===segments[i])}function compareSpecificity(a,b){const literals=route=>route.segments.filter(segment=>segment!==null).length;const diff=literals(b)-literals(a);if(diff!==0)return diff;for(let i=0;i<a.segments.length;i+=1){const aLiteral=a.segments[i]!==null;const bLiteral=b.
8
8
  segments[i]!==null;if(aLiteral!==bLiteral)return aLiteral?-1:1}return 0}function lookupRoute(routes,method,path){const segments=splitSegments(path);const hits=parseRoutes(routes).filter(route=>matches(route,segments));const sameMethod=hits.filter(route=>route.method===method).sort(compareSpecificity);const best=sameMethod[0];if(best!==void 0)return{kind:"matched",domain:best.domain,template:best.template};if(hits.length>0){const[top]=[...hits].sort(compareSpecificity);const template=top.template;
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
3
  import{RESIDENT_TOKEN_CAP,activateModeFiles,activatePermissionSettings,buildResidentSet,buildSystemPrompt,createAuditLogger,createTwpToolkit,currentBranch,describeAuditLog,describeToolCatalog,displayCwd,executeTool,findProjectTwpSubdir,localTools,lstatOrNull,parseFrontMatter,parseRule,persistProjectAllow,projectPermissionsPath,projectRootFor,readFileTool,residentInputs,resolveGitExecutable,runTurn,secretReason}from"./chunk-7PDUN5MS.js";import"./chunk-NZ7WI4RZ.js";import{buildDiffLines,
4
- diffStat}from"./chunk-VRBI2NPI.js";import"./chunk-UFGJSWKU.js";import"./chunk-N2UVRM3Z.js";import"./chunk-VELLV6DJ.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";import{RelayError,builtinCatalog,createRuntime,loadCachedCatalog,modelLabel,pickModel,toModelInfos}from"./chunk-5WTFZJT7.js";import"./chunk-D233KKXW.js";import"./chunk-PMOUHEJQ.js";
4
+ diffStat}from"./chunk-VRBI2NPI.js";import"./chunk-UFGJSWKU.js";import"./chunk-N2UVRM3Z.js";import"./chunk-MYWDL3WX.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";import{RelayError,builtinCatalog,createRuntime,loadCachedCatalog,modelLabel,pickModel,toModelInfos}from"./chunk-5WTFZJT7.js";import"./chunk-D233KKXW.js";import"./chunk-PMOUHEJQ.js";
5
5
  import"./chunk-XNLIEUAW.js";import{proxyDiagnostics}from"./chunk-J7QYPKVK.js";import{checkMinSupportedVersion,isBelowMinSupported,minSupportedBlockMessage}from"./chunk-DXXFUNYN.js";import"./chunk-4VZKNEVN.js";import{configReadDirs,twpHomeDir}from"./chunk-RZVI6PMW.js";import{parseArgv}from"./chunk-5BDE3A3N.js";import{applyPermissionMode,checkPermission,describePermissionMode,getMode,isModeId,modeSource,nextMode}from"./chunk-2LOT54OO.js";import"./chunk-QZBE4KC2.js";
6
6
  import"./chunk-QQRJLH6B.js";import{isFullWidth,isWide,stringWidth,stripAnsi}from"./chunk-UREA4ZIG.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{require_fuzzysort}from"./chunk-DIMZRTLE.js";import{__commonJS,__export,__require,__toESM}from"./chunk-VSJBJXZO.js";var require_react_production=__commonJS({"node_modules/react/cjs/react.production.js"(exports){"use strict";var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element");var REACT_PORTAL_TYPE=Symbol.for("react.portal");var REACT_FRAGMENT_TYPE=Symbol.for("react.fragment");var REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode");var REACT_PROFILER_TYPE=Symbol.for("react.profiler");var REACT_CONSUMER_TYPE=Symbol.for("react.consumer");var REACT_CONTEXT_TYPE=Symbol.for("react.context");var REACT_FORWARD_REF_TYPE=Symbol.
7
7
  for("react.forward_ref");var REACT_SUSPENSE_TYPE=Symbol.for("react.suspense");var REACT_MEMO_TYPE=Symbol.for("react.memo");var REACT_LAZY_TYPE=Symbol.for("react.lazy");var REACT_ACTIVITY_TYPE=Symbol.for("react.activity");var REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition");var MAYBE_ITERATOR_SYMBOL=Symbol.iterator;function getIteratorFn(maybeIterable){if(null===maybeIterable||"object"!==typeof maybeIterable)return null;maybeIterable=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||
@@ -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-37FDHPZD.js");try{const code=await runDomain({domain:route.domain,...parsed.operation!==void 0?{operation:parsed.operation}:
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-F2MRZYJO.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{PUNCH_TYPES,assertMonthOpen,attendanceDomain}from"./chunk-BVREBTDJ.js";import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-VELLV6DJ.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,
3
+ import{PUNCH_TYPES,assertMonthOpen,attendanceDomain}from"./chunk-E3KMIBSP.js";import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-MYWDL3WX.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,
4
4
  ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var CREATE_USAGE="twp attendance record create --date <YYYY-MM-DD> --time <HH:MM> --type <clock-in|clock-out|break-start|break-end|switch> [--project <\u30B3\u30FC\u30C9|ID>] [--task <\u30BF\u30B9\u30AFID>] [--memo <\u30E1\u30E2>]";var UPDATE_USAGE="twp attendance record update <\u8A18\u9332ID> --memo <\u30E1\u30E2> [--month <YYYY-MM>]";var DELETE_USAGE="twp attendance record delete <\u8A18\u9332ID> --reason <\u7406\u7531> --yes [--month <YYYY-MM>]";var MOVE_USAGE="twp attendance record move <\u8A18\u9332\
5
5
  ID> --project <\u30B3\u30FC\u30C9|ID> [--month <YYYY-MM>]";var TEXT_MAX=500;var UUID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var TIME_PATTERN=/^(\d{2}):(\d{2})(?::(\d{2}))?$/;var CLOSED_REASON="\u30B5\u30FC\u30D0\u306F\u7DE0\u3081\u6E08\u307F\u306E\u6708\u3078\u306E\u4FEE\u6B63\u3092\u62D2\u5426\u305B\u305A\u7DE0\u3081\u306E\u96C6\u8A08\u3092\u6D17\u3044\u66FF\u3048\u308B\u306E\u3067\u3001CLI \u304C\u9001\u308B\u524D\u306B\u6B62\u3081\u3066\u3044\u307E\u3059\u3002";
6
6
  var FORBIDDEN="\u81EA\u5206\u306E\u6253\u523B\u306E\u4FEE\u6B63\u306B\u306F\u6253\u523B\u4FEE\u6B63\u306E\u6A29\u9650\uFF08\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\u306E\u300C\u6253\u523B\u4FEE\u6B63\u300D\uFF09\u3068\u52E4\u6020\u306E\u5229\u7528\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u306B\u4ED8\u4E0E\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044";var RECORD_COLUMNS=["id","type","type_label","recorded_at","year_month","project_id","t\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{hoursMinutes}from"./chunk-BVREBTDJ.js";import{monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-VELLV6DJ.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";
3
+ import{hoursMinutes}from"./chunk-E3KMIBSP.js";import{monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-MYWDL3WX.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";
4
4
  import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var MONTH_FLAG={name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"};var ME_FLAG={name:"--me",summary:"\u81EA\u5206\u306E\u5206\u3060\u3051\u3092\u8868\u793A\u3059\u308B\uFF08\u7121\u3051\u308C\u3070\u5168\u54E1\u5206\u30FB\u7BA1\u7406\u8005\uFF09",takesValue:false};var FORBIDDEN_ADMIN="\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002\u5168\u54E1\u5206\uFF08--me \u306A\u3057\uFF09\u306F\u52E4\u6020\u306E\u7BA1\u7406\u8005\u6A29\u9650\uFF08\u52E4\u6020: \u7BA1\u7406\u8005\uFF09\u3001\u81EA\u5206\u306E\u5206\uFF08--me\uFF09\u306F\u52E4\u6020\u306E\u5229\u7528\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u306B\u6A29\u9650\u306E\u4ED8\u4E0E\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044";
5
5
  function listBody(spec,body){if(!isRecord(body)||!Array.isArray(body[spec.key])){throw new ApiResponseError(`${spec.label}\u306E\u5FDC\u7B54\u306B ${spec.key} \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return body}function monthListOperation(spec){const usage=`twp ${spec.domain} list [--month <YYYY-MM>] [--me]`;return{name:"list",summary:`\u6708\u306E${spec.label}\u3092\u4E00\u89A7\u3059\u308B\uFF08--me \u3067\u81EA\u5206\u306E\u5206\u30FB\u7121\u3051\u308C\u3070\u5168\u54E1\u5206\uFF1D\u7BA1\u7406\u8005\uFF09`,
6
6
  usage,description:`GET ${spec.path} \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u5168\u54E1\u5206\u30FB\u52E4\u6020\u306E\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\uFF09\u3002--me \u3092\u4ED8\u3051\u308B\u3068 GET ${spec.path}/me\uFF08\u81EA\u5206\u306E\u5206\uFF09\u3067\u3059\u3002
@@ -1,10 +1,12 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{readBody}from"./chunk-6LSQCOCJ.js";import{BACKLOG_BASE_PATH,BACKLOG_PROJECT_SCOPE_LABEL,BACKLOG_SCOPE_LABEL,backlogSpacePath,isExactNumericId,resolveNamed}from"./chunk-VELLV6DJ.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
3
+ import{readBody}from"./chunk-6LSQCOCJ.js";import{BACKLOG_BASE_PATH,BACKLOG_PROJECT_SCOPE_LABEL,BACKLOG_SCOPE_LABEL,backlogSpacePath,isExactNumericId,resolveNamed}from"./chunk-MYWDL3WX.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
4
4
  import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var DEFAULT_COUNT=20;var MAX_COUNT=100;var NUMERIC=/^[0-9]+$/;var ISSUE_REF=/^(?:[A-Za-z0-9_]+-[0-9]+|[0-9]+)$/;var DATE=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;var SPACE_COLUMNS=["id","space_url"];var PROJECT_COLUMNS=["id","projectKey","name"];var ISSUE_LIST_COLUMNS=["issueKey","summary","status","assignee","priority","dueDate","updated","descriptionTruncated"];var ISSUE_GET_COLUMNS=["id","issueKey","projectId","summary","description","descriptionTruncated","status","issueType","priority","assignee","cr\
5
- eatedUser","parentIssueId","startDate","dueDate","estimatedHours","actualHours","created","updated"];var COMMENT_COLUMNS=["id","created","createdUserId","createdUser","content","changeLog"];function commentRow(row){const source=isRecord(row)?row:{};const user=isRecord(source["createdUser"])?source["createdUser"]:{};return pick({...source,createdUserId:user["id"]??null,createdUser:user["name"]??null},COMMENT_COLUMNS)}var ATTACHMENT_COLUMNS=["id","name","size","contentType","createdUserId","create\
6
- dUser","created"];var STATUS_COLUMNS=["id","name","color"];var USER_COLUMNS=["id","userId","name","mailAddress","roleType"];var SPACE_FLAG={name:"--space",summary:"Backlog \u30B9\u30DA\u30FC\u30B9\uFF08ID / \u30B9\u30DA\u30FC\u30B9URL / \u30B5\u30D6\u30C9\u30E1\u30A4\u30F3\uFF09\u3002\u767B\u9332\u304C1\u4EF6\u306A\u3089\u7701\u7565\u3067\u304D\u307E\u3059",takesValue:true,placeholder:"<ID|URL>"};var BODY_MAX_CHARS=1e5;var BODY_FLAGS=[{name:"--body-file",summary:"\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u6539\u884C\u30FBMarkdown\
7
- \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>"}];function bodyHelp(fileFlag,inlineFlag){return`\u672C\u6587\u306F ${fileFlag} \u3092\u4E3B\u7D4C\u8DEF\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30B7\u30A7\u30EB\u306E\u5F15\u6570\u306B\u8F09\u305B\u308B\u3068\u6539\u884C\u30FBMarkdown \u306E\u898B\u51FA\u3057\uFF08#\uFF09\u30FB
5
+ eatedUser","parentIssueId","startDate","dueDate","estimatedHours","actualHours","created","updated"];var ISSUE_JSON_SHAPE_HELP='--output json \u306E\u5F62\uFF08Backlog API \u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09:\n TWP \u30B5\u30FC\u30D0\u304C\u6574\u3048\u305F\u5F62\u3067\u8FD4\u308A\u307E\u3059\u3002Backlog API \u306E\u8AB2\u984C\u3092\u305D\u306E\u307E\u307E\u8AAD\u3080\u524D\u63D0\u3067\u66F8\u304F\u3068\u58CA\u308C\u307E\u3059\u3002\n - status / priority / resolution / issueType / assignee / createdUser / updatedUser \u306F\n \u540D\u524D\u306E\u6587\u5B57\u5217\u3067\u3059\uFF08{id, name} \u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002ID \u306F statusId / issueTypeId /\n assigneeId \u2026 \u306E\u3088\u3046\u306B\u672B\u5C3E Id \u306E\u5225\u30AD\u30FC\u306B\u3042\u308A\u307E\u3059\u3002\u672A\u8A2D\u5B9A\u306A\u3089\u4E21\u65B9 null \u3067\u3059\u3002\n - category / versions / milestone \u306F {id, name} \u306E\u914D\u5217\u306E\u307E\u307E\u3067\u3059\uFF08\u8907\u6570\u4ED8\u3051\u3089\u308C\u308B\u305F\u3081\u3001\n \
6
+ \u540D\u524D\u3068 ID \u3092\u5225\u30AD\u30FC\u3078\u5206\u3051\u308B\u3068\u5BFE\u5FDC\u304C\u5D29\u308C\u307E\u3059\uFF09\u3002customFields \u3082\u914D\u5217\u3067\u3059\u3002\n \u4F8B\uFF081\u4EF6\u30FB\u629C\u7C8B\uFF09:\n {"id": 1234, "issueKey": "PRJ-12", "summary": "\u2026",\n "statusId": 1, "status": "\u672A\u5BFE\u5FDC", "issueTypeId": 56, "issueType": "\u30BF\u30B9\u30AF",\n "assigneeId": 91, "assignee": "\u8C37 \u6A39",\n "category": [{"id": 7, "name": "\u8A2D\u8A08"}], "milestone": [], ...}\n --query \u3082\u3053\u306E\u5F62\u306B\u5F53\u305F\u308A\u307E\u3059\uFF08issue list \u306E\u4F8B: --query "[].{key: issueKey, type: issueType}"\uFF09\u3002';
7
+ var COMMENT_COLUMNS=["id","created","createdUserId","createdUser","content","changeLog"];function commentRow(row){const source=isRecord(row)?row:{};const user=isRecord(source["createdUser"])?source["createdUser"]:{};return pick({...source,createdUserId:user["id"]??null,createdUser:user["name"]??null},COMMENT_COLUMNS)}var ATTACHMENT_COLUMNS=["id","name","size","contentType","createdUserId","createdUser","created"];var STATUS_COLUMNS=["id","name","color"];var USER_COLUMNS=["id","userId","name","ma\
8
+ ilAddress","roleType"];var SPACE_FLAG={name:"--space",summary:"Backlog \u30B9\u30DA\u30FC\u30B9\uFF08ID / \u30B9\u30DA\u30FC\u30B9URL / \u30B5\u30D6\u30C9\u30E1\u30A4\u30F3\uFF09\u3002\u767B\u9332\u304C1\u4EF6\u306A\u3089\u7701\u7565\u3067\u304D\u307E\u3059",takesValue:true,placeholder:"<ID|URL>"};var BODY_MAX_CHARS=1e5;var BODY_FLAGS=[{name:"--body-file",summary:"\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",
9
+ 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>"}];function bodyHelp(fileFlag,inlineFlag){return`\u672C\u6587\u306F ${fileFlag} \u3092\u4E3B\u7D4C\u8DEF\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30B7\u30A7\u30EB\u306E\u5F15\u6570\u306B\u8F09\u305B\u308B\u3068\u6539\u884C\u30FBMarkdown \u306E\u898B\u51FA\u3057\uFF08#\uFF09\u30FB
8
10
  \u5F15\u7528\u7B26\u3067\u58CA\u308C\u307E\u3059\u3002${fileFlag} - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3081\u307E\u3059\uFF08${inlineFlag} \u306F\u4E00\u884C\u5411\u3051\u3067\u3001\u4F75\u7528\u306F\u30A8\u30E9\u30FC\u3067\u3059\uFF09\u3002
9
11
 
10
12
  \u672C\u6587\u306F\u52A0\u5DE5\u3057\u307E\u305B\u3093\uFF08\u6539\u884C\u30FB\u672B\u5C3E\u306E\u6539\u884C\u30FBCRLF \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
@@ -42,21 +44,21 @@ st",summary:"Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u305
42
44
  flags:[SPACE_FLAG],async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp backlog project list help")}return withSpace(input,await resolveSpace(input,ctx))},plan(input){return{method:"GET",path:backlogSpacePath(requireSpace(input),"/projects")}},plannedNotes:spaceNotes,summarize:body=>listOf(body,"projects","Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7").map(row=>pick(
43
45
  row,PROJECT_COLUMNS)),raw:body=>listOf(body,"projects","Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7")}]};var issueResource={name:"issue",summary:"Backlog \u8AB2\u984C",operations:[{name:"list",summary:"Backlog \u8AB2\u984C\u3092\u4E00\u89A7\u30FB\u691C\u7D22\u3059\u308B",usage:"twp backlog issue list [--space <ID|URL>] [--project <\u30AD\u30FC|ID>] [--status <\u540D\u524D|ID>] [--assignee <\u540D\u524D|ID>] [--updated-since <yyyy-MM-dd>] [--count <\u4EF6\u6570>] [--offset <\u4EF6\u6570>]",
44
46
  description:"\u26A0 \u3053\u306E\u4E00\u89A7\u306E description\uFF08\u672C\u6587\uFF09\u306F\u65E2\u5B9A\u3067 1000 \u6587\u5B57\u306B\u5207\u3089\u308C\u307E\u3059\u3002\n \u5207\u3089\u308C\u305F\u8AB2\u984C\u306B\u306F descriptionTruncated: true \u304C\u4ED8\u304D\u307E\u3059\uFF08\u9ED9\u3063\u3066\u5207\u308A\u307E\u305B\u3093\uFF09\u3002\n \u5168\u6587\u304C\u8981\u308B\u306A\u3089 --description-max 0 \u3092\u4ED8\u3051\u308B\u304B\u3001twp backlog issue get \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\n \uFF08get \u306F\u5E38\u306B\u5168\u6587\u3092\u8FD4\u3057\u307E\u3059\uFF09\u3002\n\n\u7D5E\u308A\u8FBC\u307F\u306E\u8907\u6570\u6307\u5B9A\u306F\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u3059\uFF08--status \u672A\u5BFE\u5FDC,\u51E6\u7406\u4E2D\uFF09\u3002\n--project / --status / --assignee / --created-user \u306F\u540D\u524D\u3067\u3082\u6570\u5024 ID \u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n \u540D\u524D\u3067\u6307\u5B9A\u3059\u308B\u5834\u5408\u3001--status / --assignee / --created-user \u306B\u306F --project \u304C\u5FC5\u8981\u3067\u3059\n \uFF08\u5019\u88DC\u304C Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u914D\u4E0B\u306B\u3057\u304B\u306A\u3044\u305F\u3081\uFF09\u3002\u6570\u5024 ID \u306A\u3089 --project \u306F\u8981\u308A\u307E\u305B\u3093\u3002\n\n\u30DA\u30FC\u30B8\u30F3\u30B0:\n \u3053\u306E API \u306F\u30AA\u30D5\u30BB\u30C3\u30C8\u65B9\u5F0F\u3067\u3059\uFF08\u30AB\u30FC\u30BD\u30EB\u3092\u8FD4\u3055\u306A\u3044\u305F\u3081 --all / --cursor \u306F\u3042\u308A\u307E\u305B\
45
- \u3093\uFF09\u3002\n --count \u306E\u65E2\u5B9A\u306F 20\u30FB\u4E0A\u9650\u306F 100 \u3067\u3001\u7D9A\u304D\u306F --offset \u3067\u53D6\u5F97\u3057\u307E\u3059\u3002\n \u53D6\u5F97\u4EF6\u6570\u304C --count \u3061\u3087\u3046\u3069\u3060\u3063\u305F\u3068\u304D\u306F\u3001\u7D9A\u304D\u304C\u3042\u308B\u304B\u3082\u3057\u308C\u306A\u3044\u3053\u3068\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002",flags:[SPACE_FLAG,{name:"--project",summary:"Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30AD\u30FC / \u540D\u79F0 / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",
46
- takesValue:true,placeholder:"<\u30AD\u30FC|ID>"},{name:"--status",summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08\u540D\u524D / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--assignee",summary:"\u62C5\u5F53\u8005\uFF08\u540D\u524D / \u30ED\u30B0\u30A4\u30F3ID / \u30E1\u30FC\u30EB / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",takesValue:true,placeholder:"<\u540D\u524D\
47
- |ID>"},{name:"--created-user",summary:"\u767B\u9332\u8005\uFF08\u540D\u524D / \u30ED\u30B0\u30A4\u30F3ID / \u30E1\u30FC\u30EB / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--parent",summary:"\u89AA\u8AB2\u984C\u306E\u6570\u5024ID\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF\uFF08\u8AB2\u984C\u30AD\u30FC\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09",takesValue:true,placeholder:"<\u8AB2\
48
- \u984CID>"},{name:"--updated-since",summary:"\u3053\u306E\u65E5\u4EE5\u964D\u306B\u66F4\u65B0\u3055\u308C\u305F\u8AB2\u984C\u3060\u3051\u3092\u8FD4\u3059\uFF08yyyy-MM-dd\uFF09",takesValue:true,placeholder:"<yyyy-MM-dd>"},{name:"--keyword",summary:"\u4EF6\u540D\u30FB\u672C\u6587\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--count",summary:`\u53D6\u5F97\u4EF6\u6570\uFF08\u65E2\u5B9A ${DEFAULT_COUNT}\u30FB\u4E0A\u9650 ${MAX_COUNT}\uFF09`,
49
- takesValue:true,placeholder:"<\u4EF6\u6570>"},{name:"--offset",summary:"\u5148\u982D\u304B\u3089\u8AAD\u307F\u98DB\u3070\u3059\u4EF6\u6570\uFF08\u65E2\u5B9A 0\uFF09",takesValue:true,placeholder:"<\u4EF6\u6570>"},{name:"--sort",summary:"\u4E26\u3079\u66FF\u3048\u308B\u9805\u76EE\uFF08\u65E2\u5B9A updated\u3002\u4F8B: created / dueDate / priority\uFF09",takesValue:true,placeholder:"<\u9805\u76EE>"},{name:"--order",summary:"\u4E26\u3073\u9806\uFF08asc | desc\u30FB\u65E2\u5B9A desc\uFF09",takesValue:true,
50
- placeholder:"<\u9806\u5E8F>"},{name:"--description-max",summary:"\u672C\u6587\u306E\u6700\u5927\u6587\u5B57\u6570\uFF080 \u3067\u5168\u6587\uFF09\u3002\u65E2\u5B9A\u306F 1000 \u6587\u5B57\u3067\u5207\u3089\u308C\u307E\u3059",takesValue:true,placeholder:"<\u6587\u5B57\u6570>"}],async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp backlog issue list help")}const space=await resolveSpace(
47
+ \u3093\uFF09\u3002\n --count \u306E\u65E2\u5B9A\u306F 20\u30FB\u4E0A\u9650\u306F 100 \u3067\u3001\u7D9A\u304D\u306F --offset \u3067\u53D6\u5F97\u3057\u307E\u3059\u3002\n \u53D6\u5F97\u4EF6\u6570\u304C --count \u3061\u3087\u3046\u3069\u3060\u3063\u305F\u3068\u304D\u306F\u3001\u7D9A\u304D\u304C\u3042\u308B\u304B\u3082\u3057\u308C\u306A\u3044\u3053\u3068\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n\n"+ISSUE_JSON_SHAPE_HELP,flags:[SPACE_FLAG,{name:"--project",summary:"Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30AD\u30FC / \u540D\u79F0\
48
+ / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",takesValue:true,placeholder:"<\u30AD\u30FC|ID>"},{name:"--status",summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08\u540D\u524D / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--assignee",summary:"\u62C5\u5F53\u8005\uFF08\u540D\u524D / \u30ED\u30B0\u30A4\u30F3ID / \u30E1\u30FC\u30EB / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",
49
+ takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--created-user",summary:"\u767B\u9332\u8005\uFF08\u540D\u524D / \u30ED\u30B0\u30A4\u30F3ID / \u30E1\u30FC\u30EB / \u6570\u5024ID\uFF09\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF",takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--parent",summary:"\u89AA\u8AB2\u984C\u306E\u6570\u5024ID\u3002\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF\uFF08\u8AB2\u984C\u30AD\u30FC\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09",
50
+ takesValue:true,placeholder:"<\u8AB2\u984CID>"},{name:"--updated-since",summary:"\u3053\u306E\u65E5\u4EE5\u964D\u306B\u66F4\u65B0\u3055\u308C\u305F\u8AB2\u984C\u3060\u3051\u3092\u8FD4\u3059\uFF08yyyy-MM-dd\uFF09",takesValue:true,placeholder:"<yyyy-MM-dd>"},{name:"--keyword",summary:"\u4EF6\u540D\u30FB\u672C\u6587\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--count",summary:`\u53D6\u5F97\u4EF6\u6570\uFF08\u65E2\u5B9A ${DEFAULT_COUNT}\
51
+ \u30FB\u4E0A\u9650 ${MAX_COUNT}\uFF09`,takesValue:true,placeholder:"<\u4EF6\u6570>"},{name:"--offset",summary:"\u5148\u982D\u304B\u3089\u8AAD\u307F\u98DB\u3070\u3059\u4EF6\u6570\uFF08\u65E2\u5B9A 0\uFF09",takesValue:true,placeholder:"<\u4EF6\u6570>"},{name:"--sort",summary:"\u4E26\u3079\u66FF\u3048\u308B\u9805\u76EE\uFF08\u65E2\u5B9A updated\u3002\u4F8B: created / dueDate / priority\uFF09",takesValue:true,placeholder:"<\u9805\u76EE>"},{name:"--order",summary:"\u4E26\u3073\u9806\uFF08asc | desc\u30FB\u65E2\u5B9A desc\uFF09",
52
+ takesValue:true,placeholder:"<\u9806\u5E8F>"},{name:"--description-max",summary:"\u672C\u6587\u306E\u6700\u5927\u6587\u5B57\u6570\uFF080 \u3067\u5168\u6587\uFF09\u3002\u65E2\u5B9A\u306F 1000 \u6587\u5B57\u3067\u5207\u3089\u308C\u307E\u3059",takesValue:true,placeholder:"<\u6587\u5B57\u6570>"}],async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp backlog issue list help")}const space=await resolveSpace(
51
53
  input,ctx);const resolved={};const projectRefs=commaList(input.flags,"--project");const projectIds=projectRefs===void 0?[]:await resolveNumericRefs(projectRefs,"--project","Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",BACKLOG_SCOPE_LABEL,()=>ctx.resolver.backlogProjects(space.id));if(projectIds.length>0)resolved["projectId"]=projectIds.join(",");const statusRefs=commaList(input.flags,"--status");if(statusRefs!==void 0){resolved["statusId"]=(await resolveNumericRefs(statusRefs,"--status","Backlo\
52
54
  g \u30B9\u30C6\u30FC\u30BF\u30B9",BACKLOG_PROJECT_SCOPE_LABEL,()=>ctx.resolver.backlogStatuses(space.id,requireProjectForNames(statusRefs,"--status",projectIds)))).join(",")}for(const[flag,key]of[["--assignee","assigneeId"],["--created-user","createdUserId"]]){const refs=commaList(input.flags,flag);if(refs===void 0)continue;resolved[key]=(await resolveNumericRefs(refs,flag,"Backlog \u30E6\u30FC\u30B6\u30FC",BACKLOG_PROJECT_SCOPE_LABEL,()=>ctx.resolver.backlogUsers(space.id,requireProjectForNames(
53
55
  refs,flag,projectIds)))).join(",")}const parents=commaList(input.flags,"--parent");if(parents!==void 0){const bad=parents.filter(value=>!NUMERIC.test(value));if(bad.length>0){throw new UsageError(`--parent \u306B\u306F\u89AA\u8AB2\u984C\u306E\u6570\u5024 ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${bad.join(" / ")}\uFF09`,"\u8AB2\u984C\u30AD\u30FC\uFF08HC_FM_ID-19171\uFF09\u306F\u4F7F\u3048\u307E\u305B\u3093\u3002twp backlog issue get <\u30AD\u30FC> \u306E id \u3092\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
54
56
  resolved["parentIssueId"]=parents.join(",")}return withSpace(withResolved(input,resolved),space)},plan(input){const query={};indexedQuery("projectId",resolvedList(input,"projectId"),query);indexedQuery("statusId",resolvedList(input,"statusId"),query);indexedQuery("assigneeId",resolvedList(input,"assigneeId"),query);indexedQuery("createdUserId",resolvedList(input,"createdUserId"),query);indexedQuery("parentIssueId",resolvedList(input,"parentIssueId"),query);query["keyword"]=input.flags.get("--key\
55
57
  word");query["updatedSince"]=dateFlag(input.flags,"--updated-since");query["count"]=integerFlag(input.flags,"--count",{min:1,max:MAX_COUNT});query["offset"]=integerFlag(input.flags,"--offset",{min:0});query["sort"]=input.flags.get("--sort");query["order"]=order(input.flags.get("--order"));query["description_max"]=integerFlag(input.flags,"--description-max",{min:0});return{method:"GET",path:backlogSpacePath(requireSpace(input),"/issues"),query}},plannedNotes:spaceNotes,summarize:body=>listOf(body,
56
58
  "issues","\u8AB2\u984C\u4E00\u89A7").map(row=>pick(row,ISSUE_LIST_COLUMNS)),raw:body=>listOf(body,"issues","\u8AB2\u984C\u4E00\u89A7"),notes(body,input){const issues=listOf(body,"issues","\u8AB2\u984C\u4E00\u89A7");const truncated=issues.filter(row=>isRecord(row)&&row["descriptionTruncated"]===true).length;const notes=[...offsetNotes(input,issues.length)];if(truncated>0){notes.push(`${truncated} \u4EF6\u306E\u672C\u6587\u304C\u9014\u4E2D\u3067\u5207\u3089\u308C\u3066\u3044\u307E\u3059\uFF08descriptionTruncated: true\uFF09\u3002\u5168\u6587\u304C\u8981\u308B\u306A\u3089 --description-max 0 \u304B twp backlog issue get \u3092\u4F7F\u3063\u3066\u304F\
57
- \u3060\u3055\u3044\u3002`)}return notes}},{name:"get",summary:"Backlog \u8AB2\u984C1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u672C\u6587\u306F\u5168\u6587\uFF09",usage:"twp backlog issue get <\u8AB2\u984C\u30AD\u30FC|\u8AB2\u984CID> [--space <ID|URL>]",description:"\u672C\u6587\uFF08description\uFF09\u306F\u5E38\u306B\u5168\u6587\u304C\u8FD4\u308A\u307E\u3059\uFF08descriptionTruncated \u306F\u5FC5\u305A false\uFF09\u3002\n\u4E00\u89A7\uFF08twp backlog issue list\uFF09\u306F\u65E2\u5B9A\u3067 1000 \u6587\u5B57\u306B\u5207\u308B\u306E\u3067\u3001\u305D\u3053\u304C\u9055\u3044\u307E\u3059\u3002\n\u8AB2\u984C\u30AD\u30FC\uFF08HC_FM_ID-19171\uFF09\u3067\u3082\u8AB2\u984CID\uFF08\u6570\u5024\uFF09\u3067\u3082\u5F15\u3051\u307E\u3059\u3002",
58
- flags:[SPACE_FLAG,{name:"--issue",summary:"\u8AB2\u984C\u30AD\u30FC\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<\u30AD\u30FC|ID>"}],async prepare(input,ctx){const ref=issueRef(input,"twp backlog issue get help");return withResolved(withSpace(input,await resolveSpace(input,ctx)),{issueRef:ref})},plan(input){const ref=requireResolved(input,"issueRef");return{method:"GET",path:backlogSpacePath(requireSpace(input),`/issues/${encodeURIComponent(ref)}`)}},
59
- plannedNotes:spaceNotes,summarize:body=>pick(issueObject(body),ISSUE_GET_COLUMNS),raw:body=>issueObject(body)},{name:"update",summary:"Backlog \u8AB2\u984C\u306E\u62C5\u5F53\u30FB\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u5909\u66F4\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09",usage:"twp backlog issue update <\u8AB2\u984C\u30AD\u30FC|\u8AB2\u984CID> [--assignee <\u540D\u524D|ID>] [--status <\u540D\u524D|ID>] [--comment-file <\u30D1\u30B9>] [--project <\u30AD\u30FC|ID>] --yes",description:`${EXTERNAL_WRITE_HELP}\
59
+ \u3060\u3055\u3044\u3002`)}return notes}},{name:"get",summary:"Backlog \u8AB2\u984C1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u672C\u6587\u306F\u5168\u6587\uFF09",usage:"twp backlog issue get <\u8AB2\u984C\u30AD\u30FC|\u8AB2\u984CID> [--space <ID|URL>]",description:"\u672C\u6587\uFF08description\uFF09\u306F\u5E38\u306B\u5168\u6587\u304C\u8FD4\u308A\u307E\u3059\uFF08descriptionTruncated \u306F\u5FC5\u305A false\uFF09\u3002\n\u4E00\u89A7\uFF08twp backlog issue list\uFF09\u306F\u65E2\u5B9A\u3067 1000 \u6587\u5B57\u306B\u5207\u308B\u306E\u3067\u3001\u305D\u3053\u304C\u9055\u3044\u307E\u3059\u3002\n\u8AB2\u984C\u30AD\u30FC\uFF08HC_FM_ID-19171\uFF09\u3067\u3082\u8AB2\u984CID\uFF08\u6570\u5024\uFF09\u3067\u3082\u5F15\u3051\u307E\u3059\u3002\n\n"+
60
+ ISSUE_JSON_SHAPE_HELP,flags:[SPACE_FLAG,{name:"--issue",summary:"\u8AB2\u984C\u30AD\u30FC\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<\u30AD\u30FC|ID>"}],async prepare(input,ctx){const ref=issueRef(input,"twp backlog issue get help");return withResolved(withSpace(input,await resolveSpace(input,ctx)),{issueRef:ref})},plan(input){const ref=requireResolved(input,"issueRef");return{method:"GET",path:backlogSpacePath(requireSpace(input),`/issues/${encodeURIComponent(
61
+ ref)}`)}},plannedNotes:spaceNotes,summarize:body=>pick(issueObject(body),ISSUE_GET_COLUMNS),raw:body=>issueObject(body)},{name:"update",summary:"Backlog \u8AB2\u984C\u306E\u62C5\u5F53\u30FB\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u5909\u66F4\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09",usage:"twp backlog issue update <\u8AB2\u984C\u30AD\u30FC|\u8AB2\u984CID> [--assignee <\u540D\u524D|ID>] [--status <\u540D\u524D|ID>] [--comment-file <\u30D1\u30B9>] [--project <\u30AD\u30FC|ID>] --yes",description:`${EXTERNAL_WRITE_HELP}\
60
62
 
61
63
 
62
64
  --assignee / --status / --comment-file\uFF08--comment\uFF09\u306E\u3046\u3061\u3001\u5C11\u306A\u304F\u3068\u30821\u3064\u304C\u5FC5\u8981\u3067\u3059\u3002
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{analysisForbidden}from"./chunk-O7XM54CL.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import"./chunk-BVREBTDJ.js";import"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-VELLV6DJ.js";import"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";
3
+ import{analysisForbidden}from"./chunk-T5CRU4DB.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import"./chunk-E3KMIBSP.js";import"./chunk-EXT4AIDF.js";import"./chunk-6LSQCOCJ.js";import"./chunk-MYWDL3WX.js";import"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";
4
4
  import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var PATH="/api/v2/budget";var ANALYSIS_FORBIDDEN=analysisForbidden("");function budgetForbidden(body){if(body?.error==="forbidden")return"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u95B2\u89A7\u3067\u304D\u307E\u305B\u3093\uFF08\u30E1\u30F3\u30D0\u30FC\u3067\u306A\u3044\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\uFF09\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
5
5
  return ANALYSIS_FORBIDDEN(body)}var FORBIDDEN=budgetForbidden;var EDIT_HINT="\u76EE\u6A19\u306E\u8A2D\u5B9A\u30FB\u30B3\u30D4\u30FC\u30FB\u53D6\u308A\u8FBC\u307F\u306F\u3001\u5168\u4F53\u7BA1\u7406\u8005\u304B\u5206\u6790\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u3067\u304D\u307E\u3059\u3002\u6309\u5206\u306F\u305D\u308C\u306B\u52A0\u3048\u3066\u3001\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u3082\u3067\u304D\u307E\u3059\n\uFF08\u3069\u3061\u3089\u3082\u5206\u6790\u306E\u6A29\u9650\u304C\u300C\u306A\u3057\u300D\u3067\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09\u3002";
6
6
  var YEAR_MIN=2e3;var YEAR_MAX=2100;var IMPORT_MAX_BYTES=2048*1024;var SET_FILE_MAX_BYTES=4*1024*1024;var AMOUNT_MAX=999999999999;var SHOWN_OVERWRITES=24;var BOM=new RegExp(`^${String.fromCharCode(65279)}`);function usageOf(op){return`twp budget ${op} help`}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function yen(value){return typeof value==="number"?`${value.toLocaleString("ja-JP")} \u5186`:"\uFF08\u306A\u3057\uFF09"}function noArgs(input,op){if(input.
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{emailText,ms365Forbidden,recipientsText,str}from"./chunk-XWJVDNYE.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-QBGEYQ2I.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var BODY_MAX_CHARS=1e5;var ATTACH_TOTAL_MAX_BYTES=3*1024*1024;var ADDRESS=/^[^\s@,;<>"]+@[^\s@,;<>"]+$/;var INVISIBLE=/[\p{Cc}\p{Cf}]/u;function oneLine(value){return value.replace(/[\r\n\t]+/g," ").replace(/[\p{Cc}\p{Cf}]/gu,"")}var TO_FLAG={name:"--to",summary:"\u5B9B\u5148\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u5FC5\u9808\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var CC_FLAG={name:"--c\
3
+ import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{emailText,ms365Forbidden,recipientsText,str}from"./chunk-DLD736A2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-H4CDX4TX.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var BODY_MAX_CHARS=1e5;var ATTACH_TOTAL_MAX_BYTES=3*1024*1024;var ADDRESS=/^[^\s@,;<>"]+@[^\s@,;<>"]+$/;var INVISIBLE=/[\p{Cc}\p{Cf}]/u;function oneLine(value){return value.replace(/[\r\n\t]+/g," ").replace(/[\p{Cc}\p{Cf}]/gu,"")}var TO_FLAG={name:"--to",summary:"\u5B9B\u5148\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u5FC5\u9808\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var CC_FLAG={name:"--c\
4
4
  c",summary:"Cc \u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var BODY_FILE_FLAG={name:"--body-file",summary:"\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var BODY_FLAG={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",
5
5
  takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var HTML_FLAG={name:"--html",summary:"\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u9001\u308B\uFF08\u65E2\u5B9A\u306F\u30C6\u30AD\u30B9\u30C8\uFF09",takesValue:false};var MESSAGE_FLAG={name:"--message",summary:"\u5143\u306E\u30E1\u30FC\u30EBID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"};var EXTERNAL_SEND_HELP="\u26A0 \u5916\u90E8\u3078\u51FA\u308B\u64CD\u4F5C\u3067\u3059\u3002\u5B9F\u884C\u3057\u305F\u77AC\u9593\u306B\u76F8\u624B\u306E\u53D7\u4FE1\u7BB1\u3078\u5C4A\u304D\u3001\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\n --yes \u304C\u7121\u3051\u308C\u3070\u5B9F\u884C\u3057\u307E\u305B\u3093\u3002--dry-run \u3067\u9001\u308B\u5185\u5BB9\uFF08\u5B9B\u5148\u30FB\u4EF6\
6
6
  \u540D\u30FB\u672C\u6587\u30FB\u6DFB\u4ED8\u306E\u540D\u524D\u3068\u5927\u304D\u3055\uFF09\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\n --yes \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08--dry-run \u306F --yes \u3092\u8981\u308A\u307E\u305B\u3093\uFF09\u3002\n\u26A0 \u7D42\u4E86\u30B3\u30FC\u30C9 4\uFF08\u901A\u4FE1\u306E\u5931\u6557\u30FB\u30B5\u30FC\u30D0\u306E\u4E00\u6642\u30A8\u30E9\u30FC\uFF09\u3067\u3082\u3001Microsoft 365 \u5074\u3067\u306F\u9001\u4FE1\u6E08\u307F\u306E\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n \u6253\u3061\u76F4\u3059\u524D\u306B twp outlook mail list --folder sentitems \u3067\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{salesFeatureDenied}from"./chunk-K7WIC5SH.js";import{featureLicenseGuidance}from"./chunk-CX56K7NH.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{isExactNumericId}from"./chunk-VELLV6DJ.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{salesFeatureDenied}from"./chunk-52V2AZ7D.js";import{featureLicenseGuidance}from"./chunk-EO3M43TN.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{isExactNumericId}from"./chunk-MYWDL3WX.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";var SALES_PATH="/api/v2/sales";var REASONS_PATH=`${SALES_PATH}/ai-review-reasons`;function documentForbidden(body){if(salesFeatureDenied(body))return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");const reason=body?.error;if(typeof reason==="string"&&reason.endsWith("\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093")){return`${reason}\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7D10\u3065\u304F\u66F8\u985E\u306F\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3001\u7D10\u3065\u304B\u306A\u3044\u66F8\u985E\u306F\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u3068\u7BA1\u7406\u8005\u3060\u3051\u304C\u6271\u3048\u307E\u3059\uFF09`}
5
5
  return void 0}function reasonsForbidden(body){if(body?.error==="permission_denied")return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");return"\u7406\u7531\u306E\u6A2A\u65AD\u4E00\u89A7\u30FB\u6587\u6848\u751F\u6210\u30FBPR \u4F5C\u6210\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF08\u66F8\u985E\u3092\u8DE8\u3044\u3067\u7406\u7531\u3092\u8AAD\u3080\u305F\u3081\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u8CA9\u58F2\u7BA1\u7406\u3092\u5951\u7D04\u3057\u3066\u3044\u308B\u304B\u30FB\u3042\u306A\u305F\u306E\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u304B\u3092\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
6
6
  var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",segment:"estimates"};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",segment:"invoices"};var CONTRACT={name:"contract",label:"\u53D6\u5F15\u5951\u7D04",segment:"contracts"};var JUDGMENTS={no_issue:"\u78BA\u8A8D\u3057\u305F\u304C\u554F\u984C\u306A\u3044\u3068\u5224\u65AD\u3057\u305F",corrected:"\u6307\u6458\u3092\u53D7\u3051\u3066\u66F8\u985E\u3092\u4FEE\u6B63\u3057\u305F",not_applicable:"\u3053\u306E\u6848\u4EF6\u306B\u306F\u5F53\u3066\u306F\u307E\u3089\u306A\u3044\u6307\u6458\u3060\u3068\u5224\u65AD\u3057\u305F"};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{featureLicenseGuidance}from"./chunk-CX56K7NH.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{isExactNumericId}from"./chunk-VELLV6DJ.js";import{UsageError}from"./chunk-VFPY2A23.js";var PDF_PATH="/api/v2/sales/pdf";var FEATURE_DENIED="\u3053\u306E\u6A5F\u80FD\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002";function salesFeatureDenied(body){return body?.error==="permission_denied"||body?.error==="forbidden"&&body.error_description===FEATURE_DENIED}function pdfForbidden(body){if(salesFeatureDenied(body))return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");const reason=body?.error;if(typeof reason==="string"&&reason.endsWith(
3
+ import{featureLicenseGuidance}from"./chunk-EO3M43TN.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{isExactNumericId}from"./chunk-MYWDL3WX.js";import{UsageError}from"./chunk-VFPY2A23.js";var PDF_PATH="/api/v2/sales/pdf";var FEATURE_DENIED="\u3053\u306E\u6A5F\u80FD\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002";function salesFeatureDenied(body){return body?.error==="permission_denied"||body?.error==="forbidden"&&body.error_description===FEATURE_DENIED}function pdfForbidden(body){if(salesFeatureDenied(body))return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");const reason=body?.error;if(typeof reason==="string"&&reason.endsWith(
4
4
  "\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093")){return`${reason}\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7D10\u3065\u304F\u66F8\u985E\u306F\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3001\u7D10\u3065\u304B\u306A\u3044\u66F8\u985E\u306F\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u3068\u7BA1\u7406\u8005\u3060\u3051\u304C\u51FA\u529B\u3067\u304D\u307E\u3059\uFF09`}return void 0}var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",noExample:"EST0000063",
5
5
  defaultKind:"estimate",kinds:{estimate:{segment:"estimate",label:"\u898B\u7A4D\u66F8"},order:{segment:"order",label:"\u6CE8\u6587\u66F8"},"order-acceptance":{segment:"order-acceptance",label:"\u6CE8\u6587\u8ACB\u66F8"}}};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",noExample:"INV0000170",defaultKind:"invoice",kinds:{invoice:{segment:"invoice",label:"\u8ACB\u6C42\u66F8"},delivery:{segment:"delivery",label:"\u7D0D\u54C1\u66F8"},inspection:{segment:"inspection",label:"\u691C\u53CE\u66F8"}}};var PURCHASE={
6
6
  name:"purchase",label:"\u4ED5\u5165",defaultKind:"order",kinds:{order:{segment:"purchase-order",label:"\u6CE8\u6587\u66F8"},"order-acceptance":{segment:"purchase-order-acceptance",label:"\u6CE8\u6587\u8ACB\u66F8"}}};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9.pdf>"};var FORCE_FLAG={name:"--force",summary:"\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{readCsvFileText}from"./chunk-QLENN5DD.js";import{featureLicenseGuidance,invoiceFilters}from"./chunk-CX56K7NH.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_DEPOSITS_PATH,isExactNumericId,
4
- resolveNamed}from"./chunk-VELLV6DJ.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PATH=SALES_DEPOSITS_PATH;function salesAdminForbidden(what){return body=>body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):`${what}\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}var FORBIDDEN=salesAdminForbidden("\u5165\u91D1");var ALLOCATION_STATUSES={
3
+ import{readCsvFileText}from"./chunk-QLENN5DD.js";import{featureLicenseGuidance,invoiceFilters}from"./chunk-EO3M43TN.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_DEPOSITS_PATH,isExactNumericId,
4
+ resolveNamed}from"./chunk-MYWDL3WX.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PATH=SALES_DEPOSITS_PATH;function salesAdminForbidden(what){return body=>body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):`${what}\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}var FORBIDDEN=salesAdminForbidden("\u5165\u91D1");var ALLOCATION_STATUSES={
5
5
  allocated:"\u5F15\u5F53\u6E08",shortage:"\u672A\u5165\u91D1\u6709",excess:"\u5165\u91D1\u8D85\u904E\u6709",transfer_fee_resolved:"\u624B\u6570\u6599\u51E6\u7406\u6E08"};var EXCESS_REASONS={transfer_fee:"\u632F\u8FBC\u624B\u6570\u6599",agency_fee:"\u4EE3\u884C\u624B\u6570\u6599\uFF08\u53E3\u5EA7\u632F\u66FF \u57FA\u672C\u5229\u7528\u6599\uFF09",partial:"\u4E00\u90E8\u5165\u91D1",offset:"\u76F8\u6BBA",overpayment:"\u904E\u5165\u91D1",other:"\u305D\u306E\u4ED6"};var EXCESS_TAX_CATEGORIES={taxable_purchase_10:"\
6
6
  \u8AB2\u7A0E\u4ED5\u5165 10%",not_applicable:"\u5BFE\u8C61\u5916"};var BULK_MAX_ROWS=100;var PLAN_MAX_ITEMS=50;var PLAN_MAX_ALLOCATIONS=100;var FILE_MAX_BYTES=1024*1024;var EXCESS_NOTE_MAX_CHARS=255;var PLAN_MEMO_MAX_CHARS=1e3;var CONTENT_MAX_CHARS=1e6;var LIST_COLUMNS=["id","deposit_date","company_name","payee_name","deposit_amount","allocated_amount","unallocated_amount","allocation_status"];var GET_COLUMNS=[...LIST_COLUMNS,"memo","excess_reason","excess_amount","excess_note","excess_tax_categ\
7
7
  ory","excess_tax_amount"];var ALLOCATION_COLUMNS=["id","invoice_id","invoice_no","invoice_title","invoice_date","allocated_amount","invoice_remaining_amount"];function labelsHelp(table){return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function refsOf(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}function usageOf(op){return`twp deposit ${op} help`}function yen(value){return typeof value==="number"?`${value.toLocaleString("ja\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contentTypeFor,inspectLocalFile,issued}from"./chunk-I4TR55UF.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-TRNS45SB.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{featureLicenseGuidance}from"./chunk-CX56K7NH.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-VELLV6DJ.js";
3
+ import{contentTypeFor,inspectLocalFile,issued}from"./chunk-I4TR55UF.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-CSXCHRYE.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{featureLicenseGuidance}from"./chunk-EO3M43TN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-MYWDL3WX.js";
4
4
  import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError,errorListMessages}from"./chunk-JA5A6UJ2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";function levelForbidden(licenseGuidance,levelGuidance){return body=>body?.error==="permission_denied"?licenseGuidance:levelGuidance}var COMPANY_LICENSE="\u53D6\u5F15\u5148\u3092\u6271\u3046\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u304B\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u304C\u3001\u3069\u3061\u3089\u3082\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u3069\u3061\u3089\u3082\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E\u6A29\u9650\u304C\u3069\u3061\u3089\u3082\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
5
5
  var CUSTOMER_LICENSE=featureLicenseGuidance("\u9867\u5BA2\u7BA1\u7406");var COMPANY_WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u304B\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
6
6
  var LEVEL_LABELS={admin:"\u7BA1\u7406\u8005",editor:"\u7DE8\u96C6\u8005",viewer:"\u95B2\u89A7\u8005",none:"\u306A\u3057"};var CHILD_DELETE_NEEDS="\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059";var CUSTOMER_DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u524A\u9664\u306B\u306F\u3001\u4F01\u696D\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304B\u8CA9\u58F2\u7BA1\u7406\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u3001\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{booleanText,boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{ORG_MASTER_LIMIT}from"./chunk-VELLV6DJ.js";import{ULID_RE,UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var CLEAR_DATE="none";function placeholderOf(field){switch(field.kind){case"text":return`<${field.label}>`;case"integer":return"<\u6574\u6570>";case"boolean":return"<true|false>";case"enum":return`<${field.values.join("|")}>`;case"date":return`<YYYY-MM-DD|${CLEAR_DATE}>`;case"ref":return field.placeholder}}function createFlags(fields){return fields.map(field=>({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)}))}function updateFlags(fields){const flags=[];for(const field of fields){
3
+ import{booleanText,boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{ORG_MASTER_LIMIT}from"./chunk-MYWDL3WX.js";import{ULID_RE,UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var CLEAR_DATE="none";function placeholderOf(field){switch(field.kind){case"text":return`<${field.label}>`;case"integer":return"<\u6574\u6570>";case"boolean":return"<true|false>";case"enum":return`<${field.values.join("|")}>`;case"date":return`<YYYY-MM-DD|${CLEAR_DATE}>`;case"ref":return field.placeholder}}function createFlags(fields){return fields.map(field=>({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)}))}function updateFlags(fields){const flags=[];for(const field of fields){
4
4
  flags.push({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)});if(field.kind==="ref")flags.push({name:field.clearFlag,summary:field.clearSummary,takesValue:false})}return flags}function integerValue(field,raw){const trimmed=raw.trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;const tooLarge=field.max!==void 0&&value>field.max;if(!Number.isSafeInteger(value)||value<field.min||tooLarge){const range=field.max!==void 0?`${field.min} \u4EE5\u4E0A ${field.
5
5
  max} \u4EE5\u4E0B`:`${field.min} \u4EE5\u4E0A`;throw new UsageError(`${field.flag} \u306F ${range}\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,`${field.label}\u3092\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function fieldBody(input,fields){const body={};for(const field of fields){switch(field.kind){case"text":{const value=boundedText(input,field.flag,{maxChars:field.maxChars,label:field.label});if(value!==void 0)body[field.
6
6
  key]=value;break}case"integer":{const raw=input.flags.get(field.flag);if(raw!==void 0)body[field.key]=integerValue(field,raw);break}case"boolean":{const raw=input.flags.get(field.flag);if(raw!==void 0)body[field.key]=booleanText(field.flag,raw);break}case"enum":{const raw=input.flags.get(field.flag);if(raw===void 0)break;const value=raw.trim().toLowerCase();if(!field.values.includes(value)){throw new UsageError(`${field.flag} \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{LIST_FLAGS}from"./chunk-MI6HVYR2.js";import{graphNextCursor,ms365NotConnectedGuidance}from"./chunk-QBGEYQ2I.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";function graphData(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 graphValue(body,label){const value=graphData(body,label)["value"];if(!Array.isArray(value)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data.value \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
3
+ import{LIST_FLAGS}from"./chunk-MI6HVYR2.js";import{graphNextCursor,ms365NotConnectedGuidance}from"./chunk-H4CDX4TX.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";function graphData(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 graphValue(body,label){const value=graphData(body,label)["value"];if(!Array.isArray(value)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data.value \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
4
4
  return value}function readGraphCursor(body,label,kind){const next=graphData(body,label)["@odata.nextLink"];if(next===void 0||next===null)return{hasMore:false,cursor:null};const parsed=typeof next==="string"?graphNextCursor(next):null;if(parsed===null||kind!=="either"&&parsed.kind!==kind){return{hasMore:"@odata.nextLink \u304B\u3089\u7D9A\u304D\u306E\u5024\u3092\u53D6\u308A\u51FA\u305B\u307E\u305B\u3093",cursor:void 0}}return{hasMore:true,cursor:parsed.value}}function graphPaging(options){const{label,
5
5
  kind}=options;return{cursorParam:kind==="either"?"skiptoken":kind,...options.cursorParamFor!==void 0?{cursorParamFor:options.cursorParamFor}:{},items:body=>graphValue(body,label),readCursor:body=>readGraphCursor(body,label,kind),nextCursor(body){const{hasMore,cursor}=readGraphCursor(body,label,kind);if(hasMore===false)return null;if(hasMore!==true||typeof cursor!=="string"||cursor===""){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B\u7D9A\u304D\uFF08@odata.nextLink\uFF09\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u7D9A\u304D\u306E\u5024\u3092\u8AAD\u3081\u307E\u305B\u3093\u3002\u5168\u4EF6\u3092\u53D6\u5F97\u3067\u304D\u306A\u3044\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\u3002`)}
6
6
  return cursor},withItems(body,merged){const data=graphData(body,label);graphValue(body,label);const seen=new Set;const unique=merged.filter(row=>{const id=isRecord(row)?row["id"]:void 0;if(typeof id!=="string")return true;if(seen.has(id))return false;seen.add(id);return true});return{...body,data:{...data,value:unique,[DUPLICATES_KEY]:merged.length-unique.length}}}}}var DUPLICATES_KEY="@twp.duplicatesRemoved";function graphPagingNotes(body,label){const removed=graphData(body,label)[DUPLICATES_KEY];
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{ATTENDANCE_REPORTS_PATH,ATTENDANCE_REPORT_MASTER_PATHS,resolveNamed}from"./chunk-VELLV6DJ.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,
3
+ import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{ATTENDANCE_REPORTS_PATH,ATTENDANCE_REPORT_MASTER_PATHS,resolveNamed}from"./chunk-MYWDL3WX.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,
4
4
  UsageError}from"./chunk-VFPY2A23.js";var USER_REF_HELP="<\u30E6\u30FC\u30B6\u30FC> \u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u30FBme\uFF08\u81EA\u5206\uFF09\u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u6C0F\u540D\u306F\u5B8C\u5168\u4E00\u81F4\u30671\u4EBA\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08\u540C\u59D3\u540C\u540D\u306A\u3089\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308B\u306E\u3067\u3001\n\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304B\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002ID \u4EE5\u5916\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\n\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002\n\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u793E\u54E1\u756A\u53F7\u3067\u306F\u5F15\u3051\u307E\u305B\u3093\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
5
5
  function userPath(input,suffix=""){const userId=requireResolved(input,"userId");if(!isSafePathSegment(userId)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return`${encodeURIComponent(userId)}${suffix}`}var USER_REF_FLAG={name:"--user",summary:"\u5BFE\u8C61\u306E\u30E6\u30FC\u30B6\u30FC\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",
6
6
  takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"};async function prepareUser(input,ctx,usage){const ref=singleRef(input,{flag:"--user",label:"\u30E6\u30FC\u30B6\u30FC",usage});const user=await ctx.resolver.user(ref);return withResolved(input,{userId:user.id})}var REPORT_LIST_USAGE="twp attendance report list [--month <YYYY-MM> | --from <YYYY-MM-DD> --to <YYYY-MM-DD>] [--user <\u30E6\u30FC\u30B6\u30FC>]";var REPORT_GET_USAGE="twp attendance report get <ID>";var REPORT_REASONS_USAGE="twp attendance report reasons";var REPORT_CREATE_USAGE="twp attendance report create (--date <YYYY-MM-DD> | --from <YYYY-MM-DD> --to <YYYY-MM-DD>) --category <\u533A\u5206> --reason <\u7406\u7531> [--detail <\u7406\u7531\u8A73\u7D30>] [--start-time <HH:MM>] [--end-time <HH:MM>] [--note <\u9023\u7D61\u5185\u5BB9> | --note-file <\u30D1\u30B9>]\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{isoDate}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-VELLV6DJ.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{
3
+ import{isoDate}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-MYWDL3WX.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{
4
4
  ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var ESTIMATE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",submitted:"\u63D0\u793A\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",deleted:"\u524A\u9664\u6E08"};var INVOICE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",manager_confirmation:"\u6848\u4EF6\u62C5\u5F53\u8005\
5
5
  _\u6848\u4EF6\u5185\u5BB9\u30FB\u91D1\u984D\u78BA\u8A8D",invoice_issued:"\u8ACB\u6C42\u66F8\u767A\u884C\u6E08",sent_to_client:"\u5148\u65B9\u9001\u4ED8\u6E08",archived:"\u4FDD\u7BA1\u6E08",deleted:"\u524A\u9664\u6E08",cancelled:"\u53D6\u6D88\uFF08\u7121\u52B9\uFF09",lost:"\u5931\u6CE8"};var ALLOCATION_STATUSES={unallocated:"\u672A\u56DE\u53CE",allocated:"\u56DE\u53CE\u6E08"};function statusRefs(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}function statusHelp(table){
6
6
  return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function licenseForbidden(guidance){return body=>body?.error==="permission_denied"?guidance:void 0}function featureLicenseGuidance(feature){return`${feature}\u3092\u4F7F\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C${feature}\u3092\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E${feature}\u306E\u6A29\u9650\u304C\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-TRNS45SB.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-O7XM54CL.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";
4
- import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-BVREBTDJ.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{PROJECT_MEMBERS_LIMIT,resolveNamed}from"./chunk-VELLV6DJ.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
3
+ import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-CSXCHRYE.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-T5CRU4DB.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";
4
+ import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-E3KMIBSP.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{PROJECT_MEMBERS_LIMIT,resolveNamed}from"./chunk-MYWDL3WX.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
5
5
  --start-date",summary:"\u53C2\u753B\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var END_DATE_FLAG={name:"--end-date",summary:"\u53C2\u753B\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var PERIOD_FILE_FLAG={name:"--period-file",summary:"\u7A3C\u50CD\u671F\u9593\uFF08assignment_periods\uFF09\u306E JSON \u914D\u5217\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};
6
6
  var MEMO_FLAG={name:"--memo",summary:"\u30E1\u30E2\uFF0810,000 \u6587\u5B57\u307E\u3067\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var CLEAR_FLAG={name:"--clear",summary:"\u5225\u540D\u3092\u6D88\u3059",takesValue:false};var MEMO_MAX_CHARS=1e4;var PERIOD_FILE_MAX_CHARS=2e5;var ALIAS_MAX_CHARS=255;var PERIOD_KEYS=["id","start_date","end_date","daily_hours","total_hours","input_mode"];var PERIOD_REQUIRED=["start_date","end_date","daily_hours"];var ROLE_HELP="--role \u306E\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3057\u307E\u3059\uFF08CLI\
7
7
  \u306F\u691C\u67FB\u3057\u307E\u305B\u3093\uFF09\u30022026-10-01 \u6642\u70B9\u306E\u5024\u306F\n member\uFF08\u30E1\u30F3\u30D0\u30FC\uFF09/ manager\uFF08\u7BA1\u7406\u8005\uFF09/ approver\uFF08\u7BA1\u7406\u8005\uFF08\u627F\u8A8D\u8005\uFF09\uFF09/ manager_no_punch\uFF08\u7BA1\u7406\u8005\uFF08\u6253\u523B\u7121\uFF09\uFF09\u3067\u3059\u3002\n \u5024\u306F\u5897\u3048\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u4ECA\u306E\u30E1\u30F3\u30D0\u30FC\u306E\u5024\u306F twp project members \u306E role \u5217\u3067\u78BA\u304B\u3081\u3089\u308C\u307E\u3059\u3002";
@@ -0,0 +1,9 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{UsageError}from"./chunk-VFPY2A23.js";var MS365_BASE_PATH="/api/v2/integrations/ms365";var CONTROL=/[\u0000-\u001f\u007f-\u009f]/;function assertMs365PathSegment(value,label){if(value===""||/^\.+$/.test(value)||/[/\\?#%]/.test(value)||CONTROL.test(value)){throw new UsageError(`${label}\u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${JSON.stringify(value)}`,"\u4E00\u89A7\u30B3\u30DE\u30F3\u30C9\u306E\u51FA\u529B\u306B\u3042\u308B id \u3092\u305D\u306E\u307E\u307E\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return value}
4
+ function ms365Segment(value,label){return encodeURIComponent(assertMs365PathSegment(value,label))}function ms365Path(suffix){return`${MS365_BASE_PATH}${suffix}`}function graphNextCursor(nextLink){const queryStart=nextLink.indexOf("?");if(queryStart<0)return null;const query=nextLink.slice(queryStart+1).split("#")[0]??"";for(const pair of query.split("&")){const eq=pair.indexOf("=");if(eq<0)continue;const key=pair.slice(0,eq).toLowerCase().replace(/^%24/,"$");if(key!=="$skip"&&key!=="$skiptoken")
5
+ continue;const encoded=pair.slice(eq+1);if(encoded==="")return null;let value;try{value=decodeURIComponent(encoded)}catch{return null}return{kind:key==="$skip"?"skip":"skiptoken",value}}return null}function ms365NotConnectedGuidance(body){if(typeof body!=="object"||body===null){return void 0}const error=body["error"];if(error==="ms365_blocked_by_policy"){return ms365BlockedByPolicyGuidance(body)}if(error!=="ms365_not_connected"){return void 0}const url=body["connect_url"];const where=typeof url===
6
+ "string"&&url!==""?`${url} \u3092\u958B\u304D\u3001`:"TWP \u306E\u30ED\u30B0\u30A4\u30F3\u753B\u9762\u3067";return`Microsoft 365 \u3068\u9023\u643A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08\u307E\u305F\u306F\u9023\u643A\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059\uFF09\u3002${where}\u300CMicrosoft\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u30ED\u30B0\u30A4\u30F3\u300D\u304B\u3089\u4E00\u5EA6\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u3068\u9023\u643A\u3055\u308C\u307E\u3059\u3002CLI \u306E\u518D\u30ED\u30B0\u30A4\u30F3\u306F\u8981\u308A\u307E\u305B\u3093\u3002\u9023\u643A\u5F8C\u306B\u540C\u3058\u30B3\u30DE\u30F3\u30C9\u3092\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u76F4\u3057\u3066\u3082\u89E3\u6D88\u3057\u306A\u3044\u5834\u5408\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B Microsoft 365 \u306E\u30A2\u30AF\u30BB\u30B9\u8A31\u53EF\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`}
7
+ function ms365BlockedByPolicyGuidance(body){const code=body["aadsts_code"];const suffix=typeof code==="number"&&Number.isInteger(code)?`\uFF08AADSTS${code}\uFF09`:"";return`\u7D44\u7E54\u306E\u30C7\u30D0\u30A4\u30B9\u30DD\u30EA\u30B7\u30FC\uFF08\u6761\u4EF6\u4ED8\u304D\u30A2\u30AF\u30BB\u30B9\uFF09\u306B\u3088\u308A\u3001Microsoft \u304C\u30B5\u30FC\u30D0\u304B\u3089\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u62D2\u5426\u3057\u307E\u3057\u305F${suffix}\u3002Microsoft 365 \u3068\u306E\u9023\u643A\u306F\u6B8B\u3063\u3066\u3044\u307E\u3059\u304C\u3001TWP \u3084 CLI \u306B\u30ED\u30B0\u30A4\u30F3\u3057\u76F4\u3057\u3066\u3082\u89E3\u6D88\
8
+ \u3057\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u3001Microsoft Entra ID \u306E\u6761\u4EF6\u4ED8\u304D\u30A2\u30AF\u30BB\u30B9\u3067 TWP \u304B\u3089\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u8A31\u53EF\u3055\u308C\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}function ms365NamedRow(row){const id=row["id"];const name=row["displayName"];return{id:typeof id==="string"&&id!==""?id:null,name:typeof name==="string"&&name!==""?
9
+ name:null}}export{assertMs365PathSegment,ms365Segment,ms365Path,graphNextCursor,ms365NotConnectedGuidance,ms365NamedRow};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CRITERION_RE,checkCounts,checksOf,envelope,reasonsMap,reviewOf,withoutResult}from"./chunk-LOTNN4VY.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{WORKFLOWS_PATH}from"./chunk-VELLV6DJ.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,
3
+ import{CRITERION_RE,checkCounts,checksOf,envelope,reasonsMap,reviewOf,withoutResult}from"./chunk-4PROMNXI.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{WORKFLOWS_PATH}from"./chunk-MYWDL3WX.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,
4
4
  pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INSTANCES_PATH=`${WORKFLOWS_PATH}/instances`;var COMMENT_MAX_CHARS=2e3;var IN_FLIGHT=new Set(["pending","processing"]);var GET_USAGE="twp workflow ai-review get <\u7533\u8ACBID>";var UPDATE_USAGE="twp workflow ai-review-comment update <\u6307\u6458ID> --instance <\u7533\u8ACBID> (--text <\u672C\u6587> | --text-file <\u30D1\u30B9>)";var DELETE_USAGE="twp workflow ai-review-comment delete <\u6307\u6458ID> --instance <\u7533\u8ACBID> --yes";function instanceUuid(raw,usage,what){const id=raw?.trim()??
5
5
  "";if(id==="")throw new UsageError(`\u7533\u8ACBID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!UUID_RE.test(id))throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`${usage}
6
6
  \u7533\u8ACBID \u306F twp workflow approval pending \u306E id \u5217\u3067\u3059\u3002`);return id}function workflowReviewPath(instanceId){return`${INSTANCES_PATH}/${encodeURIComponent(instanceId)}/ai-review`}function reviewTarget(input){if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,GET_USAGE);return workflowReviewPath(instanceUuid(input.args[0],GET_USAGE,"\u4F4D\u7F6E\u5F15\u6570"))}function commentTarget(input,usage){
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{FORCE_FLAG,OUT_FLAG,REV_FLAG,revOf,singleId,uploadStaged}from"./chunk-KZHVWTZB.js";import{CUSTOMER_LICENSE,childForbidden,levelForbidden}from"./chunk-EOYQ56LM.js";import{inspectLocalFile}from"./chunk-I4TR55UF.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-TRNS45SB.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{SALES_ESTIMATES_PATH,isExactNumericId}from"./chunk-VELLV6DJ.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{FORCE_FLAG,OUT_FLAG,REV_FLAG,revOf,singleId,uploadStaged}from"./chunk-WBSAJ3P2.js";import{CUSTOMER_LICENSE,childForbidden,levelForbidden}from"./chunk-BZJJAJGN.js";import{inspectLocalFile}from"./chunk-I4TR55UF.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-CSXCHRYE.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{SALES_ESTIMATES_PATH,isExactNumericId}from"./chunk-MYWDL3WX.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var DOCUMENT_TYPES=["order_form","individual_contract","other"];var DOCUMENT_TYPE_HELP="order_form\uFF1D\u6CE8\u6587\u66F8 / individual_contract\uFF1D\u500B\u5225\u5951\u7D04\u66F8 / other\uFF1D\u305D\u306E\u4ED6\u6848\u4EF6\u66F8\u985E";var MAGIC_BYTES={pdf:["%PDF-"],jpg:["\xFF\xD8\xFF"],jpeg:["\xFF\xD8\xFF"],png:["\x89PNG\r\n\n"],xlsx:["PK","PK","PK\x07\b"],docx:["PK","PK","PK\x07\b"],xls:["\xD0\xCF\xE0\xA1\xB1\xE1"],doc:["\xD0\xCF\xE0\xA1\xB1\xE1"]};var FILE_NAME_MAX_CHARS=255;var FIELDS=[
5
5
  {kind:"text",flag:"--name",key:"document_name",label:"\u66F8\u985E\u540D",maxChars:255,summary:"\u66F8\u985E\u540D\uFF08create \u3067\u306F\u5FC5\u9808\uFF09"},{kind:"enum",flag:"--type",key:"document_type",values:DOCUMENT_TYPES,summary:`\u66F8\u985E\u7A2E\u5225\uFF08${DOCUMENT_TYPE_HELP}\u30FBcreate \u3067\u306F\u5FC5\u9808\uFF09`}];var COLUMNS=["document_id","estimate_id","document_type","document_type_label","document_name","current_version","updated_by_name","updated_at"];var VERSION_COLUMNS=[
6
6
  "version_number","file_name","file_size","is_current","created_by_name","created_at"];var ESTIMATE_FLAG={name:"--estimate",summary:"\u898B\u7A4D\u306E ID\uFF08twp estimate list \u306E id \u5217\u306E\u6570\u5B57\u30FB\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u898B\u7A4DID>"};var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30D5\u30A1\u30A4\u30EB\uFF08PDF\u30FBJPEG\u30FBPNG\u30FBWord\u30FBExcel\u3002\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{ResolveError,ULID_RE,UUID_RE,isSafePathSegment,resolveProjectRef,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{graphNextCursor,ms365NamedRow,ms365NotConnectedGuidance,ms365Path,ms365Segment}from"./chunk-QBGEYQ2I.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import{UsageError}from"./chunk-VFPY2A23.js";import{loadProjectConfig,loadUserConfig}from"./chunk-4VZKNEVN.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";var BACKLOG_BASE_PATH="/api/v2/integrations/backlog";function assertBacklogPathSegment(value,label){if(!isSafePathSegment(value)){throw new ResolveError(`${label}\u3068\u3057\u3066 URL \u306B\u5165\u308C\u3089\u308C\u306A\u3044\u5024\u304C\u30B5\u30FC\u30D0\u304B\u3089\u8FD4\u308A\u307E\u3057\u305F: ${JSON.stringify(value)}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function backlogSpacePath(spaceId,suffix=""){assertBacklogPathSegment(spaceId,
3
+ import{ResolveError,ULID_RE,UUID_RE,isSafePathSegment,resolveProjectRef,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{graphNextCursor,ms365NamedRow,ms365NotConnectedGuidance,ms365Path,ms365Segment}from"./chunk-H4CDX4TX.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import{UsageError}from"./chunk-VFPY2A23.js";import{loadProjectConfig,loadUserConfig}from"./chunk-4VZKNEVN.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";var BACKLOG_BASE_PATH="/api/v2/integrations/backlog";function assertBacklogPathSegment(value,label){if(!isSafePathSegment(value)){throw new ResolveError(`${label}\u3068\u3057\u3066 URL \u306B\u5165\u308C\u3089\u308C\u306A\u3044\u5024\u304C\u30B5\u30FC\u30D0\u304B\u3089\u8FD4\u308A\u307E\u3057\u305F: ${JSON.stringify(value)}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function backlogSpacePath(spaceId,suffix=""){assertBacklogPathSegment(spaceId,
4
4
  "Backlog \u30B9\u30DA\u30FC\u30B9 ID");return`${BACKLOG_BASE_PATH}/${encodeURIComponent(spaceId)}${suffix}`}function idString(value){if(typeof value==="number"&&Number.isFinite(value))return String(value);if(typeof value==="string"&&value.trim()!=="")return value.trim();return null}function text(value){return typeof value==="string"&&value.trim()!==""?value.trim():null}function backlogSpaceAliases(spaceUrl){const aliases=[];const trimmed=spaceUrl.trim().replace(/\/+$/,"");if(trimmed==="")return aliases;
5
5
  let host;try{host=new URL(trimmed).host}catch{host=trimmed.replace(/^\/+/,"").split("/")[0]??""}if(host==="")return aliases;aliases.push(host);const label=host.split(".")[0];if(label!==void 0&&label!==""&&label!==host)aliases.push(label);return aliases}function backlogSpaceRow(row){const url=text(row["space_url"]);return{id:idString(row["id"]),name:url,code:null,aliases:url!==null?backlogSpaceAliases(url):[]}}function backlogProjectRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:text(
6
6
  row["projectKey"])}}function backlogStatusRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null}}function backlogUserRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null,aliases:[text(row["userId"]),text(row["mailAddress"])].filter(v=>v!==null)}}var DEFAULT_LOOKUP_SCOPE="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8";function fold(value){return value.trim().toLowerCase()}function keysOf(ref){return[ref.id,ref.code,ref.name,...ref.aliases??[]].filter(v=>typeof v==="string"&&v.trim()!=="").map(fold)}function describe(ref){return ref.code!==void 0&&ref.code!==null&&ref.code!==""&&ref.code!==ref.name?`${ref.name}\uFF08${ref.code}\uFF09`:ref.name}async function suggest(input,candidates){try{const{default:fuzzysort}=await import("./fuzzysort-DFVKV4B4.js");
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-B4O5MGOV.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-YXVN6OCH.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UFGJSWKU.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-VELLV6DJ.js";
4
- import{ResolveError}from"./chunk-HVZUXLQ4.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,
3
+ import{loadDomain}from"./chunk-OPRRLLVH.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-YXVN6OCH.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UFGJSWKU.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-MYWDL3WX.js";
4
+ import{ResolveError}from"./chunk-HVZUXLQ4.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-PECIBNFD.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-QZBE4KC2.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-74BPZOKU.js";import{stringWidth}from"./chunk-UREA4ZIG.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?"":`
7
7
  \u64CD\u4F5C: