@tocca-systems/twp-cli 0.49.0 → 0.51.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 (123) hide show
  1. package/CHANGELOG.public.md +26 -0
  2. package/README.md +223 -7
  3. package/dist/agent-LHNDQMT5.js +100 -0
  4. package/dist/{agent-loop-XKH5YE6A.js → agent-loop-QP6UHX4R.js} +2 -2
  5. package/dist/{ai-dispatch-FGVNSM6L.js → ai-dispatch-VDNMECKK.js} +2 -2
  6. package/dist/analysis-RFO4E4ZS.js +4 -0
  7. package/dist/announcement-HQ7CQYFI.js +52 -0
  8. package/dist/{api-command-IBK6R4XU.js → api-command-ZZFN3T2G.js} +5 -16
  9. package/dist/{app-7I767FND.js → app-WX4B5MQ3.js} +5 -5
  10. package/dist/{attendance-correct-M6KD6PSN.js → attendance-correct-CRRR4EKL.js} +3 -3
  11. package/dist/{attendance-lists-3T7S7QF5.js → attendance-lists-XPCU25OJ.js} +2 -1
  12. package/dist/{auto-update-PS5HUWVH.js → auto-update-YMI3F44R.js} +1 -1
  13. package/dist/{auto-update-worker-ZKODJ45K.js → auto-update-worker-VG77U4UA.js} +2 -2
  14. package/dist/{backlog-IXUASOE3.js → backlog-NU5HHXN2.js} +2 -2
  15. package/dist/{budget-EJIZFFB7.js → budget-AM7JJ5YP.js} +2 -2
  16. package/dist/{charter-command-2RIS2VTQ.js → charter-command-LIX2JXRJ.js} +1 -1
  17. package/dist/{chunk-SPGS7DHD.js → chunk-22OIKHMN.js} +1 -1
  18. package/dist/{chunk-4QKACT6A.js → chunk-2NP3BLPI.js} +2 -2
  19. package/dist/chunk-3744RCNM.js +58 -0
  20. package/dist/{chunk-VTQAI52S.js → chunk-3ZRMMBP5.js} +1 -1
  21. package/dist/{chunk-6QOT7CHX.js → chunk-5WTFZJT7.js} +1 -1
  22. package/dist/chunk-6A2JSS76.js +4 -0
  23. package/dist/{chunk-5YXEGJU7.js → chunk-6JB4MSDX.js} +2 -2
  24. package/dist/{chunk-ORUDW52G.js → chunk-6LSQCOCJ.js} +1 -1
  25. package/dist/{chunk-BSEPVMVA.js → chunk-74WGU5BM.js} +2 -2
  26. package/dist/{chunk-LKS7GANP.js → chunk-7GJFKKOJ.js} +3 -2
  27. package/dist/{chunk-AJO4O5ZF.js → chunk-A4LFG7MW.js} +1 -1
  28. package/dist/{chunk-QHNZUMRK.js → chunk-AKLQMTMW.js} +61 -27
  29. package/dist/{chunk-QYWYZG73.js → chunk-B6WIFZF2.js} +2 -2
  30. package/dist/chunk-DBCF4H3V.js +141 -0
  31. package/dist/{chunk-4B3T4UE7.js → chunk-EXT4AIDF.js} +1 -1
  32. package/dist/{chunk-74SXPFUT.js → chunk-F53TSCRD.js} +1 -1
  33. package/dist/{chunk-AC6G5UPA.js → chunk-FACNRXN7.js} +2 -2
  34. package/dist/{chunk-BS2ACFJA.js → chunk-FEJDU42E.js} +43 -34
  35. package/dist/{chunk-ATYA6DG5.js → chunk-GFLGXGWE.js} +1 -1
  36. package/dist/{chunk-IF2K4PM5.js → chunk-JA5A6UJ2.js} +6 -4
  37. package/dist/{chunk-36TEJJ5S.js → chunk-LXGYOKDY.js} +3 -3
  38. package/dist/{chunk-IOGMOXYF.js → chunk-MI6HVYR2.js} +1 -1
  39. package/dist/{chunk-HJPIGVGD.js → chunk-MKQDUQQ2.js} +1 -1
  40. package/dist/{chunk-VWNFYFLA.js → chunk-NGY4K5VW.js} +1 -1
  41. package/dist/{chunk-YM7TKMNO.js → chunk-NWI2TBO6.js} +1 -1
  42. package/dist/{chunk-XDHLO54T.js → chunk-OTIR4GES.js} +1 -1
  43. package/dist/chunk-PFY5QJKO.js +10 -0
  44. package/dist/{chunk-LXIAOCUW.js → chunk-PS5QFKHB.js} +1 -1
  45. package/dist/{chunk-3HH5IYNO.js → chunk-QBGEYQ2I.js} +1 -1
  46. package/dist/{chunk-OHXZO5WK.js → chunk-QLENN5DD.js} +1 -1
  47. package/dist/chunk-QSXS5SB2.js +33 -0
  48. package/dist/{chunk-LNZTJI64.js → chunk-RQEX2WC5.js} +1 -1
  49. package/dist/{chunk-F7K37QG6.js → chunk-RX5HWI4L.js} +1 -1
  50. package/dist/{chunk-6KB2R3S2.js → chunk-S36LGDG2.js} +2 -2
  51. package/dist/{chunk-3AD2T6L2.js → chunk-SDNASQZL.js} +1 -1
  52. package/dist/{chunk-TKGVAWGU.js → chunk-TVODNAPX.js} +1 -1
  53. package/dist/{chunk-2YNZ4MRT.js → chunk-V64CGX7V.js} +1 -1
  54. package/dist/{chunk-UFND7FBC.js → chunk-VFPY2A23.js} +2 -2
  55. package/dist/{chunk-HNUBM24L.js → chunk-VOMCTG6N.js} +1 -1
  56. package/dist/chunk-WVCEKC7V.js +14 -0
  57. package/dist/{chunk-QICH2OOI.js → chunk-XWJVDNYE.js} +1 -1
  58. package/dist/{chunk-6WNPHORR.js → chunk-XZU53BUV.js} +2 -2
  59. package/dist/{chunk-H3WYVFTS.js → chunk-YJZT3UD3.js} +1 -1
  60. package/dist/{chunk-FC2SFCKD.js → chunk-Z4UT367H.js} +19 -18
  61. package/dist/{chunk-5ALOH2TR.js → chunk-ZVEMJWRR.js} +1 -1
  62. package/dist/cli.js +163 -10
  63. package/dist/{commands-DJIQE34F.js → commands-BXU44JWS.js} +8 -8
  64. package/dist/{commands-UMKI65IW.js → commands-TYUK7MV4.js} +3 -3
  65. package/dist/{company-VCPUUYVV.js → company-BKULUHIU.js} +3 -3
  66. package/dist/{completion-XFXG7RPT.js → completion-RWWCIR6G.js} +1 -1
  67. package/dist/{configure-XH33RB27.js → configure-QU6JK65I.js} +1 -1
  68. package/dist/{contract-SMIPLH7R.js → contract-376FE7VC.js} +3 -3
  69. package/dist/{department-4RCU4E27.js → department-YKBPBPU6.js} +2 -2
  70. package/dist/deposit-CY5K3ZTM.js +4 -0
  71. package/dist/{estimate-HE5H6XXY.js → estimate-GPNG6YOJ.js} +4 -4
  72. package/dist/evaluation-VRLMQV32.js +61 -0
  73. package/dist/expense-3MT6WHTG.js +75 -0
  74. package/dist/{inquiry-SCPVERFM.js → inquiry-YV433Q7V.js} +2 -2
  75. package/dist/{invoice-CF2TPYSA.js → invoice-OSAO4PIO.js} +3 -3
  76. package/dist/{job-title-W2EKNKTY.js → job-title-FITZHBR4.js} +1 -1
  77. package/dist/{knowledge-ZZEHU744.js → knowledge-YEEAKLQJ.js} +2 -32
  78. package/dist/{leave-5VY2IK7K.js → leave-MWYAL66X.js} +3 -2
  79. package/dist/{media-4MASY32I.js → media-VQ74YPWV.js} +110 -30
  80. package/dist/{notification-AOSKQX3Z.js → notification-EAEKDN54.js} +2 -2
  81. package/dist/{onedrive-3OBI4B5Z.js → onedrive-UBSHXVYS.js} +1 -1
  82. package/dist/{oneshot-Y4A2ZC3E.js → oneshot-62DOJWOH.js} +2 -2
  83. package/dist/{outlook-LY6WBXIJ.js → outlook-ODZD27J5.js} +2 -2
  84. package/dist/{position-TPKLP2SP.js → position-ZKYGVAAK.js} +1 -1
  85. package/dist/project-5MHCPDVC.js +4 -0
  86. package/dist/{prospect-3ALNTGPY.js → prospect-ASQA5QVD.js} +3 -3
  87. package/dist/{purchase-SEHUEXE5.js → purchase-WLJJSMM6.js} +4 -4
  88. package/dist/query-XEOVFI4D.js +3 -0
  89. package/dist/receivable-FBPROHOV.js +4 -0
  90. package/dist/{registry-BA7RGQ2R.js → registry-HEGYZVX6.js} +1 -1
  91. package/dist/{report-RV7DOZFB.js → report-HK2NZXHC.js} +2 -2
  92. package/dist/run-HYQQIOVW.js +4 -0
  93. package/dist/sales-ai-review-IEISLBIH.js +4 -0
  94. package/dist/{sales-master-RC77V74V.js → sales-master-S3YTUE7J.js} +3 -3
  95. package/dist/sales-numbering-M4KUZAM7.js +4 -0
  96. package/dist/{server-skills-Z5DGCJQ7.js → server-skills-IXIOOOC2.js} +1 -1
  97. package/dist/skill-45FBIGC5.js +4 -0
  98. package/dist/{skill-command-74MCUHFJ.js → skill-command-NXHTJXYY.js} +1 -1
  99. package/dist/{storage-KLLBENBY.js → storage-AQDCEBDJ.js} +1 -1
  100. package/dist/{supplier-payment-OCAK6N3S.js → supplier-payment-MS6YMIT4.js} +3 -3
  101. package/dist/support-VSDMFUTY.js +53 -0
  102. package/dist/{task-7QESG57Q.js → task-BTYFJRSC.js} +4 -4
  103. package/dist/{teams-DRHXPLWN.js → teams-GPXJPXNC.js} +2 -2
  104. package/dist/update-NCAVUXSX.js +3 -0
  105. package/dist/{user-67X5FJTN.js → user-VFJGLZDR.js} +23 -6
  106. package/dist/worker-agent-YX2KPVQG.js +150 -0
  107. package/dist/workflow-OPZYCSDL.js +4 -0
  108. package/package.json +1 -1
  109. package/dist/analysis-NCD6YTJM.js +0 -4
  110. package/dist/chunk-67JAB5QG.js +0 -4
  111. package/dist/chunk-IXFMXUNT.js +0 -5
  112. package/dist/chunk-QOUDJ7XO.js +0 -47
  113. package/dist/chunk-ZVJXYKRY.js +0 -9
  114. package/dist/deposit-UF7OKRG2.js +0 -4
  115. package/dist/project-JFZCKGYY.js +0 -4
  116. package/dist/query-3ZQP4DCN.js +0 -3
  117. package/dist/receivable-QYSSI7TB.js +0 -4
  118. package/dist/run-ZXMGPUUK.js +0 -4
  119. package/dist/sales-ai-review-AXZKRXKB.js +0 -4
  120. package/dist/sales-numbering-WU5FAPCO.js +0 -4
  121. package/dist/update-EYFT7STE.js +0 -3
  122. package/dist/worker-agent-MKXRTVBM.js +0 -81
  123. package/dist/workflow-KHNGCPQB.js +0 -4
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{emailText,ms365Forbidden,recipientsText,str}from"./chunk-QICH2OOI.js";import{readBody}from"./chunk-ORUDW52G.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import fs from"fs";import path from"path";var BODY_MAX_CHARS=1e5;var ATTACH_TOTAL_MAX_BYTES=3*1024*1024;var ADDRESS=/^[^\s@,;<>"]+@[^\s@,;<>"]+$/;var INVISIBLE=/[\p{Cc}\p{Cf}]/u;function oneLine(value){return value.replace(/[\r\n\t]+/g," ").replace(/[\p{Cc}\p{Cf}]/gu,"")}var TO_FLAG={name:"--to",summary:"\u5B9B\u5148\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u5FC5\u9808\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var CC_FLAG={name:"--c\
3
+ import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{emailText,ms365Forbidden,recipientsText,str}from"./chunk-XWJVDNYE.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-QBGEYQ2I.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var BODY_MAX_CHARS=1e5;var ATTACH_TOTAL_MAX_BYTES=3*1024*1024;var ADDRESS=/^[^\s@,;<>"]+@[^\s@,;<>"]+$/;var INVISIBLE=/[\p{Cc}\p{Cf}]/u;function oneLine(value){return value.replace(/[\r\n\t]+/g," ").replace(/[\p{Cc}\p{Cf}]/gu,"")}var TO_FLAG={name:"--to",summary:"\u5B9B\u5148\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u5FC5\u9808\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var CC_FLAG={name:"--c\
4
4
  c",summary:"Cc \u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var BODY_FILE_FLAG={name:"--body-file",summary:"\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var BODY_FLAG={name:"--body",summary:"\u672C\u6587\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u4E00\u884C\u5411\u3051\u3002--body-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",
5
5
  takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var HTML_FLAG={name:"--html",summary:"\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u9001\u308B\uFF08\u65E2\u5B9A\u306F\u30C6\u30AD\u30B9\u30C8\uFF09",takesValue:false};var MESSAGE_FLAG={name:"--message",summary:"\u5143\u306E\u30E1\u30FC\u30EBID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"};var EXTERNAL_SEND_HELP="\u26A0 \u5916\u90E8\u3078\u51FA\u308B\u64CD\u4F5C\u3067\u3059\u3002\u5B9F\u884C\u3057\u305F\u77AC\u9593\u306B\u76F8\u624B\u306E\u53D7\u4FE1\u7BB1\u3078\u5C4A\u304D\u3001\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\n --yes \u304C\u7121\u3051\u308C\u3070\u5B9F\u884C\u3057\u307E\u305B\u3093\u3002--dry-run \u3067\u9001\u308B\u5185\u5BB9\uFF08\u5B9B\u5148\u30FB\u4EF6\
6
6
  \u540D\u30FB\u672C\u6587\u30FB\u6DFB\u4ED8\u306E\u540D\u524D\u3068\u5927\u304D\u3055\uFF09\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\n --yes \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08--dry-run \u306F --yes \u3092\u8981\u308A\u307E\u305B\u3093\uFF09\u3002\n\u26A0 \u7D42\u4E86\u30B3\u30FC\u30C9 4\uFF08\u901A\u4FE1\u306E\u5931\u6557\u30FB\u30B5\u30FC\u30D0\u306E\u4E00\u6642\u30A8\u30E9\u30FC\uFF09\u3067\u3082\u3001Microsoft 365 \u5074\u3067\u306F\u9001\u4FE1\u6E08\u307F\u306E\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n \u6253\u3061\u76F4\u3059\u524D\u306B twp outlook mail list --folder sentitems \u3067\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{isValidSkillName,skillDigest}from"./chunk-H3WYVFTS.js";import{describeError}from"./chunk-JTJWDV5U.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var SKILL_REF=/^([ \t]*)\/([a-z][a-z0-9-]*)(?=[ \t\n]|$)([ \t]+[^\n]*)?/gm;function stripFrontmatter(content){if(!content.startsWith("---"))return content;const m=/^---[ \t]*\r?\n[\s\S]*?\r?\n---[ \t]*(?:\r?\n)?/.exec(content);return m===null?content:content.slice(m[0].length)}function referencedSkills(prompt){const out=[];for(const m of prompt.matchAll(SKILL_REF)){const name=m[2]??"";if(!out.includes(name))out.push(name)}return out}function expandServerSkills(prompt,bodies){if(bodies.size===0)return prompt;
3
+ import{isValidSkillName,skillDigest}from"./chunk-YJZT3UD3.js";import{describeError}from"./chunk-JTJWDV5U.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var SKILL_REF=/^([ \t]*)\/([a-z][a-z0-9-]*)(?=[ \t\n]|$)([ \t]+[^\n]*)?/gm;function stripFrontmatter(content){if(!content.startsWith("---"))return content;const m=/^---[ \t]*\r?\n[\s\S]*?\r?\n---[ \t]*(?:\r?\n)?/.exec(content);return m===null?content:content.slice(m[0].length)}function referencedSkills(prompt){const out=[];for(const m of prompt.matchAll(SKILL_REF)){const name=m[2]??"";if(!out.includes(name))out.push(name)}return out}function expandServerSkills(prompt,bodies){if(bodies.size===0)return prompt;
4
4
  return prompt.replace(SKILL_REF,(whole,_indent,name,args)=>{const body=bodies.get(name);if(body===void 0)return whole;return stripFrontmatter(body).replaceAll("$ARGUMENTS",()=>(args??"").trim())})}function prepareSkillOverlay(root,workspace,bodies,provider){const commands=path.join(root,".claude","commands");fs.rmSync(root,{recursive:true,force:true});fs.mkdirSync(commands,{recursive:true});const src=path.join(workspace,".claude","commands");let names=[];try{names=fs.readdirSync(src).filter(f=>f.
5
5
  endsWith(".md"))}catch{}for(const f of names){const from=path.join(src,f);try{if(fs.statSync(from).isFile())fs.copyFileSync(from,path.join(commands,f))}catch{}}for(const[name,body]of bodies){if(!isValidSkillName(name))continue;fs.writeFileSync(path.join(commands,`${name}.md`),body,"utf8")}if(/^[a-z0-9-]+$/.test(provider)){const rel=path.join("scripts","agent-adapters","providers",`${provider}.md`);const from=path.join(workspace,rel);if(fs.existsSync(from)){fs.mkdirSync(path.dirname(path.join(root,
6
6
  rel)),{recursive:true});fs.copyFileSync(from,path.join(root,rel))}}}function unwrap(json,key){if(json===null||typeof json!=="object"||Array.isArray(json))return null;const top=json;const data=top["data"];if(data!==null&&typeof data==="object"&&!Array.isArray(data)&&key in data){return data}return top}function isRevision(v){return typeof v==="number"&&Number.isInteger(v)&&v>=0}function parseSkillList(res){const b=unwrap(res.json,"skills");const raw=b?.["skills"];if(!Array.isArray(raw))return null;
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var STORAGE_FORBIDDEN="\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u4F7F\u7528\u72B6\u6CC1\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u53C2\u7167\u3067\u304D\u307E\u3059\u3002\u7BA1\u7406\u8005\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u524D\u306E\u5BB9\u91CF\u691C\u67FB\u306F\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\u3067\u3082\u81EA\u52D5\u3067\u884C\u308F\u308C\u307E\u3059\uFF09\u3002";function checkResult(body){
3
+ import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var STORAGE_FORBIDDEN="\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u4F7F\u7528\u72B6\u6CC1\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u53C2\u7167\u3067\u304D\u307E\u3059\u3002\u7BA1\u7406\u8005\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u524D\u306E\u5BB9\u91CF\u691C\u67FB\u306F\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\u3067\u3082\u81EA\u52D5\u3067\u884C\u308F\u308C\u307E\u3059\uFF09\u3002";function checkResult(body){
4
4
  const canUpload=isRecord(body)?body["can_upload"]:void 0;const result=isRecord(body)?body["check_result"]:void 0;if(typeof canUpload!=="boolean"||!isRecord(result)){throw new ApiResponseError("\u5BB9\u91CF\u691C\u67FB\u306E\u5FDC\u7B54\u306B can_upload / check_result \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const text=key=>{const value=result[key];return typeof value==="string"?value:"\u4E0D\u660E"};return{canUpload,
5
5
  softExceeded:result["soft_limit_exceeded"]===true,remaining:text("remaining_formatted"),quota:text("total_quota_formatted")}}async function checkUploadQuota(ctx,fileSize){const result=checkResult(await ctx.send(checkUploadPlan(fileSize)));if(!result.canUpload){throw new ApiRejectedError(`\u30C6\u30CA\u30F3\u30C8\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u5BB9\u91CF\u3092\u8D85\u3048\u308B\u305F\u3081\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u307E\u305B\u3093\uFF08${fileSize} \u30D0\u30A4\u30C8\u30FB\u6B8B\u308A ${result.
6
6
  remaining} / \u4E0A\u9650 ${result.quota}\uFF09\u3002\u4E0D\u8981\u306A\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3059\u308B\u304B\u3001\u7BA1\u7406\u8005\u306B\u5BB9\u91CF\u306E\u8FFD\u52A0\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}if(result.softExceeded){ctx.warn(`\u3053\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3067\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u4F7F\u7528\u91CF\u304C\u8B66\u544A\u306E\u95BE\u5024\u3092\u8D85\u3048\u307E\u3059\uFF08\u6B8B\u308A ${result.
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
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};
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 WaitTimeoutError=class extends Error{constructor(message){
4
+ super(message);this.name="WaitTimeoutError"}};var NetworkError=class extends Error{constructor(message,options){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,WaitTimeoutError,NetworkError};
@@ -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-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===
3
+ import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{PRIVATE_PROJECT_REF,isPrivateProjectRef}from"./chunk-GY7KI5E5.js";import{isSafePathSegment,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{PRIVATE_TASK_KEY_PREFIX,isPrivateTaskKey,isTaskKey}from"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.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
@@ -0,0 +1,14 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var TERMINAL_OK="completed";var TERMINAL_FAILED=["failed","cancelled"];var PENDING_STATUSES=["pending","processing"];var DEFAULT_WAIT_TIMEOUT_SECONDS=300;var MAX_WAIT_TIMEOUT_SECONDS=480;var DEFAULT_WAIT_INTERVAL_SECONDS=5;var MIN_WAIT_INTERVAL_SECONDS=1;function parseWaitOptions(flags){const wait=flags.has("--wait");const rawTimeout=flags.get("--wait-timeout");const rawInterval=flags.get("--wait-interval");if(!wait){if(rawTimeout!==void 0||rawInterval!==void 0){throw new UsageError("--wait-time\
4
+ out / --wait-interval \u306F --wait \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u4F8B: twp api /v2/media/files/generate/video/<task_id> --wait --wait-timeout 300")}return null}const timeoutSeconds=seconds("--wait-timeout",rawTimeout,DEFAULT_WAIT_TIMEOUT_SECONDS,1,MAX_WAIT_TIMEOUT_SECONDS);const intervalSeconds=seconds("--wait-interval",rawInterval,Math.min(DEFAULT_WAIT_INTERVAL_SECONDS,timeoutSeconds),MIN_WAIT_INTERVAL_SECONDS,timeoutSeconds);return{timeoutSeconds,
5
+ intervalSeconds}}function seconds(flag,raw,fallback,min,max){if(raw===void 0)return fallback;const text=raw.trim();if(!/^\d+$/.test(text))throw new UsageError(`${flag} \u306B\u306F\u79D2\u6570\uFF08\u6574\u6570\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`);const value=Number(text);if(value<min||value>max){throw new UsageError(`${flag} \u306F ${min}\u301C${max} \u79D2\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u6307\u5B9A: ${value}\uFF09`,flag==="--wait-ti\
6
+ meout"?`\u4E0A\u9650 ${MAX_WAIT_TIMEOUT_SECONDS} \u79D2\u306F AI CLI \u306E Bash \u30C4\u30FC\u30EB\u306E\u4E0A\u9650\uFF08600\u79D2\uFF09\u306B\u53CE\u3081\u308B\u305F\u3081\u3067\u3059\u3002\u9577\u3044\u51E6\u7406\u306F\u9593\u3092\u7F6E\u3044\u3066\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002`:void 0)}return value}function readWaitStatus(body){const status=pickStatus(body);if(status===void 0){throw new UsageError("--wait \u306F status \u3092\u8FD4\u3059\u5FDC\u7B54\u306B\u3057\u304B\u4F7F\u3048\u307E\u305B\u3093\uFF08\u5FDC\u7B54\u306B data.status / status \u304C\u3042\u308A\u307E\u305B\u3093\uFF09",
7
+ "\u975E\u540C\u671F\u51E6\u7406\u306E\u72B6\u614B\u306E\u30D1\u30B9\uFF08\u4F8B: /v2/media/files/generate/video/<task_id>\uFF09\u306B\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002")}if(status===TERMINAL_OK)return{kind:"completed",status};if(TERMINAL_FAILED.includes(status))return{kind:"failed",status};if(PENDING_STATUSES.includes(status))return{kind:"pending",status};throw new ApiResponseError(`--wait \u304C\u77E5\u3089\u306A\u3044 status \u3067\u3059: ${status}\uFF08\u5F85\u3064\u306E\u306F ${PENDING_STATUSES.
8
+ join(" / ")}\u3001\u7D42\u308F\u308A\u306F ${[TERMINAL_OK,...TERMINAL_FAILED].join(" / ")}\uFF09`)}function pickStatus(body){if(!isRecord(body))return void 0;const data=body["data"];if(isRecord(data)&&typeof data["status"]==="string")return data["status"];if(typeof body["status"]==="string")return body["status"];return void 0}function isRecord(value){return value!==null&&typeof value==="object"&&!Array.isArray(value)}async function waitUntilTerminal(firstBody,options,deps){const startedAt=deps.startedAt??
9
+ deps.now();const deadline=startedAt+options.timeoutSeconds*1e3;const readStatus=deps.readStatus??readWaitStatus;let body=firstBody;let state=readStatus(body);let polls=1;while(state.kind==="pending"){if(deps.now()+options.intervalSeconds*1e3>deadline){return{body,state,polls,elapsedSeconds:elapsed(deps.now(),startedAt),timedOut:true}}await deps.sleep(options.intervalSeconds*1e3);let next;try{next=await deps.fetchAgain()}catch(pollError){return{body,state,polls,elapsedSeconds:elapsed(deps.now(),startedAt),
10
+ timedOut:false,pollError}}let nextState;try{nextState=readStatus(next)}catch(statusError){const pollError=statusError instanceof UsageError?new ApiResponseError("\u53D6\u308A\u76F4\u3057\u305F\u5FDC\u7B54\u306B status \u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u6700\u521D\u306E\u5FDC\u7B54\u306B\u306F\u3042\u308A\u307E\u3057\u305F\uFF09"):statusError;return{body,state,polls,elapsedSeconds:elapsed(deps.now(),startedAt),timedOut:false,pollError}}body=next;state=nextState;polls+=1}return{body,state,
11
+ polls,elapsedSeconds:elapsed(deps.now(),startedAt),timedOut:false}}function elapsed(now,startedAt){return Math.round((now-startedAt)/1e3)}function describeWaitResult(result){const head=`\u5F85\u6A5F: ${result.polls} \u56DE\u53D6\u5F97\u30FB${result.elapsedSeconds} \u79D2`;if(result.pollError!==void 0){const reason=result.pollError instanceof Error?result.pollError.message:String(result.pollError);return{note:`${head}\u3002\u53D6\u308A\u76F4\u3057\u306B\u5931\u6557\u3057\u305F\u305F\u3081\u6253\u3061\u5207\u308A\u307E\u3057\u305F\uFF08${reason}\
12
+ \uFF09\u3002\u6700\u5F8C\u306B\u53D6\u308C\u305F\u5FDC\u7B54\uFF08status=${result.state.status}\u30FB**\u672A\u5B8C\u4E86**\uFF09\u3092 stdout \u306B\u51FA\u3057\u3066\u3044\u307E\u3059\u3002\u51E6\u7406\u306F\u30B5\u30FC\u30D0\u3067\u7D9A\u3044\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308B\u306E\u3067\u3001\u958B\u59CB\u304B\u3089\u6253\u3061\u76F4\u3055\u305A\u540C\u3058\u30B3\u30DE\u30F3\u30C9\u3092\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,error:result.pollError instanceof
13
+ Error?result.pollError:new Error(reason)}}if(result.timedOut){return{note:`${head}\u3002\u6B21\u306E\u53D6\u5F97\u304C\u4E0A\u9650\u3092\u8D8A\u3048\u308B\u305F\u3081\u6253\u3061\u5207\u308A\u307E\u3057\u305F\u3002status=${result.state.status} \u306E\u307E\u307E**\u672A\u5B8C\u4E86**\u3067\u3059\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9 6\uFF09\u3002\u540C\u3058\u30B3\u30DE\u30F3\u30C9\u3092\u6253\u3061\u76F4\u3059\u3068\u7D9A\u304D\u3092\u5F85\u3066\u307E\u3059\u3002`,error:null}}if(result.state.kind===
14
+ "failed"){return{note:`${head}\u3002status=${result.state.status} \u3067\u7D42\u308F\u308A\u307E\u3057\u305F\u3002`,error:new ApiRejectedError(`\u975E\u540C\u671F\u51E6\u7406\u304C ${result.state.status} \u3067\u7D42\u308F\u308A\u307E\u3057\u305F\uFF08\u5FDC\u7B54\u306F stdout \u306B\u51FA\u3057\u3066\u3044\u307E\u3059\uFF09`)}}return{note:`${head}\u3002status=${result.state.status} \u3067\u7D42\u308F\u308A\u307E\u3057\u305F\u3002`,error:null}}export{parseWaitOptions,waitUntilTerminal,describeWaitResult};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{graphNextCursor,ms365NotConnectedGuidance}from"./chunk-3HH5IYNO.js";import{LIST_FLAGS}from"./chunk-IOGMOXYF.js";import{isRecord}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";function graphData(body,label){const data=isRecord(body)?body["data"]:void 0;if(!isRecord(data)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}function graphValue(body,label){const value=graphData(body,label)["value"];if(!Array.isArray(value)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data.value \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
3
+ import{LIST_FLAGS}from"./chunk-MI6HVYR2.js";import{graphNextCursor,ms365NotConnectedGuidance}from"./chunk-QBGEYQ2I.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";function graphData(body,label){const data=isRecord(body)?body["data"]:void 0;if(!isRecord(data)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}function graphValue(body,label){const value=graphData(body,label)["value"];if(!Array.isArray(value)){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B data.value \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
4
4
  return value}function readGraphCursor(body,label,kind){const next=graphData(body,label)["@odata.nextLink"];if(next===void 0||next===null)return{hasMore:false,cursor:null};const parsed=typeof next==="string"?graphNextCursor(next):null;if(parsed===null||kind!=="either"&&parsed.kind!==kind){return{hasMore:"@odata.nextLink \u304B\u3089\u7D9A\u304D\u306E\u5024\u3092\u53D6\u308A\u51FA\u305B\u307E\u305B\u3093",cursor:void 0}}return{hasMore:true,cursor:parsed.value}}function graphPaging(options){const{label,
5
5
  kind}=options;return{cursorParam:kind==="either"?"skiptoken":kind,...options.cursorParamFor!==void 0?{cursorParamFor:options.cursorParamFor}:{},items:body=>graphValue(body,label),readCursor:body=>readGraphCursor(body,label,kind),nextCursor(body){const{hasMore,cursor}=readGraphCursor(body,label,kind);if(hasMore===false)return null;if(hasMore!==true||typeof cursor!=="string"||cursor===""){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B\u7D9A\u304D\uFF08@odata.nextLink\uFF09\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u7D9A\u304D\u306E\u5024\u3092\u8AAD\u3081\u307E\u305B\u3093\u3002\u5168\u4EF6\u3092\u53D6\u5F97\u3067\u304D\u306A\u3044\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\u3002`)}
6
6
  return cursor},withItems(body,merged){const data=graphData(body,label);graphValue(body,label);const seen=new Set;const unique=merged.filter(row=>{const id=isRecord(row)?row["id"]:void 0;if(typeof id!=="string")return true;if(seen.has(id))return false;seen.add(id);return true});return{...body,data:{...data,value:unique,[DUPLICATES_KEY]:merged.length-unique.length}}}}}var DUPLICATES_KEY="@twp.duplicatesRemoved";function graphPagingNotes(body,label){const removed=graphData(body,label)[DUPLICATES_KEY];
@@ -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-AC6G5UPA.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-QYWYZG73.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-BS2ACFJA.js";import{repeatedValues}from"./chunk-F7K37QG6.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"]!==
3
+ import{salesAdminForbidden}from"./chunk-FACNRXN7.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-B6WIFZF2.js";import{booleanText,boundedText}from"./chunk-OTIR4GES.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,
4
+ SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-FEJDU42E.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INT_MAX=2147483647;var MEMBER_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function recordOf(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!==
5
5
  "string")throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B data.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}function serverMessage(body){const message=isRecord(body)?body["message"]:void 0;return typeof message==="string"&&message!==""?[message]:[]}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function integerValue(flag,raw,min,max=INT_MAX){const trimmed=raw.
6
6
  trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;if(!Number.isSafeInteger(value)||value<min||value>max)throw new UsageError(`${flag} \u306F ${min} \u4EE5\u4E0A ${max} \u4EE5\u4E0B\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`);return value}var RULE_COLUMNS=["id","rule_name","prefix","digit_count","current_number","count_up_num","next_number","sort_order"];function nextNumber(rule,purchaseFormat){const current=rule["current_number"];const step=rule["\
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,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-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){
3
+ import{apiExit,currentRevisionOf,errorDetail,pickNumber,printDiff,readUtf8Strict,shellQuote,str,warnHiddenChars}from"./chunk-A4LFG7MW.js";import{EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_FAILURE,EXIT_OK,EXIT_USAGE}from"./chunk-VFPY2A23.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,8 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{renderDocument,renderOutput}from"./chunk-MXKAEPXA.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-AUAZP2G7.js";import{loadDomain}from"./chunk-ZVJXYKRY.js";import{evaluateQuery}from"./chunk-ATYA6DG5.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{Resolver,requireDefaultProject}from"./chunk-BS2ACFJA.js";import{ResolveError}from"./chunk-GMBJTG6A.js";import{parseOperationArgs}from"./chunk-F7K37QG6.js";import{ApiError,
4
- MultipartBody,TwpApiClient,appendQuery}from"./chunk-IF2K4PM5.js";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-67JAB5QG.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import{stringWidth}from"./chunk-WVS4W5FY.js";
5
- import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,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.
3
+ import{loadDomain}from"./chunk-PFY5QJKO.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-MXKAEPXA.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-AUAZP2G7.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{parseOperationArgs}from"./chunk-RX5HWI4L.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{Resolver,requireDefaultProject}from"./chunk-FEJDU42E.js";
4
+ import{ResolveError}from"./chunk-GMBJTG6A.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,EXIT_WAIT_TIMEOUT,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{AuthSession,NotLoggedInError,SessionExpiredError,
5
+ loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import{HELP_TOKEN}from"./chunk-6A2JSS76.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import{stringWidth}from"./chunk-WVS4W5FY.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]))}
@@ -19,9 +19,9 @@ ${GLOBAL_OPTIONS_HELP}
19
19
  `}function renderOperationHelp(op,path2){const sections=[`twp ${path2} ${op.name} \u2014 ${op.summary}`,"","\u4F7F\u3044\u65B9:",` ${op.usage}`];if(op.description!==void 0){sections.push("",...op.description.split("\n"))}if(op.destructive===true){sections.push("",`\u26A0 ${op.confirmation??"\u7834\u58CA\u7684\u306A\u64CD\u4F5C"}\u3067\u3059\u3002\u5B9F\u884C\u3059\u308B\u306B\u306F --yes \u304C\u5FC5\u8981\u3067\u3059\u3002`)}const flags=withCommonFlags(op.flags);if(flags.length>0){sections.push(
20
20
  "","\u30AA\u30D7\u30B7\u30E7\u30F3:",alignedList(flags.map(flag=>[flag.takesValue?`${flag.name} ${flag.placeholder??"<\u5024>"}`:flag.name,flag.summary])))}sections.push("",GLOBAL_OPTIONS_HELP,"");return sections.join("\n")}function renderUnknownOperation(resource,path2,attempted){const names=[...resource.operations.map(op=>op.name),...subresourcesOf(resource).map(sub=>`${sub.name} <\u64CD\u4F5C>`)].join(" / ");return attempted===void 0?`twp ${path2} \u306B\u306F\u64CD\u4F5C\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\uFF08${names}\
21
21
  \uFF09\u3002\u8A73\u3057\u304F\u306F twp ${path2} ${HELP_TOKEN}`:`twp ${path2} \u306B\u300C${attempted}\u300D\u3068\u3044\u3046\u64CD\u4F5C\u306F\u3042\u308A\u307E\u305B\u3093\uFF08${names}\uFF09\u3002\u8A73\u3057\u304F\u306F twp ${path2} ${HELP_TOKEN}`}var writeOut=text=>void process.stdout.write(text);var writeErr=text=>void process.stderr.write(text);function line(text){return text===""?"":text.endsWith("\n")?text:`${text}
22
- `}function outputValue(operation,format,body){return format==="json"?operation.raw(body):operation.summarize(body)}function requiresYes(operation,yes){return operation.destructive===true&&!yes}function exitCodeForStatus(status){if(status===401)return EXIT_AUTH;if(status===429)return EXIT_API_SERVER;if(status>=400&&status<500)return EXIT_API_CLIENT;return EXIT_API_SERVER}function exitCodeFor(err){if(err instanceof UsageError)return EXIT_USAGE;if(err instanceof NotLoggedInError||err instanceof SessionExpiredError)
23
- return EXIT_AUTH;if(err instanceof ApiError)return exitCodeForStatus(err.status);if(err instanceof ApiRejectedError)return EXIT_API_CLIENT;if(err instanceof ApiResponseError||err instanceof NetworkError)return EXIT_API_SERVER;if(err instanceof ResolveError){return err.status===null?EXIT_API_SERVER:exitCodeForStatus(err.status)}return EXIT_FAILURE}function safeText(text){return redactSecrets(stripTerminalControls(text))}function reportError(err,format,code,write=writeErr){const message=safeText(err instanceof
24
- Error?err.message:String(err));const rawHint=err instanceof UsageError?err.hint:void 0;const hint=rawHint!==void 0?safeText(rawHint):void 0;if(format==="json"){const body={code,message};if(err instanceof ApiError)body["status"]=err.status;if(err instanceof ResolveError&&err.status!==null)body["status"]=err.status;if(hint!==void 0)body["hint"]=hint;write(`${JSON.stringify({error:body},null,2)}
22
+ `}function outputValue(operation,format,body){return format==="json"?operation.raw(body):operation.summarize(body)}function requiresYes(operation,yes){return operation.destructive===true&&!yes}function exitCodeForStatus(status){if(status===401)return EXIT_AUTH;if(status===429)return EXIT_API_SERVER;if(status>=400&&status<500)return EXIT_API_CLIENT;return EXIT_API_SERVER}function exitCodeFor(err){if(err instanceof UsageError)return EXIT_USAGE;if(err instanceof WaitTimeoutError)return EXIT_WAIT_TIMEOUT;
23
+ if(err instanceof NotLoggedInError||err instanceof SessionExpiredError)return EXIT_AUTH;if(err instanceof ApiError)return exitCodeForStatus(err.status);if(err instanceof ApiRejectedError)return EXIT_API_CLIENT;if(err instanceof ApiResponseError||err instanceof NetworkError)return EXIT_API_SERVER;if(err instanceof ResolveError){return err.status===null?EXIT_API_SERVER:exitCodeForStatus(err.status)}return EXIT_FAILURE}function safeText(text){return redactSecrets(stripTerminalControls(text))}function reportError(err,format,code,write=writeErr){
24
+ const message=safeText(err instanceof Error?err.message:String(err));const rawHint=err instanceof UsageError?err.hint:void 0;const hint=rawHint!==void 0?safeText(rawHint):void 0;if(format==="json"){const body={code,message};if(err instanceof ApiError)body["status"]=err.status;if(err instanceof ResolveError&&err.status!==null)body["status"]=err.status;if(hint!==void 0)body["hint"]=hint;write(`${JSON.stringify({error:body},null,2)}
25
25
  `);return}write(`${message}
26
26
  `);if(hint!==void 0)write(`${hint}
27
27
  `)}function dryRunValue(apiUrl,plan,sensitiveBody){const value={method:plan.method,url:`${apiUrl}${appendQuery(plan.path,plan.query)}`};if(plan.body!==void 0)value["body"]=plan.body instanceof MultipartBody?plan.body.toJSON():plan.body;if(plan.body instanceof JsonBodyWithView)value["body"]=plan.body.dryRunView();if(sensitiveBody!==void 0&&isRecord(value["body"])){const hidden=`\uFF08${sensitiveBody}\u305F\u3081\u8868\u793A\u3057\u306A\u3044\u30FB--no-redact \u3067\u8868\u793A\uFF09`;value["body"]=
@@ -32,13 +32,14 @@ let res;try{res=await fetchImpl(url,{method:"PUT",headers:{"Content-Range":`byte
32
32
  message}`,{cause:err})}if(!res.ok){throw new NetworkError(`\u30B9\u30C8\u30EC\u30FC\u30B8\u304B\u3089\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F\uFF08HTTP ${res.status}\uFF09`)}return{bytes:new Uint8Array(await res.arrayBuffer()),contentType:res.headers.get("content-type")}}function resolveDownloadTarget(spec,commandPath,operationName,input){const raw=input.flags.get(spec.outFlag);if(raw===void 0||raw.trim()===""){throw new UsageError(`${spec.outFlag}\
33
33
  \u306F\u5FC5\u9808\u3067\u3059\uFF08twp ${commandPath} ${operationName}\uFF09`,`\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002`)}return{out:path.resolve(raw.trim()),force:input.flags.has(spec.forceFlag)}}function assertWritableTarget(target,forceFlag){if(!target.force&&fs.existsSync(target.out)){throw new UsageError(`\u66F8\u304D\u51FA\u3057\u5148\u304C\u65E2\u306B\u3042\u308A\u307E\u3059: ${target.
34
34
  out}`,`\u4E0A\u66F8\u304D\u3059\u308B\u306A\u3089 ${forceFlag} \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08\u65E2\u5B9A\u3067\u306F\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\uFF09\u3002`)}const dir=path.dirname(target.out);if(!fs.existsSync(dir)){throw new UsageError(`\u66F8\u304D\u51FA\u3057\u5148\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u3042\u308A\u307E\u305B\u3093: ${dir}`,"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u3063\u3066\u304B\u3089\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u81EA\u52D5\u3067\u306F\u4F5C\u6210\u3057\u307E\u305B\u3093\uFF09\u3002")}}
35
- async function download(args){let received;if(args.signed!==void 0){const url=args.signed.signedUrl(await send(args.client,args.apiUrl,args.plan),args.plan);received=await getSigned(args.signed.fetchImpl,url)}else{try{received=await args.client.requestBinary(args.plan.method,appendQuery(args.plan.path,args.plan.query))}catch(err){if(err instanceof ApiError||err instanceof NotLoggedInError||err instanceof SessionExpiredError)throw err;throw new NetworkError(`${args.apiUrl} \u3078\u306E\u901A\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${err.
36
- message}`,{cause:err})}}try{fs.writeFileSync(args.target.out,received.bytes,{flag:args.target.force?"w":"wx"})}catch(err){const code=err.code;if(code==="EEXIST"){throw new UsageError(`\u66F8\u304D\u51FA\u3057\u5148\u304C\u65E2\u306B\u3042\u308A\u307E\u3059: ${args.target.out}`,"\u4E0A\u66F8\u304D\u3059\u308B\u306A\u3089 --force \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002")}throw new Error(`\u66F8\u304D\u51FA\u3057\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08${args.target.out}\uFF09: ${err.
37
- message}`,{cause:err})}const captured={};for(const name of args.captureHeaders??[]){const value=received.headers?.get(name);if(typeof value==="string")captured[name]=value}return{path:args.target.out,size:received.bytes.byteLength,contentType:received.contentType,...Object.keys(captured).length>0?{headers:captured}:{}}}function resumeHint(vocabulary,cursor){return vocabulary.resume!==void 0?vocabulary.resume(cursor):`${vocabulary.resumeFlag} ${shellQuote(cursor)}`}var CURATED_PAGING_VOCABULARY={
38
- mode:"--all",resumeFlag:"--cursor",capAdvice:"--limit \u3092\u5927\u304D\u304F\u3057\u3066\u5F80\u5FA9\u3092\u6E1B\u3089\u3059\u304B\u3001--max-pages / --max-items \u3092\u4E0A\u3052\u3066\u304F\u3060\u3055\u3044\u3002"};function capExceeded(vocabulary,reason,pages,count,cursor){return new UsageError(`${vocabulary.mode} \u304C\u4E0A\u9650\u306B\u9054\u3057\u305F\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\uFF08${reason}\uFF0F${pages} \u30DA\u30FC\u30B8\u30FB${count} \u4EF6\u3092\u53D6\u5F97\u6E08\u307F\uFF09\u3002\u3053\u308C\u306F\u5168\u4EF6\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002`,
39
- `${vocabulary.capAdvice}\u7D9A\u304D\u3060\u3051\u3092\u53D6\u308B\u306A\u3089 ${resumeHint(vocabulary,cursor)} \u304B\u3089\u518D\u958B\u3067\u304D\u307E\u3059`)}async function fetchAllPages(args){const{paging,maxPages,maxItems}=args;const vocabulary=args.vocabulary??CURATED_PAGING_VOCABULARY;const merged=[];const cursorParam=paging.cursorParamFor?.(args.plan)??paging.cursorParam;const first=args.plan.query?.[cursorParam];let sent=typeof first==="string"?first:"";let scanTruncated=false;for(let page=1;;page+=
40
- 1){const plan=page===1?args.plan:{...args.plan,query:{...args.plan.query,[cursorParam]:sent}};let body;try{body=page===1&&"firstPage"in args?args.firstPage:await send(args.client,args.apiUrl,plan)}catch(err){if(page>1){(args.warn??writeErr)(`${vocabulary.mode} \u306F ${page} \u30DA\u30FC\u30B8\u76EE\u3067\u5931\u6557\u3057\u307E\u3057\u305F\uFF08${page-1} \u30DA\u30FC\u30B8\u30FB${merged.length} \u4EF6\u3092\u53D6\u5F97\u6E08\u307F\uFF09\u3002\u3053\u308C\u306F\u5168\u4EF6\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u7D9A\u304D\u306F ${resumeHint(
41
- vocabulary,stripTerminalControls(sent))} \u304B\u3089\u518D\u958B\u3067\u304D\u307E\u3059\u3002
35
+ function writeTarget(target,bytes){try{fs.writeFileSync(target.out,bytes,{flag:target.force?"w":"wx"})}catch(err){const code=err.code;if(code==="EEXIST"){throw new UsageError(`\u66F8\u304D\u51FA\u3057\u5148\u304C\u65E2\u306B\u3042\u308A\u307E\u3059: ${target.out}`,"\u4E0A\u66F8\u304D\u3059\u308B\u306A\u3089 --force \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002")}throw new Error(`\u66F8\u304D\u51FA\u3057\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08${target.out}\uFF09: ${err.message}`,
36
+ {cause:err})}}function checkOutTarget(input,outFlag,forceFlag){const raw=input.flags.get(outFlag);if(raw===void 0)return void 0;if(raw.trim()==="")throw new UsageError(`${outFlag} \u306B\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`);const target={out:path.resolve(raw.trim()),force:input.flags.has(forceFlag)};assertWritableTarget(target,forceFlag);return target}async function download(args){let received;if(args.signed!==
37
+ void 0){const url=args.signed.signedUrl(await send(args.client,args.apiUrl,args.plan),args.plan);received=await getSigned(args.signed.fetchImpl,url)}else{try{received=await args.client.requestBinary(args.plan.method,appendQuery(args.plan.path,args.plan.query))}catch(err){if(err instanceof ApiError||err instanceof NotLoggedInError||err instanceof SessionExpiredError)throw err;throw new NetworkError(`${args.apiUrl} \u3078\u306E\u901A\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${err.message}`,
38
+ {cause:err})}}if(args.transform!==void 0)received={...received,bytes:args.transform(received.bytes)};writeTarget(args.target,received.bytes);const captured={};for(const name of args.captureHeaders??[]){const value=received.headers?.get(name);if(typeof value==="string")captured[name]=value}return{path:args.target.out,size:received.bytes.byteLength,contentType:received.contentType,...Object.keys(captured).length>0?{headers:captured}:{}}}function resumeHint(vocabulary,cursor){return vocabulary.resume!==
39
+ void 0?vocabulary.resume(cursor):`${vocabulary.resumeFlag} ${shellQuote(cursor)}`}var CURATED_PAGING_VOCABULARY={mode:"--all",resumeFlag:"--cursor",capAdvice:"--limit \u3092\u5927\u304D\u304F\u3057\u3066\u5F80\u5FA9\u3092\u6E1B\u3089\u3059\u304B\u3001--max-pages / --max-items \u3092\u4E0A\u3052\u3066\u304F\u3060\u3055\u3044\u3002"};function capExceeded(vocabulary,reason,pages,count,cursor){return new UsageError(`${vocabulary.mode} \u304C\u4E0A\u9650\u306B\u9054\u3057\u305F\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\uFF08${reason}\
40
+ \uFF0F${pages} \u30DA\u30FC\u30B8\u30FB${count} \u4EF6\u3092\u53D6\u5F97\u6E08\u307F\uFF09\u3002\u3053\u308C\u306F\u5168\u4EF6\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002`,`${vocabulary.capAdvice}\u7D9A\u304D\u3060\u3051\u3092\u53D6\u308B\u306A\u3089 ${resumeHint(vocabulary,cursor)} \u304B\u3089\u518D\u958B\u3067\u304D\u307E\u3059`)}async function fetchAllPages(args){const{paging,maxPages,maxItems}=args;const vocabulary=args.vocabulary??CURATED_PAGING_VOCABULARY;const merged=[];const cursorParam=paging.
41
+ cursorParamFor?.(args.plan)??paging.cursorParam;const first=args.plan.query?.[cursorParam];let sent=typeof first==="string"?first:"";let scanTruncated=false;for(let page=1;;page+=1){const plan=page===1?args.plan:{...args.plan,query:{...args.plan.query,[cursorParam]:sent}};let body;try{body=page===1&&"firstPage"in args?args.firstPage:await send(args.client,args.apiUrl,plan)}catch(err){if(page>1){(args.warn??writeErr)(`${vocabulary.mode} \u306F ${page} \u30DA\u30FC\u30B8\u76EE\u3067\u5931\u6557\u3057\u307E\u3057\u305F\uFF08${page-
42
+ 1} \u30DA\u30FC\u30B8\u30FB${merged.length} \u4EF6\u3092\u53D6\u5F97\u6E08\u307F\uFF09\u3002\u3053\u308C\u306F\u5168\u4EF6\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u7D9A\u304D\u306F ${resumeHint(vocabulary,stripTerminalControls(sent))} \u304B\u3089\u518D\u958B\u3067\u304D\u307E\u3059\u3002
42
43
  `)}throw err}for(const item of paging.items(body))merged.push(item);if(typeof body==="object"&&body!==null&&body["scan_truncated"]===true)scanTruncated=true;const next=paging.nextCursor(body);if(next===null){const combined=paging.withItems(body,merged);const flagged=scanTruncated&&typeof combined==="object"&&combined!==null&&!Array.isArray(combined)?{...combined,scan_truncated:true}:combined;return{body:flagged,pages:page,count:merged.length}}if(merged.length>=maxItems)throw capExceeded(vocabulary,
43
44
  `\u6700\u5927\u4EF6\u6570 ${maxItems} \u4EF6`,page,merged.length,next);if(page>=maxPages)throw capExceeded(vocabulary,`\u6700\u5927\u30DA\u30FC\u30B8\u6570 ${maxPages}`,page,merged.length,next);if(next===sent){throw new ApiResponseError(`\u540C\u3058\u30AB\u30FC\u30BD\u30EB\uFF08${next}\uFF09\u304C\u7E70\u308A\u8FD4\u3057\u8FD4\u3055\u308C\u305F\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\u3002${merged.length} \u4EF6\u3092\u53D6\u5F97\u3057\u305F\u6642\u70B9\u3067\u3001\u3053\u308C\u306F\u5168\u4EF6\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002`)}
44
45
  sent=next}}function resolvePaging(operation,path2,input){const all=input.flags.has("--all");const maxPages=positiveInteger(input.flags,"--max-pages")??DEFAULT_MAX_PAGES;const maxItems=positiveInteger(input.flags,"--max-items")??DEFAULT_MAX_ITEMS;positiveInteger(input.flags,"--limit");if(all&&operation.paging===void 0){throw new UsageError(`twp ${path2} ${operation.name} \u306F --all \u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093`)}for(const name of["--max-pages","--max-items"]){if(!all&&
@@ -55,16 +56,16 @@ d \u3068\u540C\u6642\u306B\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093\uFF08\u914D
55
56
  operation.download!==void 0||plan.method==="GET")){throw new Error(`twp ${path2} ${operation.name}: preview \u306F\u66F8\u304D\u8FBC\u307F\u306E\u64CD\u4F5C\u306B\u3060\u3051\u5BA3\u8A00\u3067\u304D\u307E\u3059\uFF08\u914D\u7DDA\u306E\u8AA4\u308A\uFF09`)}if(operation.invalidates!==void 0&&(operation.fetchCached!==void 0||plan.method==="GET")){throw new Error(`twp ${path2} ${operation.name}: invalidates \u306F\u66F8\u304D\u8FBC\u307F\u306E\u64CD\u4F5C\u306B\u3060\u3051\u5BA3\u8A00\u3067\u304D\u307E\u3059\uFF08\u914D\u7DDA\u306E\u8AA4\u308A\uFF09`)}
56
57
  if(operation.fetchCached!==void 0&&(operation.download!==void 0||operation.paging!==void 0||operation.destructive===true||plan.method!=="GET")){throw new Error(`twp ${path2} ${operation.name}: fetchCached \u306F\u9001\u4FE1\u3057\u306A\u3044\u8AAD\u307F\u53D6\u308A\u5C02\u7528\u306E\u64CD\u4F5C\u306B\u3060\u3051\u5BA3\u8A00\u3067\u304D\u307E\u3059\uFF08\u914D\u7DDA\u306E\u8AA4\u308A\uFF09`)}for(const note of operation.plannedNotes?.(prepared)??[])errOut(`${safeText(note)}
57
58
  `);if(noRedact)errOut(`${NO_REDACT_NOTICE}
58
- `);const executeCtx={send:next=>send(client,apiUrl,next),putSigned:(url,bytes,contentType)=>putSigned(fetchImpl,url,bytes,contentType),putRange:(url,bytes,start,total)=>putRange(fetchImpl,url,bytes,start,total),warn:text=>errOut(`${safeText(text)}
59
+ `);const executeCtx={send:next=>send(client,apiUrl,next),putSigned:(url,bytes,contentType)=>putSigned(fetchImpl,url,bytes,contentType),putRange:(url,bytes,start,total)=>putRange(fetchImpl,url,bytes,start,total),downloadSigned:async(url,target)=>{const received=await getSigned(fetchImpl,url);writeTarget(target,received.bytes);return{path:target.out,size:received.bytes.byteLength,contentType:received.contentType}},warn:text=>errOut(`${safeText(text)}
59
60
  `)};if(operation.preview!==void 0){const checked=await operation.preview(prepared,executeCtx);for(const note of checked.notes)errOut(`${safeText(note)}
60
61
  `);for(const warning of checked.warnings)errOut(`${safeText(`\u8B66\u544A: ${warning}`)}
61
62
  `);if(!globals.dryRun&&checked.warnings.length>0&&!globals.yes){throw new UsageError(`twp ${path2} ${operation.name}: \u6574\u5408\u306E\u8B66\u544A\u304C ${checked.warnings.length} \u4EF6\u3042\u308B\u305F\u3081\u9001\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5185\u5BB9\u3092\u78BA\u304B\u3081\u305F\u3046\u3048\u3067\u9001\u308B\u306A\u3089 --yes \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`)}}if(globals.dryRun){out(line(renderOutput(dryRunValue(apiUrl,plan,noRedact?void 0:operation.
62
63
  sensitiveBody),format,noRedact)));return EXIT_OK}let body;let paged;try{if(operation.execute!==void 0){body=await operation.execute(prepared,executeCtx)}else if(operation.fetchCached!==void 0){body=await operation.fetchCached(prepared,ctx)}else if(operation.download!==void 0&&downloadTarget!==void 0){assertWritableTarget(downloadTarget,operation.download.forceFlag);const signedUrl=operation.download.signedUrl;body=await download({client,apiUrl,plan,target:downloadTarget,...signedUrl===void 0?{}:
63
- {signed:{fetchImpl,signedUrl}},...operation.download.captureHeaders===void 0?{}:{captureHeaders:operation.download.captureHeaders}})}else if(paging.all&&operation.paging!==void 0){paged=await fetchAllPages({client,apiUrl,plan,paging:operation.paging,maxPages:paging.maxPages,maxItems:paging.maxItems,warn:errOut});body=paged.body}else{body=await send(client,apiUrl,plan)}}finally{try{operation.invalidates?.(prepared,ctx)}catch{}}if(operation.narrow!==void 0)body=operation.narrow(body,prepared);if(paged!==
64
- void 0&&operation.paging!==void 0){paged={...paged,count:operation.paging.items(body).length}}const visible=noRedact?body:redactSecretValues(body);const document=globals.query===void 0&&format==="text"&&operation.document!==void 0?operation.document(visible):void 0;const value=document!==void 0?void 0:globals.query!==void 0?await evaluateQuery(globals.query,operation.raw(visible)):outputValue(operation,format,visible);out(line(document!==void 0?renderDocument(document,noRedact):renderOutput(value,
65
- format,noRedact)));if(paged!==void 0){errOut(`--all: ${paged.pages} \u30DA\u30FC\u30B8\u3092\u8FBF\u3063\u3066 ${paged.count} \u4EF6\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F\u3002
64
+ {signed:{fetchImpl,signedUrl}},...operation.download.captureHeaders===void 0?{}:{captureHeaders:operation.download.captureHeaders},...operation.download.transform===void 0?{}:{transform:operation.download.transform}})}else if(paging.all&&operation.paging!==void 0){paged=await fetchAllPages({client,apiUrl,plan,paging:operation.paging,maxPages:paging.maxPages,maxItems:paging.maxItems,warn:errOut});body=paged.body}else{body=await send(client,apiUrl,plan)}}finally{try{operation.invalidates?.(prepared,
65
+ ctx)}catch{}}if(operation.narrow!==void 0)body=operation.narrow(body,prepared);if(paged!==void 0&&operation.paging!==void 0){paged={...paged,count:operation.paging.items(body).length}}const visible=noRedact?body:redactSecretValues(body);const document=globals.query===void 0&&format==="text"&&operation.document!==void 0?operation.document(visible):void 0;const value=document!==void 0?void 0:globals.query!==void 0?await evaluateQuery(globals.query,operation.raw(visible)):outputValue(operation,format,
66
+ visible);out(line(document!==void 0?renderDocument(document,noRedact):renderOutput(value,format,noRedact)));if(paged!==void 0){errOut(`--all: ${paged.pages} \u30DA\u30FC\u30B8\u3092\u8FBF\u3063\u3066 ${paged.count} \u4EF6\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F\u3002
66
67
  `)}const pagingNotes=operation.paging===void 0?[]:nextPageNotes(body,prepared,{command:`twp ${path2} ${operation.name}`,flags:operation.flags,profile:globals.profile,readCursor:operation.paging.readCursor});for(const note of[...pagingNotes,...operation.notes?.(visible,prepared)??[]]){errOut(`${safeText(note)}
67
68
  `)}return EXIT_OK}catch(caught){const err=withRejectedGuidance(withForbiddenGuidance(caught,forbidden),rejected);const code=exitCodeFor(err);reportError(err,format,code,errOut);return code}}function withForbiddenGuidance(err,forbidden){if(forbidden===void 0||!(err instanceof ApiError)||err.status!==403)return err;const guidance=typeof forbidden==="function"?forbidden(err.body):forbidden;if(guidance===void 0)return err;const server=err.body?.error_description??err.body?.message;const wrapped=new ApiError(
68
69
  err.status,err.body,"","");wrapped.message=server!==void 0&&server!==""?`${guidance}\uFF08\u30B5\u30FC\u30D0\u306E\u5FDC\u7B54: ${server}\uFF09`:guidance;return wrapped}function withRejectedGuidance(err,guidance){if(guidance===void 0||!(err instanceof ApiError)||err.status!==422)return err;const description=err.body?.error_description;const fallback=err.body?.message;const server=(typeof description==="string"&&description!==""?description:void 0)??(typeof fallback==="string"?fallback:"");const extra=guidance(
69
70
  server);if(extra===void 0)return err;const wrapped=new ApiError(err.status,err.body,"","");wrapped.message=server!==""?`${server}
70
- ${extra}`:extra;return wrapped}export{NO_REDACT_FLAG,NO_REDACT_NOTICE,outputValue,requiresYes,exitCodeFor,reportError,CURATED_PAGING_VOCABULARY,fetchAllPages,resolvePaging,buildPrepareContext,runDomain};
71
+ ${extra}`:extra;return wrapped}export{NO_REDACT_FLAG,NO_REDACT_NOTICE,outputValue,requiresYes,exitCodeFor,reportError,checkOutTarget,CURATED_PAGING_VOCABULARY,fetchAllPages,resolvePaging,buildPrepareContext,runDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{isModeId,isPermissionModeId}from"./chunk-NAUH75MM.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-67JAB5QG.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";var BUILTIN_COMMANDS=["login","logout","whoami","update","task-loop"];var TASK_LOOP_ACTIONS=["run","status","stop","schedule","setup","charter","skill"];var VALUE_FLAGS=new Set(["-p","--print","--profile","--tenant","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--project","--engine","--interval","--max-cycles","--ai","--workspace","--ai-config-file","--now","--counts","--gate","--file","--out","--revision","--dir","--output","--query"]);var BOOLEAN_FLAGS=new Set(
3
+ import{isModeId,isPermissionModeId}from"./chunk-NAUH75MM.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-6A2JSS76.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";var BUILTIN_COMMANDS=["login","logout","whoami","update","task-loop"];var TASK_LOOP_ACTIONS=["run","status","stop","schedule","setup","charter","skill"];var VALUE_FLAGS=new Set(["-p","--print","--profile","--tenant","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--project","--engine","--interval","--max-cycles","--ai","--workspace","--ai-config-file","--now","--counts","--gate","--file","--out","--revision","--dir","--output","--query"]);var BOOLEAN_FLAGS=new Set(
4
4
  ["-h","--help","-v","--version","--no-tui","--doctor","--password","--token","--no-browser","--safe","--daemon","--force-runner","--force","--drain","--yes","-y","--no-ai-config-file","--verbose","--all","--dry-run","--debug","--refresh"]);function dispatch(argv,limit=2){const tokens=[];const indexes=[];let truncated=false;for(let i=0;i<argv.length;i++){const arg=argv[i];if(arg===void 0)continue;if(arg.startsWith("-")&&arg!=="-"){const{name,value:inline}=splitFlagToken(arg);if(BOOLEAN_FLAGS.has(
5
5
  name)){if(inline!==void 0){truncated=true;break}continue}if(VALUE_FLAGS.has(name)){if(inline!==void 0)continue;const next=argv[i+1];if(next!==void 0&&(!next.startsWith("-")||next==="-"))i++;continue}truncated=true;break}if(arg===""||arg==="-")continue;if(tokens.length>=limit)break;tokens.push(arg);indexes.push(i)}return{tokens,indexes,truncated}}function isBuiltin(token){return token!==void 0&&BUILTIN_COMMANDS.includes(token)}function isTaskLoopAction(token){return token!==void 0&&TASK_LOOP_ACTIONS.
6
6
  includes(token)}function resolveRoute(result){const{tokens,indexes}=result;const[first,second]=tokens;const firstIndex=indexes[0];if(first===void 0||firstIndex===void 0)return{kind:"none",consumed:[]};const consumed=[firstIndex];const secondIndex=indexes[1];if(isBuiltin(first)){if(first==="task-loop"&&isTaskLoopAction(second)){if(secondIndex!==void 0)consumed.push(secondIndex);return{kind:"builtin",command:first,action:second,consumed}}return{kind:"builtin",command:first,...first==="task-loop"?{