@tocca-systems/twp-cli 0.110.0 → 0.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,12 @@
11
11
  `CHANGELOG.md` に残してあります。顧客向けの履歴は public 公開以降を対象とします。
12
12
  -->
13
13
 
14
+ ## 0.111.0
15
+
16
+ 選択式の質問で、選択肢ごとに「回答後に変更する担当者・ステータス」の案内を付けられるようになりました(`--option-assignee` / `--option-status`)。
17
+
18
+ `twp project update` で、プロジェクトのアサインモード(アサイン期間を設定していないメンバーの計画時間の扱い)と既定の時間を変更できるようになりました。
19
+
14
20
  ## 0.110.0
15
21
 
16
22
  `twp corporate shareholder-register` で、基準日時点の株主名簿の参照・出力、既存名簿の取込、実質的支配者の候補と別表二用の株主グループ別持分の確認が、`twp corporate share-transaction create` で株式異動の登録が、ターミナルからできるようになりました。
package/README.md CHANGED
@@ -195,7 +195,7 @@ twp task update <キー|ID> --group <グループ> # 別のグル
195
195
  - 一覧は `--limit <件数>` / `--all` / `--cursor` で辿れます(`task subtasks` と `project members` はページングがありません)
196
196
  - **`twp task list` / `task subtasks` に `--summary` を付けると、各タスクの本文(`description` / `description_html`)を省いて出します。** 件数・ページング情報は変わらず、`--all` / `--keyword` / `--query` / `--project __private__` と併用できます。本文の要らない一覧(重複確認・仕分け)で出力を小さくしたいときに使います
197
197
  - **フラグの値は `--flag 値` でも `--flag=値` でも書けます。** 空白を含む値は `--keyword "山田 太郎"` のように引用し、`-` で始まる値は `--keyword=-foo` の形で渡します
198
- - **質問(`--ask-question`)は質問文(`--question` / `--question-file`)と選択肢(`--option キー=表示文`・1〜5個)が要ります。** 選択肢のキーは10文字以内で、回答(`--select`)に使う識別子です。複数選択は `--multi-select`、自由記述を禁じるなら `--no-free-text`。選択肢ごとの説明は `--option-description キー=説明`(1000文字以内)、画像は `--option-image キー=添付ID`(`twp task attachment upload` で得た ID)で付けます。どちらも最初の `=` で区切るので、説明に `=` や改行を含めて構いません。`list` の `question` 列には説明(改行は空白に畳む)と画像の ID も出ます
198
+ - **質問(`--ask-question`)は質問文(`--question` / `--question-file`)と選択肢(`--option キー=表示文`・1〜5個)が要ります。** 選択肢のキーは10文字以内で、回答(`--select`)に使う識別子です。複数選択は `--multi-select`、自由記述を禁じるなら `--no-free-text`。選択肢ごとの説明は `--option-description キー=説明`(1000文字以内)、画像は `--option-image キー=添付ID`(`twp task attachment upload` で得た ID)で付けます。どちらも最初の `=` で区切るので、説明に `=` や改行を含めて構いません。回答後に変更してほしい担当者・ステータスは `--option-assignee キー=担当者` / `--option-status キー=ステータス` で選択肢ごとに案内できます(`--assignee` / `--status` と同じ解決規則で ID にして送り、質問カードに表示されるだけで回答しても自動では変わりません)。`list` の `question` 列には説明(改行は空白に畳む)と画像の ID も出ます
199
199
  - **`twp task comment list` の `question` / `answer` 列で、回答済みかどうかが分かります**(同じページにある回答を質問の行へ突き合わせます。ページをまたぐ場合は `--all` を付けてください)
200
200
  - **`twp task attachment upload` はアップロード用URLの発行・ファイルの転送・タスクへの紐づけを1コマンドで行います。** 既にある添付は残したまま追加します。紐づけに失敗したときは添付IDを stderr に出して失敗で終わります(紐づけていない添付はサーバが自動で削除するので、そのまま再実行して構いません)。`--dry-run` はURLの発行リクエストだけを表示します(その前に送る容量検査は注記で知らせます)
201
201
  - `twp task attachment download` は `twp backlog attachment download` と同じく **`--out` のパスへ実体を書き出し、既存ファイルは `--force` を付けたときだけ上書きします**。添付ID は `twp task attachment list` の `id` です
@@ -225,6 +225,7 @@ twp project delete <ID|コード> --yes # 取り消せない
225
225
  - 値を外すときは、日付は `none`、ユーザー・部署・メモ・既定の期日は `--no-manager` / `--no-leader` / `--no-reporter` / `--no-department` / `--no-memo` / `--no-default-due-days` です
226
226
  - タスクの既定の期日(`--default-due-days`)は作成時には指定できません。作成後に `update` で設定してください
227
227
  - Wiki の新規ページの既定の形式は `--wiki-default-format <html|markdown>` で設定します。`twp wiki create` で `--content-format` を省き、`--content-file` の拡張子からも形式が決まらないときにこの形式で作られます(未設定なら HTML。作成済みのページの形式は変わりません)
228
+ - アサインモード(アサイン期間を設定していないメンバーの計画時間の扱い)は `--assignment-default-mode <full_time|no_hours|default_hours|required>` で、`default_hours` のときの1日あたりの時間は `--assignment-default-hours <0.5〜24>` で設定します(プロジェクト設定画面の「アサインモード」と同じ項目)
228
229
  - **`update --code` はそのプロジェクトのタスクキーを全件書き換えます。** 送る前に件数を表示し、タスクがあれば `--yes` が無い限り送りません(`--dry-run` で件数だけ確かめられます)
229
230
  - **`delete` は、タスク・有効な打刻・販売管理からの参照・業務データ(議事録・Wiki 等)が残っているとサーバが断ります**(理由をそのまま表示し、何も消えません)。閉じるだけなら削除せず `update --end-date <過去日>` でクローズできます
230
231
 
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-CDAU3M7F.js";import{exitCodeFor,fetchAllPages,reportError}from"./chunk-IWBFSSXS.js";import"./chunk-MMM6CXMO.js";import"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-P4QSPSOQ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";
3
+ import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-CDAU3M7F.js";import{exitCodeFor,fetchAllPages,reportError}from"./chunk-QVZ4POKH.js";import"./chunk-2O45QMLH.js";import"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-P4QSPSOQ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";
4
4
  import{readBody}from"./chunk-HEH3PUW2.js";import{ALLOW_REDACTED_FLAG,NO_REDACT_FLAG,NO_REDACT_NOTICE}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs,repeatedValues}from"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import{ApiError,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";
