@tocca-systems/twp-cli 0.41.0 → 0.42.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 (88) hide show
  1. package/CHANGELOG.public.md +6 -0
  2. package/README.md +23 -3
  3. package/dist/{agent-loop-RCMZ7IGV.js → agent-loop-6LT46KBQ.js} +2 -2
  4. package/dist/{ai-dispatch-2ZV4XL5D.js → ai-dispatch-YEZVZFEV.js} +2 -2
  5. package/dist/{api-command-6FEY6MHV.js → api-command-FMG2A67V.js} +47 -16
  6. package/dist/{app-G6Y2XVST.js → app-5NVG34GS.js} +4 -4
  7. package/dist/{attendance-5KE2JPK4.js → attendance-K2U7RYDU.js} +1 -1
  8. package/dist/{attendance-lists-MXQNWUIH.js → attendance-lists-NVRU2NLY.js} +1 -1
  9. package/dist/{backlog-JVHWVL6N.js → backlog-FC4YK5KD.js} +1 -1
  10. package/dist/{charter-command-OQQHBAPS.js → charter-command-2RIS2VTQ.js} +1 -1
  11. package/dist/{chunk-PEM3HR7L.js → chunk-2EJTYKE3.js} +2 -2
  12. package/dist/{chunk-H54MGGHB.js → chunk-2XP7XHLA.js} +2 -2
  13. package/dist/{chunk-DDKZ5IPT.js → chunk-2YNZ4MRT.js} +1 -1
  14. package/dist/{chunk-B7YCG2T7.js → chunk-46ZXIWVU.js} +1 -1
  15. package/dist/{chunk-3RAGOW6X.js → chunk-4B3T4UE7.js} +1 -1
  16. package/dist/{chunk-XN5TUZOT.js → chunk-6FKZSOPR.js} +1 -1
  17. package/dist/{chunk-HBH5V2CP.js → chunk-AITUMFCH.js} +1 -1
  18. package/dist/{chunk-P4AEFKLM.js → chunk-AJO4O5ZF.js} +1 -1
  19. package/dist/{chunk-GDM2QUBL.js → chunk-ATYA6DG5.js} +1 -1
  20. package/dist/chunk-DMRXJRMR.js +102 -0
  21. package/dist/{chunk-IOGVQVGD.js → chunk-F7K37QG6.js} +1 -1
  22. package/dist/chunk-FPUOK6KV.js +8 -0
  23. package/dist/{chunk-VUHKLW66.js → chunk-H3WYVFTS.js} +1 -1
  24. package/dist/{chunk-PKWMJIBM.js → chunk-HNUBM24L.js} +1 -1
  25. package/dist/{chunk-5R4SEO3I.js → chunk-IOGMOXYF.js} +1 -1
  26. package/dist/{chunk-BPCK5RAB.js → chunk-IVMPNTY5.js} +1 -1
  27. package/dist/{chunk-2M2JQ23W.js → chunk-IXFMXUNT.js} +1 -1
  28. package/dist/{chunk-ANK43U5E.js → chunk-JF4XMSPR.js} +3 -3
  29. package/dist/{chunk-7ACENLLZ.js → chunk-KG53F74X.js} +2 -2
  30. package/dist/{chunk-ZN5EFDH7.js → chunk-LXIAOCUW.js} +1 -1
  31. package/dist/chunk-OAW2GMY4.js +4 -0
  32. package/dist/{chunk-I6DWJXPC.js → chunk-OHXZO5WK.js} +1 -1
  33. package/dist/{chunk-HGTG5XQ7.js → chunk-ORUDW52G.js} +1 -1
  34. package/dist/{chunk-BZAXQOLB.js → chunk-R6RTDJJG.js} +1 -1
  35. package/dist/{chunk-BZ7ULFR3.js → chunk-T6VAND3Z.js} +2 -2
  36. package/dist/chunk-UFND7FBC.js +4 -0
  37. package/dist/chunk-UOAJBX5N.js +16 -0
  38. package/dist/{chunk-FKS2Z34P.js → chunk-UXC3SQ44.js} +2 -2
  39. package/dist/{chunk-ZWVYVS2A.js → chunk-VTQAI52S.js} +1 -1
  40. package/dist/{chunk-UDPJ2IGK.js → chunk-XDHLO54T.js} +1 -1
  41. package/dist/{chunk-X5IVIOGL.js → chunk-XGH2ZKYR.js} +1 -1
  42. package/dist/{chunk-I4ARX6NM.js → chunk-YLM54X35.js} +1 -0
  43. package/dist/{chunk-GPIIXDEX.js → chunk-YLXW7TIU.js} +1 -1
  44. package/dist/{chunk-43OMEGNH.js → chunk-ZRLIG5QG.js} +2 -2
  45. package/dist/cli.js +39 -9
  46. package/dist/{commands-QIBFWWIT.js → commands-5SCCEGSB.js} +8 -8
  47. package/dist/{commands-VT7AVSSL.js → commands-XZEVVZMV.js} +2 -2
  48. package/dist/{company-KHZVPKHH.js → company-KUQFRVIA.js} +3 -3
  49. package/dist/{completion-EFGQJDIU.js → completion-QW52J6HB.js} +1 -1
  50. package/dist/{contract-O3FIBHDY.js → contract-OE2PPHHX.js} +5 -4
  51. package/dist/{department-I25NAPWU.js → department-EXZZUY7Q.js} +2 -2
  52. package/dist/{deposit-U4AVQH5O.js → deposit-M2RCXBCI.js} +2 -2
  53. package/dist/{estimate-SW43VOLO.js → estimate-46CPFRGI.js} +6 -6
  54. package/dist/{inquiry-5HSK4FPD.js → inquiry-MUXVKNAU.js} +2 -2
  55. package/dist/{invoice-RGOI2H4L.js → invoice-H23UAQPE.js} +5 -5
  56. package/dist/{job-title-G7MIYWVA.js → job-title-7J7EO37M.js} +1 -1
  57. package/dist/{knowledge-ZPMPS6WK.js → knowledge-B6I6UO3G.js} +2 -2
  58. package/dist/{leave-6QI2RNO2.js → leave-EDBJIDNP.js} +2 -2
  59. package/dist/{media-OV26FYD2.js → media-HP3IUPIJ.js} +2 -2
  60. package/dist/{notification-FL5GTW5S.js → notification-WJYUTNMN.js} +2 -2
  61. package/dist/{oneshot-XW6YVNOY.js → oneshot-VDGNNEC5.js} +2 -2
  62. package/dist/{position-UY33ETLX.js → position-NV2VT3GP.js} +1 -1
  63. package/dist/{project-ZGOB5W25.js → project-ZVRVNXWI.js} +1 -1
  64. package/dist/{prospect-VN42J236.js → prospect-4OP4ALIZ.js} +3 -3
  65. package/dist/{purchase-VQZOO3QL.js → purchase-XPGECUBK.js} +4 -4
  66. package/dist/query-3ZQP4DCN.js +3 -0
  67. package/dist/receivable-LMQWNKN5.js +4 -0
  68. package/dist/{registry-3236ULYR.js → registry-4HEOQVY4.js} +1 -1
  69. package/dist/{report-BTF5Q4F3.js → report-JR7D2GMJ.js} +2 -2
  70. package/dist/{run-33WHOIOO.js → run-HSRMTAQ6.js} +2 -2
  71. package/dist/sales-ai-review-XLXW5LRA.js +4 -0
  72. package/dist/{sales-master-RYZKGURE.js → sales-master-5BET74LP.js} +3 -3
  73. package/dist/sales-numbering-RPDLRKUK.js +4 -0
  74. package/dist/{server-skills-NJG7JP77.js → server-skills-OF7USNRM.js} +1 -1
  75. package/dist/{skill-command-DFRORWO6.js → skill-command-74MCUHFJ.js} +1 -1
  76. package/dist/{storage-ANKKJJJO.js → storage-KLLBENBY.js} +1 -1
  77. package/dist/{supplier-payment-ZBN2QZRW.js → supplier-payment-VD55DOU4.js} +3 -3
  78. package/dist/{task-CXHPLZHT.js → task-A4W5OAMD.js} +3 -3
  79. package/dist/{user-MCDORJTG.js → user-I7CK2SJX.js} +2 -2
  80. package/dist/{workflow-2YL2OF2Y.js → workflow-WU2EFC5V.js} +1 -1
  81. package/package.json +1 -1
  82. package/dist/chunk-7WSNIXTQ.js +0 -4
  83. package/dist/chunk-EOSSFTNG.js +0 -4
  84. package/dist/chunk-O44ZKSD2.js +0 -8
  85. package/dist/chunk-V3GQEUYI.js +0 -16
  86. package/dist/query-EEALMOSO.js +0 -3
  87. package/dist/receivable-TNH4KCUO.js +0 -4
  88. package/dist/sales-numbering-MBFKVR2C.js +0 -4
