@tocca-systems/twp-cli 0.50.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 (101) hide show
  1. package/CHANGELOG.public.md +18 -0
  2. package/README.md +155 -5
  3. package/dist/agent-LHNDQMT5.js +100 -0
  4. package/dist/{agent-loop-EBIXJ4EH.js → agent-loop-QP6UHX4R.js} +1 -1
  5. package/dist/{ai-dispatch-2FL2AFL7.js → ai-dispatch-VDNMECKK.js} +1 -1
  6. package/dist/analysis-RFO4E4ZS.js +4 -0
  7. package/dist/{announcement-R76XDLW7.js → announcement-HQ7CQYFI.js} +2 -2
  8. package/dist/{api-command-VFFV7BD4.js → api-command-ZZFN3T2G.js} +4 -4
  9. package/dist/{app-PNDIA4NV.js → app-WX4B5MQ3.js} +5 -5
  10. package/dist/{attendance-correct-SN2KYGOE.js → attendance-correct-CRRR4EKL.js} +3 -3
  11. package/dist/{attendance-lists-6S62D2UV.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-5XSCJGPJ.js → backlog-NU5HHXN2.js} +2 -2
  15. package/dist/{budget-PIGBJ5N7.js → budget-AM7JJ5YP.js} +2 -2
  16. package/dist/{chunk-FANDYQCM.js → chunk-22OIKHMN.js} +1 -1
  17. package/dist/{chunk-IRHKFHJZ.js → chunk-2NP3BLPI.js} +2 -2
  18. package/dist/chunk-3744RCNM.js +58 -0
  19. package/dist/{chunk-6QOT7CHX.js → chunk-5WTFZJT7.js} +1 -1
  20. package/dist/chunk-6A2JSS76.js +4 -0
  21. package/dist/{chunk-V2BB5EWS.js → chunk-6JB4MSDX.js} +1 -1
  22. package/dist/{chunk-DQCHLRSB.js → chunk-74WGU5BM.js} +2 -2
  23. package/dist/{chunk-LKS7GANP.js → chunk-7GJFKKOJ.js} +3 -2
  24. package/dist/{chunk-342WUEV4.js → chunk-AKLQMTMW.js} +61 -27
  25. package/dist/{chunk-CF3ZZKCZ.js → chunk-B6WIFZF2.js} +1 -1
  26. package/dist/chunk-DBCF4H3V.js +141 -0
  27. package/dist/{chunk-CUPPIHSJ.js → chunk-F53TSCRD.js} +1 -1
  28. package/dist/{chunk-ELEOYXLD.js → chunk-FACNRXN7.js} +2 -2
  29. package/dist/chunk-FEJDU42E.js +138 -0
  30. package/dist/{chunk-IF2K4PM5.js → chunk-JA5A6UJ2.js} +6 -4
  31. package/dist/{chunk-ZY6LEKWR.js → chunk-LXGYOKDY.js} +3 -3
  32. package/dist/{chunk-NK53AFVE.js → chunk-MKQDUQQ2.js} +1 -1
  33. package/dist/{chunk-BVXUORXE.js → chunk-NGY4K5VW.js} +1 -1
  34. package/dist/{chunk-YM7TKMNO.js → chunk-NWI2TBO6.js} +1 -1
  35. package/dist/chunk-PFY5QJKO.js +10 -0
  36. package/dist/{chunk-LNZTJI64.js → chunk-RQEX2WC5.js} +1 -1
  37. package/dist/{chunk-7UB4I3JF.js → chunk-RX5HWI4L.js} +1 -1
  38. package/dist/{chunk-NN6LAZRA.js → chunk-S36LGDG2.js} +2 -2
  39. package/dist/{chunk-ONAMXPTE.js → chunk-SDNASQZL.js} +1 -1
  40. package/dist/{chunk-4S7SNE2M.js → chunk-VOMCTG6N.js} +1 -1
  41. package/dist/{chunk-5JL26BPU.js → chunk-XWJVDNYE.js} +1 -1
  42. package/dist/{chunk-SECVO7RQ.js → chunk-XZU53BUV.js} +2 -2
  43. package/dist/{chunk-S3A24B2C.js → chunk-Z4UT367H.js} +16 -15
  44. package/dist/{chunk-FMJUPLDG.js → chunk-ZVEMJWRR.js} +1 -1
  45. package/dist/cli.js +123 -10
  46. package/dist/{commands-CA22R7VD.js → commands-BXU44JWS.js} +5 -5
  47. package/dist/{commands-ZZGY6P3B.js → commands-TYUK7MV4.js} +2 -2
  48. package/dist/{company-CQYSBKTQ.js → company-BKULUHIU.js} +3 -4
  49. package/dist/{completion-3F2GJNGC.js → completion-RWWCIR6G.js} +1 -1
  50. package/dist/{configure-XH33RB27.js → configure-QU6JK65I.js} +1 -1
  51. package/dist/{contract-A2FGGVOR.js → contract-376FE7VC.js} +3 -3
  52. package/dist/{department-6BILJZG7.js → department-YKBPBPU6.js} +2 -2
  53. package/dist/deposit-CY5K3ZTM.js +4 -0
  54. package/dist/{estimate-5PSXHHNT.js → estimate-GPNG6YOJ.js} +4 -4
  55. package/dist/evaluation-VRLMQV32.js +61 -0
  56. package/dist/expense-3MT6WHTG.js +75 -0
  57. package/dist/{inquiry-NMOT4JSX.js → inquiry-YV433Q7V.js} +2 -2
  58. package/dist/{invoice-TXEJT6I6.js → invoice-OSAO4PIO.js} +3 -3
  59. package/dist/{job-title-NSYPQMEX.js → job-title-FITZHBR4.js} +1 -1
  60. package/dist/{knowledge-5DX6EMHZ.js → knowledge-YEEAKLQJ.js} +2 -2
  61. package/dist/{leave-DEGAZKVH.js → leave-MWYAL66X.js} +3 -2
  62. package/dist/{media-RJCTHFK6.js → media-VQ74YPWV.js} +110 -30
  63. package/dist/{notification-NG4J6N2D.js → notification-EAEKDN54.js} +2 -2
  64. package/dist/{onedrive-YPJCILR2.js → onedrive-UBSHXVYS.js} +1 -1
  65. package/dist/{oneshot-RA65DTXP.js → oneshot-62DOJWOH.js} +2 -2
  66. package/dist/{outlook-MNOVX6QS.js → outlook-ODZD27J5.js} +2 -2
  67. package/dist/{position-OZBQYKZS.js → position-ZKYGVAAK.js} +1 -1
  68. package/dist/project-5MHCPDVC.js +4 -0
  69. package/dist/{prospect-TQ2FFWEZ.js → prospect-ASQA5QVD.js} +3 -3
  70. package/dist/{purchase-WOUWIZHO.js → purchase-WLJJSMM6.js} +4 -4
  71. package/dist/receivable-FBPROHOV.js +4 -0
  72. package/dist/{registry-H4NP4HUQ.js → registry-HEGYZVX6.js} +1 -1
  73. package/dist/{report-EFE43ZVI.js → report-HK2NZXHC.js} +2 -2
  74. package/dist/run-HYQQIOVW.js +4 -0
  75. package/dist/sales-ai-review-IEISLBIH.js +4 -0
  76. package/dist/{sales-master-Q5BJ7RNG.js → sales-master-S3YTUE7J.js} +3 -3
  77. package/dist/sales-numbering-M4KUZAM7.js +4 -0
  78. package/dist/skill-45FBIGC5.js +4 -0
  79. package/dist/{supplier-payment-FWGQR3Z3.js → supplier-payment-MS6YMIT4.js} +3 -3
  80. package/dist/{support-TVTQJFRE.js → support-VSDMFUTY.js} +2 -2
  81. package/dist/{task-IDQKPRYS.js → task-BTYFJRSC.js} +4 -4
  82. package/dist/{teams-IO6UQNYP.js → teams-GPXJPXNC.js} +2 -2
  83. package/dist/update-NCAVUXSX.js +3 -0
  84. package/dist/{user-B6KW6HA2.js → user-VFJGLZDR.js} +23 -6
  85. package/dist/{worker-agent-PEFBLL56.js → worker-agent-YX2KPVQG.js} +2 -2
  86. package/dist/workflow-OPZYCSDL.js +4 -0
  87. package/package.json +1 -1
  88. package/dist/analysis-2SWIQ4AI.js +0 -4
  89. package/dist/chunk-3YCVR7X4.js +0 -5
  90. package/dist/chunk-GXZOFRZH.js +0 -9
  91. package/dist/chunk-IU5P6MY5.js +0 -47
  92. package/dist/chunk-Q2KIETMB.js +0 -132
  93. package/dist/chunk-ZGHEF45T.js +0 -4
  94. package/dist/deposit-OAGRJMZ4.js +0 -4
  95. package/dist/project-5YFBRM32.js +0 -4
  96. package/dist/receivable-RFZT6PY3.js +0 -4
  97. package/dist/run-TNFPATQF.js +0 -4
  98. package/dist/sales-ai-review-FSA4J2J2.js +0 -4
  99. package/dist/sales-numbering-ITDBMODV.js +0 -4
  100. package/dist/update-EYFT7STE.js +0 -3
  101. package/dist/workflow-SYWZKWWB.js +0 -4