5
5
  import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,envelopePaging,isPageNumberEnvelope,pageRangeNotes,positiveInteger,readEnvelopeCursor,readPageNumberCursor,shellQuote}from"./chunk-MI6HVYR2.js";import"./chunk-3ZRMMBP5.js";import{ApiResponseError,EXIT_OK,EXIT_WAIT_TIMEOUT,NetworkError,UsageError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-KIZIRVW6.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{
6
6
  httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,resolveConfiguredOutput,resolveProfile}from"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import{HELP_TOKEN}from"./chunk-EDFUH5ZL.js";import"./chunk-OKATZ4SN.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-RKBUJKI5.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=>/^\{[^/{}]+\}$/.
@@ -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: ${formatUnknownArgs(parsed.unknown)}
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-D635GYAP.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-VB3R5TZQ.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",
@@ -4,10 +4,10 @@ var LOADERS={agent:async()=>(await import("./agent-HIZOEXPJ.js")).agentDomain,"a
4
4
  attendanceDomainWithRecords,"audit-log":async()=>(await import("./audit-log-ZGK7IVLD.js")).auditLogDomain,backlog:async()=>(await import("./backlog-UC5BLMGR.js")).backlogDomain,budget:async()=>(await import("./budget-KBD7M3BQ.js")).budgetDomain,"business-hours":async()=>(await import("./business-hours-37MRL53C.js")).businessHoursDomain,"business-place":async()=>(await import("./sales-master-BOR7D5QK.js")).businessPlaceDomain,company:async()=>(await import("./company-FKHXNP5D.js")).companyDomain,
5
5
  contract:async()=>(await import("./contract-ZV2OSNVO.js")).contractDomain,corporate:async()=>(await import("./corporate-5PZXHB7R.js")).corporateDomain,customer:async()=>(await import("./company-FKHXNP5D.js")).customerDomain,department:async()=>(await import("./department-C35IWGFL.js")).departmentDomain,deposit:async()=>(await import("./deposit-DJ4JDEFB.js")).depositDomain,estimate:async()=>(await import("./estimate-VQQIBYXN.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-QOEV2VNV.js")).
6
6
  evaluationDomain,expense:async()=>(await import("./expense-J3CMLOAV.js")).expenseDomain,faq:async()=>(await import("./faq-HPBYZLNO.js")).faqDomain,"fiscal-year":async()=>(await import("./fiscal-year-ZCRHTUSK.js")).fiscalYearDomain,holiday:async()=>(await import("./holiday-R6WLLRIS.js")).holidayDomain,"goal-sheet":async()=>(await import("./evaluation-QOEV2VNV.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-LYBQYPXK.js")).inquiryDomain,invoice:async()=>(await import("./invoice-MJD6ZV3U.js")).
7
- invoiceDomain,"job-title":async()=>(await import("./job-title-EQBDT5QY.js")).jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-SX2U3G2T.js")).knowledgeDomain,leave:async()=>(await import("./leave-WILMBPAW.js")).leaveDomain,license:async()=>(await import("./license-4GY3UVML.js")).licenseDomain,"login-history":async()=>(await import("./login-history-WZ3RYFAB.js")).loginHistoryDomain,media:async()=>(await import("./media-BT4FRZ56.js")).mediaDomain,meeting:async()=>(await import("./knowledge-YNWUVXDF.js")).
8
- meetingDomain,note:async()=>(await import("./knowledge-YNWUVXDF.js")).noteDomain,notification:async()=>(await import("./notification-VMTIJ5N3.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-Z43D26SJ.js")).onedriveDomain,outlook:async()=>(await import("./outlook-DLEA27PZ.js")).outlookDomain,payee:async()=>(await import("./sales-master-BOR7D5QK.js")).payeeDomain,position:async()=>(await import("./position-J6TOE5KO.js")).positionDomain,project:async()=>(await import("./project-IV5M2SLT.js")).
7
+ invoiceDomain,"job-title":async()=>(await import("./job-title-EQBDT5QY.js")).jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-SX2U3G2T.js")).knowledgeDomain,leave:async()=>(await import("./leave-WILMBPAW.js")).leaveDomain,license:async()=>(await import("./license-4GY3UVML.js")).licenseDomain,"login-history":async()=>(await import("./login-history-WZ3RYFAB.js")).loginHistoryDomain,media:async()=>(await import("./media-5VJ47ZOP.js")).mediaDomain,meeting:async()=>(await import("./knowledge-YNWUVXDF.js")).
8
+ meetingDomain,note:async()=>(await import("./knowledge-YNWUVXDF.js")).noteDomain,notification:async()=>(await import("./notification-VMTIJ5N3.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-Z43D26SJ.js")).onedriveDomain,outlook:async()=>(await import("./outlook-DLEA27PZ.js")).outlookDomain,payee:async()=>(await import("./sales-master-BOR7D5QK.js")).payeeDomain,position:async()=>(await import("./position-J6TOE5KO.js")).positionDomain,project:async()=>(await import("./project-XWOXBJQQ.js")).
9
9
  projectDomain,prospect:async()=>(await import("./prospect-LSNBOVFF.js")).prospectDomain,purchase:async()=>(await import("./purchase-K75TDCCD.js")).purchaseDomain,qualification:async()=>(await import("./skill-KNJGR57V.js")).qualificationDomain,receivable:async()=>(await import("./receivable-X7BEQOJF.js")).receivableDomain,redmine:async()=>(await import("./redmine-A5LDGTPW.js")).redmineDomain,report:async()=>(await import("./report-KDOXKFPP.js")).reportDomain,"role-template":async()=>(await import("./evaluation-QOEV2VNV.js")).
10
10
  roleTemplateDomain,"rounding-setting":async()=>(await import("./sales-numbering-O5RAC5TI.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-BOR7D5QK.js")).sealImpressionDomain,search:async()=>(await import("./search-AHFUN2XY.js")).searchDomain,secret:async()=>(await import("./secret-P42JCOI4.js")).secretDomain,segment:async()=>(await import("./segment-G3G6B26B.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-O6T2Q42G.js")).shiftDomain,skill:async()=>(await import("./skill-KNJGR57V.js")).
11
- skillDomain,"staffing-board":async()=>(await import("./staffing-board-COZL36UA.js")).staffingBoardDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-VJXT64KQ.js")).supplierPaymentDomain,support:async()=>(await import("./support-6FJE2ZIO.js")).supportDomain,task:async()=>(await import("./task-XDUZUVLH.js")).taskDomain,teams:async()=>(await import("./teams-3ZI6ZY3F.js")).teamsDomain,user:async()=>(await import("./user-J2QJL3U5.js")).
11
+ skillDomain,"staffing-board":async()=>(await import("./staffing-board-COZL36UA.js")).staffingBoardDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-VJXT64KQ.js")).supplierPaymentDomain,support:async()=>(await import("./support-6FJE2ZIO.js")).supportDomain,task:async()=>(await import("./task-HJETPPM3.js")).taskDomain,teams:async()=>(await import("./teams-3ZI6ZY3F.js")).teamsDomain,user:async()=>(await import("./user-6UMBJC73.js")).
12
12
  userDomain,"user-contract-type":async()=>(await import("./user-contract-type-HTUDQQZN.js")).userContractTypeDomain,"user-group":async()=>(await import("./user-group-7ZXNZDOQ.js")).userGroupDomain,wiki:async()=>(await import("./knowledge-YNWUVXDF.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-O6T2Q42G.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-JNXY7UQD.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-NXUURO6B.js")).workflowDomain};
13
13
  async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
@@ -203,10 +203,11 @@ resolver.user(ref,flagName)}}var FIELDS2=[{kind:"text",flag:"--name",key:"name",
203
203
  {kind:"date",flag:"--start-date",key:"start_date",summary:"\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09"},{kind:"date",flag:"--end-date",key:"end_date",summary:"\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09\u3002\u904E\u53BB\u65E5\u306B\u3059\u308B\u3068\u30AF\u30ED\u30FC\u30BA\u3001\u4ECA\u65E5\u4EE5\u964D\u304B none \u3067\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u306A\u308B"},userRefField("--manager","project_manager_id","\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC"),
204
204
  userRefField("--leader","project_leader_id","\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EA\u30FC\u30C0\u30FC"),userRefField("--reporter","reporter_id","\u5831\u544A\u62C5\u5F53\u8005"),{kind:"ref",flag:"--department",key:"department_id",summary:"\u4E3B\u5E79\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-department",clearSummary:"\u4E3B\u5E79\u90E8\u7F72\u3092\u5916\u3059",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{
205
205
  kind:"boolean",flag:"--visible",key:"display_flg",summary:"\u4E00\u89A7\u306B\u8868\u793A\u3059\u308B\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--tasks-enabled",key:"task_enabled_flg",summary:"\u30BF\u30B9\u30AF\u7BA1\u7406\u3092\u4F7F\u3046\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--punch-disabled",key:"punch_disabled_flg",summary:"\u6253\u523B\u306E\u5BFE\u8C61\u304B\u3089\u5916\u3059\u304B\uFF08true / false\uFF09\u3002\u8AB2\u984C\u30FB\u30BF\u30B9\u30AF\u7BA1\u7406\u3060\u3051\u306B\u4F7F\u3046\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5411\u3051"},
206
- {kind:"integer",flag:"--default-due-days",key:"default_due_days",label:"\u65E2\u5B9A\u306E\u671F\u65E5",min:1,max:365,summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\uFF08\u4F5C\u6210\u65E5\u304B\u3089\u4F55\u65E5\u5F8C\u304B\u30FB1\u301C365\uFF09"},{kind:"enum",flag:"--wiki-default-format",key:"wiki_default_content_format",values:["html","markdown"],summary:"Wiki \u306E\u65B0\u898F\u30DA\u30FC\u30B8\u306E\u65E2\u5B9A\u306E\u5F62\u5F0F\uFF08html / markdown\uFF09\u3002\u4F5C\u6210\u6E08\u307F\u306E\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u306F\u5909\u308F\u3089\u306A\u3044"}];
207
- var CREATE_FIELDS=FIELDS2.filter(field=>field.key!=="default_due_days");var MEMO_FLAGS2=[{name:"--memo",summary:"\u30E1\u30E2\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08--memo-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},{name:"--memo-file",summary:"\u30E1\u30E2\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",takesValue:true,
208
- placeholder:"<\u30D1\u30B9|->"}];var CLEAR_FLAGS2=[{flag:{name:"--no-memo",summary:"\u30E1\u30E2\u3092\u6D88\u3059",takesValue:false},key:"memo",conflicts:["--memo","--memo-file"]},{flag:{name:"--no-default-due-days",summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\u3092\u5916\u3059",takesValue:false},key:"default_due_days",conflicts:["--default-due-days"]}];var COLUMNS=["id","code","name","status","start_date","end_date","reporter_id","display_flg","task_enabled\
209
- _flg","wiki_default_content_format","updated_at"];var STATUS_HELP="\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08active / closed\uFF09\u306F\u7D42\u4E86\u65E5\u304B\u3089\u81EA\u52D5\u3067\u6C7A\u307E\u308A\u307E\u3059\uFF08\u6307\u5B9A\u306F\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\n\u65E9\u304F\u7D42\u3048\u308B\u3068\u304D\u306F --end-date \u3092\u904E\u53BB\u65E5\u306B\u3001\u518D\u958B\u3059\u308B\u3068\u304D\u306F\u4ECA\u65E5\u4EE5\u964D\u306E\u65E5\u4ED8\u304B none \u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
206
+ {kind:"integer",flag:"--default-due-days",key:"default_due_days",label:"\u65E2\u5B9A\u306E\u671F\u65E5",min:1,max:365,summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\uFF08\u4F5C\u6210\u65E5\u304B\u3089\u4F55\u65E5\u5F8C\u304B\u30FB1\u301C365\uFF09"},{kind:"enum",flag:"--wiki-default-format",key:"wiki_default_content_format",values:["html","markdown"],summary:"Wiki \u306E\u65B0\u898F\u30DA\u30FC\u30B8\u306E\u65E2\u5B9A\u306E\u5F62\u5F0F\uFF08html / markdown\uFF09\u3002\u4F5C\u6210\u6E08\u307F\u306E\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u306F\u5909\u308F\u3089\u306A\u3044"},
207
+ {kind:"enum",flag:"--assignment-default-mode",key:"assignment_default_mode",values:["full_time","no_hours","default_hours","required"],summary:"\u30A2\u30B5\u30A4\u30F3\u30E2\u30FC\u30C9\uFF08full_time / no_hours / default_hours / required\uFF09\u3002\u30A2\u30B5\u30A4\u30F3\u671F\u9593\u3092\u8A2D\u5B9A\u3057\u3066\u3044\u306A\u3044\u30E1\u30F3\u30D0\u30FC\u306E\u8A08\u753B\u6642\u9593\u306E\u6271\u3044"},{kind:"number",flag:"--assignment-default-hours",key:"assignment_default_hours",label:"\u65E2\u5B9A\u306E\
208
+ \u30A2\u30B5\u30A4\u30F3\u6642\u9593",min:.5,max:24,summary:"\u30A2\u30B5\u30A4\u30F3\u30E2\u30FC\u30C9\u304C default_hours \u306E\u3068\u304D\u306E1\u65E5\u3042\u305F\u308A\u306E\u6642\u9593\uFF080.5\u301C24\uFF09"}];var CREATE_FIELDS=FIELDS2.filter(field=>field.key!=="default_due_days");var MEMO_FLAGS2=[{name:"--memo",summary:"\u30E1\u30E2\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08--memo-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},
209
+ {name:"--memo-file",summary:"\u30E1\u30E2\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",takesValue:true,placeholder:"<\u30D1\u30B9|->"}];var CLEAR_FLAGS2=[{flag:{name:"--no-memo",summary:"\u30E1\u30E2\u3092\u6D88\u3059",takesValue:false},key:"memo",conflicts:["--memo","--memo-file"]},{flag:{name:"--no-default-due-days",summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\u3092\u5916\u3059",
210
+ takesValue:false},key:"default_due_days",conflicts:["--default-due-days"]}];var COLUMNS=["id","code","name","status","start_date","end_date","reporter_id","display_flg","task_enabled_flg","wiki_default_content_format","assignment_default_mode","assignment_default_hours","updated_at"];var STATUS_HELP="\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08active / closed\uFF09\u306F\u7D42\u4E86\u65E5\u304B\u3089\u81EA\u52D5\u3067\u6C7A\u307E\u308A\u307E\u3059\uFF08\u6307\u5B9A\u306F\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\n\u65E9\u304F\u7D42\u3048\u308B\u3068\u304D\u306F --end-date \u3092\u904E\u53BB\u65E5\u306B\u3001\u518D\u958B\u3059\u308B\u3068\u304D\u306F\u4ECA\u65E5\u4EE5\u964D\u306E\u65E5\u4ED8\u304B none \u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
210
211
  var REF_HELP="\u30E6\u30FC\u30B6\u30FC\uFF08--manager / --leader / --reporter\uFF09\u306F me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u3001\u90E8\u7F72\u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3084\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3059\u308B\u3068\u4E00\u610F\u306B\u6C7A\u307E\u308A\u307E\u3059\u3002";
211
212
  var CREATE_FORBIDDEN="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210\u306B\u306F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\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 DELETE_FORBIDDEN="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u524A\u9664\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3001\u304B\u3064\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3067\u3042\u308B\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002";
212
213
  var UPDATE_FORBIDDEN="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u66F4\u65B0\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3001\u304B\u3064\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3067\u3042\u308B\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002";
@@ -258,9 +259,9 @@ const current=isRecord(body)&&typeof body["current_code"]==="string"?body["curre
258
259
  description:"DELETE /api/v2/projects/{id}\u3002<ID|\u30B3\u30FC\u30C9> \u306F\u7701\u7565\u3067\u304D\u307E\u305B\u3093\uFF08\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u4F7F\u3044\u307E\u305B\u3093\uFF09\u3002\n\u53D6\u308A\u6D88\u305B\u306A\u3044\u305F\u3081 --yes \u304C\u8981\u308A\u307E\u3059\uFF08--dry-run \u3067\u9001\u308B\u5185\u5BB9\u3060\u3051\u3092\u78BA\u304B\u3081\u3089\u308C\u307E\u3059\uFF09\u3002\n\n\u914D\u4E0B\u306E\u30BF\u30B9\u30AF\u30FB\u6709\u52B9\u306A\u6253\u523B\u30FB\u8CA9\u58F2\u7BA1\u7406\u304B\u3089\u306E\u53C2\u7167\u30FB\u696D\u52D9\u30C7\u30FC\u30BF\uFF08\u8B70\u4E8B\u9332\u30FBWiki \u7B49\uFF09\u304C\u6B8B\u3063\u3066\u3044\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u3001\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3092\u65AD\u308A\u307E\u3059\n\uFF08\u7406\u7531\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\u5148\u306B\u305D\u308C\u3089\u3092\u7247\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002\u30E1\u30F3\u30D0\u30FC\u306E\u767B\u9332\u306F\u30B5\u30FC\u30D0\u304C\u4F75\u305B\u3066\u524A\u9664\u3057\u307E\u3059\u3002\n\u4F7F\u308F\u306A\u304F\u306A\u3063\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u6B8B\u3057\u305F\u307E\u307E\u9589\u3058\u308B\u3060\u3051\u306A\u3089\u3001\u524A\u9664\u305B\u305A\u306B twp project update <\u30B3\u30FC\u30C9> --end-date <\u904E\u53BB\u65E5> \u3067\u30AF\u30ED\u30FC\u30BA\u3067\u304D\u307E\u3059\u3002\n\n\u4F8B:\n twp project delete OLDPJ --dry-run\n twp project delete OLDPJ --yes",
259
260
  destructive:true,forbidden:DELETE_FORBIDDEN,flags:[],async prepare(input,ctx){const ref=singleRef(input,{flag:"<ID|\u30B3\u30FC\u30C9>",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",usage:DELETE_USAGE2});if(collapsesInUrlPath(ref)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E UUID \u304B\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${ref}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002")}
260
261
  const project=await ctx.resolver.project(ref);return withResolved(input,{projectId:project.id,...project.code!==project.id?{currentCode:project.code}:{}})},plan:input=>({method:"DELETE",path:`${PROJECTS_PATH}/${encodeURIComponent(requireResolved(input,"projectId"))}`}),plannedNotes:input=>{const id=requireResolved(input,"projectId");const code=input.resolved?.["currentCode"];return[`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ${typeof code==="string"?`${code}\uFF08${id}\uFF09`:id} \u3092\u524A\u9664\u3057\u307E\u3059\u3002\u30BF\u30B9\u30AF\u30FB\u6253\u523B\u306A\u3069\u304C\u6B8B\u3063\u3066\u3044\u308C\
261
- \u3070\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u4F55\u3082\u6D88\u3048\u307E\u305B\u3093\uFF09\u3002`]},summarize:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664"),raw:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664")};var projectWriteOperations=[createOperation3,updateOperation3,deleteOperation3];var LIST_COLUMNS2=["id","code","name","status","effective_status"];var GET_COLUMNS2=["id","code","name","status","effective_status","display_flg","closed_flg","task_enabled_flg","wiki_default_content_format","start_date","end_date","reporter_id","created_at","updated_at"];var MEMBER_COLUMNS2=["user_id","user_name","user_email","role","wiki_role","alias","department_name"];function memberItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError(
262
- "\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}var listPaging=envelopePaging({label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7"});function listItems(body){return listPaging.items(body)}function projectObject(body){const project=isRecord(body)?body["project"]:void 0;if(!isRecord(project)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A73\u7D30\u306E\
263
- \u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return project}var MANHOURS_USAGE="twp project manhours [<ID|\u30B3\u30FC\u30C9>] [--from <YYYY-MM-DD>] [--to <YYYY-MM-DD>]";var projectDomain={name:"project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u30E1\u30F3\u30D0\u30FC\u306E\u30A2\u30B5\u30A4\u30F3\u30FB\u5DE5\u6570\u30FB\u30EA\u30B9\u30AF\u5206\u6790\u30FB\u53CE\u652F\u5206\u6790\u30FB\u5DE5\u7A0B",
262
+ \u3070\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u4F55\u3082\u6D88\u3048\u307E\u305B\u3093\uFF09\u3002`]},summarize:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664"),raw:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664")};var projectWriteOperations=[createOperation3,updateOperation3,deleteOperation3];var LIST_COLUMNS2=["id","code","name","status","effective_status"];var GET_COLUMNS2=["id","code","name","status","effective_status","display_flg","closed_flg","task_enabled_flg","wiki_default_content_format","assignment_default_mode","assignment_default_hours","start_date","end_date","reporter_id","created_at","updated_at"];var MEMBER_COLUMNS2=["user_id","user_name","user_email","role","wiki_role","alias","department_name"];function memberItems(body){const list=isRecord(body)?body["list"]:void 0;
263
+ if(!Array.isArray(list)){throw new ApiResponseError("\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}var listPaging=envelopePaging({label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7"});function listItems(body){return listPaging.items(body)}function projectObject(body){const project=isRecord(body)?body["project"]:void 0;if(!isRecord(
264
+ project)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A73\u7D30\u306E\u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return project}var MANHOURS_USAGE="twp project manhours [<ID|\u30B3\u30FC\u30C9>] [--from <YYYY-MM-DD>] [--to <YYYY-MM-DD>]";var projectDomain={name:"project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u30E1\u30F3\u30D0\u30FC\u306E\u30A2\u30B5\u30A4\u30F3\u30FB\u5DE5\u6570\u30FB\u30EA\u30B9\u30AF\u5206\u6790\u30FB\u53CE\u652F\u5206\u6790\u30FB\u5DE5\u7A0B",
264
265
  operations:[{name:"list",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp project list [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>] [--keyword <\u8A9E>] [--status <\u72B6\u614B>]",description:"--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08id / code / name / status / effective_status\uFF09\u3067\u3059\u3002\n\u6B32\u3057\u3044\u5217\u3060\u3051\u3092\u6A5F\u68B0\u51E6\u7406\u3057\u305F\u3044\u3068\u304D\u306F --query \u3067\u9078\u3093\u3067\u304F\u3060\u3055\u3044\uFF08--query \u306F\u751F\u30C7\u30FC\u30BF\u306B\u5BFE\u3057\u3066\u8A55\u4FA1\u3055\u308C\u307E\u3059\uFF09\u3002\n\n"+
265
266
  LIST_PAGING_HELP,flags:[...LIST_FLAGS,{name:"--keyword",summary:"\u30B3\u30FC\u30C9\u30FB\u540D\u79F0\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--status",summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u4F8B: active\uFF09",takesValue:true,placeholder:"<\u72B6\u614B>"}],paging:listPaging,plan(input){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
266
267
  args.join(" ")}`,"twp project list help")}return{method:"GET",path:"/api/v2/projects",query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),keyword:nonEmpty(input.flags,"--keyword"),status:nonEmpty(input.flags,"--status")}}},summarize:body=>listItems(body).map(row=>pick(row,LIST_COLUMNS2)),raw:body=>listItems(body)},{name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:"twp project get <ID|\u30B3\u30FC\u30C9\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-MMM6CXMO.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-P4QSPSOQ.js";import{NO_REDACT_NOTICE,withCommonFlags}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs}from"./chunk-VGT2EGH6.js";import{Resolver,requireDefaultProject}from"./chunk-FW2AZBFR.js";
3
+ import{loadDomain}from"./chunk-2O45QMLH.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-P4QSPSOQ.js";import{NO_REDACT_NOTICE,withCommonFlags}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs}from"./chunk-VGT2EGH6.js";import{Resolver,requireDefaultProject}from"./chunk-FW2AZBFR.js";
4
4
  import{ResolveError}from"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.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";
