@tocca-systems/twp-cli 0.46.0 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.public.md +16 -0
- package/README.md +59 -9
- package/dist/{agent-loop-RMJXHBNG.js → agent-loop-XKH5YE6A.js} +1 -1
- package/dist/{ai-dispatch-L6XZCCU4.js → ai-dispatch-FGVNSM6L.js} +2 -2
- package/dist/{analysis-KUCETWIJ.js → analysis-GAU2A3FU.js} +1 -1
- package/dist/{api-command-67456PBS.js → api-command-26MLBIZC.js} +2 -2
- package/dist/{app-7227DY7N.js → app-Y7MAQAPC.js} +2 -2
- package/dist/attendance-correct-5SFXA4DC.js +51 -0
- package/dist/{attendance-lists-NVRU2NLY.js → attendance-lists-3T7S7QF5.js} +1 -1
- package/dist/{backlog-XZB35X7I.js → backlog-F4EWY7MT.js} +1 -1
- package/dist/{budget-FOFE3YUJ.js → budget-QFUGQIPZ.js} +1 -1
- package/dist/{chunk-3WHD2YVF.js → chunk-4F2ONF4P.js} +35 -25
- package/dist/{chunk-OLBRIPOS.js → chunk-6TPGATAG.js} +1 -1
- package/dist/chunk-6ZB7A6VD.js +9 -0
- package/dist/{chunk-SBWCQAHT.js → chunk-A65V3K75.js} +1 -1
- package/dist/{chunk-QVZGNHRE.js → chunk-BN26WHLS.js} +1 -1
- package/dist/{chunk-N6AXAGS2.js → chunk-EZGN7PTO.js} +1 -1
- package/dist/{chunk-OVBKORPC.js → chunk-FZWRYJVM.js} +1 -1
- package/dist/{chunk-V24LKF3V.js → chunk-GOZCJLRA.js} +1 -1
- package/dist/{chunk-AKPVALTZ.js → chunk-IO5SMECE.js} +1 -1
- package/dist/{chunk-JYNZEZYL.js → chunk-JKL6NUVV.js} +1 -1
- package/dist/{chunk-G2THOTBW.js → chunk-JTJWDV5U.js} +1 -1
- package/dist/{chunk-HS7EKE7M.js → chunk-KS2ZUQFC.js} +1 -1
- package/dist/{chunk-ZE75ZDLD.js → chunk-LAXINIDA.js} +1 -1
- package/dist/{chunk-L25UV7DE.js → chunk-LUQ2KE6Y.js} +1 -1
- package/dist/{chunk-E7MUDY4P.js → chunk-MY2U3CD6.js} +1 -1
- package/dist/{chunk-EZMXGIGX.js → chunk-OYDF57NH.js} +1 -1
- package/dist/{chunk-YLXW7TIU.js → chunk-QOUDJ7XO.js} +18 -18
- package/dist/{chunk-ZM3MTWNT.js → chunk-SA7A5WF2.js} +1 -1
- package/dist/{chunk-AITUMFCH.js → chunk-TKGVAWGU.js} +1 -1
- package/dist/{chunk-L7IGGC7H.js → chunk-VB2CSFRO.js} +1 -1
- package/dist/{chunk-RMAW7KOR.js → chunk-VYT6JAXQ.js} +12 -9
- package/dist/{chunk-VMULCEHY.js → chunk-XQRSX2RH.js} +1 -1
- package/dist/cli.js +43 -7
- package/dist/{commands-5GP3REIU.js → commands-EIWS357Q.js} +44 -41
- package/dist/{company-FEXAHUPT.js → company-77JEESSV.js} +2 -2
- package/dist/{contract-4RALZBO5.js → contract-26SKL7XT.js} +1 -1
- package/dist/{department-VEXXWBZ4.js → department-IZAR2LZ4.js} +1 -1
- package/dist/{deposit-2AAST2DE.js → deposit-MYTKRIEX.js} +1 -1
- package/dist/{estimate-JQURFOCH.js → estimate-KLS7XJLD.js} +2 -2
- package/dist/{inquiry-YTYZYUTY.js → inquiry-52OT4HKJ.js} +1 -1
- package/dist/{invoice-PHYBVU6Q.js → invoice-D77PS3WU.js} +2 -2
- package/dist/{job-title-ORNY7A7L.js → job-title-U67Z25ZO.js} +1 -1
- package/dist/{knowledge-FQ32UNDW.js → knowledge-Q3QLSNDX.js} +1 -1
- package/dist/{leave-5V6EPGA3.js → leave-OSIABEFV.js} +1 -1
- package/dist/media-HDG4VHAR.js +125 -0
- package/dist/{notification-XARS6JH2.js → notification-MEOHWBXH.js} +1 -1
- package/dist/{onedrive-N4T6D2OW.js → onedrive-3OBI4B5Z.js} +15 -11
- package/dist/{oneshot-7BFL2VON.js → oneshot-ACV6XH5A.js} +1 -1
- package/dist/{position-NNJZAT3A.js → position-N7SRF3CF.js} +1 -1
- package/dist/{project-FDY6LETQ.js → project-YMJJDSTP.js} +1 -1
- package/dist/{prospect-CUWP3E5S.js → prospect-3JD7STGT.js} +1 -1
- package/dist/{purchase-2CZTB5H7.js → purchase-2SLZBDD6.js} +2 -2
- package/dist/{receivable-KV5PPNLA.js → receivable-6ZRAUHC3.js} +1 -1
- package/dist/{registry-NZ2HNT52.js → registry-GQ3L7PZ2.js} +1 -1
- package/dist/report-TUSP7RRF.js +127 -0
- package/dist/{run-7BS34D2P.js → run-ZPB23AZX.js} +1 -1
- package/dist/{sales-ai-review-SVZHVH5P.js → sales-ai-review-7NPG7KV6.js} +1 -1
- package/dist/{sales-master-VD6JE2P3.js → sales-master-W5MXNZQ2.js} +1 -1
- package/dist/{sales-numbering-P7W6N3OM.js → sales-numbering-RQV2I5G5.js} +1 -1
- package/dist/{schedule-command-7JGQMTQY.js → schedule-command-QCGEMBVR.js} +1 -1
- package/dist/{server-settings-3E7G56G7.js → server-settings-TUBJ4P57.js} +1 -1
- package/dist/{server-skills-OF7USNRM.js → server-skills-Z5DGCJQ7.js} +1 -1
- package/dist/{supplier-payment-2KPCVEPH.js → supplier-payment-TDL3IE4H.js} +1 -1
- package/dist/{task-MFWWP5Q7.js → task-2SHYSZBZ.js} +35 -30
- package/dist/{user-QG3KMK3T.js → user-YEIHSVVN.js} +2 -2
- package/dist/{workflow-CSYU4J4U.js → workflow-USG3ZKW6.js} +1 -1
- package/package.json +1 -1
- package/dist/attendance-K2U7RYDU.js +0 -3
- package/dist/chunk-B4APKONL.js +0 -9
- package/dist/media-BU23L547.js +0 -63
- package/dist/report-PCQPTRUV.js +0 -73
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
import{charCount,readBody}from"./chunk-ORUDW52G.js";import{REPORTS_PATH}from"./chunk-4F2ONF4P.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";
|
|
4
|
+
import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u30EC\u30DD\u30FC\u30C8";var STATUSES={new:"\u4E0B\u66F8\u304D",completed:"\u63D0\u51FA\u6E08\u307F",reviewed:"\u78BA\u8A8D\u6E08\u307F",rejected:"\u5DEE\u3057\u623B\u3057"};var STATUS_HELP=`\u72B6\u614B: ${Object.entries(STATUSES).map(([key,name])=>`${key}\uFF08${name}\uFF09`).join(" / ")}`;var TITLE_MAX_CHARS=200;var CONTENT_MAX_CHARS=1e6;var CONTENT_KEYS=["title","content"];var ULID_RE=/^[0-9A-HJKMNP-TV-Z]{26}$/i;var LIST_COLUMNS=["id","title","format_name","status","created_at","\
|
|
5
|
+
updated_at","completed_at"];var GET_COLUMNS=["id","title","format_name","status","status_label","created_by_name","created_at","updated_at","completed_at","reviewed_at","reviewed_by_name","rejected_by_name"];var WRITE_COLUMNS=["id","title","format_id","status","status_label","created_at","updated_at","completed_at"];var FORMAT_COLUMNS=["id","code","name","is_available","title_editable","writer","reviewer","admin"];var FORMAT_FLAG={name:"--format",summary:"\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u540D\u524D\u30FB\u30B3\u30FC\u30C9\uFF08RF-000001\uFF09\u30FBID",
|
|
6
|
+
takesValue:true,placeholder:"<\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8>"};var CONTENT_FILE_FLAG={name:"--content-file",summary:"\u30EC\u30DD\u30FC\u30C8\u306E\u5185\u5BB9\u306E JSON \u30D5\u30A1\u30A4\u30EB\uFF08title / content\u30FB- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var SKELETON_FLAG={name:"--generate-cli-skeleton",summary:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u5165\u529B\u9805\u76EE\u304B\u3089 --content-file \u306E\u3072\u306A\u5F62\u3092\u51FA\u3057\u3066\u7D42\u4E86\u3059\u308B\uFF08\u30EC\u30DD\u30FC\u30C8\u306F\u4F5C\u3089\u306A\u3044\uFF09",
|
|
7
|
+
takesValue:false};var CONTENT_HELP="\u5185\u5BB9\uFF08--content-file\uFF09\u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3001\u6307\u5B9A\u3067\u304D\u308B\u30AD\u30FC\u306F title / content \u3067\u3059\u3002\n content \u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u5165\u529B\u9805\u76EE\u540D \u2192 \u5024\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3059\uFF08\u9805\u76EE\u540D\u306F twp report create --generate-cli-skeleton \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002\n \u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306B\u7121\u3044\u9805\u76EE\u540D\u30FB\u305D\u308C\u4EE5\u5916\u306E\u30AD\u30FC\u306F\u9001\u308B\u524D\u306B\u30A8\u30E9\u30FC\u306B\u3057\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306F\u9805\u76EE\u540D\u3092\u691C\u67FB\u305B\u305A\u306B\u4FDD\u5B58\u3057\u3001\n \u753B\u9762\u306B\u306F\u51FA\u306A\u3044\u5024\u304C\u6B8B\u308B\u305F\u3081\uFF09\u3002--content-file - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3081\u307E\u3059\u3002";
|
|
8
|
+
function usageOf(op){return`twp report ${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 reportIdArg(input,usage){const id=singleRef(input,{flag:"<\u30EC\u30DD\u30FC\u30C8ID>",label:"\u30EC\u30DD\u30FC\u30C8ID",usage});if(!isSafePathSegment(id)){throw new UsageError(`\u30EC\u30DD\u30FC\u30C8ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id}`,
|
|
9
|
+
"\u30EC\u30DD\u30FC\u30C8ID \u306F twp report list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}return id}function itemPath(id,suffix=""){return`${REPORTS_PATH}/${encodeURIComponent(id)}${suffix}`}async function formatId(ref,ctx,usableOnly){const trimmed=ref.trim();if(UUID_RE.test(trimmed))return trimmed;if(ULID_RE.test(trimmed))return trimmed.toUpperCase();const id=(await ctx.resolver.reportFormat(trimmed,FORMAT_FLAG.name,usableOnly)).id;if(!isSafePathSegment(id)){throw new ApiResponseError(
|
|
10
|
+
`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return id}function status(input){const raw=nonEmpty(input.flags,"--status");if(raw===void 0)return void 0;const values=raw.split(",").map(value=>value.trim());const bad=values.filter(value=>!Object.hasOwn(STATUSES,value));if(bad.length>0)throw new UsageError(
|
|
11
|
+
`--status \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u5024\u3067\u3059: ${bad.join(", ")||raw}`,STATUS_HELP);return[...new Set(values)].join(",")}function objectOf(body,key,label){const value=isRecord(body)&&body["result"]===true?body[key]:void 0;if(!isRecord(value)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B ${key} \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}var listPaging=envelopePaging(
|
|
12
|
+
{label:`${LABEL}\u4E00\u89A7`,itemsKey:"reports"});function writtenReport(body){return objectOf(body,"report",LABEL)}function serverMessage(body){return isRecord(body)&&typeof body["message"]==="string"&&body["message"]!==""?[body["message"]]:[]}function formatRows(body){const list=isRecord(body)&&body["result"]===true?body["formats"]:void 0;if(!Array.isArray(list)||list.some(row=>!isRecord(row))){throw new ApiResponseError("\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u4E00\u89A7\u306E\u5FDC\u7B54\u306B formats \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
13
|
+
return list}function formatSummary(row){const roles=isRecord(row["roles"])?row["roles"]:{};return pick({...row,writer:roles["writer"],reviewer:roles["reviewer"],admin:roles["admin"]},FORMAT_COLUMNS)}function text(value){return typeof value==="string"&&value!==""?value:void 0}function formColumns(format){const list=columnList(format["form_definition"]);if(list===void 0){throw new ApiResponseError("\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E form_definition \u3092\u8AAD\u3081\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
14
|
+
return list.flatMap(column=>{if(!isRecord(column))return[];const options=Array.isArray(column["options"])?column["options"].flatMap(option=>{if(typeof option==="string")return[option];if(!isRecord(option)||option["is_legacy"]===true)return[];return[`${String(option["key"])}=${String(option["value"])}`]}):[];return[{name:text(column["name"])??text(column["column_name"])??text(column["id"])??"",displayName:text(column["display_name"])??text(column["label"])??"",type:text(column["type"])??text(column["\
|
|
15
|
+
column_type"]),required:truthy(column["required"]),options,defaultValue:column["default_value"]}]})}function namedColumns(format){return formColumns(format).filter(column=>column.name!=="")}function columnList(definition){if(definition===void 0||definition===null||definition==="")return[];if(typeof definition==="string"){try{return columnList(JSON.parse(definition))}catch{return void 0}}if(Array.isArray(definition))return definition;if(!isRecord(definition))return void 0;const list=Array.isArray(
|
|
16
|
+
definition["form_column_list"])?definition["form_column_list"]:definition["fields"];return Array.isArray(list)?list:void 0}var HARD_TYPES=new Set(["attachment_file","movie","file_reference","task","workflow_application"]);function initialValue(column){if(column.type==="workflow_application"||column.type==="task")return null;return typeof column.defaultValue==="string"&&column.defaultValue!==""?column.defaultValue:null}function titleLocked(format){return format["title_editable"]===false&&text(format["\
|
|
17
|
+
default_title"])!==void 0}function defaultTitle(format,now=new Date){const raw=text(format["default_title"])??text(format["name"]);if(raw===void 0)return void 0;const today=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Tokyo"}).format(now);return raw.replace(/\{date\}/g,today)}function skeleton(format){const content={};for(const column of namedColumns(format))content[column.name]=initialValue(column);return titleLocked(format)?{content}:{title:defaultTitle(format)??null,content}}function skeletonNotes(format){
|
|
18
|
+
const columns=namedColumns(format);const notes=titleLocked(format)?[`\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306F\u30BF\u30A4\u30C8\u30EB\u3092\u5909\u3048\u3089\u308C\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C\u300C${String(format["default_title"])}\u300D\u304B\u3089\u4ED8\u3051\u307E\u3059\u3002title \u306F\u66F8\u304B\u306A\u3044\u3067\u304F\u3060\u3055\u3044\uFF09`]:[];if(columns.length===0)return[...notes,"\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306B\u5165\u529B\u9805\u76EE\u306F\u3042\u308A\u307E\u305B\u3093\uFF08content \u306F\u7A7A\u306E\u307E\u307E\u3067\u4F5C\u308C\u307E\u3059\uFF09"];
|
|
19
|
+
return[...notes,`\u5165\u529B\u9805\u76EE: ${String(columns.length)} \u9805\u76EE\uFF08content \u306E\u30AD\u30FC\uFF09`,...columns.map(column=>` ${column.name}: ${column.displayName}\uFF08${column.type??"\u578B\u4E0D\u660E"}${column.required?"\u30FB\u63D0\u51FA\u306B\u5FC5\u9808":""}\uFF09${column.options.length>0?` \u9078\u629E\u80A2: ${column.options.join(" / ")}`:""}${column.type!==void 0&&HARD_TYPES.has(column.type)?" \u203BCLI \u304B\u3089\u306F\u5024\u3092\u4F5C\u308C\u306A\u3044\u578B\u3067\u3059\uFF08null \u306E\u307E\u307E\u306B\u3057\u3001\u8981\u308B\u306A\u3089\u753B\u9762\u3067\u5165\u529B\uFF09":
|
|
20
|
+
""}`)]}function parseContent(textBody,source,usage){let parsed;try{parsed=JSON.parse(textBody)}catch{throw new UsageError(`\u30EC\u30DD\u30FC\u30C8\u306E\u5185\u5BB9\u304C JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093\uFF08${source}\uFF09`,usage)}if(!isRecord(parsed)){throw new UsageError(`\u30EC\u30DD\u30FC\u30C8\u306E\u5185\u5BB9\u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${source}\uFF09`,CONTENT_HELP)}const unknown=Object.
|
|
21
|
+
keys(parsed).filter(key=>!CONTENT_KEYS.includes(key));if(unknown.length>0){throw new UsageError(`\u30EC\u30DD\u30FC\u30C8\u306E\u5185\u5BB9\u306B\u9001\u308C\u306A\u3044\u9805\u76EE\u304C\u3042\u308A\u307E\u3059: ${unknown.join(", ")}\uFF08${source}\uFF09`,CONTENT_HELP)}const title=parsed["title"];if(title!==void 0){if(typeof title!=="string"||title.trim()===""){throw new UsageError(`title \u306F\u7A7A\u3067\u306A\u3044\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${source}\
|
|
22
|
+
\uFF09`,CONTENT_HELP)}if(charCount(title.trim())>TITLE_MAX_CHARS){throw new UsageError(`title \u304C\u9577\u3059\u304E\u307E\u3059\uFF08${charCount(title.trim())} \u6587\u5B57\u30FB\u4E0A\u9650 ${TITLE_MAX_CHARS} \u6587\u5B57\uFF09`,CONTENT_HELP)}}if("content"in parsed&&!isRecord(parsed["content"])){throw new UsageError(`content \u306F\u300C\u9805\u76EE\u540D \u2192 \u5024\u300D\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${source}\uFF09`,
|
|
23
|
+
CONTENT_HELP)}return parsed}async function readContent(input,usage){const body=await readBody(input,{flag:"--content",fileFlag:CONTENT_FILE_FLAG.name,label:"\u30EC\u30DD\u30FC\u30C8\u306E\u5185\u5BB9",maxChars:CONTENT_MAX_CHARS,usage});return body===void 0?void 0:parseContent(body,`${CONTENT_FILE_FLAG.name} ${input.flags.get(CONTENT_FILE_FLAG.name)??""}`,usage)}function checkAgainstFormat(content,format,usage,mode,existing=[]){const names=namedColumns(format).map(column=>column.name);const unknown=Object.
|
|
24
|
+
keys(content.content??{}).filter(key=>!names.includes(key)&&!existing.includes(key));if(unknown.length>0){throw new UsageError(`\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u300C${String(format["name"])}\u300D\u306B\u7121\u3044\u9805\u76EE\u540D\u3067\u3059: ${unknown.join(", ")}`,names.length>0?`\u4F7F\u3048\u308B\u9805\u76EE\u540D: ${names.join(", ")}`:"\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306B\u5165\u529B\u9805\u76EE\u306F\u3042\u308A\u307E\u305B\u3093\uFF08content \u306F\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002")}
|
|
25
|
+
const dropped=mode==="create"?titleLocked(format):format["title_editable"]===false;if(content.title!==void 0&&dropped){throw new UsageError(`\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u300C${String(format["name"])}\u300D\u306F\u30BF\u30A4\u30C8\u30EB\u3092\u5909\u3048\u3089\u308C\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C title \u3092\u6368\u3066\u307E\u3059\uFF09`,`--content-file \u304B\u3089 title \u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\u3002${usage}`)}}function truthy(value){return!(value===
|
|
26
|
+
void 0||value===null||value===""||value===0||value===false||Number.isNaN(value))}function taskReference(value){if(typeof value==="string"){if(value==="")return{projectId:false,taskId:false};try{return taskReference(JSON.parse(value))}catch{return{projectId:false,taskId:false}}}const record=isRecord(value)?value:{};const has=key=>typeof record[key]==="string"&&record[key].trim()!=="";return{projectId:has("project_id"),taskId:has("task_id")}}function reportContent(report){const value=report["conte\
|
|
27
|
+
nt"];if(typeof value==="string"){try{const parsed=JSON.parse(value);if(isRecord(parsed))return parsed}catch{}return{}}return isRecord(value)?value:{}}function missingForSubmit(report,format){const missing=[];if(typeof report["title"]!=="string"||report["title"].trim()==="")missing.push("\u30BF\u30A4\u30C8\u30EB\uFF08title\uFF09");const content=reportContent(report);for(const column of formColumns(format)){const value=content[column.name];const label=column.name===""?column.displayName||"\u540D\u524D\u306E\u7121\u3044\u9805\u76EE":
|
|
28
|
+
`${column.displayName!==""?column.displayName:column.name}\uFF08${column.name}\uFF09`;if(column.type==="task"){const ref=taskReference(value);if(ref.projectId&&!ref.taskId){missing.push(`${label} \u306E\u8EE2\u8A18\u5148\u30BF\u30B9\u30AF`);continue}if(column.required&&!(ref.projectId&&ref.taskId))missing.push(label);continue}if(column.required&&!truthy(value))missing.push(label)}return missing}var LIST_USAGE="twp report list [--format <\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8>] [--status <\u72B6\u614B>] [--keyword <\u8A9E>] [--all] [--limit <\
|
|
29
|
+
\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>]";var GET_USAGE="twp report get <\u30EC\u30DD\u30FC\u30C8ID>";var CREATE_USAGE="twp report create --format <\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8> [--content-file <\u30D1\u30B9>] [--generate-cli-skeleton]";var UPDATE_USAGE="twp report update <\u30EC\u30DD\u30FC\u30C8ID> --content-file <\u30D1\u30B9>";var SUBMIT_USAGE="twp report submit <\u30EC\u30DD\u30FC\u30C8ID>";function listQuery(input){return{format_id:input.resolved?.["formatId"],status:status(
|
|
30
|
+
input),keyword:nonEmpty(input.flags,"--keyword")?.trim(),limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor")}}var listOperation={name:"list",summary:`\u81EA\u5206\u304C\u66F8\u3044\u305F${LABEL}\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65B0\u3057\u3044\u9806\uFF09`,usage:LIST_USAGE,description:`\u81EA\u5206\u304C\u4F5C\u6210\u3057\u305F\u30EC\u30DD\u30FC\u30C8\u3060\u3051\u3092\u51FA\u3057\u307E\u3059\uFF08\u78BA\u8A8D\u8005\u3068\u3057\u3066\u898B\u3089\u308C\u308B\u4ED6\u4EBA\u306E\u30EC\u30DD\u30FC\u30C8\u306F twp report inbox\uFF09\u3002
|
|
31
|
+
--format \u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\u3001--status \u306F\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u307F\u307E\u3059\uFF08--status new,rejected \u306E\u3088\u3046\u306B\u8907\u6570\u53EF\uFF09\u3002
|
|
32
|
+
${STATUS_HELP}
|
|
33
|
+
\u65E5\u4ED8\u3067\u306F\u7D5E\u308A\u8FBC\u3081\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306E\u4E00\u89A7\u304C\u53D7\u3051\u306A\u3044\u305F\u3081\uFF09\u3002\u76F4\u8FD1\u306E\u3082\u306E\u306F --limit \u3067\u8DB3\u308A\u307E\u3059\u3002
|
|
34
|
+
|
|
35
|
+
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\u4E00\u89A7\u306E content \u306F\u53D6\u5F97\u7D4C\u8DEF\u306B\u3088\u3063\u3066 JSON \u6587\u5B57\u5217\u306E\u3053\u3068\u304C
|
|
36
|
+
\u3042\u308B\u306E\u3067\u3001\u672C\u6587\u306F twp report get <\u30EC\u30DD\u30FC\u30C8ID> \u3067\u8AAD\u3093\u3067\u304F\u3060\u3055\u3044\u3002
|
|
37
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
38
|
+
|
|
39
|
+
`+LIST_PAGING_HELP,flags:[...LIST_FLAGS,{...FORMAT_FLAG,summary:"\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09"},{name:"--status",summary:"\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080\uFF08new / completed / reviewed / rejected\u30FB\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\uFF09",takesValue:true,placeholder:"<\u72B6\u614B>"},{name:"--keyword",summary:"\u30BF\u30A4\u30C8\u30EB\u30FB\u672C\u6587\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080",
|
|
40
|
+
takesValue:true,placeholder:"<\u8A9E>"}],paging:listPaging,async prepare(input,ctx){noArgs(input,"list");listQuery(input);const ref=nonEmpty(input.flags,FORMAT_FLAG.name);return ref===void 0?input:withResolved(input,{formatId:await formatId(ref,ctx,false)})},plan:input=>({method:"GET",path:`${REPORTS_PATH}/writer`,query:listQuery(input)}),summarize:body=>listPaging.items(body).map(row=>pick(row,LIST_COLUMNS)),raw:body=>listPaging.items(body)};var getOperation={name:"get",summary:`${LABEL}1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\
|
|
41
|
+
\u793A\u3059\u308B\uFF08\u672C\u6587\u30FB\u30B3\u30E1\u30F3\u30C8\u3092\u542B\u3080\uFF09`,usage:GET_USAGE,description:`\u81EA\u5206\u306E\u30EC\u30DD\u30FC\u30C8\u306E\u307B\u304B\u3001\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u3068\u3057\u3066\u898B\u3089\u308C\u308B\u30EC\u30DD\u30FC\u30C8\u3082\u8AAD\u3081\u307E\u3059\u3002
|
|
42
|
+
--output json \u306F\u672C\u6587\uFF08content\uFF1D\u9805\u76EE\u540D \u2192 \u5024\uFF09\u30FB\u30B3\u30E1\u30F3\u30C8\uFF08comments\uFF09\u30FB\u6A29\u9650\uFF08roles\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
43
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${GET_COLUMNS.join(" / ")} / comment_count\uFF09\u3067\u3059\u3002\u30B3\u30E1\u30F3\u30C8\u306E\u672C\u6587\u306F
|
|
44
|
+
twp report comment list <\u30EC\u30DD\u30FC\u30C8ID> \u3067\u8AAD\u3081\u307E\u3059\u3002`,flags:[],plan:input=>({method:"GET",path:itemPath(reportIdArg(input,GET_USAGE))}),summarize:body=>{const report=writtenReport(body);return{...pick(report,GET_COLUMNS),comment_count:Array.isArray(report["comments"])?report["comments"].length:null}},raw:writtenReport};function createResult(value){if(!isRecord(value)||typeof value["skeleton"]!=="boolean"){throw new Error("\u5185\u90E8\u30A8\u30E9\u30FC: report create \u306E\u5FDC\u7B54\u306B\u5370\u304C\u3042\u308A\u307E\u305B\u3093\uFF08exec\
|
|
45
|
+
ute \u306E\u914D\u7DDA\u6F0F\u308C\uFF09")}return value}function createPlan(input){const id=requireResolved(input,"formatId");if(input.flags.has(SKELETON_FLAG.name))return{method:"GET",path:`${REPORTS_PATH}/formats/${encodeURIComponent(id)}`};const body=JSON.parse(requireResolved(input,"body"));return{method:"POST",path:REPORTS_PATH,body:{...body,format_id:id}}}var createOperation={name:"create",summary:`${LABEL}\u3092\u4E0B\u66F8\u304D\u3067\u4F5C\u308B\uFF08\u63D0\u51FA\u306F twp report submit\uFF09`,
|
|
46
|
+
usage:CREATE_USAGE,description:`POST /api/v2/reports \u3067\u30EC\u30DD\u30FC\u30C8\u3092\u4E0B\u66F8\u304D\uFF08\u72B6\u614B new\uFF09\u3068\u3057\u3066\u4F5C\u308A\u307E\u3059\u3002\u78BA\u8A8D\u8005\u3078\u306F\u307E\u3060\u5C4A\u304D\u307E\u305B\u3093\u3002
|
|
47
|
+
--format \u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u540D\u524D\u30FB\u30B3\u30FC\u30C9\uFF08RF-000001\uFF09\u30FBID \u3067\u3059\u3002\u540D\u524D\u3068\u30B3\u30FC\u30C9\u306F\u3001\u4F5C\u6210\u3067\u304D\u308B\uFF08\u6709\u52B9\u3067\u53D7\u4ED8\u671F\u9593\u5185\u306E\uFF09
|
|
48
|
+
\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u304B\u3089\u5B8C\u5168\u4E00\u81F4\u3067\u63A2\u3057\u307E\u3059\uFF08\u540C\u540D\u304C\u3042\u308C\u3070\u30B3\u30FC\u30C9\u304B ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u4E00\u89A7\u306F twp report format list\uFF09\u3002
|
|
49
|
+
--content-file \u3092\u7701\u304F\u3068\u3001\u30BF\u30A4\u30C8\u30EB\u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u65E2\u5B9A\uFF08\u7121\u3051\u308C\u3070\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u540D\uFF09\u30FB\u5165\u529B\u9805\u76EE\u306F\u7A7A\u306E\u4E0B\u66F8\u304D\u306B\u306A\u308A\u307E\u3059\u3002
|
|
50
|
+
|
|
51
|
+
${CONTENT_HELP}
|
|
52
|
+
|
|
53
|
+
--generate-cli-skeleton \u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u5B9A\u7FA9\uFF08GET /api/v2/reports/formats/{id}\uFF09\u3092\u8AAD\u307F\u3001--content-file \u306B\u6E21\u3059
|
|
54
|
+
\u3072\u306A\u5F62\u3092\u6A19\u6E96\u51FA\u529B\u3078\u51FA\u3057\u3066\u7D42\u4E86\u3057\u307E\u3059\uFF08\u30EC\u30DD\u30FC\u30C8\u306F\u4F5C\u308A\u307E\u305B\u3093\uFF09\u3002\u5404\u9805\u76EE\u306E\u8868\u793A\u540D\u30FB\u578B\u30FB\u5FC5\u9808\u30FB\u9078\u629E\u80A2\u306F stderr \u306B\u51FA\u307E\u3059\u3002
|
|
55
|
+
\u4F8B: twp report create --format \u65E5\u5831 --generate-cli-skeleton --output json > report.json
|
|
56
|
+
|
|
57
|
+
\u4F5C\u3063\u305F\u30EC\u30DD\u30FC\u30C8\u306E ID \u306F\u51FA\u529B\u306E id \u3067\u3059\u3002\u7D9A\u3051\u3066 twp report submit <\u30EC\u30DD\u30FC\u30C8ID> \u3067\u63D0\u51FA\u3057\u307E\u3059\u3002`,flags:[FORMAT_FLAG,CONTENT_FILE_FLAG,SKELETON_FLAG],async prepare(input,ctx){noArgs(input,"create");const wantsSkeleton=input.flags.has(SKELETON_FLAG.name);if(wantsSkeleton&&input.flags.has(CONTENT_FILE_FLAG.name)){throw new UsageError("--generate-cli-skeleton \u3068 --content-file \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",
|
|
58
|
+
CREATE_USAGE)}const content=wantsSkeleton?void 0:await readContent(input,CREATE_USAGE)??{};const ref=nonEmpty(input.flags,FORMAT_FLAG.name);if(ref===void 0)throw new UsageError("\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092 --format <\u540D\u524D|\u30B3\u30FC\u30C9|ID> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",CREATE_USAGE);const id=await formatId(ref,ctx,true);if(content===void 0)return withResolved(input,{formatId:id});const format=await ctx.resolver.reportRecord("format",id,FORMAT_FLAG.
|
|
59
|
+
name);checkAgainstFormat(content,format,CREATE_USAGE,"create");const title=content.title??defaultTitle(format);if(title===void 0)throw new UsageError("--content-file \u306B title \u3092\u66F8\u3044\u3066\u304F\u3060\u3055\u3044",CREATE_USAGE);const body={title,content:content.content??{}};return withResolved(input,{formatId:id,body:JSON.stringify(body),titleFilled:content.title===void 0?title:""})},plan:createPlan,execute:async(input,ctx)=>({skeleton:input.flags.has(SKELETON_FLAG.name),body:await ctx.
|
|
60
|
+
send(createPlan(input))}),plannedNotes(input){if(input.flags.has(SKELETON_FLAG.name))return["\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u5B9A\u7FA9\u3092\u8AAD\u3080\u3060\u3051\u3067\u3001\u30EC\u30DD\u30FC\u30C8\u306F\u4F5C\u308A\u307E\u305B\u3093"];const filled=input.resolved?.["titleFilled"];return["\u4E0B\u66F8\u304D\u3068\u3057\u3066\u4F5C\u308A\u307E\u3059\uFF08\u63D0\u51FA\u306F twp report submit\uFF09",...filled!==void 0&&filled!==""?[`title \u304C\u7121\u3044\u306E\u3067\u300C${filled}\
|
|
61
|
+
\u300D\u3067\u4F5C\u308A\u307E\u3059`]:[]]},summarize(value){const result=createResult(value);return result.skeleton?skeleton(objectOf(result.body,"format","\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8")):pick(writtenReport(result.body),WRITE_COLUMNS)},raw(value){const result=createResult(value);return result.skeleton?skeleton(objectOf(result.body,"format","\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8")):writtenReport(result.body)},notes(value){const result=createResult(
|
|
62
|
+
value);return result.skeleton?skeletonNotes(objectOf(result.body,"format","\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8")):serverMessage(result.body)}};var WRITE_FORBIDDEN="\u3053\u306E\u30EC\u30DD\u30FC\u30C8\u304B\u305D\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u8AAD\u3080\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u6A29\u9650\uFF08\u66F8\u304F\u30FB\u78BA\u8A8D\u30FB\u7BA1\u7406\uFF09\u304C\u5916\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u5165\u529B\u9805\u76EE\u3092\u7167\u5408\u3067\u304D\u306A\u3044\u305F\u3081 CLI \u304B\u3089\u306F\u66F4\u65B0\u30FB\u63D0\u51FA\u3067\u304D\u307E\u305B\u3093\u3002\u753B\u9762\u304B\u3089\u64CD\u4F5C\u3059\u308B\u304B\u3001\u7BA1\u7406\u8005\u306B\u6A29\u9650\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
63
|
+
function reportFormatId(report){const id=report["format_id"];if(typeof id!=="string"||id===""){throw new ApiResponseError("\u30EC\u30DD\u30FC\u30C8\u306E\u5FDC\u7B54\u306B format_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return id}var updateOperation={name:"update",summary:`\u63D0\u51FA\u524D\uFF08\u4E0B\u66F8\u304D\u30FB\u5DEE\u3057\u623B\u3057\uFF09\u306E${LABEL}\u3092\u66F8\u304D\u63DB\u3048\u308B`,usage:UPDATE_USAGE,
|
|
64
|
+
description:"PUT /api/v2/reports/{id} \u3067\u30EC\u30DD\u30FC\u30C8\u3092\u66F8\u304D\u63DB\u3048\u307E\u3059\u3002\u66F8\u304D\u63DB\u3048\u3089\u308C\u308B\u306E\u306F\u81EA\u5206\u306E\u30EC\u30DD\u30FC\u30C8\u306E\u3046\u3061\u3001\n\u4E0B\u66F8\u304D\uFF08new\uFF09\u3068\u5DEE\u3057\u623B\u3055\u308C\u305F\u3082\u306E\uFF08rejected\uFF09\u3067\u3059\u3002\n\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u3044\u305F\u30AD\u30FC\u3060\u3051\u3092\u9001\u308A\u307E\u3059\uFF08title \u3092\u66F8\u304B\u306A\u3051\u308C\u3070\u30BF\u30A4\u30C8\u30EB\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002\n\u26A0\uFE0F content \u306F\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u308F\u308A\u307E\u3059\uFF08\u9805\u76EE\u3054\u3068\u306E\u30DE\u30FC\u30B8\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u753B\u9762\u3082\u5168\u9805\u76EE\u3092\u9001\u308A\u307E\u3059\uFF09\u3002\u4ECA\u306E\u5024\u306F\n twp report get <\u30EC\u30DD\u30FC\u30C8ID> --output json \u306E content \u3067\u53D6\u308C\u307E\u3059\u3002\n\n"+
|
|
65
|
+
CONTENT_HELP,flags:[CONTENT_FILE_FLAG],forbidden:WRITE_FORBIDDEN,async prepare(input,ctx){const id=reportIdArg(input,UPDATE_USAGE);const content=await readContent(input,UPDATE_USAGE);if(content===void 0||Object.keys(content).length===0){throw new UsageError("\u66F8\u304D\u63DB\u3048\u308B\u5185\u5BB9\u3092 --content-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u7A7A\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u306F\u4F55\u3082\u5909\u308F\u308A\u307E\u305B\u3093\uFF09",
|
|
66
|
+
UPDATE_USAGE)}const report=await ctx.resolver.reportRecord("report",id,"<\u30EC\u30DD\u30FC\u30C8ID>");const format=await ctx.resolver.reportRecord("format",reportFormatId(report),"\u30EC\u30DD\u30FC\u30C8\u306E format_id");checkAgainstFormat(content,format,UPDATE_USAGE,"update",Object.keys(reportContent(report)));return withResolved(input,{body:JSON.stringify(content)})},plan:input=>({method:"PUT",path:itemPath(reportIdArg(input,UPDATE_USAGE)),body:JSON.parse(requireResolved(input,"body"))}),plannedNotes:input=>"\
|
|
67
|
+
content"in JSON.parse(requireResolved(input,"body"))?["content \u306F\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u308F\u308A\u307E\u3059\uFF08\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304B\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u7A7A\u306B\u306A\u308A\u307E\u3059\uFF09"]:[],summarize:body=>pick(writtenReport(body),WRITE_COLUMNS),raw:writtenReport,notes:serverMessage};var submitOperation={name:"submit",summary:`\u4E0B\u66F8\u304D\uFF08\u307E\u305F\u306F\u5DEE\u3057\u623B\u3055\u308C\u305F${LABEL}\uFF09\u3092\u63D0\u51FA\u3059\u308B`,
|
|
68
|
+
usage:SUBMIT_USAGE,description:"POST /api/v2/reports/{id}/complete \u3067\u30EC\u30DD\u30FC\u30C8\u3092\u63D0\u51FA\u3057\u307E\u3059\uFF08\u72B6\u614B completed\uFF09\u3002\u78BA\u8A8D\u8005\u306B\u5C4A\u304D\u307E\u3059\u3002\n\u63D0\u51FA\u3067\u304D\u308B\u306E\u306F\u4E0B\u66F8\u304D\uFF08new\uFF09\u3068\u5DEE\u3057\u623B\u3055\u308C\u305F\u3082\u306E\uFF08rejected\uFF09\u3067\u3059\u3002\u5185\u5BB9\u306F\u4ECA\u306E\u30EC\u30DD\u30FC\u30C8\u306E\u307E\u307E\u9001\u308A\u307E\u3059\n\uFF08\u5909\u3048\u308B\u306A\u3089\u5148\u306B twp report update\uFF09\u3002\n\u9001\u308B\u524D\u306B\u30EC\u30DD\u30FC\u30C8\u3068\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u8AAD\u307F\u3001\u753B\u9762\u3068\u540C\u3058\u6761\u4EF6\uFF08\u30BF\u30A4\u30C8\u30EB\u304C\u7A7A\u3067\u306A\u3044\u30FB\u5FC5\u9808\u306E\u9805\u76EE\u304C\u57CB\u307E\u3063\u3066\u3044\u308B\uFF09\u3092\n\u78BA\u304B\u3081\u307E\u3059\u3002\u30B5\u30FC\u30D0\u306F\u63D0\u51FA\u6642\u306B\u5FC5\u9808\u9805\u76EE\u3092\u691C\u67FB\u3057\u306A\u3044\u305F\u3081\u3001\u3053\u3053\u3067\u6B62\u3081\u306A\u3044\u3068\u7A7A\u306E\u65E5\u5831\u304C\u5C4A\u304D\u307E\u3059\u3002",
|
|
69
|
+
flags:[],forbidden:WRITE_FORBIDDEN,async prepare(input,ctx){const id=reportIdArg(input,SUBMIT_USAGE);const report=await ctx.resolver.reportRecord("report",id,"<\u30EC\u30DD\u30FC\u30C8ID>");const format=await ctx.resolver.reportRecord("format",reportFormatId(report),"\u30EC\u30DD\u30FC\u30C8\u306E format_id");const missing=missingForSubmit(report,format);if(missing.length>0){throw new UsageError(`\u63D0\u51FA\u306B\u5FC5\u8981\u306A\u9805\u76EE\u304C\u7A7A\u3067\u3059: ${missing.join(" / ")}`,`t\
|
|
70
|
+
wp report update ${id} --content-file <\u30D1\u30B9> \u3067\u57CB\u3081\u3066\u304B\u3089\u63D0\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return report["is_owner"]===false?withResolved(input,{otherOwner:String(report["created_by_name"]??report["created_by"]??"")}):input},plan:input=>({method:"POST",path:itemPath(reportIdArg(input,SUBMIT_USAGE),"/complete"),body:{}}),plannedNotes:input=>["\u63D0\u51FA\u3059\u308B\u3068\u78BA\u8A8D\u8005\u306B\u5C4A\u304D\u307E\u3059\uFF08\u53D6\u308A\u4E0B\u3052\u306F\u753B\u9762\u304B\u3089\uFF09",
|
|
71
|
+
...input.resolved?.["otherOwner"]!==void 0?[`\u26A0\uFE0F \u81EA\u5206\u306E\u30EC\u30DD\u30FC\u30C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u4F5C\u6210\u8005: ${input.resolved["otherOwner"]||"\u4E0D\u660E"}\uFF09\u3002\u672C\u4EBA\u306B\u4EE3\u308F\u3063\u3066\u63D0\u51FA\u3057\u307E\u3059`]:[]],summarize:body=>pick(writtenReport(body),WRITE_COLUMNS),raw:writtenReport,notes:serverMessage};var INBOX_STATUSES={completed:STATUSES["completed"],reviewed:STATUSES["reviewed"],rejected:STATUSES["\
|
|
72
|
+
rejected"]};var INBOX_STATUS_HELP=`\u72B6\u614B: ${Object.entries(INBOX_STATUSES).map(([key,name])=>`${key}\uFF08${name}\uFF09`).join(" / ")}\uFF08\u7701\u7565\u6642\u306F3\u3064\u3068\u3082\uFF09`;var INBOX_COLUMNS=["id","title","format_name","created_by_name","status","is_read","completed_at","reviewed_at"];var COMMENT_COLUMNS=["id","user_name","comment","created_at"];var COMMENT_MAX_CHARS=1e4;var DATE_RE=/^(\d{4})-(\d{2})-(\d{2})$/;var REPORT_FLAG={name:"--report",summary:"\u5BFE\u8C61\u306E\u30EC\u30DD\u30FC\u30C8ID\uFF08\u7E70\u308A\u8FD4\u3057\u3066\u8907\u6570\u6307\u5B9A\
|
|
73
|
+
\u3067\u304D\u308B\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u6642\u306B\u306F\u4F7F\u3048\u306A\u3044\uFF09",takesValue:true,placeholder:"<\u30EC\u30DD\u30FC\u30C8ID>",repeatable:true};var INBOX_USAGE="twp report inbox [--format <\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8>] [--status <\u72B6\u614B>] [--unread] [--writer <\u30E6\u30FC\u30B6\u30FC>] [--from <YYYY-MM-DD>] [--to <YYYY-MM-DD>] [--keyword <\u8A9E>] [--all]";var READ_USAGE="twp report read <\u30EC\u30DD\u30FC\u30C8ID> | --report <\u30EC\u30DD\u30FC\u30C8ID> [--report <\u30EC\u30DD\u30FC\u30C8ID>]...";
|
|
74
|
+
var REVIEW_USAGE="twp report review <\u30EC\u30DD\u30FC\u30C8ID> | --report <\u30EC\u30DD\u30FC\u30C8ID> [--report <\u30EC\u30DD\u30FC\u30C8ID>]... --yes";var UNREVIEW_USAGE="twp report unreview <\u30EC\u30DD\u30FC\u30C8ID>";var REJECT_USAGE="twp report reject <\u30EC\u30DD\u30FC\u30C8ID> --comment-file <\u30D1\u30B9> --yes";var ADVICE_USAGE="twp report advice <\u30EC\u30DD\u30FC\u30C8ID> --yes";var COMMENT_LIST_USAGE="twp report comment list <\u30EC\u30DD\u30FC\u30C8ID>";var COMMENT_CREATE_USAGE="\
|
|
75
|
+
twp report comment create <\u30EC\u30DD\u30FC\u30C8ID> (--body <\u672C\u6587> | --body-file <\u30D1\u30B9>)";function reportIds(input,usage){const flagged=repeatedValues(input,REPORT_FLAG.name).map(id=>id.trim());if(input.args.length>1){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u3067\u6307\u5B9A\u3067\u304D\u308B\u30EC\u30DD\u30FC\u30C8\u306F1\u3064\u3060\u3051\u3067\u3059: ${input.args.slice(1).join(" ")}`,`\u8907\u6570\u306F --report \u3092\u7E70\u308A\u8FD4\u3057\u3066\u304F\u3060\u3055\u3044\u3002${usage}`)}
|
|
76
|
+
if(input.args.length>0&&flagged.length>0){throw new UsageError("\u30EC\u30DD\u30FC\u30C8\u304C\u4F4D\u7F6E\u5F15\u6570\u3068 --report \u306E\u4E21\u65B9\u3067\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059","\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const ids=input.args.length>0?[input.args[0]?.trim()??""]:flagged;if(ids.length===0||ids.some(id=>id===""))throw new UsageError("\u30EC\u30DD\u30FC\u30C8ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
77
|
+
usage);const bad=ids.filter(id=>!isSafePathSegment(id));if(bad.length>0){throw new UsageError(`\u30EC\u30DD\u30FC\u30C8ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${bad.join(" ")}`,"\u30EC\u30DD\u30FC\u30C8ID \u306F twp report inbox \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}const duplicated=ids.filter((id,index)=>ids.indexOf(id)!==index);if(duplicated.length>0)throw new UsageError(`\u540C\u3058\u30EC\u30DD\u30FC\u30C8ID \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${[
|
|
78
|
+
...new Set(duplicated)].join(" ")}`,usage);return ids}async function postEach(ctx,ids,suffix,label){const posted=[];for(const[index,id]of ids.entries()){try{posted.push({id,body:await ctx.send({method:"POST",path:itemPath(id,suffix),body:{}})})}catch(err){if(ids.length>1){const done=ids.slice(0,index);const rest=ids.slice(index+1);ctx.warn([`${label}: ${ids.length} \u4EF6\u4E2D ${index+1} \u4EF6\u76EE\uFF08${id}\uFF09\u3067\u5931\u6557\u3057\u305F\u305F\u3081\u6B62\u3081\u307E\u3057\u305F\u3002`,
|
|
79
|
+
done.length>0?` \u9069\u7528\u6E08\u307F: ${done.join(" ")}`:" \u9069\u7528\u6E08\u307F\u306E\u30EC\u30DD\u30FC\u30C8\u306F\u3042\u308A\u307E\u305B\u3093\u3002",...rest.length>0?[` \u9001\u3063\u3066\u3044\u306A\u3044: ${rest.join(" ")}`]:[]].join("\n"))}throw err}}return posted}function postedOf(value){if(!Array.isArray(value)||value.some(row=>!isRecord(row)||typeof row["id"]!=="string")){throw new Error("\u5185\u90E8\u30A8\u30E9\u30FC: \u5BFE\u8C61\u3054\u3068\u306E\u5FDC\u7B54\u304C\u8AAD\u3081\u307E\u305B\u3093\uFF08execute \u306E\u914D\u7DDA\u6F0F\u308C\uFF09")}
|
|
80
|
+
return value}function eachPlannedNotes(ids,label){return ids.length>1?[`${ids.length} \u4EF6\u30921\u4EF6\u305A\u3064${label}\u3057\u307E\u3059\uFF08\u8868\u793A\u306F1\u4EF6\u76EE\u306E\u8981\u6C42\u3002\u6B8B\u308A: ${ids.slice(1).join(" ")}\uFF09`]:[]}function dateFlag(input,name){const raw=nonEmpty(input.flags,name)?.trim();if(raw===void 0)return void 0;const match=DATE_RE.exec(raw);const date=match===null?void 0:new Date(Date.UTC(Number(match[1]),Number(match[2])-1,Number(match[3])));if(date===
|
|
81
|
+
void 0||date.toISOString().slice(0,10)!==raw){throw new UsageError(`${name} \u306F YYYY-MM-DD \u306E\u65E5\u4ED8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,INBOX_USAGE)}return raw}function inboxStatus(input){const raw=nonEmpty(input.flags,"--status");if(raw===void 0)return void 0;const values=raw.split(",").map(value=>value.trim());const bad=values.filter(value=>!Object.hasOwn(INBOX_STATUSES,value));if(bad.length>0)throw new UsageError(`--status \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u5024\u3067\u3059: ${bad.
|
|
82
|
+
join(", ")||raw}`,INBOX_STATUS_HELP);return[...new Set(values)].join(",")}function inboxQuery(input){return{format_id:input.resolved?.["formatId"],status:inboxStatus(input),is_read:input.flags.has("--unread")?"false":void 0,created_user_id:input.resolved?.["writerId"],created_from:dateFlag(input,"--from"),created_to:dateFlag(input,"--to"),keyword:nonEmpty(input.flags,"--keyword")?.trim(),limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor")}}var inboxOperation={name:"\
|
|
83
|
+
inbox",summary:`\u78BA\u8A8D\u8005\u3068\u3057\u3066\u898B\u3089\u308C\u308B${LABEL}\uFF08\u63D0\u51FA\u6E08\u307F\uFF09\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65B0\u3057\u3044\u9806\uFF09`,usage:INBOX_USAGE,description:`GET /api/v2/reports/reviewer \u3067\u3001\u78BA\u8A8D\u8005\uFF08\u307E\u305F\u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u7BA1\u7406\u8005\uFF09\u306B\u306A\u3063\u3066\u3044\u308B\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u3001\u63D0\u51FA\u3055\u308C\u305F
|
|
84
|
+
\u30EC\u30DD\u30FC\u30C8\u3092\u51FA\u3057\u307E\u3059\uFF08\u753B\u9762\u306E\u300C\u30EC\u30DD\u30FC\u30C8\u78BA\u8A8D\u300D\u3068\u540C\u3058\u4E00\u89A7\uFF09\u3002\u81EA\u5206\u304C\u66F8\u3044\u305F\u3082\u306E\u3082\u3001\u78BA\u8A8D\u8005\u306B\u306A\u3063\u3066\u3044\u308B\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306A\u3089
|
|
85
|
+
\u6DF7\u3056\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u9664\u5916\u3057\u306A\u3044\u3002\u81EA\u5206\u306E\u5206\u3060\u3051\u3092\u898B\u308B\u306A\u3089 twp report list\uFF09\u3002
|
|
86
|
+
--format \u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\u3001--status \u306F\u72B6\u614B\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\u53EF\uFF09\u3067\u7D5E\u308A\u8FBC\u307F\u307E\u3059\u3002
|
|
87
|
+
${INBOX_STATUS_HELP}
|
|
88
|
+
--unread \u306F\u307E\u3060\u65E2\u8AAD\u306B\u3057\u3066\u3044\u306A\u3044\u3082\u306E\u3060\u3051\u3001--writer \u306F\u66F8\u3044\u305F\u4EBA\uFF08\u30E6\u30FC\u30B6\u30FC ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3002
|
|
89
|
+
\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\uFF09\u3001--from / --to \u306F\u4F5C\u6210\u65E5\uFF08JST \u306E\u66A6\u65E5\u30FB\u4E21\u7AEF\u3092\u542B\u3080\uFF09\u3067\u7D5E\u308A\u8FBC\u307F\u307E\u3059\u3002
|
|
90
|
+
\u78BA\u8A8D\u8005\u306E\u95B2\u89A7\u958B\u59CB\u65E5\u3088\u308A\u524D\u306E\u30EC\u30DD\u30FC\u30C8\u306F\u3001\u78BA\u8A8D\u8005\u306B\u306F\u51FA\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306E\u6A29\u9650\u8A2D\u5B9A\u3069\u304A\u308A\uFF09\u3002
|
|
91
|
+
|
|
92
|
+
\u672C\u6587\u3068\u30B3\u30E1\u30F3\u30C8\u306F twp report get <\u30EC\u30DD\u30FC\u30C8ID> \u3067\u8AAD\u3081\u307E\u3059\uFF08\u8AAD\u3093\u3060\u3089 twp report read \u3067\u65E2\u8AAD\u306B\u3057\u307E\u3059\uFF09\u3002
|
|
93
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${INBOX_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
94
|
+
|
|
95
|
+
`+LIST_PAGING_HELP,flags:[...LIST_FLAGS,{...FORMAT_FLAG,summary:"\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09"},{name:"--status",summary:"\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080\uFF08completed / reviewed / rejected\u30FB\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u8907\u6570\uFF09",takesValue:true,placeholder:"<\u72B6\u614B>"},{name:"--unread",summary:"\u307E\u3060\u65E2\u8AAD\u306B\u3057\u3066\u3044\u306A\u3044\u3082\u306E\u3060\u3051",
|
|
96
|
+
takesValue:false},{name:"--writer",summary:"\u66F8\u3044\u305F\u4EBA\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u30E6\u30FC\u30B6\u30FC ID\u30FB\u30E1\u30FC\u30EB\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\uFF09",takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"},{name:"--from",summary:"\u4F5C\u6210\u65E5\u304C\u3053\u306E\u65E5\u4EE5\u964D\uFF08YYYY-MM-DD\u30FBJST\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"},{name:"--to",summary:"\u4F5C\u6210\u65E5\u304C\u3053\u306E\u65E5\u4EE5\u524D\uFF08YYYY-MM-DD\u30FBJST\uFF09",
|
|
97
|
+
takesValue:true,placeholder:"<YYYY-MM-DD>"},{name:"--keyword",summary:"\u30BF\u30A4\u30C8\u30EB\u30FB\u672C\u6587\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"}],paging:listPaging,async prepare(input,ctx){noArgs(input,"inbox");inboxQuery(input);const formatRef=nonEmpty(input.flags,FORMAT_FLAG.name);const writerRef=nonEmpty(input.flags,"--writer");const resolved={};if(formatRef!==void 0)resolved["formatId"]=await formatId(formatRef,ctx,false);if(writerRef!==void 0)
|
|
98
|
+
resolved["writerId"]=(await ctx.resolver.user(writerRef,"--writer")).id;return Object.keys(resolved).length===0?input:withResolved(input,resolved)},plan:input=>({method:"GET",path:`${REPORTS_PATH}/reviewer`,query:inboxQuery(input)}),forbidden:reportForbidden("\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u3067\u306F\u306A\u3044\u305F\u3081\u3001\u30EC\u30DD\u30FC\u30C8\u3092\u4E00\u89A7\u3067\u304D\u307E\u305B\u3093\u3002\u78BA\u8A8D\u8005\u306E\u8A2D\u5B9A\u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u7BA1\u7406\u8005\u306B\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"),
|
|
99
|
+
summarize:body=>listPaging.items(body).map(row=>pick(row,INBOX_COLUMNS)),raw:body=>listPaging.items(body)};function readRows(value){return postedOf(value).map(({id,body})=>{if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError("\u65E2\u8AAD\u306E\u5FDC\u7B54\u304C\u8AAD\u3081\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return{id,message:serverMessage(body)[0]??null}})}function actedReports(value){return postedOf(value).map(
|
|
100
|
+
({body})=>writtenReport(body))}function reportForbidden(guidance){return body=>body?.error==="permission_denied"?"\u30EC\u30DD\u30FC\u30C8\u6A5F\u80FD\u306E\u5229\u7528\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u306B\u30EC\u30DD\u30FC\u30C8\u306E\u6A5F\u80FD\u6A29\u9650\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002":guidance}var REVIEW_FORBIDDEN=reportForbidden("\u3053\u306E\u30EC\u30DD\u30FC\u30C8\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u78BA\u8A8D\u8005\uFF08\u307E\u305F\u306F\u7BA1\u7406\u8005\uFF09\u3067\u306F\u306A\u3044\u305F\u3081\u64CD\u4F5C\u3067\u304D\u307E\u305B\u3093\u3002\u78BA\u8A8D\u8005\u306E\u8A2D\u5B9A\u306F\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u7BA1\u7406\u8005\u306B\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u81EA\u5206\u304C\u78BA\u8A8D\u3067\u304D\u308B\u30EC\u30DD\u30FC\u30C8\u306F\
|
|
101
|
+
twp report inbox \u3067\u4E00\u89A7\u3067\u304D\u307E\u3059\uFF09\u3002");var readOperation={name:"read",summary:`${LABEL}\u3092\u65E2\u8AAD\u306B\u3059\u308B\uFF08\u8907\u6570\u53EF\uFF09`,usage:READ_USAGE,description:"POST /api/v2/reports/{id}/read \u3067\u3001\u81EA\u5206\u306B\u3068\u3063\u3066\u306E\u65E2\u8AAD\u306B\u3057\u307E\u3059\uFF08\u66F8\u3044\u305F\u4EBA\u306B\u306F\u901A\u77E5\u3055\u308C\u307E\u305B\u3093\uFF09\u3002\n\u8907\u6570\u306F --report \u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\u30021\u4EF6\u305A\u3064\u9806\u306B\u9001\u308A\u3001\u5931\u6557\u3057\u305F\u3089\u305D\u3053\u3067\u6B62\u3081\u3066\u3001\u9069\u7528\u6E08\u307F\u30FB\u672A\u9001\u4FE1\u306E ID \u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n\u53D6\u308A\u6D88\u3057\uFF08\u672A\u8AAD\u306B\u623B\u3059\uFF09\u306E\u53E3\u306F\u30B5\u30FC\u30D0\u306B\u3042\u308A\u307E\u305B\u3093\u3002",
|
|
102
|
+
flags:[REPORT_FLAG],plan:input=>({method:"POST",path:itemPath(reportIds(input,READ_USAGE)[0],"/read"),body:{}}),plannedNotes:input=>eachPlannedNotes(reportIds(input,READ_USAGE),"\u65E2\u8AAD\u306B"),execute:(input,ctx)=>postEach(ctx,reportIds(input,READ_USAGE),"/read","\u65E2\u8AAD"),summarize:readRows,raw:readRows};var reviewOperation={name:"review",summary:`\u63D0\u51FA\u3055\u308C\u305F${LABEL}\u3092\u78BA\u8A8D\u6E08\u307F\u306B\u3059\u308B\uFF08\u8907\u6570\u53EF\uFF09`,usage:REVIEW_USAGE,description:"\
|
|
103
|
+
POST /api/v2/reports/{id}/review \u3067\u3001\u63D0\u51FA\u6E08\u307F\uFF08completed\uFF09\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u78BA\u8A8D\u6E08\u307F\uFF08reviewed\uFF09\u306B\u3057\u307E\u3059\u3002\n\u66F8\u3044\u305F\u4EBA\u3078\u300C\u78BA\u8A8D\u3055\u308C\u307E\u3057\u305F\u300D\u306E\u901A\u77E5\u304C\u5C4A\u304F\u305F\u3081 --yes \u304C\u8981\u308A\u307E\u3059\uFF08\u53D6\u308A\u6D88\u3057\u306F twp report unreview\uFF09\u3002\n\u78BA\u8A8D\u3067\u304D\u308B\u306E\u306F\u3001\u305D\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u3068\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3067\u3059\u3002\n\u8907\u6570\u306F --report \u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\u30021\u4EF6\u305A\u3064\u9806\u306B\u9001\u308A\u3001\u5931\u6557\u3057\u305F\u3089\u305D\u3053\u3067\u6B62\u3081\u3066\u3001\u9069\u7528\u6E08\u307F\u30FB\u672A\u9001\u4FE1\u306E ID \u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002",
|
|
104
|
+
destructive:true,confirmation:"\u66F8\u3044\u305F\u4EBA\u3078\u901A\u77E5\u304C\u5C4A\u304F\u64CD\u4F5C",flags:[REPORT_FLAG],forbidden:REVIEW_FORBIDDEN,plan:input=>({method:"POST",path:itemPath(reportIds(input,REVIEW_USAGE)[0],"/review"),body:{}}),plannedNotes:input=>["\u66F8\u3044\u305F\u4EBA\u3078\u78BA\u8A8D\u6E08\u307F\u306E\u901A\u77E5\u304C\u5C4A\u304D\u307E\u3059",...eachPlannedNotes(reportIds(input,REVIEW_USAGE),"\u78BA\u8A8D\u6E08\u307F\u306B")],execute:(input,ctx)=>postEach(ctx,reportIds(
|
|
105
|
+
input,REVIEW_USAGE),"/review","\u78BA\u8A8D"),summarize:value=>actedReports(value).map(row=>pick(row,WRITE_COLUMNS)),raw:actedReports};var unreviewOperation={name:"unreview",summary:`\u78BA\u8A8D\u6E08\u307F\u306E${LABEL}\u3092\u63D0\u51FA\u6E08\u307F\u306B\u623B\u3059\uFF08\u78BA\u8A8D\u306E\u53D6\u308A\u6D88\u3057\uFF09`,usage:UNREVIEW_USAGE,description:"POST /api/v2/reports/{id}/unreview \u3067\u3001\u78BA\u8A8D\u6E08\u307F\uFF08reviewed\uFF09\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u63D0\u51FA\u6E08\u307F\uFF08completed\uFF09\u306B\u623B\u3057\u307E\u3059\u3002\n\u64CD\u4F5C\u3067\u304D\u308B\u306E\u306F\u3001\u305D\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u3068\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3067\u3059\u3002",
|
|
106
|
+
flags:[],forbidden:REVIEW_FORBIDDEN,plan:input=>({method:"POST",path:itemPath(reportIdArg(input,UNREVIEW_USAGE),"/unreview"),body:{}}),summarize:body=>pick(writtenReport(body),WRITE_COLUMNS),raw:writtenReport,notes:serverMessage};async function readComment(input,spec){const body=await readBody(input,{...spec,maxChars:COMMENT_MAX_CHARS});if(body===void 0)throw new UsageError(`${spec.label}\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,spec.usage);return body}var rejectOperation={name:"re\
|
|
107
|
+
ject",summary:`\u63D0\u51FA\u3055\u308C\u305F${LABEL}\u3092\u5DEE\u3057\u623B\u3059\uFF08\u7406\u7531\u306E\u30B3\u30E1\u30F3\u30C8\u5FC5\u9808\uFF09`,usage:REJECT_USAGE,description:`POST /api/v2/reports/{id}/reject \u3067\u3001\u63D0\u51FA\u6E08\u307F\uFF08completed\uFF09\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u5DEE\u3057\u623B\u3057\uFF08rejected\uFF09\u306B\u3057\u307E\u3059\u3002
|
|
108
|
+
--comment-file \u306E\u5185\u5BB9\u306F\u5DEE\u3057\u623B\u3057\u306E\u7406\u7531\u3068\u3057\u3066\u30EC\u30DD\u30FC\u30C8\u306E\u30B3\u30E1\u30F3\u30C8\u306B\u6B8B\u308A\u3001\u66F8\u3044\u305F\u4EBA\u3078\u306E\u901A\u77E5\u306B\u3082\u8F09\u308A\u307E\u3059
|
|
109
|
+
\uFF08${COMMENT_MAX_CHARS.toLocaleString("en-US")} \u6587\u5B57\u307E\u3067\u30FB- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u901A\u77E5\u306F\u53D6\u308A\u6D88\u305B\u306A\u3044\u305F\u3081 --yes \u304C\u8981\u308A\u307E\u3059\u3002
|
|
110
|
+
\u5DEE\u3057\u623B\u305B\u308B\u306E\u306F\u3001\u305D\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u3068\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3067\u3059\u3002
|
|
111
|
+
\uFF08\u66F8\u3044\u305F\u4EBA\u304C\u81EA\u5206\u306E\u63D0\u51FA\u3092\u4E0B\u66F8\u304D\u306B\u623B\u3059\u753B\u9762\u306E\u300C\u4E0B\u66F8\u304D\u306B\u623B\u3059\u300D\u306F\u5225\u306E\u64CD\u4F5C\u3067\u3001\u3053\u306E CLI \u306B\u306F\u3042\u308A\u307E\u305B\u3093\u3002\uFF09`,destructive:true,confirmation:"\u66F8\u3044\u305F\u4EBA\u3078\u901A\u77E5\u304C\u5C4A\u304F\u64CD\u4F5C",flags:[{name:"--comment-file",summary:"\u5DEE\u3057\u623B\u3057\u306E\u7406\u7531\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB- \u3067\u6A19\u6E96\u5165\u529B\uFF09",
|
|
112
|
+
takesValue:true,placeholder:"<\u30D1\u30B9>"}],forbidden:REVIEW_FORBIDDEN,async prepare(input){reportIdArg(input,REJECT_USAGE);const comment=await readComment(input,{flag:"--comment",fileFlag:"--comment-file",label:"\u5DEE\u3057\u623B\u3057\u306E\u7406\u7531",usage:REJECT_USAGE});return withResolved(input,{comment})},plan:input=>({method:"POST",path:itemPath(reportIdArg(input,REJECT_USAGE),"/reject"),body:{comment:requireResolved(input,"comment")}}),plannedNotes:()=>["\u66F8\u3044\u305F\u4EBA\u3078\u5DEE\u3057\u623B\u3057\u306E\u901A\u77E5\uFF08\u7406\u7531\u3064\u304D\uFF09\u304C\u5C4A\u304D\u307E\u3059"],
|
|
113
|
+
summarize:body=>pick(writtenReport(body),WRITE_COLUMNS),raw:writtenReport,notes:serverMessage};function adviceOf(body){if(!isRecord(body)||body["result"]!==true||typeof body["advice"]!=="string"){throw new ApiResponseError("AI \u30A2\u30C9\u30D0\u30A4\u30B9\u306E\u5FDC\u7B54\u306B advice \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{advice:body["advice"],usage:body["usage"]??null}}var adviceOperation={name:"advic\
|
|
114
|
+
e",summary:`\u81EA\u5206\u306E${LABEL}\u306B AI \u306E\u30A2\u30C9\u30D0\u30A4\u30B9\u3092\u3082\u3089\u3046\uFF08AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\uFF09`,usage:ADVICE_USAGE,description:"POST /api/v2/reports/{id}/advice \u3067\u3001\u4ECA\u4FDD\u5B58\u3055\u308C\u3066\u3044\u308B\u30EC\u30DD\u30FC\u30C8\u306E\u5185\u5BB9\u306B\u5BFE\u3059\u308B AI \u306E\u30A2\u30C9\u30D0\u30A4\u30B9\u3092\u751F\u6210\u3057\u307E\u3059\u3002\n\u30C6\u30CA\u30F3\u30C8\u306E AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u305F\u3081 --yes \u304C\u8981\u308A\u307E\u3059\uFF08--dry-run \u306F\u9001\u308B\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u3001\u6D88\u8CBB\u3057\u307E\u305B\u3093\uFF09\u3002\n\u30A2\u30C9\u30D0\u30A4\u30B9\u3092\u3082\u3089\u3048\u308B\u306E\u306F**\u305D\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u66F8\u3044\u305F\u672C\u4EBA\u3060\u3051**\u3067\u3059\uFF08\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u3067\u3082\u4ED6\u4EBA\u306E\u30EC\u30DD\u30FC\u30C8\u306B\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09\u3002\n\u30A2\u30C9\u30D0\u30A4\u30B9\u306F\u30EC\u30DD\u30FC\u30C8\u306B\u3082\u30B3\u30E1\u30F3\u30C8\u306B\u3082\u4FDD\u5B58\u3055\u308C\u307E\u305B\u3093\uFF08\u51FA\u529B\u3060\u3051\uFF09\u3002--output text \u306F\u672C\u6587\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u307E\u3059\u3002",
|
|
115
|
+
destructive:true,confirmation:"AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u64CD\u4F5C",flags:[],forbidden:body=>(body?.error_description??body?.message??"").includes("\u30AF\u30EC\u30B8\u30C3\u30C8")?void 0:reportForbidden("AI \u30A2\u30C9\u30D0\u30A4\u30B9\u306F\u30EC\u30DD\u30FC\u30C8\u3092\u66F8\u3044\u305F\u672C\u4EBA\u3060\u3051\u304C\u3082\u3089\u3048\u307E\u3059\uFF08\u4ED6\u4EBA\u306E\u30EC\u30DD\u30FC\u30C8\u306B\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09\u3002")(body),
|
|
116
|
+
plan:input=>({method:"POST",path:itemPath(reportIdArg(input,ADVICE_USAGE),"/advice"),body:{}}),summarize:adviceOf,raw:adviceOf,document:body=>String(adviceOf(body)["advice"])};function commentRows(body){const list=isRecord(body)&&body["result"]===true?body["comments"]:void 0;if(!Array.isArray(list)||list.some(row=>!isRecord(row))){throw new ApiResponseError("\u30EC\u30DD\u30FC\u30C8\u306E\u30B3\u30E1\u30F3\u30C8\u4E00\u89A7\u306E\u5FDC\u7B54\u306B comments \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
117
|
+
return list}var COMMENT_FORBIDDEN=reportForbidden("\u3053\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u66F8\u3044\u305F\u672C\u4EBA\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u306E\u3044\u305A\u308C\u3067\u3082\u306A\u3044\u305F\u3081\u3001\u30B3\u30E1\u30F3\u30C8\u3092\u8AAD\u307F\u66F8\u304D\u3067\u304D\u307E\u305B\u3093\u3002");var commentResource={name:"comment",summary:"\u30EC\u30DD\u30FC\u30C8\u306E\u30B3\u30E1\u30F3\u30C8",operations:[{name:"list",summary:`${LABEL}\
|
|
118
|
+
\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u53E4\u3044\u9806\uFF09`,usage:COMMENT_LIST_USAGE,description:`GET /api/v2/reports/{id}/comments\u3002\u5DEE\u3057\u623B\u3057\u306E\u7406\u7531\u3082\u3053\u3053\u306B\u6B8B\u308A\u307E\u3059\u3002\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
119
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${COMMENT_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[],forbidden:COMMENT_FORBIDDEN,plan:input=>({method:"GET",path:itemPath(reportIdArg(input,COMMENT_LIST_USAGE),"/comments")}),summarize:body=>commentRows(body).map(row=>pick(row,COMMENT_COLUMNS)),raw:commentRows,notes:body=>[`\u30B3\u30E1\u30F3\u30C8: ${String(commentRows(body).length)} \u4EF6`]},{name:"create",summary:`${LABEL}\u306B\u30B3\u30E1\u30F3\u30C8\u3059\u308B`,usage:COMMENT_CREATE_USAGE,
|
|
120
|
+
description:`POST /api/v2/reports/{id}/comments\u3002\u66F8\u3044\u305F\u672C\u4EBA\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u78BA\u8A8D\u8005\u30FB\u7BA1\u7406\u8005\u304C\u30B3\u30E1\u30F3\u30C8\u3067\u304D\u307E\u3059\u3002
|
|
121
|
+
\u672C\u6587\u306F ${COMMENT_MAX_CHARS.toLocaleString("en-US")} \u6587\u5B57\u307E\u3067\uFF08--body-file - \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002`,flags:[{name:"--body",summary:"\u30B3\u30E1\u30F3\u30C8\u672C\u6587",takesValue:true,placeholder:"<\u672C\u6587>"},{name:"--body-file",summary:"\u30B3\u30E1\u30F3\u30C8\u672C\u6587\u306E\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"}],forbidden:COMMENT_FORBIDDEN,async prepare(input){
|
|
122
|
+
reportIdArg(input,COMMENT_CREATE_USAGE);const comment=await readComment(input,{flag:"--body",fileFlag:"--body-file",label:"\u30B3\u30E1\u30F3\u30C8\u672C\u6587",usage:COMMENT_CREATE_USAGE});return withResolved(input,{comment})},plan:input=>({method:"POST",path:itemPath(reportIdArg(input,COMMENT_CREATE_USAGE),"/comments"),body:{comment:requireResolved(input,"comment")}}),summarize:body=>pick(objectOf(body,"comment","\u30EC\u30DD\u30FC\u30C8\u306E\u30B3\u30E1\u30F3\u30C8"),COMMENT_COLUMNS),raw:body=>objectOf(
|
|
123
|
+
body,"comment","\u30EC\u30DD\u30FC\u30C8\u306E\u30B3\u30E1\u30F3\u30C8"),notes:serverMessage}]};var formatResource={name:"format",summary:"\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\uFF08\u65E5\u5831\u306E\u3072\u306A\u5F62\uFF09",operations:[{name:"list",summary:"\u4F7F\u3048\u308B\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08--format \u306B\u6E21\u3059\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",usage:"twp report format\
|
|
124
|
+
list [--include-unavailable]",description:"\u65E2\u5B9A\u306F\u6709\u52B9\u3067\u53D7\u4ED8\u671F\u9593\u5185\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\uFF08\uFF1D\u4ECA\u30EC\u30DD\u30FC\u30C8\u3092\u4F5C\u308C\u308B\u3082\u306E\uFF09\u3060\u3051\u3067\u3059\u3002--include-unavailable \u3067\n\u7121\u52B9\u30FB\u671F\u9593\u5916\u3082\u51FA\u3057\u307E\u3059\uFF08\u904E\u53BB\u306E\u30EC\u30DD\u30FC\u30C8\u3092 --format \u3067\u7D5E\u308B\u3068\u304D\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u4EE5\u5916\u306F\u3001\u66F8\u304F\u30FB\u78BA\u8A8D\u3059\u308B\u30FB\n\u7BA1\u7406\u3059\u308B\u306E\u3044\u305A\u308C\u304B\u306E\u6A29\u9650\u304C\u3042\u308B\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3060\u3051\u304C\u51FA\u307E\u3059\uFF08writer / reviewer / admin \u5217\uFF09\u3002\n\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002\u5165\u529B\u9805\u76EE\u306F twp report create --format <\u2026> --generate-cli-skeleton \u3067\u3002",
|
|
125
|
+
flags:[{name:"--include-unavailable",summary:"\u7121\u52B9\u30FB\u53D7\u4ED8\u671F\u9593\u5916\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3082\u51FA\u3059",takesValue:false}],plan(input){noArgs(input,"format list");return{method:"GET",path:`${REPORTS_PATH}/formats`,query:input.flags.has("--include-unavailable")?void 0:{include_unavailable:"false"}}},summarize:body=>formatRows(body).map(formatSummary),raw:formatRows,notes:body=>[`\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8: ${String(
|
|
126
|
+
formatRows(body).length)} \u4EF6`]}]};var reportDomain={name:"report",summary:"\u30EC\u30DD\u30FC\u30C8\uFF08\u65E5\u5831\uFF09\u306E\u4F5C\u6210\u30FB\u63D0\u51FA\u3068\u3001\u78BA\u8A8D\u8005\u3068\u3057\u3066\u306E\u4E00\u89A7\u30FB\u65E2\u8AAD\u30FB\u78BA\u8A8D\u30FB\u5DEE\u3057\u623B\u3057\u30FB\u30B3\u30E1\u30F3\u30C8",operations:[listOperation,getOperation,createOperation,updateOperation,submitOperation,inboxOperation,readOperation,reviewOperation,unreviewOperation,rejectOperation,adviceOperation],
|
|
127
|
+
subresources:[formatResource,commentResource]};export{defaultTitle,missingForSubmit,reportDomain};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{CURATED_PAGING_VOCABULARY,buildPrepareContext,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-
|
|
3
|
+
import{CURATED_PAGING_VOCABULARY,buildPrepareContext,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-VYT6JAXQ.js";import"./chunk-6ZB7A6VD.js";import"./chunk-ATYA6DG5.js";import"./chunk-MXKAEPXA.js";import"./chunk-AUAZP2G7.js";import"./chunk-Q3B65OFC.js";import"./chunk-4F2ONF4P.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";
|
|
4
4
|
import"./chunk-YLM54X35.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-Y5EN7RYN.js";import"./chunk-QQRJLH6B.js";import"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,contractAiReviewResources,estimateAiReviewResources,invoiceAiReviewResources}from"./chunk-
|
|
3
|
+
import{WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,contractAiReviewResources,estimateAiReviewResources,invoiceAiReviewResources}from"./chunk-FZWRYJVM.js";import"./chunk-VB2CSFRO.js";import"./chunk-GOZCJLRA.js";import"./chunk-XDHLO54T.js";import"./chunk-ORUDW52G.js";import"./chunk-4F2ONF4P.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";
|
|
4
4
|
import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";import"./chunk-LXIAOCUW.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,contractAiReviewResources,estimateAiReviewResources,invoiceAiReviewResources};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{attachmentRows,inspectLocalFile,issued}from"./chunk-HNUBM24L.js";import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import{salesAdminForbidden}from"./chunk-
|
|
3
|
+
import{attachmentRows,inspectLocalFile,issued}from"./chunk-HNUBM24L.js";import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import{salesAdminForbidden}from"./chunk-BN26WHLS.js";import"./chunk-OHXZO5WK.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-GOZCJLRA.js";import{boundedText,isoDate}from"./chunk-XDHLO54T.js";import{readBody}from"./chunk-ORUDW52G.js";import{SALES_BUSINESS_PLACES_PATH,SALES_PAYEES_PATH,SALES_SEAL_IMPRESSIONS_PATH,isExactNumericId}from"./chunk-4F2ONF4P.js";
|
|
4
4
|
import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-GY7KI5E5.js";import"./chunk-II5RVJQN.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";
|
|
5
5
|
import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var SORT_MAX=2147483647;var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function recordOf(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!==
|
|
6
6
|
"string")throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B data.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}function serverMessage(body){const message=isRecord(body)?body["message"]:void 0;return typeof message==="string"&&message!==""?[message]:[]}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function maskDigitRuns(value){return value.replace(/[0-90-9]{4,}/g,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{estimateNoRuleResource,invoiceNoRuleResource,nextNumber,purchaseNoRuleResource,roundingSettingDomain}from"./chunk-
|
|
3
|
+
import{estimateNoRuleResource,invoiceNoRuleResource,nextNumber,purchaseNoRuleResource,roundingSettingDomain}from"./chunk-OYDF57NH.js";import"./chunk-BN26WHLS.js";import"./chunk-OHXZO5WK.js";import"./chunk-GOZCJLRA.js";import"./chunk-XDHLO54T.js";import"./chunk-ORUDW52G.js";import"./chunk-4F2ONF4P.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";
|
|
4
4
|
import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";import"./chunk-LXIAOCUW.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{estimateNoRuleResource,invoiceNoRuleResource,nextNumber,purchaseNoRuleResource,roundingSettingDomain};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,parseTs}from"./chunk-
|
|
3
|
+
import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,parseTs}from"./chunk-EZGN7PTO.js";import"./chunk-JTJWDV5U.js";import"./chunk-GY7KI5E5.js";import"./chunk-J7QYPKVK.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";async function runScheduleCommand(deps,opts){const out=deps.out??(t=>void process.stdout.write(stripTerminalControls(t)));const err=deps.err??(t=>void process.stderr.write(stripTerminalControls(t)));const schedules=new ScheduleApi(deps.api);let now;if(opts.now){const parsed=parseTs(opts.now);if(!parsed){err(`--now \u306E\u5F62\u5F0F\u304C\u4E0D\u6B63\u3067\u3059: ${opts.now}\uFF08\u4F8B 2026-08-18T15:30\uFF09
|
|
4
4
|
`);return 2}now=parsed}else{now=nowInZone(deps.config.scheduleTimezone,m=>err(`${m}
|
|
5
5
|
`))}const defs=await schedules.definitions();if(defs.kind==="error"){err(`\u26D4 ${defs.message}
|
|
6
6
|
`);if(opts.gate!==void 0){err("\u5B9A\u7FA9\u304C\u53D6\u308C\u306A\u3044\u305F\u3081\u30B2\u30FC\u30C8\u306F\u8A31\u53EF\u6271\u3044\u306B\u3057\u307E\u3059\n");return 0}return 4}if(opts.gate!==void 0){const{allowed,reason}=gateStatus(opts.gate,now,defs.config.gates);if(allowed)return 0;out(`${reason}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{LoopSettingsApplier,PROMPT_KEYS,formatConfigHash,parseServerSettings,renderStepBudget}from"./chunk-
|
|
3
|
+
import{LoopSettingsApplier,PROMPT_KEYS,formatConfigHash,parseServerSettings,renderStepBudget}from"./chunk-SA7A5WF2.js";import"./chunk-AEJHDFXB.js";import"./chunk-JTJWDV5U.js";import"./chunk-GY7KI5E5.js";import"./chunk-PMOUHEJQ.js";import"./chunk-J7QYPKVK.js";import"./chunk-5WGOHFAS.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{LoopSettingsApplier,PROMPT_KEYS,formatConfigHash,parseServerSettings,renderStepBudget};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{ServerSkillCatalog,expandServerSkills,formatSkillOrigins,parseSkillBody,parseSkillList,prepareSkillOverlay,referencedSkills,stripFrontmatter}from"./chunk-
|
|
3
|
+
import{ServerSkillCatalog,expandServerSkills,formatSkillOrigins,parseSkillBody,parseSkillList,prepareSkillOverlay,referencedSkills,stripFrontmatter}from"./chunk-TKGVAWGU.js";import"./chunk-H3WYVFTS.js";import"./chunk-AJO4O5ZF.js";import"./chunk-VRBI2NPI.js";import"./chunk-JTJWDV5U.js";import"./chunk-GY7KI5E5.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{ServerSkillCatalog,expandServerSkills,formatSkillOrigins,parseSkillBody,parseSkillList,prepareSkillOverlay,referencedSkills,stripFrontmatter};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{yearMonthValue}from"./chunk-
|
|
3
|
+
import{yearMonthValue}from"./chunk-LAXINIDA.js";import{excerpt,salesAdminForbidden,sendAtomic}from"./chunk-BN26WHLS.js";import{readCsvFileText}from"./chunk-OHXZO5WK.js";import"./chunk-GOZCJLRA.js";import{booleanText,boundedText,isoDate}from"./chunk-XDHLO54T.js";import{readBody}from"./chunk-ORUDW52G.js";import{SALES_SUPPLIER_PAYMENTS_PATH,SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH,isExactNumericId,resolveNamed}from"./chunk-4F2ONF4P.js";import"./chunk-GMBJTG6A.js";
|
|
4
4
|
import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,
|
|
5
5
|
pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_SUPPLIER_PAYMENTS_PATH;var SCHEDULE_PATH=SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH;var FORBIDDEN=salesAdminForbidden("\u652F\u6255");var SCHEDULE_FORBIDDEN=salesAdminForbidden("\u652F\u6255\u5148\u30DE\u30B9\u30BF");var STATUSES={invoice_pending:"\u8ACB\u6C42\u66F8\u672A\u7740",invoice_received:"\u8ACB\u6C42\u66F8\u53D7\u9818",transfer_reserved:"\u632F\u8FBC\u4E88\u7D04\u6E08",paid:"\u652F\u6255\u6E08"};var TAX_RATES=["10","8","0"];var BULK_MAX_IDS=100;var FILE_MAX_BYTES=1024*1024;var SUPPLIER_NAME_MAX_CHARS=255;
|
|
6
6
|
var MEMO_MAX_CHARS=1e3;var AMOUNT_MAX=999999999999999;var LIST_COLUMNS=["id","target_year_month","supplier_name","supplier_user_name","payment_amount","transfer_due_date","status"];var GET_COLUMNS=[...LIST_COLUMNS,"company_name","outsourcing_flg","invoice_date","tax_rate","amount_excluding_tax","amount_excluding_tax_manual","transfer_executed_date","project_name","supplier_payment_schedule_id","memo"];var WRITE_COLUMNS=GET_COLUMNS.filter(c=>c!=="project_name"&&c!=="supplier_user_name");var SCHEDULE_LIST_COLUMNS=[
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-HNUBM24L.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-
|
|
4
|
-
import{boundedText,decimal,isoDate,priority}from"./chunk-XDHLO54T.js";import{charCount,readBody}from"./chunk-ORUDW52G.js";import{PRIVATE_TASKS_PATH,TASK_MASTERS}from"./chunk-
|
|
5
|
-
import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";
|
|
3
|
+
import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-HNUBM24L.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-A65V3K75.js";import{MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,manhourNotes,manhourQuery,manhourRows}from"./chunk-MY2U3CD6.js";import"./chunk-QOUDJ7XO.js";import"./chunk-4B3T4UE7.js";import"./chunk-2YNZ4MRT.js";
|
|
4
|
+
import{boundedText,decimal,isoDate,priority}from"./chunk-XDHLO54T.js";import{charCount,readBody}from"./chunk-ORUDW52G.js";import{PRIVATE_TASKS_PATH,TASK_MASTERS}from"./chunk-4F2ONF4P.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import{RUNNER_PLATFORMS}from"./chunk-JTJWDV5U.js";
|
|
5
|
+
import{PRIVATE_PROJECT_REF}from"./chunk-GY7KI5E5.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";
|
|
6
|
+
import"./chunk-VSJBJXZO.js";var LIST_COLUMNS=["id","created_at","created_by_name","comment_type","content"];var QUESTION_COLUMN="question";var ANSWER_COLUMN="answer";function summarizeComments(items){const answersByQuestion=new Map;for(const row of items){const answer=isRecord(row)?row["answer_to"]:void 0;if(!isRecord(answer))continue;const target=answer["comment_id"];if(typeof target!=="string"||target==="")continue;answersByQuestion.set(target,selectedKeyText(answer["selected_key"]))}return items.map(row=>{const source=isRecord(
|
|
6
7
|
row)?row:{};const id=typeof source["id"]==="string"?source["id"]:"";const answer=isRecord(source["answer_to"])?selectedKeyText(source["answer_to"]["selected_key"]):answersByQuestion.get(id)??null;const base=pick(row,LIST_COLUMNS);return{id:base["id"],created_at:base["created_at"],created_by_name:base["created_by_name"],comment_type:base["comment_type"],[QUESTION_COLUMN]:questionText(source["question"]),[ANSWER_COLUMN]:answer,content:base["content"]}})}function questionText(question){if(!isRecord(
|
|
7
8
|
question))return null;const options=question["options"];if(!Array.isArray(options))return null;const parts=options.map(option=>{if(!isRecord(option))return null;const key=typeof option["key"]==="string"?option["key"]:null;if(key===null)return null;const label=typeof option["label"]==="string"?option["label"]:"";return label===""?key:`${key}=${label}`}).filter(part=>part!==null);return parts.length===0?null:parts.join(" / ")}function selectedKeyText(selected){if(typeof selected==="string"&&selected!==
|
|
8
9
|
"")return selected;if(Array.isArray(selected)){const keys=selected.filter(key=>typeof key==="string"&&key!=="");if(keys.length>0)return keys.join(",")}return"(\u81EA\u7531\u8A18\u8FF0)"}var WRITE_COLUMNS=["id","task_id","created_at","updated_at","created_by_name","content"];var CONTENT_MAX_CHARS=1e4;var QUESTION_MAX_CHARS=2e3;var CONTENT_HTML_MAX_CHARS=1e5;var OPTION_KEY_MAX_CHARS=10;var OPTION_LABEL_MAX_CHARS=200;var OPTION_MIN=1;var OPTION_MAX=5;var SELECTED_KEY_MAX_CHARS=10;var listPaging=envelopePaging(
|
|
@@ -65,13 +66,14 @@ const contentHtml=await readContentHtml(input,usage);const attachments=attachmen
|
|
|
65
66
|
requireResolved(input,"commentId"))}`,body:commentBody(input)}),summarize:body=>pick(commentObject(body),WRITE_COLUMNS),raw:commentObject},{name:"delete",summary:"\u30B3\u30E1\u30F3\u30C8\u3092\u524A\u9664\u3059\u308B",usage:"twp task comment delete <\u30B3\u30E1\u30F3\u30C8ID> --task <\u30AD\u30FC|ID> --yes",description:`${COMMENT_REF_HELP}
|
|
66
67
|
|
|
67
68
|
\u524A\u9664\u306F\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002`,destructive:true,flags:[COMMENT_REF_FLAG,TASK_REF_FLAG,PROJECT_FLAG],prepare:(input,ctx)=>prepareCommentTarget(input,ctx,"twp task comment delete help"),plan:input=>({method:"DELETE",path:`${commentPath(input)}/${encodeURIComponent(requireResolved(input,"commentId"))}`}),summarize:body=>acknowledgement(body,"\u30B3\u30E1\u30F3\u30C8\u524A\u9664"),raw:body=>acknowledgement(body,"\u30B3\u30E1\u30F3\u30C8\u524A\u9664")}]};async function requireContent(input,usage){
|
|
68
|
-
const content=await readBody(input,{flag:"--body",fileFlag:"--body-file",label:"\u30B3\u30E1\u30F3\u30C8\u672C\u6587",maxChars:CONTENT_MAX_CHARS,usage});if(content===void 0){throw new UsageError("\u30B3\u30E1\u30F3\u30C8\u672C\u6587\u3092 --body-file <\u30D1\u30B9> \u304B --body <\u6587\u5B57\u5217> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage)}return content}var PRIVATE_UNSUPPORTED=[{flag:"--assignee",clearToken:"assignee",reason:"\u500B\u4EBA\u30BF\u30B9\u30AF\u306F\u5E38\u306B\u81EA\u5206\u306E\u3082\u306E\u306A\u306E\u3067\u3001\u30B5\u30FC\u30D0\u5074\u306B\u62C5\u5F53\u8005\u3092\u6307\u5B9A\u30FB\u7D5E\u308A\u8FBC\u307F\u3059\u308B\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093\u3002"},{flag:"--milestone",clearToken:"milestone",reason:"\u500B\u4EBA\u30BF\u30B9\u30AF\u306B\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u306E\u9805\u76EE\u304C\u30B5\u30FC\u30D0\u5074\u306B\u3042\u308A\u307E\u305B\u3093\u3002"}
|
|
69
|
-
|
|
70
|
-
throw new UsageError(`--project ${PRIVATE_PROJECT_REF}\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\uFF09\u3067\u306F
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if(
|
|
69
|
+
const content=await readBody(input,{flag:"--body",fileFlag:"--body-file",label:"\u30B3\u30E1\u30F3\u30C8\u672C\u6587",maxChars:CONTENT_MAX_CHARS,usage});if(content===void 0){throw new UsageError("\u30B3\u30E1\u30F3\u30C8\u672C\u6587\u3092 --body-file <\u30D1\u30B9> \u304B --body <\u6587\u5B57\u5217> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage)}return content}var PRIVATE_UNSUPPORTED=[{flag:"--assignee",clearToken:"assignee",reason:"\u500B\u4EBA\u30BF\u30B9\u30AF\u306F\u5E38\u306B\u81EA\u5206\u306E\u3082\u306E\u306A\u306E\u3067\u3001\u30B5\u30FC\u30D0\u5074\u306B\u62C5\u5F53\u8005\u3092\u6307\u5B9A\u30FB\u7D5E\u308A\u8FBC\u307F\u3059\u308B\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093\u3002"},{flag:"--milestone",clearToken:"milestone",reason:"\u500B\u4EBA\u30BF\u30B9\u30AF\u306B\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u306E\u9805\u76EE\u304C\u30B5\u30FC\u30D0\u5074\u306B\u3042\u308A\u307E\u305B\u3093\u3002"},
|
|
70
|
+
{flag:"--required-platforms",clearToken:"required-platforms",reason:"\u5FC5\u8981\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u306F\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30EB\u30FC\u30D7\u304C\u62FE\u3046\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30BF\u30B9\u30AF\u3060\u3051\u306E\u9805\u76EE\u3067\u3001\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30B5\u30FC\u30D0\u5074\u306B\u3042\u308A\u307E\u305B\u3093\u3002"}];function rejectPrivateUnsupportedFlags(input){const clearTokens=new Set(repeatedValues(input,
|
|
71
|
+
"--clear").map(token=>token.trim()));for(const entry of PRIVATE_UNSUPPORTED){if(input.flags.has(entry.flag)||repeatedValues(input,entry.flag).length>0){throw new UsageError(`--project ${PRIVATE_PROJECT_REF}\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\uFF09\u3067\u306F ${entry.flag} \u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`${entry.reason}${entry.flag} \u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}if(clearTokens.has(entry.clearToken)){throw new UsageError(`--project ${PRIVATE_PROJECT_REF}\
|
|
72
|
+
\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\uFF09\u3067\u306F --clear ${entry.clearToken} \u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`${entry.reason}\u9001\u3063\u3066\u3082\u4F55\u3082\u8D77\u304D\u306A\u3044\u305F\u3081\u3001--clear ${entry.clearToken} \u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}}}function privateTaskRef(ref){const{kind,value}=classifyTaskRef(ref);if(kind==="unknown"){throw new UsageError(`\u30BF\u30B9\u30AF\u306E\u6307\u5B9A\u304C\u300C\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30FC\uFF08\u4F8B PRIVATE-22361\uFF09\u300D\u306B\u3082\u300CID\uFF08UUID / ULID\uFF09\u300D\u306B\u3082\u898B\u3048\u307E\u305B\u3093: ${ref}`,
|
|
73
|
+
`\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u4E00\u89A7\u306F twp task list --project ${PRIVATE_PROJECT_REF} \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}return{kind,value}}async function resolvePrivateTaskId(ctx,ref){const{kind,value}=privateTaskRef(ref);if(kind==="id")return value;const task=await ctx.resolver.privateTask(value);const id=task["id"];if(!isSafePathSegment(id)){throw new ApiResponseError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u5FDC\u7B54\u306E task.id \u3092\u305D\u306E\u307E\u307E\u4F7F\u3048\u307E\u305B\u3093\uFF08${String(
|
|
74
|
+
id).slice(0,60)}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return id}async function resolvePrivateStatusAndType(input,ctx,options){const out={};const status=nonEmpty(input.flags,"--status");if(status!==void 0){out["status_id"]=(await ctx.resolver.privateStatus(status)).id}else if(options.useDefaults){const ref=await ctx.resolver.privateDefaultStatus();out["status_id"]=ref.id;out["status_defaulted"]=ref.name}const type=nonEmpty(input.flags,"--type");
|
|
75
|
+
if(type!==void 0){out["type_id"]=(await ctx.resolver.privateTaskType(type)).id}else if(options.useDefaults){const ref=await ctx.resolver.privateDefaultTaskType();out["type_id"]=ref.id;out["type_defaulted"]=ref.name}return out}async function resolvePrivateExtras(input,ctx){const out={};const category=nonEmpty(input.flags,"--category");if(category!==void 0){out["category_id"]=(await ctx.resolver.privateTaskMaster("categories",category,"--category","\u30AB\u30C6\u30B4\u30EA")).id}const labels=repeatedValues(
|
|
76
|
+
input,"--label");if(labels.length>0){const ids=[];for(const ref of labels){const label=await ctx.resolver.privateTaskMaster("labels",ref,"--label","\u30E9\u30D9\u30EB");if(!ids.includes(label.id))ids.push(label.id)}out["label_ids"]=JSON.stringify(ids)}return out}var LABEL=TASK_MASTERS.status.label;var COLUMNS=["id","name","code","color","is_default","is_completed","sort_order"];var FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u30B9\u30C6\u30FC\u30BF\u30B9\u540D",maxChars:255,summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\u540D"},{kind:"text",flag:"--color",key:"color",label:"\u8272",maxChars:50,summary:"\u8868\u793A\u8272\uFF08\u4F8B: #6b7280\uFF09"},{kind:"boolean",flag:"--is-completed",key:"is_completed",summary:"\u5B8C\u4E86\u6271\u3044\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u304B\uFF08true / false\uFF09"},
|
|
75
77
|
{kind:"boolean",flag:"--is-default",key:"is_default",summary:"\u65E2\u5B9A\u306E\u30D5\u30E9\u30B0\uFF08true / false\uFF09\u3002\u4ED6\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u65E2\u5B9A\u306F\u5916\u308C\u305A\u3001twp task create \u306F\u8868\u793A\u9806\u3067\u6700\u521D\u306E\u65E2\u5B9A\u3092\u9078\u3076"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,summary:"\u8868\u793A\u9806\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"}];var REF_FLAG={name:"--sta\
|
|
76
78
|
tus",summary:"\u5BFE\u8C61\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<\u30B9\u30C6\u30FC\u30BF\u30B9>"};var REF_HELP="<\u30B9\u30C6\u30FC\u30BF\u30B9> \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\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\nID\uFF08UUID \u304B default:*\uFF09\u4EE5\u5916\u306F\u30B9\u30C6\u30FC\u30BF\u30B9\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
|
|
77
79
|
var DEFAULT_STATUS_ID_RE=/^default:[a-z_]+$/;var SAFE_STATUS_ID_RE=/^[A-Za-z0-9._:-]{1,128}$/;function statusSegment(input){const id=requireResolved(input,"id");if(!SAFE_STATUS_ID_RE.test(id)||/^\.+$/.test(id)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30B9\u30C6\u30FC\u30BF\u30B9 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return encodeURIComponent(id)}function collectionPath(input){
|
|
@@ -100,8 +102,8 @@ description:`name \u5217\u306E\u5024\u306F twp task list / create / update \u306
|
|
|
100
102
|
${privateHelp}`,flags:[PROJECT_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(" ")}`,`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F --project <\u30B3\u30FC\u30C9|ID> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}if(wantsPrivateSurface(input)){if(spec.privateEnvelope===void 0){throw new UsageError(`--project ${PRIVATE_PROJECT_REF}\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\uFF09\u306B${master.
|
|
101
103
|
label}\u306F\u3042\u308A\u307E\u305B\u3093`,`\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30DE\u30B9\u30BF\u306F\u30B9\u30C6\u30FC\u30BF\u30B9\u30FB\u7A2E\u5225\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u30E9\u30D9\u30EB\u3060\u3051\u3067\u3059\u3002`)}return withResolved(input,{surface:PRIVATE_SURFACE})}return withResolved(input,{projectId:await ctx.projectId(input.flags.get("--project"))})},plan(input){if(isPrivatePlan(input))return{method:"GET",path:`${PRIVATE_TASKS_PATH}/masters`};return{method:"GET",path:`\
|
|
102
104
|
/api/v2/projects/${encodeURIComponent(requireResolved(input,"projectId"))}/${master.path}`}},async fetchCached(input,ctx){if(isPrivatePlan(input)){return ctx.resolver.privateMasterRows(spec.privateEnvelope,master.label)}return ctx.resolver.taskMasterRows(spec.kind,requireResolved(input,"projectId"))},summarize:body=>rows(body).map(row=>pick(row,spec.columns)),raw:body=>rows(body),notes:body=>rows(body).length===0?[`${master.label}\u306F1\u4EF6\u3082\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08--refresh \u3067\u53D6\u308A\u76F4\u305B\u307E\u3059\uFF09\u3002`]:
|
|
103
|
-
[]},...spec.writes??[]]}}var taskMasterResources=SPECS.map(masterResource);var LIST_COLUMNS2=["key","subject","status_id","assignee_id","priority","due_date","updated_at"];var GET_COLUMNS=["id","key","project_id","subject","description","status_id","type_id","category_id","milestone_id","assignee_id","priority","start_date","due_date","estimated_hours","actual_hours","progress","parent_id","subtask_count","created_by","created_at","updated_by","updated_at"];var listPaging2=envelopePaging({label:"\u30BF\u30B9\u30AF\u4E00\u89A7"});var PRIVATE_HELP=`\u500B\
|
|
104
|
-
\u30BF\u30B9\u30AF\uFF09\u306F --project ${PRIVATE_PROJECT_REF} \u3067\u64CD\u4F5C\u3057\u307E\u3059\u3002
|
|
105
|
+
[]},...spec.writes??[]]}}var taskMasterResources=SPECS.map(masterResource);var LIST_COLUMNS2=["key","subject","status_id","assignee_id","priority","due_date","updated_at"];var GET_COLUMNS=["id","key","project_id","subject","description","status_id","type_id","category_id","milestone_id","assignee_id","priority","start_date","due_date","estimated_hours","actual_hours","progress","parent_id","subtask_count","required_platforms","created_by","created_at","updated_by","updated_at"];var listPaging2=envelopePaging({label:"\u30BF\u30B9\u30AF\u4E00\u89A7"});var PRIVATE_HELP=`\u500B\
|
|
106
|
+
\u4EBA\u30BF\u30B9\u30AF\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u5C5E\u3055\u306A\u3044\u81EA\u5206\u3060\u3051\u306E\u30BF\u30B9\u30AF\uFF09\u306F --project ${PRIVATE_PROJECT_REF} \u3067\u64CD\u4F5C\u3057\u307E\u3059\u3002
|
|
105
107
|
twp task list --project ${PRIVATE_PROJECT_REF}
|
|
106
108
|
\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30FC\u306F PRIVATE-<\u756A\u53F7> \u3067\u3059\u3002\u62C5\u5F53\u8005\u306E\u6307\u5B9A\u30FB\u7D5E\u308A\u8FBC\u307F\uFF08--assignee\uFF09\u306F\u3067\u304D\u307E\u305B\u3093
|
|
107
109
|
\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\u306F\u5E38\u306B\u81EA\u5206\u306E\u3082\u306E\u306A\u306E\u3067\u3001\u30B5\u30FC\u30D0\u5074\u306B\u62C5\u5F53\u8005\u306E\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
|
|
@@ -112,28 +114,31 @@ takesValue:true,placeholder:"<\u30D1\u30B9|->"},{name:"--status",summary:"\u30B9
|
|
|
112
114
|
{name:"--due-date",summary:"\u671F\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"},{name:"--start-date",summary:"\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"},{name:"--priority",summary:"\u512A\u5148\u5EA6\uFF081: \u9AD8 / 2: \u4E2D / 3: \u4F4E\uFF09",takesValue:true,placeholder:"<1|2|3>"},{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\uFF08\u540D\u524D\u30FBID\uFF09",takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--\
|
|
113
115
|
milestone",summary:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\uFF08\u540D\u524D\u30FBID\uFF09",takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--label",summary:"\u30E9\u30D9\u30EB\uFF08\u540D\u524D\u30FBID\uFF09\u3002\u8907\u6570\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u6307\u5B9A\u3057\u305F\u3082\u306E\u304C\u5168\u4F53\u306B\u306A\u308A\u307E\u3059\uFF09",takesValue:true,placeholder:"<\u540D\u524D|ID>",repeatable:true},{name:"--estimated-hours",summary:"\u898B\u7A4D\u5DE5\u6570\uFF08\u6642\u9593\u30FB0\u301C9999\u30FB\u5C0F\u6570\u53EF\uFF09",
|
|
114
116
|
takesValue:true,placeholder:"<\u6570\u5024>"},{name:"--custom-field",summary:"\u30AB\u30B9\u30BF\u30E0\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08<\u30D5\u30A3\u30FC\u30EB\u30C9\u540D>=<\u5024>\uFF09\u3002\u8907\u6570\u6307\u5B9A\u3067\u304D\u307E\u3059",takesValue:true,placeholder:"<\u540D\u524D>=<\u5024>",repeatable:true},{name:"--parent",summary:"\u89AA\u30BF\u30B9\u30AF\uFF08\u30AD\u30FC\u30FBID\uFF09\u3002\u6307\u5B9A\u3059\u308B\u3068\u30B5\u30D6\u30BF\u30B9\u30AF\u306B\u306A\u308A\u307E\u3059",takesValue:true,
|
|
115
|
-
placeholder:"<\u30AD\u30FC|ID>"}
|
|
116
|
-
|
|
117
|
-
: --clear assignee --clear due-date\uFF09\u3002
|
|
117
|
+
placeholder:"<\u30AD\u30FC|ID>"},{name:"--required-platforms",summary:"\u5B9F\u884C\u3067\u304D\u308B\u6A5F\u4F53\u306E\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\uFF08mac / windows / linux\uFF09\u3002\u8907\u6570\u6307\u5B9A\u30FB\u30AB\u30F3\u30DE\u533A\u5207\u308A\u53EF\uFF08\u6307\u5B9A\u3057\u305F\u3082\u306E\u304C\u5168\u4F53\u306B\u306A\u308A\u307E\u3059\uFF09",takesValue:true,placeholder:"<mac|windows|linux>",repeatable:true}];var CLEAR_FLAG={name:"--clear",summary:"\u9805\u76EE\u3092\u7A7A\u306B\u3059\u308B\uFF08\u8907\u6570\u6307\u5B9A\u53EF\u30FB\u6307\u5B9A\
|
|
118
|
+
\u3057\u305F\u9805\u76EE\u3060\u3051\u304C\u7A7A\u306B\u306A\u308A\u307E\u3059\uFF09",takesValue:true,placeholder:"<\u9805\u76EE>",repeatable:true};var CLEARABLE=[{token:"assignee",flags:["--assignee"],key:"assignee_id"},{token:"due-date",flags:["--due-date"],key:"due_date"},{token:"start-date",flags:["--start-date"],key:"start_date"},{token:"priority",flags:["--priority"],key:"priority"},{token:"category",flags:["--category"],key:"category_id"},{token:"milestone",flags:["--milestone"],key:"mile\
|
|
119
|
+
stone_id"},{token:"label",flags:["--label"],key:"label_ids",empty:[]},{token:"estimated-hours",flags:["--estimated-hours"],key:"estimated_hours"},{token:"description",flags:["--description","--description-file"],key:"description"},{token:"parent",flags:["--parent"],key:"parent_task_id"},{token:"required-platforms",flags:["--required-platforms"],key:"required_platforms",empty:[]}];var CLEAR_HELP=`--clear \u306F\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u7A7A\u306B\u3057\u307E\u3059\uFF08\u4F8B: --clear assignee --clear due-date\uFF09\u3002
|
|
118
120
|
\u6307\u5B9A\u3067\u304D\u308B\u9805\u76EE: ${CLEARABLE.map(entry=>entry.token).join(" / ")}
|
|
119
121
|
\u4EF6\u540D\u30FB\u30B9\u30C6\u30FC\u30BF\u30B9\u30FB\u7A2E\u5225\u306F\u30B5\u30FC\u30D0\u5074\u3067\u5FC5\u9808\u306E\u305F\u3081\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093\u3002
|
|
120
122
|
\u540C\u3058\u9805\u76EE\u3092\u5024\u3068 --clear \u306E\u4E21\u65B9\u3067\u6307\u5B9A\u3059\u308B\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\uFF08\u3069\u3061\u3089\u304C\u52B9\u3044\u305F\u306E\u304B\u5206\u304B\u3089\u306A\u3044\u305F\u3081\uFF09\u3002`;function clearTargets(input){const tokens=repeatedValues(input,CLEAR_FLAG.name).map(token=>token.trim());const out=[];for(const token of tokens){const entry=CLEARABLE.find(candidate=>candidate.token===token);if(entry===void 0){throw new UsageError(
|
|
121
123
|
`--clear \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u9805\u76EE\u3067\u3059: ${token===""?"(\u7A7A)":token}`,`\u6307\u5B9A\u3067\u304D\u308B\u9805\u76EE: ${CLEARABLE.map(candidate=>candidate.token).join(" / ")}`)}if(out.includes(entry))throw new UsageError(`--clear \u306E\u9805\u76EE\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${token}`);const conflict=entry.flags.find(flag=>input.flags.has(flag)||repeatedValues(input,flag).length>0);if(conflict!==void 0){throw new UsageError(`${conflict} \u3068\
|
|
122
|
-
--clear ${token} \u306E\u4E21\u65B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`,"\u5024\u3092\u5165\u308C\u308B\u304B\u7A7A\u306B\u3059\u308B\u304B\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}out.push(entry)}return out}function
|
|
123
|
-
throw new UsageError(`--
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
input,"--
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
ref
|
|
134
|
-
|
|
135
|
-
if(
|
|
136
|
-
|
|
124
|
+
--clear ${token} \u306E\u4E21\u65B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`,"\u5024\u3092\u5165\u308C\u308B\u304B\u7A7A\u306B\u3059\u308B\u304B\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}out.push(entry)}return out}function requiredPlatforms(input){const raw=repeatedValues(input,"--required-platforms");if(raw.length===0)return void 0;const given=new Set;for(const entry of raw){for(const part of entry.split(",")){
|
|
125
|
+
const value=part.trim().toLowerCase();if(value===""){throw new UsageError(`--required-platforms \u306B\u7A7A\u306E\u5024\u304C\u3042\u308A\u307E\u3059: ${entry===""?"(\u7A7A)":entry}`,`\u6307\u5B9A\u3067\u304D\u308B\u5024: ${RUNNER_PLATFORMS.join(" / ")}\uFF08\u5236\u7D04\u3092\u5916\u3059\u3068\u304D\u306F --clear required-platforms\uFF09`)}if(!RUNNER_PLATFORMS.includes(value)){throw new UsageError(`--required-platforms \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u5024\u3067\u3059: ${part.trim()}`,
|
|
126
|
+
`\u6307\u5B9A\u3067\u304D\u308B\u5024: ${RUNNER_PLATFORMS.join(" / ")}`)}given.add(value)}}return RUNNER_PLATFORMS.filter(platform=>given.has(platform))}function customFields(input){const entries=repeatedValues(input,"--custom-field");if(entries.length===0)return void 0;const out={};for(const entry of entries){const at=entry.indexOf("=");if(at<=0){throw new UsageError(`--custom-field \u306F <\u30D5\u30A3\u30FC\u30EB\u30C9\u540D>=<\u5024> \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${entry}`,
|
|
127
|
+
"\u4F8B: --custom-field \u9867\u5BA2\u540D=\u30C8\u30C3\u30AB\uFF08\u5024\u304C\u7A7A\u306E\u3068\u304D\u306F --custom-field \u9867\u5BA2\u540D= \u3068\u66F8\u304D\u307E\u3059\uFF09")}const name=entry.slice(0,at).trim();if(name==="")throw new UsageError(`--custom-field \u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u304C\u7A7A\u3067\u3059: ${entry}`);if(name in out)throw new UsageError(`--custom-field \u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: ${name}`);
|
|
128
|
+
out[name]=entry.slice(at+1)}return out}var FIELD_HELP="--status / --type / --assignee \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3044\u305A\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u5B8C\u5168\u4E00\u81F4\u3060\u3051\u3067\u89E3\u6C7A\u3057\u3001\u8907\u6570\u306B\u5F53\u305F\u308B\u30FB1\u4EF6\u3082\u5F53\u305F\u3089\u306A\u3044\u5834\u5408\u306F\u5019\u88DC\u3092\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u6B62\u307E\u308A\u307E\u3059\u3002\n--assignee me \u306F\u300C\u3044\u307E\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308B\u30E6\u30FC\u30B6\u30FC\u300D\u3067\u3059\u3002\n\n\u672C\u6587\u306F --description-file \u3092\u4E3B\u7D4C\u8DEF\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u30B7\u30A7\u30EB\u306E\u5F15\u6570\u306B\u8F09\u305B\u308B\u3068\u6539\u884C\u30FBMarkdown \u306E\n\u898B\u51FA\u3057\uFF08#\uFF09\u30FB\u5F15\u7528\u7B26\u3067\u58CA\u308C\u307E\u3059\uFF09\u3002--description-file - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3081\u307E\u3059\u3002\u672C\u6587\u306F\u52A0\u5DE5\u3057\u307E\u305B\u3093\n\uFF08\u6539\u884C\u30FBCRLF \u306F\u305D\u306E\u307E\u307E\u9001\u308A\u307E\u3059\u3002\u843D\u3068\u3059\u306E\u306F\u5148\u982D\u306E UTF-8 BOM \u3060\u3051\u3067\u3059\uFF09\u3002\n\n--category / --milestone / --label \u3082\u540C\u3058\u898F\u7D04\u3067\u540D\u524D\u304B\u3089\u5F15\u3051\u307E\u3059\uFF08--label \u306F\u8907\u6570\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF09\u3002\n--label \u306F\u300C\u6307\u5B9A\u3057\u305F\u3082\u306E\u304C\u5168\u4F53\u300D\u3067\u3059\uFF08\u3044\u307E\u4ED8\u3044\u3066\u3044\u308B\u30E9\u30D9\u30EB\u306B\u8DB3\u3059\u306E\u3067\u306F\u306A\u304F\u3001\u7F6E\u304D\u63DB\u3048\u307E\u3059\uFF09\u3002\n--parent \u3092\u6307\u5B9A\u3059\u308B\u3068\
|
|
129
|
+
\u3001\u305D\u306E\u30BF\u30B9\u30AF\u306E\u30B5\u30D6\u30BF\u30B9\u30AF\u3068\u3057\u3066\u6271\u308F\u308C\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u5074\u3067\u968E\u5C64\u306E\u691C\u8A3C\u304C\u8D70\u308A\u307E\u3059\uFF09\u3002\n--required-platforms \u306F\u30BF\u30B9\u30AF\u3092\u5B9F\u884C\u3067\u304D\u308B\u6A5F\u4F53\u3092 mac / windows / linux \u306B\u9650\u308A\u307E\u3059\uFF08\u8907\u6570\u6307\u5B9A\u30FB\u30AB\u30F3\u30DE\u533A\u5207\u308A\u53EF\u3002\n\u6307\u5B9A\u3057\u305F\u3082\u306E\u304C\u5168\u4F53\u3067\u3059\uFF09\u3002\u5236\u7D04\u3092\u5916\u3059\u3068\u304D\u306F twp task update \u306E --clear required-platforms \u3092\u4F7F\u3044\u307E\u3059\u3002\n--custom-field \u306F\u30AB\u30B9\u30BF\u30E0\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u300C\u540D\u524D\u300D\u3092\u9375\u306B\u3057\u307E\u3059\uFF08\u7DE8\u96C6\u306B\u306F\u7BA1\u7406\u8005\u307E\u305F\u306F\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\uFF09\u3002";
|
|
130
|
+
function readDescription(input,usage){return readBody(input,{flag:"--description",fileFlag:"--description-file",label:"\u672C\u6587",maxChars:DESCRIPTION_MAX_CHARS,usage})}function checkPureFields(input){boundedText(input,"--subject",{maxChars:SUBJECT_MAX_CHARS,label:"\u4EF6\u540D"});isoDate(input,"--due-date");isoDate(input,"--start-date");priority(input);decimal(input,"--estimated-hours",{min:0,max:ESTIMATED_HOURS_MAX});customFields(input);requiredPlatforms(input);clearTargets(input)}function taskBody(input){
|
|
131
|
+
const body={};const put=(key,value)=>{if(value!==void 0)body[key]=value};put("subject",boundedText(input,"--subject",{maxChars:SUBJECT_MAX_CHARS,label:"\u4EF6\u540D"}));const description=input.resolved?.["description"];put("description",description);if(description!==void 0)body["description_html"]=null;put("status_id",input.resolved?.["status_id"]);put("type_id",input.resolved?.["type_id"]);put("assignee_id",input.resolved?.["assignee_id"]);put("due_date",isoDate(input,"--due-date"));put("start_\
|
|
132
|
+
date",isoDate(input,"--start-date"));put("priority",priority(input));put("category_id",input.resolved?.["category_id"]);put("milestone_id",input.resolved?.["milestone_id"]);put("label_ids",takeList2(input,"label_ids"));put("estimated_hours",decimal(input,"--estimated-hours",{min:0,max:ESTIMATED_HOURS_MAX}));put("custom_fields",customFields(input));put("parent_task_id",input.resolved?.["parent_task_id"]);put("required_platforms",requiredPlatforms(input));for(const entry of clearTargets(input)){body[entry.
|
|
133
|
+
key]="empty"in entry?entry.empty:null;if(entry.key==="description")body["description_html"]=null}return body}function takeList2(input,key){const raw=input.resolved?.[key];if(raw===void 0||raw==="")return void 0;const parsed=JSON.parse(raw);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}async function resolveStatusAndType(input,ctx,projectId,options){const out={};const status=nonEmpty(
|
|
134
|
+
input.flags,"--status");if(status!==void 0){out["status_id"]=(await ctx.resolver.status(projectId,status)).id}else if(options.useDefaults){const ref=await ctx.resolver.defaultStatus(projectId);out["status_id"]=ref.id;out["status_defaulted"]=ref.name}const type=nonEmpty(input.flags,"--type");if(type!==void 0){out["type_id"]=(await ctx.resolver.taskType(projectId,type)).id}else if(options.useDefaults){const ref=await ctx.resolver.defaultTaskType(projectId);out["type_id"]=ref.id;out["type_defaulted"]=
|
|
135
|
+
ref.name}const assignee=nonEmpty(input.flags,"--assignee");if(assignee!==void 0)out["assignee_id"]=(await ctx.resolver.assignee(projectId,assignee)).id;return out}async function resolveExtras(input,ctx,projectId){const out={};const category=nonEmpty(input.flags,"--category");if(category!==void 0)out["category_id"]=(await ctx.resolver.taskMaster("category",projectId,category,"--category")).id;const milestone=nonEmpty(input.flags,"--milestone");if(milestone!==void 0)out["milestone_id"]=(await ctx.
|
|
136
|
+
resolver.taskMaster("milestone",projectId,milestone,"--milestone")).id;const labels=repeatedValues(input,"--label");if(labels.length>0){const ids=[];for(const ref of labels){const label=await ctx.resolver.taskMaster("label",projectId,ref,"--label");if(!ids.includes(label.id))ids.push(label.id)}out["label_ids"]=JSON.stringify(ids)}const parent=nonEmpty(input.flags,"--parent");if(parent!==void 0)out["parent_task_id"]=await resolveParentTaskId(ctx,projectId,parent);return out}async function resolveParentTaskId(ctx,projectId,ref){
|
|
137
|
+
const classified=classifyTaskRef(ref);if(classified.kind==="id")return classified.value;if(classified.kind==="unknown"){throw new UsageError(`--parent \u304C\u300C\u30BF\u30B9\u30AF\u30AD\u30FC\uFF08\u4F8B ABC-123\uFF09\u300D\u306B\u3082\u300CID\uFF08UUID / ULID\uFF09\u300D\u306B\u3082\u898B\u3048\u307E\u305B\u3093: ${ref}`,"\u89AA\u30BF\u30B9\u30AF\u306F\u30AD\u30FC\u304B ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const resolved=await ctx.resolver.taskByKey(classified.value);
|
|
138
|
+
if(resolved.projectId!==projectId){throw new UsageError(`--parent ${classified.value} \u306F\u5225\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30BF\u30B9\u30AF\u3067\u3059`,"\u89AA\u30BF\u30B9\u30AF\u306F\u540C\u3058\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30BF\u30B9\u30AF\u3060\u3051\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u5074\u304C\u540C\u4E00\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u3067\u3057\u304B\u968E\u5C64\u3092\u4F5C\u308C\u307E\u305B\u3093\uFF09\u3002")}
|
|
139
|
+
const id=resolved.task["id"];if(typeof id!=="string"||id===""){throw new ApiResponseError(`\u30BF\u30B9\u30AF\u30AD\u30FC\u89E3\u6C7A\u306E\u5FDC\u7B54\u306B task.id \u304C\u3042\u308A\u307E\u305B\u3093\uFF08--parent ${classified.value}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return id}async function resolvePrivateParent(input,ctx){const parent=nonEmpty(input.flags,"--parent");if(parent===void 0)return{};return{parent_task_id:await resolvePrivateTaskId(
|
|
140
|
+
ctx,parent)}}var taskDomain={name:"task",summary:"\u30BF\u30B9\u30AF\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u30B5\u30D6\u30BF\u30B9\u30AF\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664",operations:[{name:"list",summary:"\u30BF\u30B9\u30AF\u3092\u4E00\u89A7\u3059\u308B",usage:"twp task list [--project <\u30B3\u30FC\u30C9|ID|__private__>] [--status <\u540D\u524D>] [--type <\u540D\u524D>] [--assignee <me|\u540D\u524D>] [--keyword <\u8A9E>] [--all]",description:`--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\
|
|
141
|
+
\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
137
142
|
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08key / subject / status_id / assignee_id / priority / due_date / updated_at\uFF09\u3067\u3059\u3002
|
|
138
143
|
\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
|
|
139
144
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-
|
|
4
|
-
import"./chunk-ORUDW52G.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-
|
|
3
|
+
import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-XQRSX2RH.js";import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-IXFMXUNT.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-A65V3K75.js";import"./chunk-MY2U3CD6.js";import"./chunk-QOUDJ7XO.js";import"./chunk-4B3T4UE7.js";import{decodeCsvText,readCsvFileText}from"./chunk-OHXZO5WK.js";import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-XDHLO54T.js";
|
|
4
|
+
import"./chunk-ORUDW52G.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-4F2ONF4P.js";import{ResolveError,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,flagSegment,nonEmpty,
|
|
5
5
|
positiveInteger,shellQuote}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs2 from"fs";var ASSIGNMENT_COLUMNS=["id","department_name","position_name","start_date","end_date","is_primary","is_current","is_approval_route","effective_status"];function assignmentRows(body){const response=isRecord(body)&&"response"in body?body["response"]:body;const list=isRecord(response)?response["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u6240\u5C5E\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")}
|
|
6
6
|
return list}async function nameMap(ctx,path,label2){try{const body=await ctx.send({method:"GET",path,query:{limit:ORG_MASTER_LIMIT}});const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list))throw new Error(`${label2}\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093`);const count=isRecord(body)?body["count"]:void 0;if(typeof count==="number"&&count>list.length){ctx.warn(`${label2}\u4E00\u89A7\u304C ${count} \u4EF6\u4E2D ${list.length} \u4EF6\u3067\u5207\u308A\u8A70\u3081\u3089\
|
|
7
7
|
\u308C\u305F\u305F\u3081\u3001\u4E00\u90E8\u306E${label2}\u540D\u306F\u7A7A\u6B04\u3067\u3059\u3002ID \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}const map={};for(const row of list){if(isRecord(row)&&typeof row["id"]==="string"&&typeof row["name"]==="string"){map[row["id"]]=row["name"]}}return map}catch(err){ctx.warn(`${label2}\u540D\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001${label2}\u540D\u306E\u5217\u306F\u7A7A\u6B04\u3067\u3059\uFF08${err.
|