@@ -0,0 +1,102 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{salesFeatureDenied}from"./chunk-UOAJBX5N.js";import{charCount,readBody}from"./chunk-ORUDW52G.js";import{featureLicenseGuidance}from"./chunk-T6VAND3Z.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{isExactNumericId}from"./chunk-R6RTDJJG.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";
4
+ import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError}from"./chunk-UFND7FBC.js";var SALES_PATH="/api/v2/sales";var REASONS_PATH=`${SALES_PATH}/ai-review-reasons`;function documentForbidden(body){if(salesFeatureDenied(body))return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");const reason=body?.error;if(typeof reason==="string"&&reason.endsWith("\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093")){return`${reason}\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7D10\u3065\u304F\u66F8\u985E\u306F\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3001\u7D10\u3065\u304B\u306A\u3044\u66F8\u985E\u306F\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u3068\u7BA1\u7406\u8005\u3060\u3051\u304C\u6271\u3048\u307E\u3059\uFF09`}
5
+ return void 0}function reasonsForbidden(body){if(body?.error==="permission_denied")return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");return"\u7406\u7531\u306E\u6A2A\u65AD\u4E00\u89A7\u30FB\u6587\u6848\u751F\u6210\u30FBPR \u4F5C\u6210\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF08\u66F8\u985E\u3092\u8DE8\u3044\u3067\u7406\u7531\u3092\u8AAD\u3080\u305F\u3081\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u8CA9\u58F2\u7BA1\u7406\u3092\u5951\u7D04\u3057\u3066\u3044\u308B\u304B\u30FB\u3042\u306A\u305F\u306E\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u304B\u3092\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
6
+ var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",segment:"estimates"};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",segment:"invoices"};var CONTRACT={name:"contract",label:"\u53D6\u5F15\u5951\u7D04",segment:"contracts"};var JUDGMENTS={no_issue:"\u78BA\u8A8D\u3057\u305F\u304C\u554F\u984C\u306A\u3044\u3068\u5224\u65AD\u3057\u305F",corrected:"\u6307\u6458\u3092\u53D7\u3051\u3066\u66F8\u985E\u3092\u4FEE\u6B63\u3057\u305F",not_applicable:"\u3053\u306E\u6848\u4EF6\u306B\u306F\u5F53\u3066\u306F\u307E\u3089\u306A\u3044\u6307\u6458\u3060\u3068\u5224\u65AD\u3057\u305F"};
7
+ var REASON_MAX_CHARS=2e3;var LABEL_MAX_CHARS=255;var CRITERION_RE=/^[A-Za-z0-9_.:-]{1,128}$/;var MAX_REASONS=20;var DRAFT_MAX_CHARS=8e3;var TARGET_PREFIX="checklists/";var DEFAULT_TARGET="checklists/quality/estimation-billing-integrity-check.md";var WAIT_POLL_INTERVAL_MS=5e3;var WAIT_DEFAULT_SECONDS=300;var WAIT_MAX_SECONDS=540;var IN_FLIGHT=new Set(["pending","processing"]);var sleep=ms=>new Promise(resolve=>setTimeout(resolve,ms));function refusedBeforeSending(err){return err instanceof ApiError&&
8
+ err.status>=400&&err.status<500||err instanceof NotLoggedInError||err instanceof SessionExpiredError}async function trimmedBody(input,spec){const text=await readBody(input,{...spec,maxChars:spec.maxChars+1e3});if(text===void 0)return void 0;const length=charCount(text.trim());if(length>spec.maxChars)throw new UsageError(`${spec.label}\u306F ${spec.maxChars.toLocaleString()} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${length.toLocaleString()} \u6587\u5B57\uFF09`,spec.usage);return text}function usageOf(doc,resource,op){
9
+ return`twp ${doc.name} ${resource} ${op} help`}function numericDocumentId(raw,doc,usage,what){const id=raw.trim();if(id==="")throw new UsageError(`${doc.label}\u306E ID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!isExactNumericId(id)){throw new UsageError(`${doc.label}\u306E ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`twp ${doc.name} list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\uFF08${doc.label}\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002`)}
10
+ return id}function reviewPath(input,doc,op){const usage=usageOf(doc,"ai-review",op);if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,usage);const id=numericDocumentId(input.args[0]??"",doc,usage,"\u4F4D\u7F6E\u5F15\u6570");return`${SALES_PATH}/${doc.segment}/${encodeURIComponent(id)}/ai-review`}function reasonTarget(input,doc,op){const usage=usageOf(doc,"ai-review-reason",op);if(input.args.length>1)throw new UsageError(
11
+ `\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}\uFF08${doc.label}\u306F --${doc.name} \u3067\u6E21\u3057\u307E\u3059\uFF09`,usage);const criterion=input.args[0]?.trim()??"";if(criterion==="")throw new UsageError("\u6307\u6458\u306E ID\uFF08criterion_id\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",`twp ${doc.name} ai-review get <${doc.label}ID> \u306E criterion_id \u5217\u306E\u5024\u3067\u3059\u3002`);if(!CRITERION_RE.test(criterion)||
12
+ /^\.+$/.test(criterion)){throw new UsageError(`\u6307\u6458\u306E ID \u306F\u82F1\u6570\u5B57\u3068 _ . : - \u3060\u3051\u30FB128 \u6587\u5B57\u307E\u3067\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${criterion}`,usage)}const id=numericDocumentId(input.flags.get(`--${doc.name}`)??"",doc,usage,` --${doc.name}`);const base=`${SALES_PATH}/${doc.segment}/${encodeURIComponent(id)}/ai-review`;return{reviewPath:base,reasonPath:`${base}/reasons/${encodeURIComponent(criterion)}`,criterion}}function envelope(body,what){
13
+ if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return body}function withoutResult(body){return Object.fromEntries(Object.entries(body).filter(([key])=>key!=="result"))}function reviewOf(body,what){const review=body["review"];if(review===null)return null;if(!isRecord(review)||typeof review["s\
14
+ tatus"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B review.status \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return review}function checksOf(review){const checks=review?.["checks"];return Array.isArray(checks)?checks.filter(isRecord):[]}function checkCounts(review){const checks=checksOf(review);return`\u78BA\u8A8D\u3057\u305F\u89B3\u70B9 ${checks.length} \u4EF6\uFF08\u3046\u3061\u8B66\u544A ${checks.
15
+ filter(check=>check["severity"]==="warning").length} \u4EF6\uFF09`}function reasonsMap(body){return isRecord(body["reasons"])?body["reasons"]:{}}var CHECK_COLUMNS=["criterion_id","label","severity","acknowledged","reason_judgment","message"];function checkRows(body){const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const reasons=reasonsMap(data);return checksOf(reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF")).map(check=>{const criterion=typeof check["criterio\
16
+ n_id"]==="string"?check["criterion_id"]:null;const reason=criterion!==null?reasons[criterion]:void 0;return{...pick(check,["criterion_id","label","severity"]),acknowledged:check["acknowledged"]===true,reason_judgment:isRecord(reason)?reason["judgment"]??null:null,message:check["message"]??null}})}function reviewRaw(body){const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");return withoutResult(data)}function statusNotes(doc,id,review){
17
+ if(review===null)return[`\u307E\u3060\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3057\u3066\u3044\u307E\u305B\u3093\uFF08twp ${doc.name} ai-review run ${id} --yes \u3067\u5B9F\u884C\u3067\u304D\u307E\u3059\uFF09`];const status=review["status"];if(IN_FLIGHT.has(String(status))){return[`\u751F\u6210\u4E2D\u3067\u3059\uFF08status=${String(status)}\uFF09\u3002twp ${doc.name} ai-review get ${id} \u3067\u7D50\u679C\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF08run \u306B --wait \u3092\u4ED8\u3051\u308B\u3068\u5B8C\u4E86\u307E\u3067\u5F85\u3061\u307E\u3059\uFF09`]}
18
+ if(status==="failed")return[`\u524D\u56DE\u306E\u751F\u6210\u306F\u5931\u6557\u3057\u307E\u3057\u305F\uFF08status=failed\uFF09\u3002twp ${doc.name} ai-review run ${id} --yes \u3067\u518D\u5B9F\u884C\u3067\u304D\u307E\u3059`];return[]}function getNotes(doc){return(body,input)=>{const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const review=reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const id=input.args[0]?.trim()??"<ID>";const notes=statusNotes(doc,id,review);
19
+ if(review!==null&&review["status"]==="completed"){if(typeof review["summary"]==="string"&&review["summary"]!=="")notes.push(`\u8981\u7D04: ${review["summary"]}`);notes.push(`${checkCounts(review)}\u3002\u751F\u6210\u65E5\u6642 ${String(review["generated_at"]??"\u4E0D\u660E")}`)}if(data["stale"]===true)notes.push(`\u3053\u306E\u7D50\u679C\u306F${doc.label}\u306E\u4FDD\u5B58\u3088\u308A\u524D\u306E\u3082\u306E\u3067\u3059\uFF08\u5185\u5BB9\u304C\u5909\u308F\u3063\u3066\u3044\u307E\u3059\uFF09\u3002\u627F\u8A8D\u7533\u8ACB\u306E\u524D\u306B\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044`);
20
+ if(data["reason_editable"]===false){notes.push(data["reason_lock_reason"]==="approved"?"\u627F\u8A8D\u6E08\u307F\u306E\u305F\u3081\u3001\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306F\u5909\u66F4\u3067\u304D\u307E\u305B\u3093":"\u627F\u8A8D\u5F85\u3061\u306E\u9593\u306F\u3001\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\uFF08\u5DEE\u3057\u623B\u3055\u308C\u308B\u3068\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09")}notes.push("\u6307\u6458\u306E\u672C\u6587\u30FB\u5185\u8A33\uFF08details\uFF09\u30FB\u7406\u7531\u306E\u5168\u6587\u306F --o\
21
+ utput json \u3067\u51FA\u307E\u3059");return notes}}var WAIT_FLAG={name:"--wait",summary:"\u751F\u6210\u304C\u7D42\u308F\u308B\uFF08completed / failed\uFF09\u307E\u3067\u5F85\u3064",takesValue:false};var TIMEOUT_FLAG={name:"--timeout",summary:`--wait \u3067\u5F85\u3064\u4E0A\u9650\u306E\u79D2\u6570\uFF08\u65E2\u5B9A ${WAIT_DEFAULT_SECONDS}\u30FB\u6700\u5927 ${WAIT_MAX_SECONDS}\uFF09`,takesValue:true,placeholder:"<\u79D2>"};function waitSeconds(input,doc){const timeout=positiveInteger(input.flags,
22
+ TIMEOUT_FLAG.name);if(!input.flags.has(WAIT_FLAG.name)){if(timeout!==void 0)throw new UsageError("--timeout \u306F --wait \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usageOf(doc,"ai-review","run"));return void 0}if(timeout!==void 0&&timeout>WAIT_MAX_SECONDS){throw new UsageError(`--timeout \u306F ${WAIT_MAX_SECONDS} \u79D2\u4EE5\u4E0B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u305D\u308C\u3088\u308A\u9577\u304F\u5F85\u3064\u306A\u3089 --wait \u3092\u5916\u3057\u3001\u3042\u3068\u3067 twp ${doc.
23
+ name} ai-review get \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF09`,usageOf(doc,"ai-review","run"))}return timeout??WAIT_DEFAULT_SECONDS}function runPlan(doc){return input=>{waitSeconds(input,doc);return{method:"POST",path:reviewPath(input,doc,"run")}}}function runExecute(doc){return async(input,ctx)=>{const plan=runPlan(doc)(input);const id=input.args[0]?.trim()??"";const getHint=`twp ${doc.name} ai-review get ${id}`;let started;try{started=await ctx.send(plan)}catch(err){if(!refusedBeforeSending(
24
+ err))ctx.warn(`\u5B9F\u884C\u306E\u7D50\u679C\u3092\u53D7\u3051\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B5\u30FC\u30D0\u3067\u53D7\u3051\u4ED8\u3051\u6E08\u307F\u306E\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u6253\u3061\u76F4\u3059\u524D\u306B ${getHint} \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`);throw err}const data=envelope(started,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");const review=reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");
25
+ const seconds=waitSeconds(input,doc);if(seconds===void 0||review===null||!IN_FLIGHT.has(String(review["status"]))){return data}const deadline=Date.now()+seconds*1e3;const getPlan={method:"GET",path:plan.path};ctx.warn(`\u751F\u6210\u306E\u5B8C\u4E86\u3092\u5F85\u3061\u307E\u3059\uFF08${WAIT_POLL_INTERVAL_MS/1e3} \u79D2\u304A\u304D\u30FB\u6700\u5927 ${seconds} \u79D2\uFF09\u3002`);for(;;){await sleep(WAIT_POLL_INTERVAL_MS);let latest;try{latest=reviewOf(envelope(await ctx.send(getPlan),"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF"),
26
+ "\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF")}catch(err){ctx.warn(`\u5B9F\u884C\u306F\u53D7\u3051\u4ED8\u3051\u6E08\u307F\u3067\u3059\u304C\u3001\u5B8C\u4E86\u3092\u5F85\u3064\u9014\u4E2D\u3067\u7D50\u679C\u3092\u8AAD\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6253\u3061\u76F4\u3059\u524D\u306B ${getHint} \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`);throw err}const status=latest===null?null:String(latest["status"]);if(latest!==null&&status==="completed")return{...data,review:latest};
27
+ if(latest!==null&&status==="failed"){throw new ApiRejectedError(`\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u751F\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08status=failed\uFF09\u3002twp ${doc.name} ai-review run ${id} --yes \u3067\u518D\u5B9F\u884C\u3067\u304D\u307E\u3059`)}if(Date.now()>=deadline){throw new NetworkError(`${seconds} \u79D2\u5F85\u3061\u307E\u3057\u305F\u304C\u751F\u6210\u304C\u7D42\u308F\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF08status=${status??"\u4E0D\u660E"}\
28
+ \uFF09\u3002\u3042\u3068\u3067 ${getHint} \u3067\u7D50\u679C\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF0815 \u5206\u305F\u3063\u3066\u3082 ${status??"pending"} \u306E\u307E\u307E\u306A\u3089\u3001\u751F\u6210\u304C\u6B62\u307E\u3063\u3066\u3044\u307E\u3059\u3002run --yes \u3067\u518D\u5B9F\u884C\u3067\u304D\u307E\u3059\uFF09`)}}}}function runNotes(doc){return(body,input)=>{const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");const review=reviewOf(
29
+ data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");const id=input.args[0]?.trim()??"<ID>";const notes=[];if(data["regenerated"]===false){notes.push("\u5185\u5BB9\u304C\u524D\u56DE\u306E\u5B9F\u884C\u304B\u3089\u5909\u308F\u3063\u3066\u3044\u306A\u3044\u3001\u307E\u305F\u306F\u524D\u56DE\u306E\u5B9F\u884C\u304C\u9032\u884C\u4E2D\u306E\u305F\u3081\u3001AI \u3092\u547C\u3070\u305A\u306B\u4FDD\u5B58\u6E08\u307F\u306E\u7D50\u679C\u3092\u8FD4\u3057\u307E\u3057\u305F\uFF08\u30AF\u30EC\u30B8\u30C3\u30C8\u306F\u6D88\u8CBB\u3057\u3066\u3044\u307E\u305B\u3093\uFF09")}
30
+ notes.push(...statusNotes(doc,id,review));if(review!==null&&review["status"]==="completed"){notes.push(`${checkCounts(review)}\u3002\u4E00\u89A7\u3068\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306F twp ${doc.name} ai-review get ${id} \u3067\u51FA\u307E\u3059`)}return notes}}function aiReviewResource(doc){return{name:"ai-review",summary:`${doc.label}\u306E\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\uFF08\u5B9F\u884C\u30FB\u7D50\u679C\u306E\u8868\u793A\uFF09`,operations:[{name:"run",summary:`${doc.
31
+ label}\u306E\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3059\u308B\uFF08AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u30FB--yes \u304C\u8981\u308B\u30FB--wait \u3067\u5B8C\u4E86\u307E\u3067\u5F85\u3064\uFF09`,usage:`twp ${doc.name} ai-review run <${doc.label}ID> [--wait [--timeout <\u79D2>]] --yes`,description:`\u753B\u9762\u306E${doc.label}\u7DE8\u96C6\u306E\u300CAI\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u300D\u3068\u540C\u3058\u304F\u3001POST ${SALES_PATH}/${doc.segment}\
32
+ /{id}/ai-review \u3092\u9001\u308A\u307E\u3059\u3002
33
+ \u3053\u3053\u3067\u30C6\u30CA\u30F3\u30C8\u306E AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3057\u307E\u3059\u3002\u305F\u3060\u3057\u5185\u5BB9\u304C\u524D\u56DE\u306E\u5B9F\u884C\u304B\u3089\u5909\u308F\u3063\u3066\u3044\u306A\u3044\u3001\u307E\u305F\u306F\u524D\u56DE\u306E\u5B9F\u884C\u304C\u9032\u884C\u4E2D\u306A\u3089
34
+ \u30B5\u30FC\u30D0\u306F AI \u3092\u547C\u3070\u305A\u306B\u4FDD\u5B58\u6E08\u307F\u306E\u7D50\u679C\u3092\u8FD4\u3057\u307E\u3059\uFF08regenerated=false\u30FB\u6D88\u8CBB\u3057\u307E\u305B\u3093\uFF09\u3002
35
+ \u751F\u6210\u306F\u975E\u540C\u671F\u3067\u3001\u5FDC\u7B54\u306E status \u306F\u3075\u3064\u3046 pending \u3067\u3059\u3002--wait \u3092\u4ED8\u3051\u308B\u3068 5 \u79D2\u304A\u304D\u306B\u7D50\u679C\u3092\u5F15\u304D\u3001completed \u307E\u3067\u5F85\u3061\u307E\u3059
36
+ \uFF08failed \u306A\u3089\u7D42\u4E86\u30B3\u30FC\u30C9 3\u3001--timeout \u79D2\u3067\u7D42\u308F\u3089\u306A\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 4\u3002\u65E2\u5B9A ${WAIT_DEFAULT_SECONDS} \u79D2\u30FB\u6700\u5927 ${WAIT_MAX_SECONDS} \u79D2\uFF09\u3002
37
+ \u627F\u8A8D\u8005\u304C\u898B\u308B\u7533\u8ACB\u6642\u306E\u30C1\u30A7\u30C3\u30AF\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF09\u306B\u306F\u89E6\u308C\u307E\u305B\u3093\u3002ID \u306F twp ${doc.name} list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\u3002`,destructive:true,confirmation:"AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u64CD\u4F5C",flags:[WAIT_FLAG,TIMEOUT_FLAG],forbidden:documentForbidden,plan:runPlan(doc),plannedNotes:input=>["\u30C6\u30CA\u30F3\u30C8\u306E AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3057\u307E\u3059\uFF08\u5185\u5BB9\u304C\u524D\u56DE\u304B\u3089\
38
+ \u5909\u308F\u3063\u3066\u3044\u306A\u3051\u308C\u3070\u6D88\u8CBB\u3057\u307E\u305B\u3093\uFF09",...input.flags.has(WAIT_FLAG.name)?[`\u7D9A\u3051\u3066 GET ${reviewPath(input,doc,"run")} \u3092 ${WAIT_POLL_INTERVAL_MS/1e3} \u79D2\u304A\u304D\u306B\u9001\u308A\u3001\u5B8C\u4E86\u3092\u5F85\u3061\u307E\u3059`]:[]],execute:runExecute(doc),summarize:body=>{const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");const review=reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");
39
+ return{status:review?.["status"]??null,regenerated:data["regenerated"]??null,checks:checksOf(review).length,generated_at:review?.["generated_at"]??null}},raw:body=>withoutResult(envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C")),notes:runNotes(doc)},{name:"get",summary:`${doc.label}\u306E\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C\u3068\u3001\u6307\u6458\u306B\u6DFB\u3048\u305F\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u8868\u793A\u3059\u308B`,
40
+ usage:`twp ${doc.name} ai-review get <${doc.label}ID>`,description:`GET ${SALES_PATH}/${doc.segment}/{id}/ai-review\u3002\u4FDD\u5B58\u6E08\u307F\u306E\u7D50\u679C\u3092\u8FD4\u3057\u307E\u3059\uFF08AI \u306F\u547C\u3073\u307E\u305B\u3093\uFF09\u3002
41
+ \u4E00\u5EA6\u3082\u5B9F\u884C\u3057\u3066\u3044\u306A\u3044\u66F8\u985E\u3067\u306F\u7D50\u679C\u304C\u7A7A\u3067\u3059\uFF08\u30A8\u30E9\u30FC\u306B\u306F\u306A\u308A\u307E\u305B\u3093\uFF09\u3002
42
+ --output table / text / tsv \u306F\u78BA\u8A8D\u3057\u305F\u89B3\u70B91\u4EF6\uFF1D1\u884C\uFF08${CHECK_COLUMNS.join(" / ")}\uFF09\u3067\u3001severity \u304C warning \u306E\u884C\u304C\u6307\u6458\u3067\u3059\u3002
43
+ reason_judgment \u306F\u305D\u306E\u89B3\u70B9\u306B\u6DFB\u3048\u305F\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u5224\u65AD\u3067\u3059\u3002
44
+ \u7406\u7531\u3092\u6DFB\u3048\u308B\u306E\u306F twp ${doc.name} ai-review-reason update <criterion_id> --${doc.name} <${doc.label}ID> \u3067\u3059\u3002`,flags:[],forbidden:documentForbidden,plan:input=>({method:"GET",path:reviewPath(input,doc,"get")}),summarize:checkRows,raw:reviewRaw,notes:getNotes(doc)}]}}function documentFlag(doc){return{name:`--${doc.name}`,summary:`${doc.label}\u306E ID\uFF08twp ${doc.name} list \u306E id \u5217\u306E\u6570\u5B57\u30FB\u5FC5\u9808\uFF09`,takesValue:true,placeholder:`\
45
+ <${doc.label}ID>`}}var JUDGMENT_FLAG={name:"--judgment",summary:`\u5224\u65AD\uFF08${Object.keys(JUDGMENTS).join(" / ")}\u30FB\u5FC5\u9808\uFF09`,takesValue:true,placeholder:"<\u5224\u65AD>"};var REASON_FLAGS=[JUDGMENT_FLAG,{name:"--text",summary:`\u7406\u7531\u306E\u672C\u6587\uFF08${REASON_MAX_CHARS.toLocaleString()} \u6587\u5B57\u307E\u3067\uFF09`,takesValue:true,placeholder:"<\u7406\u7531>"},{name:"--text-file",summary:"\u7406\u7531\u306E\u672C\u6587\u3092\u8AAD\u3080\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",
46
+ takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--label",summary:"\u8A18\u9332\u306B\u6B8B\u3059\u6307\u6458\u306E\u30E9\u30D9\u30EB\uFF08\u7701\u7565\u6642\u306F\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u304B\u3089\u88DC\u3046\uFF09",takesValue:true,placeholder:"<\u30E9\u30D9\u30EB>"}];function judgmentOf(input,doc){const raw=nonEmpty(input.flags,JUDGMENT_FLAG.name)?.trim();const list=Object.entries(JUDGMENTS).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join("\
47
+ / ");if(raw===void 0)throw new UsageError(`--judgment \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${list}`,usageOf(doc,"ai-review-reason","update"));if(!Object.hasOwn(JUDGMENTS,raw))throw new UsageError(`--judgment \u306F ${list} \u306E\u3069\u308C\u304B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usageOf(doc,"ai-review-reason","update"));return raw}function truncateChars(text,max){const chars=[...text];return chars.length<=max?text:chars.slice(0,max).join("")}function prepareReason(doc){
48
+ return async(input,ctx)=>{const usage=usageOf(doc,"ai-review-reason","update");const target=reasonTarget(input,doc,"update");const judgment=judgmentOf(input,doc);const text=await trimmedBody(input,{flag:"--text",fileFlag:"--text-file",label:"\u7406\u7531",maxChars:REASON_MAX_CHARS,usage});if(text===void 0||text.trim()==="")throw new UsageError("\u7406\u7531\u3092 --text <\u672C\u6587> \u304B --text-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const explicit=nonEmpty(
49
+ input.flags,"--label");if(explicit!==void 0&&charCount(explicit.trim())>LABEL_MAX_CHARS){throw new UsageError(`--label \u306F ${LABEL_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${charCount(explicit.trim())} \u6587\u5B57\uFF09`,usage)}const current=await ctx.resolver.salesJson(target.reviewPath,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C");const check=checksOf(reviewOf(current,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF")).find(row=>row["criterion_id"]===target.criterion);
50
+ const label=explicit??(typeof check?.["label"]==="string"?truncateChars(check["label"],LABEL_MAX_CHARS):void 0);return withResolved(input,{judgment,text,missing:check===void 0?"1":"0",...label===void 0||label===""?{}:{label}})}}function reasonPlan(doc){return input=>({method:"PUT",path:reasonTarget(input,doc,"update").reasonPath,body:{judgment:requireResolved(input,"judgment"),reason:requireResolved(input,"text"),criterion_label:input.resolved?.["label"]??null}})}function reasonPlannedNotes(doc){
51
+ return input=>input.resolved?.["missing"]==="1"?[`\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u306B\u6307\u6458 ${input.args[0]?.trim()??""} \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u7406\u7531\u306F\u4FDD\u5B58\u3055\u308C\u307E\u3059\u304C\u3001\u305D\u306E\u6307\u6458\u304C\u51FA\u308B\u307E\u3067\u753B\u9762\u306B\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\uFF08\u6307\u6458 ID \u306F twp ${doc.name} ai-review get \u306E criterion_id \u5217\u3067\u3059\uFF09`]:[]}
52
+ function reasonOf(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4FDD\u5B58");if(!isRecord(data["reason"]))throw new ApiResponseError("\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4FDD\u5B58\u306E\u5FDC\u7B54\u306B reason \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data["reason"]}function deleteAck(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u53D6\u6D88");
53
+ return{result:data["result"]}}function aiReviewReasonResource(doc){const flag=documentFlag(doc);return{name:"ai-review-reason",summary:`${doc.label}\u306E\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u6307\u6458\u306B\u6DFB\u3048\u308B\u300C\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u300D\uFF08\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u53D6\u6D88\uFF09`,operations:[{name:"update",summary:"\u6307\u64581\u4EF6\u306B\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u6DFB\u3048\u308B\uFF08\u3042\u308C\u3070\u66F8\u304D\u63DB\u3048\u308B\uFF09",
54
+ usage:`twp ${doc.name} ai-review-reason update <\u6307\u6458ID> --${doc.name} <${doc.label}ID> --judgment <\u5224\u65AD> (--text <\u7406\u7531> | --text-file <\u30D1\u30B9>) [--label <\u30E9\u30D9\u30EB>]`,description:`PUT ${SALES_PATH}/${doc.segment}/{id}/ai-review/reasons/{criterion_id}\u3002\u753B\u9762\u306E\u6307\u6458\u306E\u300C\u7406\u7531\u3092\u8A18\u9332\u300D\u3068\u540C\u3058\u3067\u3059\u3002
55
+ <\u6307\u6458ID> \u306F twp ${doc.name} ai-review get \u306E criterion_id \u5217\u306E\u5024\u3067\u3059\uFF08\u7406\u7531\u306F\u6307\u6458\u306E\u89B3\u70B9\u306B\u4ED8\u304F\u306E\u3067\u3001\u30C1\u30A7\u30C3\u30AF\u3092\u518D\u5B9F\u884C\u3057\u3066\u3082\u6B8B\u308A\u307E\u3059\uFF09\u3002
56
+ --judgment: ${Object.entries(JUDGMENTS).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join(" / ")}
57
+ \u9001\u308B\u524D\u306B\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u3092\u8AAD\u307F\uFF08--dry-run \u3067\u3082\u8AAD\u307F\u307E\u3059\uFF09\u3001--label \u3092\u7701\u3051\u3070\u305D\u306E\u6307\u6458\u306E\u30E9\u30D9\u30EB\u3092\u88DC\u3044\u307E\u3059\u3002
58
+ \u7D50\u679C\u306B\u7121\u3044\u6307\u6458 ID \u3067\u3082\u4FDD\u5B58\u306F\u3057\u307E\u3059\u304C\u3001\u305D\u306E\u65E8\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002
59
+ \u627F\u8A8D\u5F85\u3061\u30FB\u627F\u8A8D\u6E08\u307F\u306E\u9593\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u5DEE\u3057\u623B\u3055\u308C\u308B\u3068\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09\u3002`,flags:[flag,...REASON_FLAGS],forbidden:documentForbidden,prepare:prepareReason(doc),plan:reasonPlan(doc),plannedNotes:reasonPlannedNotes(doc),summarize:body=>pick(reasonOf(body),["criterion_id","criterion_label","judgment","reason","updated_at"]),raw:reasonOf},{name:"delete",summary:"\
60
+ \u6307\u6458\u306B\u6DFB\u3048\u305F\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09",usage:`twp ${doc.name} ai-review-reason delete <\u6307\u6458ID> --${doc.name} <${doc.label}ID> --yes`,description:`DELETE ${SALES_PATH}/${doc.segment}/{id}/ai-review/reasons/{criterion_id}\u3002\u7406\u7531\u304C\u7121\u3044\u6307\u6458\u3078\u306E\u53D6\u6D88\u3082\u30B5\u30FC\u30D0\u306F\u6210\u529F\u3092\u8FD4\u3057\u307E\u3059\u3002
61
+ \u627F\u8A8D\u5F85\u3061\u30FB\u627F\u8A8D\u6E08\u307F\u306E\u9593\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\u3002`,destructive:true,flags:[flag],forbidden:documentForbidden,plan:input=>({method:"DELETE",path:reasonTarget(input,doc,"delete").reasonPath}),summarize:deleteAck,raw:deleteAck}]}}var estimateAiReviewResources=[aiReviewResource(ESTIMATE),aiReviewReasonResource(ESTIMATE)];var invoiceAiReviewResources=[aiReviewResource(INVOICE),aiReviewReasonResource(INVOICE)];var contractAiReviewResources=[
62
+ aiReviewResource(CONTRACT),aiReviewReasonResource(CONTRACT)];function readPageCursor(body){const pagination=isRecord(body)&&isRecord(body["pagination"])?body["pagination"]:void 0;if(pagination===void 0)return{hasMore:"pagination \u304C\u7121\u3044\u5FDC\u7B54",cursor:void 0};const hasMore=pagination["has_more"];const page=pagination["page"];if(hasMore!==true)return{hasMore,cursor:null};return{hasMore,cursor:Number.isInteger(page)?String(page+1):void 0}}var LIST_COLUMNS=["id","document_type","doc\
63
+ ument_no","company_name","criterion_id","judgment","knowledge_pr_number","created_at"];var REASON_LIST_FLAGS=[{name:"--customer",summary:"\u53D6\u5F15\u5148\u3067\u7D5E\u308B\uFF08\u540D\u524D\u304B ID\uFF09",takesValue:true,placeholder:"<\u53D6\u5F15\u5148>"},{name:"--criterion",summary:"\u6307\u6458\u306E ID\uFF08criterion_id\uFF09\u3067\u7D5E\u308B",takesValue:true,placeholder:"<\u6307\u6458ID>"},...PAGE_NUMBER_LIST_FLAGS];async function prepareList(input,ctx){const customer=nonEmpty(input.flags,
64
+ "--customer");if(customer===void 0)return input;return withResolved(input,{customer:(await ctx.resolver.company(customer,{flag:"--customer",source:"sales",mustExist:true})).id})}function listPlan(input){if(input.args.length>0)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.join(" ")}`,"twp ai-review-reason list help");const criterion=nonEmpty(input.flags,"--criterion")?.trim();if(criterion!==void 0&&charCount(criterion)>128)throw new UsageError("-\
65
+ -criterion \u306F 128 \u6587\u5B57\u307E\u3067\u3067\u3059","twp ai-review-reason list help");const limit=positiveInteger(input.flags,"--limit");const page=positiveInteger(input.flags,"--cursor");return{method:"GET",path:REASONS_PATH,query:{company_id:input.resolved?.["customer"],criterion_id:criterion,page:page===void 0?void 0:String(page),per_page:limit===void 0?void 0:String(Math.min(limit,100))}}}function listItems(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4E00\u89A7");
66
+ if(!Array.isArray(data["items"]))throw new ApiResponseError("\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B items \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data["items"].filter(isRecord)}function listNotes(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4E00\u89A7");const pagination=isRecord(data["pagination"])?data["paginatio\
67
+ n"]:{};const{page,per_page:perPage,total}=pagination;if(Array.isArray(data["items"])&&data["items"].length===0&&Number.isInteger(page)&&page>1&&Number.isInteger(total)&&Number.isInteger(perPage)){return[`\u30DA\u30FC\u30B8 ${String(page)} \u306F\u7BC4\u56F2\u5916\u3067\u3059\uFF08\u5168 ${Math.max(1,Math.ceil(total/perPage))} \u30DA\u30FC\u30B8\u30FB${String(total)} \u4EF6\uFF09`]}return[]}function targetPathOf(input){const raw=nonEmpty(input.flags,"--target-path")?.trim();if(raw===void 0)return void 0;
68
+ if(!raw.startsWith(TARGET_PREFIX)||!raw.endsWith(".md")||raw.includes("..")||!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(raw)||charCount(raw)>255){throw new UsageError(`--target-path \u306F ${TARGET_PREFIX} \u914D\u4E0B\u306E Markdown \u30D5\u30A1\u30A4\u30EB\u3060\u3051\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059: ${raw}`,"twp ai-review-reason publish help")}return raw}var REASON_ID_FLAG={name:"--reason",summary:`\u7406\u7531\u306E ID\uFF08twp ai-review-reason list \u306E id \u5217\u3002\u7E70\u308A\u8FD4\u3057\u3066 ${MAX_REASONS}\
69
+ \u4EF6\u307E\u3067\uFF09`,takesValue:true,placeholder:"<\u7406\u7531ID>",repeatable:true};function reasonIds(input,op){const usage=`twp ai-review-reason ${op} help`;if(input.args.length>0)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.join(" ")}\uFF08\u7406\u7531\u306F --reason \u3067\u6E21\u3057\u307E\u3059\uFF09`,usage);const raw=repeatedValues(input,REASON_ID_FLAG.name).map(value=>value.trim());if(raw.length===0)throw new UsageError("--reason\
70
+ <\u7406\u7531ID> \u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp ai-review-reason list \u306E id \u5217\uFF09",usage);const bad=raw.filter(value=>!isExactNumericId(value));if(bad.length>0)throw new UsageError(`\u7406\u7531\u306E ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${bad.join(" ")}`,usage);const ids=[...new Set(raw)].map(Number);if(ids.length>MAX_REASONS)throw new UsageError(`--reason \u306F ${MAX_REASONS} \u4EF6\u307E\u3067\u3067\u3059\uFF08${ids.
71
+ length} \u4EF6\uFF09`,usage);return ids}function draftOf(body){const data=envelope(body,"\u8FFD\u8A18\u6587\u6848\u306E\u751F\u6210");if(typeof data["draft"]!=="string")throw new ApiResponseError("\u8FFD\u8A18\u6587\u6848\u306E\u751F\u6210\u306E\u5FDC\u7B54\u306B draft \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data}function prOf(body){const data=envelope(body,"\u8FFD\u8A18PR\u306E\u4F5C\u6210");if(typeof data["\
72
+ pull_request_url"]!=="string")throw new ApiResponseError("\u8FFD\u8A18PR\u306E\u4F5C\u6210\u306E\u5FDC\u7B54\u306B pull_request_url \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data}async function preparePublish(input){const usage="twp ai-review-reason publish help";reasonIds(input,"publish");targetPathOf(input);const draft=await trimmedBody(input,{flag:"--draft",fileFlag:"--draft-file",label:"\u8FFD\u8A18\u6587\u6848",
73
+ maxChars:DRAFT_MAX_CHARS,usage});if(draft===void 0||draft.trim()===""){throw new UsageError("\u8FFD\u8A18\u3059\u308B\u6587\u6848\u3092 --draft-file <\u30D1\u30B9> \u304B --draft <\u6587\u6848> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp ai-review-reason preview \u2026 --output text \u3067\u4F5C\u308C\u307E\u3059\uFF09",usage)}return withResolved(input,{draft})}function draftPlan(input){return{method:"POST",path:`${REASONS_PATH}/knowledge-draft`,body:{reason_ids:reasonIds(input,
74
+ "preview")}}}function publishPlan(input){return{method:"POST",path:`${REASONS_PATH}/knowledge-pr`,body:{reason_ids:reasonIds(input,"publish"),draft:requireResolved(input,"draft"),target_path:targetPathOf(input)??null}}}var aiReviewReasonDomain={name:"ai-review-reason",summary:"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\uFF08\u66F8\u985E\u3092\u8DE8\u3050\u4E00\u89A7\u30FB\u793E\u5185\u30CA\u30EC\u30C3\u30B8\u3078\u306E\u8FFD\u8A18\u6587\u6848\u306E\u751F\u6210\u30FB\u8FFD\u8A18PR\u306E\u4F5C\u6210\u3002\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09",
75
+ operations:[{name:"list",summary:"\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u53D6\u5F15\u5951\u7D04\u306E\u6307\u6458\u306B\u6DFB\u3048\u3089\u308C\u305F\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65B0\u3057\u3044\u9806\uFF09",usage:"twp ai-review-reason list [--customer <\u53D6\u5F15\u5148>] [--criterion <\u6307\u6458ID>] [--limit <\u4EF6\u6570>] [--all]",description:`GET ${REASONS_PATH}\u3002\u753B\u9762\u306E\u300CAI\u30C1\u30A7\u30C3\u30AF\u7406\u7531\u4E00\u89A7\u300D\u3068\u540C\u3058\u3067\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\u3002
76
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002knowledge_pr_number \u304C\u3042\u308B\u3082\u306E\u306F\u8FFD\u8A18PR\u3092\u4F5C\u6210\u6E08\u307F\u3067\u3059\u3002
77
+ \u7D5E\u308A\u8FBC\u307F\u306E\u5019\u88DC\uFF08\u6307\u6458\u306E\u7A2E\u5225\u3068\u4EF6\u6570\uFF09\u3068\u7406\u7531\u306E\u5168\u6587\u306F --output json \u3067\u51FA\u307E\u3059\u3002
78
+
79
+ ${LIST_PAGING_HELP}
80
+ \u26A0 \u3053\u306E\u4E00\u89A7\u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08--cursor \u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u3059\uFF09\u3002\u4E26\u3073\u306F\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\u3067\u3059\u3002
81
+ \u8FBF\u3063\u3066\u3044\u308B\u6700\u4E2D\u306B\u7406\u7531\u304C\u5897\u6E1B\u3059\u308B\u3068\u3001\u53D6\u308A\u3053\u307C\u3057\u30FB\u91CD\u8907\u304C\u8D77\u3053\u308A\u5F97\u307E\u3059\u3002`,flags:REASON_LIST_FLAGS,forbidden:reasonsForbidden,paging:envelopePaging({label:"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4E00\u89A7",cursorParam:"page",readCursor:readPageCursor}),prepare:prepareList,plan:listPlan,summarize:body=>listItems(body).map(row=>pick(row,LIST_COLUMNS)),raw:listItems,
82
+ notes:listNotes},{name:"preview",summary:"\u9078\u3093\u3060\u7406\u7531\u304B\u3089\u793E\u5185\u30CA\u30EC\u30C3\u30B8\u3078\u306E\u8FFD\u8A18\u6587\u6848\u3092\u751F\u6210\u3059\u308B\uFF08AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u30FB--yes \u304C\u8981\u308B\uFF09",usage:"twp ai-review-reason preview --reason <\u7406\u7531ID> [--reason <\u7406\u7531ID>]... --yes",description:`POST ${REASONS_PATH}/knowledge-draft\u3002\u753B\u9762\u306E\u300C\u6587\u6848\u3092\u751F\u6210\u300D\u3068\u540C\u3058\u3067\u3001\u30C6\u30CA\u30F3\u30C8\u306E AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3057\u307E\u3059\u3002
83
+ \u6587\u6848\u306B\u53D6\u5F15\u5148\u540D\u30FB\u6848\u4EF6\u540D\u304C\u6DF7\u3056\u308B\u3068\u30B5\u30FC\u30D0\u304C\u4F5C\u308A\u76F4\u3057\u3001\u305D\u308C\u3067\u3082\u6DF7\u3056\u308C\u3070\u4E2D\u6B62\u3057\u3066\u8A72\u5F53\u8A9E\u3092\u8FD4\u3057\u307E\u3059\uFF08\u3053\u306E\u3068\u304D\u3082\u30AF\u30EC\u30B8\u30C3\u30C8\u306F\u6D88\u8CBB\u3057\u3066\u3044\u307E\u3059\uFF09\u3002
84
+ \u4E2D\u6B62\u3055\u308C\u305F\u3089\u3001\u7406\u7531\u306E\u672C\u6587\u304B\u3089\u53D6\u5F15\u5148\u540D\u30FB\u6848\u4EF6\u540D\u3092\u5916\u3057\u3066\u304B\u3089\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u6587\u6848\u3060\u3051\u3092\u76F4\u3057\u3066\u3082\u3001\u7406\u7531\u306E\u539F\u6587\u306F PR \u672C\u6587\u306B\u8F09\u308A\u307E\u3059\uFF09\u3002
85
+ \u751F\u6210\u3059\u308B\u3060\u3051\u3067\u3001\u3069\u3053\u306B\u3082\u53CD\u6620\u3057\u307E\u305B\u3093\u3002--output text \u3067\u6587\u6848\u306E\u672C\u6587\u3060\u3051\u304C\u51FA\u308B\u306E\u3067\u3001\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58\u3057\u3066\u78BA\u304B\u3081\u30FB\u76F4\u3057\u3066\u304B\u3089
86
+ twp ai-review-reason publish --reason \u2026 --draft-file <\u30D1\u30B9> --yes
87
+ \u3067\u8FFD\u8A18PR\u3092\u4F5C\u308A\u307E\u3059\u3002`,destructive:true,confirmation:"AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3059\u308B\u64CD\u4F5C",flags:[REASON_ID_FLAG],forbidden:reasonsForbidden,plan:draftPlan,plannedNotes:()=>["\u30C6\u30CA\u30F3\u30C8\u306E AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3057\u307E\u3059\uFF08\u751F\u6210\u3057\u305F\u6587\u6848\u306F\u3069\u3053\u306B\u3082\u53CD\u6620\u3057\u307E\u305B\u3093\uFF09"],execute:async(input,ctx)=>{try{return await ctx.
88
+ send(draftPlan(input))}catch(err){if(err instanceof ApiError&&err.status===422&&err.body?.error==="draft_generation_failed"){ctx.warn("\u6587\u6848\u306E\u751F\u6210\u306F\u5B9F\u884C\u3055\u308C\u307E\u3057\u305F\u304C\u3001\u30B5\u30FC\u30D0\u304C\u4E2D\u6B62\u3057\u307E\u3057\u305F\uFF08AI \u30AF\u30EC\u30B8\u30C3\u30C8\u306F\u6D88\u8CBB\u3057\u3066\u3044\u307E\u3059\uFF09\u3002")}else if(!refusedBeforeSending(err)){ctx.warn("\u6587\u6848\u306E\u751F\u6210\u306F\u9001\u4FE1\u3057\u307E\u3057\u305F\u304C\u3001\u7D50\u679C\u3092\u53D7\u3051\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u3057\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u6253\u3061\u76F4\u3059\u3068\u3082\u3046\u4E00\u5EA6\u6D88\u8CBB\u3057\u307E\u3059\u3002")}
89
+ throw err}},summarize:body=>{const data=draftOf(body);return{reasons:Array.isArray(data["reasons"])?data["reasons"].length:null,regenerated:data["regenerated"]??null,draft:data["draft"]}},raw:body=>withoutResult(draftOf(body)),document:body=>String(draftOf(body)["draft"]),notes:body=>[...draftOf(body)["regenerated"]===true?["1\u56DE\u76EE\u306E\u6587\u6848\u306B\u53D6\u5F15\u5148\u540D\u30FB\u6848\u4EF6\u540D\u304C\u6DF7\u3056\u3063\u305F\u305F\u3081\u3001\u4F5C\u308A\u76F4\u3057\u305F\u6587\u6848\u3067\u3059"]:
90
+ [],"\u6587\u6848\u306F\u4E0B\u66F8\u304D\u3067\u3059\uFF08\u307E\u3060\u3069\u3053\u306B\u3082\u53CD\u6620\u3057\u3066\u3044\u307E\u305B\u3093\uFF09\u3002\u78BA\u304B\u3081\u3066\u304B\u3089 twp ai-review-reason publish --draft-file <\u30D1\u30B9> \u3067\u8FFD\u8A18PR\u3092\u4F5C\u308C\u307E\u3059"]},{name:"publish",summary:"\u78BA\u304B\u3081\u305F\u6587\u6848\u3067\u793E\u5185\u30CA\u30EC\u30C3\u30B8\u3078\u306E\u8FFD\u8A18PR\u3092\u4F5C\u308B\uFF08GitHub \u306B\u66F8\u304D\u8FBC\u3080\u30FB--yes \u304C\u8981\u308B\uFF09",
91
+ usage:"twp ai-review-reason publish --reason <\u7406\u7531ID> [--reason <\u7406\u7531ID>]... (--draft-file <\u30D1\u30B9> | --draft <\u6587\u6848>) [--target-path <checklists/\u2026.md>] --yes",description:`POST ${REASONS_PATH}/knowledge-pr\u3002\u753B\u9762\u306E\u300CPR\u3092\u4F5C\u6210\u300D\u3068\u540C\u3058\u3067\u3059\uFF08AI \u306F\u547C\u3073\u307E\u305B\u3093\uFF09\u3002
92
+ \u30B5\u30FC\u30D0\u306B\u8A2D\u5B9A\u3055\u308C\u305F\u793E\u5185\u30CA\u30EC\u30C3\u30B8\u306E\u30EA\u30DD\u30B8\u30C8\u30EA\u306B\u3001\u65E2\u5B9A\u306E\u30D6\u30E9\u30F3\u30C1\u304B\u3089\u65B0\u3057\u3044\u30D6\u30E9\u30F3\u30C1\u3092\u5207\u3063\u3066 --target-path \u306E\u30D5\u30A1\u30A4\u30EB\u3078\u6587\u6848\u3092\u8FFD\u8A18\u3057\u3001PR \u3092\u958B\u304D\u307E\u3059\u3002
93
+ PR \u306E\u672C\u6587\u306B\u306F\u3001\u9078\u3093\u3060\u7406\u7531\u306E\u6307\u6458\u30FB\u5224\u65AD\u30FB\u7406\u7531\u306E\u539F\u6587\u304C\u305D\u306E\u307E\u307E\u8F09\u308A\u307E\u3059\u3002\u81EA\u52D5\u3067\u306F\u30DE\u30FC\u30B8\u3055\u308C\u307E\u305B\u3093\u3002
94
+ --target-path \u306F ${TARGET_PREFIX} \u914D\u4E0B\u306E .md \u3060\u3051\u3067\u3001\u7701\u7565\u6642\u306F ${DEFAULT_TARGET} \u3067\u3059\u3002
95
+ \u53D6\u5F15\u5148\u540D\u30FB\u6848\u4EF6\u540D\u306E\u6DF7\u5165\u3092\u30B5\u30FC\u30D0\u304C\u76F4\u524D\u306B\u691C\u67FB\u3059\u308B\u306E\u306F**\u6587\u6848\u3060\u3051**\u3067\u3059\u3002\u7406\u7531\u306E\u539F\u6587\u306F\u691C\u67FB\u3055\u308C\u305A\u306B PR \u672C\u6587\u3078\u8F09\u308B\u306E\u3067\u3001
96
+ \u9078\u3076\u7406\u7531\u306E\u672C\u6587\u306B\u53D6\u5F15\u5148\u540D\u30FB\u6848\u4EF6\u540D\u304C\u7121\u3044\u3053\u3068\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF08twp ai-review-reason list --output json \u306E reason\uFF09\u3002
97
+ \u4F5C\u3063\u305F PR \u306F\u9589\u3058\u3066\u3082\u672C\u6587\u304C\u5C65\u6B74\u306B\u6B8B\u308A\u3001\u4F7F\u3063\u305F\u7406\u7531\u306B\u306F PR \u756A\u53F7\u304C\u8A18\u9332\u3055\u308C\u3066\u540C\u3058\u7406\u7531\u3067\u306F2\u5EA6\u3068\u4F5C\u308C\u307E\u305B\u3093\uFF08list \u306E knowledge_pr_number \u5217\uFF09\u3002`,destructive:true,confirmation:"GitHub \u306B PR \u3092\u4F5C\u308B\uFF08\u5916\u90E8\u3078\u66F8\u304D\u8FBC\u3080\uFF09\u64CD\u4F5C",flags:[REASON_ID_FLAG,{name:"\
98
+ --draft-file",summary:`\u8FFD\u8A18\u3059\u308B\u6587\u6848\u306E\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\u30FB${DRAFT_MAX_CHARS.toLocaleString()} \u6587\u5B57\u307E\u3067\uFF09`,takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--draft",summary:"\u8FFD\u8A18\u3059\u308B\u6587\u6848\u3092\u76F4\u63A5\u6E21\u3059",takesValue:true,placeholder:"<\u6587\u6848>"},{name:"--target-path",summary:`\u8FFD\u8A18\u5148\u306E\u30D5\u30A1\u30A4\u30EB\uFF08${TARGET_PREFIX} \u914D\u4E0B\u306E .md\u30FB\u65E2\u5B9A ${DEFAULT_TARGET}\
99
+ \uFF09`,takesValue:true,placeholder:"<\u30D1\u30B9>"}],forbidden:reasonsForbidden,prepare:preparePublish,plan:publishPlan,plannedNotes:input=>["GitHub \u306B PR \u3092\u4F5C\u308A\u307E\u3059\u3002\u9589\u3058\u3066\u3082 PR \u306E\u672C\u6587\u306F\u5C65\u6B74\u306B\u6B8B\u308A\u3001\u4F7F\u3063\u305F\u7406\u7531\u306B\u306F PR \u756A\u53F7\u304C\u8A18\u9332\u3055\u308C\u307E\u3059\uFF08\u540C\u3058\u7406\u7531\u3067\u306F2\u5EA6\u3068\u4F5C\u308C\u307E\u305B\u3093\uFF09"," \u5B9B\u5148: \u30B5\u30FC\u30D0\u306B\u8A2D\u5B9A\u3055\u308C\u305F\u793E\u5185\u30CA\u30EC\u30C3\u30B8\
100
+ \u306E\u30EA\u30DD\u30B8\u30C8\u30EA\uFF08\u65E2\u5B9A\u306E\u30D6\u30E9\u30F3\u30C1\u304B\u3089\u65B0\u3057\u3044\u30D6\u30E9\u30F3\u30C1\u3092\u5207\u308A\u307E\u3059\u3002\u30EA\u30DD\u30B8\u30C8\u30EA\u540D\u3068\u30D6\u30E9\u30F3\u30C1\u540D\u306F\u5FDC\u7B54\u306B\u51FA\u307E\u3059\uFF09",` \u8FFD\u8A18\u5148: ${targetPathOf(input)??DEFAULT_TARGET}`,` PR \u672C\u6587: \u9078\u3093\u3060\u7406\u7531 ${reasonIds(input,"publish").length} \u4EF6\u306E\u6307\u6458\u30FB\u5224\u65AD\u30FB\u7406\u7531\u306E\u539F\u6587\uFF08\u539F\u6587\u306F\u53D6\u5F15\u5148\u540D\u30FB\u6848\u4EF6\u540D\u306E\u691C\u67FB\u3092\u53D7\u3051\u307E\u305B\u3093\uFF09`],
101
+ execute:async(input,ctx)=>{try{return await ctx.send(publishPlan(input))}catch(err){if(!refusedBeforeSending(err)){ctx.warn("PR \u306E\u4F5C\u6210\u306F\u9001\u4FE1\u3057\u307E\u3057\u305F\u304C\u3001\u7D50\u679C\u3092\u53D7\u3051\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4F5C\u6210\u6E08\u307F\u306E\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u6253\u3061\u76F4\u3059\u524D\u306B twp ai-review-reason list \u306E knowledge_pr_number \u5217\u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002")}
102
+ throw err}},summarize:body=>pick(prOf(body),["pull_request_number","pull_request_url","repository","branch","target_path"]),raw:body=>withoutResult(prOf(body)),notes:body=>[`PR \u3092\u4F5C\u308A\u307E\u3057\u305F: ${String(prOf(body)["pull_request_url"])}\uFF08\u81EA\u52D5\u3067\u306F\u30DE\u30FC\u30B8\u3055\u308C\u307E\u305B\u3093\u3002\u5185\u5BB9\u3092\u78BA\u304B\u3081\u3066\u30DE\u30FC\u30B8\u3057\u3066\u304F\u3060\u3055\u3044\uFF09`]}]};export{WAIT_POLL_INTERVAL_MS,estimateAiReviewResources,invoiceAiReviewResources,contractAiReviewResources,aiReviewReasonDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{splitFlagToken}from"./chunk-QQRJLH6B.js";import{UsageError}from"./chunk-7WSNIXTQ.js";function parseOperationArgs(argv,specs){const byName=new Map(specs.map(spec=>[spec.name,spec]));const args=[];const flags=new Map;const repeated=new Map;let positionalOnly=false;for(let i=0;i<argv.length;i+=1){const arg=argv[i];if(arg===void 0)continue;if(!positionalOnly&&arg==="--"){positionalOnly=true;continue}if(positionalOnly||!arg.startsWith("-")||arg==="-"){args.push(arg);continue}const{name,value:inline}=splitFlagToken(arg);const spec=byName.get(name);if(spec===void 0){const shortEquals=!arg.
3
+ import{splitFlagToken}from"./chunk-QQRJLH6B.js";import{UsageError}from"./chunk-UFND7FBC.js";function parseOperationArgs(argv,specs){const byName=new Map(specs.map(spec=>[spec.name,spec]));const args=[];const flags=new Map;const repeated=new Map;let positionalOnly=false;for(let i=0;i<argv.length;i+=1){const arg=argv[i];if(arg===void 0)continue;if(!positionalOnly&&arg==="--"){positionalOnly=true;continue}if(positionalOnly||!arg.startsWith("-")||arg==="-"){args.push(arg);continue}const{name,value:inline}=splitFlagToken(arg);const spec=byName.get(name);if(spec===void 0){const shortEquals=!arg.
4
4
  startsWith("--")&&arg.includes("=");throw new UsageError(`\u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: ${arg}`,shortEquals?`\u77ED\u3044\u30D5\u30E9\u30B0\u306B = \u306F\u4F7F\u3048\u307E\u305B\u3093\u3002\u7A7A\u767D\u3067\u533A\u5207\u3063\u3066\u304F\u3060\u3055\u3044: ${arg.replace("="," ")}`:void 0)}if(spec.repeatable!==true&&flags.has(name)){throw new UsageError(`${name} \u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`)}if(!spec.takesValue){if(inline!==void 0){
5
5
  throw new UsageError(`${name} \u306F\u5024\u3092\u53D6\u308A\u307E\u305B\u3093`,`${name} \u306F\u6307\u5B9A\u306E\u6709\u7121\u3060\u3051\u304C\u610F\u5473\u3092\u6301\u3061\u307E\u3059\u3002`)}flags.set(name,"");continue}if(inline!==void 0){addValue(flags,repeated,spec,name,inline);continue}const next=argv[i+1];if(next===void 0||next.startsWith("-")&&next!=="-"){throw new UsageError(`${name} \u306B\u306F\u5024\u304C\u5FC5\u8981\u3067\u3059`,`\`-\` \u3067\u59CB\u307E\u308B\u5024\u306F ${name}=\u5024 \
6
6
  \u306E\u5F62\u3067\u6E21\u305B\u307E\u3059\u3002`)}addValue(flags,repeated,spec,name,next);i+=1}return repeated.size>0?{args,flags,repeated}:{args,flags}}function addValue(flags,repeated,spec,name,value){if(spec.repeatable!==true){flags.set(name,value);return}const bucket=repeated.get(name);if(bucket===void 0)repeated.set(name,[value]);else bucket.push(value)}function repeatedValues(input,name){return input.repeated?.get(name)??[]}export{parseOperationArgs,repeatedValues};