5
5
  import{GLOBAL_OPTIONS_HELP}from"./chunk-KIZIRVW6.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredBacklogSpace,resolveConfiguredOutput,resolveProfile}from"./chunk-EDF4U5BT.js";import{HELP_TOKEN}from"./chunk-EDFUH5ZL.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-RKBUJKI5.js";import{stringWidth}from"./chunk-UREA4ZIG.js";
6
6
  import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";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?"":`
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __twpCreateRequire } from 'node:module';
3
3
  const require = __twpCreateRequire(import.meta.url);
4
- import{GLOBAL_OPTIONS_HELP}from"./chunk-KIZIRVW6.js";import{parseArgv,quietFromEnv}from"./chunk-QNNJXF2R.js";import"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-EDFUH5ZL.js";import"./chunk-AH4KHEAC.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.110.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-KIZIRVW6.js";import{parseArgv,quietFromEnv}from"./chunk-QNNJXF2R.js";import"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-EDFUH5ZL.js";import"./chunk-AH4KHEAC.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.111.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
5
5
 
6
6
  \u4F7F\u3044\u65B9:
7
7
  twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
@@ -1627,16 +1627,16 @@ TUI \u5185:
1627
1627
  \u4F1A\u8A71\u30FB\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB\u30B3\u30DE\u30F3\u30C9\u30FBgit\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30AF\u30EC\u30B8\u30C3\u30C8\u3067\u5B9F\u969B\u306B\u52D5\u304D\u307E\u3059\u3002
