@tocca-systems/twp-cli 0.32.1 → 0.34.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 (45) hide show
  1. package/CHANGELOG.public.md +10 -0
  2. package/README.md +64 -3
  3. package/dist/{agent-loop-ADP6AOWX.js → agent-loop-SP2UKXIG.js} +1 -1
  4. package/dist/{ai-dispatch-KXRNV4UZ.js → ai-dispatch-MFVPYNZ5.js} +1 -1
  5. package/dist/{api-command-TJFXCLPS.js → api-command-W77HSRUC.js} +3 -3
  6. package/dist/{app-6ULNAHKL.js → app-IVIYIONG.js} +4 -4
  7. package/dist/{backlog-7BCJWAE2.js → backlog-OQ5JJ6F6.js} +5 -6
  8. package/dist/{chunk-V4UGLDEH.js → chunk-226G6ONZ.js} +1 -1
  9. package/dist/chunk-4OKUCLIC.js +3 -0
  10. package/dist/chunk-CKGB7CLM.js +6 -0
  11. package/dist/{chunk-FJESEWMF.js → chunk-EVR3OFVS.js} +1 -1
  12. package/dist/chunk-I6DWJXPC.js +4 -0
  13. package/dist/chunk-KRTG6HSA.js +40 -0
  14. package/dist/{chunk-ONTK2FR4.js → chunk-L52XJFJR.js} +1 -1
  15. package/dist/{chunk-D72V6QGN.js → chunk-M364RN3O.js} +7 -7
  16. package/dist/{chunk-AGEDFRUQ.js → chunk-P3RQICAS.js} +1 -1
  17. package/dist/chunk-R53CMVWR.js +21 -0
  18. package/dist/chunk-RM4ECBIO.js +80 -0
  19. package/dist/cli.js +57 -9
  20. package/dist/{commands-MW7XRREL.js → commands-45VQS3LX.js} +4 -4
  21. package/dist/company-E3VKXS75.js +107 -0
  22. package/dist/{completion-RGC3UZFI.js → completion-EFIZU6YO.js} +1 -1
  23. package/dist/{department-XVOQ254P.js → department-G4H75GGM.js} +1 -1
  24. package/dist/{inquiry-EY5XY4UP.js → inquiry-4SUKNVMY.js} +1 -1
  25. package/dist/{job-title-QHIKTYLH.js → job-title-T3P3625A.js} +1 -1
  26. package/dist/{leave-C6K724AF.js → leave-7MXKEOQ2.js} +1 -1
  27. package/dist/{media-BFCZJMEU.js → media-TZWSBMCP.js} +1 -1
  28. package/dist/{notification-6T22IDIZ.js → notification-CA2LOXPS.js} +1 -1
  29. package/dist/{oneshot-IZCRIJJJ.js → oneshot-Y7P6SMY2.js} +1 -1
  30. package/dist/{position-SBZD7AFE.js → position-GDOY4TFK.js} +1 -1
  31. package/dist/{project-RAYRR6JS.js → project-ROLQ535L.js} +1 -1
  32. package/dist/{registry-RTZUE4RG.js → registry-JYFK6PU7.js} +1 -1
  33. package/dist/{run-PI7VMII2.js → run-MH6LOFQS.js} +2 -2
  34. package/dist/sales-W2DV7FWL.js +4 -0
  35. package/dist/{server-skills-MW6YNLNT.js → server-skills-NXSUDHBD.js} +1 -1
  36. package/dist/{task-GKHDJZLP.js → task-75VRLRYO.js} +2 -2
  37. package/dist/{user-GPAPJUHB.js → user-VRIXQF5Q.js} +8 -9
  38. package/dist/workflow-OFA6XJOV.js +100 -0
  39. package/package.json +1 -1
  40. package/dist/chunk-G4OO4M44.js +0 -16
  41. package/dist/chunk-LON7FN5A.js +0 -66
  42. package/dist/chunk-WBAEUHJB.js +0 -3
  43. package/dist/chunk-WEKECDTT.js +0 -5
  44. package/dist/workflow-UNOJLZ4I.js +0 -53
  45. /package/dist/{commands-4DNJTCOG.js → commands-7ZRA2BHR.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{repeatedValues}from"./chunk-IOGVQVGD.js";import{booleanText,boundedText}from"./chunk-UDPJ2IGK.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";
3
+ import{repeatedValues}from"./chunk-IOGVQVGD.js";import{booleanText,boundedText}from"./chunk-UDPJ2IGK.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";
4
4
  import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";var LABEL="\u554F\u3044\u5408\u308F\u305B\u30AB\u30C6\u30B4\u30EA";var LIST_COLUMNS=["id","category_code","title","sort","is_active","notification_user_count"];var GET_COLUMNS=["id","category_code","title","description","sort","is_active","notification_users"];var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\u306E\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u306F\u554F\u3044\u5408\u308F\u305B\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;
5
5
  var SORT_LAST="last";var CODE_RE=/^[a-zA-Z0-9_-]+$/;var REF_HELP="<\u30AB\u30C6\u30B4\u30EA> \u306F\u30AB\u30C6\u30B4\u30EA\u30B3\u30FC\u30C9\u30FB\u540D\u524D\uFF08title\uFF09\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u30AB\u30C6\u30B4\u30EA\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
6
6
  var NOTIFY_HELP="--notify \u306F\u901A\u77E5\u5148\u306E\u30E6\u30FC\u30B6\u30FC\u3067\u3001\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\uFF08ID \u4EE5\u5916\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u3068\u7167\u5408\u3057\u307E\u3059\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002";
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{STATUS_VALUES,flatMasterDomain}from"./chunk-V4UGLDEH.js";import"./chunk-UDPJ2IGK.js";import{JOB_TITLES_PATH}from"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-G4OO4M44.js";import"./chunk-II5RVJQN.js";import"./chunk-ZN5EFDH7.js";import"./chunk-ZWVYVS2A.js";import"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";
3
+ import{STATUS_VALUES,flatMasterDomain}from"./chunk-226G6ONZ.js";import"./chunk-UDPJ2IGK.js";import{JOB_TITLES_PATH}from"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";import"./chunk-ZN5EFDH7.js";import"./chunk-ZWVYVS2A.js";import"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";
4
4
  import"./chunk-VSJBJXZO.js";var jobTitleDomain=flatMasterDomain({name:"job-title",label:"\u8077\u4F4D",path:JOB_TITLES_PATH,itemKey:"job_title",summary:"\u8077\u4F4D\u30DE\u30B9\u30BF\uFF08\u4E00\u89A7\u30FB\u53D6\u5F97\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",listColumns:["id","code","name","sort_order","status","position_id","base_selling_price","base_cost_price"],getColumns:["id","code","name","name_short","sort_order","status","position_id","base_selling_price","base_cost_price","description"],fields:[
5
5
  {kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,max:9999,summary:"\u8868\u793A\u9806\uFF080\u301C9999\uFF09"},{kind:"enum",flag:"--status",key:"status",values:STATUS_VALUES,summary:"\u72B6\u614B\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"},
6
6
  {kind:"integer",flag:"--base-selling-price",key:"base_selling_price",label:"\u57FA\u6E96\u58F2\u4FA1",min:0,summary:"\u57FA\u6E96\u58F2\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"integer",flag:"--base-cost-price",key:"base_cost_price",label:"\u57FA\u6E96\u539F\u4FA1",min:0,summary:"\u57FA\u6E96\u539F\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"text",flag:"--skill-requirements",key:"skill_requirements",label:"\u30B9\u30AD\u30EB\u8981\u4EF6",maxChars:5e3,summary:"\u30B9\u30AD\u30EB\u8981\u4EF6"},
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-2M2JQ23W.js";import"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";
3
+ import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-2M2JQ23W.js";import"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";
4
4
  import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";var LIST_USAGE="twp leave list";var GRANTS_USAGE="twp leave grants [<\u30E6\u30FC\u30B6\u30FC> | --user <\u30E6\u30FC\u30B6\u30FC>]";var USAGE_COLUMNS=["used_date","type_label","days","hours","status_label","reason","is_post_application","id"];var GRANT_COLUMNS=["grant_date","type_label","days","remaining_days","remaining_hours","expiry_date","status_label","reason","id"];function noArgs(input,operation){if(input.args.length>0){throw new UsageError(`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.
5
5
  args.join(" ")}`,`twp leave ${operation} help`)}}function summaryBody(body){if(!isRecord(body)||!isRecord(body["summary"])){throw new ApiResponseError("\u6709\u7D66\u30B5\u30DE\u30EA\u306E\u5FDC\u7B54\u306B summary \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function usagesBody(body){if(!isRecord(body)||!Array.isArray(body["usages"])){throw new ApiResponseError("\u6709\u7D66\u306E\u53D6\u5F97\u5C65\u6B74\u306E\u5FDC\u7B54\u306B usages \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
6
6
  return body}function grantsBody(body){if(!isRecord(body)||!Array.isArray(body["grants"])){throw new ApiResponseError("\u6709\u7D66\u306E\u4ED8\u4E0E\u5C65\u6B74\u306E\u5FDC\u7B54\u306B grants \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function listBody(body){const combined=isRecord(body)?body:{};return{summary:summaryBody(combined["summary"]),usages:usagesBody(combined["usages"])}}async function list(input,ctx){
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contentTypeFor}from"./chunk-FJESEWMF.js";import"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import{checkUploadQuota}from"./chunk-DDKZ5IPT.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-GY7KI5E5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-G4OO4M44.js";import"./chunk-II5RVJQN.js";
3
+ import{contentTypeFor}from"./chunk-EVR3OFVS.js";import{checkUploadQuota}from"./chunk-DDKZ5IPT.js";import"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-GY7KI5E5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";
4
4
  import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";import crypto from"crypto";import fs from"fs";import path from"path";var SCOPE_PERSONAL="personal";var SCOPE_PROJECT="project";var LIST_COLUMNS=["id","file_name","content_type","file_size","folder_id","public_status","updated_at"];var UPLOAD_COLUMNS=["id","file_name","content_type","file_size","folder_id","scope","content_hash"];var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var NAME_FLAG={
5
5
  name:"--name",summary:"\u4FDD\u5B58\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u7701\u7565\u6642\u306F\u30ED\u30FC\u30AB\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3002\u540C\u540D\u304C\u3042\u308B\u3068\u30B5\u30FC\u30D0\u304C\u5225\u540D\u306B\u3057\u307E\u3059\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EB\u540D>"};var CONTENT_TYPE_FLAG={name:"--content-type",summary:"Content-Type\uFF08\u7701\u7565\u6642\u306F\u62E1\u5F35\u5B50\u304B\u3089\u63A8\u5B9A\u3002\u4E0D\u660E\u306A\u3089 application/octet-stream\uFF09",
6
6
  takesValue:true,placeholder:"<\u578B>"};var FOLDER_FLAG={name:"--folder",summary:"\u30D5\u30A9\u30EB\u30C0ID\uFF08\u7701\u7565\u6642\u306F\u30B9\u30B3\u30FC\u30D7\u306E\u6700\u4E0A\u4F4D\uFF09",takesValue:true,placeholder:"<\u30D5\u30A9\u30EB\u30C0ID>"};var MEDIA_PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5BFE\u8C61\u306B\u3059\u308B\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF09\u3002\u7701\u7565\u6642\u306F\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB",
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{boundedText}from"./chunk-UDPJ2IGK.js";import{NOTIFICATIONS_PATH}from"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-G4OO4M44.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";
3
+ import{boundedText}from"./chunk-UDPJ2IGK.js";import{NOTIFICATIONS_PATH}from"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";
4
4
  import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";var LABEL="\u901A\u77E5";var LIST_COLUMNS=["id","datetime","category_name","status_name","title"];var GET_COLUMNS=["id","datetime","category","category_name","status_name","read_time","title","content","url"];var CATEGORY_FLAG={name:"--category",summary:"\u901A\u77E5\u30AB\u30C6\u30B4\u30EA\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u30AD\u30FC\u304B\u540D\u524D\u3002twp notification categories \u3067\u4E00\u89A7\u3067\u304D\u308B\uFF09",takesValue:true,placeholder:"<\u30AB\u30C6\u30B4\u30EA>"};var CATEGORY_HELP="\
5
5
  --category \u306F\u30AB\u30C6\u30B4\u30EA\u306E\u30AD\u30FC\uFF08workflow_approval\uFF09\u304B\u540D\u524D\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u627F\u8A8D\u4F9D\u983C\uFF09\u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u30AB\u30C6\u30B4\u30EA\u4E00\u89A7\u3068\u7167\u5408\u3059\u308B\u306E\u3067\u3001\u6253\u3061\u9593\u9055\u3048\u305F\u30AB\u30C6\u30B4\u30EA\u3092\u300C0\u4EF6\u300D\u3068\u3057\u3066\u8FD4\u3059\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u4E00\u89A7\u306F\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3002";
6
6
  async function resolveCategory(input,ctx){const raw=nonEmpty(input.flags,CATEGORY_FLAG.name);if(raw===void 0)return input;return withResolved(input,{category:(await ctx.resolver.notificationCategory(raw.trim())).id})}function noArgs(input,op){if(input.args.length>0){throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp notification ${op} help`)}}function notificationId(input,op){const[raw,...rest]=input.args;const id=raw?.trim()??
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{activateModeFiles,activatePermissionSettings,buildResidentSet,buildSystemPrompt,createAuditLogger,createTwpToolkit,currentBranch,displayCwd,residentInputs,runTurn}from"./chunk-OK4ITT5Y.js";import"./chunk-NZ7WI4RZ.js";import"./chunk-YVAN3H5W.js";import"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import{RelayError,createRuntime,pickModel}from"./chunk-PWXXCLVZ.js";import"./chunk-D233KKXW.js";import"./chunk-XNLIEUAW.js";
3
+ import{activateModeFiles,activatePermissionSettings,buildResidentSet,buildSystemPrompt,createAuditLogger,createTwpToolkit,currentBranch,displayCwd,residentInputs,runTurn}from"./chunk-OK4ITT5Y.js";import"./chunk-NZ7WI4RZ.js";import"./chunk-YVAN3H5W.js";import"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import{RelayError,createRuntime,pickModel}from"./chunk-PWXXCLVZ.js";import"./chunk-D233KKXW.js";import"./chunk-XNLIEUAW.js";
4
4
  import"./chunk-J7QYPKVK.js";import{checkMinSupportedVersion,enforceMinSupportedVersion,floorNeedsRefresh}from"./chunk-DXXFUNYN.js";import"./chunk-4VZKNEVN.js";import{getMode}from"./chunk-NAUH75MM.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-N2UVRM3Z.js";import"./chunk-II5RVJQN.js";import"./chunk-7WSNIXTQ.js";import"./chunk-PMOUHEJQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";async function runOneShot(opts,deps={}){const out=deps.out??(text=>void process.stdout.write(stripTerminalControls(text)));const err=deps.err??(text=>void process.stderr.write(stripTerminalControls(text)));activateModeFiles(err);const permissionLayers=activatePermissionSettings(err,{...opts.allowedTools?{allowedTools:opts.allowedTools}:{},...opts.disallowedTools?{disallowedTools:opts.disallowedTools}:{}});const prompt=opts.fromStdin?await(deps.readStdin??readStdin)():opts.prompt;if(prompt.trim()===
5
5
  ""){err('\u30D7\u30ED\u30F3\u30D7\u30C8\u304C\u7A7A\u3067\u3059\u3002`twp -p "\u8CEA\u554F"`\uFF08`-p -` \u3067\u6A19\u6E96\u5165\u529B\uFF09\n');return 2}const runtime=deps.runtime??createRuntime({...opts.profile!==void 0?{profile:opts.profile}:{},...opts.model!==void 0?{model:opts.model}:{},cliVersion:opts.version});const cachedFloor=runtime.loadCachedFloor();if(await checkMinSupportedVersion({current:opts.version,cachedFloor:cachedFloor.minSupportedVersion,refresh:async()=>(await runtime.loadCatalog()).
6
6
  minSupportedVersion,write:err})){return 1}if(!runtime.loggedIn){err("\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u307E\u305B\u3093\u3002`twp login` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n");return 1}let model=runtime.configuredModel??"";let catalog=null;if(model===""){catalog=await runtime.loadCatalog();const picked=pickModel(catalog,void 0);model=picked.model;if(catalog.source!=="server"){err(`\u26A0 \u30E2\u30C7\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081 ${model}\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{STATUS_VALUES,booleanQuery,flatMasterDomain}from"./chunk-V4UGLDEH.js";import"./chunk-UDPJ2IGK.js";import{POSITIONS_PATH}from"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-G4OO4M44.js";import"./chunk-II5RVJQN.js";import"./chunk-ZN5EFDH7.js";import"./chunk-ZWVYVS2A.js";import"./chunk-7WSNIXTQ.js";
3
+ import{STATUS_VALUES,booleanQuery,flatMasterDomain}from"./chunk-226G6ONZ.js";import"./chunk-UDPJ2IGK.js";import{POSITIONS_PATH}from"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";import"./chunk-ZN5EFDH7.js";import"./chunk-ZWVYVS2A.js";import"./chunk-7WSNIXTQ.js";
4
4
  import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";var positionDomain=flatMasterDomain({name:"position",label:"\u5F79\u8077",path:POSITIONS_PATH,itemKey:"position",summary:"\u5F79\u8077\u30DE\u30B9\u30BF\uFF08\u4E00\u89A7\u30FB\u53D6\u5F97\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",listColumns:["id","code","name","rank","is_manager","status","user_count"],getColumns:["id","code","name","name_short","rank","is_manager","status","description"],fields:[{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,
5
5
  summary:"\u7565\u79F0"},{kind:"integer",flag:"--rank",key:"rank",label:"\u30E9\u30F3\u30AF",min:0,max:9999,summary:"\u30E9\u30F3\u30AF\uFF080\u301C9999\u3002\u5927\u304D\u3044\u307B\u3069\u4E0A\u4F4D\uFF09"},{kind:"boolean",flag:"--manager",key:"is_manager",summary:"\u7BA1\u7406\u8077\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--can-view-personal-info",key:"can_view_personal_info",summary:"\u90E8\u4E0B\u306E\u500B\u4EBA\u60C5\u5831\u3092\u95B2\u89A7\u3067\u304D\u308B\u304B\uFF08true / false\uFF09"},
6
6
  {kind:"boolean",flag:"--can-view-emergency-contact",key:"can_view_emergency_contact",summary:"\u90E8\u4E0B\u306E\u7DCA\u6025\u9023\u7D61\u5148\u3092\u95B2\u89A7\u3067\u304D\u308B\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--can-view-work-tel",key:"can_view_work_tel",summary:"\u90E8\u4E0B\u306E\u696D\u52D9\u7528\u96FB\u8A71\u756A\u53F7\u3092\u95B2\u89A7\u3067\u304D\u308B\u304B\uFF08true / false\uFF09"},{kind:"enum",flag:"--status",key:"status",values:STATUS_VALUES,summary:"\u72B6\u614B\uFF08active: \u6709\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-G4OO4M44.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-VSJBJXZO.js";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","start_date","end_date","created_at","updated_at"];var MEMBER_COLUMNS=["user_id","user_name","user_email","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 \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
3
+ import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-R53CMVWR.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-VSJBJXZO.js";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","start_date","end_date","created_at","updated_at"];var MEMBER_COLUMNS=["user_id","user_name","user_email","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 \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
4
4
  return 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")}return project}
5
5
  var projectDomain={name:"project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u89A7\u30FB\u8A73\u7D30",operations:[{name:"list",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp project list [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>] [--keyword <\u8A9E>] [--status <\u72B6\u614B>]",description:"--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08id / code / name / status / effective_status\uFF09\u3067\u3059\u3002\n\u6B32\u3057\u3044\u5217\u3060\u3051\u3092\
6
6
  \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"+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",
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-WEKECDTT.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
3
+ import{loadDomain}from"./chunk-CKGB7CLM.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CURATED_PAGING_VOCABULARY,buildPrepareContext,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-D72V6QGN.js";import"./chunk-WEKECDTT.js";import"./chunk-GDM2QUBL.js";import"./chunk-5Q2CH4E7.js";import"./chunk-YVAN3H5W.js";import"./chunk-IOGVQVGD.js";import"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-TAN5I2DP.js";import"./chunk-XNLIEUAW.js";
4
- import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-WBAEUHJB.js";import"./chunk-QQRJLH6B.js";import"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-G4OO4M44.js";import"./chunk-II5RVJQN.js";import"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};
3
+ import{CURATED_PAGING_VOCABULARY,buildPrepareContext,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-M364RN3O.js";import"./chunk-CKGB7CLM.js";import"./chunk-GDM2QUBL.js";import"./chunk-5Q2CH4E7.js";import"./chunk-YVAN3H5W.js";import"./chunk-IOGVQVGD.js";import"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-TAN5I2DP.js";import"./chunk-XNLIEUAW.js";
4
+ import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-4OKUCLIC.js";import"./chunk-QQRJLH6B.js";import"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";import"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{estimateDomain,featureLicenseGuidance,invoiceDomain,licenseForbidden}from"./chunk-KRTG6HSA.js";import"./chunk-IOGVQVGD.js";import"./chunk-UDPJ2IGK.js";import"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";import"./chunk-ZN5EFDH7.js";
4
+ import"./chunk-ZWVYVS2A.js";import"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";export{estimateDomain,featureLicenseGuidance,invoiceDomain,licenseForbidden};
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{ServerSkillCatalog,expandServerSkills,formatSkillOrigins,parseSkillBody,parseSkillList,prepareSkillOverlay,referencedSkills,stripFrontmatter}from"./chunk-ONTK2FR4.js";import"./chunk-VK2Z4QGC.js";import"./chunk-P4AEFKLM.js";import"./chunk-VRBI2NPI.js";import"./chunk-QWSXHHFT.js";import"./chunk-J7QYPKVK.js";import"./chunk-NHYMHCAT.js";import"./chunk-GY7KI5E5.js";import"./chunk-7WSNIXTQ.js";import"./chunk-VSJBJXZO.js";export{ServerSkillCatalog,expandServerSkills,formatSkillOrigins,parseSkillBody,parseSkillList,prepareSkillOverlay,referencedSkills,stripFrontmatter};
3
+ import{ServerSkillCatalog,expandServerSkills,formatSkillOrigins,parseSkillBody,parseSkillList,prepareSkillOverlay,referencedSkills,stripFrontmatter}from"./chunk-L52XJFJR.js";import"./chunk-QWSXHHFT.js";import"./chunk-VK2Z4QGC.js";import"./chunk-P4AEFKLM.js";import"./chunk-VRBI2NPI.js";import"./chunk-J7QYPKVK.js";import"./chunk-NHYMHCAT.js";import"./chunk-GY7KI5E5.js";import"./chunk-7WSNIXTQ.js";import"./chunk-VSJBJXZO.js";export{ServerSkillCatalog,expandServerSkills,formatSkillOrigins,parseSkillBody,parseSkillList,prepareSkillOverlay,referencedSkills,stripFrontmatter};
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-FJESEWMF.js";import{charCount,readBody}from"./chunk-HGTG5XQ7.js";import{repeatedValues}from"./chunk-IOGVQVGD.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-V4UGLDEH.js";import{boundedText,decimal,isoDate,priority}from"./chunk-UDPJ2IGK.js";import{PRIVATE_TASKS_PATH,
4
- TASK_MASTERS}from"./chunk-LON7FN5A.js";import"./chunk-FTYJZFEK.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-DDKZ5IPT.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import{PRIVATE_PROJECT_REF}from"./chunk-GY7KI5E5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-G4OO4M44.js";import"./chunk-II5RVJQN.js";
3
+ import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-EVR3OFVS.js";import"./chunk-DDKZ5IPT.js";import{charCount,readBody}from"./chunk-HGTG5XQ7.js";import{repeatedValues}from"./chunk-IOGVQVGD.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-226G6ONZ.js";import{boundedText,decimal,isoDate,priority}from"./chunk-UDPJ2IGK.js";
4
+ import{PRIVATE_TASKS_PATH,TASK_MASTERS}from"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import{PRIVATE_PROJECT_REF}from"./chunk-GY7KI5E5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";
5
5
  import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";var LIST_COLUMNS=["id","created_at","created_by_name","comment_type","content"];var QUESTION_COLUMN="question";var ANSWER_COLUMN="answer";function summarizeComments(items){const answersByQuestion=new Map;for(const row of items){const answer=isRecord(row)?row["answer_to"]:void 0;if(!isRecord(answer))continue;const target=answer["comment_id"];if(typeof target!=="string"||target==="")continue;answersByQuestion.set(target,selectedKeyText(answer["selected_key"]))}return items.map(row=>{const source=isRecord(
6
6
  row)?row:{};const id=typeof source["id"]==="string"?source["id"]:"";const answer=isRecord(source["answer_to"])?selectedKeyText(source["answer_to"]["selected_key"]):answersByQuestion.get(id)??null;const base=pick(row,LIST_COLUMNS);return{id:base["id"],created_at:base["created_at"],created_by_name:base["created_by_name"],comment_type:base["comment_type"],[QUESTION_COLUMN]:questionText(source["question"]),[ANSWER_COLUMN]:answer,content:base["content"]}})}function questionText(question){if(!isRecord(
7
7
  question))return null;const options=question["options"];if(!Array.isArray(options))return null;const parts=options.map(option=>{if(!isRecord(option))return null;const key=typeof option["key"]==="string"?option["key"]:null;if(key===null)return null;const label=typeof option["label"]==="string"?option["label"]:"";return label===""?key:`${key}=${label}`}).filter(part=>part!==null);return parts.length===0?null:parts.join(" / ")}function selectedKeyText(selected){if(typeof selected==="string"&&selected!==
@@ -1,9 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{repeatedValues}from"./chunk-IOGVQVGD.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-V4UGLDEH.js";import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-UDPJ2IGK.js";import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-2M2JQ23W.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-LON7FN5A.js";import{ApiError}from"./chunk-FTYJZFEK.js";import{ResolveError,isSafePathSegment}from"./chunk-GMBJTG6A.js";
4
- import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,flagSegment,nonEmpty,positiveInteger,shellQuote}from"./chunk-G4OO4M44.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";
5
- import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";import fs3 from"fs";import fs from"fs";var BOM=new RegExp(`^${String.fromCharCode(65279)}`);function decodeCsvText(bytes){try{return new TextDecoder("utf-8",{fatal:true}).decode(bytes).replace(BOM,"")}catch{return new TextDecoder("shift_jis").decode(bytes)}}function readCsvFileText(file,usage,maxBytes,tooLarge){try{const stat=fs.statSync(file);if(!stat.isFile())throw new UsageError(`--file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,usage);if(stat.size>maxBytes)
6
- throw tooLarge(stat.size);return decodeCsvText(fs.readFileSync(file))}catch(err){if(err instanceof UsageError)throw err;const reason=err.code??err.message;throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${reason}\uFF09`,usage)}}var ASSIGNMENT_COLUMNS=["id","department_name","position_name","start_date","end_date","is_primary","is_current","is_approval_route","effective_status"];function assignmentRows(body){const response=isRecord(body)&&"response"in body?body["response"]:body;const list=isRecord(response)?response["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u6240\u5C5E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
3
+ import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-2M2JQ23W.js";import{decodeCsvText,readCsvFileText}from"./chunk-I6DWJXPC.js";import{repeatedValues}from"./chunk-IOGVQVGD.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-226G6ONZ.js";import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-UDPJ2IGK.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-RM4ECBIO.js";import{ApiError}from"./chunk-FTYJZFEK.js";
4
+ import{ResolveError,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,flagSegment,nonEmpty,positiveInteger,shellQuote}from"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";
5
+ import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";import fs2 from"fs";var ASSIGNMENT_COLUMNS=["id","department_name","position_name","start_date","end_date","is_primary","is_current","is_approval_route","effective_status"];function assignmentRows(body){const response=isRecord(body)&&"response"in body?body["response"]:body;const list=isRecord(response)?response["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u6240\u5C5E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
7
6
  return list}async function nameMap(ctx,path,label2){try{const body=await ctx.send({method:"GET",path,query:{limit:ORG_MASTER_LIMIT}});const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list))throw new Error(`${label2}\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093`);const count=isRecord(body)?body["count"]:void 0;if(typeof count==="number"&&count>list.length){ctx.warn(`${label2}\u4E00\u89A7\u304C ${count} \u4EF6\u4E2D ${list.length} \u4EF6\u3067\u5207\u308A\u8A70\u3081\u3089\
8
7
  \u308C\u305F\u305F\u3081\u3001\u4E00\u90E8\u306E${label2}\u540D\u306F\u7A7A\u6B04\u3067\u3059\u3002ID \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}const map={};for(const row of list){if(isRecord(row)&&typeof row["id"]==="string"&&typeof row["name"]==="string"){map[row["id"]]=row["name"]}}return map}catch(err){ctx.warn(`${label2}\u540D\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001${label2}\u540D\u306E\u5217\u306F\u7A7A\u6B04\u3067\u3059\uFF08${err.
9
8
  message}\uFF09\u3002ID \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`);return{}}}function assignmentPlan(input){const suffix=input.flags.has("--current")?"/assignments/current":"/assignments";return{method:"GET",path:`/api/v2/organization/users/${userPath(input,suffix)}`}}var listOperation={name:"list",summary:"\u30E6\u30FC\u30B6\u30FC\u306E\u6240\u5C5E\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B",usage:"twp user assignment list <\u30E6\u30FC\u30B6\u30FC> [--current]",
@@ -134,7 +133,7 @@ newPosition;return withResolved(resolved,inherited)},plan(input){if(isBulk(input
134
133
  input,"userId"),departmentId:requireResolved(input,"department_id"),startDate:isoDate(input,START_DATE_FLAG.name),existingIds:existingIdsOf(input),current};ctx.warn((await partialMoveLines(ctx,target,!(err instanceof ApiError))).join("\n"))}throw err}},summarize:body=>isBulkBody(body)?bulkSummary(body):writeSummary(body,"\u6240\u5C5E\u306E\u4ED8\u3051\u66FF\u3048"),raw:body=>isBulkBody(body)?bulkRaw(body):writeResult(body,"\u6240\u5C5E\u306E\u4ED8\u3051\u66FF\u3048"),notes(body,input){if(isBulkBody(
135
134
  body))return bulkNotes(body);const notes=[...previousPrimaryNotes(body)];const current=currentPrimaryOf(input);const created=isRecord(body)&&isRecord(body["assignment"])?strOrNull(body["assignment"]["id"]):null;if(current!==null&&created!==null){const startDate=isoDate(input,START_DATE_FLAG.name);const immediate=startDate<=(input.resolved?.["today"]??"");const commands=revertCommands(requireResolved(input,"userId"),current,created,immediate);const later=immediate?"":`
136
135
  \uFF08${startDate} \u4EE5\u964D\u306B\u623B\u3059\u3068\u304D\u306F\u30012\u672C\u76EE\u306B --primary true \u3068\u5143\u306E\u89B3\u5BDF\u8005\u306E --observer \u3082\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF09`;notes.push(`\u53D6\u308A\u6D88\u3059\u306B\u306F:
137
- ${commands.map(c=>` ${c}`).join("\n")}${later}`)}return notes}};var userAssignmentResource={name:"assignment",summary:"\u30E6\u30FC\u30B6\u30FC\u306E\u6240\u5C5E\uFF08\u90E8\u7F72\u30FB\u5F79\u8077\uFF09\u306E\u53C2\u7167\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u7D42\u4E86\u30FB\u524A\u9664\u30FB\u4ED8\u3051\u66FF\u3048",operations:[listOperation,createOperation,updateOperation,endOperation,deleteOperation,moveOperation]};import fs2 from"fs";var LOGIN_HISTORY_RETENTION_DAYS=90;var DEFAULT_INACTIVE_DAYS=60;var DEFAULT_MAX_USERS=2e3;var LIST_PAGE_LIMIT=100;var MATRIX_PAGE_LIMIT=200;var LOGIN_HISTORY_LIMIT=500;var CONCURRENCY=4;var SEND_PER_MINUTE=200;var SEND_BURST=30;var RATE_LIMIT_WAIT_MS=6e4;var RATE_LIMIT_RETRIES=2;var LEDGER_MAX_BYTES=5*1024*1024;var USAGE="twp user export [--file <\u53F0\u5E33CSV>] [--include-disabled] [--exclude-hidden] [--inactive-days <\u65E5\u6570>] [--code-column <\u5217\u540D>] [--name-column <\u5217\u540D>] [--email-column <\u5217\u540D>] [--department-c\
136
+ ${commands.map(c=>` ${c}`).join("\n")}${later}`)}return notes}};var userAssignmentResource={name:"assignment",summary:"\u30E6\u30FC\u30B6\u30FC\u306E\u6240\u5C5E\uFF08\u90E8\u7F72\u30FB\u5F79\u8077\uFF09\u306E\u53C2\u7167\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u7D42\u4E86\u30FB\u524A\u9664\u30FB\u4ED8\u3051\u66FF\u3048",operations:[listOperation,createOperation,updateOperation,endOperation,deleteOperation,moveOperation]};import fs from"fs";var LOGIN_HISTORY_RETENTION_DAYS=90;var DEFAULT_INACTIVE_DAYS=60;var DEFAULT_MAX_USERS=2e3;var LIST_PAGE_LIMIT=100;var MATRIX_PAGE_LIMIT=200;var LOGIN_HISTORY_LIMIT=500;var CONCURRENCY=4;var SEND_PER_MINUTE=200;var SEND_BURST=30;var RATE_LIMIT_WAIT_MS=6e4;var RATE_LIMIT_RETRIES=2;var LEDGER_MAX_BYTES=5*1024*1024;var USAGE="twp user export [--file <\u53F0\u5E33CSV>] [--include-disabled] [--exclude-hidden] [--inactive-days <\u65E5\u6570>] [--code-column <\u5217\u540D>] [--name-column <\u5217\u540D>] [--email-column <\u5217\u540D>] [--department-c\
138
137
  olumn <\u5217\u540D>] [--position-column <\u5217\u540D>] [--max-users <\u4EBA\u6570>]";var HELP="twp user export help";var listPaging=envelopePaging({label:"\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7"});var LEDGER_ROLES=["code","name","email","department","position"];var ROLE_LABEL={code:"\u793E\u54E1\u756A\u53F7",name:"\u6C0F\u540D",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",department:"\u90E8\u7F72",position:"\u5F79\u8077"};var COLUMN_CANDIDATES={code:["\u793E\u54E1\u756A\u53F7","\u5F93\u696D\u54E1\u756A\u53F7",
139
138
  "\u793E\u54E1\u30B3\u30FC\u30C9","\u5F93\u696D\u54E1\u30B3\u30FC\u30C9","employee_code","employee_no"],name:["\u6C0F\u540D","\u540D\u524D","\u793E\u54E1\u540D","\u5F93\u696D\u54E1\u540D","name","user_name"],email:["\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9","\u4F1A\u793E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9","email","login_id"],department:["\u90E8\u7F72","\u90E8\u7F72\u540D","\u6240\u5C5E\u90E8\u7F72","department","department_name"],position:["\u5F79\u8077","\u5F79\u8077\u540D","position",
140
139
  "position_name"]};function parseCsvRecords(text){const records=[];let cells=[];let field="";let quoted=false;let started=false;let line=1;let recordLine=1;let i=0;const pushRecord=()=>{cells.push(field);records.push({line:recordLine,cells});cells=[];field="";started=false};while(i<text.length){const ch=text[i];if(quoted){if(ch==='"'){if(text[i+1]==='"'){field+='"';i+=2;continue}quoted=false}else if(ch==="\r"||ch==="\n"){if(ch==="\r"&&text[i+1]==="\n")i+=1;line+=1;field+="\n"}else{field+=ch}i+=1;
@@ -146,8 +145,8 @@ function normalizeHeader(value){return value.normalize("NFKC").trim().toLowerCas
146
145
  header.cells,overrides);const rows=[];const errors=[];const seen={code:new Map,email:new Map};for(const record of body){const value=role=>{const index=columns[role];if(index===void 0)return void 0;const raw=(record.cells[index]??"").trim();return raw===""?void 0:raw};const cells={};for(const role of LEDGER_ROLES){const v=value(role);if(v!==void 0)cells[role]=v}const row={line:record.line,...cells};if(row.code===void 0&&row.email===void 0&&row.name===void 0){errors.push(`${record.line} \u884C\u76EE: \u793E\u54E1\u756A\u53F7\u30FB\u30E1\