@@ -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-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-MXKAEPXA.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-AUAZP2G7.js";import{loadDomain}from"./chunk-GXZOFRZH.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{Resolver,requireDefaultProject}from"./chunk-Q2KIETMB.js";import{ResolveError}from"./chunk-GMBJTG6A.js";import{parseOperationArgs}from"./chunk-7UB4I3JF.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-ZGHEF45T.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-MI6HVYR2.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{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]))}
@@ -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-ZGHEF45T.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"?{
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __twpCreateRequire } from 'node:module';
3
3
  const require = __twpCreateRequire(import.meta.url);
4
- import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chunk-FMJUPLDG.js";import"./chunk-NAUH75MM.js";import"./chunk-ZGHEF45T.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.50.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chunk-ZVEMJWRR.js";import"./chunk-NAUH75MM.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.51.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
5
5
 
6
6
  \u4F7F\u3044\u65B9:
7
7
  twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
@@ -81,6 +81,29 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
81
81
  twp --help \u3053\u306E\u30D8\u30EB\u30D7
82
82
 
83
83
  \u30C9\u30E1\u30A4\u30F3\u30B3\u30DE\u30F3\u30C9\uFF08TWP \u306E\u30C7\u30FC\u30BF\u3092\u64CD\u4F5C\u3059\u308B\uFF09:
84
+ twp agent session list \u30B3\u30F3\u30C6\u30CA\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--repository\uFF09
85
+ twp agent session get <\u30BB\u30C3\u30B7\u30E7\u30F3>
86
+ \u30BB\u30C3\u30B7\u30E7\u30F31\u4EF6\u306E\u72B6\u614B\u30FB\u4F5C\u696D\u30D6\u30E9\u30F3\u30C1\u30FBPR
87
+ twp agent session create
88
+ \u30EA\u30DD\u30B8\u30C8\u30EA\u3067\u4F5C\u696D\u3059\u308B\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u8D77\u52D5\u3059\u308B\uFF08--repository\u30FB--instructions-file\u30FB--yes\u30FB--wait\uFF09
89
+ twp agent session instruct <\u30BB\u30C3\u30B7\u30E7\u30F3>
90
+ \u8FFD\u52A0\u306E\u6307\u793A\u3092\u9001\u308B\uFF08--body-file\u30FB--yes\u30FB--wait \u3067\u7B54\u3048\u3092\u5F85\u3064\uFF09
91
+ twp agent session resume <\u30BB\u30C3\u30B7\u30E7\u30F3>
92
+ \u6B62\u307E\u3063\u305F\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u518D\u958B\u3059\u308B\uFF08--yes\uFF09
93
+ twp agent session cancel <\u30BB\u30C3\u30B7\u30E7\u30F3>
94
+ \u52D5\u3044\u3066\u3044\u308B\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u6B62\u3081\u308B
95
+ twp agent session delete <\u30BB\u30C3\u30B7\u30E7\u30F3>
96
+ \u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u30DE\u30B9\u30BF\u30FC\u306E\u307F\uFF09
97
+ twp agent session chat <\u30BB\u30C3\u30B7\u30E7\u30F3>
98
+ \u4F1A\u8A71\uFF08\u6307\u793A\u3068\u30A2\u30B7\u30B9\u30BF\u30F3\u30C8\u306E\u767A\u8A00\uFF09\u3092\u53E4\u3044\u9806\u306B\u8868\u793A\u3059\u308B
99
+ twp agent session logs <\u30BB\u30C3\u30B7\u30E7\u30F3>
100
+ runner \u306E\u5B9F\u884C\u30ED\u30B0\u3092\u4E00\u89A7\u3059\u308B
101
+ twp agent session diff <\u30BB\u30C3\u30B7\u30E7\u30F3>
102
+ \u4F5C\u696D\u30D6\u30E9\u30F3\u30C1\u306E\u5909\u66F4\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A\u3059\u308B
103
+ twp agent repository list
104
+ \u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u8D77\u52D5\u3067\u304D\u308B\u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u4E00\u89A7\u3059\u308B
105
+ twp agent repository branches <\u30EA\u30DD\u30B8\u30C8\u30EA>
106
+ \u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u30D6\u30E9\u30F3\u30C1\u3092\u4E00\u89A7\u3059\u308B
84
107
  twp agent-loop list \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30EB\u30FC\u30D7\u306E\u30AD\u30E5\u30FC\u3092\u4E00\u89A7\u3059\u308B\uFF08--status \u3067\u7D5E\u308A\u8FBC\u3080\uFF09
85
108
  twp agent-loop get <\u30A2\u30A4\u30C6\u30E0ID>
86
109
  \u30AD\u30E5\u30FC\u306E\u30A2\u30A4\u30C6\u30E01\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
@@ -182,6 +205,22 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
182
205
  \u65E7\u30BF\u30B0\u3092\u65B0\u30BF\u30B0\u3078\u4ED8\u3051\u66FF\u3048\u308B\uFF08--into\u30FB--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\uFF09
183
206
  twp media tag delete <\u30BF\u30B0>
184
207
  \u30BF\u30B0\u3092\u5168\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u5916\u3057\u3066\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\uFF09
208
+ twp media content get <\u30D5\u30A1\u30A4\u30EBID>
209
+ \u30C6\u30AD\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u306E\u672C\u6587\u3092\u8AAD\u3080
210
+ twp media content update <\u30D5\u30A1\u30A4\u30EBID>
211
+ \u672C\u6587\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--file <\u30D1\u30B9|-> \u5FC5\u9808\u30FB\u65B0\u3057\u3044\u7248\u304C\u7A4D\u307E\u308C\u308B\uFF09
212
+ twp media version list <\u30D5\u30A1\u30A4\u30EBID>
213
+ \u30D5\u30A1\u30A4\u30EB\u306E\u7248\u3092\u65B0\u3057\u3044\u9806\u306B\u4E00\u89A7\u3059\u308B
214
+ twp media version get <\u30D5\u30A1\u30A4\u30EBID>
215
+ \u7248\u306E\u8A73\u7D30\uFF08--rev \u5FC5\u9808\uFF09
216
+ twp media version compare <\u30D5\u30A1\u30A4\u30EBID>
217
+ 2\u3064\u306E\u7248\u306E\u5927\u304D\u3055\u30FB\u30CF\u30C3\u30B7\u30E5\u3092\u6BD4\u3079\u308B\uFF08--from / --to\uFF09
218
+ twp media version download <\u30D5\u30A1\u30A4\u30EBID>
219
+ \u6307\u5B9A\u3057\u305F\u7248\u3092\u66F8\u304D\u51FA\u3059\uFF08--rev / --out \u5FC5\u9808\uFF09
220
+ twp media version create <\u30D5\u30A1\u30A4\u30EBID>
221
+ \u30D5\u30A1\u30A4\u30EB\u3092\u5DEE\u3057\u66FF\u3048\u308B\uFF08--file \u5FC5\u9808\u30FB\u30D5\u30A1\u30A4\u30EBID\u306F\u5909\u308F\u3089\u306A\u3044\uFF09
222
+ twp media version restore <\u30D5\u30A1\u30A4\u30EBID>
223
+ \u904E\u53BB\u306E\u7248\u306E\u5185\u5BB9\u306B\u623B\u3059\uFF08--rev \u5FC5\u9808\u30FB--yes \u304C\u8981\u308B\uFF09
185
224
  twp media bulk-publish <\u30D5\u30A1\u30A4\u30EBID>...
186
225
  \u8907\u6570\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u516C\u958B\u3059\u308B
187
226
  twp media bulk-unpublish <\u30D5\u30A1\u30A4\u30EBID>...
@@ -209,6 +248,13 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
209
248
  \u30B4\u30DF\u7BB1\u3078\u79FB\u3059\uFF08--yes \u304C\u8981\u308B\u30FB\u4E2D\u8EAB\u3054\u3068\u306F --recursive\u30FB--permanent \u3067\u5B8C\u5168\u524A\u9664\uFF09
210
249
  twp media folder restore <ID>
211
250
  \u30B4\u30DF\u7BB1\u306E\u30D5\u30A9\u30EB\u30C0\u3092\u4E2D\u8EAB\u3054\u3068\u623B\u3059