1628
1628
  `;function ignoreEpipe(stream){stream.on("error",err=>{if(err.code==="EPIPE")process.exit(0);throw err})}async function main(){const nodeMajor=Number(process.versions.node.split(".")[0]);if(nodeMajor<22){process.stderr.write(`twp-cli \u306B\u306F Node.js 22 \u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\uFF08\u73FE\u5728: ${process.versions.node}\uFF09
1629
1629
  `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-26OZDLQ7.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-B57NIVEK.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1630
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-YFQRZNEY.js"),import("./config-XYWRBIC6.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-FXXQHBV5.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-BJGPASNG.js");process.exitCode=
1630
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-PDOPS5SR.js"),import("./config-XYWRBIC6.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-FXXQHBV5.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-BJGPASNG.js");process.exitCode=
1631
1631
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
1632
1632
  `);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.movedCommand!==void 0){const{MOVED_QUEUE_COMMAND_MESSAGE}=await import("./dispatch-ZWCEVLKZ.js");process.stderr.write(MOVED_QUEUE_COMMAND_MESSAGE);process.exitCode=2;return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${formatUnknownArgs(args.unknown)}
1633
1633
 
1634
- ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-D635GYAP.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1635
- {},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh,quiet:args.quiet||quietFromEnv(process.env)},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-VAVAZX22.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,
1634
+ ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-VB3R5TZQ.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1635
+ {},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh,quiet:args.quiet||quietFromEnv(process.env)},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-VNYSJQN6.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,
1636
1636
  globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,quiet:args.quiet||quietFromEnv(process.env)},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-QGM225Q7.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.
1637
1637
  command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-F665OECQ.js");const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}
1638
1638
  if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-AK6UWCC3.js");process.exitCode=await runTaskLoop({action:args.taskLoopAction??"run",project:args.project,profile:args.profile,safe:args.safe,daemon:args.daemon,interval:args.interval,maxCycles:args.maxCycles,forceRunner:args.forceRunner,force:args.stopForce,drain:args.stopDrain,engine:args.engine,version:VERSION,verbose:args.verbose,scheduleNow:args.scheduleNow,scheduleCounts:args.scheduleCounts,scheduleGate:args.scheduleGate,
1639
1639
  scheduleOp:args.scheduleOp,scheduleConfigOp:args.scheduleConfigOp,scheduleId:args.scheduleId,charterOp:args.charterOp,charterInput:args.charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,settingsOp:args.settingsOp,orientationOp:args.orientationOp,orientationArgs:args.orientationArgs,skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,skillConfig:args.skillConfig,output:args.output,query:args.query,revisionFrom:args.revisionFrom,
1640
1640
  revisionTo:args.revisionTo,planOp:args.planOp,capacityOp:args.capacityOp,includeStopped:args.includeStopped,runnerOp:args.runnerOp,runnerId:args.runnerTargetId,triggerOp:args.triggerOp,triggerId:args.triggerId,triggerKey:args.triggerKey,triggerLimit:args.triggerLimit,planEmpty:args.planEmpty,planCheck:args.planCheck,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-PQFHGBNR.js");
1641
- process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-3LLGT3IM.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.
1641
+ process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-CXB3GPGT.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.
1642
1642
  allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{checkOutTarget}from"./chunk-IWBFSSXS.js";import"./chunk-MMM6CXMO.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import{contentTypeFor,inspectLocalFile}from"./chunk-RR6VGVZS.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import"./chunk-RMFLTSOV.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
3
+ import{checkOutTarget}from"./chunk-QVZ4POKH.js";import"./chunk-2O45QMLH.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import{contentTypeFor,inspectLocalFile}from"./chunk-RR6VGVZS.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import"./chunk-RMFLTSOV.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
4
4
  import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import{collapsesInUrlPath,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,readEnvelopeCursor,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
5
5
  import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import"./chunk-KIZIRVW6.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-EDFUH5ZL.js";import"./chunk-OKATZ4SN.js";import"./chunk-RKBUJKI5.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";
6
6
  import"./chunk-VSJBJXZO.js";import crypto2 from"crypto";import fs2 from"fs";import path from"path";var SCOPE_PERSONAL="personal";var SCOPE_PROJECT="project";var UUID=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var FORBIDDEN_NAME=/[/\\:*?"<>|]/;var NAME_MAX=255;var ROW_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","updated_at"];var TRASH_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","deleted_at"];function folderRows(raw){return raw.map(row=>{const id=row["id"];const name=row["name"];const parentId=row["parent_id"];if(typeof id!==
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems,projectDomain}from"./chunk-VOEWML65.js";import"./chunk-Q3B65OFC.js";import"./chunk-FBTOIECJ.js";import"./chunk-VRLFQMNV.js";import"./chunk-RQ3YL6V3.js";import"./chunk-UVCJXHWN.js";import"./chunk-KVT4ENGZ.js";import"./chunk-EXT4AIDF.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";
3
+ import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems,projectDomain}from"./chunk-HSGI6C6Z.js";import"./chunk-Q3B65OFC.js";import"./chunk-FBTOIECJ.js";import"./chunk-VRLFQMNV.js";import"./chunk-RQ3YL6V3.js";import"./chunk-UVCJXHWN.js";import"./chunk-KVT4ENGZ.js";import"./chunk-EXT4AIDF.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";
4
4
  import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems,projectDomain};
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-MMM6CXMO.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
3
+ import{loadDomain}from"./chunk-2O45QMLH.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-IWBFSSXS.js";import"./chunk-MMM6CXMO.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
3
+ import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-QVZ4POKH.js";import"./chunk-2O45QMLH.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
4
4
  import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-KIZIRVW6.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-EDFUH5ZL.js";import"./chunk-OKATZ4SN.js";import"./chunk-RKBUJKI5.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";
5
5
  import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};
