@tocca-systems/twp-cli 0.88.0 → 0.90.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.
Files changed (109) hide show
  1. package/CHANGELOG.public.md +24 -0
  2. package/README.md +84 -3
  3. package/dist/{agent-SFDNPV24.js → agent-IVJ5DCFU.js} +1 -1
  4. package/dist/analysis-DIWOPBN6.js +5 -0
  5. package/dist/{announcement-XAIC4CNE.js → announcement-KOXBNHSN.js} +1 -1
  6. package/dist/{api-command-XFQUUFDV.js → api-command-OJORMKTD.js} +3 -3
  7. package/dist/{app-M56CCOE7.js → app-V6K6YNWR.js} +4 -4
  8. package/dist/{attendance-correct-CJ3FJSVI.js → attendance-correct-XM26CE65.js} +2 -2
  9. package/dist/{attendance-lists-RRGFCDZR.js → attendance-lists-VNAHH3R4.js} +2 -2
  10. package/dist/{backlog-L5VRYZGM.js → backlog-LCGG5HRB.js} +22 -20
  11. package/dist/budget-OYBU4JFH.js +4 -0
  12. package/dist/{chunk-MUIN7OUW.js → chunk-23MEOBJF.js} +3 -5
  13. package/dist/{chunk-VRJF6JLR.js → chunk-5STCZEOX.js} +1 -1
  14. package/dist/chunk-62GRAKUD.js +38 -0
  15. package/dist/{chunk-XJ5EKWQY.js → chunk-AVOZLZA5.js} +1 -1
  16. package/dist/chunk-C6U2CGX7.js +4 -0
  17. package/dist/{chunk-RTYJWZRA.js → chunk-EGOE26U7.js} +1 -1
  18. package/dist/{chunk-WWDNWWPJ.js → chunk-EQTXWU2Y.js} +1 -1
  19. package/dist/{chunk-QUMDKN3U.js → chunk-EQXJOEOK.js} +1 -1
  20. package/dist/{chunk-Y7QW7MHQ.js → chunk-FCC7JJR5.js} +1 -1
  21. package/dist/chunk-GLOGPK4Y.js +88 -0
  22. package/dist/{chunk-FBVSHQST.js → chunk-H7XVCIL7.js} +1 -1
  23. package/dist/{chunk-QLDKF6GK.js → chunk-IWY2SNST.js} +1 -1
  24. package/dist/{chunk-2AVQILQQ.js → chunk-M36DAHMH.js} +62 -57
  25. package/dist/{chunk-OW23MAVO.js → chunk-M37IYSEG.js} +1 -1
  26. package/dist/{chunk-IWYJSQ5I.js → chunk-M763HXDH.js} +1 -1
  27. package/dist/{chunk-H4CDX4TX.js → chunk-MMVXE2CJ.js} +4 -3
  28. package/dist/{chunk-WDQMYRPE.js → chunk-MPGJU5A7.js} +1 -1
  29. package/dist/{chunk-NMYHFVDR.js → chunk-NYQYDX7G.js} +1 -1
  30. package/dist/{chunk-E4FUHYC6.js → chunk-P673SKUV.js} +33 -14
  31. package/dist/chunk-RACLI3FA.js +8 -0
  32. package/dist/{chunk-GO4KFSBE.js → chunk-T3PYPLTG.js} +106 -23
  33. package/dist/{chunk-LGJPXLMC.js → chunk-T7MUDWUH.js} +1 -1
  34. package/dist/{chunk-RMU72S3D.js → chunk-U2CRCBJ3.js} +1 -1
  35. package/dist/{chunk-4VBSSXGA.js → chunk-U3XIH7WP.js} +1 -1
  36. package/dist/{chunk-M7UEPYUQ.js → chunk-U6KPYJTM.js} +1 -1
  37. package/dist/{chunk-AV7L2IEN.js → chunk-UCPK53K4.js} +1 -1
  38. package/dist/chunk-UVCJXHWN.js +5 -0
  39. package/dist/{chunk-FJEGS55N.js → chunk-VLBWNFQW.js} +1 -1
  40. package/dist/chunk-Y5XM6W3S.js +12 -0
  41. package/dist/{chunk-KPCVSILY.js → chunk-YPS5XHYE.js} +1 -1
  42. package/dist/{chunk-TJNM7PHZ.js → chunk-ZTDDOUS4.js} +5 -5
  43. package/dist/cli.js +77 -12
  44. package/dist/{commands-V7ZBTH7I.js → commands-FOEEAVJQ.js} +1 -1
  45. package/dist/{commands-2GRO356U.js → commands-ULMFP3LH.js} +47 -46
  46. package/dist/{company-TF76Z3U5.js → company-BW3U437C.js} +2 -2
  47. package/dist/{completion-G54M3EFF.js → completion-636S3VU3.js} +1 -1
  48. package/dist/{configure-3JID6MQ5.js → configure-DONZ3M6N.js} +3 -3
  49. package/dist/{contract-CFLPFV4I.js → contract-2MANNVJT.js} +2 -2
  50. package/dist/{department-T22PBYMP.js → department-LT3IM65L.js} +1 -1
  51. package/dist/{deposit-PLQ7WHOX.js → deposit-RYRCQ2U7.js} +1 -1
  52. package/dist/{domain-knowledge-YFY5H6UB.js → domain-knowledge-Q2YMI7I2.js} +1 -1
  53. package/dist/{estimate-DYPQ27KU.js → estimate-MMS326SE.js} +3 -3
  54. package/dist/evaluation-KSZPNKBM.js +122 -0
  55. package/dist/{expense-EA77QGLW.js → expense-J7KGZKLH.js} +1 -1
  56. package/dist/faq-FJUCNBEB.js +68 -0
  57. package/dist/{fiscal-year-YSFASZEW.js → fiscal-year-AFO5CWDN.js} +1 -1
  58. package/dist/{holiday-E5WEZU6J.js → holiday-KF2RVJSU.js} +3 -3
  59. package/dist/{inquiry-LEYPOQWZ.js → inquiry-IAAJYTXP.js} +1 -1
  60. package/dist/{invoice-CAYBEW65.js → invoice-A3X3JF2H.js} +2 -2
  61. package/dist/{job-title-RSDAHHVJ.js → job-title-PF4C6D6U.js} +1 -1
  62. package/dist/{knowledge-GYLFDEXS.js → knowledge-2YF7CJKA.js} +7 -7
  63. package/dist/{leave-IG7SWPPB.js → leave-2JNN3V3D.js} +3 -3
  64. package/dist/{license-I2SL53UI.js → license-MRXITCY7.js} +1 -1
  65. package/dist/{media-TKP7ONY4.js → media-IQ2AIN67.js} +3 -3
  66. package/dist/{notification-IEANIYPD.js → notification-4YXX6H3D.js} +1 -1
  67. package/dist/{onedrive-KWVOUGG6.js → onedrive-Z43D26SJ.js} +1 -1
  68. package/dist/{oneshot-3N2W247J.js → oneshot-ZCGHYKQM.js} +1 -1
  69. package/dist/{outlook-FQYNTXOB.js → outlook-ZRFSKSJ3.js} +1 -1
  70. package/dist/{position-CRVEGXPL.js → position-M2MEJBUK.js} +1 -1
  71. package/dist/project-EF2JKWVC.js +4 -0
  72. package/dist/{prospect-A2YNQ4DE.js → prospect-R6346ME5.js} +2 -2
  73. package/dist/{purchase-F3HUNCJE.js → purchase-XCTYVG4N.js} +3 -3
  74. package/dist/{receivable-K4UKS46G.js → receivable-FVLXVO2S.js} +1 -1
  75. package/dist/{redmine-MC3RIB7W.js → redmine-EUFN35BT.js} +1 -1
  76. package/dist/{registry-FAISFFZY.js → registry-TGKZPLKO.js} +1 -1
  77. package/dist/{report-HUP2TXTK.js → report-6Q3JV4DN.js} +1 -1
  78. package/dist/{run-UH7QKMO3.js → run-3UJFGBQR.js} +2 -2
  79. package/dist/{runner-command-YIAPRXZP.js → runner-command-GN45H7TL.js} +1 -1
  80. package/dist/{sales-ai-review-5BJ3HNP5.js → sales-ai-review-TTWTHKQJ.js} +2 -2
  81. package/dist/{sales-master-DUTB2DUX.js → sales-master-VKS2HENV.js} +2 -2
  82. package/dist/{sales-numbering-WTEFGPOV.js → sales-numbering-W2W57UPY.js} +1 -1
  83. package/dist/{search-3ZPF7X5S.js → search-N45JL2PU.js} +1 -1
  84. package/dist/{segment-ZKJYMOKV.js → segment-3MKCPWT2.js} +1 -1
  85. package/dist/{setup-2KAICJYN.js → setup-ICJPTYKW.js} +1 -1
  86. package/dist/{skill-5NCDQFDN.js → skill-Z3DEECEK.js} +2 -2
  87. package/dist/{skill-check-VNUNX6IO.js → skill-check-3RWESZ4O.js} +1 -1
  88. package/dist/{staffing-board-NWZLXYXJ.js → staffing-board-LWUCHN7P.js} +3 -3
  89. package/dist/{status-command-2FL2SVFR.js → status-command-XOELHUCV.js} +1 -1
  90. package/dist/{supplier-payment-QKWONHRH.js → supplier-payment-AUT2FZBR.js} +2 -2
  91. package/dist/{support-MLNODDQT.js → support-OUQWV5KP.js} +2 -2
  92. package/dist/{task-7RLVDTK2.js → task-7FOEUQJ6.js} +4 -4
  93. package/dist/{teams-X5WBB5YH.js → teams-FOR3O7KH.js} +1 -1
  94. package/dist/{user-FA2FIC47.js → user-TRXOR2Q6.js} +4 -4
  95. package/dist/{user-contract-type-RELV4BV7.js → user-contract-type-MPZQ7Y2P.js} +1 -1
  96. package/dist/{worker-agent-IPOLSJEA.js → worker-agent-4E5P75SJ.js} +1 -1
  97. package/dist/{workflow-VJL4FV3U.js → workflow-G7QZZPAX.js} +1 -1
  98. package/package.json +1 -1
  99. package/dist/analysis-DPQN4BFG.js +0 -5
  100. package/dist/budget-T5YJTALN.js +0 -4
  101. package/dist/chunk-C7MO3RHJ.js +0 -37
  102. package/dist/chunk-GYB2R6BV.js +0 -11
  103. package/dist/chunk-L37NS5L2.js +0 -8
  104. package/dist/chunk-MLRBDF44.js +0 -4
  105. package/dist/evaluation-NG4DIIJM.js +0 -61
  106. package/dist/project-JICUCXI5.js +0 -4
  107. /package/dist/{capacity-list-command-LKOVLAY4.js → capacity-list-command-GFHEKY47.js} +0 -0
  108. /package/dist/{chunk-NMERFYLD.js → chunk-RY27USNC.js} +0 -0
  109. /package/dist/{skill-manage-command-E7M7ZSQP.js → skill-manage-command-Z4MLSACA.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CRITERION_RE,checkCounts,checksOf,envelope,hasReferencedReason,reasonsMap,reviewOf,withoutResult}from"./chunk-Y7QW7MHQ.js";import{readBody}from"./chunk-IWYJSQ5I.js";import{WORKFLOWS_PATH}from"./chunk-2AVQILQQ.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,