251
+ twp media image create AI \u3067\u753B\u50CF\u3092\u751F\u6210\u3057\u3066\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\u3059\u308B\uFF08--from \u3067\u30EA\u30DF\u30C3\u30AF\u30B9\u30FB--out \u3067\u305D\u306E\u307E\u307E\u53D6\u5F97\u30FB--yes \u304C\u8981\u308B\uFF09
252
+ twp media document create
253
+ AI \u3067\u6587\u66F8\u3092\u751F\u6210\u3057\u3066\u30E9\u30A4\u30D6\u30E9\u30EA\u306B\u4FDD\u5B58\u3059\u308B\uFF08--format \u5FC5\u9808\u30FB--out \u3067\u305D\u306E\u307E\u307E\u53D6\u5F97\u30FB--yes \u304C\u8981\u308B\uFF09
254
+ twp media model list \u751F\u6210\u306B\u4F7F\u3048\u308B\u30E2\u30C7\u30EB\u3068\u76EE\u5B89\u306E\u6D88\u8CBB\u30AF\u30EC\u30B8\u30C3\u30C8\uFF08--for image|document\uFF09
255
+ twp media document-format list
256
+ \u6587\u66F8\u751F\u6210\u3067\u6307\u5B9A\u3067\u304D\u308B\u5F62\u5F0F
257
+ twp media prompt create \u9577\u3044\u6587\u7AE0\u3092\u751F\u6210\u7528\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u3078\u8981\u7D04\u3059\u308B\uFF08--for image|video|music\uFF09
212
258
  twp storage get \u30C6\u30CA\u30F3\u30C8\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u4F7F\u7528\u91CF\u30FB\u4E0A\u9650\u30FB\u6B8B\u91CF\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
213
259
  twp attendance status \u3044\u307E\u306E\u6253\u523B\u72B6\u614B\u3068\u3001\u6B21\u306B\u6253\u3066\u308B\u6253\u523B\u3092\u8868\u793A\u3059\u308B
214
260
  twp attendance list \u6253\u523B\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--month / --date\uFF09
@@ -223,6 +269,21 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
223
269
  \u6253\u523B\u8A18\u9332\u3092\u53D6\u308A\u6D88\u3059\uFF08--reason\u30FB--yes \u5FC5\u9808\uFF09
224
270
  twp attendance record move
225
271
  \u6253\u523B\u8A18\u9332\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4ED8\u3051\u66FF\u3048\u308B\uFF08--project\uFF09
272
+ twp attendance team \u30C1\u30FC\u30E0\u306E\u3044\u307E\u306E\u6253\u523B\u72B6\u614B\u3068\u4ECA\u65E5\u306E\u52E4\u6020\u9023\u7D61\uFF08--mode all|related|project\uFF09
273
+ twp attendance flex-settlement
274
+ \u30D5\u30EC\u30C3\u30AF\u30B9\u7CBE\u7B97\uFF08\u6E05\u7B97\u671F\u9593\u306E\u6240\u5B9A\u30FB\u5B9F\u52B4\u50CD\u30FB\u904E\u4E0D\u8DB3\u30FB--month\u30FB--user\uFF09
275
+ twp attendance report list
276
+ \u52E4\u6020\u9023\u7D61\uFF08\u9045\u523B\u30FB\u65E9\u9000\u30FB\u6B20\u52E4\u7B49\uFF09\u306E\u4E00\u89A7\uFF08--month \u304B --from/--to\u30FB--user\uFF09
277
+ twp attendance report get <ID>
278
+ \u52E4\u6020\u9023\u7D611\u4EF6\u306E\u8A73\u7D30
279
+ twp attendance report create
280
+ \u52E4\u6020\u9023\u7D61\u3092\u767B\u9332\u3059\u308B\uFF08--date \u304B --from/--to\u30FB--category\u30FB--reason\u3002\u7DE0\u3081\u6E08\u307F\u306E\u6708\u306F\u9001\u3089\u306A\u3044\uFF09
281
+ twp attendance report update <ID>
282
+ \u52E4\u6020\u9023\u7D61\u3092\u5909\u66F4\u3059\u308B\uFF08\u533A\u5206\u30FB\u7406\u7531\u30FB\u6642\u523B\u30FB\u9023\u7D61\u5185\u5BB9\uFF09
283
+ twp attendance report delete <ID>
284
+ \u52E4\u6020\u9023\u7D61\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u52E4\u6020\u306E\u7BA1\u7406\u8005\uFF09
285
+ twp attendance report reasons
286
+ \u52E4\u6020\u9023\u7D61\u3067\u4F7F\u3048\u308B\u533A\u5206\u30FB\u7406\u7531\u30FB\u7406\u7531\u8A73\u7D30\u306E\u7D44\u307F\u5408\u308F\u305B
226
287
  twp attendance overtime \u6708\u306E\u6B8B\u696D\u30B5\u30DE\u30EA\uFF08\u793E\u54E1\u5225\u30FB--month\u30FB--agreement36 \u306736\u5354\u5B9A\u3002\u7BA1\u7406\u8005\uFF09
227
288
  twp attendance closings list
228
289
  \u6708\u306E\u7DE0\u3081\u72B6\u6CC1\uFF08\u7DE0\u3081\u6E08\u307F\u306E\u4EBA\u306E\u4E00\u89A7\u30FB--month\u3002\u7BA1\u7406\u8005\uFF09
@@ -277,6 +338,22 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
277
338
  twp leave grants [<\u30E6\u30FC\u30B6\u30FC>]
278
339
  \u6709\u7D66\u306E\u4ED8\u4E0E\u5C65\u6B74\uFF08\u7701\u7565\u3067\u81EA\u5206\u30FB\u4ED6\u306E\u4EBA\u306F\u6709\u7D66\u7BA1\u7406\u306E\u6A29\u9650\u304B\u4E0A\u9577\uFF09
279
340
  twp leave request \u6709\u7D66\u3092\u7533\u8ACB\u3059\u308B\uFF08--date \u304B --from/--to\u30FB--type\u30FB\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3067\u8D77\u7968\u3057\u3066\u63D0\u51FA\uFF09
341
+ twp expense commuting list
342
+ \u81EA\u5206\u306E\u901A\u52E4\u4EA4\u901A\u8CBB\u306E\u4E00\u89A7\uFF08--all-users \u3067\u30C6\u30CA\u30F3\u30C8\u5168\u54E1\u306E\u5206\uFF1D\u7D4C\u8CBB\u306E\u7BA1\u7406\u8005\uFF09
343
+ twp expense commuting get
344
+ \u6708\uFF08--month\uFF09\u304B ID \u306E\u901A\u52E4\u4EA4\u901A\u8CBB1\u4EF6\uFF08\u65E5\u3054\u3068\u306E\u533A\u5206\u30FB\u5408\u8A08\u30FB\u72B6\u614B\uFF09
345
+ twp expense commuting attendance
346
+ \u6708\u306E\u81EA\u5206\u306E\u6709\u7D66\u30FB\u30EA\u30E2\u30FC\u30C8\u30FB\u52E4\u52D9\u5909\u66F4\uFF08\u533A\u5206\u3092\u6C7A\u3081\u308B\u6750\u6599\u30FB--month\uFF09
347
+ twp expense commuting save
348
+ \u6708\u306E\u65E5\u3054\u3068\u306E\u533A\u5206\u3092\u4E0B\u66F8\u304D\u306B\u4FDD\u5B58\uFF08--content-file\u30FB--generate-cli-skeleton\uFF09
349
+ twp expense commuting apply <ID>
350
+ \u4FDD\u5B58\u3057\u305F\u6708\u3092\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3067\u7533\u8ACB\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
351
+ twp expense commuting cancel <ID>
352
+ \u7533\u8ACB\u4E2D\u306E\u7533\u8ACB\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09
353
+ twp expense commuting delete <ID>
354
+ \u901A\u52E4\u4EA4\u901A\u8CBB\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
355
+ twp expense commuting export
356
+ \u6708\u306E\u901A\u52E4\u4EA4\u901A\u8CBB\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08\u7D4C\u8CBB\u306E\u7BA1\u7406\u8005\u30FB--out \u5FC5\u9808\uFF09
280
357
  twp workchange list \u6708\u306E\u52E4\u52D9\u5909\u66F4\uFF08--month\u30FB--me \u3067\u81EA\u5206\u306E\u5206\u30FB\u7121\u3051\u308C\u3070\u5168\u54E1\u5206\uFF1D\u7BA1\u7406\u8005\uFF09
281
358
  twp shift list \u6708\u306E\u30B7\u30D5\u30C8\uFF08--month\u30FB--me \u3067\u81EA\u5206\u306E\u5206\u30FB\u7121\u3051\u308C\u3070\u5168\u54E1\u5206\uFF1D\u7BA1\u7406\u8005\uFF09
282
359
  twp worker-agent list \u30EF\u30FC\u30AB\u30FC\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u6709\u52B9/\u7121\u52B9\u30FB\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u30FB\u6B21\u56DE\u5B9F\u884C\u4E88\u5B9A\uFF09
@@ -327,7 +404,7 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
327
404
  twp workflow instance delete <\u7533\u8ACBID>
328
405
  \u4E0B\u66F8\u304D\u30FB\u5DEE\u3057\u623B\u3055\u308C\u305F\u7533\u8ACB\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
329
406
  twp workflow approval pending
330
- \u81EA\u5206\u306E\u627F\u8A8D\u5F85\u3061\uFF08--count \u3067\u4EF6\u6570\u3060\u3051\uFF09
407
+ \u81EA\u5206\u306E\u627F\u8A8D\u5F85\u3061\uFF08AI\u30C1\u30A7\u30C3\u30AF\u306E\u8981\u7D04\u5217\u3064\u304D\u30FB--count \u3067\u4EF6\u6570\u3060\u3051\uFF09
331
408
  twp workflow approval approve <\u7533\u8ACBID>