147
146
  \u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u6C0F\u540D\u304C\u3059\u3079\u3066\u7A7A\u3067\u3059`);continue}let duplicated=false;for(const role of["code","email"]){const v=row[role];if(v===void 0)continue;const first=seen[role].get(normalizeValue(v));if(first!==void 0){errors.push(`${record.line} \u884C\u76EE: ${ROLE_LABEL[role]} ${v} \u306F ${first} \u884C\u76EE\u3068\u91CD\u8907\u3057\u3066\u3044\u307E\u3059`);duplicated=true}else{seen[role].set(normalizeValue(v),record.line)}}if(!duplicated)rows.
148
147
  push(row)}if(errors.length>0){throw new UsageError(`\u53F0\u5E33 CSV \u306B\u4E0D\u6B63\u306A\u884C\u304C ${errors.length} \u884C\u3042\u308A\u307E\u3059:
149
- ${errors.join("\n ")}`,HELP)}return{header:header.cells.map(h=>h.trim()),columns,rows}}function readLedgerFile(file){let fd;try{fd=fs2.openSync(file,"r");if(!fs2.fstatSync(fd).isFile())throw new UsageError(`--file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,HELP);const buffer=Buffer.alloc(LEDGER_MAX_BYTES+1);let total=0;for(;;){const n=fs2.readSync(fd,buffer,total,buffer.length-total,null);if(n===0)break;total+=n;if(total>
150
- LEDGER_MAX_BYTES){throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059: ${file}`,`\u4E0A\u9650\u306F ${LEDGER_MAX_BYTES} \u30D0\u30A4\u30C8\u3067\u3059\u3002`)}}return buffer.subarray(0,total)}catch(err){if(err instanceof UsageError)throw err;const reason=err.code??err.message;throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${reason}\uFF09`,HELP)}finally{if(fd!==void 0)fs2.closeSync(fd)}}
148
+ ${errors.join("\n ")}`,HELP)}return{header:header.cells.map(h=>h.trim()),columns,rows}}function readLedgerFile(file){let fd;try{fd=fs.openSync(file,"r");if(!fs.fstatSync(fd).isFile())throw new UsageError(`--file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,HELP);const buffer=Buffer.alloc(LEDGER_MAX_BYTES+1);let total=0;for(;;){const n=fs.readSync(fd,buffer,total,buffer.length-total,null);if(n===0)break;total+=n;if(total>
149
+ LEDGER_MAX_BYTES){throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059: ${file}`,`\u4E0A\u9650\u306F ${LEDGER_MAX_BYTES} \u30D0\u30A4\u30C8\u3067\u3059\u3002`)}}return buffer.subarray(0,total)}catch(err){if(err instanceof UsageError)throw err;const reason=err.code??err.message;throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${reason}\uFF09`,HELP)}finally{if(fd!==void 0)fs.closeSync(fd)}}
151
150
  var KIND_LABEL={not_in_ledger:"\u53F0\u5E33\u306B\u3044\u306A\u3044\uFF08\u5931\u52B9\u6F0F\u308C\uFF09",missing_in_twp:"TWP \u306B\u3044\u306A\u3044\uFF08\u767B\u9332\u6F0F\u308C\uFF09",disabled_in_twp:"TWP \u3067\u5931\u52B9\u3057\u3066\u3044\u308B\uFF08\u8AA4\u5931\u52B9\uFF09",ambiguous:"\u8907\u6570\u306E\u30E6\u30FC\u30B6\u30FC\u306B\u4E00\u81F4\uFF08\u7A81\u304D\u5408\u308F\u305B\u3067\u304D\u306A\u3044\uFF09",department_mismatch:"\u90E8\u7F72\u304C\u9055\u3046\uFF08\u7570\u52D5\u306E\u53CD\u6620\u6F0F\u308C\uFF09",
152
151
  position_mismatch:"\u5F79\u8077\u304C\u9055\u3046\uFF08\u7570\u52D5\u306E\u53CD\u6620\u6F0F\u308C\uFF09",inactive:"\u9577\u671F\u9593\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u306A\u3044"};function str(value){return typeof value==="string"&&value!==""?value:null}function listPlan(input,cursor){return{method:"GET",path:"/api/v2/admin/users/list",query:{limit:LIST_PAGE_LIMIT,cursor,include_hidden:input.flags.has("--exclude-hidden")?void 0:"true"}}}var sleep=ms=>new Promise(resolve=>setTimeout(resolve,
153
152
  ms));function pacedSender(ctx){const intervalMs=6e4/SEND_PER_MINUTE;let tokens=SEND_BURST;let last=Date.now();let chain=Promise.resolve();const take=()=>{chain=chain.then(async()=>{const now=Date.now();tokens=Math.min(SEND_BURST,tokens+(now-last)/intervalMs);last=now;if(tokens<1){await sleep((1-tokens)*intervalMs);tokens=1;last=Date.now()}tokens-=1});return chain};return async plan=>{for(let attempt=0;;attempt+=1){await take();try{return await ctx.send(plan)}catch(err){if(!(err instanceof ApiError)||
@@ -283,8 +282,8 @@ var PASSWORD_HINT="\u30D1\u30B9\u30EF\u30FC\u30C9\u306F --password-file \u306B\u
283
282
  function booleanFlag(input,flag){const raw=input.flags.get(flag);return raw===void 0?void 0:booleanText(flag,raw)}function roleType(input){const raw=input.flags.get("--role");if(raw===void 0)return void 0;const type=ROLE_TO_TYPE[raw.trim().toLowerCase()];if(type===void 0){throw new UsageError(`--role \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F admin\uFF08\u7BA1\u7406\u8005\uFF09/ user\uFF08\u4E00\u822C\uFF09\u3067\u3059\u3002")}
284
283
  return type}function authType(input){const raw=input.flags.get("--auth-type");if(raw===void 0)return void 0;const value=raw.trim().toLowerCase();if(!AUTH_TYPES.includes(value)){throw new UsageError(`--auth-type \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${AUTH_TYPES.join(" / ")} \u3067\u3059\uFF08disabled \u3067\u5931\u52B9\uFF09\u3002`)}return value}async function readPassword(input,usage){const file=input.flags.get(PASSWORD_FILE_FLAG.
285
284
  name);if(file===void 0)return void 0;let text;if(file==="-"){if(process.stdin.isTTY===true){throw new UsageError("--password-file - \u306F\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u307F\u307E\u3059\u304C\u3001\u7AEF\u672B\u304C\u7E4B\u304C\u3063\u3066\u3044\u307E\u3059","\u30D1\u30A4\u30D7\u304B\u30EA\u30C0\u30A4\u30EC\u30AF\u30C8\u3067\u6A19\u6E96\u5165\u529B\u306B\u6E21\u3059\u304B\u3001--password-file \u306B\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u3092\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
286
- const chunks=[];let size=0;for await(const chunk of process.stdin){const buffer=Buffer.from(chunk);size+=buffer.length;if(size>PASSWORD_FILE_MAX_BYTES){throw new UsageError(`\u6A19\u6E96\u5165\u529B\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${PASSWORD_FILE_MAX_BYTES} \u30D0\u30A4\u30C8\u8D85\uFF09`,usage)}chunks.push(buffer)}text=Buffer.concat(chunks).toString("utf8")}else{try{const stat=fs3.statSync(file);if(!stat.isFile())throw new UsageError(`--passwor\
287
- d-file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,usage);if(stat.size>PASSWORD_FILE_MAX_BYTES){throw new UsageError(`--password-file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${stat.size} \u30D0\u30A4\u30C8\uFF09: ${file}`,usage)}text=fs3.readFileSync(file,"utf8")}catch(err){if(err instanceof UsageError)throw err;const reason=err.code??err.message;throw new UsageError(`--password-file \
285
+ const chunks=[];let size=0;for await(const chunk of process.stdin){const buffer=Buffer.from(chunk);size+=buffer.length;if(size>PASSWORD_FILE_MAX_BYTES){throw new UsageError(`\u6A19\u6E96\u5165\u529B\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${PASSWORD_FILE_MAX_BYTES} \u30D0\u30A4\u30C8\u8D85\uFF09`,usage)}chunks.push(buffer)}text=Buffer.concat(chunks).toString("utf8")}else{try{const stat=fs2.statSync(file);if(!stat.isFile())throw new UsageError(`--passwor\
286
+ d-file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,usage);if(stat.size>PASSWORD_FILE_MAX_BYTES){throw new UsageError(`--password-file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${stat.size} \u30D0\u30A4\u30C8\uFF09: ${file}`,usage)}text=fs2.readFileSync(file,"utf8")}catch(err){if(err instanceof UsageError)throw err;const reason=err.code??err.message;throw new UsageError(`--password-file \
288
287
  \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${reason}\uFF09`,usage)}}const password=text.replace(/^\uFEFF/,"").replace(/\r?\n$/,"");if([...password].length<PASSWORD_MIN_CHARS){throw new UsageError(`\u30D1\u30B9\u30EF\u30FC\u30C9\u306F ${PASSWORD_MIN_CHARS} \u6587\u5B57\u4EE5\u4E0A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${[...password].length} \u6587\u5B57\uFF09`,usage)}return password}function userFields(input){const body={};for(const field of TEXT_FIELDS){
289
288
  const value=boundedText(input,field.flag,{maxChars:field.maxChars,label:field.label});if(value!==void 0)body[field.key]=value}const type=roleType(input);if(type!==void 0)body["type"]=type;const hireDate=isoDate(input,HIRE_DATE_FLAG.name);if(hireDate!==void 0)body["hire_date"]=hireDate;for(const field of DISPLAY_FIELDS){const value=booleanFlag(input,field.flag);if(value!==void 0)body[field.key]=value}return body}function writeAck(body,label2){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(
290
289
  `${label2}\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`)}const rest={...body};delete rest["result"];return rest}function licenseNotes(body){const warnings=isRecord(body)?body["license_warnings"]:void 0;if(!Array.isArray(warnings)||warnings.length===0)return[];const texts=warnings.map(warning=>isRecord(warning)?String(warning["message"]??warning["feature_label"]??warning["\
@@ -0,0 +1,100 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{readBody}from"./chunk-HGTG5XQ7.js";import{WORKFLOWS_PATH}from"./chunk-RM4ECBIO.js";import"./chunk-FTYJZFEK.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-NHYMHCAT.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-R53CMVWR.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";
4
+ import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.js";var WORKFLOW_FLAG={name:"--workflow",summary:"\u7533\u8ACB\u66F8\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF09\u306E\u540D\u524D\u304B ID \u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>"};var CATEGORIES={undefined:"\u6C4E\u7528",paid_holiday:"\u6709\u7D66\u4F11\u6687",substitute_holiday:"\u632F\u66FF\u4F11\u6687",comp_holiday:"\u4EE3\u4F11",absence:"\u6B20\u52E4",special_holiday:"\u7279\u5225\u4F11\u6687",other_leave:"\u305D\u306E\u4ED6\u4F11\u6687\u30FB\u6B20\u52E4",
5
+ sales:"\u53D6\u5F15",commuting_expenses:"\u901A\u52E4\u4EA4\u901A\u8CBB",cms_publish:"\u30B3\u30F3\u30C6\u30F3\u30C4\u516C\u958B",equipment_lending:"\u5099\u54C1\u8CB8\u51FA",ai_tool_license:"AI\u30C4\u30FC\u30EB\u30E9\u30A4\u30BB\u30F3\u30B9",qualification_bonus:"\u5408\u683C\u304A\u795D\u3044\u91D1"};var CATEGORY_HELP=`\u30AB\u30C6\u30B4\u30EA: ${Object.entries(CATEGORIES).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join(" / ")}`;var WORKFLOW_STATUSES=["active","inactive","draft"];var INSTANCE_STATUSES=[
6
+ "new","in_progress","approved","rejected","canceled","sent_back"];var INSTANCE_STATUS_HELP="\u72B6\u614B: new\uFF08\u4E0B\u66F8\u304D\uFF09/ in_progress\uFF08\u627F\u8A8D\u5F85\u3061\uFF09/ approved\uFF08\u627F\u8A8D\u6E08\u307F\uFF09/ rejected\uFF08\u5374\u4E0B\uFF09/ canceled\uFF08\u53D6\u6D88\uFF09/ sent_back\uFF08\u5DEE\u3057\u623B\u3057\uFF09";var WORKFLOW_COLUMNS=["id","name","defined_category","status","is_hidden","valid_from","valid_to"];var WORKFLOW_ADMIN_COLUMNS=[...WORKFLOW_COLUMNS,"s\
7
+ tep_count"];var WORKFLOW_GET_COLUMNS=["id","name","defined_category","status","is_hidden","valid_from","valid_to","description"];var INSTANCE_COLUMNS=["id","title","workflow_name","status","current_step_no","applicant_name","applied_at","completed_at"];var INSTANCE_GET_COLUMNS=["id","title","workflow_id","workflow_name","status","current_step_no","applicant_name","applied_at","completed_at","can_approve","is_editable","is_cancelable"];var PENDING_COLUMNS=["id","title","workflow_name","applicant_\
8
+ name","current_step_no","applied_at","delegated_from_user_id"];var INSTANCES_PATH=`${WORKFLOWS_PATH}/instances`;function enumFlag(input,flag,values,help){const raw=nonEmpty(input.flags,flag);if(raw===void 0)return void 0;const value=raw.trim();if(!values.includes(value)){throw new UsageError(`${flag} \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u5024\u3067\u3059: ${raw}`,help)}return value}function category(input){return enumFlag(input,"--category",Object.keys(CATEGORIES),CATEGORY_HELP)}function noArgs(input,usage){
9
+ if(input.args.length>0){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}}function listRows(body,label){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return list}function objectOf(body,key,label){
10
+ const value=isRecord(body)?body[key]:void 0;if(!isRecord(value)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B ${key} \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function idPath(base,id,label){if(!isSafePathSegment(id)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F${label} ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
11
+ return`${base}/${encodeURIComponent(id)}`}async function workflowId(ref,ctx,flag){return UUID_RE.test(ref)?ref:(await ctx.resolver.workflow(ref,flag)).id}function countNote(rows,what){return[`${what}: ${String(rows.length)} \u4EF6`]}var LIST_USAGE="twp workflow list [--status <active|inactive|draft>] [--category <\u30AB\u30C6\u30B4\u30EA>]";var GET_USAGE="twp workflow get <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>";var APPLICABLE_USAGE="twp workflow applicable [--category <\u30AB\u30C6\u30B4\u30EA>]";
12
+ var workflowOperations=[{name:"list",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF09\u306E\u5B9A\u7FA9\u3092\u4E00\u89A7\u3059\u308B\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\uFF09",usage:LIST_USAGE,description:`GET /api/v2/workflows \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u975E\u8868\u793A\u30FB\u7121\u52B9\u3092\u542B\u3080\u30C6\u30CA\u30F3\u30C8\u306E\u5168\u7533\u8ACB\u66F8\uFF09\u3002
13
+ \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u8AAD\u3081\u307E\u3059\u3002\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u306F twp workflow applicable \u3067\u898B\u3089\u308C\u307E\u3059\u3002
14
+ ${CATEGORY_HELP}
15
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u627F\u8A8D\u8005\u30FB\u5BFE\u8C61\u8005\u306E\u6761\u4EF6\u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[{name:"--status",summary:"\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9 / draft: \u4E0B\u66F8\u304D\uFF09",takesValue:true,placeholder:"<\u72B6\u614B>"},{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,
16
+ placeholder:"<\u30AB\u30C6\u30B4\u30EA>"}],plan(input){noArgs(input,LIST_USAGE);return{method:"GET",path:WORKFLOWS_PATH,query:{status:enumFlag(input,"--status",WORKFLOW_STATUSES,"\u72B6\u614B: active\uFF08\u6709\u52B9\uFF09/ inactive\uFF08\u7121\u52B9\uFF09/ draft\uFF08\u4E0B\u66F8\u304D\uFF09"),category:category(input)}}},summarize:body=>listRows(body,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u4E00\u89A7").map(row=>pick(row,WORKFLOW_ADMIN_COLUMNS)),raw:body=>listRows(body,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u4E00\u89A7"),
17
+ notes:body=>countNote(listRows(body,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u4E00\u89A7"),"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC"),forbidden:"\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u306E\u4E00\u89A7\u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u898B\u3089\u308C\u307E\u3059\u3002\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u306F twp workflow applicable \u3067\u898B\u3089\u308C\u307E\u3059"},
18
+ {name:"get",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF091\u4EF6\u306E\u5B9A\u7FA9\u3092\u8868\u793A\u3059\u308B\uFF08\u627F\u8A8D\u306E\u6BB5\u30FB\u5165\u529B\u9805\u76EE\u3092\u542B\u3080\uFF09",usage:GET_USAGE,description:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC> \u306F\u7533\u8ACB\u66F8\u306E\u540D\u524D\u304B ID\uFF08UUID\uFF09\u3067\u3059\u3002\u540D\u524D\u306F\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u304B\u3089\u5B8C\u5168\u4E00\u81F4\u3067\u63A2\u3057\u307E\u3059\n\uFF08\u7533\u8ACB\u3067\u304D\u306A\u3044\u7533\u8ACB\u66F8\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002ID \u306F twp workflow list / instance list \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\u3067\u3001\u627F\u8A8D\u306E\u6BB5\u306E\u6570\u3068\u5165\u529B\u9805\u76EE\u306E\u6570\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08steps\u30FBform_definition \
19
+ \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",flags:[],async prepare(input,ctx){const ref=singleRef(input,{flag:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>",label:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC",usage:GET_USAGE});return withResolved(input,{workflowId:await workflowId(ref,ctx,"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>")})},plan:input=>({method:"GET",path:idPath(WORKFLOWS_PATH,requireResolved(input,"workflowId"),"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC")}),summarize:body=>pick(objectOf(
20
+ body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30"),WORKFLOW_GET_COLUMNS),raw:body=>objectOf(body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30"),notes(body){const workflow=objectOf(body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30");const steps=Array.isArray(workflow["steps"])?workflow["steps"].length:null;const form=isRecord(workflow["form_definition"])?workflow["form_definition"]["form_column_list"]:void 0;const fields=Array.isArray(form)?form.length:
21
+ null;return[`\u627F\u8A8D\u306E\u6BB5: ${steps===null?"\u4E0D\u660E":`${String(steps)} \u6BB5`}\u30FB\u5165\u529B\u9805\u76EE: ${fields===null?"\u4E0D\u660E":`${String(fields)} \u9805\u76EE`}\uFF08\u5168\u9805\u76EE\u306F --output json \u306E steps / form_definition\uFF09`]}},{name:"applicable",summary:"\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\uFF09\u3092\u4E00\u89A7\u3059\u308B",usage:APPLICABLE_USAGE,description:`GET /api/v2/w\
22
+ orkflows/applicable\uFF08--category \u304C\u3042\u308C\u3070 applicable/{category}\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002
23
+ --category \u7121\u3057\u3067\u306F\u975E\u8868\u793A\u306E\u7533\u8ACB\u66F8\u306F\u51FA\u307E\u305B\u3093\u3002--category \u3092\u4ED8\u3051\u308B\u3068\u975E\u8868\u793A\u306E\u7533\u8ACB\u66F8\u3082\u51FA\u307E\u3059
24
+ \uFF08\u6709\u7D66\u4F11\u6687\u306A\u3069\u306E\u7533\u8ACB\u66F8\u306F\u3001\u753B\u9762\u306E\u5225\u30E1\u30CB\u30E5\u30FC\u304B\u3089\u4F7F\u3046\u305F\u3081\u975E\u8868\u793A\u306B\u306A\u3063\u3066\u3044\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF09\u3002
25
+ ${CATEGORY_HELP}
26
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\u306E\u7533\u8ACB\u66F8\u3060\u3051\u3092\u51FA\u3059\uFF08\u975E\u8868\u793A\u3082\u542B\u3080\uFF09",takesValue:true,placeholder:"<\u30AB\u30C6\u30B4\u30EA>"}],plan(input){noArgs(input,APPLICABLE_USAGE);const value=category(input);return{method:"GET",path:value===void 0?`${WORKFLOWS_PATH}/applicable`:`${WORKFLOWS_PATH}/\
27
+ applicable/${encodeURIComponent(value)}`}},summarize:body=>listRows(body,"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC").map(row=>pick(row,WORKFLOW_COLUMNS)),raw:body=>listRows(body,"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC"),notes:body=>countNote(listRows(body,"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC"),"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC")}];var INSTANCE_LIST_USAGE="twp workflow instance l\
28
+ ist [--workflow <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>] [--status <\u72B6\u614B>] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>]";var INSTANCE_GET_USAGE="twp workflow instance get <\u7533\u8ACBID>";var HISTORY_USAGE="twp workflow instance history [--workflow <\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>] [--status <\u72B6\u614B>] [--keyword <\u8A9E>] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>]";var instancePaging=envelopePaging({label:"\u7533\u8ACB\u4E00\u89A7"});
29
+ var historyPaging=envelopePaging({label:"\u627F\u8A8D\u5C65\u6B74"});var STATUS_FLAG={name:"--status",summary:"\u7533\u8ACB\u306E\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u72B6\u614B>"};async function prepareWorkflowFilter(input,ctx){instanceStatus(input);const ref=nonEmpty(input.flags,WORKFLOW_FLAG.name);if(ref===void 0)return input;return withResolved(input,{workflowId:await workflowId(ref.trim(),ctx,WORKFLOW_FLAG.name)})}function instanceStatus(input){return enumFlag(
30
+ input,"--status",INSTANCE_STATUSES,INSTANCE_STATUS_HELP)}function workflowFilter(input){return input.flags.has(WORKFLOW_FLAG.name)?requireResolved(input,"workflowId"):void 0}var CONTENT_KEYS=["title","description","form_data"];var CONTENT_MAX_CHARS=1e6;var COMMENT_MAX_CHARS=2e3;var CONTENT_FILE_FLAG={name:"--content-file",summary:"\u7533\u8ACB\u5185\u5BB9\u306E JSON \u30D5\u30A1\u30A4\u30EB\uFF08title / description / form_data\u30FB- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"\
31
+ <\u30D1\u30B9>"};var SKELETON_FLAG={name:"--generate-cli-skeleton",summary:"\u7533\u8ACB\u66F8\u306E\u5165\u529B\u9805\u76EE\u304B\u3089 --content-file \u306E\u3072\u306A\u5F62\u3092\u51FA\u3057\u3066\u7D42\u4E86\u3059\u308B\uFF08\u7533\u8ACB\u306F\u4F5C\u3089\u306A\u3044\uFF09",takesValue:false};var COMMENT_FLAGS=[{name:"--comment-file",summary:"\u30B3\u30E1\u30F3\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"\
32
+ --comment",summary:"\u30B3\u30E1\u30F3\u30C8\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u4E00\u884C\u5411\u3051\u3002--comment-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"}];var CONTENT_HELP="\u7533\u8ACB\u5185\u5BB9\uFF08--content-file\uFF09\u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3001\u6307\u5B9A\u3067\u304D\u308B\u30AD\u30FC\u306F title / description / form_data \u3067\u3059\u3002\n form_data \u306F\u7533\u8ACB\u66F8\u306E\u5165\u529B\u9805\u76EE\u540D \u2192 \u5024\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3059\uFF08\u9805\u76EE\u540D\u306F twp workflow instance create --generate-cli-skeleton \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002\n \u305D\u308C\u4EE5\u5916\u306E\u30AD\u30FC\u306F\u9001\u308B\u524D\u306B\u30A8\u30E9\u30FC\u306B\u3057\u307E\u3059\uFF08\u66F4\u65B0\u30FB\u63D0\u51FA\u3067\u306F\u30B5\u30FC\u30D0\u304C\u5B9A\u7FA9\u5916\u306E\u30AD\u30FC\u3092\u9ED9\u3063\u3066\u6368\u3066\u308B\u305F\u3081\u3002\n \u7533\
33
+ \u8ACB\u66F8\u306F --workflow \u3060\u3051\u3067\u6307\u5B9A\u3057\u307E\u3059\uFF1Dworkflow_id \u3092\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304F\u3068\u4E8C\u91CD\u6307\u5B9A\u306B\u306A\u308A\u307E\u3059\uFF09\u3002\n --content-file - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3081\u307E\u3059\u3002";function instanceIdArg(input,usage){const id=singleRef(input,{flag:"<\u7533\u8ACBID>",label:"\u7533\u8ACBID",usage});if(!UUID_RE.test(id)){throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,
34
+ usage)}return id}function parseInstanceContent(text,source,usage){let parsed;try{parsed=JSON.parse(text)}catch{throw new UsageError(`\u7533\u8ACB\u5185\u5BB9\u304C JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093\uFF08${source}\uFF09`,usage)}if(!isRecord(parsed)){throw new UsageError(`\u7533\u8ACB\u5185\u5BB9\u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${source}\uFF09`,CONTENT_HELP)}const unknown=Object.keys(parsed).filter(key=>!CONTENT_KEYS.
35
+ includes(key));if(unknown.length>0){throw new UsageError(`\u7533\u8ACB\u5185\u5BB9\u306B\u9001\u308C\u306A\u3044\u9805\u76EE\u304C\u3042\u308A\u307E\u3059: ${unknown.join(", ")}\uFF08${source}\uFF09`,CONTENT_HELP)}if("form_data"in parsed&&!isRecord(parsed["form_data"])){throw new UsageError(`\u7533\u8ACB\u5185\u5BB9\u306E form_data \u306F\u300C\u9805\u76EE\u540D \u2192 \u5024\u300D\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${source}\uFF09`,
36
+ CONTENT_HELP)}return parsed}async function readContent(input,usage){const text=await readBody(input,{flag:"--content",fileFlag:CONTENT_FILE_FLAG.name,label:"\u7533\u8ACB\u5185\u5BB9",maxChars:CONTENT_MAX_CHARS,usage});return text===void 0?void 0:parseInstanceContent(text,`${CONTENT_FILE_FLAG.name} ${input.flags.get(CONTENT_FILE_FLAG.name)??""}`,usage)}function createInstancePlan(workflowId2,content={}){return{method:"POST",path:INSTANCES_PATH,body:{...content,workflow_id:workflowId2}}}function applyInstancePlan(instanceId){
37
+ return{method:"POST",path:idPath(INSTANCES_PATH,instanceId,"\u7533\u8ACB")+"/apply",body:{}}}function writtenInstance(body){return objectOf(body,"instance","\u7533\u8ACB")}function serverMessage(body){return isRecord(body)&&typeof body["message"]==="string"&&body["message"]!==""?[body["message"]]:[]}var WRITE_COLUMNS=["id","title","workflow_name","status","current_step_no","applied_at","completed_at"];function columnList(definition){if(definition===void 0||definition===null||definition==="")return[];
38
+ if(typeof definition==="string"){try{return columnList(JSON.parse(definition))}catch{return void 0}}if(Array.isArray(definition))return definition;if(!isRecord(definition))return void 0;const list=definition["form_column_list"]??definition["fields"];return Array.isArray(list)?list:void 0}function str(value){return typeof value==="string"&&value!==""?value:void 0}function formColumns(workflow){const list=columnList(workflow["form_definition"]);const columns=list?.map(column=>{if(!isRecord(column))
39
+ return void 0;const name=str(column["name"])??str(column["column_name"]);if(name===void 0)return void 0;const options=Array.isArray(column["options"])?column["options"].flatMap(option=>{if(typeof option==="string")return[option];if(!isRecord(option)||option["is_legacy"]===true)return[];return[`${String(option["key"])}=${String(option["value"])}`]}):[];return{name,displayName:str(column["display_name"])??str(column["label"])??"",type:str(column["type"])??str(column["column_type"]),required:column["\
40
+ required"]===true,options,defaultValue:column["default_value"]}});if(columns===void 0||columns.some(column=>column===void 0)){throw new ApiResponseError("\u7533\u8ACB\u66F8\u306E form_definition \u3092\u8AAD\u3081\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return columns}var MULTI_VALUE_TYPES=new Set(["checkbox","tag"]);function emptyValue(column){const multi=column.type!==void 0&&MULTI_VALUE_TYPES.has(column.type);const fallback=multi?
41
+ []:column.type==="boolean"?false:null;const value=column.defaultValue;if(value===void 0||value===null||value==="")return fallback;if(multi!==Array.isArray(value))return fallback;return value}function skeleton(body){const workflow=objectOf(body,"workflow","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30");const formData={};for(const column of formColumns(workflow))formData[column.name]=emptyValue(column);return{title:workflow["name"]??null,description:null,form_data:formData}}function skeletonNotes(body){
42
+ 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(columns.length)} \u9805\u76EE\uFF08form_data \u306E\u30AD\u30FC\uFF09`,...columns.map(column=>` ${column.name}: ${column.displayName}\
43
+ \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\u3092\u7A7A\u306E\u307E\u307E\u63D0\u51FA\u3057\u3066\u3082\u3001\u7533\u8ACB\u66F8\u306B\u3088\u3063\u3066\u306F\u30B5\u30FC\u30D0\u304C\u6B62\u3081\u307E\u305B\u3093\u3002\u63D0\u51FA\u524D\u306B\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"]}function createResult(value){if(!isRecord(value)||typeof value["\
44
+ 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.resolved?.["content"];return createInstancePlan(id,raw===
45
+ 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_USAGE="twp workflow instance update <\u7533\u8ACBID> --content-file <\u30D1\u30B9>";var DELETE_USAGE="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\
46
+ 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
47
+ --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
48
+ \uFF08\u975E\u8868\u793A\u306E\u7533\u8ACB\u66F8\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002
49
+ --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
50
+
51
+ ${CONTENT_HELP}
52
+
53
+ --generate-cli-skeleton \u306F\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\uFF08GET /api/v2/workflows/{id}\uFF09\u3092\u8AAD\u307F\u3001--content-file \u306B\u6E21\u3059\u3072\u306A\u5F62\u3092
54
+ \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
55
+ \u4F8B: twp workflow instance create --workflow \u5099\u54C1\u8CB8\u51FA\u7533\u8ACB --generate-cli-skeleton --output json > in.json
56
+
57
+ \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",
58
+ 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)=>({
59
+ 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):
60
+ 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:"\
61
+ 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\u26A0\uFE0F \u6C4E\u7528\u306E\u7533\u8ACB\u66F8\u3067\u306F\u3001\u5FC5\u9808\u306E\u5165\u529B\u9805\u76EE\u304C\u7A7A\u3067\u3082\u30B5\u30FC\u30D0\u306F\u63D0\u51FA\u3092\u6B62\u3081\u307E\u305B\u3093\uFF08\u691C\u67FB\u3059\u308B\u306E\u306F\u30AB\u30C6\u30B4\u30EA\u306E\u5C02\u7528\u51E6\u7406\u304C\u3042\u308B\u7533\u8ACB\u66F8\u3060\u3051\uFF09\u3002\n \u63D0\u51FA\u524D\u306B twp workflow instance get <\u7533\u8ACBID> --output json \u306E form_data \u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002",
62
+ 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_USAGE,
63
+ 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"+
64
+ CONTENT_HELP,flags:[CONTENT_FILE_FLAG],async prepare(input){instanceIdArg(input,UPDATE_USAGE);const content=await readContent(input,UPDATE_USAGE);if(content===void 0||Object.keys(content).length===0){throw new UsageError("\u66F8\u304D\u63DB\u3048\u308B\u5185\u5BB9\u3092 --content-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u7A7A\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u306F\u4F55\u3082\u5909\u308F\u308A\u307E\u305B\u3093\uFF09",UPDATE_USAGE)}return withResolved(
65
+ input,{content:JSON.stringify(content)})},plan:input=>({method:"PUT",path:idPath(INSTANCES_PATH,instanceIdArg(input,UPDATE_USAGE),"\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(
66
+ 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_USAGE,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",
67
+ destructive:true,flags:[],plan:input=>({method:"DELETE",path:idPath(INSTANCES_PATH,instanceIdArg(input,DELETE_USAGE),"\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\u3002\u6700\
68
+ \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",
69
+ 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},
70
+ {name:"cancel",summary:"\u81EA\u5206\u304C\u51FA\u3057\u305F\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u53D6\u308A\u4E0B\u3052\u308B\uFF08\u7533\u8ACB\u8005\u672C\u4EBA\uFF09",detail:"\u7533\u8ACB\u8005\u672C\u4EBA\u304C\u3001\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u53D6\u308A\u4E0B\u3052\u307E\u3059\uFF08\u627F\u8A8D\u8005\u306E\u64CD\u4F5C\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u627F\u8A8D\u6E08\u307F\u306E\u7533\u8ACB\u306F\u3001\u7533\u8ACB\u66F8\u306E\u30AB\u30C6\u30B4\u30EA\u304C\n\u627F\u8A8D\u5F8C\u306E\u53D6\u6D88\u3092\u8A31\u3059\u5834\u5408\u3060\u3051\u53D6\u308A\u4E0B\u3052\u3089\u308C\u307E\u3059\u3002\u4E0B\u66F8\u304D\u3092\u6D88\u3059\u306A\u3089 twp workflow instance delete \u3067\u3059\u3002",
71
+ commentRequired:false,destructive:true}];function approvalOperation(action){const usage=`twp workflow approval ${action.name} <\u7533\u8ACBID> ${action.commentRequired?"--comment-file <\u30D1\u30B9>":"[--comment-file <\u30D1\u30B9>]"}${action.destructive?" --yes":""}`;return{name:action.name,summary:action.summary,usage,description:`POST /api/v2/workflows/approvals/{id}/${action.name} \u3092\u9001\u308A\u307E\u3059\u3002${action.detail}
72
+ <\u7533\u8ACBID> \u306F UUID \u3067\u3059\uFF08\u627F\u8A8D\u5F85\u3061\u306F twp workflow approval pending \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002
73
+ \u30B3\u30E1\u30F3\u30C8\u306F --comment-file \u3092\u4E3B\u7D4C\u8DEF\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08- \u3067\u6A19\u6E96\u5165\u529B\u30FB\u4E00\u884C\u306A\u3089 --comment <\u6587\u5B57\u5217>\u30FB\u4E0A\u9650 ${String(COMMENT_MAX_CHARS)} \u6587\u5B57\uFF09\u3002
74
+ \u72B6\u614B\u304C\u9055\u3046\u30FB\u6A29\u9650\u304C\u7121\u3044\u3068\u3044\u3063\u305F\u7406\u7531\u3067\u30B5\u30FC\u30D0\u304C\u65AD\u3063\u305F\u5834\u5408\u306F\u3001\u305D\u306E\u7406\u7531\u3092\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 3 \u306B\u306A\u308A\u307E\u3059\u3002`,destructive:action.destructive,flags:COMMENT_FLAGS,async prepare(input){instanceIdArg(input,usage);const comment=await readBody(input,{flag:"--comment",fileFlag:"--comment-file",label:"\u30B3\u30E1\u30F3\u30C8",
75
+ maxChars:COMMENT_MAX_CHARS,usage});if(comment===void 0&&action.commentRequired){throw new UsageError(`${action.name} \u306B\u306F\u30B3\u30E1\u30F3\u30C8\u304C\u5FC5\u8981\u3067\u3059\uFF08--comment-file <\u30D1\u30B9> \u304B --comment <\u6587\u5B57\u5217>\uFF09`,usage)}return comment===void 0?input:withResolved(input,{comment})},plan(input){const comment=input.resolved?.["comment"];return{method:"POST",path:`${idPath(`${WORKFLOWS_PATH}/approvals`,instanceIdArg(input,usage),"\u7533\u8ACB")}/${action.
76
+ name}`,body:comment===void 0?{}:{comment}}},summarize:body=>pick(writtenInstance(body),WRITE_COLUMNS),raw:writtenInstance,notes:serverMessage}}var instanceResource={name:"instance",summary:"\u7533\u8ACB\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u627F\u8A8D\u5C65\u6B74\u30FB\u8D77\u7968\u30FB\u63D0\u51FA\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",operations:[{name:"list",summary:"\u81EA\u5206\u304C\u51FA\u3057\u305F\u7533\u8ACB\u3092\u4E00\u89A7\u3059\u308B",usage:INSTANCE_LIST_USAGE,description:`\
77
+ GET /api/v2/workflows/instances \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308B\u672C\u4EBA\u304C\u7533\u8ACB\u8005\u306E\u3082\u306E\u3002\u4E0B\u66F8\u304D\u3092\u542B\u3080\uFF09\u3002
78
+ --workflow \u306F\u7533\u8ACB\u66F8\u306E\u540D\u524D\u304B ID\uFF08UUID\uFF09\u3067\u3059\u3002\u540D\u524D\u306F\u81EA\u5206\u304C\u7533\u8ACB\u3067\u304D\u308B\u7533\u8ACB\u66F8\u304B\u3089\u5B8C\u5168\u4E00\u81F4\u3067\u63A2\u3057\u307E\u3059\u3002
79
+ ${INSTANCE_STATUS_HELP}
80
+ \u7D5E\u308A\u8FBC\u307F\u306F\u30B5\u30FC\u30D0\u304C\u8AAD\u3093\u3060\u3042\u3068\u306B\u639B\u304B\u308B\u305F\u3081\u30011\u30DA\u30FC\u30B8\u304C --limit \u3088\u308A\u5C11\u306A\u304F\u8FD4\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF08\u7D9A\u304D\u306F --all \u3067\u8FBF\u308C\u307E\u3059\uFF09\u3002
81
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08form_data \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002
82
+
83
+ `+LIST_PAGING_HELP,flags:[...LIST_FLAGS,WORKFLOW_FLAG,STATUS_FLAG],paging:instancePaging,prepare:prepareWorkflowFilter,plan(input){noArgs(input,INSTANCE_LIST_USAGE);return{method:"GET",path:INSTANCES_PATH,query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),workflow_id:workflowFilter(input),status:instanceStatus(input)}}},summarize:body=>instancePaging.items(body).map(row=>pick(row,INSTANCE_COLUMNS)),raw:body=>instancePaging.items(body)},{name:"get",summary:"\
84
+ \u7533\u8ACB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u627F\u8A8D\u306E\u7D4C\u904E\u3092\u542B\u3080\uFF09",usage:INSTANCE_GET_USAGE,description:"GET /api/v2/workflows/instances/{id} \u3092\u8868\u793A\u3057\u307E\u3059\u3002<\u7533\u8ACBID> \u306F UUID \u3067\u3059\uFF08twp workflow instance list \u3067\u5206\u304B\u308A\u307E\u3059\uFF09\u3002\n\u898B\u3089\u308C\u308B\u306E\u306F\u3001\u81EA\u5206\u306E\u7533\u8ACB\u30FB\u81EA\u5206\u304C\u627F\u8A8D\u8005\u306E\u7533\u8ACB\u30FB\u95B2\u89A7\u3092\u8A31\u3055\u308C\u305F\u7533\u8ACB\u3060\u3051\u3067\u3059\uFF08\u7121\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\u3067\u3001\u627F\u8A8D\u306E\u7D4C\u904E\uFF08step_history\uFF09\u306E\u4EF6\u6570\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08form_data\u30FBstep_history\u30FBworkflow_steps \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",
85
+ flags:[],plan(input){const id=singleRef(input,{flag:"<\u7533\u8ACBID>",label:"\u7533\u8ACBID",usage:INSTANCE_GET_USAGE});if(!UUID_RE.test(id)){throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,INSTANCE_GET_USAGE)}return{method:"GET",path:`${INSTANCES_PATH}/${encodeURIComponent(id)}`}},summarize:body=>pick(objectOf(body,"instance","\u7533\u8ACB\u8A73\u7D30"),INSTANCE_GET_COLUMNS),raw:body=>objectOf(body,"instance","\u7533\u8ACB\u8A73\u7D30"),
86
+ notes(body){const instance=objectOf(body,"instance","\u7533\u8ACB\u8A73\u7D30");const history=Array.isArray(instance["step_history"])?instance["step_history"].length:null;const notes=[`\u627F\u8A8D\u306E\u7D4C\u904E: ${history===null?"\u4E0D\u660E":`${String(history)} \u4EF6`}\uFF08\u5168\u9805\u76EE\u306F --output json \u306E step_history\uFF09`];if(typeof instance["approval_blocked_reason"]==="string"&&instance["approval_blocked_reason"]!==""){notes.push(`\u627F\u8A8D\u3067\u304D\u306A\u3044\u7406\u7531: ${instance["\
87
+ approval_blocked_reason"]}`)}return notes},forbidden:"\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002\u898B\u3089\u308C\u308B\u306E\u306F\u3001\u81EA\u5206\u306E\u7533\u8ACB\u30FB\u81EA\u5206\u304C\u627F\u8A8D\u8005\u306E\u7533\u8ACB\u30FB\u95B2\u89A7\u3092\u8A31\u3055\u308C\u305F\u7533\u8ACB\u3060\u3051\u3067\u3059"},{name:"history",summary:"\u627F\u8A8D\u5C65\u6B74\uFF08\u81EA\u5206\u304C\u7533\u8ACB\u3057\u305F\u30FB\u627F\u8A8D\u306B\u95A2\u308F\u3063\u305F\u7533\u8ACB\uFF09\u3092\u4E00\u89A7\u3059\u308B",
88
+ usage:HISTORY_USAGE,description:`GET /api/v2/workflows/history \u3092\u8868\u793A\u3057\u307E\u3059\u3002\u4E0B\u66F8\u304D\u306F\u51FA\u307E\u305B\u3093\u3002
89
+ \u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u306F\u30C6\u30CA\u30F3\u30C8\u5185\u306E\u5168\u7533\u8ACB\u3001\u305D\u308C\u4EE5\u5916\u306F\u81EA\u5206\u304C\u7533\u8ACB\u8005\u304B\u627F\u8A8D\u306E\u64CD\u4F5C\u3092\u3057\u305F\u7533\u8ACB\u3067\u3059\u3002
90
+ --workflow \u306F\u7533\u8ACB\u66F8\u306E\u540D\u524D\u304B ID\uFF08UUID\uFF09\u3001--keyword \u306F\u30BF\u30A4\u30C8\u30EB\u7B49\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u307F\u307E\u3059\u3002
91
+ ${INSTANCE_STATUS_HELP}
92
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
93
+
94
+ `+LIST_PAGING_HELP,flags:[...LIST_FLAGS,WORKFLOW_FLAG,STATUS_FLAG,{name:"--keyword",summary:"\u30BF\u30A4\u30C8\u30EB\u7B49\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"}],paging:historyPaging,prepare:prepareWorkflowFilter,plan(input){noArgs(input,HISTORY_USAGE);return{method:"GET",path:`${WORKFLOWS_PATH}/history`,query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),workflow_id:workflowFilter(input),status:instanceStatus(
95
+ input),keyword:nonEmpty(input.flags,"--keyword")}}},summarize:body=>historyPaging.items(body).map(row=>pick(row,INSTANCE_COLUMNS)),raw:body=>historyPaging.items(body)},...instanceWriteOperations]};var PENDING_USAGE="twp workflow approval pending [--count]";function pendingCount(body){const count=isRecord(body)?body["count"]:void 0;if(typeof count!=="number"){throw new ApiResponseError("\u627F\u8A8D\u5F85\u3061\u4EF6\u6570\u306E\u5FDC\u7B54\u306B count \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
96
+ return count}var approvalResource={name:"approval",summary:"\u627F\u8A8D\uFF08\u81EA\u5206\u306E\u627F\u8A8D\u5F85\u3061\u30FB\u627F\u8A8D\u30FB\u5374\u4E0B\u30FB\u5DEE\u3057\u623B\u3057\u30FB\u53D6\u4E0B\u3052\uFF09",operations:[{name:"pending",summary:"\u81EA\u5206\u304C\u627F\u8A8D\u3067\u304D\u308B\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u4E00\u89A7\u3059\u308B\uFF08--count \u3067\u4EF6\u6570\u3060\u3051\uFF09",usage:PENDING_USAGE,description:"GET /api/v2/workflows/approvals/pending\uFF08\
97
+ --count \u306A\u3089 approvals/pending/count\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n\u81EA\u5206\u304C\u627F\u8A8D\u8005\u306E\u7533\u8ACB\u306B\u52A0\u3048\u3066\u3001\u4EE3\u7406\u627F\u8A8D\u3092\u4EFB\u3055\u308C\u305F\u7533\u8ACB\u3082\u51FA\u307E\u3059\uFF08delegated_from_user_id \u304C\u59D4\u4EFB\u5143\uFF09\u3002\n--count \u306E --output json \u306F {count} \u3067\u3059\u3002\n\u627F\u8A8D\u30FB\u5374\u4E0B\u30FB\u5DEE\u3057\u623B\u3057\u306F twp workflow approval approve / reject / send-back <\u7533\u8ACBID> \u3067\u3059\u3002",
98
+ flags:[{name:"--count",summary:"\u4EF6\u6570\u3060\u3051\u3092\u51FA\u3059",takesValue:false}],plan(input){noArgs(input,PENDING_USAGE);return{method:"GET",path:`${WORKFLOWS_PATH}/approvals/pending${input.flags.has("--count")?"/count":""}`}},summarize:body=>isRecord(body)&&"count"in body&&!("list"in body)?{count:pendingCount(body)}:listRows(body,"\u627F\u8A8D\u5F85\u3061").map(row=>pick(row,PENDING_COLUMNS)),raw:body=>isRecord(body)&&"count"in body&&!("list"in body)?{count:pendingCount(body)}:listRows(
99
+ body,"\u627F\u8A8D\u5F85\u3061"),notes:body=>isRecord(body)&&"count"in body&&!("list"in body)?[`\u627F\u8A8D\u5F85\u3061: ${String(pendingCount(body))} \u4EF6`]:countNote(listRows(body,"\u627F\u8A8D\u5F85\u3061"),"\u627F\u8A8D\u5F85\u3061")},...APPROVAL_ACTIONS.map(approvalOperation)]};var workflowDomain={name:"workflow",summary:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u30FB\u7533\u8ACB\u30FB\u627F\u8A8D\uFF09\u306E\u53C2\u7167\u3068\u7533\u8ACB\u30FB\u627F\u8A8D\u306E\u64CD\u4F5C",
100
+ operations:workflowOperations,subresources:[instanceResource,approvalResource]};export{applyInstancePlan,createInstancePlan,parseInstanceContent,workflowDomain,writtenInstance};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tocca-systems/twp-cli",
3
- "version": "0.32.1",
3
+ "version": "0.34.0",
4
4
  "description": "TWP CLI — Tocca Working Platform の CLI 型統合インターフェース(AIエージェントハーネス)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,16 +0,0 @@
1
- import { createRequire as __twpCreateRequire } from 'node:module';
2
- const require = __twpCreateRequire(import.meta.url);
3
- import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var DEFAULT_MAX_PAGES=100;var DEFAULT_MAX_ITEMS=1e4;var LIST_FLAGS=[{name:"--limit",summary:"\u53D6\u5F97\u4EF6\u6570\uFF08\u30B5\u30FC\u30D0\u5074\u306E\u4E0A\u9650\u3067\u5207\u308A\u6368\u3066\u3089\u308C\u307E\u3059\uFF0F--all \u3068\u4F75\u7528\u3057\u305F\u3068\u304D\u306F1\u30DA\u30FC\u30B8\u306E\u4EF6\u6570\uFF09",takesValue:true,placeholder:"<\u4EF6\u6570>"},{name:"--cursor",summary:"\u7D9A\u304D\u3092\u53D6\u5F97\u3059\u308B\u30AB\u30FC\u30BD\u30EB\uFF08\u524D\u56DE\u306E\u5FDC\u7B54\u306E next_cursor\uFF09",
4
- takesValue:true,placeholder:"<\u30AB\u30FC\u30BD\u30EB>"},{name:"--all",summary:"\u5168\u30DA\u30FC\u30B8\u3092\u81EA\u52D5\u3067\u8FBF\u308B\uFF08--cursor \u3068\u4F75\u7528\u3059\u308B\u3068\u305D\u306E\u30AB\u30FC\u30BD\u30EB\u4EE5\u964D\u3092\u5168\u4EF6\uFF09",takesValue:false},{name:"--max-pages",summary:`--all \u304C\u7D9A\u304D\u3092\u53D6\u308A\u306B\u884C\u304F\u4E0A\u9650\u30DA\u30FC\u30B8\u6570\uFF08\u65E2\u5B9A ${DEFAULT_MAX_PAGES}\uFF09`,takesValue:true,placeholder:"<\u30DA\u30FC\u30B8\u6570>"},
5
- {name:"--max-items",summary:`--all \u304C\u7D9A\u304D\u3092\u53D6\u308A\u306B\u884C\u304F\u4E0A\u9650\u4EF6\u6570\uFF08\u65E2\u5B9A ${DEFAULT_MAX_ITEMS}\uFF09`,takesValue:true,placeholder:"<\u4EF6\u6570>"}];var LIST_PAGING_HELP="\u30DA\u30FC\u30B8\u30F3\u30B0:\n --all \u3092\u4ED8\u3051\u308B\u3068\u6700\u5F8C\u306E\u30DA\u30FC\u30B8\u307E\u3067\u81EA\u52D5\u3067\u8FBF\u308A\u307E\u3059\uFF08--limit \u306F1\u30DA\u30FC\u30B8\u306E\u4EF6\u6570\u306B\u306A\u308A\u307E\u3059\uFF09\u3002\n --all \u3068 --cursor \u3092\u4F75\u7528\u3059\u308B\u3068\u3001\u305D\u306E\u30AB\u30FC\u30BD\u30EB\u4EE5\u964D\u3092\u5168\u4EF6\u53D6\u5F97\u3057\u307E\u3059\uFF08\u4E2D\u65AD\u3057\u305F\u53D6\u5F97\u306E\u518D\u958B\uFF09\u3002\n\n \u66B4\u8D70\u3092\u9632\u3050\u305F\u3081 --max-pages / --max-items \u306E\u4E0A\u9650\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u308C\u306F\u300C\u7D9A\u304D\u3092\u53D6\u308A\u306B\u884C\u304F\u304B\u300D\n \u306E\u5224\u5B9A\u306B\u3060\u3051\u4F7F\u308F\u308C\u3001\u7D50\u679C\u3092\u9014\u4E2D\u3067\u5207\u308A\u8A70\u3081\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u8FBF\u308A\u304D\u308B\u524D\u306B\u4E0A\u9650\u3078\u9054\u3057\u305F\n \u5834\u5408\u306F\u300C\u5168\u4EF6\u3067\u306F\u306A\u3044\u300D\u3053\u3068\u3092\u660E\u793A\u3057\u3066\u505C\u6B62\u3057\u3001\u90E8\u5206\u7684\u306A\u7D50\u679C\u306F\u51FA\u529B\u3057\u307E\u305B\u3093\uFF08\u53D6\u5F97\u6E08\u307F\u4EF6\u6570\u3068\n \u518D\u958B\
6
- \u7528\u306E\u30AB\u30FC\u30BD\u30EB\u306F stderr \u306B\u51FA\u307E\u3059\uFF09\u30021\u5F80\u5FA9\u3067\u5168\u4EF6\u304C\u8FD4\u3063\u305F\u3068\u304D\u306F\u4E0A\u9650\u3092\u8D85\u3048\u3066\u3044\u3066\u3082\u6210\u529F\u3067\u3059\u3002\n \u5F80\u5FA9\u304C\u591A\u3059\u304E\u3066\u4E0A\u9650\u306B\u5F53\u305F\u308B\u5834\u5408\u306F\u3001--max-pages \u3092\u4E0A\u3052\u308B\u3088\u308A --limit \u3092\u5927\u304D\u304F\u3059\u308B\u307B\u3046\u304C\u901F\u3044\n \u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF081\u5F80\u5FA9\u3042\u305F\u308A\u306E\u4EF6\u6570\u304C\u5897\u3048\u308B\u305F\u3081\uFF09\u3002\n\n \u26A0 --keyword \u3092\u4F75\u7528\u3057\u305F\u4E00\u89A7\u306F\u3001\u30B5\u30FC\u30D0\u5074\u304C\u30DA\u30FC\u30B8\u756A\u53F7\u306B\u3088\u308B\u4F4D\u7F6E\u6307\u5B9A\u3067\u5FDC\u7B54\u3057\u307E\u3059\u3002\n \u8FBF\u3063\u3066\u3044\u308B\u6700\u4E2D\u306B\u30C7\u30FC\u30BF\u304C\u5897\u6E1B\u3059\u308B\u3068\u3001\u53D6\u308A\u3053\u307C\u3057\u30FB\u91CD\u8907\u304C\u8D77\u3053\u308A\u5F97\u307E\u3059\u3002";
7
- function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function positiveInteger(flags,name){const raw=flags.get(name);if(raw===void 0)return void 0;const n=Number.parseInt(raw,10);if(!Number.isInteger(n)||n<=0||String(n)!==raw.trim()){throw new UsageError(`${name} \u306B\u306F\u6B63\u306E\u6574\u6570\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${raw}\uFF09`)}return n}function nonEmpty(flags,name){const raw=flags.
8
- get(name);if(raw===void 0)return void 0;if(raw.trim()==="")throw new UsageError(`${name} \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`);return raw}function readEnvelopeCursor(body){const record=isRecord(body)?body:{};const nested=isRecord(record["pagination"])?record["pagination"]:isRecord(record["meta"])&&"has_more"in record["meta"]?record["meta"]:void 0;return{hasMore:nested!==void 0&&"has_more"in nested?nested["has_more"]:record["has_more"],cursor:nested!==void 0&&
9
- "next_cursor"in nested?nested["next_cursor"]:record["next_cursor"]}}function envelopePaging(options){const itemsKey=options.itemsKey??"items";const cursorParam=options.cursorParam??"cursor";const items=body=>{const value=isRecord(body)?body[itemsKey]:void 0;if(!Array.isArray(value)){throw new ApiResponseError(`${options.label}\u306E\u5FDC\u7B54\u306B ${itemsKey} \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
10
- return value};return{cursorParam,items,nextCursor(body){const{hasMore,cursor}=readEnvelopeCursor(body);if(hasMore!==true){if(hasMore===false||hasMore===void 0&&cursor===void 0||hasMore===null){return null}throw new ApiResponseError(`${options.label}\u306E\u5FDC\u7B54\u306E has_more \u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${JSON.stringify(hasMore)??"undefined"}\uFF09\u3002\u7D9A\u304D\u306E\u6709\u7121\u3092\u5224\u5B9A\u3067\u304D\u306A\u3044\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\u3002`)}
11
- if(typeof cursor!=="string"||cursor===""){throw new ApiResponseError(`${options.label}\u306E\u5FDC\u7B54\u306B\u7D9A\u304D\u304C\u3042\u308B\uFF08has_more: true\uFF09\u3068\u793A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001next_cursor \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5168\u4EF6\u3092\u53D6\u5F97\u3067\u304D\u306A\u3044\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\u3002`)}return cursor},withItems(body,merged){items(body);return{...body,[itemsKey]:[...merged]}}}}var SHELL_SAFE=/^[A-Za-z0-9_@%+:,./-][A-Za-z0-9_@%+=:,./-]*$/;
12
- function shellQuote(value){if(SHELL_SAFE.test(value))return value;return`'${value.replace(/'/g,"'\\''")}'`}function flagSegment(name,value){return value.startsWith("-")?`${name}=${shellQuote(value)}`:`${name} ${shellQuote(value)}`}var PAGING_CONTROL_FLAGS=new Set(LIST_FLAGS.map(spec=>spec.name).filter(name=>name!=="--limit"));var CONTROL_CHARS=/[\u0000-\u001f\u007f-\u009f]/;function nextPageCommand(input,cursor,context){const flags=[];if(context.profile!==void 0)flags.push(flagSegment("--profile",
13
- context.profile));for(const spec of context.flags){if(PAGING_CONTROL_FLAGS.has(spec.name))continue;const value=input.flags.get(spec.name);if(value===void 0)continue;flags.push(spec.takesValue?flagSegment(spec.name,value):spec.name)}flags.push(flagSegment("--cursor",cursor));const args=input.args.map(arg=>shellQuote(arg));const separated=input.args.some(arg=>arg.startsWith("-"));return separated?[context.command,...flags,"--",...args].join(" "):[context.command,...args,...flags].join(" ")}function nextPageNotes(body,input,context){
14
- const{hasMore,cursor}=readEnvelopeCursor(body);if(hasMore!==true){if(hasMore===false||hasMore===null||hasMore===void 0&&cursor===void 0)return[];return[`\u5FDC\u7B54\u306E has_more \u3092\u89E3\u91C8\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u7D9A\u304D\u306E\u6709\u7121\u3092\u5224\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${JSON.stringify(hasMore)??"undefined"}\uFF09\u3002\u5168\u4EF6\u304C\u8981\u308B\u306A\u3089 --all \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`]}
15
- if(typeof cursor!=="string"||cursor==="")return["\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u5FDC\u7B54\u306B next_cursor \u304C\u3042\u308A\u307E\u305B\u3093\u3002"];if(CONTROL_CHARS.test(cursor)){return["\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u5FDC\u7B54\u306E next_cursor \u306B\u5236\u5FA1\u6587\u5B57\u304C\u542B\u307E\u308C\u308B\u305F\u3081\u6848\u5185\u3092\u51FA\u305B\u307E\u305B\u3093\u3002--all \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002"]}const hint=context.
16
- flags.some(spec=>spec.name==="--all")?"\uFF08\u5168\u4EF6\u306F --all\uFF09":"";return[`\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u3002\u6B21\u306E\u30DA\u30FC\u30B8: ${nextPageCommand(input,cursor,context)}${hint}`]}export{DEFAULT_MAX_PAGES,DEFAULT_MAX_ITEMS,LIST_FLAGS,LIST_PAGING_HELP,positiveInteger,nonEmpty,readEnvelopeCursor,envelopePaging,shellQuote,flagSegment,nextPageNotes};