@@ -30,14 +30,18 @@ if(!isSafePathSegment(commentId)){throw new UsageError(`\u30B3\u30E1\u30F3\u30C8
30
30
  usage)}const located=await locateCommentTask({...input,args:[]},ctx,task.trim());return withResolved(input,{...located,commentId:commentId.trim()})}var QUESTION_FLAGS=[{name:"--ask-question",summary:"\u30AF\u30EA\u30C3\u30AF\u3067\u56DE\u7B54\u3067\u304D\u308B\u8CEA\u554F\u3068\u3057\u3066\u6295\u7A3F\u3059\u308B\uFF08--question \u3068 --option \u304C\u8981\u308B\uFF09",takesValue:false},{name:"--question",summary:`\u8CEA\u554F\u6587\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u4E0A\u9650 ${QUESTION_MAX_CHARS}\
31
31
  \u6587\u5B57\uFF09`,takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},{name:"--question-file",summary:"\u8CEA\u554F\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"},{name:"--option",summary:`\u9078\u629E\u80A2 \u30AD\u30FC=\u8868\u793A\u6587\uFF08${OPTION_MIN}\u301C${OPTION_MAX}\u56DE\u3002\u30AD\u30FC\u306F${OPTION_KEY_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"\
32
32
  <\u30AD\u30FC=\u8868\u793A\u6587>",repeatable:true},{name:"--option-description",summary:`\u9078\u629E\u80A2\u306E\u8AAC\u660E \u30AD\u30FC=\u8AAC\u660E\uFF08--option \u306E\u30AD\u30FC\u306B\u4ED8\u3051\u308B\u30FB${OPTION_DESCRIPTION_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\u30FB\u8907\u6570\u56DE\u53EF\uFF09`,takesValue:true,placeholder:"<\u30AD\u30FC=\u8AAC\u660E>",repeatable:true},{name:"--option-image",summary:"\u9078\u629E\u80A2\u306E\u753B\u50CF \u30AD\u30FC=\u6DFB\u4ED8ID\uFF08twp task attachment upload \u3067\u5F97\u305F ID\u30FB\u8907\u6570\u56DE\u53EF\uFF09",
33
- takesValue:true,placeholder:"<\u30AD\u30FC=\u6DFB\u4ED8ID>",repeatable:true},{name:"--multi-select",summary:"\u8907\u6570\u306E\u9078\u629E\u80A2\u3092\u9078\u3079\u308B\u8CEA\u554F\u306B\u3059\u308B",takesValue:false},{name:"--no-free-text",summary:"\u81EA\u7531\u8A18\u8FF0\u3067\u306E\u56DE\u7B54\u3092\u8A31\u3055\u306A\u3044\uFF08\u65E2\u5B9A\u306F\u8A31\u3059\uFF09",takesValue:false}];var ANSWER_FLAGS=[{name:"--answer-to",summary:"\u56DE\u7B54\u3059\u308B\u8CEA\u554F\u30B3\u30E1\u30F3\u30C8\u306E ID\uFF08list \u306E id \u5217\uFF09",
34
- takesValue:true,placeholder:"<\u30B3\u30E1\u30F3\u30C8ID>"},{name:"--select",summary:`\u9078\u3093\u3060\u9078\u629E\u80A2\u306E\u30AD\u30FC\uFF08\u8907\u6570\u9078\u629E\u306E\u8CEA\u554F\u306A\u3089\u8907\u6570\u56DE\u30FB${SELECTED_KEY_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u30AD\u30FC>",repeatable:true}];var MENTION_FLAG={name:"--mention",summary:"\u30E1\u30F3\u30B7\u30E7\u30F3\u3059\u308B\u76F8\u624B\uFF08me / \u540D\u524D / \u30E1\u30FC\u30EB / ID\u30FB\u8907\u6570\u56DE\u53EF\u3002\u500B\u4EBA\u30BF\u30B9\u30AF\u3067\u306F me \u306E\u307F\uFF09",
35
- takesValue:true,placeholder:"<me|\u540D\u524D|ID>",repeatable:true};var ATTACHMENT_FLAG={name:"--attachment",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u6E08\u307F\u306E\u6DFB\u4ED8 ID \u3092\u7D10\u3065\u3051\u308B\uFF08\u8907\u6570\u56DE\u53EF\u3002\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306F 7-E \u306E\u7BC4\u56F2\uFF09",takesValue:true,placeholder:"<\u6DFB\u4ED8ID>",repeatable:true};var CONTENT_HTML_FLAG={name:"--content-html-file",summary:`\u30EA\u30C3\u30C1\u30C6\u30AD\u30B9\u30C8\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\u30FB\u4E0A\u9650 ${CONTENT_HTML_MAX_CHARS}\
36
- \u6587\u5B57\uFF09`,takesValue:true,placeholder:"<\u30D1\u30B9|->"};var QUESTION_HELP=`\u8CEA\u554F\u3068\u3057\u3066\u6295\u7A3F\u3059\u308B\u306B\u306F --ask-question \uFF0B \u8CEA\u554F\u6587\uFF08--question / --question-file\uFF09\uFF0B \u9078\u629E\u80A2\uFF08--option\uFF09\u304C\u8981\u308A\u307E\u3059\u3002
33
+ takesValue:true,placeholder:"<\u30AD\u30FC=\u6DFB\u4ED8ID>",repeatable:true},{name:"--option-assignee",summary:"\u9078\u629E\u80A2\u3092\u9078\u3093\u3060\u5F8C\u306B\u5909\u66F4\u3059\u308B\u62C5\u5F53\u8005\u306E\u6848\u5185 \u30AD\u30FC=\u62C5\u5F53\u8005\uFF08\u540D\u524D\u30FB\u30E1\u30FC\u30EB\u30FBID\u30FBme\u3002\u8868\u793A\u306E\u307F\u3067\u81EA\u52D5\u5909\u66F4\u3057\u306A\u3044\u30FB\u8907\u6570\u56DE\u53EF\uFF09",takesValue:true,placeholder:"<\u30AD\u30FC=\u62C5\u5F53\u8005>",repeatable:true},
34
+ {name:"--option-status",summary:"\u9078\u629E\u80A2\u3092\u9078\u3093\u3060\u5F8C\u306B\u5909\u66F4\u3059\u308B\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u6848\u5185 \u30AD\u30FC=\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08\u540D\u524D\u304BID\u3002\u8868\u793A\u306E\u307F\u3067\u81EA\u52D5\u5909\u66F4\u3057\u306A\u3044\u30FB\u8907\u6570\u56DE\u53EF\uFF09",takesValue:true,placeholder:"<\u30AD\u30FC=\u30B9\u30C6\u30FC\u30BF\u30B9>",repeatable:true},{name:"--multi-select",summary:"\u8907\u6570\u306E\u9078\u629E\u80A2\u3092\u9078\u3079\u308B\u8CEA\u554F\u306B\u3059\u308B",
35
+ takesValue:false},{name:"--no-free-text",summary:"\u81EA\u7531\u8A18\u8FF0\u3067\u306E\u56DE\u7B54\u3092\u8A31\u3055\u306A\u3044\uFF08\u65E2\u5B9A\u306F\u8A31\u3059\uFF09",takesValue:false}];var ANSWER_FLAGS=[{name:"--answer-to",summary:"\u56DE\u7B54\u3059\u308B\u8CEA\u554F\u30B3\u30E1\u30F3\u30C8\u306E ID\uFF08list \u306E id \u5217\uFF09",takesValue:true,placeholder:"<\u30B3\u30E1\u30F3\u30C8ID>"},{name:"--select",summary:`\u9078\u3093\u3060\u9078\u629E\u80A2\u306E\u30AD\u30FC\uFF08\u8907\u6570\u9078\u629E\u306E\u8CEA\u554F\u306A\u3089\u8907\u6570\u56DE\u30FB${SELECTED_KEY_MAX_CHARS}\
36
+ \u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u30AD\u30FC>",repeatable:true}];var MENTION_FLAG={name:"--mention",summary:"\u30E1\u30F3\u30B7\u30E7\u30F3\u3059\u308B\u76F8\u624B\uFF08me / \u540D\u524D / \u30E1\u30FC\u30EB / ID\u30FB\u8907\u6570\u56DE\u53EF\u3002\u500B\u4EBA\u30BF\u30B9\u30AF\u3067\u306F me \u306E\u307F\uFF09",takesValue:true,placeholder:"<me|\u540D\u524D|ID>",repeatable:true};var ATTACHMENT_FLAG={name:"--attachment",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u6E08\u307F\u306E\u6DFB\u4ED8 ID \u3092\u7D10\u3065\u3051\u308B\uFF08\u8907\u6570\u56DE\u53EF\u3002\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306F 7-E \
37
+ \u306E\u7BC4\u56F2\uFF09",takesValue:true,placeholder:"<\u6DFB\u4ED8ID>",repeatable:true};var CONTENT_HTML_FLAG={name:"--content-html-file",summary:`\u30EA\u30C3\u30C1\u30C6\u30AD\u30B9\u30C8\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\u30FB\u4E0A\u9650 ${CONTENT_HTML_MAX_CHARS} \u6587\u5B57\uFF09`,takesValue:true,placeholder:"<\u30D1\u30B9|->"};var QUESTION_HELP=`\u8CEA\u554F\u3068\u3057\u3066\u6295\u7A3F\u3059\u308B\u306B\u306F --ask-question \uFF0B \u8CEA\u554F\u6587\uFF08--question / --question-file\uFF09\uFF0B \u9078\u629E\u80A2\uFF08--opt\
38
+ ion\uFF09\u304C\u8981\u308A\u307E\u3059\u3002
37
39
  \u9078\u629E\u80A2\u306F \u30AD\u30FC=\u8868\u793A\u6587 \u306E\u5F62\u3067 ${OPTION_MIN}\u301C${OPTION_MAX} \u500B\u3002\u30AD\u30FC\u306F${OPTION_KEY_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\u3067\u3001\u56DE\u7B54\u306E\u8B58\u5225\u5B50\u306B\u306A\u308A\u307E\u3059
38
40
  \uFF08\u4F8B: --option ok=\u627F\u8A8D\u3059\u308B --option back=\u5DEE\u3057\u623B\u3059\uFF09\u3002
39
41
  \u9078\u629E\u80A2\u3054\u3068\u306E\u8AAC\u660E\uFF08\u5F71\u97FF\u30FB\u63A8\u5968\u7406\u7531\uFF09\u306F --option-description \u30AD\u30FC=\u8AAC\u660E\uFF08${OPTION_DESCRIPTION_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\uFF09\u3067\u3001
40
42
  \u753B\u50CF\u306F --option-image \u30AD\u30FC=\u6DFB\u4ED8ID \u3067\u4ED8\u3051\u307E\u3059\u3002\u3069\u3061\u3089\u3082\u6700\u521D\u306E = \u3067\u533A\u5207\u308B\u306E\u3067\u3001\u8AAC\u660E\u306B = \u3084\u6539\u884C\u3092\u542B\u3081\u3066\u69CB\u3044\u307E\u305B\u3093\u3002
43
+ \u56DE\u7B54\u5F8C\u306B\u5909\u66F4\u3057\u3066\u307B\u3057\u3044\u62C5\u5F53\u8005\u30FB\u30B9\u30C6\u30FC\u30BF\u30B9\u306F --option-assignee \u30AD\u30FC=\u62C5\u5F53\u8005 / --option-status \u30AD\u30FC=\u30B9\u30C6\u30FC\u30BF\u30B9 \u3067
44
+ \u9078\u629E\u80A2\u3054\u3068\u306B\u6848\u5185\u3067\u304D\u307E\u3059\uFF08\u8CEA\u554F\u30AB\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u3060\u3051\u3067\u3001\u56DE\u7B54\u3057\u3066\u3082\u81EA\u52D5\u3067\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002
41
45
  \u672C\u6587\uFF08--body-file\uFF09\u306F\u8CEA\u554F\u306E\u80CC\u666F\u306B\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u8CEA\u554F\u6587\u305D\u306E\u3082\u306E\u306F --question \u5074\u306B\u7F6E\u304D\u307E\u3059\u3002
42
46
 
43
47
  \u56DE\u7B54\u3059\u308B\u3068\u304D\u306F --answer-to <\u8CEA\u554F\u306E\u30B3\u30E1\u30F3\u30C8ID> \u3068 --select <\u30AD\u30FC> \u3092\u4F7F\u3044\u307E\u3059\uFF08\u81EA\u7531\u8A18\u8FF0\u3060\u3051\u306E\u56DE\u7B54\u306A\u3089 --select \u306F\u4E0D\u8981\uFF09\u3002
@@ -47,22 +51,24 @@ takesValue:true,placeholder:"<me|\u540D\u524D|ID>",repeatable:true};var ATTACHME
47
51
  label)}\u6587\u5B57\uFF09`,"\u9577\u3044\u8AAC\u660E\u306F\u672C\u6587\uFF08--body-file\uFF09\u3078\u66F8\u3044\u3066\u304F\u3060\u3055\u3044\u3002")}return{key,label}}function parseOptionExtras(input,flag,keys,maxChars){const extras=new Map;for(const raw of repeatedValues(input,flag)){const at=raw.indexOf("=");if(at<=0){throw new UsageError(`${flag} \u306F \u30AD\u30FC=\u5024 \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,`\u4F8B: ${flag} ok=${flag==="--option-image"?
48
52
  "<\u6DFB\u4ED8ID>":"\u3053\u306E\u307E\u307E\u9032\u3081\u308B\u3068\u25EF\u25EF\u304C\u4ECA\u65E5\u51FA\u305B\u307E\u3059\uFF08\u63A8\u5968\uFF09"}`)}const key=raw.slice(0,at).trim();const value=raw.slice(at+1).trim();if(!keys.has(key)){throw new UsageError(`${flag} \u306E\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B --option \u304C\u3042\u308A\u307E\u305B\u3093: ${key}`,`--option \u3067\u6307\u5B9A\u3057\u305F\u30AD\u30FC\uFF08${[...keys].join(" / ")}\uFF09\u306E\u3069\u308C\u304B\u3092\u66F8\u3044\u3066\u304F\u3060\u3055\u3044\u3002`)}