332
409
  \u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u3092\u627F\u8A8D\u3059\u308B\uFF08--comment-file\uFF09
333
410
  twp workflow approval reject <\u7533\u8ACBID>
@@ -336,6 +413,12 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
336
413
  \u7533\u8ACB\u8005\u3078\u5DEE\u3057\u623B\u3059\uFF08\u30B3\u30E1\u30F3\u30C8\u5FC5\u9808\u30FB--yes \u304C\u8981\u308B\uFF09
337
414
  twp workflow approval cancel <\u7533\u8ACBID>
338
415
  \u81EA\u5206\u304C\u51FA\u3057\u305F\u7533\u8ACB\u3092\u7533\u8ACB\u8005\u672C\u4EBA\u304C\u53D6\u308A\u4E0B\u3052\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
416
+ twp workflow ai-review get <\u7533\u8ACBID>
417
+ \u7533\u8ACB\u306E AI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C\uFF08\u6307\u6458\u30FB\u7533\u8ACB\u8005\u306E\u7406\u7531\u30FB\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\uFF09
418
+ twp workflow ai-review-comment update <\u6307\u6458ID> --instance <\u7533\u8ACBID>
419
+ \u6307\u6458\u306B\u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3092\u66F8\u304F\uFF08--text / --text-file\uFF09
420
+ twp workflow ai-review-comment delete <\u6307\u6458ID> --instance <\u7533\u8ACBID>
421
+ \u627F\u8A8D\u8005\u30B3\u30E1\u30F3\u30C8\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09
339
422
  twp backlog space list \u9023\u643A\u6E08\u307F\u306E Backlog \u30B9\u30DA\u30FC\u30B9\u3092\u4E00\u89A7\u3059\u308B
340
423
  twp backlog project list
341
424
  Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B
@@ -432,6 +515,21 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
432
515
  \u62DB\u5F85\u30E1\u30FC\u30EB\u3092\u518D\u9001\u3059\u308B
433
516
  twp user invite delete <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9>
434
517
  \u62DB\u5F85\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09
518
+ twp user skills <\u30E6\u30FC\u30B6\u30FC>
519
+ \u30B9\u30AD\u30EB\u8A55\u4FA1\uFF08\u5E74\u5EA6\u3054\u3068\u306E\u81EA\u5DF1\u30FB\u4E00\u6B21\u30FB\u4E8C\u6B21\u30FB\u78BA\u5B9A\u30EC\u30D9\u30EB\uFF09\u3092\u51FA\u3059
520
+ twp user qualifications <\u30E6\u30FC\u30B6\u30FC>
521
+ \u4FDD\u6709\u8CC7\u683C\u3092\u51FA\u3059
522
+ twp user trainings <\u30E6\u30FC\u30B6\u30FC>
523
+ \u7814\u4FEE\u53D7\u8B1B\u5C65\u6B74\u3092\u51FA\u3059\uFF08--from / --to \u3067\u958B\u50AC\u65E5\u3092\u7D5E\u308B\uFF09
524
+ twp user contracts <\u30E6\u30FC\u30B6\u30FC>
525
+ \u96C7\u7528\u5951\u7D04\u306E\u5C65\u6B74\u3092\u51FA\u3059\uFF08\u539F\u4FA1\u7BA1\u7406\u8005\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
526
+ twp skill list \u30B9\u30AD\u30EB\u30DE\u30B9\u30BF\u3092\u30AB\u30C6\u30B4\u30EA\u5225\u306B\u4E00\u89A7\u3059\u308B
527
+ twp skill map \u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u3092\u8868\u793A\u3059\u308B\uFF08--department \u3067\u90E8\u7F72\u3092\u7D5E\u308B\u30FBHR\u7BA1\u7406\u8005\u306E\u307F\uFF09
528
+ twp skill who --skill <\u30B9\u30AD\u30EB>
529
+ \u30B9\u30AD\u30EB\u3092\u6301\u3064\u4EBA\u3092\u6240\u5C5E\u4ED8\u304D\u3067\u51FA\u3059\uFF08--min-level\u30FBHR\u7BA1\u7406\u8005\u306E\u307F\uFF09
530
+ twp skill self-evaluate <\u30D7\u30ED\u30D5\u30A1\u30A4\u30EBID>
531
+ \u81EA\u5206\u306E\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u81EA\u5DF1\u8A55\u4FA1\u3092\u5165\u308C\u3066\u63D0\u51FA\u3059\u308B\uFF08--content-file \u3068 --yes \u304C\u8981\u308B\uFF09
532
+ twp qualification list \u8CC7\u683C\u30DE\u30B9\u30BF\u3092\u4E00\u89A7\u3059\u308B
435
533
  twp department list \u90E8\u7F72\u3092\u4E00\u89A7\u3059\u308B
436
534
  twp department tree \u90E8\u7F72\u30C4\u30EA\u30FC\u3092\u8868\u793A\u3059\u308B\uFF08\u73FE\u5728\u6709\u52B9\u306A\u90E8\u7F72\u3060\u3051\uFF09
437
535
  twp department members <\u90E8\u7F72>
@@ -458,6 +556,21 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
458
556
  \u8077\u4F4D\u3092\u66F4\u65B0\u3059\u308B\uFF08--status inactive \u3067\u7121\u52B9\u5316\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
459
557
  twp job-title delete <\u8077\u4F4D>
460
558
  \u8077\u4F4D\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
559
+ twp evaluation list \u898B\u3066\u3088\u3044\u7BC4\u56F2\u306E\u4EBA\u4E8B\u8A55\u4FA1\u3092\u4E00\u89A7\u3059\u308B\uFF08--period\u30FB--status\uFF09
560
+ twp evaluation subordinates --period <\u8A55\u4FA1\u671F\u9593ID>
561
+ \u8A55\u4FA1\u8005\u3068\u3057\u3066\u6301\u3064\u90E8\u4E0B\u3068\u8A55\u4FA1\u306E\u72B6\u614B\u3092\u4E00\u89A7\u3059\u308B
562
+ twp evaluation get <\u8A55\u4FA1ID>
563
+ \u8A55\u4FA11\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5225\u8A55\u4FA1\u3092\u542B\u3080\uFF09
564
+ twp evaluation period list
565
+ \u8A55\u4FA1\u671F\u9593\u3092\u4E00\u89A7\u3059\u308B
566
+ twp evaluation period current
567
+ \u4ECA\u65E5\u3092\u542B\u3080\u8A55\u4FA1\u671F\u9593\u3092\u8868\u793A\u3059\u308B
568
+ twp evaluation feedback mine
569
+ \u81EA\u5206\u304C\u53D7\u3051\u53D6\u3063\u305F\u8A55\u4FA1\u306E\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u4E00\u89A7\u3059\u308B
570
+ twp goal-sheet list \u898B\u3066\u3088\u3044\u7BC4\u56F2\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08--period\u30FB--status\uFF09
571
+ twp goal-sheet mine \u81EA\u5206\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B
572
+ twp goal-sheet get <\u76EE\u6A19\u30B7\u30FC\u30C8ID>
573
+ \u76EE\u6A19\u30B7\u30FC\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
461
574
  twp inquiry category list
462
575
  \u554F\u3044\u5408\u308F\u305B\u30AB\u30C6\u30B4\u30EA\u3092\u4E00\u89A7\u3059\u308B
463
576
  twp inquiry category get <\u30AB\u30C6\u30B4\u30EA>
@@ -945,15 +1058,15 @@ TUI \u5185:
945
1058
  TWP API \u3092\u547C\u3079\u307E\u3059\u3002TWP API \u306E\u30C4\u30FC\u30EB\u306F\u65E2\u5B9A\u3067\u78BA\u8A8D\u304C\u51FA\u307E\u3059\uFF08-p \u3067\u306F\u62D2\u5426\u3002--allowed-tools \u3067\u540D\u524D\u3092\u8A31\u53EF\uFF09\u3002
946
1059
  \u4F1A\u8A71\u30FB\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB\u30B3\u30DE\u30F3\u30C9\u30FBgit\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30AF\u30EC\u30B8\u30C3\u30C8\u3067\u5B9F\u969B\u306B\u52D5\u304D\u307E\u3059\u3002
947
1060
  `;function ignoreEpipe(stream){stream.on("error",err=>{if(err.code==="EPIPE")process.exit(0);throw err})}async function main(){const nodeMajor=Number(process.versions.node.split(".")[0]);if(nodeMajor<22){process.stderr.write(`twp-cli \u306B\u306F Node.js 22 \u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\uFF08\u73FE\u5728: ${process.versions.node}\uFF09