4
- isRecord,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()??
3
+ import{CRITERION_RE,checkCounts,checksOf,envelope,hasReferencedReason,reasonsMap,reviewOf,withoutResult}from"./chunk-FCC7JJR5.js";import{readBody}from"./chunk-M763HXDH.js";import{WORKFLOWS_PATH}from"./chunk-M36DAHMH.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
4
+ import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INSTANCES_PATH=`${WORKFLOWS_PATH}/instances`;var COMMENT_MAX_CHARS=2e3;var IN_FLIGHT=new Set(["pending","processing"]);var GET_USAGE="twp workflow ai-review get <\u7533\u8ACBID>";var UPDATE_USAGE="twp workflow ai-review-comment update <\u6307\u6458ID> --instance <\u7533\u8ACBID> (--text <\u672C\u6587> | --text-file <\u30D1\u30B9>)";var DELETE_USAGE="twp workflow ai-review-comment delete <\u6307\u6458ID> --instance <\u7533\u8ACBID> --yes";function instanceUuid(raw,usage,what){const id=raw?.trim()??
5
5
  "";if(id==="")throw new UsageError(`\u7533\u8ACBID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!UUID_RE.test(id))throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`${usage}
6
6
  \u7533\u8ACBID \u306F twp workflow approval pending \u306E id \u5217\u3067\u3059\u3002`);return id}function workflowReviewPath(instanceId){return`${INSTANCES_PATH}/${encodeURIComponent(instanceId)}/ai-review`}function reviewTarget(input){if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,GET_USAGE);return workflowReviewPath(instanceUuid(input.args[0],GET_USAGE,"\u4F4D\u7F6E\u5F15\u6570"))}function commentTarget(input,usage){
7
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}
@@ -75,8 +75,21 @@ column["display_name"])??str(column["label"])??"",type:str(column["type"])??str(
75
75
  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(
76
76
  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"]}
77
77
  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.
78
- 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=[
79
- {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
78
+ resolved?.["content"];return createInstancePlan(id,raw===void 0?{}:JSON.parse(raw))}var CONDITION_TYPE_LABELS={user:"\u30E6\u30FC\u30B6\u30FC",usergroup:"\u30E6\u30FC\u30B6\u30FC\u30B0\u30EB\u30FC\u30D7",department:"\u90E8\u7F72",position:"\u5F79\u8077",role:"\u5F79\u5272\uFF08\u90E8\u7F72\xD7\u5F79\u8077\uFF09",main_department_role:"\u4E3B\u5E79\u90E8\u7F72\xD7\u5F79\u8077",applicant_superior:"\u7533\u8ACB\u8005\u306E\u4E0A\u9577",prev_approver_superior:"\u524D\u627F\u8A8D\u8005\u306E\u4E0A\u9577",
79
+ project_approver:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u627F\u8A8D\u8005",project_manager:"PM\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\uFF09",project_leader:"PL\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EA\u30FC\u30C0\u30FC\uFF09",quality_manager:"\u54C1\u8CEA\u7BA1\u7406\u8CAC\u4EFB\u8005",profit_manager:"\u53CE\u76CA\u7BA1\u7406\u8CAC\u4EFB\u8005"};var APPROVER_NAME_LIMIT=10;var APPROVER_PREVIEW_PATH=`${WORKFLOWS_PATH}/approver-preview`;var NOT_ADMIN_NOTE="\
80
+ \u5404\u6BB5\u306E\u627F\u8A8D\u8005\u306F\u8868\u793A\u3067\u304D\u307E\u305B\u3093\uFF08\u627F\u8A8D\u8005\u306E\u6761\u4EF6\u3068 approver-preview \u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u8AAD\u3081\u307E\u3059\uFF09\u3002\u627F\u8A8D\u8005\u306E\u78BA\u8A8D\u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\u306B\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u63D0\u51FA\u5F8C\u306E\u9032\u307F\u5177\u5408\u306F twp workflow instance get <\u7533\u8ACBID> \u3067\u898B\u3089\u308C\u307E\u3059\uFF09";
81
+ function previewConditionSet(conditionSet){const groups=Array.isArray(conditionSet["condition_groups"])?conditionSet["condition_groups"]:[];return{condition_groups:groups.map((group,index)=>{const g=isRecord(group)?group:{};const conditions=Array.isArray(g["conditions"])?g["conditions"]:[];return{id:str(g["id"])??`g${String(index)}`,conditions:conditions.map(condition=>{const c=isRecord(condition)?condition:{};const picked={type:c["type"]};for(const key of["user_id","usergroup_id","department_id",
82
+ "position_id"]){if(str(c[key])!==void 0)picked[key]=c[key]}if(c["level"]!==void 0&&c["level"]!==null)picked["level"]=c["level"];return picked})}})}}function approverLine(preview){if(!isRecord(preview)||typeof preview["status"]!=="string"){throw new ApiResponseError("\u627F\u8A8D\u8005\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u5FDC\u7B54\u306B status \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const dynamicTypes=Array.isArray(
83
+ preview["dynamic_condition_types"])?preview["dynamic_condition_types"].map(String):[];const dynamic=preview["has_dynamic_conditions"]===true?`\u7533\u8ACB\u6642\u306B\u6C7A\u307E\u308B\u627F\u8A8D\u8005\uFF08${(dynamicTypes.length>0?dynamicTypes:["\u4E0D\u660E"]).map(t=>CONDITION_TYPE_LABELS[t]??t).join("\u30FB")}\uFF09\u306F\u4EBA\u6570\u306B\u5165\u308A\u307E\u305B\u3093`:void 0;switch(preview["status"]){case"all_users":return{text:"\u6761\u4EF6\u304C\u7A7A\u306E\u6761\u4EF6\u30B0\u30EB\u30FC\u30D7\u304C\u3042\u308B\u305F\u3081\u3001\u8AB0\u3067\u3082\u627F\u8A8D\u3067\u304D\u307E\u3059",
84
+ blocking:false};case"dynamic_only":return{text:`\u7533\u8ACB\u6642\u306B\u6C7A\u307E\u308B\u6761\u4EF6\u3060\u3051\u306E\u305F\u3081\u3001\u3044\u307E\u306E\u8A72\u5F53\u8005\u306F\u78BA\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08${dynamicTypes.map(t=>CONDITION_TYPE_LABELS[t]??t).join("\u30FB")}\uFF09`,blocking:false};case"none":return dynamic===void 0?{text:"\u73FE\u6642\u70B9\u3067\u8A72\u5F53\u3059\u308B\u627F\u8A8D\u8005\u304C\u3044\u307E\u305B\u3093\uFF080\u540D\uFF09\u3002\u3053\u306E\u307E\u307E\u63D0\u51FA\u3059\u308B\u3068\u30B5\u30FC\u30D0\u304C\u300C\u627F\u8A8D\u8005\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u300D\u3067\u65AD\u308A\u307E\u3059",
85
+ blocking:true}:{text:`\u90E8\u7F72\u30FB\u5F79\u8077\u30FB\u30B0\u30EB\u30FC\u30D7\u306E\u6761\u4EF6\u306B\u8A72\u5F53\u3059\u308B\u4EBA\u306F0\u540D\u3067\u3059\u3002${dynamic}`,blocking:false};case"resolved":{const approvers=Array.isArray(preview["approvers"])?preview["approvers"]:[];const count=typeof preview["approver_count"]==="number"?preview["approver_count"]:approvers.length;const names=approvers.slice(0,APPROVER_NAME_LIMIT).map(a=>isRecord(a)?String(a["user_name"]??""):"");const omitted=count-
86
+ names.length;return{text:`${String(count)}\u540D\uFF08${names.join("\u3001")}${omitted>0?` \u307B\u304B${String(omitted)}\u540D`:""}\uFF09${dynamic===void 0?"":`\u3002${dynamic}`}`,blocking:false}}default:throw new ApiResponseError(`\u627F\u8A8D\u8005\u30D7\u30EC\u30D3\u30E5\u30FC\u306E status \u3092\u8AAD\u3081\u307E\u305B\u3093: ${preview["status"]}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}}async function approverRoutePreview(input,ctx){if(!ctx.dryRun)
87
+ return{notes:[],warnings:[]};const id=requireResolved(input,"workflowId");let detail;try{detail=await ctx.send({method:"GET",path:idPath(WORKFLOWS_PATH,id,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC")})}catch(err){if(err instanceof ApiError&&err.status===403)return{notes:[`\u627F\u8A8D\u7D4C\u8DEF\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093\uFF08\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u3092\u8AAD\u3080\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093: ${err.message}\uFF09`],warnings:[]};throw err}const workflow=objectOf(
88
+ detail,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30");if(!Array.isArray(workflow["steps"])){throw new ApiResponseError("\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30\u306E\u5FDC\u7B54\u306B steps \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const steps=workflow["steps"].filter(isRecord).slice().sort((a,b)=>Number(a["step_no"]??0)-Number(b["step_no"]??0));if(steps.length===0)return{notes:[
89
+ "\u627F\u8A8D\u7D4C\u8DEF: \u3053\u306E\u7533\u8ACB\u66F8\u306B\u627F\u8A8D\u306E\u6BB5\u304C\u3042\u308A\u307E\u305B\u3093"],warnings:[]};const label=step=>` \u7B2C${String(step["step_no"]??"?")}\u6BB5 ${str(step["name"])??"(\u540D\u524D\u306A\u3057)"}${step["is_final_step"]===true?"\uFF08\u6700\u7D42\uFF09":""}${isRecord(step["apply_condition"])?"\uFF3B\u9069\u7528\u6761\u4EF6\u3042\u308A\uFF1D\u7533\u8ACB\u5185\u5BB9\u306B\u3088\u3063\u3066\u98DB\u3070\u3055\u308C\u307E\u3059\uFF3D":""}`;const header=`\
90
+ \u627F\u8A8D\u7D4C\u8DEF\uFF08\u3044\u307E\u63D0\u51FA\u3057\u305F\u5834\u5408\u30FB${String(steps.length)} \u6BB5\uFF09:`;const notAdmin=()=>({notes:[header,...steps.map(label),NOT_ADMIN_NOTE],warnings:[]});if(steps.some(step=>!isRecord(step["approver_condition_set"])))return notAdmin();const lines=[];const warnings=[];for(const step of steps){let preview;try{preview=await ctx.send({method:"POST",path:APPROVER_PREVIEW_PATH,body:{approver_condition_set:previewConditionSet(step["approver_conditio\
91
+ n_set"])}})}catch(err){if(err instanceof ApiError&&err.status===403)return notAdmin();throw err}const line=approverLine(preview);lines.push(`${label(step)}: ${line.text}`);if(line.blocking)warnings.push(`${label(step).trim()} \u306E\u627F\u8A8D\u8005\u304C0\u540D\u3067\u3059\uFF08\u63D0\u51FA\u306F\u65AD\u3089\u308C\u307E\u3059\uFF09`)}return{notes:[header,...lines],warnings}}var CREATE_USAGE="twp workflow instance create --workflow <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC> [--content-file <\u30D1\u30B9>] [--generate-cli-skeleton]";
92
+ 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=[{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
80
93
  --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
81
94
  \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
82
95
  --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
@@ -87,16 +100,22 @@ ${CONTENT_HELP}
87
100
  \u6A19\u6E96\u51FA\u529B\u3078\u51FA\u3057\u3066\u7D42\u4E86\u3057\u307E\u3059\uFF08\u7533\u8ACB\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
88
101
  \u4F8B: twp workflow instance create --workflow \u5099\u54C1\u8CB8\u51FA\u7533\u8ACB --generate-cli-skeleton --output json > in.json
89
102
 
90
- \u4F5C\u3063\u305F\u7533\u8ACB\u306E ID \u306F\u51FA\u529B\u306E id \u3067\u3059\u3002\u7D9A\u3051\u3066 twp workflow instance apply <\u7533\u8ACBID> \u3067\u63D0\u51FA\u3057\u307E\u3059\u3002`,flags:[WORKFLOW_FLAG,CONTENT_FILE_FLAG,SKELETON_FLAG],async prepare(input,ctx){noArgs(input,CREATE_USAGE);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",
91
- CREATE_USAGE)}const content=wantsSkeleton?void 0:await readContent(input,CREATE_USAGE);const ref=nonEmpty(input.flags,WORKFLOW_FLAG.name);if(ref===void 0){throw new UsageError("\u7533\u8ACB\u66F8\u3092 --workflow <\u540D\u524D|ID> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",CREATE_USAGE)}return withResolved(input,{workflowId:await workflowId(ref.trim(),ctx,WORKFLOW_FLAG.name),...content===void 0?{}:{content:JSON.stringify(content)}})},plan:createOperationPlan,execute:async(input,ctx)=>({
92
- 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):
93
- 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:"\
94
- 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",
95
- 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,
96
- 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"+
97
- 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(
98
- 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(
99
- 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",
103
+ \u4F5C\u3063\u305F\u7533\u8ACB\u306E ID \u306F\u51FA\u529B\u306E id \u3067\u3059\u3002\u7D9A\u3051\u3066 twp workflow instance apply <\u7533\u8ACBID> \u3067\u63D0\u51FA\u3057\u307E\u3059\u3002
104
+
105
+ --dry-run \u3092\u4ED8\u3051\u308B\u3068\u7533\u8ACB\u306F\u4F5C\u3089\u305A\u3001\u627F\u8A8D\u306E\u6BB5\u3068\u5404\u6BB5\u306E\u3044\u307E\u306E\u8A72\u5F53\u627F\u8A8D\u8005\u3092 stderr \u306B\u51FA\u3057\u307E\u3059
106
+ \uFF08\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u3092 GET \u3057\u3001\u6BB5\u3054\u3068\u306B POST /api/v2/workflows/approver-preview \u3092\u9001\u308A\u307E\u3059\u3002\u3069\u3061\u3089\u3082\u4F55\u3082\u4F5C\u308A\u307E\u305B\u3093\uFF09\u3002
107
+ \u8868\u793A\u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A2D\u5B9A\u753B\u9762\u306E\u300C\u73FE\u5728\u306E\u8A72\u5F53\u627F\u8A8D\u8005\u300D\u3068\u540C\u3058\u5224\u5B9A\u3067\u3059\u3002\u300C\u7533\u8ACB\u8005\u306E\u4E0A\u9577\u300D\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E PM \u306E\u3088\u3046\u306B
108
+ \u7533\u8ACB\u6642\u306B\u6C7A\u307E\u308B\u6761\u4EF6\u306F\u4EBA\u6570\u306B\u5165\u308A\u307E\u305B\u3093\u3002\u8A72\u5F53\u8005\u304C0\u540D\u3067\u63D0\u51FA\u304C\u65AD\u3089\u308C\u308B\u6BB5\u306F\u300C\u8B66\u544A:\u300D\u3067\u51FA\u307E\u3059\u3002
109
+ \u627F\u8A8D\u8005\u306E\u6761\u4EF6\u3092\u8AAD\u3081\u308B\u306E\u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\u3060\u3051\u3067\u3059\u3002\u7BA1\u7406\u8005\u3067\u306A\u3051\u308C\u3070\u6BB5\u306E\u540D\u524D\u3060\u3051\u3092\u51FA\u3057\u3001\u627F\u8A8D\u8005\u306F\u8868\u793A\u3067\u304D\u306A\u3044\u3068\u8A00\u3044\u307E\u3059\u3002`,flags:[WORKFLOW_FLAG,CONTENT_FILE_FLAG,SKELETON_FLAG],async prepare(input,ctx){noArgs(input,CREATE_USAGE);const wantsSkeleton=input.
110
+ 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",CREATE_USAGE)}const content=wantsSkeleton?void 0:await readContent(input,CREATE_USAGE);const ref=nonEmpty(input.flags,WORKFLOW_FLAG.name);if(ref===void 0){throw new UsageError("\u7533\u8ACB\u66F8\u3092 --workflow <\u540D\u524D|ID> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
111
+ CREATE_USAGE)}return withResolved(input,{workflowId:await workflowId(ref.trim(),ctx,WORKFLOW_FLAG.name),...content===void 0?{}:{content:JSON.stringify(content)}})},plan:createOperationPlan,preview:approverRoutePreview,execute:async(input,ctx)=>({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"]:
112
+ ["\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):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.
113
+ 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:"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\
114
+ \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",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,
115
+ 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,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\
116
+ \u8ACBID> --output json \u306E form_data \u3067\u53D6\u308C\u307E\u3059\u3002\n\n"+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",
117
+ UPDATE_USAGE2)}return withResolved(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"]:
118
+ [],summarize:body=>pick(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",
100
119
  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\
101
120
  \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",
102
121
  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},
@@ -0,0 +1,8 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import readline from"readline/promises";var PromptAbortedError=class extends Error{endOfInput;constructor(options={}){super("\u5165\u529B\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F");this.endOfInput=options.endOfInput===true}};var pipeBuffer="";var pipeEnded=false;function readPipedLine(){const{stdin}=process;const takeLine=()=>{const nl=pipeBuffer.indexOf("\n");if(nl>=0){const line=pipeBuffer.slice(0,nl).replace(/\r$/,"");pipeBuffer=pipeBuffer.slice(nl+1);return line}if(pipeEnded&&pipeBuffer!==
4
+ ""){const line=pipeBuffer;pipeBuffer="";return line}return null};const immediate=takeLine();if(immediate!==null)return Promise.resolve(immediate);if(pipeEnded)return Promise.reject(new PromptAbortedError({endOfInput:true}));return new Promise((resolve,reject)=>{stdin.setEncoding("utf8");const cleanup=()=>{stdin.off("data",onData);stdin.off("end",onEnd);stdin.pause()};const onData=chunk=>{pipeBuffer+=chunk;const line=takeLine();if(line!==null){cleanup();resolve(line)}};const onEnd=()=>{pipeEnded=
5
+ true;cleanup();const line=takeLine();if(line!==null){resolve(line)}else{reject(new PromptAbortedError({endOfInput:true}))}};stdin.on("data",onData);stdin.on("end",onEnd);stdin.resume()})}async function promptText(question){if(!process.stdin.isTTY){process.stdout.write(question);const line=await readPipedLine();process.stdout.write("\n");return line.trim()}const rl=readline.createInterface({input:process.stdin,output:process.stdout});try{return(await rl.question(question)).trim()}catch(err){if(err instanceof
6
+ Error&&err.name==="AbortError")throw new PromptAbortedError;throw err}finally{rl.close()}}function stepEscape(state,ch){const code=ch.codePointAt(0)??0;if(state!=="none"&&(ch===""||ch==="")){return{state:"none",consumed:false}}if(state==="esc"&&(ch==="\r"||ch==="\n"||ch==="\x7F"||ch==="\b")){return{state:"none",consumed:false}}switch(state){case"none":return ch==="\x1B"?{state:"esc",consumed:true}:{state:"none",consumed:false};case"esc":if(ch==="[")return{state:"csi",consumed:true};if(ch==="O")
7
+ return{state:"ss3",consumed:true};if(ch==="\x1B")return{state:"esc",consumed:true};return{state:"none",consumed:true};case"csi":return code>=64&&code<=126?{state:"none",consumed:true}:{state:"csi",consumed:true};case"ss3":return{state:"none",consumed:true}}}async function promptHidden(question){const{stdin,stdout}=process;if(!stdin.isTTY){return readPipedLine()}stdout.write(question);return new Promise((resolve,reject)=>{let value="";let escape="none";stdin.setRawMode(true);stdin.setEncoding("ut\
8
+ f8");stdin.resume();const cleanup=()=>{stdin.off("data",onData);stdin.setRawMode(false);stdin.pause();stdout.write("\n")};const onData=chunk=>{for(const ch of chunk){const step=stepEscape(escape,ch);escape=step.state;if(step.consumed)continue;if(ch===""||ch===""){cleanup();reject(new PromptAbortedError);return}if(ch==="\r"||ch==="\n"){cleanup();resolve(value);return}if(ch==="\x7F"||ch==="\b"){value=value.slice(0,-1);continue}if(ch<" ")continue;value+=ch}};stdin.on("data",onData)})}export{PromptAbortedError,promptText,promptHidden};
@@ -1,7 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-M7UEPYUQ.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-MUIN7OUW.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-WDQMYRPE.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{
4
- readBody}from"./chunk-IWYJSQ5I.js";import{PROJECT_MEMBERS_LIMIT,resolveNamed}from"./chunk-2AVQILQQ.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
3
+ import{projectEvaluationResource}from"./chunk-GLOGPK4Y.js";import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-U6KPYJTM.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-UVCJXHWN.js";import{createFlags,fieldBody,hasAnyField,idSegment,resolveRefFields,updateFlags}from"./chunk-MPGJU5A7.js";
4
+ import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{containsRedactedMarker,readBody}from"./chunk-M763HXDH.js";import{ALLOW_REDACTED_FLAG}from"./chunk-W4NLJ2YK.js";import{PROJECT_MEMBERS_LIMIT,PROJECT_TEMPLATES_PATH,resolveNamed}from"./chunk-M36DAHMH.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{REDACTED}from"./chunk-IXT2X5BZ.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";
5
+ import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
5
6
  --start-date",summary:"\u53C2\u753B\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var END_DATE_FLAG={name:"--end-date",summary:"\u53C2\u753B\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var PERIOD_FILE_FLAG={name:"--period-file",summary:"\u7A3C\u50CD\u671F\u9593\uFF08assignment_periods\uFF09\u306E JSON \u914D\u5217\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};
6
7
  var WIKI_ROLE_FLAG={name:"--wiki-role",summary:"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E Wiki \u6A29\u9650\uFF08admin\uFF1DWiki \u7BA1\u7406\u8005 / member\uFF1D\u4E00\u822C\uFF09",takesValue:true,placeholder:"<admin|member>"};var MEMO_FLAG={name:"--memo",summary:"\u30E1\u30E2\uFF0810,000 \u6587\u5B57\u307E\u3067\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var CLEAR_FLAG={name:"--clear",summary:"\u5225\u540D\u3092\u6D88\u3059",takesValue:false};var WIKI_ROLES=["admin",
7
8
  "member"];var MEMO_MAX_CHARS=1e4;var PERIOD_FILE_MAX_CHARS=2e5;var ALIAS_MAX_CHARS=255;var PERIOD_KEYS=["id","start_date","end_date","daily_hours","total_hours","input_mode"];var PERIOD_REQUIRED=["start_date","end_date","daily_hours"];var ROLE_HELP="--role \u306E\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3057\u307E\u3059\uFF08CLI \u306F\u691C\u67FB\u3057\u307E\u305B\u3093\uFF09\u30022026-10-01 \u6642\u70B9\u306E\u5024\u306F\n member\uFF08\u30E1\u30F3\u30D0\u30FC\uFF09/ manager\uFF08\u7BA1\u7406\u8005\uFF09/ approver\uFF08\u7BA1\u7406\u8005\uFF08\u627F\u8A8D\u8005\uFF09\uFF09/ manager_no_punch\uFF08\u7BA1\u7406\u8005\uFF08\u6253\u523B\u7121\uFF09\uFF09\u3067\u3059\u3002\n \u5024\u306F\u5897\u3048\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u4ECA\u306E\u30E1\u30F3\u30D0\u30FC\u306E\u5024\u306F twp project members \u306E role \u5217\u3067\u78BA\u304B\u3081\u3089\u308C\u307E\u3059\u3002";
@@ -88,21 +89,103 @@ flags:[STATUS_FLAG],async prepare(input,ctx){processStatus(input,PROCESS_LIST_US
88
89
  raw:body=>processRows(body),notes:body=>{const count=isRecord(body)?body["count"]:void 0;const shown=processRows(body).length;return typeof count==="number"&&count>shown?[`\u5DE5\u7A0B\u306F ${String(count)} \u4EF6\u3042\u308A\u307E\u3059\u304C\u3001${String(shown)} \u4EF6\u3060\u3051\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u4E0A\u9650\uFF09\u3002`]:[]}},{name:"create",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u5DE5\u7A0B\u3092\u767B\u9332\u3059\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\uFF09",
89
90
  usage:PROCESS_CREATE_USAGE,description:"POST /api/v2/projects/{id}/processes\u3002\u7701\u7565\u3059\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u65E2\u5B9A\u3067\u3059\u3002\n--process \u3067\u5DE5\u7A0B\u30DE\u30B9\u30BF\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\u3002\u5019\u88DC\u306F twp api /api/v2/project/processes \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002\n\u767B\u9332\u3067\u304D\u308B\u306E\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u3068\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3067\u3059\u3002\u72B6\u614B\u306E\u65E2\u5B9A\u306F active\u3001\u4E26\u3073\u9806\u306E\u65E2\u5B9A\u306F 0 \u3067\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u6C7A\u3081\u307E\u3059\uFF09\u3002\n\u4E26\u3073\u66FF\u3048\uFF08reorder\uFF09\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u306F\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u306B\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u767B\u9332\u306E\u5FDC\u7B54\u306B\u306F\u5DE5\u7A0B\u30DE\u30B9\u30BF\u306E\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u304C\u5165\u308A\u307E\u305B\u3093\uFF08process_id \u3060\u3051\u3002\u540D\u524D\u306F twp project process list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002\u4E00\u89A7\u306F\u5DE5\u7A0B\u30DE\u30B9\u30BF\u3092\u5F15\u3044\u3066\u88DC\u3044\u307E\u3059\uFF09\u3002",
90
91
  flags:[PROCESS_FLAG,DESCRIPTION_FLAG,SORT_ORDER_FLAG,STATUS_FLAG],forbidden:processCreateForbidden,async prepare(input,ctx){const process=nonEmpty(input.flags,PROCESS_FLAG.name);if(process===void 0)throw new UsageError("--process \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",PROCESS_CREATE_USAGE);createBody(withResolved(input,{processId:"-"}));const withProject=await projectArg(input,ctx,PROCESS_CREATE_USAGE);return withResolved(withProject,{processId:(await ctx.resolver.processMaster(
91
- process,PROCESS_FLAG.name)).id})},plan:input=>({method:"POST",path:projectPath(input,"processes"),body:createBody(input)}),summarize:body=>pick(processItem(body),PROCESS_COLUMNS),raw:body=>processItem(body)}]};var projectAnalysisOperations=[riskOperation,profitOperation];var NAME_MAX_CHARS=255;var CODE_MAX_CHARS=255;var MEMO_MAX_CHARS2=Number.POSITIVE_INFINITY;var PROJECTS_PATH="/api/v2/projects";function userRefField(flag,key,label){return{kind:"ref",flag,key,summary:`${label}\uFF08\u30E6\u30FC\u30B6\u30FC\u3002me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\uFF09`,placeholder:"<\u30E6\u30FC\u30B6\u30FC>",clearFlag:`--no-${flag.slice(2)}`,clearSummary:`${label}\u3092\u5916\u3059`,resolve:(ctx,ref,flagName)=>ctx.
92
- resolver.user(ref,flagName)}}var FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D",maxChars:NAME_MAX_CHARS,summary:`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\uFF08${NAME_MAX_CHARS} \u6587\u5B57\u4EE5\u5185\uFF09`},{kind:"text",flag:"--code",key:"code",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9",maxChars:CODE_MAX_CHARS,summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\uFF08\u30BF\u30B9\u30AF\u30AD\u30FC\u306E\u63A5\u982D\u8F9E\u306B\u306A\u308B\uFF09"},
92
+ process,PROCESS_FLAG.name)).id})},plan:input=>({method:"POST",path:projectPath(input,"processes"),body:createBody(input)}),summarize:body=>pick(processItem(body),PROCESS_COLUMNS),raw:body=>processItem(body)}]};var projectAnalysisOperations=[riskOperation,profitOperation];import fs from"fs";var LIST_COLUMNS=["id","name","code","category","version","usage_count","sort_order","updated_at"];var GET_COLUMNS=["id","name","code","category","develop_method","description","version","usage_count","sort_order","source_project_id","created_at","updated_at"];var CONFIG_ARRAYS=[["status_configs","\u30B9\u30C6\u30FC\u30BF\u30B9"],["type_configs","\u7A2E\u5225"],["category_configs","\u30AB\u30C6\u30B4\u30EA"],["label_configs","\u30E9\u30D9\u30EB"],["milestone_templates","\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3"],
93
+ ["task_templates","\u30BF\u30B9\u30AF"]];var CONFIG_KEYS=["settings",...CONFIG_ARRAYS.map(([key])=>key)];var CONFIGS_FILE_MAX_BYTES=5*1024*1024;var DESCRIPTION_MAX_CHARS=1e4;var BOM=/^\uFEFF/;var TEMPLATE_HELP="<\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8> \u306F ID\u30FB\u540D\u524D\u30FB\u30B3\u30FC\u30C9\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 \u4EE5\u5916\u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u4E00\u89A7\u3068\u7167\u5408\u3057\u307E\u3059\uFF08\u30AD\u30E3\u30C3\u30B7\u30E5\u3057\u307E\u305B\u3093\uFF09\u3002";
94
+ var READ_FORBIDDEN="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u8AAD\u3080\u306B\u306F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u95B2\u89A7\u8005\u300D\u4EE5\u4E0A\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002";var WRITE_FORBIDDEN="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\u30FB\u9069\u7528\u306B\u306F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
95
+ var FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D",maxChars:255,summary:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\uFF08255 \u6587\u5B57\u4EE5\u5185\uFF09"},{kind:"text",flag:"--code",key:"code",label:"\u30B3\u30FC\u30C9",maxChars:50,summary:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30B3\u30FC\u30C9\uFF0850 \u6587\u5B57\u4EE5\u5185\u30FB\u4EFB\u610F\uFF09"},{kind:"text",flag:"--category",key:"category",label:"\u5206\u985E",maxChars:100,summary:"\
96
+ \u5206\u985E\uFF08100 \u6587\u5B57\u4EE5\u5185\u30FB\u753B\u9762\u306E\u300C\u30AB\u30C6\u30B4\u30EA\u300D\uFF09"},{kind:"integer",flag:"--develop-method",key:"develop_method",label:"\u958B\u767A\u624B\u6CD5",min:0,max:2,summary:"\u958B\u767A\u624B\u6CD5\uFF080=\u306A\u3057 / 1=\u30A6\u30A9\u30FC\u30BF\u30FC\u30D5\u30A9\u30FC\u30EB / 2=\u30A2\u30B8\u30E3\u30A4\u30EB\uFF09\u3002\u9069\u7528\u3067\u4F5C\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u5F15\u304D\u7D99\u304C\u308C\u308B"},{kind:"in\
97
+ teger",flag:"--sort-order",key:"sort_order",label:"\u4E26\u3073\u9806",min:0,summary:"\u4E00\u89A7\u3067\u306E\u4E26\u3073\u9806\uFF080 \u4EE5\u4E0A\u306E\u6574\u6570\uFF09"}];var DESCRIPTION_FLAGS=[{name:"--description",summary:"\u8AAC\u660E\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08--description-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},{name:"--description-file",summary:"\u8AAC\u660E\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",
98
+ takesValue:true,placeholder:"<\u30D1\u30B9|->"}];var CONFIGS_FLAG={name:"--configs-file",summary:`\u69CB\u6210\u3092 JSON \u3067\u6E21\u3059\uFF08${CONFIG_KEYS.join(" / ")}\u3002\u66F8\u3044\u305F\u30AD\u30FC\u306F\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u308F\u308B\uFF09`,takesValue:true,placeholder:"<\u30D1\u30B9>"};var CLEAR_FLAGS=[{flag:{name:"--no-description",summary:"\u8AAC\u660E\u3092\u6D88\u3059",takesValue:false},key:"description",conflicts:["--description","--description-file"]},{flag:{name:"\
99
+ --no-code",summary:"\u30B3\u30FC\u30C9\u3092\u6D88\u3059",takesValue:false},key:"code",conflicts:["--code"]},{flag:{name:"--no-category",summary:"\u5206\u985E\u3092\u6D88\u3059",takesValue:false},key:"category",conflicts:["--category"]},{flag:{name:"--no-develop-method",summary:"\u958B\u767A\u624B\u6CD5\u3092\u5916\u3059",takesValue:false},key:"develop_method",conflicts:["--develop-method"]}];var templateRefFlag={name:"--template",summary:"\u5BFE\u8C61\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",
100
+ takesValue:true,placeholder:"<\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>"};function templateRows(body){const data=isRecord(body)?body["data"]:void 0;if(!Array.isArray(data)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u4E00\u89A7\u306E\u5FDC\u7B54\u306B data \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return data}function templateItem(body,label){const data=isRecord(
101
+ body)?body["data"]:void 0;if(!isRecord(data)||typeof data["id"]!=="string"){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}function configCounts(template){const counts={};for(const[key]of CONFIG_ARRAYS){const value=template[key];counts[`${key.replace(/_(configs|templates)$/,"")}_count`]=Array.isArray(value)?value.length:null}return counts}function templateSummary(template){
102
+ return{...pick(template,GET_COLUMNS),...configCounts(template)}}function deleteAcknowledgement(body){const message=isRecord(body)?body["message"]:void 0;if(typeof message!=="string"){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u524A\u9664\u306E\u5FDC\u7B54\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{result:true,message}}
103
+ function parseConfigs(raw,usage){if(!isRecord(raw))throw new UsageError("--configs-file \u306F JSON \u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306B\u3057\u3066\u304F\u3060\u3055\u3044",usage);const keys=Object.keys(raw);if(keys.length===0)throw new UsageError("--configs-file \u306B\u69CB\u6210\u306E\u30AD\u30FC\u304C1\u3064\u3082\u3042\u308A\u307E\u305B\u3093",`\u66F8\u3051\u308B\u30AD\u30FC: ${CONFIG_KEYS.join(" / ")}`);for(const key of keys){if(!CONFIG_KEYS.includes(key)){throw new UsageError(
104
+ `--configs-file \u306B\u66F8\u3051\u306A\u3044\u30AD\u30FC\u3067\u3059: ${key}`,`\u66F8\u3051\u308B\u30AD\u30FC: ${CONFIG_KEYS.join(" / ")}`)}const value=raw[key];const ok=value===null||(key==="settings"?isRecord(value):Array.isArray(value));if(!ok){const expected=key==="settings"?"\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8":"\u914D\u5217";throw new UsageError(`--configs-file \u306E ${key} \u306F${expected}\u304B null \u306B\u3057\u3066\u304F\u3060\u3055\u3044`,usage)}}return raw}function readConfigsFile(input,file,usage){
105
+ let text2;try{const stat=fs.statSync(file);if(!stat.isFile())throw new UsageError(`--configs-file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,usage);if(stat.size>CONFIGS_FILE_MAX_BYTES)throw new UsageError(`--configs-file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${stat.size} \u30D0\u30A4\u30C8\uFF09: ${file}`,usage);text2=fs.readFileSync(file,"utf8").replace(BOM,"")}catch(err){if(err instanceof
106
+ UsageError)throw err;throw new UsageError(`--configs-file \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${err.code??err.message}\uFF09`,usage)}if(containsRedactedMarker(text2)&&!input.flags.has(ALLOW_REDACTED_FLAG.name)){throw new UsageError(`--configs-file ${file} \u306B\u4F0F\u5B57\u30DE\u30FC\u30AB\u30FC\u300C${REDACTED}\u300D\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059`,`\u69CB\u6210\u3092\u53D6\u308A\u51FA\u3059\u3068\u304D\u306F twp project template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8> --output json --no-redact \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u4F0F\u5B57\u306E\
107
+ \u6587\u8A00\u305D\u306E\u3082\u306E\u3092\u9001\u308A\u305F\u3044\u3068\u304D\u3060\u3051 ${ALLOW_REDACTED_FLAG.name} \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`)}let parsed;try{parsed=JSON.parse(text2)}catch{throw new UsageError(`--configs-file \u3092 JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093: ${file}`,usage)}return parseConfigs(parsed,usage)}function readDescription(input,usage){return readBody(input,{flag:"--description",fileFlag:"--description-file",label:"\u8AAC\u660E",
108
+ maxChars:DESCRIPTION_MAX_CHARS,usage})}async function prepareBody(input,usage,withClear){fieldBody(input,FIELDS);if(withClear){for(const clear of CLEAR_FLAGS){if(input.flags.has(clear.flag.name)&&clear.conflicts.some(flag=>input.flags.has(flag))){throw new UsageError(`${clear.flag.name} \u3068 ${clear.conflicts.join(" / ")} \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}}}
109
+ const resolved={};const description=await readDescription(input,usage);if(description!==void 0)resolved["description"]=description;const file=input.flags.get("--configs-file");if(file!==void 0)resolved["configs"]=JSON.stringify(readConfigsFile(input,file,usage));return withResolved(input,resolved)}function templateBody(input){const body=fieldBody(input,FIELDS);for(const clear of CLEAR_FLAGS)if(input.flags.has(clear.flag.name))body[clear.key]=null;const description=input.resolved?.["description"];
110
+ if(description!==void 0)body["description"]=description;const configs=input.resolved?.["configs"];if(configs!==void 0)Object.assign(body,JSON.parse(configs));return body}async function prepareTemplate(input,ctx,usage){const ref=singleRef(input,{flag:templateRefFlag.name,label:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",usage});return withResolved(input,{id:(await ctx.resolver.projectTemplate(ref,"<\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>")).id})}var itemPath=input=>`${PROJECT_TEMPLATES_PATH}/${idSegment(
111
+ input,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8")}`;var listOperation={name:"list",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp project template list",description:`GET /api/v2/project-templates\u3002\u30C6\u30CA\u30F3\u30C8\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u5168\u4EF6\u8FD4\u3057\u307E\u3059\uFF08\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
112
+
113
+ --output json \u306F\u69CB\u6210\uFF08status_configs / task_templates \u7B49\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
114
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,forbidden:READ_FORBIDDEN,flags:[],plan(input){if(input.args.length>0)throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp project template list help");return{method:"GET",path:PROJECT_TEMPLATES_PATH}},summarize:body=>templateRows(body).map(row=>pick(row,LIST_COLUMNS)),raw:body=>templateRows(body)};var GET_USAGE="twp\
115
+ project template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>";var getOperation={name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:GET_USAGE,description:`GET /api/v2/project-templates/{id}\u3002
116
+ ${TEMPLATE_HELP}
117
+
118
+ --output table / text / tsv \u306F\u9805\u76EE\u3068\u69CB\u6210\u306E\u4EF6\u6570\uFF08status_count / task_count \u7B49\uFF09\u3067\u3059\u3002
119
+ \u69CB\u6210\u306E\u4E2D\u8EAB\u306F --output json \u3067\u51FA\u307E\u3059\uFF08--configs-file \u306B\u306F status_configs \u7B49\u306E\u69CB\u6210\u306E\u30AD\u30FC\u3060\u3051\u3092\u629C\u304D\u51FA\u3057\u3066\u6E21\u3057\u307E\u3059\uFF09\u3002`,forbidden:READ_FORBIDDEN,flags:[templateRefFlag],prepare:(input,ctx)=>prepareTemplate(input,ctx,GET_USAGE),plan:input=>({method:"GET",path:itemPath(input)}),summarize:body=>templateSummary(templateItem(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u53D6\u5F97")),
120
+ raw:body=>templateItem(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u53D6\u5F97")};var CONFIGS_HELP=`--configs-file \u306F ${CONFIG_KEYS.join(" / ")} \u3092\u30AD\u30FC\u306B\u6301\u3064 JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3059\uFF08settings \u4EE5\u5916\u306F\u914D\u5217\uFF09\u3002
121
+ \u66F8\u3044\u305F\u30AD\u30FC\u306F\u4E2D\u8EAB\u3054\u3068\u7F6E\u304D\u63DB\u308F\u308A\u307E\u3059\uFF08\u5DEE\u5206\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u69CB\u6210\u4EE5\u5916\u306E\u30AD\u30FC\uFF08id / name \u7B49\uFF09\u3092\u542B\u3081\u308B\u3068\u9001\u3089\u305A\u306B\u6B62\u3081\u308B\u306E\u3067\u3001
122
+ \u4ECA\u306E\u69CB\u6210\u306F twp project template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8> --output json --no-redact --query "{status_configs: status_configs, task_templates: task_templates}" \u306E\u3088\u3046\u306B\u69CB\u6210\u306E\u30AD\u30FC\u3060\u3051\u3092\u53D6\u308A\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002`;var CREATE_USAGE="twp project template create --name <\u540D\u524D> [\u9805\u76EE\u2026]";var createOperation2={name:"create",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\uFF09",
123
+ usage:CREATE_USAGE,description:`POST /api/v2/project-templates\u3002--name \u304C\u5FC5\u9808\u3067\u3059\u3002
124
+ \u65E2\u5B58\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u69CB\u6210\u3092\u305D\u306E\u307E\u307E\u4F7F\u3046\u306A\u3089 twp project template from-project \u304C\u624B\u65E9\u3044\u3067\u3059\u3002
125
+
126
+ ${CONFIGS_HELP}
127
+
128
+ \u4F8B:
129
+ twp project template create --name "\u53D7\u8A17\u958B\u767A\uFF08\u6A19\u6E96\uFF09" --category development --develop-method 1
130
+ twp project template create --name "\u554F\u3044\u5408\u308F\u305B\u5BFE\u5FDC" --configs-file configs.json`,forbidden:WRITE_FORBIDDEN,flags:[...createFlags(FIELDS),...DESCRIPTION_FLAGS,CONFIGS_FLAG],async prepare(input){if(input.args.length>0)throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp project template create help");if((input.flags.get("--name")??"").trim()==="")throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
131
+ CREATE_USAGE);return prepareBody(input,CREATE_USAGE,false)},plan:input=>({method:"POST",path:PROJECT_TEMPLATES_PATH,body:templateBody(input)}),summarize:body=>templateSummary(templateItem(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210")),raw:body=>templateItem(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210")};var UPDATE_USAGE="twp project template update <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8> [\u9805\u76EE\u2026]";
132
+ var updateOperation2={name:"update",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u66F4\u65B0\u3059\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u308B\uFF09",usage:UPDATE_USAGE,description:`PUT /api/v2/project-templates/{id}\u3002\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u307E\u3059\u3002\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
133
+ \u66F4\u65B0\u306E\u305F\u3073\u306B\u30B5\u30FC\u30D0\u304C\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E version \u30921\u3064\u4E0A\u3052\u307E\u3059\u3002
134
+ \u5024\u3092\u5916\u3059\u3068\u304D: --no-description / --no-code / --no-category / --no-develop-method\u3002
135
+
136
+ ${CONFIGS_HELP}
137
+
138
+ ${TEMPLATE_HELP}
139
+
140
+ \u4F8B:
141
+ twp project template update "\u53D7\u8A17\u958B\u767A\uFF08\u6A19\u6E96\uFF09" --name "\u53D7\u8A17\u958B\u767A\uFF08\u6A19\u6E96\u30FB2027\u5E74\u7248\uFF09"
142
+ twp project template get "\u53D7\u8A17\u958B\u767A\uFF08\u6A19\u6E96\uFF09" --output json --no-redact --query "{status_configs: status_configs}" > t.json
143
+ twp project template update "\u53D7\u8A17\u958B\u767A\uFF08\u6A19\u6E96\uFF09" --configs-file t.json`,forbidden:WRITE_FORBIDDEN,flags:[...updateFlags(FIELDS),...DESCRIPTION_FLAGS,CONFIGS_FLAG,...CLEAR_FLAGS.map(clear=>clear.flag),templateRefFlag],async prepare(input,ctx){const other=["--description","--description-file","--configs-file",...CLEAR_FLAGS.map(clear=>clear.flag.name)];if(!hasAnyField(input,FIELDS)&&!other.some(flag=>input.flags.has(flag))){throw new UsageError("\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
144
+ "twp project template update help")}const prepared=await prepareBody(input,UPDATE_USAGE,true);return prepareTemplate(prepared,ctx,UPDATE_USAGE)},plan:input=>({method:"PUT",path:itemPath(input),body:templateBody(input)}),plannedNotes(input){const configs=input.resolved?.["configs"];if(configs===void 0)return[];const keys=Object.keys(JSON.parse(configs));return[`\u69CB\u6210\u306E ${keys.join(" / ")} \u3092\u9001\u308B\u5185\u5BB9\u3067\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\u307E\u3059\uFF08\u66F8\u304B\u306A\u304B\u3063\u305F\u30AD\u30FC\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002`]},
145
+ summarize:body=>templateSummary(templateItem(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u66F4\u65B0")),raw:body=>templateItem(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u66F4\u65B0")};var DELETE_USAGE="twp project template delete <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8> --yes";var deleteOperation2={name:"delete",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09",
146
+ usage:DELETE_USAGE,description:"DELETE /api/v2/project-templates/{id}\u3002\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\n\u3053\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u4F5C\u3063\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u6D88\u3048\u307E\u305B\u3093\uFF08\u4F5C\u6210\u5F8C\u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068\u5207\u308A\u96E2\u3055\u308C\u3066\u3044\u307E\u3059\uFF09\u3002\n\n"+TEMPLATE_HELP,destructive:true,forbidden:WRITE_FORBIDDEN,flags:[templateRefFlag],
147
+ prepare:(input,ctx)=>prepareTemplate(input,ctx,DELETE_USAGE),plan:input=>({method:"DELETE",path:itemPath(input)}),summarize:body=>deleteAcknowledgement(body),raw:body=>deleteAcknowledgement(body)};var FROM_PROJECT_USAGE="twp project template from-project <\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306EID|\u30B3\u30FC\u30C9> --name <\u540D\u524D> [--description-file <\u30D1\u30B9>] [--category <\u5206\u985E>]";var fromProjectOperation={name:"from-project",summary:"\u65E2\u5B58\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u69CB\u6210\u304B\u3089\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\uFF09",
148
+ usage:FROM_PROJECT_USAGE,description:'POST /api/v2/project-templates/from-project/{projectId}\u3002--name \u304C\u5FC5\u9808\u3067\u3059\u3002\n\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u30FB\u7A2E\u5225\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u30E9\u30D9\u30EB\u30FB\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u30FB\u30BF\u30B9\u30AF\u3092\u5199\u3057\u305F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u308A\u307E\u3059\uFF08\u5143\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002\n\u516C\u958B\u7BC4\u56F2\u3092\u7D5E\u3063\u305F\u30BF\u30B9\u30AF\u306F\u5199\u3057\u307E\u305B\u3093\uFF08\u305D\u306E\u5B50\u30BF\u30B9\u30AF\u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u6700\u4E0A\u4F4D\u306B\u4E0A\u304C\u308A\u307E\u3059\uFF09\u3002\n\u5143\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u7BA1\u7406\u3067\u304D\u308B\u4EBA\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09\u3060\u3051\u304C\u5B9F\u884C\u3067\u304D\u307E\u3059\u3002\n<\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306EID|\u30B3\u30FC\u30C9> \u306F\u7701\u7565\u3067\u304D\u307E\u305B\u3093\uFF08\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u4F7F\u3044\u307E\u305B\u3093\uFF09\u3002\n\n\u4F8B:\n twp project template from-project PORTAL --name "\u793E\u5185\u30DD\u30FC\u30BF\u30EB\u578B" --category development',
149
+ forbidden:`${WRITE_FORBIDDEN}\u3042\u308F\u305B\u3066\u3001\u5143\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u7BA1\u7406\u3067\u304D\u308B\u4EBA\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\uFF09\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002`,flags:[{name:"--name",summary:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\uFF08\u5FC5\u9808\u30FB255 \u6587\u5B57\u4EE5\u5185\uFF09",takesValue:true,placeholder:"<\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D>"},{name:"-\
150
+ -category",summary:"\u5206\u985E\uFF08100 \u6587\u5B57\u4EE5\u5185\uFF09",takesValue:true,placeholder:"<\u5206\u985E>"},...DESCRIPTION_FLAGS],async prepare(input,ctx){const ref=singleRef(input,{flag:"<\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306EID|\u30B3\u30FC\u30C9>",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",usage:FROM_PROJECT_USAGE});if(collapsesInUrlPath(ref)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E UUID \u304B\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${ref}`,
151
+ "\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002")}if((input.flags.get("--name")??"").trim()==="")throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",FROM_PROJECT_USAGE);fieldBody(input,FROM_PROJECT_FIELDS);const description=await readDescription(input,FROM_PROJECT_USAGE);const project=await ctx.resolver.project(ref);
152
+ return withResolved(input,{projectId:project.id,...description!==void 0?{description}:{}})},plan(input){const projectId=requireResolved(input,"projectId");const body=fieldBody(input,FROM_PROJECT_FIELDS);const description=input.resolved?.["description"];if(description!==void 0)body["description"]=description;return{method:"POST",path:`${PROJECT_TEMPLATES_PATH}/from-project/${encodeURIComponent(projectId)}`,body}},summarize:body=>templateSummary(templateItem(body,"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\uFF09")),
153
+ raw:body=>templateItem(body,"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\uFF09")};var FROM_PROJECT_FIELDS=FIELDS.filter(field=>field.key==="name"||field.key==="category");var APPLY_FIELDS=[{kind:"text",flag:"--code",key:"code",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9",maxChars:255,summary:"\u4F5C\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\uFF08\u5FC5\u9808\u30FB\u30BF\u30B9\u30AF\u30AD\u30FC\u306E\u63A5\u982D\u8F9E\u306B\u306A\u308B\uFF09"},
154
+ {kind:"text",flag:"--name",key:"name",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D",maxChars:255,summary:"\u4F5C\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u540D\u524D\uFF08\u5FC5\u9808\uFF09"},{kind:"date",flag:"--start-date",key:"start_date",summary:"\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\uFF09"},{kind:"date",flag:"--end-date",key:"end_date",summary:"\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\uFF09"},{kind:"ref",flag:"--manager",key:"project_manager_id",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u3002me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\
155
+ \u54E1\u756A\u53F7\u30FB\u6C0F\u540D\uFF09",placeholder:"<\u30E6\u30FC\u30B6\u30FC>",clearFlag:"--no-manager",clearSummary:"",resolve:(ctx,ref,flag)=>ctx.resolver.user(ref,flag)},{kind:"ref",flag:"--department",key:"department_id",summary:"\u4E3B\u5E79\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-department",clearSummary:"",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)}];var MEMO_FLAGS=[{name:"--memo",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\
156
+ \u30C8\u306E\u30E1\u30E2\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08--memo-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},{name:"--memo-file",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30E2\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"}];var APPLY_USAGE="twp project template apply <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8> --code <\u30B3\u30FC\u30C9> --name <\u540D\u524D\
157
+ > [\u9805\u76EE\u2026]";var applyOperation={name:"apply",summary:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\uFF09",usage:APPLY_USAGE,description:`POST /api/v2/project-templates/{id}/apply\u3002--code \u3068 --name \u304C\u5FC5\u9808\u3067\u3059\u3002
158
+ **\u65E2\u5B58\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u306F\u9069\u7528\u3057\u307E\u305B\u3093\u3002** \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u30FB\u7A2E\u5225\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u30E9\u30D9\u30EB\u30FB\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u30FB\u30BF\u30B9\u30AF\u3092\u6301\u3064
159
+ \u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u308A\u307E\u3059\uFF08\u65E2\u5B58\u306E\u3082\u306E\u306F\u4F55\u3082\u5909\u308F\u3089\u306A\u3044\u306E\u3067 --yes \u306F\u8981\u308A\u307E\u305B\u3093\uFF09\u3002
160
+ \u9001\u308B\u524D\u306B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u8AAD\u307F\u3001\u4F55\u304C\u3044\u304F\u3064\u4F5C\u3089\u308C\u308B\u304B\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002
161
+ \u30B3\u30FC\u30C9\u306B\u4F7F\u3048\u308B\u6587\u5B57\u3068\u91CD\u8907\u306F\u30B5\u30FC\u30D0\u304C\u5224\u5B9A\u3057\u307E\u3059\u3002
162
+
163
+ ${TEMPLATE_HELP}
164
+
165
+ \u4F8B:
166
+ twp project template apply "\u53D7\u8A17\u958B\u767A\uFF08\u6A19\u6E96\uFF09" --code ACME --name "ACME \u793E \u57FA\u5E79\u5237\u65B0" --start-date 2026-11-01 --manager me
167
+ twp project template apply "\u53D7\u8A17\u958B\u767A\uFF08\u6A19\u6E96\uFF09" --code ACME --name "ACME \u793E \u57FA\u5E79\u5237\u65B0" --dry-run`,forbidden:WRITE_FORBIDDEN,flags:[...createFlags(APPLY_FIELDS),...MEMO_FLAGS,templateRefFlag],async prepare(input,ctx){for(const flag of["--code","--name"]){if((input.flags.get(flag)??"").trim()==="")throw new UsageError(`${flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,APPLY_USAGE)}const code=(input.flags.get("--code")??"").trim();if(collapsesInUrlPath(
168
+ code)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${code}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u3001twp project get \u306A\u3069\u3067\u5F15\u3051\u306A\u304F\u306A\u308A\u307E\u3059\u3002")}fieldBody(input,APPLY_FIELDS);const memo=await readBody(input,{flag:"--memo",fileFlag:"--memo-file",
169
+ label:"\u30E1\u30E2",maxChars:1e4,usage:APPLY_USAGE});const withRefs=await resolveRefFields(input,ctx,APPLY_FIELDS);const target=await prepareTemplate(withRefs,ctx,APPLY_USAGE);return memo===void 0?target:withResolved(target,{memo})},plan(input){const body=fieldBody(input,APPLY_FIELDS);const memo=input.resolved?.["memo"];if(memo!==void 0)body["memo"]=memo;return{method:"POST",path:`${itemPath(input)}/apply`,body}},async preview(input,ctx){const template=templateItem(await ctx.send({method:"GET",
170
+ path:itemPath(input)}),"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u53D6\u5F97");return{notes:[applyPreviewNote(template,(input.flags.get("--code")??"").trim())],warnings:[]}},summarize:body=>applyResult(body),raw:body=>applyResult(body)};function applyPreviewNote(template,code){const parts=CONFIG_ARRAYS.map(([key,label])=>{const value=template[key];return`${label} ${Array.isArray(value)?value.length:"\u4E0D\u660E"}`});const name=typeof template["name"]==="str\
171
+ ing"?template["name"]:String(template["id"]);return`\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u300C${name}\u300D\u304B\u3089\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ${code} \u3092\u4F5C\u308A\u307E\u3059\uFF08${parts.join(" / ")}\uFF09\u3002\u65E2\u5B58\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u5909\u308F\u308A\u307E\u305B\u3093\u3002`}function applyResult(body){const data=isRecord(body)?body["data"]:void 0;const project=isRecord(data)?data["project"]:void 0;if(!isRecord(data)||!isRecord(
172
+ project)||typeof project["id"]!=="string"){throw new ApiResponseError("\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\u306E\u5FDC\u7B54\u306B data.project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const created={};for(const key of["statuses_created","types_created","categories_created","labels_created","milestones_created","tasks_created"]){created[key]=data[key]??
173
+ null}return{...pick(project,["id","code","name","status","start_date","end_date"]),...created}}var projectTemplateResource={name:"template",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\u306E\u4F5C\u6210\u30FB\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\uFF09",operations:[
174
+ listOperation,getOperation,createOperation2,updateOperation2,deleteOperation2,fromProjectOperation,applyOperation]};var NAME_MAX_CHARS=255;var CODE_MAX_CHARS=255;var MEMO_MAX_CHARS2=Number.POSITIVE_INFINITY;var PROJECTS_PATH="/api/v2/projects";function userRefField(flag,key,label){return{kind:"ref",flag,key,summary:`${label}\uFF08\u30E6\u30FC\u30B6\u30FC\u3002me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\uFF09`,placeholder:"<\u30E6\u30FC\u30B6\u30FC>",clearFlag:`--no-${flag.slice(2)}`,clearSummary:`${label}\u3092\u5916\u3059`,resolve:(ctx,ref,flagName)=>ctx.
175
+ resolver.user(ref,flagName)}}var FIELDS2=[{kind:"text",flag:"--name",key:"name",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D",maxChars:NAME_MAX_CHARS,summary:`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\uFF08${NAME_MAX_CHARS} \u6587\u5B57\u4EE5\u5185\uFF09`},{kind:"text",flag:"--code",key:"code",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9",maxChars:CODE_MAX_CHARS,summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\uFF08\u30BF\u30B9\u30AF\u30AD\u30FC\u306E\u63A5\u982D\u8F9E\u306B\u306A\u308B\uFF09"},
93
176
  {kind:"date",flag:"--start-date",key:"start_date",summary:"\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09"},{kind:"date",flag:"--end-date",key:"end_date",summary:"\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09\u3002\u904E\u53BB\u65E5\u306B\u3059\u308B\u3068\u30AF\u30ED\u30FC\u30BA\u3001\u4ECA\u65E5\u4EE5\u964D\u304B none \u3067\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u306A\u308B"},userRefField("--manager","project_manager_id","\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC"),
94
177
  userRefField("--leader","project_leader_id","\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EA\u30FC\u30C0\u30FC"),{kind:"ref",flag:"--department",key:"department_id",summary:"\u4E3B\u5E79\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-department",clearSummary:"\u4E3B\u5E79\u90E8\u7F72\u3092\u5916\u3059",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{kind:"boolean",flag:"--visible",key:"display_flg",summary:"\u4E00\u89A7\u306B\u8868\u793A\u3059\u308B\u304B\uFF08true /\
95
178
  false\uFF09"},{kind:"boolean",flag:"--tasks-enabled",key:"task_enabled_flg",summary:"\u30BF\u30B9\u30AF\u7BA1\u7406\u3092\u4F7F\u3046\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--punch-disabled",key:"punch_disabled_flg",summary:"\u6253\u523B\u306E\u5BFE\u8C61\u304B\u3089\u5916\u3059\u304B\uFF08true / false\uFF09\u3002\u8AB2\u984C\u30FB\u30BF\u30B9\u30AF\u7BA1\u7406\u3060\u3051\u306B\u4F7F\u3046\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5411\u3051"},{kind:"integer",flag:"--default-due-days",
96
179
  key:"default_due_days",label:"\u65E2\u5B9A\u306E\u671F\u65E5",min:1,max:365,summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\uFF08\u4F5C\u6210\u65E5\u304B\u3089\u4F55\u65E5\u5F8C\u304B\u30FB1\u301C365\uFF09"},{kind:"enum",flag:"--wiki-default-format",key:"wiki_default_content_format",values:["html","markdown"],summary:"Wiki \u306E\u65B0\u898F\u30DA\u30FC\u30B8\u306E\u65E2\u5B9A\u306E\u5F62\u5F0F\uFF08html / markdown\uFF09\u3002\u4F5C\u6210\u6E08\u307F\u306E\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u306F\u5909\u308F\u3089\u306A\u3044"}];
97
- var CREATE_FIELDS=FIELDS.filter(field=>field.key!=="default_due_days");var MEMO_FLAGS=[{name:"--memo",summary:"\u30E1\u30E2\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08--memo-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},{name:"--memo-file",summary:"\u30E1\u30E2\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u6539\u884C\u30FBMarkdown \u3092\u58CA\u3055\u306A\u3044",takesValue:true,
98
- placeholder:"<\u30D1\u30B9|->"}];var CLEAR_FLAGS=[{flag:{name:"--no-memo",summary:"\u30E1\u30E2\u3092\u6D88\u3059",takesValue:false},key:"memo",conflicts:["--memo","--memo-file"]},{flag:{name:"--no-default-due-days",summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\u3092\u5916\u3059",takesValue:false},key:"default_due_days",conflicts:["--default-due-days"]}];var COLUMNS=["id","code","name","status","start_date","end_date","display_flg","task_enabled_flg","wiki_def\
99
- ault_content_format","updated_at"];var STATUS_HELP="\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08active / closed\uFF09\u306F\u7D42\u4E86\u65E5\u304B\u3089\u81EA\u52D5\u3067\u6C7A\u307E\u308A\u307E\u3059\uFF08\u6307\u5B9A\u306F\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\n\u65E9\u304F\u7D42\u3048\u308B\u3068\u304D\u306F --end-date \u3092\u904E\u53BB\u65E5\u306B\u3001\u518D\u958B\u3059\u308B\u3068\u304D\u306F\u4ECA\u65E5\u4EE5\u964D\u306E\u65E5\u4ED8\u304B none \u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
180
+ var CREATE_FIELDS=FIELDS2.filter(field=>field.key!=="default_due_days");var MEMO_FLAGS2=[{name:"--memo",summary:"\u30E1\u30E2\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08--memo-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},{name:"--memo-file",summary:"\u30E1\u30E2\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u6539\u884C\u30FBMarkdown \u3092\u58CA\u3055\u306A\u3044",takesValue:true,
181
+ placeholder:"<\u30D1\u30B9|->"}];var CLEAR_FLAGS2=[{flag:{name:"--no-memo",summary:"\u30E1\u30E2\u3092\u6D88\u3059",takesValue:false},key:"memo",conflicts:["--memo","--memo-file"]},{flag:{name:"--no-default-due-days",summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\u3092\u5916\u3059",takesValue:false},key:"default_due_days",conflicts:["--default-due-days"]}];var COLUMNS=["id","code","name","status","start_date","end_date","display_flg","task_enabled_flg","wiki_de\
182
+ fault_content_format","updated_at"];var STATUS_HELP="\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08active / closed\uFF09\u306F\u7D42\u4E86\u65E5\u304B\u3089\u81EA\u52D5\u3067\u6C7A\u307E\u308A\u307E\u3059\uFF08\u6307\u5B9A\u306F\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\n\u65E9\u304F\u7D42\u3048\u308B\u3068\u304D\u306F --end-date \u3092\u904E\u53BB\u65E5\u306B\u3001\u518D\u958B\u3059\u308B\u3068\u304D\u306F\u4ECA\u65E5\u4EE5\u964D\u306E\u65E5\u4ED8\u304B none \u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
100
183
  var REF_HELP="\u30E6\u30FC\u30B6\u30FC\uFF08--manager / --leader\uFF09\u306F me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u3001\u90E8\u7F72\u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3084\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3059\u308B\u3068\u4E00\u610F\u306B\u6C7A\u307E\u308A\u307E\u3059\u3002";
101
184
  var CREATE_FORBIDDEN="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210\u306B\u306F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";var UPDATE_FORBIDDEN="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u66F4\u65B0\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3001\u304B\u3064\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3067\u3042\u308B\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002";
102
185
  function readMemo(input,usage){return readBody(input,{flag:"--memo",fileFlag:"--memo-file",label:"\u30E1\u30E2",maxChars:MEMO_MAX_CHARS2,usage})}function checkCode(input){const code=input.flags.get("--code");if(code!==void 0&&collapsesInUrlPath(code.trim())){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${code}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u3001twp project get \u306A\u3069\u3067\u5F15\u3051\u306A\u304F\u306A\u308A\u307E\u3059\u3002")}}
103
- function projectBody(input,fields){const body=fieldBody(input,fields);for(const clear of CLEAR_FLAGS)if(input.flags.has(clear.flag.name))body[clear.key]=null;const memo=input.resolved?.["memo"];if(memo!==void 0)body["memo"]=memo;return body}async function prepareFields(input,ctx,usage,fields){checkCode(input);fieldBody(input,fields);for(const clear of CLEAR_FLAGS){if(input.flags.has(clear.flag.name)&&clear.conflicts.some(flag=>input.flags.has(flag))){throw new UsageError(`${clear.flag.name} \u3068 ${clear.
186
+ function projectBody(input,fields){const body=fieldBody(input,fields);for(const clear of CLEAR_FLAGS2)if(input.flags.has(clear.flag.name))body[clear.key]=null;const memo=input.resolved?.["memo"];if(memo!==void 0)body["memo"]=memo;return body}async function prepareFields(input,ctx,usage,fields){checkCode(input);fieldBody(input,fields);for(const clear of CLEAR_FLAGS2){if(input.flags.has(clear.flag.name)&&clear.conflicts.some(flag=>input.flags.has(flag))){throw new UsageError(`${clear.flag.name} \u3068 ${clear.
104
187
  conflicts.join(" / ")} \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}}const memo=await readMemo(input,usage);const withRefs=await resolveRefFields(input,ctx,fields);return memo===void 0?withRefs:withResolved(withRefs,{memo})}function projectOf(body,label){const project=isRecord(body)?body["project"]:void 0;if(!isRecord(project)){throw new ApiResponseError(`${label}\
105
- \u306E\u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return project}var CREATE_USAGE="twp project create --name <\u540D\u524D> --code <\u30B3\u30FC\u30C9> [\u9805\u76EE\u2026]";var createOperation2={name:"create",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\uFF09",usage:CREATE_USAGE,description:`\
188
+ \u306E\u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return project}var CREATE_USAGE2="twp project create --name <\u540D\u524D> --code <\u30B3\u30FC\u30C9> [\u9805\u76EE\u2026]";var createOperation3={name:"create",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\uFF09",usage:CREATE_USAGE2,description:`\
106
189
  POST /api/v2/projects\u3002--name \u3068 --code \u304C\u5FC5\u9808\u3067\u3059\u3002\u4F5C\u6210\u3057\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E id \u3068\u30B3\u30FC\u30C9\u304C\u8FD4\u308A\u307E\u3059\u3002
107
190
  \u30B3\u30FC\u30C9\u306F\u30BF\u30B9\u30AF\u30AD\u30FC\u306E\u63A5\u982D\u8F9E\u306B\u306A\u308A\u307E\u3059\uFF08\u30B3\u30FC\u30C9 ABC \u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30BF\u30B9\u30AF\u306F ABC-1, ABC-2, \u2026\uFF09\u3002
108
191
  \u30B3\u30FC\u30C9\u306B\u4F7F\u3048\u308B\u6587\u5B57\u3068\u91CD\u8907\u306F\u30B5\u30FC\u30D0\u304C\u5224\u5B9A\u3057\u307E\u3059\uFF08\u4F7F\u3048\u306A\u3051\u308C\u3070\u30B5\u30FC\u30D0\u306E\u7406\u7531\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002
@@ -116,9 +199,9 @@ ${REF_HELP}
116
199
 
117
200
  \u4F8B:
118
201
  twp project create --name "\u793E\u5185\u30DD\u30FC\u30BF\u30EB\u5237\u65B0" --code PORTAL --start-date 2026-11-01 --end-date 2027-03-31
119
- twp project create --name "\u554F\u3044\u5408\u308F\u305B\u5BFE\u5FDC" --code SUPPORT --manager me --memo-file memo.md`,forbidden:CREATE_FORBIDDEN,flags:[...createFlags(CREATE_FIELDS),...MEMO_FLAGS],async prepare(input,ctx){if(input.args.length>0)throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp project create help");if((input.flags.get("--name")??"").trim()==="")throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
120
- CREATE_USAGE);if((input.flags.get("--code")??"").trim()==="")throw new UsageError("--code \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",CREATE_USAGE);return prepareFields(input,ctx,CREATE_USAGE,CREATE_FIELDS)},plan:input=>({method:"POST",path:PROJECTS_PATH,body:projectBody(input,CREATE_FIELDS)}),summarize:body=>pick(projectOf(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210"),COLUMNS),raw:body=>projectOf(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210")};var UPDATE_USAGE="\
121
- twp project update <ID|\u30B3\u30FC\u30C9> [\u9805\u76EE\u2026]";var updateOperation2={name:"update",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u9805\u76EE\u3092\u66F4\u65B0\u3059\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u308B\uFF09",usage:UPDATE_USAGE,description:`PUT /api/v2/projects/{id}\u3002\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u307E\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002
202
+ twp project create --name "\u554F\u3044\u5408\u308F\u305B\u5BFE\u5FDC" --code SUPPORT --manager me --memo-file memo.md`,forbidden:CREATE_FORBIDDEN,flags:[...createFlags(CREATE_FIELDS),...MEMO_FLAGS2],async prepare(input,ctx){if(input.args.length>0)throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp project create help");if((input.flags.get("--name")??"").trim()==="")throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
203
+ CREATE_USAGE2);if((input.flags.get("--code")??"").trim()==="")throw new UsageError("--code \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",CREATE_USAGE2);return prepareFields(input,ctx,CREATE_USAGE2,CREATE_FIELDS)},plan:input=>({method:"POST",path:PROJECTS_PATH,body:projectBody(input,CREATE_FIELDS)}),summarize:body=>pick(projectOf(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210"),COLUMNS),raw:body=>projectOf(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210")};var UPDATE_USAGE2="\
204
+ twp project update <ID|\u30B3\u30FC\u30C9> [\u9805\u76EE\u2026]";var updateOperation3={name:"update",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u9805\u76EE\u3092\u66F4\u65B0\u3059\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u308B\uFF09",usage:UPDATE_USAGE2,description:`PUT /api/v2/projects/{id}\u3002\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u307E\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002
122
205
  \u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002<ID|\u30B3\u30FC\u30C9> \u306F\u7701\u7565\u3067\u304D\u307E\u305B\u3093\uFF08\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u4F7F\u3044\u307E\u305B\u3093\uFF09\u3002
123
206
 
124
207
  \u5024\u3092\u5916\u3059\u3068\u304D: \u65E5\u4ED8\u306F none\uFF08--end-date none\uFF09\u3001\u30E6\u30FC\u30B6\u30FC\u30FB\u90E8\u7F72\u306F --no-manager / --no-leader / --no-department\u3001\u30E1\u30E2\u306F --no-memo\u3001\u65E2\u5B9A\u306E\u671F\u65E5\u306F --no-default-due-days\u3002
@@ -134,24 +217,24 @@ ${REF_HELP}
134
217
  \u4F8B:
135
218
  twp project update PORTAL --name "\u793E\u5185\u30DD\u30FC\u30BF\u30EB\u5237\u65B0\uFF08\u7B2C2\u671F\uFF09" --end-date 2027-06-30
136
219
  twp project update PORTAL --end-date none --no-leader
137
- twp project update PORTAL --code PORTAL2 --dry-run`,forbidden:UPDATE_FORBIDDEN,flags:[...updateFlags(FIELDS),...MEMO_FLAGS,...CLEAR_FLAGS.map(clear=>clear.flag)],async prepare(input,ctx){if(!hasAnyField(input,FIELDS)&&!["--memo","--memo-file",...CLEAR_FLAGS.map(clear=>clear.flag.name)].some(flag=>input.flags.has(flag))){throw new UsageError("\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp project update help")}const ref=singleRef(input,
138
- {flag:"<ID|\u30B3\u30FC\u30C9>",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",usage:UPDATE_USAGE});if(collapsesInUrlPath(ref)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E UUID \u304B\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${ref}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002")}const prepared=await prepareFields(
139
- {...input,args:[]},ctx,UPDATE_USAGE,FIELDS);const project=await ctx.resolver.project(ref);return withResolved(prepared,{projectId:project.id,...project.code!==project.id?{currentCode:project.code}:{}})},plan:input=>({method:"PUT",path:`${PROJECTS_PATH}/${encodeURIComponent(requireResolved(input,"projectId"))}`,body:projectBody(input,FIELDS)}),async preview(input,ctx){const raw=input.flags.get("--code");if(raw===void 0)return{notes:[],warnings:[]};const next=raw.trim();const current=input.resolved?.["\
220
+ twp project update PORTAL --code PORTAL2 --dry-run`,forbidden:UPDATE_FORBIDDEN,flags:[...updateFlags(FIELDS2),...MEMO_FLAGS2,...CLEAR_FLAGS2.map(clear=>clear.flag)],async prepare(input,ctx){if(!hasAnyField(input,FIELDS2)&&!["--memo","--memo-file",...CLEAR_FLAGS2.map(clear=>clear.flag.name)].some(flag=>input.flags.has(flag))){throw new UsageError("\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp project update help")}const ref=singleRef(
221
+ input,{flag:"<ID|\u30B3\u30FC\u30C9>",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",usage:UPDATE_USAGE2});if(collapsesInUrlPath(ref)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E UUID \u304B\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${ref}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002")}const prepared=await prepareFields(
222
+ {...input,args:[]},ctx,UPDATE_USAGE2,FIELDS2);const project=await ctx.resolver.project(ref);return withResolved(prepared,{projectId:project.id,...project.code!==project.id?{currentCode:project.code}:{}})},plan:input=>({method:"PUT",path:`${PROJECTS_PATH}/${encodeURIComponent(requireResolved(input,"projectId"))}`,body:projectBody(input,FIELDS2)}),async preview(input,ctx){const raw=input.flags.get("--code");if(raw===void 0)return{notes:[],warnings:[]};const next=raw.trim();const current=input.resolved?.["\
140
223
  currentCode"];if(current===next)return{notes:[`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u306F ${next} \u306E\u307E\u307E\u3067\u3059\uFF08\u30BF\u30B9\u30AF\u30AD\u30FC\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002`],warnings:[]};const projectId=requireResolved(input,"projectId");const preview=await ctx.send({method:"GET",path:`${PROJECTS_PATH}/${encodeURIComponent(projectId)}/code-change-preview`,query:{code:next}});return codeChangePreview(preview,next)},summarize:body=>pick(
141
224
  projectOf(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u66F4\u65B0"),COLUMNS),raw:body=>projectOf(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u66F4\u65B0")};function codeChangePreview(body,next){const count=isRecord(body)?body["task_count"]:void 0;const changeable=isRecord(body)?body["changeable"]:void 0;if(typeof count!=="number"||typeof changeable!=="boolean"){throw new ApiResponseError("\u30B3\u30FC\u30C9\u5909\u66F4\u306E\u5F71\u97FF\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u5FDC\u7B54\u306B task_count / changeable \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
142
225
  const current=isRecord(body)&&typeof body["current_code"]==="string"?body["current_code"]:"\uFF08\u4E0D\u660E\uFF09";if(!changeable){const max=isRecord(body)&&typeof body["max_tasks"]==="number"?`\uFF08\u4E0A\u9650 ${body["max_tasks"]} \u4EF6\uFF09`:"";throw new UsageError(`\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u30BF\u30B9\u30AF\u304C ${count} \u4EF6\u3042\u308B\u305F\u3081\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093${max}\
143
226
  \u3002`,"\u30B3\u30FC\u30C9\u3092\u5909\u3048\u305A\u306B\u3001\u540D\u524D\uFF08--name\uFF09\u3060\u3051\u3092\u5909\u3048\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u3059\u3002")}if(current===next)return{notes:[`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u306F ${next} \u306E\u307E\u307E\u3067\u3059\uFF08\u30BF\u30B9\u30AF\u30AD\u30FC\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002`],warnings:[]};if(count===0)return{notes:[`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3092 ${current}\
144
227
  \u304B\u3089 ${next} \u306B\u5909\u3048\u307E\u3059\uFF08\u30BF\u30B9\u30AF\u304C\u7121\u3044\u305F\u3081\u3001\u66F8\u304D\u63DB\u308F\u308B\u30AD\u30FC\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002`],warnings:[]};return{notes:[],warnings:[`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3092 ${current} \u304B\u3089 ${next} \u306B\u5909\u3048\u308B\u3068\u3001\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30BF\u30B9\u30AF ${count} \u4EF6\u306E\u30AD\u30FC\u304C\u66F8\u304D\u63DB\u308F\u308A\u307E\u3059\uFF08${current}\
145
- -1 \u2192 ${next}-1\uFF09\u3002\u5916\u90E8\u306B\u8CBC\u3063\u305F\u30AD\u30FC\u3084\u30D6\u30E9\u30F3\u30C1\u540D\u306F\u8FFD\u968F\u3057\u307E\u305B\u3093\u3002`]}}var projectWriteOperations=[createOperation2,updateOperation2];var LIST_COLUMNS=["id","code","name","status","effective_status"];var GET_COLUMNS=["id","code","name","status","effective_status","display_flg","closed_flg","task_enabled_flg","wiki_default_content_format","start_date","end_date","created_at","updated_at"];var MEMBER_COLUMNS2=["user_id","user_name","user_email","role","wiki_role","alias","department_name"];function memberItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list\
146
- \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}var listPaging=envelopePaging({label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7"});function listItems(body){return listPaging.items(body)}function projectObject(body){const project=isRecord(body)?body["project"]:void 0;if(!isRecord(project)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A73\u7D30\u306E\u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
228
+ -1 \u2192 ${next}-1\uFF09\u3002\u5916\u90E8\u306B\u8CBC\u3063\u305F\u30AD\u30FC\u3084\u30D6\u30E9\u30F3\u30C1\u540D\u306F\u8FFD\u968F\u3057\u307E\u305B\u3093\u3002`]}}var projectWriteOperations=[createOperation3,updateOperation3];var LIST_COLUMNS2=["id","code","name","status","effective_status"];var GET_COLUMNS2=["id","code","name","status","effective_status","display_flg","closed_flg","task_enabled_flg","wiki_default_content_format","start_date","end_date","created_at","updated_at"];var MEMBER_COLUMNS2=["user_id","user_name","user_email","role","wiki_role","alias","department_name"];function memberItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B li\
229
+ st \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}var listPaging=envelopePaging({label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7"});function listItems(body){return listPaging.items(body)}function projectObject(body){const project=isRecord(body)?body["project"]:void 0;if(!isRecord(project)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A73\u7D30\u306E\u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
147
230
  return project}var MANHOURS_USAGE="twp project manhours [<ID|\u30B3\u30FC\u30C9>] [--from <YYYY-MM-DD>] [--to <YYYY-MM-DD>]";var projectDomain={name:"project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u30E1\u30F3\u30D0\u30FC\u306E\u30A2\u30B5\u30A4\u30F3\u30FB\u5DE5\u6570\u30FB\u30EA\u30B9\u30AF\u5206\u6790\u30FB\u53CE\u652F\u5206\u6790\u30FB\u5DE5\u7A0B",operations:[{name:"list",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B",
148
231
  usage:"twp project list [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>] [--keyword <\u8A9E>] [--status <\u72B6\u614B>]",description:"--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08id / code / name / status / effective_status\uFF09\u3067\u3059\u3002\n\u6B32\u3057\u3044\u5217\u3060\u3051\u3092\u6A5F\u68B0\u51E6\u7406\u3057\u305F\u3044\u3068\u304D\u306F --query \u3067\u9078\u3093\u3067\u304F\u3060\u3055\u3044\uFF08--query \u306F\u751F\u30C7\u30FC\u30BF\u306B\u5BFE\u3057\u3066\u8A55\u4FA1\u3055\u308C\u307E\u3059\uFF09\u3002\n\n"+
149
232
  LIST_PAGING_HELP,flags:[...LIST_FLAGS,{name:"--keyword",summary:"\u30B3\u30FC\u30C9\u30FB\u540D\u79F0\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--status",summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u4F8B: active\uFF09",takesValue:true,placeholder:"<\u72B6\u614B>"}],paging:listPaging,plan(input){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
150
- args.join(" ")}`,"twp project list help")}return{method:"GET",path:"/api/v2/projects",query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),keyword:nonEmpty(input.flags,"--keyword"),status:nonEmpty(input.flags,"--status")}}},summarize:body=>listItems(body).map(row=>pick(row,LIST_COLUMNS)),raw:body=>listItems(body)},{name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:"twp project get <ID|\u30B3\u30FC\u30C9>",
151
- description:'ID\uFF08UUID / ULID\uFF09\u306A\u3089\u305D\u306E\u307E\u307E\u3001\u305D\u308C\u4EE5\u5916\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3068\u3057\u3066\u89E3\u6C7A\u3057\u307E\u3059\uFF081\u5F80\u5FA9\uFF09\u3002\n\u30B3\u30FC\u30C9\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u5834\u5408\u3001\u30B5\u30FC\u30D0\u306F\u300C\u5B58\u5728\u3057\u306A\u3044\u300D\u3068\u300C\u95B2\u89A7\u6A29\u9650\u304C\u7121\u3044\u300D\u3092\u610F\u56F3\u7684\u306B\u533A\u5225\u3057\u307E\u305B\u3093\u3002\n\u30B3\u30FC\u30C9\u304C literally "help" \u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5F15\u304F\u3068\u304D\u3060\u3051 `twp project get -- help` \u3068\u66F8\u304D\u307E\u3059\n\uFF08\u5148\u982D\u306E help \u306F\u30D8\u30EB\u30D7\u8981\u6C42\u3068\u3057\u3066\u89E3\u91C8\u3055\u308C\u308B\u305F\u3081\uFF09\u3002',
233
+ args.join(" ")}`,"twp project list help")}return{method:"GET",path:"/api/v2/projects",query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),keyword:nonEmpty(input.flags,"--keyword"),status:nonEmpty(input.flags,"--status")}}},summarize:body=>listItems(body).map(row=>pick(row,LIST_COLUMNS2)),raw:body=>listItems(body)},{name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:"twp project get <ID|\u30B3\u30FC\u30C9\
234
+ >",description:'ID\uFF08UUID / ULID\uFF09\u306A\u3089\u305D\u306E\u307E\u307E\u3001\u305D\u308C\u4EE5\u5916\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3068\u3057\u3066\u89E3\u6C7A\u3057\u307E\u3059\uFF081\u5F80\u5FA9\uFF09\u3002\n\u30B3\u30FC\u30C9\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u5834\u5408\u3001\u30B5\u30FC\u30D0\u306F\u300C\u5B58\u5728\u3057\u306A\u3044\u300D\u3068\u300C\u95B2\u89A7\u6A29\u9650\u304C\u7121\u3044\u300D\u3092\u610F\u56F3\u7684\u306B\u533A\u5225\u3057\u307E\u305B\u3093\u3002\n\u30B3\u30FC\u30C9\u304C literally "help" \u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5F15\u304F\u3068\u304D\u3060\u3051 `twp project get -- help` \u3068\u66F8\u304D\u307E\u3059\n\uFF08\u5148\u982D\u306E help \u306F\u30D8\u30EB\u30D7\u8981\u6C42\u3068\u3057\u3066\u89E3\u91C8\u3055\u308C\u308B\u305F\u3081\uFF09\u3002',
152
235
  flags:[],plan(input){const[rawRef,...rest]=input.args;const ref=rawRef?.trim()??"";if(ref===""){throw new UsageError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E UUID \u304B\u30B3\u30FC\u30C9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp project get help")}if(rest.length>0){throw new UsageError(`get \u304C\u53D7\u3051\u53D6\u308C\u308B\u5F15\u6570\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,"twp project get help")}if(collapsesInUrlPath(ref)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\
153
236
  \u306E UUID \u304B\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${ref}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002")}return safeProjectIdPolicy.isDirectId(ref)?{method:"GET",path:`/api/v2/projects/${encodeURIComponent(ref)}`}:{method:"GET",path:`/api/v2/projects/by-code/${encodeURIComponent(ref)}`}},summarize:body=>pick(
154
- projectObject(body),GET_COLUMNS),raw:body=>projectObject(body)},...projectWriteOperations,{name:"members",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u4E00\u89A7\u3059\u308B",usage:"twp project members [<ID|\u30B3\u30FC\u30C9>]",description:"\u7701\u7565\u3059\u308B\u3068\u65E2\u5B9A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09\u3092\u4F7F\u3044\u307E\u3059\u3002\n\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u306A\u3044\u306E\u3067\u3001\u4EF6\u6570\uFF0810,000 \u4EF6\uFF09\u3092\u660E\u793A\u3057\u30661\u56DE\u3067\u5F15\u304D\u307E\u3059\uFF08--all / --limit \u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\u3053\u3053\u306B\u51FA\u308B user_id / user_email \u306F twp task list --assignee \u306B\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\u3002",
237
+ projectObject(body),GET_COLUMNS2),raw:body=>projectObject(body)},...projectWriteOperations,{name:"members",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u4E00\u89A7\u3059\u308B",usage:"twp project members [<ID|\u30B3\u30FC\u30C9>]",description:"\u7701\u7565\u3059\u308B\u3068\u65E2\u5B9A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09\u3092\u4F7F\u3044\u307E\u3059\u3002\n\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u306A\u3044\u306E\u3067\u3001\u4EF6\u6570\uFF0810,000 \u4EF6\uFF09\u3092\u660E\u793A\u3057\u30661\u56DE\u3067\u5F15\u304D\u307E\u3059\uFF08--all / --limit \u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\u3053\u3053\u306B\u51FA\u308B user_id / user_email \u306F twp task list --assignee \u306B\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\u3002",
155
238
  flags:[],async prepare(input,ctx){const[ref,...rest]=input.args;if(rest.length>0){throw new UsageError(`members \u304C\u53D7\u3051\u53D6\u308C\u308B\u5F15\u6570\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,"twp project members help")}return withResolved(input,{projectId:await ctx.projectId(ref)})},plan(input){const projectId=requireResolved(input,"projectId");return{method:"GET",path:`/api/v2/projects/${encodeURIComponent(projectId)}/members`,query:{limit:PROJECT_MEMBERS_LIMIT}}},summarize:body=>memberItems(
156
239
  body).map(row=>pick(row,MEMBER_COLUMNS2)),raw:body=>memberItems(body),notes:body=>memberItems(body).length>=PROJECT_MEMBERS_LIMIT?[`${PROJECT_MEMBERS_LIMIT} \u4EF6\u3067\u6253\u3061\u5207\u3089\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306F\u53C2\u753B\u65E5\u6642\u306E\u65B0\u3057\u3044\u9806\u306B\u8FD4\u3057\u307E\u3059\uFF09\u3002`]:[]},{name:"mine",summary:"\u81EA\u5206\u304C\u30E1\u30F3\u30D0\u30FC\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u5F79\u5272\u30FB\u53C2\u753B\u671F\u9593\u3064\u304D\uFF09",
157
240
  usage:"twp project mine",description:"GET /api/v2/me/projects\u3002\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5E38\u306B\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002\nmember_start_date / member_end_date \u306F\u81EA\u5206\u306E\u53C2\u753B\u671F\u9593\u3067\u3059\uFF08start_date / end_date \u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u671F\u9593\uFF09\u3002\n\u7A3C\u50CD\u671F\u9593\uFF08assignment_periods\uFF09\u306F --output json \u304B --query \u3067\u8AAD\u3081\u307E\u3059\u3002",
@@ -160,6 +243,6 @@ usage:MANHOURS_USAGE,description:"GET /api/v2/projects/{id}/manhours\u3002\u7701
160
243
  MANHOUR_DESCRIPTION,flags:[MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG],forbidden:body=>body?.error==="permission_denied"&&(body.error_description??"").includes("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005")?"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5DE5\u6570\u3092\u8AAD\u3080\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\uFF08manager\uFF09\u304B\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3060\u3051\u304C\u8AAD\u3081\u307E\u3059\u3002":
161
244
  void 0,prepare:(input,ctx)=>projectRefInput(input,ctx,"manhours"),plan(input){const projectId=requireResolved(input,"projectId");return{method:"GET",path:`/api/v2/projects/${encodeURIComponent(projectId)}/manhours`,query:manhourQuery(input,MANHOURS_USAGE)}},summarize:body=>manhourRows(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5DE5\u6570"),raw:body=>{manhourRows(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5DE5\u6570");return body},notes:body=>manhourNotes(body)},{name:"workload",summary:"\
162
245
  \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3054\u3068\u306E\u30BF\u30B9\u30AF\u4EF6\u6570\u30FB\u898B\u7A4D\u6642\u9593\u3092\u8868\u793A\u3059\u308B",usage:"twp project workload [<ID|\u30B3\u30FC\u30C9>]",description:"GET /api/v2/projects/{id}/analytics/workload\uFF08\u753B\u9762\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u5225\u8CA0\u8377\u300D\uFF09\u3002\n\u7701\u7565\u3059\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u65E2\u5B9A\u3067\u3059\u3002\u672A\u5B8C\u4E86\u306E\u30BF\u30B9\u30AF\u304C\u5BFE\u8C61\u3067\u3001\u62C5\u5F53\u8005\u306E\u7121\u3044\u30BF\u30B9\u30AF\u306F\u300C\uFF08\u672A\u5272\u308A\u5F53\u3066\uFF09\u300D\u306E\u884C\u306B\u5165\u308A\u307E\u3059\u3002\n--output table / text / tsv \u306E by_status \u306F\u300C\u30B9\u30C6\u30FC\u30BF\u30B9\u540D:\u4EF6\u6570\u300D\u3092\u7A7A\u767D\u533A\u5207\u308A\u3067\u4E26\u3079\u305F\u3082\u306E\u3067\u3059\uFF08\u5185\u8A33\u306F --output json\uFF09\u3002",
163
- flags:[],prepare:(input,ctx)=>projectRefInput(input,ctx,"workload"),plan(input){const projectId=requireResolved(input,"projectId");return{method:"GET",path:`/api/v2/projects/${encodeURIComponent(projectId)}/analytics/workload`}},summarize:body=>workloadDistributionRows(body),raw:body=>{workloadDistributionRows(body);return body},notes:body=>workloadDistributionNotes(body)},...projectAnalysisOperations],subresources:[projectMemberResource,projectProcessResource]};var ASSIGNED_PROJECT_COLUMNS=["id",
164
- "code","name","status","role","member_start_date","member_end_date"];function assignedProjectItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}async function projectRefInput(input,ctx,operation){const[ref,...rest]=input.
165
- args;if(rest.length>0){throw new UsageError(`${operation} \u304C\u53D7\u3051\u53D6\u308C\u308B\u5F15\u6570\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,`twp project ${operation} help`)}return withResolved(input,{projectId:await ctx.projectId(ref)})}export{projectDomain,ASSIGNED_PROJECT_COLUMNS,assignedProjectItems};
246
+ flags:[],prepare:(input,ctx)=>projectRefInput(input,ctx,"workload"),plan(input){const projectId=requireResolved(input,"projectId");return{method:"GET",path:`/api/v2/projects/${encodeURIComponent(projectId)}/analytics/workload`}},summarize:body=>workloadDistributionRows(body),raw:body=>{workloadDistributionRows(body);return body},notes:body=>workloadDistributionNotes(body)},...projectAnalysisOperations],subresources:[projectMemberResource,projectProcessResource,projectEvaluationResource,projectTemplateResource]};
247
+ var ASSIGNED_PROJECT_COLUMNS=["id","code","name","status","role","member_start_date","member_end_date"];function assignedProjectItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}async function projectRefInput(input,ctx,operation){
248
+ const[ref,...rest]=input.args;if(rest.length>0){throw new UsageError(`${operation} \u304C\u53D7\u3051\u53D6\u308C\u308B\u5F15\u6570\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,`twp project ${operation} help`)}return withResolved(input,{projectId:await ctx.projectId(ref)})}export{projectDomain,ASSIGNED_PROJECT_COLUMNS,assignedProjectItems};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{FORCE_FLAG,OUT_FLAG,REV_FLAG,revOf,singleId,uploadStaged}from"./chunk-FJEGS55N.js";import{CUSTOMER_LICENSE,childForbidden,levelForbidden}from"./chunk-RMU72S3D.js";import{inspectLocalFile}from"./chunk-WTYIFLVB.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-WDQMYRPE.js";import{SALES_ESTIMATES_PATH,isExactNumericId}from"./chunk-2AVQILQQ.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{FORCE_FLAG,OUT_FLAG,REV_FLAG,revOf,singleId,uploadStaged}from"./chunk-VLBWNFQW.js";import{CUSTOMER_LICENSE,childForbidden,levelForbidden}from"./chunk-U2CRCBJ3.js";import{inspectLocalFile}from"./chunk-WTYIFLVB.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MPGJU5A7.js";import{SALES_ESTIMATES_PATH,isExactNumericId}from"./chunk-M36DAHMH.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var DOCUMENT_TYPES=["order_form","individual_contract","other"];var DOCUMENT_TYPE_HELP="order_form\uFF1D\u6CE8\u6587\u66F8 / individual_contract\uFF1D\u500B\u5225\u5951\u7D04\u66F8 / other\uFF1D\u305D\u306E\u4ED6\u6848\u4EF6\u66F8\u985E";var MAGIC_BYTES={pdf:["%PDF-"],jpg:["\xFF\xD8\xFF"],jpeg:["\xFF\xD8\xFF"],png:["\x89PNG\r\n\n"],xlsx:["PK","PK","PK\x07\b"],docx:["PK","PK","PK\x07\b"],xls:["\xD0\xCF\xE0\xA1\xB1\xE1"],doc:["\xD0\xCF\xE0\xA1\xB1\xE1"]};var FILE_NAME_MAX_CHARS=255;var FIELDS=[
5
5
  {kind:"text",flag:"--name",key:"document_name",label:"\u66F8\u985E\u540D",maxChars:255,summary:"\u66F8\u985E\u540D\uFF08create \u3067\u306F\u5FC5\u9808\uFF09"},{kind:"enum",flag:"--type",key:"document_type",values:DOCUMENT_TYPES,summary:`\u66F8\u985E\u7A2E\u5225\uFF08${DOCUMENT_TYPE_HELP}\u30FBcreate \u3067\u306F\u5FC5\u9808\uFF09`}];var COLUMNS=["document_id","estimate_id","document_type","document_type_label","document_name","current_version","updated_by_name","updated_at"];var VERSION_COLUMNS=[
6
6
  "version_number","file_name","file_size","is_current","created_by_name","created_at"];var ESTIMATE_FLAG={name:"--estimate",summary:"\u898B\u7A4D\u306E ID\uFF08twp estimate list \u306E id \u5217\u306E\u6570\u5B57\u30FB\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u898B\u7A4DID>"};var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30D5\u30A1\u30A4\u30EB\uFF08PDF\u30FBJPEG\u30FBPNG\u30FBWord\u30FBExcel\u3002\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contentTypeFor,inspectLocalFile,issued}from"./chunk-WTYIFLVB.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{featureLicenseGuidance}from"./chunk-QUMDKN3U.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-WDQMYRPE.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-2AVQILQQ.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError,
3
+ import{contentTypeFor,inspectLocalFile,issued}from"./chunk-WTYIFLVB.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{featureLicenseGuidance}from"./chunk-EQXJOEOK.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MPGJU5A7.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-M36DAHMH.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError,
4
4
  errorListMessages}from"./chunk-JA5A6UJ2.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";function levelForbidden(licenseGuidance,levelGuidance){return body=>body?.error==="permission_denied"?licenseGuidance:levelGuidance}var COMPANY_LICENSE="\u53D6\u5F15\u5148\u3092\u6271\u3046\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u304B\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u304C\u3001\u3069\u3061\u3089\u3082\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u3069\u3061\u3089\u3082\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E\u6A29\u9650\u304C\u3069\u3061\u3089\u3082\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
5
5
  var CUSTOMER_LICENSE=featureLicenseGuidance("\u9867\u5BA2\u7BA1\u7406");var COMPANY_WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u304B\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
6
6
  var LEVEL_LABELS={admin:"\u7BA1\u7406\u8005",editor:"\u7DE8\u96C6\u8005",viewer:"\u95B2\u89A7\u8005",none:"\u306A\u3057"};var CHILD_DELETE_NEEDS="\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059";var CUSTOMER_DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u524A\u9664\u306B\u306F\u3001\u4F01\u696D\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304B\u8CA9\u58F2\u7BA1\u7406\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u3001\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{salesAdminForbidden}from"./chunk-NMYHFVDR.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-QUMDKN3U.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{booleanText,boundedText}from"./chunk-JJSBBWJ5.js";import{SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-2AVQILQQ.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,
3
+ import{salesAdminForbidden}from"./chunk-NYQYDX7G.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-EQXJOEOK.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{booleanText,boundedText}from"./chunk-JJSBBWJ5.js";import{SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-M36DAHMH.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,
4
4
  nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INT_MAX=2147483647;var MEMBER_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"]!==
5
5
  "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 integerValue(flag,raw,min,max=INT_MAX){const trimmed=raw.
6
6
  trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;if(!Number.isSafeInteger(value)||value<min||value>max)throw new UsageError(`${flag} \u306F ${min} \u4EE5\u4E0A ${max} \u4EE5\u4E0B\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`);return value}var RULE_COLUMNS=["id","rule_name","prefix","digit_count","current_number","count_up_num","next_number","sort_order"];function nextNumber(rule,purchaseFormat){const current=rule["current_number"];const step=rule["\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{hoursMinutes}from"./chunk-MUIN7OUW.js";import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var ANALYSIS_PATH="/api/v2/analysis";var ACCESSIBLE_PAGES_HINT="\u958B\u3051\u308B\u5206\u6790\u30DA\u30FC\u30B8\u306F twp api /api/v2/analysis/accessible-pages \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002";var LICENSE_GUIDANCE="\u5206\u6790\u3092\u4F7F\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u5206\u6790\u3092\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E\u5206\u6790\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";
3
+ import{hoursMinutes}from"./chunk-23MEOBJF.js";import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var ANALYSIS_PATH="/api/v2/analysis";var ACCESSIBLE_PAGES_HINT="\u958B\u3051\u308B\u5206\u6790\u30DA\u30FC\u30B8\u306F twp api /api/v2/analysis/accessible-pages \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002";var LICENSE_GUIDANCE="\u5206\u6790\u3092\u4F7F\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u5206\u6790\u3092\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E\u5206\u6790\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";
4
4
  var PAGE_GUIDANCE=`\u3053\u306E\u5206\u6790\u30DA\u30FC\u30B8\u306E\u95B2\u89A7\u5BFE\u8C61\u306B\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5206\u6790\u306E\u7BA1\u7406\u8005\u306B\u5BFE\u8C61\u3078\u306E\u8FFD\u52A0\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\u3002${ACCESSIBLE_PAGES_HINT}`;var PAGE_DENIED_MARK="\u5206\u6790\u30DA\u30FC\u30B8";function analysisForbidden(levelGuidance2){return body=>{if(body?.error==="permission_denied"){const text=body.error_description??"";
5
5
  if(text.includes(PAGE_DENIED_MARK))return PAGE_GUIDANCE;if(text.includes("\u3053\u306E\u6A5F\u80FD"))return LICENSE_GUIDANCE;return void 0}if(body?.error==="forbidden")return levelGuidance2;return void 0}}function levelGuidance(page,features){return`${page}\u3092\u958B\u304F\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5206\u6790\u62C5\u5F53\u8005\u30D5\u30E9\u30B0\u3001\u307E\u305F\u306F${features}\u306E\u6A29\u9650\uFF08\u300C\u306A\u3057\u300D\u4EE5\u5916\uFF09\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}
6
6
  var FROM_FLAG={name:"--from",summary:"\u958B\u59CB\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"};var TO_FLAG={name:"--to",summary:"\u7D42\u4E86\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"};var MONTH_FLAG={name:"--month",summary:"1\u304B\u6708\u3060\u3051\uFF08YYYY-MM\uFF09\u3002--from / --to \u3068\u306F\u4F75\u7528\u4E0D\u53EF",takesValue:true,placeholder:"<YYYY-MM>"};var YEAR_FLAG={name:"--year",summary:"1\u5E74\u5206\uFF081\u301C12\u6708\u30FBYYYY\uFF09\u3002--from \
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{emailText,ms365Forbidden,recipientsText,str}from"./chunk-OW23MAVO.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-IWYJSQ5I.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-H4CDX4TX.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var BODY_MAX_CHARS=1e5;var ATTACH_TOTAL_MAX_BYTES=3*1024*1024;var ADDRESS=/^[^\s@,;<>"]+@[^\s@,;<>"]+$/;var INVISIBLE=/[\p{Cc}\p{Cf}]/u;function oneLine(value){return value.replace(/[\r\n\t]+/g," ").replace(/[\p{Cc}\p{Cf}]/gu,"")}var TO_FLAG={name:"--to",summary:"\u5B9B\u5148\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u5FC5\u9808\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var CC_FLAG={name:"--c\
3
+ import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{emailText,ms365Forbidden,recipientsText,str}from"./chunk-M37IYSEG.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-M763HXDH.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-MMVXE2CJ.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var BODY_MAX_CHARS=1e5;var ATTACH_TOTAL_MAX_BYTES=3*1024*1024;var ADDRESS=/^[^\s@,;<>"]+@[^\s@,;<>"]+$/;var INVISIBLE=/[\p{Cc}\p{Cf}]/u;function oneLine(value){return value.replace(/[\r\n\t]+/g," ").replace(/[\p{Cc}\p{Cf}]/gu,"")}var TO_FLAG={name:"--to",summary:"\u5B9B\u5148\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u5FC5\u9808\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var CC_FLAG={name:"--c\
4
4
  c",summary:"Cc \u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var BODY_FILE_FLAG={name:"--body-file",summary:"\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var BODY_FLAG={name:"--body",summary:"\u672C\u6587\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u4E00\u884C\u5411\u3051\u3002--body-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",
5
5
  takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var HTML_FLAG={name:"--html",summary:"\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u9001\u308B\uFF08\u65E2\u5B9A\u306F\u30C6\u30AD\u30B9\u30C8\uFF09",takesValue:false};var MESSAGE_FLAG={name:"--message",summary:"\u5143\u306E\u30E1\u30FC\u30EBID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"};var EXTERNAL_SEND_HELP="\u26A0 \u5916\u90E8\u3078\u51FA\u308B\u64CD\u4F5C\u3067\u3059\u3002\u5B9F\u884C\u3057\u305F\u77AC\u9593\u306B\u76F8\u624B\u306E\u53D7\u4FE1\u7BB1\u3078\u5C4A\u304D\u3001\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\n --yes \u304C\u7121\u3051\u308C\u3070\u5B9F\u884C\u3057\u307E\u305B\u3093\u3002--dry-run \u3067\u9001\u308B\u5185\u5BB9\uFF08\u5B9B\u5148\u30FB\u4EF6\
6
6
  \u540D\u30FB\u672C\u6587\u30FB\u6DFB\u4ED8\u306E\u540D\u524D\u3068\u5927\u304D\u3055\uFF09\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\n --yes \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08--dry-run \u306F --yes \u3092\u8981\u308A\u307E\u305B\u3093\uFF09\u3002\n\u26A0 \u7D42\u4E86\u30B3\u30FC\u30C9 4\uFF08\u901A\u4FE1\u306E\u5931\u6557\u30FB\u30B5\u30FC\u30D0\u306E\u4E00\u6642\u30A8\u30E9\u30FC\uFF09\u3067\u3082\u3001Microsoft 365 \u5074\u3067\u306F\u9001\u4FE1\u6E08\u307F\u306E\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n \u6253\u3061\u76F4\u3059\u524D\u306B twp outlook mail list --folder sentitems \u3067\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";