49
53
  if(value==="")throw new UsageError(`${flag} \u306E\u5024\u304C\u7A7A\u3067\u3059: ${raw}`);if(extras.has(key))throw new UsageError(`${flag} \u306E\u30AD\u30FC\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${key}`);if(maxChars!==void 0&&tooLong(value,maxChars)){throw new UsageError(`${flag} \u306F${maxChars}\u6587\u5B57\u4EE5\u5185\u3067\u3059\uFF08${charCount(value)}\u6587\u5B57\uFF09: ${key}`,"\u30B5\u30FC\u30D0\u304C 422 \u3067\u62D2\u3080\u5024\u306A\u306E\u3067\u3001\u9001\u3089\u305A\u306B\u6B62\u3081\u3066\u3044\u307E\u3059\u3002\u9577\u3044\u80CC\u666F\u306F\u672C\u6587\uFF08--body-file\uFF09\u3078\u66F8\u3044\u3066\u304F\u3060\u3055\u3044\u3002")}
50
- extras.set(key,value)}return extras}async function buildQuestion(input,usage){const asking=input.flags.has("--ask-question");const options=repeatedValues(input,"--option");const multiSelect=input.flags.has("--multi-select");const noFreeText=input.flags.has("--no-free-text");const hasQuestionText=input.flags.has("--question")||input.flags.has("--question-file");const hasOptionExtras=repeatedValues(input,"--option-description").length>0||repeatedValues(input,"--option-image").length>0;if(!asking){
51
- const stray=[...options.length>0?["--option"]:[],...hasOptionExtras?["--option-description / --option-image"]:[],...hasQuestionText?["--question / --question-file"]:[],...multiSelect?["--multi-select"]:[],...noFreeText?["--no-free-text"]:[]];if(stray.length>0){throw new UsageError(`${stray.join(" / ")} \u306F --ask-question \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,"\u8CEA\u554F\u3068\u3057\u3066\u6295\u7A3F\u3059\u308B\u306A\u3089 --ask-question \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002\n\u3075\u3064\u3046\u306E\u30B3\u30E1\u30F3\u30C8\u3068\u3057\u3066\u6295\u7A3F\u3059\u308B\u306A\u3089\u3001\u3053\u308C\u3089\u306E\u30D5\u30E9\u30B0\u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\n\uFF08\u4ED8\u3051\u305F\u307E\u307E\u6295\u7A3F\u3059\u308B\u3068\u5E73\u6587\u306E\u30B3\u30E1\u30F3\u30C8\u306B\u306A\u308A\u3001\u753B\u9762\u306B\u56DE\u7B54\u30DC\
52
- \u30BF\u30F3\u304C\u51FA\u307E\u305B\u3093\uFF09\u3002")}return void 0}const description=await readBody(input,{flag:"--question",fileFlag:"--question-file",label:"\u8CEA\u554F\u6587",maxChars:QUESTION_MAX_CHARS,usage});if(description===void 0){throw new UsageError("\u8CEA\u554F\u6587\u3092 --question <\u6587\u5B57\u5217> \u304B --question-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage)}if(options.length<OPTION_MIN){throw new UsageError(`--ask-question \u306B\u306F\u9078\u629E\u80A2\u304C${OPTION_MIN}\
53
- \u500B\u4EE5\u4E0A\u8981\u308A\u307E\u3059`,"\u4F8B: --option ok=\u627F\u8A8D\u3059\u308B --option back=\u5DEE\u3057\u623B\u3059")}if(options.length>OPTION_MAX){throw new UsageError(`\u9078\u629E\u80A2\u306F${OPTION_MAX}\u500B\u307E\u3067\u3067\u3059\uFF08${options.length}\u500B\uFF09`,"\u30B5\u30FC\u30D0\u304C 422 \u3067\u62D2\u3080\u5024\u306A\u306E\u3067\u3001\u9001\u3089\u305A\u306B\u6B62\u3081\u3066\u3044\u307E\u3059\u3002\u9078\u629E\u80A2\u3092\u7D5E\u3063\u3066\u304F\u3060\u3055\u3044\u3002")}
54
- const parsed=options.map(parseOption);const seen=new Set;for(const option of parsed){if(seen.has(option.key))throw new UsageError(`--option \u306E\u30AD\u30FC\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${option.key}`);seen.add(option.key)}const descriptions=parseOptionExtras(input,"--option-description",seen,OPTION_DESCRIPTION_MAX_CHARS);const images=parseOptionExtras(input,"--option-image",seen,void 0);return{description,options:parsed.map(option=>({...option,...descriptions.has(option.key)?
55
- {description:descriptions.get(option.key)}:{},...images.has(option.key)?{image_attachment_id:images.get(option.key)}:{}})),allow_free_text:!noFreeText,multi_select:multiSelect}}function buildAnswer(input){const target=nonEmpty(input.flags,"--answer-to");const selected=repeatedValues(input,"--select").map(key=>key.trim());if(target===void 0){if(selected.length>0){throw new UsageError("--select \u306F --answer-to <\u30B3\u30E1\u30F3\u30C8ID> \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
56
- "\u56DE\u7B54\u5148\u306E\u8CEA\u554F\u30B3\u30E1\u30F3\u30C8\u306E ID \u306F twp task comment list <\u30AD\u30FC> \u306E id \u5217\u304B\u3089\u53D6\u308C\u307E\u3059\u3002")}return void 0}const seen=new Set;for(const key of selected){if(key==="")throw new UsageError("--select \u306B\u7A7A\u306E\u30AD\u30FC\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");if(tooLong(key,SELECTED_KEY_MAX_CHARS)){throw new UsageError(`--select \u306E\u30AD\u30FC\u306F${SELECTED_KEY_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\u3067\u3059\uFF08${charCount(
57
- key)}\u6587\u5B57\uFF09: ${key}`,"\u8CEA\u554F\u306E\u9078\u629E\u80A2\u306E\u30AD\u30FC\u3092\u305D\u306E\u307E\u307E\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08list \u306E question \u5217\u306B\u51FA\u307E\u3059\uFF09\u3002")}if(seen.has(key))throw new UsageError(`--select \u306E\u30AD\u30FC\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${key}`);seen.add(key)}return{comment_id:target.trim(),...selected.length===0?{}:{selected_key:selected.length===1?selected[0]:[...selected]}}}function attachmentIds(input){
58
- const ids=repeatedValues(input,"--attachment").map(id=>id.trim());const seen=new Set;for(const id of ids){if(id==="")throw new UsageError("--attachment \u306B\u7A7A\u306E ID \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");if(seen.has(id))throw new UsageError(`--attachment \u306E ID \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${id}`);seen.add(id)}return ids}async function resolveMentions(input,ctx,projectId){const refs=repeatedValues(input,"--mention");for(const ref of refs){if(ref.trim()===
59
- "")throw new UsageError("--mention \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");if(isPrivateProjectId(projectId)&&ref.trim().toLowerCase()!=="me"){throw new UsageError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u3067\u30E1\u30F3\u30B7\u30E7\u30F3\u3067\u304D\u308B\u306E\u306F\u672C\u4EBA\uFF08me\uFF09\u3060\u3051\u3067\u3059: --mention ${ref}`,"\u672C\u4EBA\u3078\u30E1\u30F3\u30B7\u30E7\u30F3\u3059\u308B\u306A\u3089 --mention me \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}}
60
- const ids=[];for(const ref of refs){const member=await ctx.resolver.assignee(projectId,ref,"--mention");if(!ids.includes(member.id))ids.push(member.id)}return ids}async function readContentHtml(input,usage){return readBody(input,{flag:"--content-html",fileFlag:"--content-html-file",label:"\u30EA\u30C3\u30C1\u30C6\u30AD\u30B9\u30C8\u672C\u6587",maxChars:CONTENT_HTML_MAX_CHARS,usage})}function rejectDoubleStdin(input){const stdinFlags=["--body-file","--question-file","--content-html-file"].filter(
61
- name=>input.flags.get(name)==="-");if(stdinFlags.length>1){throw new UsageError(`\u6A19\u6E96\u5165\u529B\u3092\u8AAD\u3080\u30D5\u30E9\u30B0\u304C\u8907\u6570\u3042\u308A\u307E\u3059: ${stdinFlags.join(" / ")}`,"\u6A19\u6E96\u5165\u529B\u306F1\u3064\u3057\u304B\u8AAD\u3081\u307E\u305B\u3093\u3002\u3069\u308C\u304B1\u3064\u3060\u3051\u3092 - \u306B\u3057\u3066\u3001\u6B8B\u308A\u306F\u30D5\u30A1\u30A4\u30EB\u3067\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}}function takeJson(input,key){const raw=input.
62
- resolved?.[key];if(raw===void 0||raw==="")return void 0;return JSON.parse(raw)}function takeList(input,key){const parsed=takeJson(input,key);if(parsed===void 0)return[];if(!Array.isArray(parsed))throw new Error(`\u5185\u90E8\u30A8\u30E9\u30FC: ${key} \u306E\u53D7\u3051\u6E21\u3057\u304C\u58CA\u308C\u3066\u3044\u307E\u3059`);return parsed}function optionalResolved(values){const out={};for(const[key,value]of Object.entries(values)){if(value===void 0)continue;out[key]=typeof value==="string"?value:
63
- JSON.stringify(value)}return out}function commonOptionalBody(input){const mentions=takeList(input,"mentioned_user_ids");const attachments=takeList(input,"attachment_ids");const contentHtml=input.resolved?.["content_html"];return{content_html:contentHtml??null,...mentions.length>0?{mentioned_user_ids:mentions}:{},...attachments.length>0?{attachment_ids:attachments}:{}}}function commentBody(input){const question=takeJson(input,"question");const answer=takeJson(input,"answer_to");return{content:requireResolved(
64
- input,"content"),...commonOptionalBody(input),...question!==void 0?{comment_type:"ask_question",question}:{},...answer!==void 0?{answer_to:answer}:{}}}async function locateCommentTask(input,ctx,ref){if(taskSurface(input,ref)==="private")return resolvePrivateTaskLocation(ctx,ref);return resolveTaskLocation(input,ctx,ref)}function commentPath(input){const projectId=encodeURIComponent(requireResolved(input,"projectId"));const taskId=encodeURIComponent(requireResolved(input,"taskId"));return`/api/v2\
65
- /projects/${projectId}/tasks/${taskId}/comments`}var taskCommentResource={name:"comment",summary:"\u30BF\u30B9\u30AF\u30B3\u30E1\u30F3\u30C8\u306E\u4E00\u89A7\u30FB\u6295\u7A3F\u30FB\u66F4\u65B0\u30FB\u524A\u9664",operations:[{name:"list",summary:"\u30BF\u30B9\u30AF\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp task comment list <\u30AD\u30FC|ID> [--project <\u30B3\u30FC\u30C9|ID>] [--all]",description:`${TASK_REF_HELP}
54
+ extras.set(key,value)}return extras}var OPTION_EXTRA_FLAGS=["--option-description","--option-image","--option-assignee","--option-status"];async function resolveAfterAnswerGuide(question,ctx,projectId){const{afterAnswer,...rest}=question;const options=[];for(const option of rest.options){const assignee=afterAnswer.assignees.get(option.key);const status=afterAnswer.statuses.get(option.key);options.push({...option,...assignee!==void 0?{after_answer_assignee_id:(await ctx.resolver.assignee(projectId,
55
+ assignee,"--option-assignee")).id}:{},...status!==void 0?{after_answer_status_id:(await ctx.resolver.status(projectId,status,"--option-status")).id}:{}})}return{...rest,options}}async function buildQuestion(input,usage){const asking=input.flags.has("--ask-question");const options=repeatedValues(input,"--option");const multiSelect=input.flags.has("--multi-select");const noFreeText=input.flags.has("--no-free-text");const hasQuestionText=input.flags.has("--question")||input.flags.has("--question-fi\
56
+ le");const hasOptionExtras=OPTION_EXTRA_FLAGS.some(flag=>repeatedValues(input,flag).length>0);if(!asking){const stray=[...options.length>0?["--option"]:[],...hasOptionExtras?[OPTION_EXTRA_FLAGS.join(" / ")]:[],...hasQuestionText?["--question / --question-file"]:[],...multiSelect?["--multi-select"]:[],...noFreeText?["--no-free-text"]:[]];if(stray.length>0){throw new UsageError(`${stray.join(" / ")} \u306F --ask-question \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,"\u8CEA\u554F\
57
+ \u3068\u3057\u3066\u6295\u7A3F\u3059\u308B\u306A\u3089 --ask-question \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002\n\u3075\u3064\u3046\u306E\u30B3\u30E1\u30F3\u30C8\u3068\u3057\u3066\u6295\u7A3F\u3059\u308B\u306A\u3089\u3001\u3053\u308C\u3089\u306E\u30D5\u30E9\u30B0\u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\n\uFF08\u4ED8\u3051\u305F\u307E\u307E\u6295\u7A3F\u3059\u308B\u3068\u5E73\u6587\u306E\u30B3\u30E1\u30F3\u30C8\u306B\u306A\u308A\u3001\u753B\u9762\u306B\u56DE\u7B54\u30DC\u30BF\u30F3\u304C\u51FA\u307E\u305B\u3093\uFF09\u3002")}
58
+ return void 0}const description=await readBody(input,{flag:"--question",fileFlag:"--question-file",label:"\u8CEA\u554F\u6587",maxChars:QUESTION_MAX_CHARS,usage});if(description===void 0){throw new UsageError("\u8CEA\u554F\u6587\u3092 --question <\u6587\u5B57\u5217> \u304B --question-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage)}if(options.length<OPTION_MIN){throw new UsageError(`--ask-question \u306B\u306F\u9078\u629E\u80A2\u304C${OPTION_MIN}\u500B\u4EE5\u4E0A\u8981\u308A\u307E\u3059`,
59
+ "\u4F8B: --option ok=\u627F\u8A8D\u3059\u308B --option back=\u5DEE\u3057\u623B\u3059")}if(options.length>OPTION_MAX){throw new UsageError(`\u9078\u629E\u80A2\u306F${OPTION_MAX}\u500B\u307E\u3067\u3067\u3059\uFF08${options.length}\u500B\uFF09`,"\u30B5\u30FC\u30D0\u304C 422 \u3067\u62D2\u3080\u5024\u306A\u306E\u3067\u3001\u9001\u3089\u305A\u306B\u6B62\u3081\u3066\u3044\u307E\u3059\u3002\u9078\u629E\u80A2\u3092\u7D5E\u3063\u3066\u304F\u3060\u3055\u3044\u3002")}const parsed=options.map(parseOption);
60
+ const seen=new Set;for(const option of parsed){if(seen.has(option.key))throw new UsageError(`--option \u306E\u30AD\u30FC\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${option.key}`);seen.add(option.key)}const descriptions=parseOptionExtras(input,"--option-description",seen,OPTION_DESCRIPTION_MAX_CHARS);const images=parseOptionExtras(input,"--option-image",seen,void 0);const afterAnswer={assignees:parseOptionExtras(input,"--option-assignee",seen,void 0),statuses:parseOptionExtras(input,"--opt\
61
+ ion-status",seen,void 0)};return{afterAnswer,description,options:parsed.map(option=>({...option,...descriptions.has(option.key)?{description:descriptions.get(option.key)}:{},...images.has(option.key)?{image_attachment_id:images.get(option.key)}:{}})),allow_free_text:!noFreeText,multi_select:multiSelect}}function buildAnswer(input){const target=nonEmpty(input.flags,"--answer-to");const selected=repeatedValues(input,"--select").map(key=>key.trim());if(target===void 0){if(selected.length>0){throw new UsageError(
62
+ "--select \u306F --answer-to <\u30B3\u30E1\u30F3\u30C8ID> \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u56DE\u7B54\u5148\u306E\u8CEA\u554F\u30B3\u30E1\u30F3\u30C8\u306E ID \u306F twp task comment list <\u30AD\u30FC> \u306E id \u5217\u304B\u3089\u53D6\u308C\u307E\u3059\u3002")}return void 0}const seen=new Set;for(const key of selected){if(key==="")throw new UsageError("--select \u306B\u7A7A\u306E\u30AD\u30FC\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");if(tooLong(
63
+ key,SELECTED_KEY_MAX_CHARS)){throw new UsageError(`--select \u306E\u30AD\u30FC\u306F${SELECTED_KEY_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\u3067\u3059\uFF08${charCount(key)}\u6587\u5B57\uFF09: ${key}`,"\u8CEA\u554F\u306E\u9078\u629E\u80A2\u306E\u30AD\u30FC\u3092\u305D\u306E\u307E\u307E\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08list \u306E question \u5217\u306B\u51FA\u307E\u3059\uFF09\u3002")}if(seen.has(key))throw new UsageError(`--select \u306E\u30AD\u30FC\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${key}`);
64
+ seen.add(key)}return{comment_id:target.trim(),...selected.length===0?{}:{selected_key:selected.length===1?selected[0]:[...selected]}}}function attachmentIds(input){const ids=repeatedValues(input,"--attachment").map(id=>id.trim());const seen=new Set;for(const id of ids){if(id==="")throw new UsageError("--attachment \u306B\u7A7A\u306E ID \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");if(seen.has(id))throw new UsageError(`--attachment \u306E ID \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${id}`);
65
+ seen.add(id)}return ids}async function resolveMentions(input,ctx,projectId){const refs=repeatedValues(input,"--mention");for(const ref of refs){if(ref.trim()==="")throw new UsageError("--mention \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");if(isPrivateProjectId(projectId)&&ref.trim().toLowerCase()!=="me"){throw new UsageError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u3067\u30E1\u30F3\u30B7\u30E7\u30F3\u3067\u304D\u308B\u306E\u306F\u672C\u4EBA\uFF08me\uFF09\u3060\u3051\u3067\u3059: --mention ${ref}`,
66
+ "\u672C\u4EBA\u3078\u30E1\u30F3\u30B7\u30E7\u30F3\u3059\u308B\u306A\u3089 --mention me \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}}const ids=[];for(const ref of refs){const member=await ctx.resolver.assignee(projectId,ref,"--mention");if(!ids.includes(member.id))ids.push(member.id)}return ids}async function readContentHtml(input,usage){return readBody(input,{flag:"--content-html",fileFlag:"--content-html-file",label:"\u30EA\u30C3\u30C1\u30C6\u30AD\u30B9\u30C8\u672C\u6587",maxChars:CONTENT_HTML_MAX_CHARS,
67
+ usage})}function rejectDoubleStdin(input){const stdinFlags=["--body-file","--question-file","--content-html-file"].filter(name=>input.flags.get(name)==="-");if(stdinFlags.length>1){throw new UsageError(`\u6A19\u6E96\u5165\u529B\u3092\u8AAD\u3080\u30D5\u30E9\u30B0\u304C\u8907\u6570\u3042\u308A\u307E\u3059: ${stdinFlags.join(" / ")}`,"\u6A19\u6E96\u5165\u529B\u306F1\u3064\u3057\u304B\u8AAD\u3081\u307E\u305B\u3093\u3002\u3069\u308C\u304B1\u3064\u3060\u3051\u3092 - \u306B\u3057\u3066\u3001\u6B8B\u308A\u306F\u30D5\u30A1\u30A4\u30EB\u3067\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}}
68
+ function takeJson(input,key){const raw=input.resolved?.[key];if(raw===void 0||raw==="")return void 0;return JSON.parse(raw)}function takeList(input,key){const parsed=takeJson(input,key);if(parsed===void 0)return[];if(!Array.isArray(parsed))throw new Error(`\u5185\u90E8\u30A8\u30E9\u30FC: ${key} \u306E\u53D7\u3051\u6E21\u3057\u304C\u58CA\u308C\u3066\u3044\u307E\u3059`);return parsed}function optionalResolved(values){const out={};for(const[key,value]of Object.entries(values)){if(value===void 0)continue;
69
+ out[key]=typeof value==="string"?value:JSON.stringify(value)}return out}function commonOptionalBody(input){const mentions=takeList(input,"mentioned_user_ids");const attachments=takeList(input,"attachment_ids");const contentHtml=input.resolved?.["content_html"];return{content_html:contentHtml??null,...mentions.length>0?{mentioned_user_ids:mentions}:{},...attachments.length>0?{attachment_ids:attachments}:{}}}function commentBody(input){const question=takeJson(input,"question");const answer=takeJson(
70
+ input,"answer_to");return{content:requireResolved(input,"content"),...commonOptionalBody(input),...question!==void 0?{comment_type:"ask_question",question}:{},...answer!==void 0?{answer_to:answer}:{}}}async function locateCommentTask(input,ctx,ref){if(taskSurface(input,ref)==="private")return resolvePrivateTaskLocation(ctx,ref);return resolveTaskLocation(input,ctx,ref)}function commentPath(input){const projectId=encodeURIComponent(requireResolved(input,"projectId"));const taskId=encodeURIComponent(
71
+ requireResolved(input,"taskId"));return`/api/v2/projects/${projectId}/tasks/${taskId}/comments`}var taskCommentResource={name:"comment",summary:"\u30BF\u30B9\u30AF\u30B3\u30E1\u30F3\u30C8\u306E\u4E00\u89A7\u30FB\u6295\u7A3F\u30FB\u66F4\u65B0\u30FB\u524A\u9664",operations:[{name:"list",summary:"\u30BF\u30B9\u30AF\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp task comment list <\u30AD\u30FC|ID> [--project <\u30B3\u30FC\u30C9|ID>] [--all]",description:`${TASK_REF_HELP}
66
72
 
67
73
  \u4F5C\u6210\u65E5\u6642\u306E\u6607\u9806\u3067\u8FD4\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u5074\u306E\u4E26\u3073\uFF09\u3002
68
74
 
@@ -73,8 +79,8 @@ ${BODY_HELP}
73
79
 
74
80
  ${QUESTION_HELP}`,flags:[...BODY_FLAGS,...QUESTION_FLAGS,...ANSWER_FLAGS,MENTION_FLAG,ATTACHMENT_FLAG,CONTENT_HTML_FLAG,TASK_REF_FLAG,PROJECT_FLAG],async prepare(input,ctx){const usage="twp task comment create help";const ref=singleRef(input,{flag:"--task",label:"\u30BF\u30B9\u30AF",usage});rejectDoubleStdin(input);const content=await requireContent(input,usage);const contentHtml=await readContentHtml(input,usage);const question=await buildQuestion(input,usage);const answer=buildAnswer(input);if(question!==
75
81
  void 0&&answer!==void 0){throw new UsageError("--ask-question \u3068 --answer-to \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093","\u8CEA\u554F\u3068\u56DE\u7B54\u306F\u5225\u306E\u30B3\u30E1\u30F3\u30C8\u3067\u3059\u3002\u307E\u305A\u56DE\u7B54\u3092\u6295\u7A3F\u3057\u3001\u7D9A\u3051\u3066\u65B0\u3057\u3044\u8CEA\u554F\u3092\u6295\u7A3F\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const attachments=attachmentIds(input);const located=await locateCommentTask(input,ctx,ref);const mentions=await resolveMentions(
76
- input,ctx,located.projectId);return withResolved(input,{...located,content,...optionalResolved({content_html:contentHtml,question,answer_to:answer,...mentions.length>0?{mentioned_user_ids:mentions}:{},...attachments.length>0?{attachment_ids:attachments}:{}})})},plan:input=>({method:"POST",path:commentPath(input),body:commentBody(input)}),summarize:body=>pick(commentObject(body),WRITE_COLUMNS),raw:commentObject},{name:"update",summary:"\u30B3\u30E1\u30F3\u30C8\u306E\u672C\u6587\u3092\u66F8\u304D\u63DB\u3048\u308B",
77
- usage:"twp task comment update <\u30B3\u30E1\u30F3\u30C8ID> --task <\u30AD\u30FC|ID> --body-file <\u30D1\u30B9>",description:`${COMMENT_REF_HELP}
82
+ input,ctx,located.projectId);const resolvedQuestion=question===void 0?void 0:await resolveAfterAnswerGuide(question,ctx,located.projectId);return withResolved(input,{...located,content,...optionalResolved({content_html:contentHtml,question:resolvedQuestion,answer_to:answer,...mentions.length>0?{mentioned_user_ids:mentions}:{},...attachments.length>0?{attachment_ids:attachments}:{}})})},plan:input=>({method:"POST",path:commentPath(input),body:commentBody(input)}),summarize:body=>pick(commentObject(
83
+ body),WRITE_COLUMNS),raw:commentObject},{name:"update",summary:"\u30B3\u30E1\u30F3\u30C8\u306E\u672C\u6587\u3092\u66F8\u304D\u63DB\u3048\u308B",usage:"twp task comment update <\u30B3\u30E1\u30F3\u30C8ID> --task <\u30AD\u30FC|ID> --body-file <\u30D1\u30B9>",description:`${COMMENT_REF_HELP}
78
84
 
79
85
  ${BODY_HELP}
80
86
 
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{infoNote}from"./chunk-TYO6THPW.js";import{FISCAL_YEAR_FLAG,fiscalYear,skillNames}from"./chunk-4NVU4Y3R.js";import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-VOEWML65.js";import{LICENSE_FEATURE_NAMES,levelHoldsSeat,permissionMovesSeat,readLicenses}from"./chunk-JL36OQJH.js";import"./chunk-Q3B65OFC.js";import{CONCURRENCY,exportOperation,mapPool,pacedSender}from"./chunk-ZFSQJAYZ.js";import"./chunk-FBTOIECJ.js";import{inspectLocalFile,isCommitted,
3
+ import{infoNote}from"./chunk-TYO6THPW.js";import{FISCAL_YEAR_FLAG,fiscalYear,skillNames}from"./chunk-4NVU4Y3R.js";import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-HSGI6C6Z.js";import{LICENSE_FEATURE_NAMES,levelHoldsSeat,permissionMovesSeat,readLicenses}from"./chunk-JL36OQJH.js";import"./chunk-Q3B65OFC.js";import{CONCURRENCY,exportOperation,mapPool,pacedSender}from"./chunk-ZFSQJAYZ.js";import"./chunk-FBTOIECJ.js";import{inspectLocalFile,isCommitted,
4
4
  issued}from"./chunk-RR6VGVZS.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import"./chunk-RMFLTSOV.js";import"./chunk-VRLFQMNV.js";import"./chunk-RQ3YL6V3.js";import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-UVCJXHWN.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-KVT4ENGZ.js";import"./chunk-EXT4AIDF.js";import{booleanText,boundedText,
5
5
  isoDate,isoDateValue}from"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-FW2AZBFR.js";import{ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import{LIST_FLAGS,
6
6
  LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tocca-systems/twp-cli",
3
- "version": "0.110.0",
3
+ "version": "0.111.0",
4
4
  "description": "TWP CLI — Tocca Working Platform の CLI 型統合インターフェース(AIエージェントハーネス)",
5
5
  "type": "module",
6
6
  "bin": {