948
- `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-ZKODJ45K.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-3F2GJNGC.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
949
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-H4NP4HUQ.js"),import("./config-3CNEQ7KN.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-PS5HUWVH.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-XH33RB27.js");process.exitCode=
1061
+ `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-RWWCIR6G.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1062
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-HEGYZVX6.js"),import("./config-3CNEQ7KN.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-YMI3F44R.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-QU6JK65I.js");process.exitCode=
950
1063
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
951
1064
  `);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
952
1065
 
953
- ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-PS5HUWVH.js");autoUpdate.registerRunning();if(args.command==="task-loop"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-TNFPATQF.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
954
- domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-VFFV7BD4.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
955
- void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-EYFT7STE.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-ZZGY6P3B.js");
956
- const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-CA22R7VD.js");process.exitCode=await runTaskLoop(
1066
+ ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-HYQQIOVW.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
1067
+ domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-ZZFN3T2G.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
1068
+ void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-NCAVUXSX.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-TYUK7MV4.js");
1069
+ const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-BXU44JWS.js");process.exitCode=await runTaskLoop(
957
1070
  {action:args.taskLoopAction??"run",project:args.project,profile:args.profile,safe:args.safe,daemon:args.daemon,interval:args.interval,maxCycles:args.maxCycles,forceRunner:args.forceRunner,force:args.stopForce,drain:args.stopDrain,engine:args.engine,version:VERSION,verbose:args.verbose,scheduleNow:args.scheduleNow,scheduleCounts:args.scheduleCounts,scheduleGate:args.scheduleGate,charterOp:args.charterOp,charterInput:args.charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,
958
- skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-RA65DTXP.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
959
- allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-PNDIA4NV.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
1071
+ skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-62DOJWOH.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
1072
+ allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-WX4B5MQ3.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-ZOOEH7ZE.js";import{ServerSkillCatalog,formatSkillOrigins}from"./chunk-TVODNAPX.js";import"./chunk-YJZT3UD3.js";import{claudeConfigDir,resolveDetectDeps}from"./chunk-T4QZO6RQ.js";import"./chunk-A4LFG7MW.js";import"./chunk-VRBI2NPI.js";import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,
4
- parseCounts,promptSection}from"./chunk-EZGN7PTO.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-SA7A5WF2.js";import{resolveProjectRef,uuidProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";
5
- import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-LUQ2KE6Y.js";import{CapacityReporter,buildLoopConfig,describeOperations,evaluateOwnership,formatHookIds,formatHookWiring,localDate,loopStateDir,runHook,runPrefetch,runPreflight}from"./chunk-QVPU4HHG.js";import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{exclusiveInflightEntries,formatExclusiveEntry,
6
- normalizeSkillName,skillOfItem,spawnSyncResolved}from"./chunk-AEJHDFXB.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-JTJWDV5U.js";import{PRIVATE_PROJECT_REF,isPrivateProjectId,isPrivateProjectRef,privateProjectId,projectFileKey}from"./chunk-GY7KI5E5.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";import{joinFor}from"./chunk-PMOUHEJQ.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import"./chunk-5WGOHFAS.js";
3
+ import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,promptSection}from"./chunk-EZGN7PTO.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-SA7A5WF2.js";import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-ZOOEH7ZE.js";import{ServerSkillCatalog,
4
+ formatSkillOrigins}from"./chunk-TVODNAPX.js";import"./chunk-YJZT3UD3.js";import"./chunk-A4LFG7MW.js";import"./chunk-VRBI2NPI.js";import{claudeConfigDir,resolveDetectDeps}from"./chunk-T4QZO6RQ.js";import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-LUQ2KE6Y.js";import{CapacityReporter,buildLoopConfig,describeOperations,evaluateOwnership,
5
+ formatHookIds,formatHookWiring,localDate,loopStateDir,runHook,runPrefetch,runPreflight}from"./chunk-QVPU4HHG.js";import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{exclusiveInflightEntries,formatExclusiveEntry,normalizeSkillName,skillOfItem,spawnSyncResolved}from"./chunk-AEJHDFXB.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-JTJWDV5U.js";import{PRIVATE_PROJECT_REF,isPrivateProjectId,isPrivateProjectRef,privateProjectId,
6
+ projectFileKey}from"./chunk-GY7KI5E5.js";import{resolveProjectRef,uuidProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";import{joinFor}from"./chunk-PMOUHEJQ.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import"./chunk-5WGOHFAS.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";
7
7
  import{twpHomeDir}from"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs10 from"fs";import path8 from"path";import fs from"fs";import path from"path";var LoopLogger=class{constructor(runnerId,logFile,out=process.stdout,now=()=>new Date){this.runnerId=runnerId;this.out=out;this.now=now;if(logFile){fs.mkdirSync(path.dirname(logFile),{recursive:true});this.stream=fs.createWriteStream(logFile,{flags:"a"})}}runnerId;out;now;stream=null;log(message){const d=this.now();const ts=`${d.getFullYear()}-${pad(d.getMonth()+1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;const line=`[${ts}] [${this.runnerId}] ${stripTerminalControls(
8
8
  message)}
9
9
  `;this.out.write(line);this.stream?.write(line)}separator(){this.log("=".repeat(60))}close(){this.stream?.end();this.stream=null}};function pad(n){return String(n).padStart(2,"0")}function rotateLogs(dir,retentionDays,now=Date.now()){if(retentionDays<=0)return;const cutoff=now-retentionDays*864e5;let entries;try{entries=fs.readdirSync(dir)}catch{return}for(const name of entries){if(!/^(agent-loop|task-loop|step|plan|schedule-enqueued)-.*\.(log|txt)$/.test(name))continue;const file=path.join(dir,
@@ -316,7 +316,7 @@ const startedAtMs=now();let warned="";let done=false;const check=()=>{if(done)re
316
316
  decision.key)return;warned=decision.key;handlers.onWarn(decision.reason);return}done=true;const recorded=writeRestartAttempt(opts.stateDir,opts.projectKey,{from:decision.from,to:decision.to,at:new Date(now()).toISOString()},opts.store);if(!recorded){handlers.onWarn(`\u518D\u8D77\u52D5\u8A18\u9332\u3092\u66F8\u3051\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${restartAttemptPath(opts.stateDir,opts.projectKey)}\uFF09\u3002\u540C\u3058\u7248\u30C9\u30EA\u30D5\u30C8\u304C\u89E3\u6D88\u3057\u306A\u3044\u5834\u5408\u3001\u518D\u8D77\u52D5\u3092\u7E70\u308A\u8FD4\u3059\u9632\u6CE2\u5824\u304C\u52B9\u304D\u307E\u305B\u3093`)}
317
317
  handlers.onRestart({from:decision.from,to:decision.to})};const timer=setInterval(check,opts.intervalMs??DRIFT_POLL_MS);timer.unref?.();return{stop:()=>{done=true;clearInterval(timer)},check}}import fs9 from"fs";import path7 from"path";var POLL_MS=1e3;var MAX_STOP_BYTES=4096;var MAX_AT_LENGTH=64;function markerPath(lockDir2,kind){return path7.join(lockDir2,kind)}function requestMarker(lockDir2,kind,pid,deps={}){const target=markerPath(lockDir2,kind);const write=deps.writeFileSync??((p,d)=>fs9.writeFileSync(p,d,{flag:"wx",mode:384}));const now=deps.now??(()=>new Date);clearMarker(lockDir2,kind,deps);try{write(target,`${JSON.stringify({pid,at:now().toISOString()})}
318
318
  `);return{ok:true}}catch(err){const e=err;return{ok:false,reason:e.code??"UNKNOWN"}}}function readMarker(lockDir2,kind,deps={}){const target=markerPath(lockDir2,kind);const read=deps.readFileSync??(p=>fs9.readFileSync(p,"utf8"));const size=deps.statSize??(p=>fs9.statSync(p).size);let raw;try{if(size(target)>MAX_STOP_BYTES)return null;raw=read(target)}catch{return null}if(raw.length>MAX_STOP_BYTES)return null;try{const parsed=JSON.parse(raw);if(typeof parsed!=="object"||parsed===null)return null;const pid=parsed.pid;const at=parsed.at;if(typeof pid!=="number"||!Number.isInteger(pid)||
319
- pid<=0)return null;return{pid,at:sanitizeAt(at)}}catch{return null}}function sanitizeAt(at){if(typeof at!=="string")return"";return at.replace(/[\u0000-\u001f\u007f]/g," ").slice(0,MAX_AT_LENGTH)}function clearMarker(lockDir2,kind,deps={}){const rm=deps.rmSync??(p=>fs9.rmSync(p,{recursive:true,force:true}));try{rm(markerPath(lockDir2,kind))}catch{}}function watchMarker(lockDir2,kind,selfPid,onStop,deps={}){let fired=false;const timer=setInterval(()=>{if(fired)return;const req=readMarker(lockDir2,kind,deps);if(req===null||req.pid!==selfPid)return;fired=true;onStop(req)},deps.intervalMs??POLL_MS);timer.unref?.();return()=>{fired=true;clearInterval(timer)}}function safe(s){return stripTerminalControls(s)}function compactTimestamp(at=new Date){const p2=n=>String(n).padStart(2,"0");return`${at.getFullYear()}${p2(at.getMonth()+1)}${p2(at.getDate())}-${p2(at.getHours())}${p2(at.getMinutes())}${p2(at.getSeconds())}`}async function buildEngine(config,log){if(config.engine==="noop")return new NoopEngine;const{DispatchEngine}=await import("./ai-dispatch-2FL2AFL7.js");const{DEFAULT_PREFLIGHT_HOSTS}=await import("./ai-dispatch-2FL2AFL7.js");const extraHosts=config.
319
+ pid<=0)return null;return{pid,at:sanitizeAt(at)}}catch{return null}}function sanitizeAt(at){if(typeof at!=="string")return"";return at.replace(/[\u0000-\u001f\u007f]/g," ").slice(0,MAX_AT_LENGTH)}function clearMarker(lockDir2,kind,deps={}){const rm=deps.rmSync??(p=>fs9.rmSync(p,{recursive:true,force:true}));try{rm(markerPath(lockDir2,kind))}catch{}}function watchMarker(lockDir2,kind,selfPid,onStop,deps={}){let fired=false;const timer=setInterval(()=>{if(fired)return;const req=readMarker(lockDir2,kind,deps);if(req===null||req.pid!==selfPid)return;fired=true;onStop(req)},deps.intervalMs??POLL_MS);timer.unref?.();return()=>{fired=true;clearInterval(timer)}}function safe(s){return stripTerminalControls(s)}function compactTimestamp(at=new Date){const p2=n=>String(n).padStart(2,"0");return`${at.getFullYear()}${p2(at.getMonth()+1)}${p2(at.getDate())}-${p2(at.getHours())}${p2(at.getMinutes())}${p2(at.getSeconds())}`}async function buildEngine(config,log){if(config.engine==="noop")return new NoopEngine;const{DispatchEngine}=await import("./ai-dispatch-VDNMECKK.js");const{DEFAULT_PREFLIGHT_HOSTS}=await import("./ai-dispatch-VDNMECKK.js");const extraHosts=config.
320
320
  operations.preflightHosts;return new DispatchEngine(config.ai,log,{workspace:config.workspace,charterFile:config.charterFile??void 0,charterEnabled:config.charterEnabled,...config.charterPrefix===null?{}:{charterPrefix:config.charterPrefix},...config.charterSuffix===null?{}:{charterSuffix:config.charterSuffix},serverPrompts:()=>config.serverPrompts??{},compileCommand:config.compileCommand??void 0,skillOverlayDir:path8.join(config.stateDir,"skill-overlay",projectFileKey(config.projectId)),launcherBin:config.
321
321
  claudeLauncher.bin,...extraHosts.length>0?{preflightHosts:[...DEFAULT_PREFLIGHT_HOSTS,...extraHosts]}:{}})}function lockDir(config){return path8.join(config.stateDir,`task-loop-${projectFileKey(config.projectId)}.lock.d`)}async function runTaskLoop(opts){if(opts.action==="stop")return await stopLoop(opts);const profile=resolveProfile(opts.profile);let creds;try{creds=new AuthSession(profile.name,profile.apiUrl).loadOrThrow()}catch(err){process.stderr.write(`${err.message}
322
322
  `);return 1}const apiUrl=effectiveApiUrl(profile,creds.api_url);const session=new AuthSession(profile.name,apiUrl);const projectRef=opts.project??process.env.TWP_PROJECT??"";if(projectRef===""){process.stderr.write("--project <\u30AD\u30FC|UUID> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08TWP_PROJECT \u3067\u3082\u53EF\uFF09\n");return 2}const projectApi=new ProjectApi(apiUrl,session);let project;try{project=await projectApi.resolve(projectRef)}catch(err){process.stderr.write(`${err.
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{PromptAbortedError,promptHidden,promptText}from"./chunk-L37NS5L2.js";import{ApiError,TwpApiClient,errorListMessages}from"./chunk-IF2K4PM5.js";import{AuthSession,NotLoggedInError,SessionExpiredError,deleteCredentials,loadCredentials,maskToken,saveCredentials}from"./chunk-XNLIEUAW.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";import{system32}from"./chunk-N2UVRM3Z.js";import{EXIT_USAGE,UsageError}from"./chunk-VFPY2A23.js";import{isWindowsDriveAbsolute}from"./chunk-PMOUHEJQ.js";
4
- import{httpFetch}from"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import os from"os";import{createHash,randomBytes}from"crypto";function generatePkcePair(){const verifier=randomBytes(32).toString("base64url");return{verifier,challenge:computeChallenge(verifier),method:"S256"}}function computeChallenge(verifier){return createHash("sha256").update(verifier,"ascii").digest("base64url")}function generateState(){return randomBytes(16).toString("base64url")}import http from"http";import crypto from"crypto";function safeEqual(a,b){const x=Buffer.from(a,"utf8");const y=Buffer.from(b,"utf8");const len=Math.max(x.length,y.length,1);const px=Buffer.alloc(len);const py=Buffer.alloc(len);x.copy(px);y.copy(py);return crypto.timingSafeEqual(px,py)&&x.length===y.length}var LoginTimeoutError=class extends Error{constructor(timeoutMs){super(`\u30D6\u30E9\u30A6\u30B6\u3067\u306E\u627F\u8A8D\u3092 ${Math.round(timeoutMs/1e3)} \u79D2\u5F85\u3061\u307E\u3057\u305F\u304C\u5B8C\u4E86\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002twp login \u3092\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\
3
+ import{PromptAbortedError,promptHidden,promptText}from"./chunk-L37NS5L2.js";import{system32}from"./chunk-N2UVRM3Z.js";import{ApiError,TwpApiClient,errorListMessages}from"./chunk-JA5A6UJ2.js";import{EXIT_USAGE,UsageError}from"./chunk-VFPY2A23.js";import{isWindowsDriveAbsolute}from"./chunk-PMOUHEJQ.js";import{AuthSession,NotLoggedInError,SessionExpiredError,deleteCredentials,loadCredentials,maskToken,saveCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";
4
+ import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import os from"os";import{createHash,randomBytes}from"crypto";function generatePkcePair(){const verifier=randomBytes(32).toString("base64url");return{verifier,challenge:computeChallenge(verifier),method:"S256"}}function computeChallenge(verifier){return createHash("sha256").update(verifier,"ascii").digest("base64url")}function generateState(){return randomBytes(16).toString("base64url")}import http from"http";import crypto from"crypto";function safeEqual(a,b){const x=Buffer.from(a,"utf8");const y=Buffer.from(b,"utf8");const len=Math.max(x.length,y.length,1);const px=Buffer.alloc(len);const py=Buffer.alloc(len);x.copy(px);y.copy(py);return crypto.timingSafeEqual(px,py)&&x.length===y.length}var LoginTimeoutError=class extends Error{constructor(timeoutMs){super(`\u30D6\u30E9\u30A6\u30B6\u3067\u306E\u627F\u8A8D\u3092 ${Math.round(timeoutMs/1e3)} \u79D2\u5F85\u3061\u307E\u3057\u305F\u304C\u5B8C\u4E86\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002twp login \u3092\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\
5
5
  \u3044\u3002`)}};var SUCCESS_HTML=`<!doctype html><html lang="ja"><head><meta charset="utf-8"><title>TWP CLI \u30ED\u30B0\u30A4\u30F3\u5B8C\u4E86</title></head>
6
6
  <body style="font-family: sans-serif; text-align: center; padding-top: 4rem; background:#f7f9fc; color:#1b2559">
7
7
  <h1 style="font-size:1.4rem">\u2705 \u30ED\u30B0\u30A4\u30F3\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F</h1>
@@ -1,9 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{customerDocumentSubresources}from"./chunk-DQCHLRSB.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-IRHKFHJZ.js";import"./chunk-4S7SNE2M.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-NK53AFVE.js";import"./chunk-QLENN5DD.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-CF3ZZKCZ.js";import"./chunk-OTIR4GES.js";import{CUSTOMERS_PATH,
4
- SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-Q2KIETMB.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-QBGEYQ2I.js";import{repeatedValues}from"./chunk-7UB4I3JF.js";import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-V64CGX7V.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-GY7KI5E5.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,
5
- PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";
6
- import"./chunk-VSJBJXZO.js";var CUSTOMER_FLAG_FIELD={kind:"boolean",flag:"--customer",key:"customer_flg",summary:"\u9867\u5BA2\u3068\u3057\u3066\u6271\u3046\u304B\uFF08true / false\uFF09"};var FIELDS=[...COMPANY_FIELDS,CUSTOMER_FLAG_FIELD];var COLUMNS=["id","company_name","company_name_kana","company_short_name","customer_flg","supplier_flg","tel","address1"];var WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
3
+ import{customerDocumentSubresources}from"./chunk-74WGU5BM.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-2NP3BLPI.js";import"./chunk-VOMCTG6N.js";import"./chunk-V64CGX7V.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MKQDUQQ2.js";import"./chunk-QLENN5DD.js";import"./chunk-GY7KI5E5.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-B6WIFZF2.js";
4
+ import"./chunk-OTIR4GES.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_FLAGS,LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-MI6HVYR2.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-FEJDU42E.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import{ApiError}from"./chunk-JA5A6UJ2.js";
5
+ import"./chunk-QBGEYQ2I.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var CUSTOMER_FLAG_FIELD={kind:"boolean",flag:"--customer",key:"customer_flg",summary:"\u9867\u5BA2\u3068\u3057\u3066\u6271\u3046\u304B\uFF08true / false\uFF09"};var FIELDS=[...COMPANY_FIELDS,CUSTOMER_FLAG_FIELD];var COLUMNS=["id","company_name","company_name_kana","company_short_name","customer_flg","supplier_flg","tel","address1"];var WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
7
6
  var DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u524A\u9664\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");var REF_HELP="<\u53D6\u5F15\u5148> \u306F\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u5B8C\u5168\u4E00\u81F4\u304B\
8
7
  ID\uFF08twp company list \u306E id \u5217\u306E\u6570\u5B57\uFF09\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u3069\u3061\u3089\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002";function companyPath(input){const id=requireResolved(input,"companyId");if(!isExactNumericId(id))throw new UsageError(`\u53D6\u5F15\u5148 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}`);return`${SALES_COMPANIES_PATH}/${id}`}async function resolveCompany(input,ctx,usage){
9
8
  const raw=singleRef(input,{flag:"<\u53D6\u5F15\u5148>",label:"\u53D6\u5F15\u5148",usage});return withResolved(input,{companyId:(await ctx.resolver.company(raw,{flag:"<\u53D6\u5F15\u5148>",source:"sales",mustExist:true})).id})}var createOperation={name:"create",summary:"\u53D6\u5F15\u5148\u4F01\u696D\u3092\u767B\u9332\u3059\u308B\uFF08\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u4EE5\u4E0A\uFF09",usage:"twp company create --name <\u4F01\u696D\u540D> (--customer true | --suppli\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{BUILTIN_COMMANDS,GLOBAL_FLAGS,TASK_LOOP_ACTIONS,VALUE_FLAGS}from"./chunk-FMJUPLDG.js";import"./chunk-NAUH75MM.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-ZGHEF45T.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var EXTRA_TOP_LEVEL=[API_TOKEN,HELP_TOKEN,"completion","configure"];var COMPLETION_SHELLS=["bash","zsh","fish","powershell"];var TOP_LEVEL_FLAGS=["--help","--version","-p","--print","--profile","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--no-tui","--doctor"];var DOMAIN_GLOBAL_FLAGS=[...GLOBAL_FLAGS].filter(flag=>flag.startsWith("--"));function staticValues(flag,ctx){if(flag==="--output")return OUTPUT_FORMATS;if(flag==="--profile")return ctx.profileNames();return void 0}
3
+ import{BUILTIN_COMMANDS,GLOBAL_FLAGS,TASK_LOOP_ACTIONS,VALUE_FLAGS}from"./chunk-ZVEMJWRR.js";import"./chunk-NAUH75MM.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var EXTRA_TOP_LEVEL=[API_TOKEN,HELP_TOKEN,"completion","configure"];var COMPLETION_SHELLS=["bash","zsh","fish","powershell"];var TOP_LEVEL_FLAGS=["--help","--version","-p","--print","--profile","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--no-tui","--doctor"];var DOMAIN_GLOBAL_FLAGS=[...GLOBAL_FLAGS].filter(flag=>flag.startsWith("--"));function staticValues(flag,ctx){if(flag==="--output")return OUTPUT_FORMATS;if(flag==="--profile")return ctx.profileNames();return void 0}
4
4
  function positionals(words,takesValue){const out=[];for(let i=0;i<words.length;i++){const word=words[i]??"";if(word==="--"){out.push(...words.slice(i+1));break}if(word.startsWith("-")){if(!word.includes("=")&&takesValue(word))i++;continue}out.push(word)}return out}function byPrefix(candidates,current){const seen=new Set;for(const candidate of candidates){if(candidate.startsWith(current))seen.add(candidate)}return[...seen]}function remainingFlags(flags,words){const used=new Set(words.filter(w=>w.
5
5
  startsWith("--")).map(w=>w.split("=")[0]));return[...flags.filter(f=>f.repeatable===true||!used.has(f.name)).map(f=>f.name),...DOMAIN_GLOBAL_FLAGS.filter(f=>!used.has(f))]}async function complete(words,current,ctx){const previous=words[words.length-1];if(previous!==void 0&&previous.startsWith("--")&&!previous.includes("=")){const values=staticValues(previous,ctx);if(values!==void 0)return byPrefix(values,current)}const eq=current.indexOf("=");if(current.startsWith("--")&&eq>0){const flag=current.
6
6
  slice(0,eq);const values=staticValues(flag,ctx);return values===void 0?[]:byPrefix(values.map(v=>`${flag}=${v}`),current)}const pos=positionals(words,flag=>VALUE_FLAGS.has(flag));const[first,second]=pos;if(first===void 0){if(current.startsWith("-"))return byPrefix([...TOP_LEVEL_FLAGS,...DOMAIN_GLOBAL_FLAGS],current);return byPrefix([...BUILTIN_COMMANDS,...DOMAIN_NAMES,...EXTRA_TOP_LEVEL],current)}if(first==="completion")return pos.length===1?byPrefix(COMPLETION_SHELLS,current):[];if(first==="con\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{PromptAbortedError,promptText}from"./chunk-L37NS5L2.js";import{writePrivateFileAtomic}from"./chunk-D233KKXW.js";import{loadUserConfig,resolveProfileName,userConfigPath}from"./chunk-4VZKNEVN.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS,isOutputFormat}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import{ensureTwpHome}from"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var CLEAR="-";var HELP=`\u4F7F\u3044\u65B9: twp configure [--profile <\u540D\u524D>]
3
+ import{PromptAbortedError,promptText}from"./chunk-L37NS5L2.js";import{writePrivateFileAtomic}from"./chunk-D233KKXW.js";import{loadUserConfig,resolveProfileName,userConfigPath}from"./chunk-4VZKNEVN.js";import{ensureTwpHome}from"./chunk-RZVI6PMW.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS,isOutputFormat}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var CLEAR="-";var HELP=`\u4F7F\u3044\u65B9: twp configure [--profile <\u540D\u524D>]
4
4
 
5
5
  \u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306E\u65E2\u5B9A\u3092\u5BFE\u8A71\u3067\u8A2D\u5B9A\u3057\u3001~/.twp/config.json \u306B\u4FDD\u5B58\u3057\u307E\u3059
6
6
  \uFF08\u8A8D\u8A3C\u60C5\u5831\u306B\u306F\u89E6\u308A\u307E\u305B\u3093\u3002\u30ED\u30B0\u30A4\u30F3\u306F twp login\uFF09\u3002
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contractAiReviewResources}from"./chunk-ZY6LEKWR.js";import"./chunk-FANDYQCM.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-CF3ZZKCZ.js";import{isoDate}from"./chunk-OTIR4GES.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-Q2KIETMB.js";import"./chunk-GMBJTG6A.js";import"./chunk-QBGEYQ2I.js";import{repeatedValues}from"./chunk-7UB4I3JF.js";import"./chunk-IF2K4PM5.js";
4
- import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
5
- import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_CONTRACTS_PATH;var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));var DISAMBIGUATION="\u53D6\u5F15\u5951\u7D04\u306F\u898B\u7A4D\u304B\u3089\u4F5C\u308B\u8CA9\u58F2\u7BA1\u7406\u306E\u66F8\u985E\u3067\u3059\uFF08\u660E\u7D30\u30FB\u91D1\u984D\u3092\u6301\u3061\u3001\u627F\u8A8D\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u4E57\u308A\u307E\u3059\uFF09\u3002\n\u9867\u5BA2\u306B\u7D10\u3065\u3051\u3066\u4FDD\u7BA1\u3059\u308B\u5951\u7D04\u66F8\u306E PDF \u306F\u5225\u7269\u3067\u3001twp customer contract \u3067\u6271\u3044\u307E\u3059\u3002\n\n";
3
+ import{contractAiReviewResources}from"./chunk-LXGYOKDY.js";import"./chunk-22OIKHMN.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-B6WIFZF2.js";import{isoDate}from"./chunk-OTIR4GES.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";
4
+ import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-FEJDU42E.js";import"./chunk-GMBJTG6A.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";
5
+ import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_CONTRACTS_PATH;var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));var DISAMBIGUATION="\u53D6\u5F15\u5951\u7D04\u306F\u898B\u7A4D\u304B\u3089\u4F5C\u308B\u8CA9\u58F2\u7BA1\u7406\u306E\u66F8\u985E\u3067\u3059\uFF08\u660E\u7D30\u30FB\u91D1\u984D\u3092\u6301\u3061\u3001\u627F\u8A8D\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u4E57\u308A\u307E\u3059\uFF09\u3002\n\u9867\u5BA2\u306B\u7D10\u3065\u3051\u3066\u4FDD\u7BA1\u3059\u308B\u5951\u7D04\u66F8\u306E PDF \u306F\u5225\u7269\u3067\u3001twp customer contract \u3067\u6271\u3044\u307E\u3059\u3002\n\n";
6
6
  var CONTRACT_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",contracted:"\u5951\u7D04\u7DE0\u7D50\u6E08",deleted:"\u524A\u9664\u6E08"};var RENEWAL_TYPES={auto_renewal:"\u81EA\u52D5\u66F4\u65B0",application_renewal:"\u7533\u8FBC\u306B\u3088\u308B\u66F4\u65B0"};function statusName(code){return CONTRACT_STATUSES[code]??code}function tableHelp(table){
