@tocca-systems/twp-cli 0.50.0 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.public.md +24 -0
- package/README.md +175 -5
- package/dist/agent-LHNDQMT5.js +100 -0
- package/dist/{agent-loop-EBIXJ4EH.js → agent-loop-QP6UHX4R.js} +1 -1
- package/dist/{ai-dispatch-2FL2AFL7.js → ai-dispatch-VDNMECKK.js} +1 -1
- package/dist/analysis-RFO4E4ZS.js +4 -0
- package/dist/{announcement-R76XDLW7.js → announcement-HQ7CQYFI.js} +2 -2
- package/dist/{api-command-VFFV7BD4.js → api-command-5LQFOG24.js} +4 -4
- package/dist/{app-PNDIA4NV.js → app-G524XCIA.js} +5 -5
- package/dist/{attendance-correct-SN2KYGOE.js → attendance-correct-CRRR4EKL.js} +3 -3
- package/dist/{attendance-lists-6S62D2UV.js → attendance-lists-XPCU25OJ.js} +2 -1
- package/dist/{auto-update-PS5HUWVH.js → auto-update-YMI3F44R.js} +1 -1
- package/dist/{auto-update-worker-ZKODJ45K.js → auto-update-worker-VG77U4UA.js} +2 -2
- package/dist/{backlog-5XSCJGPJ.js → backlog-NU5HHXN2.js} +2 -2
- package/dist/{budget-PIGBJ5N7.js → budget-AM7JJ5YP.js} +2 -2
- package/dist/{chunk-FANDYQCM.js → chunk-22OIKHMN.js} +1 -1
- package/dist/{chunk-IRHKFHJZ.js → chunk-2NP3BLPI.js} +2 -2
- package/dist/chunk-3744RCNM.js +58 -0
- package/dist/{chunk-6QOT7CHX.js → chunk-5WTFZJT7.js} +1 -1
- package/dist/chunk-6A2JSS76.js +4 -0
- package/dist/{chunk-V2BB5EWS.js → chunk-6JB4MSDX.js} +1 -1
- package/dist/{chunk-DQCHLRSB.js → chunk-74WGU5BM.js} +2 -2
- package/dist/{chunk-LKS7GANP.js → chunk-7GJFKKOJ.js} +3 -2
- package/dist/{chunk-342WUEV4.js → chunk-AKLQMTMW.js} +61 -27
- package/dist/{chunk-CF3ZZKCZ.js → chunk-B6WIFZF2.js} +1 -1
- package/dist/chunk-DBCF4H3V.js +141 -0
- package/dist/{chunk-S3A24B2C.js → chunk-E34FX2DF.js} +16 -15
- package/dist/{chunk-CUPPIHSJ.js → chunk-F53TSCRD.js} +1 -1
- package/dist/{chunk-ELEOYXLD.js → chunk-FACNRXN7.js} +2 -2
- package/dist/chunk-FEJDU42E.js +138 -0
- package/dist/{chunk-IF2K4PM5.js → chunk-JA5A6UJ2.js} +6 -4
- package/dist/chunk-K7OIECPN.js +10 -0
- package/dist/{chunk-ZY6LEKWR.js → chunk-LXGYOKDY.js} +3 -3
- package/dist/{chunk-NK53AFVE.js → chunk-MKQDUQQ2.js} +1 -1
- package/dist/{chunk-BVXUORXE.js → chunk-NGY4K5VW.js} +1 -1
- package/dist/{chunk-YM7TKMNO.js → chunk-NWI2TBO6.js} +1 -1
- package/dist/{chunk-LNZTJI64.js → chunk-RQEX2WC5.js} +1 -1
- package/dist/{chunk-7UB4I3JF.js → chunk-RX5HWI4L.js} +1 -1
- package/dist/{chunk-NN6LAZRA.js → chunk-S36LGDG2.js} +2 -2
- package/dist/{chunk-ONAMXPTE.js → chunk-SDNASQZL.js} +1 -1
- package/dist/{chunk-4S7SNE2M.js → chunk-VOMCTG6N.js} +1 -1
- package/dist/{chunk-5JL26BPU.js → chunk-XWJVDNYE.js} +1 -1
- package/dist/{chunk-SECVO7RQ.js → chunk-XZU53BUV.js} +2 -2
- package/dist/{chunk-FMJUPLDG.js → chunk-ZVEMJWRR.js} +1 -1
- package/dist/cli.js +150 -10
- package/dist/{commands-CA22R7VD.js → commands-BXU44JWS.js} +5 -5
- package/dist/{commands-ZZGY6P3B.js → commands-TYUK7MV4.js} +2 -2
- package/dist/{company-CQYSBKTQ.js → company-BKULUHIU.js} +3 -4
- package/dist/{completion-3F2GJNGC.js → completion-RWWCIR6G.js} +1 -1
- package/dist/{configure-XH33RB27.js → configure-QU6JK65I.js} +1 -1
- package/dist/{contract-A2FGGVOR.js → contract-376FE7VC.js} +3 -3
- package/dist/{department-6BILJZG7.js → department-YKBPBPU6.js} +2 -2
- package/dist/deposit-CY5K3ZTM.js +4 -0
- package/dist/{estimate-5PSXHHNT.js → estimate-GPNG6YOJ.js} +4 -4
- package/dist/evaluation-VRLMQV32.js +61 -0
- package/dist/expense-3MT6WHTG.js +75 -0
- package/dist/{inquiry-NMOT4JSX.js → inquiry-YV433Q7V.js} +2 -2
- package/dist/{invoice-TXEJT6I6.js → invoice-OSAO4PIO.js} +3 -3
- package/dist/{job-title-NSYPQMEX.js → job-title-FITZHBR4.js} +1 -1
- package/dist/{knowledge-5DX6EMHZ.js → knowledge-YEEAKLQJ.js} +2 -2
- package/dist/{leave-DEGAZKVH.js → leave-MWYAL66X.js} +3 -2
- package/dist/media-TIRJJUNN.js +361 -0
- package/dist/{notification-NG4J6N2D.js → notification-EAEKDN54.js} +2 -2
- package/dist/{onedrive-YPJCILR2.js → onedrive-UBSHXVYS.js} +1 -1
- package/dist/{oneshot-RA65DTXP.js → oneshot-62DOJWOH.js} +2 -2
- package/dist/{outlook-MNOVX6QS.js → outlook-ODZD27J5.js} +2 -2
- package/dist/{position-OZBQYKZS.js → position-ZKYGVAAK.js} +1 -1
- package/dist/project-5MHCPDVC.js +4 -0
- package/dist/{prospect-TQ2FFWEZ.js → prospect-ASQA5QVD.js} +3 -3
- package/dist/{purchase-WOUWIZHO.js → purchase-WLJJSMM6.js} +4 -4
- package/dist/receivable-FBPROHOV.js +4 -0
- package/dist/{registry-H4NP4HUQ.js → registry-3PWIZP2X.js} +1 -1
- package/dist/{report-EFE43ZVI.js → report-HK2NZXHC.js} +2 -2
- package/dist/run-XZZR3OKX.js +4 -0
- package/dist/sales-ai-review-IEISLBIH.js +4 -0
- package/dist/{sales-master-Q5BJ7RNG.js → sales-master-S3YTUE7J.js} +3 -3
- package/dist/sales-numbering-M4KUZAM7.js +4 -0
- package/dist/skill-45FBIGC5.js +4 -0
- package/dist/{supplier-payment-FWGQR3Z3.js → supplier-payment-MS6YMIT4.js} +3 -3
- package/dist/{support-TVTQJFRE.js → support-VSDMFUTY.js} +2 -2
- package/dist/{task-IDQKPRYS.js → task-BTYFJRSC.js} +4 -4
- package/dist/{teams-IO6UQNYP.js → teams-GPXJPXNC.js} +2 -2
- package/dist/update-NCAVUXSX.js +3 -0
- package/dist/{user-B6KW6HA2.js → user-VFJGLZDR.js} +23 -6
- package/dist/{worker-agent-PEFBLL56.js → worker-agent-YX2KPVQG.js} +2 -2
- package/dist/workflow-OPZYCSDL.js +4 -0
- package/package.json +1 -1
- package/dist/analysis-2SWIQ4AI.js +0 -4
- package/dist/chunk-3YCVR7X4.js +0 -5
- package/dist/chunk-GXZOFRZH.js +0 -9
- package/dist/chunk-IU5P6MY5.js +0 -47
- package/dist/chunk-Q2KIETMB.js +0 -132
- package/dist/chunk-ZGHEF45T.js +0 -4
- package/dist/deposit-OAGRJMZ4.js +0 -4
- package/dist/media-RJCTHFK6.js +0 -185
- package/dist/project-5YFBRM32.js +0 -4
- package/dist/receivable-RFZT6PY3.js +0 -4
- package/dist/run-TNFPATQF.js +0 -4
- package/dist/sales-ai-review-FSA4J2J2.js +0 -4
- package/dist/sales-numbering-ITDBMODV.js +0 -4
- package/dist/update-EYFT7STE.js +0 -3
- package/dist/workflow-SYWZKWWB.js +0 -4
|
@@ -1,21 +1,54 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{
|
|
3
|
+
import{CRITERION_RE,checkCounts,checksOf,envelope,reasonsMap,reviewOf,withoutResult}from"./chunk-LXGYOKDY.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{WORKFLOWS_PATH}from"./chunk-FEJDU42E.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,
|
|
4
|
+
pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INSTANCES_PATH=`${WORKFLOWS_PATH}/instances`;var COMMENT_MAX_CHARS=2e3;var IN_FLIGHT=new Set(["pending","processing"]);var GET_USAGE="twp workflow ai-review get <\u7533\u8ACBID>";var UPDATE_USAGE="twp workflow ai-review-comment update <\u6307\u6458ID> --instance <\u7533\u8ACBID> (--text <\u672C\u6587> | --text-file <\u30D1\u30B9>)";var DELETE_USAGE="twp workflow ai-review-comment delete <\u6307\u6458ID> --instance <\u7533\u8ACBID> --yes";function instanceUuid(raw,usage,what){const id=raw?.trim()??
|
|
5
|
+
"";if(id==="")throw new UsageError(`\u7533\u8ACBID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!UUID_RE.test(id))throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`${usage}
|
|
6
|
+
\u7533\u8ACBID \u306F twp workflow approval pending \u306E id \u5217\u3067\u3059\u3002`);return id}function workflowReviewPath(instanceId){return`${INSTANCES_PATH}/${encodeURIComponent(instanceId)}/ai-review`}function reviewTarget(input){if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,GET_USAGE);return workflowReviewPath(instanceUuid(input.args[0],GET_USAGE,"\u4F4D\u7F6E\u5F15\u6570"))}function commentTarget(input,usage){
|
|
7
|
+
if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}\uFF08\u7533\u8ACB\u306F --instance \u3067\u6E21\u3057\u307E\u3059\uFF09`,usage);const criterion=input.args[0]?.trim()??"";if(criterion==="")throw new UsageError("\u6307\u6458\u306E ID\uFF08criterion_id\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",`${usage}
|
|
8
|
+
twp workflow ai-review get <\u7533\u8ACBID> \u306E criterion_id \u5217\u306E\u5024\u3067\u3059\u3002`);if(!CRITERION_RE.test(criterion)||/^\.+$/.test(criterion)){throw new UsageError(`\u6307\u6458\u306E ID \u306F\u82F1\u6570\u5B57\u3068 _ . : - \u3060\u3051\u30FB128 \u6587\u5B57\u307E\u3067\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${criterion}`,usage)}const reviewPath=workflowReviewPath(instanceUuid(input.flags.get("--instance"),usage," --instance "));return{reviewPath,commentPath:`${reviewPath}\
|
|
9
|
+
/reasons/${encodeURIComponent(criterion)}/approver-comment`,criterion}}var WHAT="\u7533\u8ACB\u306EAI\u30C1\u30A7\u30C3\u30AF";var CHECK_COLUMNS=["criterion_id","label","severity","acknowledged","reason_judgment","reason","approver_comment","message"];function checkRows(body){const data=envelope(body,WHAT);const reasons=reasonsMap(data);return checksOf(reviewOf(data,WHAT)).map(check=>{const criterion=typeof check["criterion_id"]==="string"?check["criterion_id"]:null;const reason=criterion!==null?
|
|
10
|
+
reasons[criterion]:void 0;const field=key=>isRecord(reason)?reason[key]??null:null;return{...pick(check,["criterion_id","label","severity"]),acknowledged:check["acknowledged"]===true,reason_judgment:field("judgment"),reason:field("reason"),approver_comment:field("approver_comment"),message:check["message"]??null}})}function reviewRaw(body){const data=envelope(body,WHAT);reviewOf(data,WHAT);return withoutResult(data)}function getNotes(body){const data=envelope(body,WHAT);const review=reviewOf(data,
|
|
11
|
+
WHAT);const notes=[];if(review===null){notes.push("\u3053\u306E\u7533\u8ACB\u306B\u306F AI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u5BFE\u8C61\u306F\u53D6\u5F15\uFF1D\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u53D6\u5F15\u5951\u7D04\u306E\u627F\u8A8D\u7533\u8ACB\u3060\u3051\u3067\u3001\u63D0\u51FA\u6642\u306B\u975E\u540C\u671F\u3067\u4F5C\u3089\u308C\u307E\u3059\uFF09")}else{const status=String(review["status"]);if(IN_FLIGHT.has(status))notes.push(`\u751F\u6210\u4E2D\u3067\u3059\uFF08sta\
|
|
12
|
+
tus=${status}\uFF09\u3002\u6642\u9593\u3092\u7F6E\u3044\u3066\u540C\u3058\u30B3\u30DE\u30F3\u30C9\u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044`);if(status==="failed")notes.push("\u751F\u6210\u306B\u5931\u6557\u3057\u3066\u3044\u307E\u3059\uFF08status=failed\uFF09\u3002\u627F\u8A8D\u753B\u9762\u306B\u3082\u7D50\u679C\u306F\u51FA\u307E\u305B\u3093");if(status==="completed"){if(typeof review["summary"]==="string"&&review["summary"]!=="")notes.push(`\u8981\u7D04: ${review["summary"]}`);const overall=isRecord(
|
|
13
|
+
review["overall"])?review["overall"]:void 0;if(overall!==void 0&&typeof overall["verdict_label"]==="string"){const message=typeof overall["message"]==="string"&&overall["message"]!==""?`\uFF08${overall["message"]}\uFF09`:"";notes.push(`\u7DCF\u5408\u6240\u898B: ${overall["verdict_label"]}${message}`);const recommendations=Array.isArray(overall["recommendations"])?overall["recommendations"]:[];for(const item of recommendations)if(typeof item==="string")notes.push(` \u78BA\u8A8D\u3092\u63A8\u5968\u3059\u308B\u70B9: ${item}`)}
|
|
14
|
+
notes.push(`${checkCounts(review)}\u3002\u751F\u6210\u65E5\u6642 ${String(review["generated_at"]??"\u4E0D\u660E")}`)}}const reasons=Object.values(reasonsMap(data)).filter(isRecord);if(reasons.length>0){const commented=reasons.filter(reason=>typeof reason["approver_comment"]==="string"&&reason["approver_comment"]!=="").length;notes.push(`\u7533\u8ACB\u8005\u306E\u7406\u7531 ${String(reasons.length)} \u4EF6\uFF08\u3046\u3061\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3042\u308A ${String(commented)}\
|
|
15
|
+
\u4EF6\uFF09`)}notes.push("\u6307\u6458\u306E\u672C\u6587\u30FB\u5185\u8A33\uFF08details\uFF09\u30FB\u7406\u7531\u306E\u5168\u6587\u306F --output json \u3067\u51FA\u307E\u3059");return notes}var SUMMARY_CONCURRENCY=4;var NO_SUMMARY={ai_warnings:null,ai_severity:null,ai_verdict:null};function reviewSummary(body){const review=reviewOf(envelope(body,WHAT),WHAT);if(review===null)return{ai_review:"none",...NO_SUMMARY};const status=String(review["status"]);if(status!=="completed")return{ai_review:status,
|
|
16
|
+
...NO_SUMMARY};const checks=checksOf(review);const warnings=checks.filter(check=>check["severity"]==="warning").length;const overall=isRecord(review["overall"])?review["overall"]:void 0;return{ai_review:status,ai_warnings:warnings,ai_severity:warnings>0?"warning":checks.length>0?"ok":null,ai_verdict:typeof overall?.["verdict"]==="string"?overall["verdict"]:null}}async function withReviewSummaries(rows,ctx){const out=[...rows];let failed=0;let next=0;const worker=async()=>{for(;;){const index=next++;
|
|
17
|
+
if(index>=rows.length)return;const row=rows[index];const id=isRecord(row)&&typeof row["id"]==="string"?row["id"]:void 0;if(!isRecord(row)||id===void 0||!UUID_RE.test(id)){failed+=1;out[index]=isRecord(row)?{...row,ai_review:"unavailable",...NO_SUMMARY}:row;continue}try{out[index]={...row,...reviewSummary(await ctx.send({method:"GET",path:workflowReviewPath(id)}))}}catch{failed+=1;out[index]={...row,ai_review:"unavailable",...NO_SUMMARY}}}};await Promise.all(Array.from({length:Math.min(SUMMARY_CONCURRENCY,
|
|
18
|
+
rows.length)},worker));if(failed>0)ctx.warn(`${String(failed)} \u4EF6\u306E\u7533\u8ACB\u3067 AI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08ai_review=unavailable\uFF09\u3002twp workflow ai-review get <\u7533\u8ACBID> \u3067\u500B\u5225\u306B\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`);return out}var INSTANCE_FLAG={name:"--instance",summary:"\u7533\u8ACBID\uFF08UUID\u30FB\u5FC5\u9808\u3002twp workflow approval pending \u306E id \u5217\uFF09",
|
|
19
|
+
takesValue:true,placeholder:"<\u7533\u8ACBID>"};var FORBIDDEN_VIEW="\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002AI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C\u3092\u898B\u3089\u308C\u308B\u306E\u306F\u3001\u305D\u306E\u7533\u8ACB\u3092\u95B2\u89A7\u3067\u304D\u308B\u4EBA\uFF08\u7533\u8ACB\u8005\u30FB\u627F\u8A8D\u8005\u30FB\u95B2\u89A7\u3092\u8A31\u3055\u308C\u305F\u4EBA\uFF09\u3060\u3051\u3067\u3059";var FORBIDDEN_COMMENT="\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3092\u66F8\u3051\u308B\u306E\u306F\u3001\u3044\u307E\u3053\u306E\u7533\u8ACB\u3092\u627F\u8A8D\u3067\u304D\u308B\u4EBA\uFF08\u305D\u306E\u6BB5\u306E\u627F\u8A8D\u8005\u30FB\u4EE3\u7406\u627F\u8A8D\u3092\u4EFB\u3055\u308C\u305F\u4EBA\uFF09\u3060\u3051\u3067\u3059";
|
|
20
|
+
async function prepareComment(input,ctx){const target=commentTarget(input,UPDATE_USAGE);const text=await readBody(input,{flag:"--text",fileFlag:"--text-file",label:"\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8",maxChars:COMMENT_MAX_CHARS,usage:UPDATE_USAGE});if(text===void 0||text.trim()==="")throw new UsageError("\u30B3\u30E1\u30F3\u30C8\u3092 --text <\u672C\u6587> \u304B --text-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",UPDATE_USAGE);const current=await ctx.resolver.
|
|
21
|
+
salesJson(target.reviewPath,"\u7533\u8ACB\u306EAI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C");if(!isRecord(reasonsMap(current)[target.criterion])){throw new UsageError(`\u6307\u6458 ${target.criterion} \u306B\u306F\u7533\u8ACB\u8005\u306E\u7406\u7531\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u306F\u7533\u8ACB\u8005\u304C\u7406\u7531\u3092\u6DFB\u3048\u305F\u6307\u6458\u306B\u3060\u3051\u66F8\u3051\u307E\u3059`,"twp workflow ai-review get <\u7533\u8ACBID> \u3067 reason_\
|
|
22
|
+
judgment \u304C\u5165\u3063\u3066\u3044\u308B\u884C\u306E criterion_id \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return withResolved(input,{text})}function reasonOf(body,what,allowMissing=false){const data=envelope(body,what);const reason=data["reason"];if(reason===null||allowMissing&&reason===void 0)return null;if(!isRecord(reason))throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B reason \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
23
|
+
return reason}var COMMENT_COLUMNS=["criterion_id","criterion_label","judgment","approver_comment","approver_comment_at"];var workflowAiReviewResources=[{name:"ai-review",summary:"\u7533\u8ACB\u306EAI\u30C1\u30A7\u30C3\u30AF\uFF08\u627F\u8A8D\u753B\u9762\u306E AI\u8981\u7D04\u30FB\u59A5\u5F53\u6027\u30C1\u30A7\u30C3\u30AF\uFF09\u306E\u8868\u793A",operations:[{name:"get",summary:"\u7533\u8ACB\u306E AI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C\u3068\u3001\u7533\u8ACB\u8005\u306E\u7406\u7531\u30FB\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3092\u8868\u793A\u3059\u308B",
|
|
24
|
+
usage:GET_USAGE,description:`GET /api/v2/workflows/instances/{id}/ai-review\u3002\u627F\u8A8D\u753B\u9762\u306E\u300CAI\u8981\u7D04\u30FB\u59A5\u5F53\u6027\u30C1\u30A7\u30C3\u30AF\u300D\u3068\u540C\u3058\u4FDD\u5B58\u6E08\u307F\u306E\u7D50\u679C\u3067\u3059\uFF08AI \u306F\u547C\u3073\u307E\u305B\u3093\uFF09\u3002
|
|
25
|
+
\u5BFE\u8C61\u306F\u53D6\u5F15\uFF08\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u53D6\u5F15\u5951\u7D04\uFF09\u306E\u627F\u8A8D\u7533\u8ACB\u3067\u3001\u63D0\u51FA\u6642\u306B\u4F5C\u3089\u308C\u307E\u3059\u3002\u305D\u308C\u4EE5\u5916\u306E\u7533\u8ACB\u3067\u306F\u7D50\u679C\u304C\u7A7A\u3067\u3059\uFF08\u30A8\u30E9\u30FC\u306B\u306F\u306A\u308A\u307E\u305B\u3093\uFF09\u3002
|
|
26
|
+
--output table / text / tsv \u306F\u78BA\u8A8D\u3057\u305F\u89B3\u70B91\u4EF6\uFF1D1\u884C\uFF08${CHECK_COLUMNS.join(" / ")}\uFF09\u3067\u3001severity \u304C warning \u306E\u884C\u304C\u6307\u6458\u3067\u3059\u3002
|
|
27
|
+
reason_judgment / reason \u306F\u7533\u8ACB\u8005\u304C\u6DFB\u3048\u305F\u7406\u7531\u3001approver_comment \u306F\u627F\u8A8D\u8005\u306E\u8FFD\u8A18\u3067\u3059\u3002
|
|
28
|
+
\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3092\u66F8\u304F\u306E\u306F twp workflow ai-review-comment update <criterion_id> --instance <\u7533\u8ACBID> \u3067\u3059\u3002
|
|
29
|
+
\u7533\u8ACB\u8005\u304C\u81EA\u5206\u3067\u5B9F\u884C\u3059\u308B\u7533\u8ACB\u524D\u30C1\u30A7\u30C3\u30AF\uFF08twp estimate ai-review \u7B49\uFF09\u3068\u306F\u5225\u306E\u7D50\u679C\u3067\u3059\u3002`,flags:[],forbidden:FORBIDDEN_VIEW,plan:input=>({method:"GET",path:reviewTarget(input)}),summarize:checkRows,raw:reviewRaw,notes:getNotes}]},{name:"ai-review-comment",summary:"\u7533\u8ACB\u306EAI\u30C1\u30A7\u30C3\u30AF\u306E\u6307\u6458\u306B\u627F\u8A8D\u8005\u306E\u78BA\u8A8D\u7D50\u679C\u3092\u8FFD\u8A18\u3059\u308B\uFF08\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u53D6\u6D88\uFF09",
|
|
30
|
+
operations:[{name:"update",summary:"\u6307\u64581\u4EF6\u306B\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3092\u66F8\u304F\uFF08\u3042\u308C\u3070\u66F8\u304D\u63DB\u3048\u308B\uFF09",usage:UPDATE_USAGE,description:`PUT /api/v2/workflows/instances/{id}/ai-review/reasons/{criterion_id}/approver-comment\u3002\u627F\u8A8D\u753B\u9762\u306E\u6307\u6458\u306E\u300C\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u300D\u3068\u540C\u3058\u3067\u3059\u3002
|
|
31
|
+
<\u6307\u6458ID> \u306F twp workflow ai-review get <\u7533\u8ACBID> \u306E criterion_id \u5217\u306E\u5024\u3067\u3059\u3002\u7533\u8ACB\u8005\u304C\u7406\u7531\u3092\u6DFB\u3048\u305F\u6307\u6458\u306B\u3060\u3051\u66F8\u3051\u307E\u3059
|
|
32
|
+
\uFF08\u9001\u308B\u524D\u306B\u7D50\u679C\u3092\u8AAD\u3093\u3067\u78BA\u304B\u3081\u307E\u3059\u3002--dry-run \u3067\u3082\u8AAD\u307F\u307E\u3059\uFF09\u3002\u7533\u8ACB\u8005\u306E\u7406\u7531\u305D\u306E\u3082\u306E\u306F\u66F8\u304D\u63DB\u3048\u307E\u305B\u3093\u3002
|
|
33
|
+
\u66F8\u3051\u308B\u306E\u306F\u3001\u3044\u307E\u3053\u306E\u7533\u8ACB\u3092\u627F\u8A8D\u3067\u304D\u308B\u4EBA\u3060\u3051\u3067\u3059\u3002\u4E0A\u9650 ${COMMENT_MAX_CHARS.toLocaleString()} \u6587\u5B57\uFF08\u524D\u5F8C\u306E\u7A7A\u767D\u3082\u6570\u3048\u307E\u3059\uFF09\u3002`,flags:[INSTANCE_FLAG,{name:"--text",summary:"\u30B3\u30E1\u30F3\u30C8\u306E\u672C\u6587",takesValue:true,placeholder:"<\u672C\u6587>"},{name:"--text-file",summary:"\u30B3\u30E1\u30F3\u30C8\u306E\u672C\u6587\u3092\u8AAD\u3080\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",
|
|
34
|
+
takesValue:true,placeholder:"<\u30D1\u30B9>"}],forbidden:FORBIDDEN_COMMENT,prepare:prepareComment,plan:input=>({method:"PUT",path:commentTarget(input,UPDATE_USAGE).commentPath,body:{comment:requireResolved(input,"text")}}),summarize:body=>{const reason=reasonOf(body,"\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u306E\u4FDD\u5B58");if(reason===null)throw new ApiResponseError("\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u306E\u4FDD\u5B58\u306E\u5FDC\u7B54\u306B reason \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
|
|
35
|
+
return pick(reason,COMMENT_COLUMNS)},raw:body=>reasonOf(body,"\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u306E\u4FDD\u5B58")},{name:"delete",summary:"\u6307\u6458\u306B\u66F8\u3044\u305F\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09",usage:DELETE_USAGE,description:"DELETE /api/v2/workflows/instances/{id}/ai-review/reasons/{criterion_id}/approver-comment\u3002\n\u7533\u8ACB\u8005\u306E\u7406\u7531\u306F\u6D88\u3048\u307E\u305B\u3093\u3002\u30B3\u30E1\u30F3\u30C8\u304C\u7121\u3044\u6307\u6458\u3078\u306E\u53D6\u6D88\u3082\u30B5\u30FC\u30D0\u306F\u6210\u529F\u3092\u8FD4\u3057\u307E\u3059\u3002\u53D6\u308A\u6D88\u305B\u308B\u306E\u306F\u3001\u3044\u307E\u3053\u306E\u7533\u8ACB\u3092\u627F\u8A8D\u3067\u304D\u308B\u4EBA\u3060\u3051\u3067\u3059\u3002",
|
|
36
|
+
destructive:true,flags:[INSTANCE_FLAG],forbidden:FORBIDDEN_COMMENT,plan:input=>({method:"DELETE",path:commentTarget(input,DELETE_USAGE).commentPath}),summarize:body=>{const reason=reasonOf(body,"\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u306E\u53D6\u6D88",true);return reason===null?{result:true}:pick(reason,COMMENT_COLUMNS)},raw:body=>reasonOf(body,"\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u306E\u53D6\u6D88",true)??{result:true}}]}];var WORKFLOW_FLAG={name:"--workflow",summary:"\u7533\u8ACB\u66F8\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF09\u306E\u540D\u524D\u304B ID \u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>"};var CATEGORIES={undefined:"\u6C4E\u7528",paid_holiday:"\u6709\u7D66\u4F11\u6687",substitute_holiday:"\u632F\u66FF\u4F11\u6687",comp_holiday:"\u4EE3\u4F11",absence:"\u6B20\u52E4",special_holiday:"\u7279\u5225\u4F11\u6687",other_leave:"\u305D\u306E\u4ED6\u4F11\u6687\u30FB\u6B20\u52E4",
|
|
4
37
|
sales:"\u53D6\u5F15",commuting_expenses:"\u901A\u52E4\u4EA4\u901A\u8CBB",cms_publish:"\u30B3\u30F3\u30C6\u30F3\u30C4\u516C\u958B",equipment_lending:"\u5099\u54C1\u8CB8\u51FA",ai_tool_license:"AI\u30C4\u30FC\u30EB\u30E9\u30A4\u30BB\u30F3\u30B9",qualification_bonus:"\u5408\u683C\u304A\u795D\u3044\u91D1"};var CATEGORY_HELP=`\u30AB\u30C6\u30B4\u30EA: ${Object.entries(CATEGORIES).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join(" / ")}`;var WORKFLOW_STATUSES=["active","inactive","draft"];var INSTANCE_STATUSES=[
|
|
5
38
|
"new","in_progress","approved","rejected","canceled","sent_back"];var INSTANCE_STATUS_HELP="\u72B6\u614B: new\uFF08\u4E0B\u66F8\u304D\uFF09/ in_progress\uFF08\u627F\u8A8D\u5F85\u3061\uFF09/ approved\uFF08\u627F\u8A8D\u6E08\u307F\uFF09/ rejected\uFF08\u5374\u4E0B\uFF09/ canceled\uFF08\u53D6\u6D88\uFF09/ sent_back\uFF08\u5DEE\u3057\u623B\u3057\uFF09";var WORKFLOW_COLUMNS=["id","name","defined_category","status","is_hidden","valid_from","valid_to"];var WORKFLOW_ADMIN_COLUMNS=[...WORKFLOW_COLUMNS,"s\
|
|
6
39
|
tep_count"];var WORKFLOW_GET_COLUMNS=["id","name","defined_category","status","is_hidden","valid_from","valid_to","description"];var INSTANCE_COLUMNS=["id","title","workflow_name","status","current_step_no","applicant_name","applied_at","completed_at"];var INSTANCE_GET_COLUMNS=["id","title","workflow_id","workflow_name","status","current_step_no","applicant_name","applied_at","completed_at","can_approve","is_editable","is_cancelable"];var PENDING_COLUMNS=["id","title","workflow_name","applicant_\
|
|
7
|
-
name","current_step_no","applied_at","delegated_from_user_id"];var
|
|
8
|
-
if(input.args.length>0){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}}function listRows(body,label){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError(`${label}\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`)}
|
|
9
|
-
const value=isRecord(body)?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}function idPath(base,id,label){if(!isSafePathSegment(id)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F${label} ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\
|
|
10
|
-
return`${base}/${encodeURIComponent(id)}`}async function workflowId(ref,ctx,flag){return UUID_RE.test(ref)?ref:(await ctx.resolver.workflow(ref,flag)).id}function countNote(rows,what){return[`${what}: ${String(rows.length)} \u4EF6`]}var LIST_USAGE="twp workflow list [--status <active|inactive|draft>] [--category <\u30AB\u30C6\u30B4\u30EA>]";var
|
|
11
|
-
var workflowOperations=[{name:"list",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF09\u306E\u5B9A\u7FA9\u3092\u4E00\u89A7\u3059\u308B\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\uFF09",usage:LIST_USAGE,description:`GET /api/v2/workflows \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u975E\u8868\u793A\u30FB\u7121\u52B9\u3092\u542B\u3080\u30C6\u30CA\u30F3\u30C8\u306E\u5168\u7533\u8ACB\u66F8\uFF09\u3002
|
|
40
|
+
name","current_step_no","applied_at","delegated_from_user_id","ai_review","ai_warnings","ai_severity","ai_verdict"];var INSTANCES_PATH2=`${WORKFLOWS_PATH}/instances`;function enumFlag(input,flag,values,help){const raw=nonEmpty(input.flags,flag);if(raw===void 0)return void 0;const value=raw.trim();if(!values.includes(value)){throw new UsageError(`${flag} \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u5024\u3067\u3059: ${raw}`,help)}return value}function category(input){return enumFlag(input,"--categ\
|
|
41
|
+
ory",Object.keys(CATEGORIES),CATEGORY_HELP)}function noArgs(input,usage){if(input.args.length>0){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}}function listRows(body,label){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError(`${label}\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`)}
|
|
42
|
+
return list}function objectOf(body,key,label){const value=isRecord(body)?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}function idPath(base,id,label){if(!isSafePathSegment(id)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F${label} ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\
|
|
43
|
+
\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return`${base}/${encodeURIComponent(id)}`}async function workflowId(ref,ctx,flag){return UUID_RE.test(ref)?ref:(await ctx.resolver.workflow(ref,flag)).id}function countNote(rows,what){return[`${what}: ${String(rows.length)} \u4EF6`]}var LIST_USAGE="twp workflow list [--status <active|inactive|draft>] [--category <\u30AB\u30C6\u30B4\u30EA>]";var GET_USAGE2="twp workflow get <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>";
|
|
44
|
+
var APPLICABLE_USAGE="twp workflow applicable [--category <\u30AB\u30C6\u30B4\u30EA>]";var workflowOperations=[{name:"list",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF09\u306E\u5B9A\u7FA9\u3092\u4E00\u89A7\u3059\u308B\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\uFF09",usage:LIST_USAGE,description:`GET /api/v2/workflows \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u975E\u8868\u793A\u30FB\u7121\u52B9\u3092\u542B\u3080\u30C6\u30CA\u30F3\u30C8\u306E\u5168\u7533\u8ACB\u66F8\uFF09\u3002
|
|
12
45
|
\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u8AAD\u3081\u307E\u3059\u3002\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u306F twp workflow applicable \u3067\u898B\u3089\u308C\u307E\u3059\u3002
|
|
13
46
|
${CATEGORY_HELP}
|
|
14
47
|
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u627F\u8A8D\u8005\u30FB\u5BFE\u8C61\u8005\u306E\u6761\u4EF6\u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[{name:"--status",summary:"\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9 / draft: \u4E0B\u66F8\u304D\uFF09",takesValue:true,placeholder:"<\u72B6\u614B>"},{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,
|
|
15
48
|
placeholder:"<\u30AB\u30C6\u30B4\u30EA>"}],plan(input){noArgs(input,LIST_USAGE);return{method:"GET",path:WORKFLOWS_PATH,query:{status:enumFlag(input,"--status",WORKFLOW_STATUSES,"\u72B6\u614B: active\uFF08\u6709\u52B9\uFF09/ inactive\uFF08\u7121\u52B9\uFF09/ draft\uFF08\u4E0B\u66F8\u304D\uFF09"),category:category(input)}}},summarize:body=>listRows(body,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u4E00\u89A7").map(row=>pick(row,WORKFLOW_ADMIN_COLUMNS)),raw:body=>listRows(body,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u4E00\u89A7"),
|
|
16
49
|
notes:body=>countNote(listRows(body,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u4E00\u89A7"),"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC"),forbidden:"\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u306E\u4E00\u89A7\u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u898B\u3089\u308C\u307E\u3059\u3002\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u306F twp workflow applicable \u3067\u898B\u3089\u308C\u307E\u3059"},
|
|
17
|
-
{name:"get",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF091\u4EF6\u306E\u5B9A\u7FA9\u3092\u8868\u793A\u3059\u308B\uFF08\u627F\u8A8D\u306E\u6BB5\u30FB\u5165\u529B\u9805\u76EE\u3092\u542B\u3080\uFF09",usage:
|
|
18
|
-
\u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",flags:[],async prepare(input,ctx){const ref=singleRef(input,{flag:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>",label:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC",usage:
|
|
50
|
+
{name:"get",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF091\u4EF6\u306E\u5B9A\u7FA9\u3092\u8868\u793A\u3059\u308B\uFF08\u627F\u8A8D\u306E\u6BB5\u30FB\u5165\u529B\u9805\u76EE\u3092\u542B\u3080\uFF09",usage:GET_USAGE2,description:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC> \u306F\u7533\u8ACB\u66F8\u306E\u540D\u524D\u304B ID\uFF08UUID\uFF09\u3067\u3059\u3002\u540D\u524D\u306F\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u304B\u3089\u5B8C\u5168\u4E00\u81F4\u3067\u63A2\u3057\u307E\u3059\n\uFF08\u7533\u8ACB\u3067\u304D\u306A\u3044\u7533\u8ACB\u66F8\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002ID \u306F twp workflow list / instance list \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\u3067\u3001\u627F\u8A8D\u306E\u6BB5\u306E\u6570\u3068\u5165\u529B\u9805\u76EE\u306E\u6570\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08steps\u30FBform_definition\
|
|
51
|
+
\u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",flags:[],async prepare(input,ctx){const ref=singleRef(input,{flag:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>",label:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC",usage:GET_USAGE2});return withResolved(input,{workflowId:await workflowId(ref,ctx,"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>")})},plan:input=>({method:"GET",path:idPath(WORKFLOWS_PATH,requireResolved(input,"workflowId"),"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC")}),summarize:body=>pick(objectOf(
|
|
19
52
|
body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30"),WORKFLOW_GET_COLUMNS),raw:body=>objectOf(body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30"),notes(body){const workflow=objectOf(body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30");const steps=Array.isArray(workflow["steps"])?workflow["steps"].length:null;const form=isRecord(workflow["form_definition"])?workflow["form_definition"]["form_column_list"]:void 0;const fields=Array.isArray(form)?form.length:
|
|
20
53
|
null;return[`\u627F\u8A8D\u306E\u6BB5: ${steps===null?"\u4E0D\u660E":`${String(steps)} \u6BB5`}\u30FB\u5165\u529B\u9805\u76EE: ${fields===null?"\u4E0D\u660E":`${String(fields)} \u9805\u76EE`}\uFF08\u5168\u9805\u76EE\u306F --output json \u306E steps / form_definition\uFF09`]}},{name:"applicable",summary:"\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF09\u3092\u4E00\u89A7\u3059\u308B",usage:APPLICABLE_USAGE,description:`GET /api/v2/w\
|
|
21
54
|
orkflows/applicable\uFF08--category \u304C\u3042\u308C\u3070 applicable/{category}\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
|
@@ -26,14 +59,14 @@ ${CATEGORY_HELP}
|
|
|
26
59
|
applicable/${encodeURIComponent(value)}`}},summarize:body=>listRows(body,"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC").map(row=>pick(row,WORKFLOW_COLUMNS)),raw:body=>listRows(body,"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC"),notes:body=>countNote(listRows(body,"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC"),"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC")}];var INSTANCE_LIST_USAGE="twp workflow instance l\
|
|
27
60
|
ist [--workflow <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>] [--status <\u72B6\u614B>] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>]";var INSTANCE_GET_USAGE="twp workflow instance get <\u7533\u8ACBID>";var HISTORY_USAGE="twp workflow instance history [--workflow <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>] [--status <\u72B6\u614B>] [--keyword <\u8A9E>] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>]";var instancePaging=envelopePaging({label:"\u7533\u8ACB\u4E00\u89A7"});
|
|
28
61
|
var historyPaging=envelopePaging({label:"\u627F\u8A8D\u5C65\u6B74"});var STATUS_FLAG={name:"--status",summary:"\u7533\u8ACB\u306E\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u72B6\u614B>"};async function prepareWorkflowFilter(input,ctx){instanceStatus(input);const ref=nonEmpty(input.flags,WORKFLOW_FLAG.name);if(ref===void 0)return input;return withResolved(input,{workflowId:await workflowId(ref.trim(),ctx,WORKFLOW_FLAG.name)})}function instanceStatus(input){return enumFlag(
|
|
29
|
-
input,"--status",INSTANCE_STATUSES,INSTANCE_STATUS_HELP)}function workflowFilter(input){return input.flags.has(WORKFLOW_FLAG.name)?requireResolved(input,"workflowId"):void 0}var CONTENT_KEYS=["title","description","form_data"];var CONTENT_MAX_CHARS=1e6;var
|
|
62
|
+
input,"--status",INSTANCE_STATUSES,INSTANCE_STATUS_HELP)}function workflowFilter(input){return input.flags.has(WORKFLOW_FLAG.name)?requireResolved(input,"workflowId"):void 0}var CONTENT_KEYS=["title","description","form_data"];var CONTENT_MAX_CHARS=1e6;var COMMENT_MAX_CHARS2=2e3;var CONTENT_FILE_FLAG={name:"--content-file",summary:"\u7533\u8ACB\u5185\u5BB9\u306E JSON \u30D5\u30A1\u30A4\u30EB\uFF08title / description / form_data\u30FB- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"\
|
|
30
63
|
<\u30D1\u30B9>"};var SKELETON_FLAG={name:"--generate-cli-skeleton",summary:"\u7533\u8ACB\u66F8\u306E\u5165\u529B\u9805\u76EE\u304B\u3089 --content-file \u306E\u3072\u306A\u5F62\u3092\u51FA\u3057\u3066\u7D42\u4E86\u3059\u308B\uFF08\u7533\u8ACB\u306F\u4F5C\u3089\u306A\u3044\uFF09",takesValue:false};var COMMENT_FLAGS=[{name:"--comment-file",summary:"\u30B3\u30E1\u30F3\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"\
|
|
31
64
|
--comment",summary:"\u30B3\u30E1\u30F3\u30C8\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u4E00\u884C\u5411\u3051\u3002--comment-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"}];var CONTENT_HELP="\u7533\u8ACB\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 / description / form_data \u3067\u3059\u3002\n form_data \u306F\u7533\u8ACB\u66F8\u306E\u5165\u529B\u9805\u76EE\u540D \u2192 \u5024\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3059\uFF08\u9805\u76EE\u540D\u306F twp workflow instance create --generate-cli-skeleton \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002\n \u305D\u308C\u4EE5\u5916\u306E\u30AD\u30FC\u306F\u9001\u308B\u524D\u306B\u30A8\u30E9\u30FC\u306B\u3057\u307E\u3059\uFF08\u66F4\u65B0\u30FB\u63D0\u51FA\u3067\u306F\u30B5\u30FC\u30D0\u304C\u5B9A\u7FA9\u5916\u306E\u30AD\u30FC\u3092\u9ED9\u3063\u3066\u6368\u3066\u308B\u305F\u3081\u3002\n \u7533\
|
|
32
65
|
\u8ACB\u66F8\u306F --workflow \u3060\u3051\u3067\u6307\u5B9A\u3057\u307E\u3059\uFF1Dworkflow_id \u3092\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304F\u3068\u4E8C\u91CD\u6307\u5B9A\u306B\u306A\u308A\u307E\u3059\uFF09\u3002\n --content-file - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3081\u307E\u3059\u3002";function instanceIdArg(input,usage){const id=singleRef(input,{flag:"<\u7533\u8ACBID>",label:"\u7533\u8ACBID",usage});if(!UUID_RE.test(id)){throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,
|
|
33
66
|
usage)}return id}function parseInstanceContent(text,source,usage){let parsed;try{parsed=JSON.parse(text)}catch{throw new UsageError(`\u7533\u8ACB\u5185\u5BB9\u304C JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093\uFF08${source}\uFF09`,usage)}if(!isRecord(parsed)){throw new UsageError(`\u7533\u8ACB\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.keys(parsed).filter(key=>!CONTENT_KEYS.
|
|
34
67
|
includes(key));if(unknown.length>0){throw new UsageError(`\u7533\u8ACB\u5185\u5BB9\u306B\u9001\u308C\u306A\u3044\u9805\u76EE\u304C\u3042\u308A\u307E\u3059: ${unknown.join(", ")}\uFF08${source}\uFF09`,CONTENT_HELP)}if("form_data"in parsed&&!isRecord(parsed["form_data"])){throw new UsageError(`\u7533\u8ACB\u5185\u5BB9\u306E form_data \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`,
|
|
35
|
-
CONTENT_HELP)}return parsed}async function readContent(input,usage){const text=await readBody(input,{flag:"--content",fileFlag:CONTENT_FILE_FLAG.name,label:"\u7533\u8ACB\u5185\u5BB9",maxChars:CONTENT_MAX_CHARS,usage});return text===void 0?void 0:parseInstanceContent(text,`${CONTENT_FILE_FLAG.name} ${input.flags.get(CONTENT_FILE_FLAG.name)??""}`,usage)}function createInstancePlan(workflowId2,content={}){return{method:"POST",path:
|
|
36
|
-
return{method:"POST",path:idPath(
|
|
68
|
+
CONTENT_HELP)}return parsed}async function readContent(input,usage){const text=await readBody(input,{flag:"--content",fileFlag:CONTENT_FILE_FLAG.name,label:"\u7533\u8ACB\u5185\u5BB9",maxChars:CONTENT_MAX_CHARS,usage});return text===void 0?void 0:parseInstanceContent(text,`${CONTENT_FILE_FLAG.name} ${input.flags.get(CONTENT_FILE_FLAG.name)??""}`,usage)}function createInstancePlan(workflowId2,content={}){return{method:"POST",path:INSTANCES_PATH2,body:{...content,workflow_id:workflowId2}}}function applyInstancePlan(instanceId){
|
|
69
|
+
return{method:"POST",path:idPath(INSTANCES_PATH2,instanceId,"\u7533\u8ACB")+"/apply",body:{}}}function writtenInstance(body){return objectOf(body,"instance","\u7533\u8ACB")}function serverMessage(body){return isRecord(body)&&typeof body["message"]==="string"&&body["message"]!==""?[body["message"]]:[]}var WRITE_COLUMNS=["id","title","workflow_name","status","current_step_no","applied_at","completed_at"];function columnList(definition){if(definition===void 0||definition===null||definition==="")return[];
|
|
37
70
|
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=definition["form_column_list"]??definition["fields"];return Array.isArray(list)?list:void 0}function str(value){return typeof value==="string"&&value!==""?value:void 0}function formColumns(workflow){const list=columnList(workflow["form_definition"]);const columns=list?.map(column=>{if(!isRecord(column))
|
|
38
71
|
return void 0;const name=str(column["name"])??str(column["column_name"]);if(name===void 0)return void 0;const choices=Array.isArray(column["options"])?column["options"].flatMap(option=>{if(typeof option==="string")return[{key:option,label:null}];if(!isRecord(option)||option["is_legacy"]===true)return[];return[{key:String(option["key"]),label:String(option["value"])}]}):[];const options=choices.map(choice=>choice.label===null?choice.key:`${choice.key}=${choice.label}`);return{name,displayName:str(
|
|
39
72
|
column["display_name"])??str(column["label"])??"",type:str(column["type"])??str(column["column_type"]),required:column["required"]===true,options,optionKeys:choices.map(choice=>choice.key),defaultValue:column["default_value"]}});if(columns===void 0||columns.some(column=>column===void 0)){throw new ApiResponseError("\u7533\u8ACB\u66F8\u306E form_definition \u3092\u8AAD\u3081\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return columns}var MULTI_VALUE_TYPES=new Set(
|
|
@@ -41,8 +74,8 @@ column["display_name"])??str(column["label"])??"",type:str(column["type"])??str(
|
|
|
41
74
|
formData[column.name]=emptyValue(column);return{title:workflow["name"]??null,description:null,form_data:formData}}function skeletonNotes(body){const columns=formColumns(objectOf(body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30"));if(columns.length===0)return["\u3053\u306E\u7533\u8ACB\u66F8\u306B\u5165\u529B\u9805\u76EE\u306F\u3042\u308A\u307E\u305B\u3093\uFF08form_data \u306F\u7A7A\u306E\u307E\u307E\u3067\u7533\u8ACB\u3067\u304D\u307E\u3059\uFF09"];return[`\u5165\u529B\u9805\u76EE: ${String(
|
|
42
75
|
columns.length)} \u9805\u76EE\uFF08form_data \u306E\u30AD\u30FC\uFF09`,...columns.map(column=>` ${column.name}: ${column.displayName}\uFF08${column.type??"\u578B\u4E0D\u660E"}${column.required?"\u30FB\u5FC5\u9808":""}\uFF09${column.options.length>0?` \u9078\u629E\u80A2: ${column.options.join(" / ")}`:""}`),"\u5FC5\u9808\u306E\u9805\u76EE\u304C\u7A7A\u306E\u307E\u307E\u3060\u3068\u3001\u63D0\u51FA\uFF08twp workflow instance apply\uFF09\u3067\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\u3002\u4E0B\u66F8\u304D\u306F\u7A7A\u306E\u307E\u307E\u3067\u3082\u4F5C\u308C\u307E\u3059"]}
|
|
43
76
|
function createResult(value){if(!isRecord(value)||typeof value["skeleton"]!=="boolean"){throw new Error("\u5185\u90E8\u30A8\u30E9\u30FC: instance create \u306E\u5FDC\u7B54\u306B\u5370\u304C\u3042\u308A\u307E\u305B\u3093\uFF08execute \u306E\u914D\u7DDA\u6F0F\u308C\uFF09")}return value}function createOperationPlan(input){const id=requireResolved(input,"workflowId");if(input.flags.has(SKELETON_FLAG.name))return{method:"GET",path:idPath(WORKFLOWS_PATH,id,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC")};const raw=input.
|
|
44
|
-
resolved?.["content"];return createInstancePlan(id,raw===void 0?{}:JSON.parse(raw))}var CREATE_USAGE="twp workflow instance create --workflow <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC> [--content-file <\u30D1\u30B9>] [--generate-cli-skeleton]";var APPLY_USAGE="twp workflow instance apply <\u7533\u8ACBID>";var
|
|
45
|
-
create",summary:"\u7533\u8ACB\u3092\u4E0B\u66F8\u304D\u3067\u4F5C\u308B\uFF08\u63D0\u51FA\u306F twp workflow instance apply\uFF09",usage:CREATE_USAGE,description:`POST /api/v2/workflows/instances \u3067\u7533\u8ACB\u3092\u4E0B\u66F8\u304D\uFF08\u72B6\u614B new\uFF09\u3068\u3057\u3066\u4F5C\u308A\u307E\u3059\u3002\u627F\u8A8D\u8005\u3078\u306F\u307E\u3060\u5C4A\u304D\u307E\u305B\u3093\u3002
|
|
77
|
+
resolved?.["content"];return createInstancePlan(id,raw===void 0?{}:JSON.parse(raw))}var CREATE_USAGE="twp workflow instance create --workflow <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC> [--content-file <\u30D1\u30B9>] [--generate-cli-skeleton]";var APPLY_USAGE="twp workflow instance apply <\u7533\u8ACBID>";var UPDATE_USAGE2="twp workflow instance update <\u7533\u8ACBID> --content-file <\u30D1\u30B9>";var DELETE_USAGE2="twp workflow instance delete <\u7533\u8ACBID> --yes";var instanceWriteOperations=[
|
|
78
|
+
{name:"create",summary:"\u7533\u8ACB\u3092\u4E0B\u66F8\u304D\u3067\u4F5C\u308B\uFF08\u63D0\u51FA\u306F twp workflow instance apply\uFF09",usage:CREATE_USAGE,description:`POST /api/v2/workflows/instances \u3067\u7533\u8ACB\u3092\u4E0B\u66F8\u304D\uFF08\u72B6\u614B new\uFF09\u3068\u3057\u3066\u4F5C\u308A\u307E\u3059\u3002\u627F\u8A8D\u8005\u3078\u306F\u307E\u3060\u5C4A\u304D\u307E\u305B\u3093\u3002
|
|
46
79
|
--workflow \u306F\u7533\u8ACB\u66F8\u306E\u540D\u524D\u304B ID\uFF08UUID\uFF09\u3067\u3059\u3002\u540D\u524D\u306F\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u304B\u3089\u5B8C\u5168\u4E00\u81F4\u3067\u63A2\u3057\u307E\u3059
|
|
47
80
|
\uFF08\u975E\u8868\u793A\u306E\u7533\u8ACB\u66F8\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002ID \u3067\u6307\u3057\u3066\u3082\u3001\u7121\u52B9\u30FB\u6709\u52B9\u671F\u9593\u5916\u30FB\u7533\u8ACB\u5BFE\u8C61\u8005\u5916\u306E\u7533\u8ACB\u66F8\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\u3002
|
|
48
81
|
--content-file \u3092\u7701\u304F\u3068\u3001\u30BF\u30A4\u30C8\u30EB\u306F\u7533\u8ACB\u66F8\u306E\u540D\u524D\u30FB\u5165\u529B\u9805\u76EE\u306F\u7A7A\u306E\u4E0B\u66F8\u304D\u306B\u306A\u308A\u307E\u3059\u3002
|
|
@@ -58,20 +91,20 @@ CREATE_USAGE)}const content=wantsSkeleton?void 0:await readContent(input,CREATE_
|
|
|
58
91
|
skeleton:input.flags.has(SKELETON_FLAG.name),body:await ctx.send(createOperationPlan(input))}),plannedNotes:input=>input.flags.has(SKELETON_FLAG.name)?["\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u3092\u8AAD\u3080\u3060\u3051\u3067\u3001\u7533\u8ACB\u306F\u4F5C\u308A\u307E\u305B\u3093"]:["\u4E0B\u66F8\u304D\u3068\u3057\u3066\u4F5C\u308A\u307E\u3059\uFF08\u63D0\u51FA\u306F twp workflow instance apply\uFF09"],summarize(value){const result=createResult(value);return result.skeleton?skeleton(result.body):
|
|
59
92
|
pick(writtenInstance(result.body),WRITE_COLUMNS)},raw(value){const result=createResult(value);return result.skeleton?skeleton(result.body):writtenInstance(result.body)},notes(value){const result=createResult(value);return result.skeleton?skeletonNotes(result.body):serverMessage(result.body)}},{name:"apply",summary:"\u4E0B\u66F8\u304D\uFF08\u307E\u305F\u306F\u5DEE\u3057\u623B\u3057\u30FB\u5374\u4E0B\u3055\u308C\u305F\u7533\u8ACB\uFF09\u3092\u63D0\u51FA\u3059\u308B",usage:APPLY_USAGE,description:"\
|
|
60
93
|
POST /api/v2/workflows/instances/{id}/apply \u3067\u7533\u8ACB\u3092\u63D0\u51FA\u3057\u307E\u3059\u3002\u6700\u521D\u306E\u627F\u8A8D\u8005\u3078\u901A\u77E5\u304C\u5C4A\u304D\u307E\u3059\u3002\n\u63D0\u51FA\u3067\u304D\u308B\u306E\u306F\u81EA\u5206\u306E\u4E0B\u66F8\u304D\uFF08new\uFF09\u30FB\u5DEE\u3057\u623B\u3055\u308C\u305F\u7533\u8ACB\uFF08sent_back\uFF09\u30FB\u5374\u4E0B\u3055\u308C\u305F\u7533\u8ACB\uFF08rejected\uFF09\u3067\u3059\u3002\n\u5185\u5BB9\u306F\u4ECA\u306E\u7533\u8ACB\u306E\u307E\u307E\u9001\u308A\u307E\u3059\uFF08\u5909\u3048\u308B\u306A\u3089\u5148\u306B twp workflow instance update\uFF09\u3002\n\u5FC5\u9808\u306E\u5165\u529B\u9805\u76EE\u304C\u7A7A\u3060\u3068\u3001\u30B5\u30FC\u30D0\u304C\u63D0\u51FA\u3092\u65AD\u308A\u307E\u3059\uFF08\u300C\u25EF\u25EF\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u300D\uFF09\u3002\u7A7A\u767D\u3060\u3051\u306E\u6587\u5B57\u5217\u3082\u7A7A\u3068\u307F\u306A\u3055\u308C\u307E\u3059\u3002\n\u4E0B\u66F8\u304D\u304B\u3089\u306E\u6700\u521D\u306E\u63D0\u51FA\u3067\u306F\u3001\u305D\u306E\u7533\u8ACB\u66F8\u3092\u4ECA\u3082\u7533\u8ACB\u3067\u304D\u308B\u304B\uFF08\u72B6\u614B\u30FB\u6709\u52B9\u671F\u9593\u30FB\u7533\u8ACB\u5BFE\u8C61\u8005\uFF09\u3082\u6539\u3081\u3066\u691C\u67FB\u3055\u308C\u307E\u3059\u3002\n \u57CB\u307E\u3063\u3066\u3044\u308B\u304B\u306F twp workflow instance get <\u7533\u8ACBID> --output json \u306E form_data \u3067\u78BA\u304B\u3081\u3089\u308C\u307E\u3059\u3002",
|
|
61
|
-
flags:[],plan:input=>applyInstancePlan(instanceIdArg(input,APPLY_USAGE)),plannedNotes:()=>["\u63D0\u51FA\u3059\u308B\u3068\u627F\u8A8D\u8005\u3078\u901A\u77E5\u304C\u5C4A\u304D\u307E\u3059"],summarize:body=>pick(writtenInstance(body),WRITE_COLUMNS),raw:writtenInstance,notes:serverMessage},{name:"update",summary:"\u63D0\u51FA\u524D\uFF08\u4E0B\u66F8\u304D\u30FB\u5DEE\u3057\u623B\u3057\u30FB\u5374\u4E0B\uFF09\u306E\u7533\u8ACB\u306E\u5185\u5BB9\u3092\u66F8\u304D\u63DB\u3048\u308B",usage:
|
|
94
|
+
flags:[],plan:input=>applyInstancePlan(instanceIdArg(input,APPLY_USAGE)),plannedNotes:()=>["\u63D0\u51FA\u3059\u308B\u3068\u627F\u8A8D\u8005\u3078\u901A\u77E5\u304C\u5C4A\u304D\u307E\u3059"],summarize:body=>pick(writtenInstance(body),WRITE_COLUMNS),raw:writtenInstance,notes:serverMessage},{name:"update",summary:"\u63D0\u51FA\u524D\uFF08\u4E0B\u66F8\u304D\u30FB\u5DEE\u3057\u623B\u3057\u30FB\u5374\u4E0B\uFF09\u306E\u7533\u8ACB\u306E\u5185\u5BB9\u3092\u66F8\u304D\u63DB\u3048\u308B",usage:UPDATE_USAGE2,
|
|
62
95
|
description:"PUT /api/v2/workflows/instances/{id} \u3067\u7533\u8ACB\u306E\u5185\u5BB9\u3092\u66F8\u304D\u63DB\u3048\u307E\u3059\u3002\u66F8\u304D\u63DB\u3048\u3089\u308C\u308B\u306E\u306F\u81EA\u5206\u306E\u7533\u8ACB\u306E\u3046\u3061\u3001\n\u4E0B\u66F8\u304D\uFF08new\uFF09\u30FB\u5DEE\u3057\u623B\u3055\u308C\u305F\u7533\u8ACB\uFF08sent_back\uFF09\u30FB\u5374\u4E0B\u3055\u308C\u305F\u7533\u8ACB\uFF08rejected\uFF09\u3067\u3059\u3002\n\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u3044\u305F\u30AD\u30FC\u3060\u3051\u3092\u9001\u308A\u307E\u3059\uFF08\u66F8\u304B\u306A\u304B\u3063\u305F title / description \u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002\n\u26A0\uFE0F form_data \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\uFF09\u3002\u4ECA\u306E\u5024\u306F\n twp workflow instance get <\u7533\u8ACBID> --output json \u306E form_data \u3067\u53D6\u308C\u307E\u3059\u3002\n\n"+
|
|
63
|
-
CONTENT_HELP,flags:[CONTENT_FILE_FLAG],async prepare(input){instanceIdArg(input,
|
|
64
|
-
input,{content:JSON.stringify(content)})},plan:input=>({method:"PUT",path:idPath(
|
|
65
|
-
writtenInstance(body),WRITE_COLUMNS),raw:writtenInstance,notes:serverMessage},{name:"delete",summary:"\u4E0B\u66F8\u304D\uFF08\u307E\u305F\u306F\u5DEE\u3057\u623B\u3055\u308C\u305F\u7533\u8ACB\uFF09\u3092\u524A\u9664\u3059\u308B",usage:
|
|
66
|
-
destructive:true,flags:[],plan:input=>({method:"DELETE",path:idPath(
|
|
67
|
-
\u7D42\u6BB5\u3067\u306A\u3051\u308C\u3070\u6B21\u306E\u6BB5\u306E\u627F\u8A8D\u8005\u3078\u9032\u307F\u307E\u3059\u3002",commentRequired:false,destructive:false},{name:"reject",summary:"\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u5374\u4E0B\u3059\u308B\uFF08\u7533\u8ACB\u8005\u306F\u76F4\u3057\u3066\u518D\u63D0\u51FA\u3067\u304D\u308B\uFF09",detail:"\u7533\u8ACB\u3092\u5374\u4E0B\u3057\u307E\u3059\uFF08\u72B6\u614B rejected\uFF09\u3002\u30B3\u30E1\u30F3\u30C8\uFF08\u5374\u4E0B\u306E\u7406\u7531\uFF09\u306F\u5FC5\u9808\u3067\u3059\u3002",
|
|
96
|
+
CONTENT_HELP,flags:[CONTENT_FILE_FLAG],async prepare(input){instanceIdArg(input,UPDATE_USAGE2);const content=await readContent(input,UPDATE_USAGE2);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",UPDATE_USAGE2)}return withResolved(
|
|
97
|
+
input,{content:JSON.stringify(content)})},plan:input=>({method:"PUT",path:idPath(INSTANCES_PATH2,instanceIdArg(input,UPDATE_USAGE2),"\u7533\u8ACB"),body:JSON.parse(requireResolved(input,"content"))}),plannedNotes:input=>"form_data"in JSON.parse(requireResolved(input,"content"))?["form_data \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\u6D88\u3048\u307E\u3059\uFF09"]:[],summarize:body=>pick(
|
|
98
|
+
writtenInstance(body),WRITE_COLUMNS),raw:writtenInstance,notes:serverMessage},{name:"delete",summary:"\u4E0B\u66F8\u304D\uFF08\u307E\u305F\u306F\u5DEE\u3057\u623B\u3055\u308C\u305F\u7533\u8ACB\uFF09\u3092\u524A\u9664\u3059\u308B",usage:DELETE_USAGE2,description:"DELETE /api/v2/workflows/instances/{id} \u3067\u7533\u8ACB\u3092\u524A\u9664\u3057\u307E\u3059\u3002\u524A\u9664\u3067\u304D\u308B\u306E\u306F\u81EA\u5206\u306E\u4E0B\u66F8\u304D\uFF08new\uFF09\u3068\n\u5DEE\u3057\u623B\u3055\u308C\u305F\u7533\u8ACB\uFF08sent_back\uFF09\u3060\u3051\u3067\u3059\u3002\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u53D6\u308A\u4E0B\u3052\u308B\u306A\u3089 twp workflow approval cancel \u3067\u3059\u3002\n\u524A\u9664\u306F\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002",
|
|
99
|
+
destructive:true,flags:[],plan:input=>({method:"DELETE",path:idPath(INSTANCES_PATH2,instanceIdArg(input,DELETE_USAGE2),"\u7533\u8ACB")}),summarize:body=>acknowledgement(body,"\u7533\u8ACB\u306E\u524A\u9664"),raw:body=>acknowledgement(body,"\u7533\u8ACB\u306E\u524A\u9664")}];var APPROVAL_ACTIONS=[{name:"approve",summary:"\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u627F\u8A8D\u3059\u308B\uFF08\u6700\u7D42\u6BB5\u306A\u3089\u627F\u8A8D\u5B8C\u4E86\uFF09",detail:"\u81EA\u5206\u304C\u627F\u8A8D\u8005\uFF08\u307E\u305F\u306F\u4EE3\u7406\u627F\u8A8D\u3092\u4EFB\u3055\u308C\u305F\u4EBA\uFF09\u306E\u7533\u8ACB\u3092\u627F\u8A8D\u3057\u307E\u3059\
|
|
100
|
+
\u3002\u6700\u7D42\u6BB5\u3067\u306A\u3051\u308C\u3070\u6B21\u306E\u6BB5\u306E\u627F\u8A8D\u8005\u3078\u9032\u307F\u307E\u3059\u3002",commentRequired:false,destructive:false},{name:"reject",summary:"\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u5374\u4E0B\u3059\u308B\uFF08\u7533\u8ACB\u8005\u306F\u76F4\u3057\u3066\u518D\u63D0\u51FA\u3067\u304D\u308B\uFF09",detail:"\u7533\u8ACB\u3092\u5374\u4E0B\u3057\u307E\u3059\uFF08\u72B6\u614B rejected\uFF09\u3002\u30B3\u30E1\u30F3\u30C8\uFF08\u5374\u4E0B\u306E\u7406\u7531\uFF09\u306F\u5FC5\u9808\u3067\u3059\u3002",
|
|
68
101
|
commentRequired:true,destructive:true},{name:"send-back",summary:"\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u7533\u8ACB\u8005\u3078\u5DEE\u3057\u623B\u3059",detail:"\u7533\u8ACB\u3092\u7533\u8ACB\u8005\u3078\u5DEE\u3057\u623B\u3057\u307E\u3059\u3002\u7533\u8ACB\u8005\u306F\u5185\u5BB9\u3092\u76F4\u3057\u3066\u518D\u63D0\u51FA\u3067\u304D\u307E\u3059\u3002\u30B3\u30E1\u30F3\u30C8\uFF08\u5DEE\u3057\u623B\u3059\u7406\u7531\uFF09\u306F\u5FC5\u9808\u3067\u3059\u3002",commentRequired:true,destructive:true},
|
|
69
102
|
{name:"cancel",summary:"\u81EA\u5206\u304C\u51FA\u3057\u305F\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u53D6\u308A\u4E0B\u3052\u308B\uFF08\u7533\u8ACB\u8005\u672C\u4EBA\uFF09",detail:"\u7533\u8ACB\u8005\u672C\u4EBA\u304C\u3001\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u53D6\u308A\u4E0B\u3052\u307E\u3059\uFF08\u627F\u8A8D\u8005\u306E\u64CD\u4F5C\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u627F\u8A8D\u6E08\u307F\u306E\u7533\u8ACB\u306F\u3001\u7533\u8ACB\u66F8\u306E\u30AB\u30C6\u30B4\u30EA\u304C\n\u627F\u8A8D\u5F8C\u306E\u53D6\u6D88\u3092\u8A31\u3059\u5834\u5408\u3060\u3051\u53D6\u308A\u4E0B\u3052\u3089\u308C\u307E\u3059\u3002\u4E0B\u66F8\u304D\u3092\u6D88\u3059\u306A\u3089 twp workflow instance delete \u3067\u3059\u3002",
|
|
70
103
|
commentRequired:false,destructive:true}];function approvalOperation(action){const usage=`twp workflow approval ${action.name} <\u7533\u8ACBID> ${action.commentRequired?"--comment-file <\u30D1\u30B9>":"[--comment-file <\u30D1\u30B9>]"}${action.destructive?" --yes":""}`;return{name:action.name,summary:action.summary,usage,description:`POST /api/v2/workflows/approvals/{id}/${action.name} \u3092\u9001\u308A\u307E\u3059\u3002${action.detail}
|
|
71
104
|
<\u7533\u8ACBID> \u306F UUID \u3067\u3059\uFF08\u627F\u8A8D\u5F85\u3061\u306F twp workflow approval pending \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002
|
|
72
|
-
\u30B3\u30E1\u30F3\u30C8\u306F --comment-file \u3092\u4E3B\u7D4C\u8DEF\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08- \u3067\u6A19\u6E96\u5165\u529B\u30FB\u4E00\u884C\u306A\u3089 --comment <\u6587\u5B57\u5217>\u30FB\u4E0A\u9650 ${String(
|
|
105
|
+
\u30B3\u30E1\u30F3\u30C8\u306F --comment-file \u3092\u4E3B\u7D4C\u8DEF\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08- \u3067\u6A19\u6E96\u5165\u529B\u30FB\u4E00\u884C\u306A\u3089 --comment <\u6587\u5B57\u5217>\u30FB\u4E0A\u9650 ${String(COMMENT_MAX_CHARS2)} \u6587\u5B57\uFF09\u3002
|
|
73
106
|
\u72B6\u614B\u304C\u9055\u3046\u30FB\u6A29\u9650\u304C\u7121\u3044\u3068\u3044\u3063\u305F\u7406\u7531\u3067\u30B5\u30FC\u30D0\u304C\u65AD\u3063\u305F\u5834\u5408\u306F\u3001\u305D\u306E\u7406\u7531\u3092\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 3 \u306B\u306A\u308A\u307E\u3059\u3002`,destructive:action.destructive,flags:COMMENT_FLAGS,async prepare(input){instanceIdArg(input,usage);const comment=await readBody(input,{flag:"--comment",fileFlag:"--comment-file",label:"\u30B3\u30E1\u30F3\u30C8",
|
|
74
|
-
maxChars:
|
|
107
|
+
maxChars:COMMENT_MAX_CHARS2,usage});if(comment===void 0&&action.commentRequired){throw new UsageError(`${action.name} \u306B\u306F\u30B3\u30E1\u30F3\u30C8\u304C\u5FC5\u8981\u3067\u3059\uFF08--comment-file <\u30D1\u30B9> \u304B --comment <\u6587\u5B57\u5217>\uFF09`,usage)}return comment===void 0?input:withResolved(input,{comment})},plan(input){const comment=input.resolved?.["comment"];return{method:"POST",path:`${idPath(`${WORKFLOWS_PATH}/approvals`,instanceIdArg(input,usage),"\u7533\u8ACB")}/${action.
|
|
75
108
|
name}`,body:comment===void 0?{}:{comment}}},summarize:body=>pick(writtenInstance(body),WRITE_COLUMNS),raw:writtenInstance,notes:serverMessage}}var instanceResource={name:"instance",summary:"\u7533\u8ACB\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u627F\u8A8D\u5C65\u6B74\u30FB\u8D77\u7968\u30FB\u63D0\u51FA\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",operations:[{name:"list",summary:"\u81EA\u5206\u304C\u51FA\u3057\u305F\u7533\u8ACB\u3092\u4E00\u89A7\u3059\u308B",usage:INSTANCE_LIST_USAGE,description:`\
|
|
76
109
|
GET /api/v2/workflows/instances \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308B\u672C\u4EBA\u304C\u7533\u8ACB\u8005\u306E\u3082\u306E\u3002\u4E0B\u66F8\u304D\u3092\u542B\u3080\uFF09\u3002
|
|
77
110
|
--workflow \u306F\u7533\u8ACB\u66F8\u306E\u540D\u524D\u304B ID\uFF08UUID\uFF09\u3067\u3059\u3002\u540D\u524D\u306F\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u304B\u3089\u5B8C\u5168\u4E00\u81F4\u3067\u63A2\u3057\u307E\u3059\u3002
|
|
@@ -79,9 +112,9 @@ ${INSTANCE_STATUS_HELP}
|
|
|
79
112
|
\u7D5E\u308A\u8FBC\u307F\u306F\u30B5\u30FC\u30D0\u304C\u8AAD\u3093\u3060\u3042\u3068\u306B\u639B\u304B\u308B\u305F\u3081\u30011\u30DA\u30FC\u30B8\u304C --limit \u3088\u308A\u5C11\u306A\u304F\u8FD4\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF08\u7D9A\u304D\u306F --all \u3067\u8FBF\u308C\u307E\u3059\uFF09\u3002
|
|
80
113
|
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08form_data \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
81
114
|
|
|
82
|
-
`+LIST_PAGING_HELP,flags:[...LIST_FLAGS,WORKFLOW_FLAG,STATUS_FLAG],paging:instancePaging,prepare:prepareWorkflowFilter,plan(input){noArgs(input,INSTANCE_LIST_USAGE);return{method:"GET",path:
|
|
115
|
+
`+LIST_PAGING_HELP,flags:[...LIST_FLAGS,WORKFLOW_FLAG,STATUS_FLAG],paging:instancePaging,prepare:prepareWorkflowFilter,plan(input){noArgs(input,INSTANCE_LIST_USAGE);return{method:"GET",path:INSTANCES_PATH2,query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),workflow_id:workflowFilter(input),status:instanceStatus(input)}}},summarize:body=>instancePaging.items(body).map(row=>pick(row,INSTANCE_COLUMNS)),raw:body=>instancePaging.items(body)},{name:"get",summary:"\
|
|
83
116
|
\u7533\u8ACB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u627F\u8A8D\u306E\u7D4C\u904E\u3092\u542B\u3080\uFF09",usage:INSTANCE_GET_USAGE,description:"GET /api/v2/workflows/instances/{id} \u3092\u8868\u793A\u3057\u307E\u3059\u3002<\u7533\u8ACBID> \u306F UUID \u3067\u3059\uFF08twp workflow instance list \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002\n\u898B\u3089\u308C\u308B\u306E\u306F\u3001\u81EA\u5206\u306E\u7533\u8ACB\u30FB\u81EA\u5206\u304C\u627F\u8A8D\u8005\u306E\u7533\u8ACB\u30FB\u95B2\u89A7\u3092\u8A31\u3055\u308C\u305F\u7533\u8ACB\u3060\u3051\u3067\u3059\uFF08\u7121\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\u3067\u3001\u627F\u8A8D\u306E\u7D4C\u904E\uFF08step_history\uFF09\u306E\u4EF6\u6570\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08form_data\u30FBstep_history\u30FBworkflow_steps \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",
|
|
84
|
-
flags:[],plan(input){const id=singleRef(input,{flag:"<\u7533\u8ACBID>",label:"\u7533\u8ACBID",usage:INSTANCE_GET_USAGE});if(!UUID_RE.test(id)){throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,INSTANCE_GET_USAGE)}return{method:"GET",path:`${
|
|
117
|
+
flags:[],plan(input){const id=singleRef(input,{flag:"<\u7533\u8ACBID>",label:"\u7533\u8ACBID",usage:INSTANCE_GET_USAGE});if(!UUID_RE.test(id)){throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,INSTANCE_GET_USAGE)}return{method:"GET",path:`${INSTANCES_PATH2}/${encodeURIComponent(id)}`}},summarize:body=>pick(objectOf(body,"instance","\u7533\u8ACB\u8A73\u7D30"),INSTANCE_GET_COLUMNS),raw:body=>objectOf(body,"instance","\u7533\u8ACB\u8A73\u7D30"),
|
|
85
118
|
notes(body){const instance=objectOf(body,"instance","\u7533\u8ACB\u8A73\u7D30");const history=Array.isArray(instance["step_history"])?instance["step_history"].length:null;const notes=[`\u627F\u8A8D\u306E\u7D4C\u904E: ${history===null?"\u4E0D\u660E":`${String(history)} \u4EF6`}\uFF08\u5168\u9805\u76EE\u306F --output json \u306E step_history\uFF09`];if(typeof instance["approval_blocked_reason"]==="string"&&instance["approval_blocked_reason"]!==""){notes.push(`\u627F\u8A8D\u3067\u304D\u306A\u3044\u7406\u7531: ${instance["\
|
|
86
119
|
approval_blocked_reason"]}`)}return notes},forbidden:"\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002\u898B\u3089\u308C\u308B\u306E\u306F\u3001\u81EA\u5206\u306E\u7533\u8ACB\u30FB\u81EA\u5206\u304C\u627F\u8A8D\u8005\u306E\u7533\u8ACB\u30FB\u95B2\u89A7\u3092\u8A31\u3055\u308C\u305F\u7533\u8ACB\u3060\u3051\u3067\u3059"},{name:"history",summary:"\u627F\u8A8D\u5C65\u6B74\uFF08\u81EA\u5206\u304C\u7533\u8ACB\u3057\u305F\u30FB\u627F\u8A8D\u306B\u95A2\u308F\u3063\u305F\u7533\u8ACB\uFF09\u3092\u4E00\u89A7\u3059\u308B",
|
|
87
120
|
usage:HISTORY_USAGE,description:`GET /api/v2/workflows/history \u3092\u8868\u793A\u3057\u307E\u3059\u3002\u4E0B\u66F8\u304D\u306F\u51FA\u307E\u305B\u3093\u3002
|
|
@@ -93,7 +126,8 @@ ${INSTANCE_STATUS_HELP}
|
|
|
93
126
|
`+LIST_PAGING_HELP,flags:[...LIST_FLAGS,WORKFLOW_FLAG,STATUS_FLAG,{name:"--keyword",summary:"\u30BF\u30A4\u30C8\u30EB\u7B49\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"}],paging:historyPaging,prepare:prepareWorkflowFilter,plan(input){noArgs(input,HISTORY_USAGE);return{method:"GET",path:`${WORKFLOWS_PATH}/history`,query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),workflow_id:workflowFilter(input),status:instanceStatus(
|
|
94
127
|
input),keyword:nonEmpty(input.flags,"--keyword")}}},summarize:body=>historyPaging.items(body).map(row=>pick(row,INSTANCE_COLUMNS)),raw:body=>historyPaging.items(body)},...instanceWriteOperations]};var PENDING_USAGE="twp workflow approval pending [--count]";function pendingCount(body){const count=isRecord(body)?body["count"]:void 0;if(typeof count!=="number"){throw new ApiResponseError("\u627F\u8A8D\u5F85\u3061\u4EF6\u6570\u306E\u5FDC\u7B54\u306B count \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
95
128
|
return count}var approvalResource={name:"approval",summary:"\u627F\u8A8D\uFF08\u81EA\u5206\u306E\u627F\u8A8D\u5F85\u3061\u30FB\u627F\u8A8D\u30FB\u5374\u4E0B\u30FB\u5DEE\u3057\u623B\u3057\u30FB\u53D6\u4E0B\u3052\uFF09",operations:[{name:"pending",summary:"\u81EA\u5206\u304C\u627F\u8A8D\u3067\u304D\u308B\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u4E00\u89A7\u3059\u308B\uFF08--count \u3067\u4EF6\u6570\u3060\u3051\uFF09",usage:PENDING_USAGE,description:"GET /api/v2/workflows/approvals/pending\uFF08\
|
|
96
|
-
--count \u306A\u3089 approvals/pending/count\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n\u81EA\u5206\u304C\u627F\u8A8D\u8005\u306E\u7533\u8ACB\u306B\u52A0\u3048\u3066\u3001\u4EE3\u7406\u627F\u8A8D\u3092\u4EFB\u3055\u308C\u305F\u7533\u8ACB\u3082\u51FA\u307E\u3059\uFF08delegated_from_user_id \u304C\u59D4\u4EFB\u5143\uFF09\u3002\n--count \u306E --output json \u306F {count} \u3067\u3059\u3002\n\
|
|
97
|
-
flags:[{name:"--count",summary:"\u4EF6\u6570\u3060\u3051\u3092\u51FA\u3059",takesValue:false}],plan(input){noArgs(input,PENDING_USAGE);return{method:"GET",path:`${WORKFLOWS_PATH}/approvals/pending${input.flags.has("--count")?"/count":""}`}},
|
|
98
|
-
|
|
99
|
-
|
|
129
|
+
--count \u306A\u3089 approvals/pending/count\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n\u81EA\u5206\u304C\u627F\u8A8D\u8005\u306E\u7533\u8ACB\u306B\u52A0\u3048\u3066\u3001\u4EE3\u7406\u627F\u8A8D\u3092\u4EFB\u3055\u308C\u305F\u7533\u8ACB\u3082\u51FA\u307E\u3059\uFF08delegated_from_user_id \u304C\u59D4\u4EFB\u5143\uFF09\u3002\n--count \u306E --output json \u306F {count} \u3067\u3059\u3002\n\u4E00\u89A7\u306B\u306F\u7533\u8ACB\u3054\u3068\u306E AI\u30C1\u30A7\u30C3\u30AF\u306E\u8981\u7D04\u3092\u8DB3\u3057\u307E\u3059\uFF08\u7533\u8ACB1\u4EF6\u3054\u3068\u306B GET /api/v2/workflows/instances/{id}/ai-review \u3092\u9001\u308B\uFF09:\n ai_review: none\uFF08\u7D50\u679C\u306A\u3057\uFF1D\u53D6\u5F15\u4EE5\u5916\u306E\u7533\u8ACB\u30FB\u672A\u751F\u6210\uFF09/ pending / processing / completed / failed / unavailable\uFF08\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\uFF09\n ai_warnings: \u8B66\u544A\u306E\u89B3\u70B9\u306E\u6570\u30FBai_severity: \u6700\u3082\u91CD\u3044\u5224\u5B9A\uFF08warning / ok\uFF09\u30FBai_verdict: \u7DCF\u5408\u6240\u898B\uFF08\u753B\u9762\u306E\u30D0\u30C3\u30B8\u3002\u4F8B conditional\uFF09\u3002\n \u3044\u305A\u308C\u3082 completed \u306E\u3068\u304D\u3060\u3051\u5165\u308A\u307E\u3059\n\u6307\u6458\u306E\u4E2D\u8EAB\u306F twp workflow ai-review get <\u7533\u8ACBID> \u3067\u3059\u3002\n\u627F\
|
|
130
|
+
\u8A8D\u30FB\u5374\u4E0B\u30FB\u5DEE\u3057\u623B\u3057\u306F twp workflow approval approve / reject / send-back <\u7533\u8ACBID> \u3067\u3059\u3002",flags:[{name:"--count",summary:"\u4EF6\u6570\u3060\u3051\u3092\u51FA\u3059",takesValue:false}],plan(input){noArgs(input,PENDING_USAGE);return{method:"GET",path:`${WORKFLOWS_PATH}/approvals/pending${input.flags.has("--count")?"/count":""}`}},async execute(input,ctx){const body=await ctx.send({method:"GET",path:`${WORKFLOWS_PATH}/approvals/pending${input.
|
|
131
|
+
flags.has("--count")?"/count":""}`});if(input.flags.has("--count"))return body;return{...body,list:await withReviewSummaries(listRows(body,"\u627F\u8A8D\u5F85\u3061"),ctx)}},plannedNotes:input=>input.flags.has("--count")?[]:["\u7D9A\u3051\u3066\u3001\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3054\u3068\u306B GET /api/v2/workflows/instances/{id}/ai-review \u3092\u9001\u308A\u3001AI\u30C1\u30A7\u30C3\u30AF\u306E\u8981\u7D04\u3092\u8DB3\u3057\u307E\u3059"],summarize:body=>isRecord(body)&&"count"in
|
|
132
|
+
body&&!("list"in body)?{count:pendingCount(body)}:listRows(body,"\u627F\u8A8D\u5F85\u3061").map(row=>pick(row,PENDING_COLUMNS)),raw:body=>isRecord(body)&&"count"in body&&!("list"in body)?{count:pendingCount(body)}:listRows(body,"\u627F\u8A8D\u5F85\u3061"),notes:body=>isRecord(body)&&"count"in body&&!("list"in body)?[`\u627F\u8A8D\u5F85\u3061: ${String(pendingCount(body))} \u4EF6`]:countNote(listRows(body,"\u627F\u8A8D\u5F85\u3061"),"\u627F\u8A8D\u5F85\u3061")},...APPROVAL_ACTIONS.map(approvalOperation)]};
|
|
133
|
+
var workflowDomain={name:"workflow",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u30FB\u7533\u8ACB\u30FB\u627F\u8A8D\uFF09\u306E\u53C2\u7167\u3068\u7533\u8ACB\u30FB\u627F\u8A8D\u306E\u64CD\u4F5C",operations:workflowOperations,subresources:[instanceResource,approvalResource,...workflowAiReviewResources]};export{parseInstanceContent,createInstancePlan,applyInstancePlan,writtenInstance,formColumns,workflowDomain};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{isoDate}from"./chunk-OTIR4GES.js";import{
|
|
3
|
+
import{isoDate}from"./chunk-OTIR4GES.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-FEJDU42E.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{
|
|
4
4
|
ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var ESTIMATE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",submitted:"\u63D0\u793A\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",deleted:"\u524A\u9664\u6E08"};var INVOICE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",manager_confirmation:"\u6848\u4EF6\u62C5\u5F53\u8005\
|
|
5
5
|
_\u6848\u4EF6\u5185\u5BB9\u30FB\u91D1\u984D\u78BA\u8A8D",invoice_issued:"\u8ACB\u6C42\u66F8\u767A\u884C\u6E08",sent_to_client:"\u5148\u65B9\u9001\u4ED8\u6E08",archived:"\u4FDD\u7BA1\u6E08",deleted:"\u524A\u9664\u6E08",cancelled:"\u53D6\u6D88\uFF08\u7121\u52B9\uFF09",lost:"\u5931\u6CE8"};var ALLOCATION_STATUSES={unallocated:"\u672A\u56DE\u53CE",allocated:"\u56DE\u53CE\u6E08"};function statusRefs(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}function statusHelp(table){
|
|
6
6
|
return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function licenseForbidden(guidance){return body=>body?.error==="permission_denied"?guidance:void 0}function featureLicenseGuidance(feature){return`${feature}\u3092\u4F7F\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C${feature}\u3092\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E${feature}\u306E\u6A29\u9650\u304C\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}
|