@@ -0,0 +1,8 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var LOADERS={"agent-loop":async()=>(await import("./agent-loop-6LT46KBQ.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-XLXW5LRA.js")).aiReviewReasonDomain,attendance:async()=>(await import("./attendance-K2U7RYDU.js")).attendanceDomain,backlog:async()=>(await import("./backlog-FC4YK5KD.js")).backlogDomain,"business-place":async()=>(await import("./sales-master-5BET74LP.js")).businessPlaceDomain,company:async()=>(await import("./company-KUQFRVIA.js")).companyDomain,
4
+ contract:async()=>(await import("./contract-OE2PPHHX.js")).contractDomain,customer:async()=>(await import("./company-KUQFRVIA.js")).customerDomain,department:async()=>(await import("./department-EXZZUY7Q.js")).departmentDomain,deposit:async()=>(await import("./deposit-M2RCXBCI.js")).depositDomain,estimate:async()=>(await import("./estimate-46CPFRGI.js")).estimateDomain,inquiry:async()=>(await import("./inquiry-MUXVKNAU.js")).inquiryDomain,invoice:async()=>(await import("./invoice-H23UAQPE.js")).
5
+ invoiceDomain,"job-title":async()=>(await import("./job-title-7J7EO37M.js")).jobTitleDomain,leave:async()=>(await import("./leave-EDBJIDNP.js")).leaveDomain,media:async()=>(await import("./media-HP3IUPIJ.js")).mediaDomain,meeting:async()=>(await import("./knowledge-B6I6UO3G.js")).meetingDomain,note:async()=>(await import("./knowledge-B6I6UO3G.js")).noteDomain,notification:async()=>(await import("./notification-WJYUTNMN.js")).notificationDomain,payee:async()=>(await import("./sales-master-5BET74LP.js")).
6
+ payeeDomain,position:async()=>(await import("./position-NV2VT3GP.js")).positionDomain,project:async()=>(await import("./project-ZVRVNXWI.js")).projectDomain,prospect:async()=>(await import("./prospect-4OP4ALIZ.js")).prospectDomain,purchase:async()=>(await import("./purchase-XPGECUBK.js")).purchaseDomain,receivable:async()=>(await import("./receivable-LMQWNKN5.js")).receivableDomain,report:async()=>(await import("./report-JR7D2GMJ.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-RPDLRKUK.js")).
7
+ roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-5BET74LP.js")).sealImpressionDomain,shift:async()=>(await import("./attendance-lists-NVRU2NLY.js")).shiftDomain,storage:async()=>(await import("./storage-KLLBENBY.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-VD55DOU4.js")).supplierPaymentDomain,task:async()=>(await import("./task-A4W5OAMD.js")).taskDomain,user:async()=>(await import("./user-I7CK2SJX.js")).userDomain,wiki:async()=>(await import("./knowledge-B6I6UO3G.js")).
8
+ wikiDomain,workchange:async()=>(await import("./attendance-lists-NVRU2NLY.js")).workchangeDomain,workflow:async()=>(await import("./workflow-WU2EFC5V.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{apiExit,currentRevisionOf,errorDetail,pickNumber,printDiff,readUtf8Strict,shellQuote,str,warnHiddenChars}from"./chunk-P4AEFKLM.js";import{EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_FAILURE,EXIT_OK,EXIT_USAGE}from"./chunk-7WSNIXTQ.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{createHash}from"crypto";import*as fs from"fs";import*as path from"path";var DEFAULT_SKILL_DIR=".claude/commands";var NAME_PATTERN=/^[a-z][a-z0-9-]*$/;var NAME_MAX_LENGTH=64;var MAX_BODY_BYTES=35e4;var MAX_SKILLS_PER_PROJECT=200;function isValidSkillName(name){return name.length<=NAME_MAX_LENGTH&&NAME_PATTERN.test(name)}function skillDigest(body){return"sha256:"+createHash("sha256").update(Buffer.from(body,"utf8")).digest("hex")}function defaultFileKind(p){try{return fs.lstatSync(p).isFile()?"file":"other"}catch(e){return e.code==="ENOENT"?"missing":"other"}}function defaultWriteFile(p,c){
3
+ import{apiExit,currentRevisionOf,errorDetail,pickNumber,printDiff,readUtf8Strict,shellQuote,str,warnHiddenChars}from"./chunk-AJO4O5ZF.js";import{EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_FAILURE,EXIT_OK,EXIT_USAGE}from"./chunk-UFND7FBC.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{createHash}from"crypto";import*as fs from"fs";import*as path from"path";var DEFAULT_SKILL_DIR=".claude/commands";var NAME_PATTERN=/^[a-z][a-z0-9-]*$/;var NAME_MAX_LENGTH=64;var MAX_BODY_BYTES=35e4;var MAX_SKILLS_PER_PROJECT=200;function isValidSkillName(name){return name.length<=NAME_MAX_LENGTH&&NAME_PATTERN.test(name)}function skillDigest(body){return"sha256:"+createHash("sha256").update(Buffer.from(body,"utf8")).digest("hex")}function defaultFileKind(p){try{return fs.lstatSync(p).isFile()?"file":"other"}catch(e){return e.code==="ENOENT"?"missing":"other"}}function defaultWriteFile(p,c){
4
4
  const tmp=path.join(path.dirname(p),`.${path.basename(p)}.tmp-${process.pid}`);try{fs.writeFileSync(tmp,c,{encoding:"utf8",flag:"wx"});fs.renameSync(tmp,p)}catch(e){fs.rmSync(tmp,{force:true});throw e}}async function runSkillCommand(deps,opts){const io={out:deps.out??(t=>void process.stdout.write(stripTerminalControls(t))),err:deps.err??(t=>void process.stderr.write(stripTerminalControls(t))),readFile:deps.readFile??readUtf8Strict,writeFile:deps.writeFile??defaultWriteFile,fileKind:deps.fileKind??
5
5
  defaultFileKind,listDir:deps.listDir??(d=>{try{return fs.readdirSync(d)}catch{return null}}),mkdir:deps.mkdir??(d=>void fs.mkdirSync(d,{recursive:true}))};if(opts.name===void 0===!opts.all){io.err("\u30B9\u30AD\u30EB\u540D\u304B --all \u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return EXIT_USAGE}if(opts.name!==void 0&&!isValidSkillName(opts.name)){io.err(`\u30B9\u30AD\u30EB\u540D\u304C\u4E0D\u6B63\u3067\u3059: ${opts.name}\uFF08\u82F1\u5C0F\u6587\u5B57\u3067\u59CB\u307E\u308A\u3001\u82F1\u5C0F\u6587\u5B57\u30FB\u6570\u5B57\
6
6
  \u30FB\u30CF\u30A4\u30D5\u30F3\u3060\u3051\u306E${NAME_MAX_LENGTH}\u6587\u5B57\u4EE5\u5185\uFF09
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{checkUploadQuota}from"./chunk-DDKZ5IPT.js";import{isSafePathSegment,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{PRIVATE_PROJECT_REF,isPrivateProjectRef}from"./chunk-GY7KI5E5.js";import{PRIVATE_TASK_KEY_PREFIX,isPrivateTaskKey,isTaskKey}from"./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";function classifyTaskRef(ref){const value=ref.trim();if(safeProjectIdPolicy.isDirectId(value))return{kind:"id",value};if(isTaskKey(value))return{kind:"key",value};return{kind:"unknown",value}}function wantsPrivateSurface(input){const project=input.flags.get("--project");return project!==void 0&&isPrivateProjectRef(project)}function taskSurface(input,ref){const project=input.flags.get("--project");const{kind,value}=classifyTaskRef(ref);if(project!==void 0&&isPrivateProjectRef(project)){if(kind===
3
+ import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import{isSafePathSegment,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{PRIVATE_PROJECT_REF,isPrivateProjectRef}from"./chunk-GY7KI5E5.js";import{PRIVATE_TASK_KEY_PREFIX,isPrivateTaskKey,isTaskKey}from"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";function classifyTaskRef(ref){const value=ref.trim();if(safeProjectIdPolicy.isDirectId(value))return{kind:"id",value};if(isTaskKey(value))return{kind:"key",value};return{kind:"unknown",value}}function wantsPrivateSurface(input){const project=input.flags.get("--project");return project!==void 0&&isPrivateProjectRef(project)}function taskSurface(input,ref){const project=input.flags.get("--project");const{kind,value}=classifyTaskRef(ref);if(project!==void 0&&isPrivateProjectRef(project)){if(kind===
4
4
  "key"&&!isPrivateTaskKey(value)){throw new UsageError(`--project ${PRIVATE_PROJECT_REF}\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\uFF09\u306B ${value} \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30FC\u306F ${PRIVATE_TASK_KEY_PREFIX}-<\u756A\u53F7> \u306E\u5F62\u3067\u3059\u3002ID\uFF08UUID / ULID\uFF09\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002
5
5
  \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30BF\u30B9\u30AF\u3092\u6307\u3059\u306A\u3089 --project ${PRIVATE_PROJECT_REF} \u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return"private"}if(kind==="key"&&isPrivateTaskKey(value)&&project===void 0){throw new UsageError(`${value} \u306F\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30FC\u306B\u3082\u3001\u30B3\u30FC\u30C9 ${PRIVATE_TASK_KEY_PREFIX} \u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30BF\u30B9\u30AF\u30AD\u30FC\u306B\u3082\u8AAD\u3081\u307E\u3059`,
6
6
  `\u3069\u3061\u3089\u3092\u6307\u3059\u304B --project \u3067\u9078\u3093\u3067\u304F\u3060\u3055\u3044\u3002
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
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",
3
+ import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.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
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
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
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";
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{booleanText,boundedText,isoDate}from"./chunk-UDPJ2IGK.js";import{ORG_MASTER_LIMIT}from"./chunk-BZAXQOLB.js";import{ULID_RE,UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{nonEmpty,positiveInteger}from"./chunk-5R4SEO3I.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var CLEAR_DATE="none";function placeholderOf(field){switch(field.kind){case"text":return`<${field.label}>`;case"integer":return"<\u6574\u6570>";case"boolean":return"<true|false>";case"enum":return`<${field.values.join("|")}>`;case"date":return`<YYYY-MM-DD|${CLEAR_DATE}>`;case"ref":return field.placeholder}}function createFlags(fields){return fields.map(field=>({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)}))}function updateFlags(fields){const flags=[];for(const field of fields){
3
+ import{booleanText,boundedText,isoDate}from"./chunk-XDHLO54T.js";import{ORG_MASTER_LIMIT}from"./chunk-R6RTDJJG.js";import{ULID_RE,UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var CLEAR_DATE="none";function placeholderOf(field){switch(field.kind){case"text":return`<${field.label}>`;case"integer":return"<\u6574\u6570>";case"boolean":return"<true|false>";case"enum":return`<${field.values.join("|")}>`;case"date":return`<YYYY-MM-DD|${CLEAR_DATE}>`;case"ref":return field.placeholder}}function createFlags(fields){return fields.map(field=>({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)}))}function updateFlags(fields){const flags=[];for(const field of fields){
4
4
  flags.push({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)});if(field.kind==="ref")flags.push({name:field.clearFlag,summary:field.clearSummary,takesValue:false})}return flags}function integerValue(field,raw){const trimmed=raw.trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;const tooLarge=field.max!==void 0&&value>field.max;if(!Number.isSafeInteger(value)||value<field.min||tooLarge){const range=field.max!==void 0?`${field.min} \u4EE5\u4E0A ${field.
5
5
  max} \u4EE5\u4E0B`:`${field.min} \u4EE5\u4E0A`;throw new UsageError(`${field.flag} \u306F ${range}\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,`${field.label}\u3092\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function fieldBody(input,fields){const body={};for(const field of fields){switch(field.kind){case"text":{const value=boundedText(input,field.flag,{maxChars:field.maxChars,label:field.label});if(value!==void 0)body[field.
6
6
  key]=value;break}case"integer":{const raw=input.flags.get(field.flag);if(raw!==void 0)body[field.key]=integerValue(field,raw);break}case"boolean":{const raw=input.flags.get(field.flag);if(raw!==void 0)body[field.key]=booleanText(field.flag,raw);break}case"enum":{const raw=input.flags.get(field.flag);if(raw===void 0)break;const value=raw.trim().toLowerCase();if(!field.values.includes(value)){throw new UsageError(`${field.flag} \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{ApiResponseError}from"./chunk-7WSNIXTQ.js";var USER_REF_HELP="<\u30E6\u30FC\u30B6\u30FC> \u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u30FBme\uFF08\u81EA\u5206\uFF09\u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u6C0F\u540D\u306F\u5B8C\u5168\u4E00\u81F4\u30671\u4EBA\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08\u540C\u59D3\u540C\u540D\u306A\u3089\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308B\u306E\u3067\u3001\n\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304B\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002ID \u4EE5\u5916\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\n\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002\n\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u793E\u54E1\u756A\u53F7\u3067\u306F\u5F15\u3051\u307E\u305B\u3093\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
3
+ import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{ApiResponseError}from"./chunk-UFND7FBC.js";var USER_REF_HELP="<\u30E6\u30FC\u30B6\u30FC> \u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u30FBme\uFF08\u81EA\u5206\uFF09\u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u6C0F\u540D\u306F\u5B8C\u5168\u4E00\u81F4\u30671\u4EBA\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08\u540C\u59D3\u540C\u540D\u306A\u3089\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308B\u306E\u3067\u3001\n\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304B\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002ID \u4EE5\u5916\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\n\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002\n\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u793E\u54E1\u756A\u53F7\u3067\u306F\u5F15\u3051\u307E\u305B\u3093\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
4
4
  function userPath(input,suffix=""){const userId=requireResolved(input,"userId");if(!isSafePathSegment(userId)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return`${encodeURIComponent(userId)}${suffix}`}var USER_REF_FLAG={name:"--user",summary:"\u5BFE\u8C61\u306E\u30E6\u30FC\u30B6\u30FC\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",
5
5
  takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"};async function prepareUser(input,ctx,usage){const ref=singleRef(input,{flag:"--user",label:"\u30E6\u30FC\u30B6\u30FC",usage});const user=await ctx.resolver.user(ref);return withResolved(input,{userId:user.id})}export{USER_REF_HELP,userPath,USER_REF_FLAG,prepareUser};
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{evaluateQuery}from"./chunk-GDM2QUBL.js";import{renderDocument,renderOutput}from"./chunk-VK5T7ULK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UT4FACHN.js";import{loadDomain}from"./chunk-O44ZKSD2.js";import{parseOperationArgs}from"./chunk-IOGVQVGD.js";import{Resolver,requireDefaultProject}from"./chunk-BZAXQOLB.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-IF2K4PM5.js";import{ResolveError}from"./chunk-GMBJTG6A.js";
4
- import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import{HELP_TOKEN}from"./chunk-EOSSFTNG.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import{stringWidth}from"./chunk-WVS4W5FY.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,
5
- positiveInteger,shellQuote}from"./chunk-5R4SEO3I.js";import{isRecord}from"./chunk-ZWVYVS2A.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,NetworkError,UsageError}from"./chunk-7WSNIXTQ.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var NO_REDACT_FLAG={name:"--no-redact",summary:"\u5FDC\u7B54\u306E\u4F0F\u5B57\u5316\u3092\u89E3\u9664\u3057\u3066\u751F\u306E\u5024\u3092\u51FA\u3059\uFF08\u9375\u306E\u53D7\u3051\u53D6\u308A\u7B49\uFF09",takesValue:false};var NO_REDACT_NOTICE="\u6CE8\u8A18: --no-redact \u306E\u305F\u3081\u51FA\u529B\u3092\u4F0F\u5B57\u5316\u3057\u307E\u305B\u3093\uFF08\u7AEF\u672B\u3068\u30ED\u30B0\u306B\u5E73\u6587\u3067\u6B8B\u308A\u307E\u3059\uFF09\u3002";function withCommonFlags(flags){return flags.some(flag=>flag.
3
+ import{evaluateQuery}from"./chunk-ATYA6DG5.js";import{renderDocument,renderOutput}from"./chunk-VK5T7ULK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UT4FACHN.js";import{loadDomain}from"./chunk-FPUOK6KV.js";import{parseOperationArgs}from"./chunk-F7K37QG6.js";import{Resolver,requireDefaultProject}from"./chunk-R6RTDJJG.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-IF2K4PM5.js";import{ResolveError}from"./chunk-GMBJTG6A.js";
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import{HELP_TOKEN}from"./chunk-OAW2GMY4.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import{stringWidth}from"./chunk-WVS4W5FY.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,
5
+ positiveInteger,shellQuote}from"./chunk-IOGMOXYF.js";import{isRecord}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,NetworkError,UsageError}from"./chunk-UFND7FBC.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var NO_REDACT_FLAG={name:"--no-redact",summary:"\u5FDC\u7B54\u306E\u4F0F\u5B57\u5316\u3092\u89E3\u9664\u3057\u3066\u751F\u306E\u5024\u3092\u51FA\u3059\uFF08\u9375\u306E\u53D7\u3051\u53D6\u308A\u7B49\uFF09",takesValue:false};var NO_REDACT_NOTICE="\u6CE8\u8A18: --no-redact \u306E\u305F\u3081\u51FA\u529B\u3092\u4F0F\u5B57\u5316\u3057\u307E\u305B\u3093\uFF08\u7AEF\u672B\u3068\u30ED\u30B0\u306B\u5E73\u6587\u3067\u6B8B\u308A\u307E\u3059\uFF09\u3002";function withCommonFlags(flags){return flags.some(flag=>flag.
6
6
  name===NO_REDACT_FLAG.name)?flags:[...flags,NO_REDACT_FLAG]}function alignedList(entries,indent=" "){const width=entries.reduce((max,[left])=>Math.max(max,stringWidth(left)),0);return entries.map(([left,right])=>`${indent}${left}${" ".repeat(Math.max(0,width-stringWidth(left)))} ${right}`).join("\n")}function subresourcesOf(resource){return resource.subresources??[]}function renderResourceHelp(resource,path2){const subresources=subresourcesOf(resource);const operationSection=resource.operations.length===0?"":`
7
7
  \u64CD\u4F5C:
8
8
  ${alignedList(resource.operations.map(op=>[op.name,op.summary]))}
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{readCsvFileText}from"./chunk-I6DWJXPC.js";import{readBody}from"./chunk-HGTG5XQ7.js";import{featureLicenseGuidance,invoiceFilters}from"./chunk-BZ7ULFR3.js";import{repeatedValues}from"./chunk-IOGVQVGD.js";import{boundedText,isoDate}from"./chunk-UDPJ2IGK.js";import{SALES_DEPOSITS_PATH,isExactNumericId,resolveNamed}from"./chunk-BZAXQOLB.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,
4
- STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-5R4SEO3I.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var PATH=SALES_DEPOSITS_PATH;function salesAdminForbidden(what){return body=>body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):`${what}\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}var FORBIDDEN=salesAdminForbidden("\u5165\u91D1");var ALLOCATION_STATUSES={
3
+ import{readBody}from"./chunk-ORUDW52G.js";import{readCsvFileText}from"./chunk-OHXZO5WK.js";import{featureLicenseGuidance,invoiceFilters}from"./chunk-T6VAND3Z.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{boundedText,isoDate}from"./chunk-XDHLO54T.js";import{SALES_DEPOSITS_PATH,isExactNumericId,resolveNamed}from"./chunk-R6RTDJJG.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,
4
+ STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var PATH=SALES_DEPOSITS_PATH;function salesAdminForbidden(what){return body=>body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):`${what}\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}var FORBIDDEN=salesAdminForbidden("\u5165\u91D1");var ALLOCATION_STATUSES={
5
5
  allocated:"\u5F15\u5F53\u6E08",shortage:"\u672A\u5165\u91D1\u6709",excess:"\u5165\u91D1\u8D85\u904E\u6709",transfer_fee_resolved:"\u624B\u6570\u6599\u51E6\u7406\u6E08"};var EXCESS_REASONS={transfer_fee:"\u632F\u8FBC\u624B\u6570\u6599",agency_fee:"\u4EE3\u884C\u624B\u6570\u6599\uFF08\u53E3\u5EA7\u632F\u66FF \u57FA\u672C\u5229\u7528\u6599\uFF09",partial:"\u4E00\u90E8\u5165\u91D1",offset:"\u76F8\u6BBA",overpayment:"\u904E\u5165\u91D1",other:"\u305D\u306E\u4ED6"};var EXCESS_TAX_CATEGORIES={taxable_purchase_10:"\
6
6
  \u8AB2\u7A0E\u4ED5\u5165 10%",not_applicable:"\u5BFE\u8C61\u5916"};var BULK_MAX_ROWS=100;var PLAN_MAX_ITEMS=50;var PLAN_MAX_ALLOCATIONS=100;var FILE_MAX_BYTES=1024*1024;var EXCESS_NOTE_MAX_CHARS=255;var PLAN_MEMO_MAX_CHARS=1e3;var CONTENT_MAX_CHARS=1e6;var LIST_COLUMNS=["id","deposit_date","company_name","payee_name","deposit_amount","allocated_amount","unallocated_amount","allocation_status"];var GET_COLUMNS=[...LIST_COLUMNS,"memo","excess_reason","excess_amount","excess_note","excess_tax_categ\
7
7
  ory","excess_tax_amount"];var ALLOCATION_COLUMNS=["id","invoice_id","invoice_no","invoice_title","invoice_date","allocated_amount","invoice_remaining_amount"];function labelsHelp(table){return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function refsOf(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}function usageOf(op){return`twp deposit ${op} help`}function yen(value){return typeof value==="number"?`${value.toLocaleString("ja\
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{UsageError}from"./chunk-7WSNIXTQ.js";function singleRef(input,options){const fromFlag=input.flags.get(options.flag);const[fromArg,...rest]=input.args;if(rest.length>0){throw new UsageError(`\u53D7\u3051\u53D6\u308C\u308B${options.label}\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,options.usage)}if(fromArg!==void 0&&fromFlag!==void 0){throw new UsageError(`${options.label}\u304C\u4F4D\u7F6E\u5F15\u6570\uFF08${fromArg}\uFF09\u3068 ${options.flag} ${fromFlag} \u306E\u4E21\u65B9\u3067\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`,
3
+ import{UsageError}from"./chunk-UFND7FBC.js";function singleRef(input,options){const fromFlag=input.flags.get(options.flag);const[fromArg,...rest]=input.args;if(rest.length>0){throw new UsageError(`\u53D7\u3051\u53D6\u308C\u308B${options.label}\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,options.usage)}if(fromArg!==void 0&&fromFlag!==void 0){throw new UsageError(`${options.label}\u304C\u4F4D\u7F6E\u5F15\u6570\uFF08${fromArg}\uFF09\u3068 ${options.flag} ${fromFlag} \u306E\u4E21\u65B9\u3067\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`,
4
4
  `\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u3069\u3061\u3089\u3067\u3082\u540C\u3058\u610F\u5473\u3067\u3059\uFF09\u3002`)}const value=fromArg??fromFlag;if(value===void 0||value.trim()===""){if(options.required===false)return void 0;throw new UsageError(`${options.label}\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,options.usage)}return value.trim()}function requireResolved(input,key){const value=input.resolved?.[key];if(value===
5
5
  void 0||value===""){throw new Error(`\u5185\u90E8\u30A8\u30E9\u30FC: ${key} \u304C\u89E3\u6C7A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08prepare() \u306E\u914D\u7DDA\u6F0F\u308C\uFF09`)}return value}function withResolved(input,values){return{...input,resolved:{...input.resolved,...values}}}export{singleRef,requireResolved,withResolved};
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var DOMAIN_NAMES=["agent-loop","ai-review-reason","attendance","backlog","business-place","company","contract","customer","department","deposit","estimate","inquiry","invoice","job-title","leave","media","meeting","note","notification","payee","position","project","prospect","purchase","receivable","report","rounding-setting","seal-impression","shift","storage","supplier-payment","task","user","wiki","workchange","workflow"];function isDomainName(value){return value!==void 0&&DOMAIN_NAMES.includes(
4
+ value)}var HELP_TOKEN="help";var API_TOKEN="api";export{DOMAIN_NAMES,isDomainName,HELP_TOKEN,API_TOKEN};
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{UsageError}from"./chunk-7WSNIXTQ.js";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)
3
+ import{UsageError}from"./chunk-UFND7FBC.js";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)
4
4
  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)}}export{decodeCsvText,readCsvFileText};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{UsageError}from"./chunk-7WSNIXTQ.js";import fs from"fs";var BOM="\uFEFF";async function readStdin(spec){if(process.stdin.isTTY===true){throw new UsageError(`${spec.fileFlag} - \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\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4F8B: cat review.md | twp \u2026 ${spec.fileFlag} -\uFF09\u3002`)}const chunks=[];for await(const chunk of process.stdin)chunks.
3
+ import{UsageError}from"./chunk-UFND7FBC.js";import fs from"fs";var BOM="\uFEFF";async function readStdin(spec){if(process.stdin.isTTY===true){throw new UsageError(`${spec.fileFlag} - \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\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4F8B: cat review.md | twp \u2026 ${spec.fileFlag} -\uFF09\u3002`)}const chunks=[];for await(const chunk of process.stdin)chunks.
4
4
  push(Buffer.from(chunk));return Buffer.concat(chunks).toString("utf8")}function charCount(text){return[...text].length}async function readBody(input,spec){const inline=input.flags.get(spec.flag);const file=input.flags.get(spec.fileFlag);if(inline!==void 0&&file!==void 0){throw new UsageError(`${spec.label}\u304C ${spec.flag} \u3068 ${spec.fileFlag} \u306E\u4E21\u65B9\u3067\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`,`\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${spec.
5
5
  fileFlag} - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u3081\u307E\u3059\uFF09\u3002`)}if(inline===void 0&&file===void 0)return void 0;const text=inline??await readFrom(file,spec);const stripped=text.startsWith(BOM)?text.slice(BOM.length):text;if(stripped.trim()===""){throw new UsageError(`${spec.label}\u304C\u7A7A\u3067\u3059\uFF08${inline!==void 0?spec.flag:`${spec.fileFlag} ${file}`}\uFF09`,spec.usage)}const count=charCount(stripped);if(count>spec.maxChars){throw new UsageError(`${spec.
6
6
  label}\u304C\u9577\u3059\u304E\u307E\u3059\uFF08${count} \u6587\u5B57\u30FB\u4E0A\u9650 ${spec.maxChars} \u6587\u5B57\uFF09`,"\u5206\u5272\u3057\u3066\u6295\u7A3F\u3059\u308B\u304B\u3001\u8A73\u7D30\u306F\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return stripped}async function readFrom(file,spec){if(file==="-")return readStdin(spec);try{const stat=fs.statSync(file);if(!stat.isFile()){throw new UsageError(`${spec.label}\u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{ApiError}from"./chunk-IF2K4PM5.js";import{ResolveError,UUID_RE,isSafePathSegment,resolveProjectRef,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{loadProjectConfig,loadUserConfig}from"./chunk-4VZKNEVN.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import{UsageError}from"./chunk-7WSNIXTQ.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";var BACKLOG_BASE_PATH="/api/v2/integrations/backlog";function assertBacklogPathSegment(value,label){if(!isSafePathSegment(value)){throw new ResolveError(`${label}\u3068\u3057\u3066 URL \u306B\u5165\u308C\u3089\u308C\u306A\u3044\u5024\u304C\u30B5\u30FC\u30D0\u304B\u3089\u8FD4\u308A\u307E\u3057\u305F: ${JSON.stringify(value)}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function backlogSpacePath(spaceId,suffix=""){assertBacklogPathSegment(spaceId,
3
+ import{ApiError}from"./chunk-IF2K4PM5.js";import{ResolveError,UUID_RE,isSafePathSegment,resolveProjectRef,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{loadProjectConfig,loadUserConfig}from"./chunk-4VZKNEVN.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import{UsageError}from"./chunk-UFND7FBC.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";var BACKLOG_BASE_PATH="/api/v2/integrations/backlog";function assertBacklogPathSegment(value,label){if(!isSafePathSegment(value)){throw new ResolveError(`${label}\u3068\u3057\u3066 URL \u306B\u5165\u308C\u3089\u308C\u306A\u3044\u5024\u304C\u30B5\u30FC\u30D0\u304B\u3089\u8FD4\u308A\u307E\u3057\u305F: ${JSON.stringify(value)}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function backlogSpacePath(spaceId,suffix=""){assertBacklogPathSegment(spaceId,
4
4
  "Backlog \u30B9\u30DA\u30FC\u30B9 ID");return`${BACKLOG_BASE_PATH}/${encodeURIComponent(spaceId)}${suffix}`}function idString(value){if(typeof value==="number"&&Number.isFinite(value))return String(value);if(typeof value==="string"&&value.trim()!=="")return value.trim();return null}function text(value){return typeof value==="string"&&value.trim()!==""?value.trim():null}function backlogSpaceAliases(spaceUrl){const aliases=[];const trimmed=spaceUrl.trim().replace(/\/+$/,"");if(trimmed==="")return aliases;
5
5
  let host;try{host=new URL(trimmed).host}catch{host=trimmed.replace(/^\/+/,"").split("/")[0]??""}if(host==="")return aliases;aliases.push(host);const label=host.split(".")[0];if(label!==void 0&&label!==""&&label!==host)aliases.push(label);return aliases}function backlogSpaceRow(row){const url=text(row["space_url"]);return{id:idString(row["id"]),name:url,code:null,aliases:url!==null?backlogSpaceAliases(url):[]}}function backlogProjectRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:text(
6
6
  row["projectKey"])}}function backlogStatusRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null}}function backlogUserRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null,aliases:[text(row["userId"]),text(row["mailAddress"])].filter(v=>v!==null)}}var DEFAULT_LOOKUP_SCOPE="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8";function fold(value){return value.trim().toLowerCase()}function keysOf(ref){return[ref.id,ref.code,ref.name,...ref.aliases??[]].filter(v=>typeof v==="string"&&v.trim()!=="").map(fold)}function describe(ref){return ref.code!==void 0&&ref.code!==null&&ref.code!==""&&ref.code!==ref.name?`${ref.name}\uFF08${ref.code}\uFF09`:ref.name}async function suggest(input,candidates){try{const{default:fuzzysort}=await import("./fuzzysort-DFVKV4B4.js");
@@ -1,7 +1,7 @@
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{isoDate}from"./chunk-UDPJ2IGK.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-BZAXQOLB.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-5R4SEO3I.js";import{withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{
4
- ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var ESTIMATE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",submitted:"\u63D0\u793A\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",deleted:"\u524A\u9664\u6E08"};var INVOICE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",manager_confirmation:"\u6848\u4EF6\u62C5\u5F53\u8005\
3
+ import{repeatedValues}from"./chunk-F7K37QG6.js";import{isoDate}from"./chunk-XDHLO54T.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-R6RTDJJG.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import{withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{
4
+ ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var ESTIMATE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",submitted:"\u63D0\u793A\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",deleted:"\u524A\u9664\u6E08"};var INVOICE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",manager_confirmation:"\u6848\u4EF6\u62C5\u5F53\u8005\
5
5
  _\u6848\u4EF6\u5185\u5BB9\u30FB\u91D1\u984D\u78BA\u8A8D",invoice_issued:"\u8ACB\u6C42\u66F8\u767A\u884C\u6E08",sent_to_client:"\u5148\u65B9\u9001\u4ED8\u6E08",archived:"\u4FDD\u7BA1\u6E08",deleted:"\u524A\u9664\u6E08",cancelled:"\u53D6\u6D88\uFF08\u7121\u52B9\uFF09",lost:"\u5931\u6CE8"};var ALLOCATION_STATUSES={unallocated:"\u672A\u56DE\u53CE",allocated:"\u56DE\u53CE\u6E08"};function statusRefs(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}function statusHelp(table){
6
6
  return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function licenseForbidden(guidance){return body=>body?.error==="permission_denied"?guidance:void 0}function featureLicenseGuidance(feature){return`${feature}\u3092\u4F7F\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C${feature}\u3092\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E${feature}\u306E\u6A29\u9650\u304C\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}
7
7
  var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));function envelope(body,what){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return body}function detail(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!=="string"){throw new ApiResponseError(
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var EXIT_OK=0;var EXIT_FAILURE=1;var EXIT_USAGE=2;var EXIT_API_CLIENT=3;var EXIT_API_SERVER=4;var EXIT_AUTH=5;var EXIT_WAIT_TIMEOUT=6;var UsageError=class extends Error{constructor(message,hint){super(message);this.hint=hint;this.name="UsageError"}hint};var ApiResponseError=class extends Error{constructor(message){super(message);this.name="ApiResponseError"}};var ApiRejectedError=class extends Error{constructor(message){super(message);this.name="ApiRejectedError"}};var NetworkError=class extends Error{constructor(message,options){
4
+ super(message,options);this.name="NetworkError"}};export{EXIT_OK,EXIT_FAILURE,EXIT_USAGE,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_WAIT_TIMEOUT,UsageError,ApiResponseError,ApiRejectedError,NetworkError};
@@ -0,0 +1,16 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{featureLicenseGuidance}from"./chunk-T6VAND3Z.js";import{isExactNumericId}from"./chunk-R6RTDJJG.js";import{nonEmpty}from"./chunk-IOGMOXYF.js";import{UsageError}from"./chunk-UFND7FBC.js";var PDF_PATH="/api/v2/sales/pdf";var FEATURE_DENIED="\u3053\u306E\u6A5F\u80FD\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002";function salesFeatureDenied(body){return body?.error==="permission_denied"||body?.error==="forbidden"&&body.error_description===FEATURE_DENIED}function pdfForbidden(body){if(salesFeatureDenied(body))return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");const reason=body?.error;if(typeof reason==="string"&&reason.endsWith(
4
+ "\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093")){return`${reason}\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7D10\u3065\u304F\u66F8\u985E\u306F\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3001\u7D10\u3065\u304B\u306A\u3044\u66F8\u985E\u306F\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u3068\u7BA1\u7406\u8005\u3060\u3051\u304C\u51FA\u529B\u3067\u304D\u307E\u3059\uFF09`}return void 0}var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",noExample:"EST0000063",
5
+ defaultKind:"estimate",kinds:{estimate:{segment:"estimate",label:"\u898B\u7A4D\u66F8"},order:{segment:"order",label:"\u6CE8\u6587\u66F8"},"order-acceptance":{segment:"order-acceptance",label:"\u6CE8\u6587\u8ACB\u66F8"}}};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",noExample:"INV0000170",defaultKind:"invoice",kinds:{invoice:{segment:"invoice",label:"\u8ACB\u6C42\u66F8"},delivery:{segment:"delivery",label:"\u7D0D\u54C1\u66F8"},inspection:{segment:"inspection",label:"\u691C\u53CE\u66F8"}}};var PURCHASE={
6
+ name:"purchase",label:"\u4ED5\u5165",defaultKind:"order",kinds:{order:{segment:"purchase-order",label:"\u6CE8\u6587\u66F8"},"order-acceptance":{segment:"purchase-order-acceptance",label:"\u6CE8\u6587\u8ACB\u66F8"}}};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9.pdf>"};var FORCE_FLAG={name:"--force",summary:"\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",
7
+ takesValue:false};function usageOf(resource){return`twp ${resource.name} download help`}function kindList(resource){return Object.entries(resource.kinds).map(([key,kind])=>`${key}\uFF08${kind.label}\uFF09`).join(" / ")}function kindOf(input,resource){const raw=nonEmpty(input.flags,"--kind")?.trim()??resource.defaultKind;if(!Object.hasOwn(resource.kinds,raw)){throw new UsageError(`--kind \u306F ${kindList(resource)} \u306E\u3069\u308C\u304B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,
8
+ usageOf(resource))}return resource.kinds[raw]}function recordId(input,resource){const[raw,...rest]=input.args;const id=raw?.trim()??"";if(id==="")throw new UsageError(`${resource.label}\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usageOf(resource));if(rest.length>0)throw new UsageError(`\u53D7\u3051\u53D6\u308C\u308B${resource.label}\u306E ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,usageOf(resource));if(!isExactNumericId(id)){throw new UsageError(`${resource.
9
+ label}\u306E ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`${resource.label}\u756A\u53F7${resource.noExample===void 0?"":`\uFF08${resource.noExample} \u306E\u3088\u3046\u306A\u5024\uFF09`}\u3067\u63A2\u3059\u306A\u3089 twp ${resource.name} list --keyword <\u756A\u53F7> \u306E id \u5217\u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002`)}return id}function pdfOperation(resource){const labels=Object.values(resource.kinds).map(kind=>kind.label);const defaultLabel=resource.
10
+ kinds[resource.defaultKind]?.label??resource.defaultKind;return{name:"download",summary:`${resource.label}\u306E\u5E33\u7968 PDF\uFF08${labels.join("\u30FB")}\uFF09\u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--kind\uFF09`,usage:`twp ${resource.name} download <${resource.label}ID> --out <\u30D1\u30B9.pdf> [--kind ${Object.keys(resource.kinds).join("|")}] [--force]`,description:`\u753B\u9762\u306E\u300CPDF\u51FA\u529B\u300D\u3068\u540C\u3058\u5E33\u7968\u3092\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002--kind \u3092\u7701\u304F\u3068${defaultLabel}\
11
+ \u3067\u3059\u3002
12
+ --kind: ${kindList(resource)}
13
+ ID \u306F twp ${resource.name} list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\uFF08${resource.label}\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
14
+ \u5370\u5F71\u30FB\u62BC\u5370\u306E\u6709\u7121\u306F\u30B5\u30FC\u30D0\u304C\u66F8\u985E\u3054\u3068\u306B\u6C7A\u3081\u307E\u3059\uFF08\u753B\u9762\u3067\u51FA\u529B\u3057\u305F\u3082\u306E\u3068\u540C\u3058\u306B\u306A\u308A\u307E\u3059\uFF09\u3002
15
+ \u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\uFF08\u4E0A\u66F8\u304D\u3059\u308B\u306A\u3089 --force\uFF09\u3002\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\u3002`,flags:[OUT_FLAG,FORCE_FLAG,{name:"--kind",summary:`\u5E33\u7968\u306E\u7A2E\u5225\uFF08${kindList(resource)}\u3002\u65E2\u5B9A ${resource.defaultKind}\uFF09`,takesValue:true,placeholder:"<\u7A2E\u5225>"}],download:{outFlag:OUT_FLAG.name,forceFlag:FORCE_FLAG.name},forbidden:pdfForbidden,
16
+ plan:input=>({method:"GET",path:`${PDF_PATH}/${kindOf(input,resource).segment}/${encodeURIComponent(recordId(input,resource))}`}),summarize:body=>body,raw:body=>body}}var estimatePdfOperation=pdfOperation(ESTIMATE);var invoicePdfOperation=pdfOperation(INVOICE);var purchasePdfOperation=pdfOperation(PURCHASE);export{salesFeatureDenied,estimatePdfOperation,invoicePdfOperation,purchasePdfOperation};
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{salesAdminForbidden}from"./chunk-7ACENLLZ.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-BZ7ULFR3.js";import{repeatedValues}from"./chunk-IOGVQVGD.js";import{booleanText,boundedText}from"./chunk-UDPJ2IGK.js";import{SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-BZAXQOLB.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,
4
- nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-5R4SEO3I.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var INT_MAX=2147483647;var MEMBER_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function recordOf(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!==
3
+ import{salesAdminForbidden}from"./chunk-KG53F74X.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-T6VAND3Z.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{booleanText,boundedText}from"./chunk-XDHLO54T.js";import{SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-R6RTDJJG.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,
4
+ nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var INT_MAX=2147483647;var MEMBER_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function recordOf(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!==
5
5
  "string")throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B data.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}function serverMessage(body){const message=isRecord(body)?body["message"]:void 0;return typeof message==="string"&&message!==""?[message]:[]}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function integerValue(flag,raw,min,max=INT_MAX){const trimmed=raw.
6
6
  trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;if(!Number.isSafeInteger(value)||value<min||value>max)throw new UsageError(`${flag} \u306F ${min} \u4EE5\u4E0A ${max} \u4EE5\u4E0B\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`);return value}var RULE_COLUMNS=["id","rule_name","prefix","digit_count","current_number","count_up_num","next_number","sort_order"];function nextNumber(rule,purchaseFormat){const current=rule["current_number"];const step=rule["\
7
7
  count_up_num"]??1;const digits=rule["digit_count"];if(typeof current!=="number"||typeof step!=="number"||typeof digits!=="number")return void 0;const width=purchaseFormat&&digits===0?4:digits;const padded=String(current+step).padStart(width,"0");const prefix=rule["prefix"];if(purchaseFormat)return`${prefix===null||prefix===void 0?"2000":text(prefix)}${padded}`;return typeof prefix==="string"&&prefix!==""&&prefix!=="0"?`${prefix}${padded}`:padded}function withNext(spec,row){const next=nextNumber(
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{ApiResponseError}from"./chunk-7WSNIXTQ.js";function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function pick(row,columns){const source=isRecord(row)?row:{};const out={};for(const column of columns)out[column]=source[column]??null;return out}function acknowledgement(body,label){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${label}\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`)}
3
+ import{ApiResponseError}from"./chunk-UFND7FBC.js";function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function pick(row,columns){const source=isRecord(row)?row:{};const out={};for(const column of columns)out[column]=source[column]??null;return out}function acknowledgement(body,label){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${label}\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`)}
4
4
  return{result:true,message:body["message"]??null}}export{isRecord,pick,acknowledgement};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{UsageError}from"./chunk-7WSNIXTQ.js";var ISO_DATE_RE=/^\d{4}-\d{2}-\d{2}$/;function isoDate(input,flag){const raw=input.flags.get(flag);if(raw===void 0)return void 0;return isoDateValue(raw,flag)}function isoDateValue(raw,label){const value=raw.trim();if(!ISO_DATE_RE.test(value)){throw new UsageError(`${label} \u306F YYYY-MM-DD \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,"\u4F8B: 2026-09-30")}const[y,m,d]=value.split("-").map(Number);const probe=new Date(Date.UTC(y,m-1,d));if(probe.getUTCFullYear()!==
3
+ import{UsageError}from"./chunk-UFND7FBC.js";var ISO_DATE_RE=/^\d{4}-\d{2}-\d{2}$/;function isoDate(input,flag){const raw=input.flags.get(flag);if(raw===void 0)return void 0;return isoDateValue(raw,flag)}function isoDateValue(raw,label){const value=raw.trim();if(!ISO_DATE_RE.test(value)){throw new UsageError(`${label} \u306F YYYY-MM-DD \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,"\u4F8B: 2026-09-30")}const[y,m,d]=value.split("-").map(Number);const probe=new Date(Date.UTC(y,m-1,d));if(probe.getUTCFullYear()!==
4
4
  y||probe.getUTCMonth()+1!==m||probe.getUTCDate()!==d){throw new UsageError(`${label} \u306B\u5B58\u5728\u3057\u306A\u3044\u65E5\u4ED8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059: ${raw}`,"\u4F8B: 2026-09-30")}return value}function booleanText(flag,raw){const value=raw.trim().toLowerCase();if(value==="true")return true;if(value==="false")return false;throw new UsageError(`${flag} \u306F true \u304B false \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,`\u4F8B: ${flag} fa\
5
5
  lse`)}function priority(input,flag="--priority"){const raw=input.flags.get(flag);if(raw===void 0)return void 0;const trimmed=raw.trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;if(!Number.isInteger(value)||value<1||value>3){throw new UsageError(`${flag} \u306F 1 / 2 / 3 \u306E\u3044\u305A\u308C\u304B\u3067\u3059: ${raw}`,"1: \u9AD8 \uFF0F 2: \u4E2D \uFF0F 3: \u4F4E")}return value}function decimal(input,flag,options){const raw=input.flags.get(flag);if(raw===void 0)return void 0;
6
6
  const trimmed=raw.trim();const value=/^\d+(\.\d+)?$/.test(trimmed)?Number(trimmed):Number.NaN;if(!Number.isFinite(value)||value<options.min||value>options.max){throw new UsageError(`${flag} \u306F ${options.min} \u4EE5\u4E0A ${options.max} \u4EE5\u4E0B\u306E\u6570\u5024\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,"\u4F8B: 3 / 3.5")}return value}function boundedText(input,flag,options){const raw=input.flags.get(flag);if(raw===void 0)return void 0;if(raw.trim()===""){throw new UsageError(
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{readBody}from"./chunk-HGTG5XQ7.js";import{WORKFLOWS_PATH}from"./chunk-BZAXQOLB.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-5R4SEO3I.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.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",
3
+ import{readBody}from"./chunk-ORUDW52G.js";import{WORKFLOWS_PATH}from"./chunk-R6RTDJJG.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var WORKFLOW_FLAG={name:"--workflow",summary:"\u7533\u8ACB\u66F8\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF09\u306E\u540D\u524D\u304B ID \u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>"};var CATEGORIES={undefined:"\u6C4E\u7528",paid_holiday:"\u6709\u7D66\u4F11\u6687",substitute_holiday:"\u632F\u66FF\u4F11\u6687",comp_holiday:"\u4EE3\u4F11",absence:"\u6B20\u52E4",special_holiday:"\u7279\u5225\u4F11\u6687",other_leave:"\u305D\u306E\u4ED6\u4F11\u6687\u30FB\u6B20\u52E4",
4
4
  sales:"\u53D6\u5F15",commuting_expenses:"\u901A\u52E4\u4EA4\u901A\u8CBB",cms_publish:"\u30B3\u30F3\u30C6\u30F3\u30C4\u516C\u958B",equipment_lending:"\u5099\u54C1\u8CB8\u51FA",ai_tool_license:"AI\u30C4\u30FC\u30EB\u30E9\u30A4\u30BB\u30F3\u30B9",qualification_bonus:"\u5408\u683C\u304A\u795D\u3044\u91D1"};var CATEGORY_HELP=`\u30AB\u30C6\u30B4\u30EA: ${Object.entries(CATEGORIES).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join(" / ")}`;var WORKFLOW_STATUSES=["active","inactive","draft"];var INSTANCE_STATUSES=[
5
5
  "new","in_progress","approved","rejected","canceled","sent_back"];var INSTANCE_STATUS_HELP="\u72B6\u614B: new\uFF08\u4E0B\u66F8\u304D\uFF09/ in_progress\uFF08\u627F\u8A8D\u5F85\u3061\uFF09/ approved\uFF08\u627F\u8A8D\u6E08\u307F\uFF09/ rejected\uFF08\u5374\u4E0B\uFF09/ canceled\uFF08\u53D6\u6D88\uFF09/ sent_back\uFF08\u5DEE\u3057\u623B\u3057\uFF09";var WORKFLOW_COLUMNS=["id","name","defined_category","status","is_hidden","valid_from","valid_to"];var WORKFLOW_ADMIN_COLUMNS=[...WORKFLOW_COLUMNS,"s\
6
6
  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_\
@@ -29,6 +29,7 @@ var GLOBAL_OPTIONS_HELP=`\u30B0\u30ED\u30FC\u30D0\u30EB\u30AA\u30D7\u30B7\u30E7\
29
29
 
30
30
  \u7D42\u4E86\u30B3\u30FC\u30C9:
31
31
  0 \u6210\u529F / 2 \u5F15\u6570\u30A8\u30E9\u30FC / 3 API 4xx / 4 API 5xx\u30FB\u901A\u4FE1\u5931\u6557 / 5 \u8A8D\u8A3C\u5931\u6557
32
+ 6 \u5F85\u6A5F\u306E\u4E0A\u9650\u306B\u9054\u3057\u305F\uFF1D\u672A\u5B8C\u4E86\uFF08twp api --wait \u306E\u307F\uFF09
32
33
 
33
34
  \u51FA\u529B\u5148\u306E\u898F\u7D04:
34
35
  \u6A5F\u68B0\u53EF\u8AAD\u306A\u7D50\u679C\u306F stdout\u3001\u9032\u6357\u30FB\u8B66\u544A\u30FB\u30A8\u30E9\u30FC\u306F stderr\u3002
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{dateFlag,monthFlag}from"./chunk-3RAGOW6X.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var STATUS_USAGE="twp attendance status";var LIST_USAGE="twp attendance list [--month <YYYY-MM> | --date <YYYY-MM-DD>]";var TIMESHEET_USAGE="twp attendance timesheet [--month <YYYY-MM>]";var PUNCH_USAGE="twp attendance punch <clock-in|clock-out|break-start|break-end|switch> [--project <\u30B3\u30FC\u30C9|ID>] [--task <\u30BF\u30B9\u30AFID>] [--memo <\u30E1\u30E2>]";var PUNCH_TYPES={"clock-in":"clock_in","clock-out":"clock_out","break-start":"break_start","break-end":"break_end",switch:"switch"};
3
+ import{dateFlag,monthFlag}from"./chunk-4B3T4UE7.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var STATUS_USAGE="twp attendance status";var LIST_USAGE="twp attendance list [--month <YYYY-MM> | --date <YYYY-MM-DD>]";var TIMESHEET_USAGE="twp attendance timesheet [--month <YYYY-MM>]";var PUNCH_USAGE="twp attendance punch <clock-in|clock-out|break-start|break-end|switch> [--project <\u30B3\u30FC\u30C9|ID>] [--task <\u30BF\u30B9\u30AFID>] [--memo <\u30E1\u30E2>]";var PUNCH_TYPES={"clock-in":"clock_in","clock-out":"clock_out","break-start":"break_start","break-end":"break_end",switch:"switch"};
4
4
  var UUID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var MEMO_MAX=500;var PUNCH_COLUMNS=["id","type","type_label","recorded_at","year_month","project_id","task_id","memo"];var RECORD_COLUMNS=["recorded_at","type","type_label","work_location","is_manual","project_id","task_id","memo","id"];var DAY_COLUMNS=["date","clock_in","clock_out","work","break","overtime","late","early_leave","holiday","memo"];function noArgs(input,operation){if(input.args.length>0){throw new UsageError(
5
5
  `${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp attendance ${operation} help`)}}function hoursMinutes(value){if(typeof value!=="number"||!Number.isFinite(value))return value;const sign=value<0?"-":"";const abs=Math.round(Math.abs(value));return`${sign}${Math.floor(abs/60)}:${String(abs%60).padStart(2,"0")}`}function currentBody(body){if(!isRecord(body)||typeof body["status"]!=="string"||!Array.isArray(body["today_records"])){
6
6
  throw new ApiResponseError("\u6253\u523B\u72B6\u614B\u306E\u5FDC\u7B54\u306B status / today_records \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function summarizeCurrent(body){const current=currentBody(body);const last=isRecord(current["last_record"])?current["last_record"]:void 0;const actions=Array.isArray(current["available_actions"])?current["available_actions"]:[];return{status:current["status"],status_label:current["\
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CUSTOMER_FLAG,CUSTOMER_LICENSE,childForbidden,levelForbidden,prepareCustomerFlag}from"./chunk-H54MGGHB.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-BPCK5RAB.js";import{inspectLocalFile}from"./chunk-PKWMJIBM.js";import{checkUploadQuota}from"./chunk-DDKZ5IPT.js";import{booleanText}from"./chunk-UDPJ2IGK.js";import{CUSTOMERS_PATH,isExactNumericId}from"./chunk-BZAXQOLB.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";
4
- import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import{nonEmpty}from"./chunk-5R4SEO3I.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import fs from"fs";import path from"path";var CONTRACT_TYPES=["basic_contract","nda","other"];var CONTRACT_TYPE_HELP="basic_contract\uFF1D\u57FA\u672C\u5951\u7D04\u66F8 / nda\uFF1D\u6A5F\u5BC6\u4FDD\u6301\u5951\u7D04\u66F8 / other\uFF1D\u305D\u306E\u4ED6\u5951\u7D04\u66F8\u985E";var FILE_NAME_MAX_CHARS=255;var PDF_MAGIC="%PDF-";var CONTRACT_FIELDS=[{kind:"text",flag:"--name",key:"document_name",label:"\u66F8\u985E\u540D",maxChars:255,summary:"\u66F8\u985E\u540D\uFF08create \u3067\u306F\u5FC5\u9808\uFF09"},{kind:"enum",flag:"--type",key:"\
3
+ import{CUSTOMER_FLAG,CUSTOMER_LICENSE,childForbidden,levelForbidden,prepareCustomerFlag}from"./chunk-2XP7XHLA.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-IVMPNTY5.js";import{inspectLocalFile}from"./chunk-HNUBM24L.js";import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import{booleanText}from"./chunk-XDHLO54T.js";import{CUSTOMERS_PATH,isExactNumericId}from"./chunk-R6RTDJJG.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";
4
+ import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import{nonEmpty}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import fs from"fs";import path from"path";var CONTRACT_TYPES=["basic_contract","nda","other"];var CONTRACT_TYPE_HELP="basic_contract\uFF1D\u57FA\u672C\u5951\u7D04\u66F8 / nda\uFF1D\u6A5F\u5BC6\u4FDD\u6301\u5951\u7D04\u66F8 / other\uFF1D\u305D\u306E\u4ED6\u5951\u7D04\u66F8\u985E";var FILE_NAME_MAX_CHARS=255;var PDF_MAGIC="%PDF-";var CONTRACT_FIELDS=[{kind:"text",flag:"--name",key:"document_name",label:"\u66F8\u985E\u540D",maxChars:255,summary:"\u66F8\u985E\u540D\uFF08create \u3067\u306F\u5FC5\u9808\uFF09"},{kind:"enum",flag:"--type",key:"\
5
5
  document_type",values:CONTRACT_TYPES,summary:`\u66F8\u985E\u7A2E\u5225\uFF08${CONTRACT_TYPE_HELP}\u30FBcreate \u3067\u306F\u5FC5\u9808\uFF09`}];var CONTRACT_COLUMNS=["document_id","company_id","document_type","document_name","current_version","updated_by_name","updated_at"];var VERSION_COLUMNS=["version_number","file_name","file_size","is_current","created_by_name","created_at"];var CASE_COLUMNS=["document_id","document_type_label","document_name","estimate_no","estimate_title","project_name","c\
6
6
  urrent_version","updated_at"];var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B PDF \u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9.pdf>"};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\u3002\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var FORCE_FLAG={
7
7
  name:"--force",summary:"\u66F8\u304D\u51FA\u3057\u5148\u304C\u65E2\u306B\u3042\u308C\u3070\u4E0A\u66F8\u304D\u3059\u308B\uFF08\u65E2\u5B9A\u3067\u306F\u4E0A\u66F8\u304D\u3057\u306A\u3044\uFF09",takesValue:false};var REV_FLAG={name:"--rev",summary:"\u53D6\u308A\u51FA\u3059\u7248\u306E\u756A\u53F7\uFF08\u7701\u7565\u6642\u306F\u73FE\u884C\u7248\u3002get \u306E versions \u306E version_number\uFF09",takesValue:true,placeholder:"<\u7248\u756A\u53F7>"};var CONTRACT_REF_HELP="--customer\uFF08\u9867\u5BA2\uFF09\u304C\u5FC5\u9808\u3067\u3059\u3002<\u66F8\u985EID>\