7
7
  return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}var STORE_KEYS=["estimate_id","contract_no","title","status","contract_date","start_date","end_date","renewal_type","cancellation_notice_days","next_renewal_date","memo","manage_form_data","contract_document_file_ids","details","recipients"];var CREATE_ONLY_KEYS=["estimate_id"];var UPDATE_KEYS=STORE_KEYS.filter(key=>!CREATE_ONLY_KEYS.includes(key));var DETAIL_KEYS=["item_name","description","quantity","unit",
8
8
  "unit_price","tax_rate"];var RECIPIENT_KEYS=["customer_contact_id","recipient_type"];var FIELD_NOTES=[["estimate_id","\u4F5C\u6210\u3067\u5FC5\u9808\u30FB\u4F5C\u6210\u306E\u307F\u3002\u5143\u306E\u898B\u7A4D\u306E ID\uFF08\u6574\u6570\u3002\u53D6\u5F15\u5148\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u898B\u7A4D\u304B\u3089\u6C7A\u307E\u308A\u307E\u3059\uFF09"],["title","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u5951\u7D04\u4EF6\u540D\uFF08500 \u6587\u5B57\u307E\u3067\uFF09"],["contract_date",
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-NK53AFVE.js";import"./chunk-OTIR4GES.js";import{DEPARTMENTS_PATH}from"./chunk-Q2KIETMB.js";import"./chunk-GMBJTG6A.js";import"./chunk-QBGEYQ2I.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-II5RVJQN.js";import"./chunk-MI6HVYR2.js";
4
- import{withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u90E8\u7F72";var LIST_COLUMNS=["id","code","name","parent_id","level","effective_status","valid_from","valid_to","member_count"];var GET_COLUMNS=["id","code","name","name_short","parent_id","level","sort","effective_status","valid_from","valid_to","description"];var TREE_COLUMNS=["depth","name","code","id","effective_status","valid_to"];var MEMBER_COLUMNS=["id","user_id","position_id","job_title_id","start_date","end_date","is_primary","is_current","effective_status"];var REF_FLAG={name:"\
3
+ import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-MKQDUQQ2.js";import"./chunk-OTIR4GES.js";import"./chunk-MI6HVYR2.js";import{DEPARTMENTS_PATH}from"./chunk-FEJDU42E.js";import"./chunk-GMBJTG6A.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";
4
+ import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u90E8\u7F72";var LIST_COLUMNS=["id","code","name","parent_id","level","effective_status","valid_from","valid_to","member_count"];var GET_COLUMNS=["id","code","name","name_short","parent_id","level","sort","effective_status","valid_from","valid_to","description"];var TREE_COLUMNS=["depth","name","code","id","effective_status","valid_to"];var MEMBER_COLUMNS=["id","user_id","position_id","job_title_id","start_date","end_date","is_primary","is_current","effective_status"];var REF_FLAG={name:"\
5
5
  --department",summary:"\u5BFE\u8C61\u306E\u90E8\u7F72\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<\u90E8\u7F72>"};var REF_HELP="<\u90E8\u7F72> \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u90E8\u7F72\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
6
6
  var FIELDS=masterFields(LABEL,[{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"ref",flag:"--parent",key:"parent_id",summary:"\u89AA\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-parent",clearSummary:"\u89AA\u90E8\u7F72\u3092\u5916\u3057\u3066\u6700\u4E0A\u4F4D\u306B\u3059\u308B",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{kind:"integer",flag:"--sor\
7
7
  t",key:"sort",label:"\u8868\u793A\u9806",min:0,summary:"\u8868\u793A\u9806\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"date",flag:"--valid-from",key:"valid_from",summary:"\u6709\u52B9\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09"},{kind:"date",flag:"--valid-to",key:"valid_to",summary:"\u6709\u52B9\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09\u3002\u3053\u306E\u65E5\u306E\u7FCC\u65E5\u304B\u3089\u7121\u52B9\u306B\u306A\u308B"},{kind:"boolean",
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic}from"./chunk-FACNRXN7.js";import"./chunk-QLENN5DD.js";import"./chunk-B6WIFZF2.js";import"./chunk-OTIR4GES.js";import"./chunk-RX5HWI4L.js";import"./chunk-MI6HVYR2.js";import"./chunk-6LSQCOCJ.js";import"./chunk-FEJDU42E.js";import"./chunk-GMBJTG6A.js";import"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";
4
+ import"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic};
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{estimateCaseDocumentResource}from"./chunk-V2BB5EWS.js";import"./chunk-DQCHLRSB.js";import"./chunk-IRHKFHJZ.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-4S7SNE2M.js";import"./chunk-NK53AFVE.js";import{estimateNoRuleResource}from"./chunk-SECVO7RQ.js";import{salesAdminForbidden}from"./chunk-ELEOYXLD.js";import"./chunk-QLENN5DD.js";import{estimateAiReviewResources}from"./chunk-ZY6LEKWR.js";import{estimatePdfOperation}from"./chunk-FANDYQCM.js";
4
- import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-CF3ZZKCZ.js";import"./chunk-OTIR4GES.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{SALES_ESTIMATES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-Q2KIETMB.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-QBGEYQ2I.js";import{repeatedValues}from"./chunk-7UB4I3JF.js";
5
- import{ApiError}from"./chunk-IF2K4PM5.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-GY7KI5E5.js";import"./chunk-II5RVJQN.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,
6
- isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_ESTIMATE_FORMATS_PATH;var LABEL="\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8";var CONTENT_KEYS=["format_name","start_date","end_date","default_unit","default_tax_rate","default_business_place_id","default_seal_impression_id","default_estimate_no_id","default_invoice_no_id","default_payee_id","default_terms","default_invoice_memo","default_purchase_terms","default_purchase_acceptance_terms","estimate_workflow_id","contract_workflow_id","invoice_workflow_id","purchase_workflow_\
3
+ import{estimateCaseDocumentResource}from"./chunk-6JB4MSDX.js";import"./chunk-74WGU5BM.js";import"./chunk-2NP3BLPI.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-VOMCTG6N.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-MKQDUQQ2.js";import{estimateNoRuleResource}from"./chunk-XZU53BUV.js";import{salesAdminForbidden}from"./chunk-FACNRXN7.js";import"./chunk-QLENN5DD.js";import"./chunk-GY7KI5E5.js";import{
4
+ estimateAiReviewResources}from"./chunk-LXGYOKDY.js";import{estimatePdfOperation}from"./chunk-22OIKHMN.js";import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-B6WIFZF2.js";import"./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{charCount,readBody}from"./chunk-6LSQCOCJ.js";
5
+ import{SALES_ESTIMATES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-FEJDU42E.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
6
+ import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_ESTIMATE_FORMATS_PATH;var LABEL="\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8";var CONTENT_KEYS=["format_name","start_date","end_date","default_unit","default_tax_rate","default_business_place_id","default_seal_impression_id","default_estimate_no_id","default_invoice_no_id","default_payee_id","default_terms","default_invoice_memo","default_purchase_terms","default_purchase_acceptance_terms","estimate_workflow_id","contract_workflow_id","invoice_workflow_id","purchase_workflow_\
7
7
  id","description","estimate_manage_content","contract_manage_content","invoice_manage_content","sort_order"];var FIELD_NOTES=[["format_name","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u540D\uFF08255 \u6587\u5B57\u307E\u3067\uFF09"],["default_unit","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u660E\u7D30\u306E\u65E2\u5B9A\u306E\u5358\u4F4D\uFF08set / item / unit / hour / day / month / person / person_month / person_day\uFF09"],["default_tax_rate",'\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u65E2\u5B9A\u306E\u7A0E\u7387\uFF08"10" / "8" / \
8
8
  "0"\uFF09'],["default_estimate_no_id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB\u306E ID\uFF08\u6574\u6570\u3002twp estimate no-rule list \u306E id\uFF09"],["default_invoice_no_id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB\u306E ID\uFF08\u6574\u6570\u3002twp invoice no-rule list \u306E id\uFF09"],["start_date / end_date","\u6709\u52B9\u671F\u9593\uFF08YYYY-MM-DD\u3002\u7D42\u4E86\u306F\u958B\u59CB\u4EE5\u964D\u3002null \u3067\u671F\u9650\u306A\u3057\uFF09"],
9
9
  ["default_business_place_id / default_seal_impression_id / default_payee_id","\u65E2\u5B9A\u306E\u4E8B\u696D\u6240\u30FB\u5370\u5F71\u30FB\u632F\u8FBC\u5148\u306E ID\uFF08\u6574\u6570\u3002twp business-place / seal-impression / payee list \u306E id\u3002null \u3067\u672A\u8A2D\u5B9A\uFF09"],["default_terms / default_invoice_memo","\u898B\u7A4D\u306E\u53D6\u5F15\u6761\u4EF6\u30FB\u8ACB\u6C42\u306E\u5099\u8003\u306E\u65E2\u5B9A\u306E\u6587\u9762"],["default_purchase_terms / default_purchase_accept\