@tocca-systems/twp-cli 0.37.0 → 0.39.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.
- package/CHANGELOG.public.md +16 -0
- package/README.md +138 -3
- package/dist/{agent-loop-SP2UKXIG.js → agent-loop-4U5RLC4L.js} +1 -1
- package/dist/{ai-dispatch-LY6OVZC3.js → ai-dispatch-KRMDHQEF.js} +1 -1
- package/dist/{api-command-NLV55HVW.js → api-command-IO572BZ4.js} +27 -11
- package/dist/{app-MED2NINK.js → app-Y2RIXLS4.js} +4 -4
- package/dist/attendance-5KE2JPK4.js +3 -0
- package/dist/{attendance-lists-F2KTIJZA.js → attendance-lists-MXQNWUIH.js} +1 -1
- package/dist/{backlog-33ELMSV6.js → backlog-67JSQYOH.js} +1 -1
- package/dist/chunk-3RAGOW6X.js +5 -0
- package/dist/chunk-4ZT5LTRX.js +94 -0
- package/dist/{chunk-R53CMVWR.js → chunk-5R4SEO3I.js} +10 -10
- package/dist/{chunk-VQMR5UTD.js → chunk-BJLXXRSY.js} +1 -1
- package/dist/{chunk-KSWRKHKU.js → chunk-C7UDUHQZ.js} +26 -24
- package/dist/{chunk-ZST7XESB.js → chunk-ELXDRPDV.js} +39 -33
- package/dist/chunk-FEOST3GF.js +3 -0
- package/dist/{chunk-WYBJLRTG.js → chunk-GPIIXDEX.js} +2 -4
- package/dist/{chunk-TAN5I2DP.js → chunk-I4ARX6NM.js} +1 -1
- package/dist/{chunk-KA3EE4TJ.js → chunk-MHRGKUMK.js} +1 -1
- package/dist/chunk-QDTYD5PY.js +147 -0
- package/dist/{chunk-4CVLBR42.js → chunk-QQLWMHGR.js} +2 -2
- package/dist/{chunk-SN6YG4SF.js → chunk-RZ54TCQU.js} +15 -14
- package/dist/chunk-TLN3JSEC.js +7 -0
- package/dist/chunk-UVUVEL3B.js +3 -0
- package/dist/{chunk-U6GEC6KI.js → chunk-Y5YDL3MC.js} +1 -1
- package/dist/cli.js +116 -9
- package/dist/{commands-OABOHHNC.js → commands-K6DQ3O35.js} +1 -1
- package/dist/{commands-M4B3MDUA.js → commands-MLYGGSUE.js} +3 -3
- package/dist/company-3KUWW7QA.js +71 -0
- package/dist/{completion-DGJH42YO.js → completion-6R5D5TQQ.js} +1 -1
- package/dist/contract-FGRHTOGI.js +86 -0
- package/dist/{department-NEDSHJJK.js → department-PN5DCCRL.js} +1 -1
- package/dist/deposit-XQER6PMG.js +4 -0
- package/dist/estimate-IXBEQVGI.js +164 -0
- package/dist/{inquiry-CUK2LWQK.js → inquiry-3VOJASJH.js} +1 -1
- package/dist/invoice-KY3BYTHQ.js +209 -0
- package/dist/{job-title-USZK3QZS.js → job-title-EM6RKGQ6.js} +1 -1
- package/dist/knowledge-F4FZ4MLH.js +112 -0
- package/dist/{leave-6UB43UT5.js → leave-D2S7NMJC.js} +2 -2
- package/dist/{media-3L4JSXC6.js → media-SQVQVX2E.js} +1 -1
- package/dist/{notification-MCABOEFM.js → notification-NTFUPUMY.js} +1 -1
- package/dist/{oneshot-RYWJ6ECA.js → oneshot-TMGTEN3S.js} +1 -1
- package/dist/{position-D7BUAIH4.js → position-D52LXRDT.js} +1 -1
- package/dist/{project-ROLQ535L.js → project-ZGOB5W25.js} +1 -1
- package/dist/{prospect-MOBECADA.js → prospect-AQ7EUU4N.js} +2 -2
- package/dist/receivable-AE44YIJO.js +49 -0
- package/dist/{registry-XXUXBYEE.js → registry-3WV46K26.js} +1 -1
- package/dist/render-MTSSHDAZ.js +3 -0
- package/dist/{report-U2ZFPO33.js → report-TI2DOJGX.js} +1 -1
- package/dist/{run-65ZPZ5FD.js → run-KNZ43HFF.js} +2 -2
- package/dist/{task-KPRX3OQX.js → task-VKVZSF7J.js} +2 -2
- package/dist/{user-VY35MTY3.js → user-KEFI7XZI.js} +2 -2
- package/dist/{workflow-5DFICP3M.js → workflow-4FHTOQZZ.js} +1 -1
- package/package.json +1 -1
- package/dist/attendance-ZWVZGVBE.js +0 -3
- package/dist/chunk-523KROGI.js +0 -3
- package/dist/chunk-6NEQ6PZZ.js +0 -3
- package/dist/chunk-R64SA5WZ.js +0 -6
- package/dist/company-DH4H6HXD.js +0 -161
- package/dist/render-W523YEYF.js +0 -3
- package/dist/sales-2WX46SHN.js +0 -4
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
import{CUSTOMER_FLAG,CUSTOMER_LICENSE,childForbidden,levelForbidden,prepareCustomerFlag}from"./chunk-QQLWMHGR.js";import{inspectLocalFile}from"./chunk-VECUCVIY.js";import{checkUploadQuota}from"./chunk-DDKZ5IPT.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MHRGKUMK.js";import{booleanText}from"./chunk-UDPJ2IGK.js";import{CUSTOMERS_PATH,isExactNumericId}from"./chunk-ELXDRPDV.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";
|
|
4
|
+
import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import{nonEmpty}from"./chunk-5R4SEO3I.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import fs from"fs";import path from"path";var CONTRACT_TYPES=["basic_contract","nda","other"];var CONTRACT_TYPE_HELP="basic_contract\uFF1D\u57FA\u672C\u5951\u7D04\u66F8 / nda\uFF1D\u6A5F\u5BC6\u4FDD\u6301\u5951\u7D04\u66F8 / other\uFF1D\u305D\u306E\u4ED6\u5951\u7D04\u66F8\u985E";var FILE_NAME_MAX_CHARS=255;var PDF_MAGIC="%PDF-";var CONTRACT_FIELDS=[{kind:"text",flag:"--name",key:"document_name",label:"\u66F8\u985E\u540D",maxChars:255,summary:"\u66F8\u985E\u540D\uFF08create \u3067\u306F\u5FC5\u9808\uFF09"},{kind:"enum",flag:"--type",key:"\
|
|
5
|
+
document_type",values:CONTRACT_TYPES,summary:`\u66F8\u985E\u7A2E\u5225\uFF08${CONTRACT_TYPE_HELP}\u30FBcreate \u3067\u306F\u5FC5\u9808\uFF09`}];var CONTRACT_COLUMNS=["document_id","company_id","document_type","document_name","current_version","updated_by_name","updated_at"];var VERSION_COLUMNS=["version_number","file_name","file_size","is_current","created_by_name","created_at"];var CASE_COLUMNS=["document_id","document_type_label","document_name","estimate_no","estimate_title","project_name","c\
|
|
6
|
+
urrent_version","updated_at"];var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B PDF \u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9.pdf>"};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\u3002\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var FORCE_FLAG={
|
|
7
|
+
name:"--force",summary:"\u66F8\u304D\u51FA\u3057\u5148\u304C\u65E2\u306B\u3042\u308C\u3070\u4E0A\u66F8\u304D\u3059\u308B\uFF08\u65E2\u5B9A\u3067\u306F\u4E0A\u66F8\u304D\u3057\u306A\u3044\uFF09",takesValue:false};var REV_FLAG={name:"--rev",summary:"\u53D6\u308A\u51FA\u3059\u7248\u306E\u756A\u53F7\uFF08\u7701\u7565\u6642\u306F\u73FE\u884C\u7248\u3002get \u306E versions \u306E version_number\uFF09",takesValue:true,placeholder:"<\u7248\u756A\u53F7>"};var CONTRACT_REF_HELP="--customer\uFF08\u9867\u5BA2\uFF09\u304C\u5FC5\u9808\u3067\u3059\u3002<\u66F8\u985EID>\
|
|
8
|
+
\u306F twp customer contract list \u306E document_id \u5217\u306E\u5024\u3067\u3059\u3002\n<\u9867\u5BA2> \u306F\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u5B8C\u5168\u4E00\u81F4\u304B ID\uFF08twp customer list \u306E id \u5217\u306E\u6570\u5B57\uFF09\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002";var VIEW_FORBIDDEN=label=>levelForbidden(CUSTOMER_LICENSE,`${label}\u3092\u898B\u308B\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
9
|
+
function usageOf(resource,op){return`twp customer ${resource} ${op} help`}function companyBase(input,kind){const id=requireResolved(input,"companyId");if(!isExactNumericId(id))throw new ApiResponseError(`\u53D6\u5F15\u5148 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return`${CUSTOMERS_PATH}/${id}/${kind}`}function singleId(input,label,usage,listHint){const[raw,...rest]=input.args;if(raw===void 0||
|
|
10
|
+
raw.trim()==="")throw new UsageError(`${label}\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(rest.length>0)throw new UsageError(`\u53D7\u3051\u53D6\u308C\u308B${label}\u306E ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,usage);const id=raw.trim();if(!isSafePathSegment(id))throw new UsageError(`${label}\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059: ${id}`,listHint);return id}function noArgs(input,op,usage){
|
|
11
|
+
if(input.args.length>0)throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}function itemsOf(body,what){const items=isRecord(body)?body["items"]:void 0;if(!isRecord(body)||body["result"]!==true||!Array.isArray(items)||!items.every(isRecord)){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B items \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
|
|
12
|
+
return items}var docUsage=op=>usageOf("contract",op);var docId=(input,op)=>singleId(input,"\u66F8\u985E",docUsage(op),"twp customer contract list \u306E document_id \u5217\u306E\u5024\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");var docPath=(input,op)=>`${companyBase(input,"contract-documents")}/${encodeURIComponent(docId(input,op))}`;function contractOf(body,what){const doc=isRecord(body)?body["contract_document"]:void 0;if(!isRecord(body)||body["result"]!==true||!isRecord(doc)||
|
|
13
|
+
typeof doc["document_id"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B contract_document.document_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return doc}function versionsOf(doc){const versions=doc["versions"];return Array.isArray(versions)?versions.filter(isRecord):[]}function localPdf(input,usage){const{file,size}=inspectLocalFile(input.flags.get(FILE_FLAG.name),FILE_FLAG.name,usage);const name=path.
|
|
14
|
+
basename(file);if(!/\.pdf$/i.test(name)){throw new UsageError(`\u5951\u7D04\u66F8\u306F PDF \u3060\u3051\u3092\u767B\u9332\u3067\u304D\u307E\u3059\uFF08\u30D5\u30A1\u30A4\u30EB\u540D\u304C .pdf \u3067\u7D42\u308F\u3063\u3066\u3044\u307E\u305B\u3093\uFF09: ${file}`)}if(Array.from(name).length>FILE_NAME_MAX_CHARS){throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u540D\u306F ${FILE_NAME_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${Array.from(name).length} \u6587\u5B57\uFF09: ${name}`)}const head=Buffer.
|
|
15
|
+
alloc(PDF_MAGIC.length);try{const fd=fs.openSync(file,"r");try{fs.readSync(fd,head,0,head.length,0)}finally{fs.closeSync(fd)}}catch(err){throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\uFF08${FILE_FLAG.name}\uFF09: ${file}\uFF08${err.code??err.message}\uFF09`)}if(head.toString("latin1")!==PDF_MAGIC){throw new UsageError(`\u6709\u52B9\u306A PDF \u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u5148\u982D\u304C ${PDF_MAGIC} \u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09: ${file}`)}
|
|
16
|
+
return{file,name,size}}function uploadUrlPlan(input){return{method:"POST",path:`${companyBase(input,"contract-documents")}/upload-url`,body:{file_name:requireResolved(input,"fileName"),file_size:Number(requireResolved(input,"fileSize"))}}}function issuedStaged(body){const uploadUrl=isRecord(body)?body["upload_url"]:void 0;const uploadKey=isRecord(body)?body["upload_key"]:void 0;const contentType=isRecord(body)?body["content_type"]:void 0;if(typeof uploadUrl!=="string"||!/^https:\/\//.test(uploadUrl)||
|
|
17
|
+
typeof uploadKey!=="string"||uploadKey===""||typeof contentType!=="string"||contentType===""){throw new ApiResponseError("\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9URL\u767A\u884C\u306E\u5FDC\u7B54\u306B upload_url / upload_key / content_type \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{uploadUrl,uploadKey,contentType}}async function uploadStaged(input,ctx,upload){const file=requireResolved(input,"file");const size=Number(
|
|
18
|
+
requireResolved(input,"fileSize"));await checkUploadQuota(ctx,size);const{uploadUrl,uploadKey,contentType}=issuedStaged(await ctx.send(upload.issue));let registerSent=false;try{const bytes=fs.readFileSync(file);if(bytes.byteLength!==size){throw new UsageError(`\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u5927\u304D\u3055\u304C\u5909\u308F\u308A\u307E\u3057\u305F\uFF08${size} \u2192 ${bytes.byteLength} \u30D0\u30A4\u30C8\uFF09: ${file}`)}await ctx.putSigned(uploadUrl,
|
|
19
|
+
bytes,contentType);registerSent=true;return await upload.register(uploadKey)}catch(err){const refused=err instanceof ApiError&&err.status>=400&&err.status<500||err instanceof NotLoggedInError||err instanceof SessionExpiredError;ctx.warn(registerSent&&!refused?`${upload.label}\u306E\u767B\u9332\u306F\u9001\u4FE1\u3057\u307E\u3057\u305F\u304C\u3001\u6210\u529F\u3092\u78BA\u304B\u3081\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6253\u3061\u76F4\u3059\u524D\u306B ${upload.retry} \u3067\u767B\u9332\u3055\u308C\u305F\u304B\u3092\u78BA\
|
|
20
|
+
\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF08\u4E8C\u91CD\u306B\u767B\u9332\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF09\u3002
|
|
21
|
+
`:`${upload.label}\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08${registerSent?"\u30B5\u30FC\u30D0\u304C\u767B\u9332\u3092\u65AD\u308A\u307E\u3057\u305F\u3002":""}\u9001\u3063\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u66F8\u985E\u3068\u3057\u3066\u6210\u7ACB\u3057\u3066\u3044\u306A\u3044\u4E00\u6642\u30D5\u30A1\u30A4\u30EB\u3067\u3001\u3069\u306E\u4E00\u89A7\u306B\u3082\u51FA\u307E\u305B\u3093\uFF09\u3002\u539F\u56E0\u3092\u53D6\u308A\u9664\u3044\u3066\u304B\u3089\u3001\u3082\u3046\u4E00\u5EA6\u540C\u3058\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
22
|
+
`);throw err}}function uploadPdf(input,ctx,retry,register){return uploadStaged(input,ctx,{label:"\u5951\u7D04\u66F8",issue:uploadUrlPlan(input),retry,register})}async function preparePdf(input,ctx,op){const pdf=localPdf(input,docUsage(op));const prepared=await prepareCustomerFlag(input,ctx,docUsage(op));return withResolved(prepared,{file:pdf.file,fileName:pdf.name,fileSize:String(pdf.size)})}var CONTRACT_EDIT_FORBIDDEN=childForbidden("\u5951\u7D04\u66F8","edit");async function createContract(input,ctx){
|
|
23
|
+
const body=fieldBody(input,CONTRACT_FIELDS);return uploadPdf(input,ctx,`twp customer contract list --customer ${requireResolved(input,"companyId")}`,async uploadKey=>{const created=contractOf(await ctx.send({method:"POST",path:companyBase(input,"contract-documents"),body:{...body,upload_key:uploadKey,file_name:requireResolved(input,"fileName")}}),"\u5951\u7D04\u66F8\u306E\u767B\u9332");return{result:true,contract_document:created}})}async function addVersion(input,ctx){const target=docPath(input,
|
|
24
|
+
"add-version");const before=contractOf(await ctx.send({method:"GET",path:target}),"\u5951\u7D04\u66F8");const previous=typeof before["current_version"]==="number"?before["current_version"]:0;return uploadPdf(input,ctx,`twp customer contract get ${docId(input,"add-version")} --customer ${requireResolved(input,"companyId")}`,async uploadKey=>{const after=contractOf(await ctx.send({method:"POST",path:`${target}/versions`,body:{upload_key:uploadKey,file_name:requireResolved(input,"fileName")}}),"\u7248\u306E\u5DEE\
|
|
25
|
+
\u66FF\u3048");const current=after["current_version"];if(typeof current!=="number"||current<=previous){throw new ApiResponseError(`\u7248\u306E\u5DEE\u66FF\u3048\u306E\u5FDC\u7B54\u3067\u73FE\u884C\u7248\u304C\u9032\u3093\u3067\u3044\u307E\u305B\u3093\uFF08\u5DEE\u66FF\u3048\u524D ${previous} \u2192 \u5FDC\u7B54 ${String(current)}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return{result:true,contract_document:after}})}function contractSummary(body,what){
|
|
26
|
+
const doc=contractOf(body,what);return{...pick(doc,CONTRACT_COLUMNS),versions:versionsOf(doc).length}}var contractResource={name:"contract",summary:"\u9867\u5BA2\u306E\u5951\u7D04\u66F8\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FBPDF \u306E\u767B\u9332\u30FB\u7248\u306E\u5DEE\u66FF\u3048\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\uFF09",operations:[{name:"list",summary:"\u9867\u5BA2\u306E\u5951\u7D04\u66F8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp customer contrac\
|
|
27
|
+
t list --customer <\u9867\u5BA2>",description:`\u9867\u5BA2\u306B\u767B\u9332\u3055\u308C\u305F\u5951\u7D04\u66F8\uFF08\u524A\u9664\u3057\u305F\u3082\u306E\u3092\u9664\u304F\uFF09\u3092\u3059\u3079\u3066\u8FD4\u3057\u307E\u3059\uFF08\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u3061\u307E\u305B\u3093\uFF09\u3002
|
|
28
|
+
\u898B\u7A4D\u306B\u7D10\u3065\u304F\u6848\u4EF6\u66F8\u985E\u306F\u542B\u307F\u307E\u305B\u3093\uFF08twp customer case-document list\uFF09\u3002
|
|
29
|
+
|
|
30
|
+
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
31
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${CONTRACT_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[CUSTOMER_FLAG],forbidden:VIEW_FORBIDDEN("\u5951\u7D04\u66F8"),async prepare(input,ctx){noArgs(input,"list",docUsage("list"));return prepareCustomerFlag(input,ctx,docUsage("list"))},plan:input=>({method:"GET",path:companyBase(input,"contract-documents")}),summarize:body=>itemsOf(body,"\u5951\u7D04\u66F8\u4E00\u89A7").map(row=>pick(row,CONTRACT_COLUMNS)),raw:body=>itemsOf(body,
|
|
32
|
+
"\u5951\u7D04\u66F8\u4E00\u89A7")},{name:"get",summary:"\u5951\u7D04\u66F81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u73FE\u884C\u7248\u30FB\u904E\u53BB\u7248\u3092\u542B\u3080\uFF09",usage:"twp customer contract get <\u66F8\u985EID> --customer <\u9867\u5BA2>",description:`${CONTRACT_REF_HELP}
|
|
33
|
+
|
|
34
|
+
--output json \u306F\u73FE\u884C\u7248\u30FB\u904E\u53BB\u7248\uFF08versions\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
35
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${CONTRACT_COLUMNS.join(" / ")} / versions\uFF1D\u7248\u306E\u6570\uFF09\u3067\u3059\u3002
|
|
36
|
+
\u7248\u3054\u3068\u306E\u5217\u306F ${VERSION_COLUMNS.join(" / ")} \u3067\u3059\uFF08--output json\uFF09\u3002`,flags:[CUSTOMER_FLAG],forbidden:VIEW_FORBIDDEN("\u5951\u7D04\u66F8"),async prepare(input,ctx){docId(input,"get");return prepareCustomerFlag(input,ctx,docUsage("get"))},plan:input=>({method:"GET",path:docPath(input,"get")}),summarize:body=>contractSummary(body,"\u5951\u7D04\u66F8"),raw:body=>contractOf(body,"\u5951\u7D04\u66F8")},{name:"create",summary:"PDF \u3092\u9867\u5BA2\u306E\u5951\u7D04\u66F8\u3068\u3057\u3066\u767B\u9332\u3059\u308B\uFF08\u5BB9\u91CF\u691C\u67FB\u30FB\u8EE2\u9001\u30FB\u767B\u9332\u30921\u30B3\
|
|
37
|
+
\u30DE\u30F3\u30C9\u3067\uFF09",usage:"twp customer contract create --customer <\u9867\u5BA2> --file <\u30D1\u30B9.pdf> --type <\u7A2E\u5225> --name <\u66F8\u985E\u540D>",description:`--customer\u30FB--file\u30FB--type\uFF08${CONTRACT_TYPE_HELP}\uFF09\u30FB--name \u304C\u5FC5\u9808\u3067\u3059\u3002
|
|
38
|
+
|
|
39
|
+
\u6B21\u306E\u9806\u306B\u9001\u308A\u307E\u3059\u3002
|
|
40
|
+
0. POST /api/v2/storage/check-upload\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u5BB9\u91CF\u691C\u67FB\u3002\u8D85\u904E\u306A\u3089\u4F55\u3082\u9001\u3089\u305A\u306B\u6B62\u307E\u308A\u307E\u3059\uFF09
|
|
41
|
+
1. POST \u2026/contract-documents/upload-url\uFF08\u7F72\u540DURL\u306E\u767A\u884C\uFF09
|
|
42
|
+
2. \u7F72\u540DURL\u3078 PUT\uFF08PDF \u672C\u4F53\u3002TWP \u306E\u8A8D\u8A3C\u60C5\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09
|
|
43
|
+
3. POST \u2026/contract-documents\uFF08\u66F8\u985E\u306E\u767B\u9332\u3002\u3053\u3053\u3067\u5951\u7D04\u66F8\u304C\u6210\u7ACB\u3057\u307E\u3059\uFF09
|
|
44
|
+
PDF \u4EE5\u5916\uFF08\u30D5\u30A1\u30A4\u30EB\u540D\u304C .pdf \u3067\u7D42\u308F\u3089\u306A\u3044\u30FB\u4E2D\u8EAB\u306E\u5148\u982D\u304C %PDF- \u3067\u306A\u3044\uFF09\u306F\u3001\u4F55\u3082\u9001\u3089\u305A\u306B\u6B62\u3081\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u3082\u540C\u3058\u6761\u4EF6\u3067\u65AD\u308A\u307E\u3059\uFF09\u3002
|
|
45
|
+
--dry-run \u306F 1 \u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\uFF082 \u4EE5\u964D\u306F 1 \u306E\u5FDC\u7B54\u306B\u4F9D\u5B58\u3059\u308B\u305F\u3081\uFF09\u3002
|
|
46
|
+
\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002`,flags:[CUSTOMER_FLAG,FILE_FLAG,...createFlags(CONTRACT_FIELDS)],forbidden:CONTRACT_EDIT_FORBIDDEN,async prepare(input,ctx){noArgs(input,"create",docUsage("create"));fieldBody(input,CONTRACT_FIELDS);for(const flag of["--type","--name"]){if(!input.flags.has(flag))throw new UsageError(`${flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,
|
|
47
|
+
docUsage("create"))}return preparePdf(input,ctx,"create")},plan:uploadUrlPlan,plannedNotes:input=>[`\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u5BB9\u91CF\u691C\u67FB\uFF08POST /api/v2/storage/check-upload\uFF09\u3092\u9001\u308A\u3001\u3053\u306E\u3042\u3068\u7F72\u540DURL\u3078 ${requireResolved(input,"fileSize")} \u30D0\u30A4\u30C8\u3092 PUT \u3057\u3066\u304B\u3089\u3001POST ${companyBase(input,"contract-documents")} \u3067\u5951\u7D04\u66F8\u3092\u767B\u9332\u3057\u307E\u3059\u3002`],
|
|
48
|
+
execute:createContract,summarize:body=>contractSummary(body,"\u5951\u7D04\u66F8\u306E\u767B\u9332"),raw:body=>contractOf(body,"\u5951\u7D04\u66F8\u306E\u767B\u9332")},{name:"add-version",summary:"\u5951\u7D04\u66F8\u306B\u65B0\u3057\u3044\u7248\u306E PDF \u3092\u767B\u9332\u3059\u308B\uFF08\u5DEE\u66FF\u3048\u3002\u904E\u53BB\u7248\u306F\u6B8B\u308A\u307E\u3059\uFF09",usage:"twp customer contract add-version <\u66F8\u985EID> --customer <\u9867\u5BA2> --file <\u30D1\u30B9.pdf>",description:`${CONTRACT_REF_HELP}\
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
\u66F8\u985E\u304C\u3053\u306E\u9867\u5BA2\u306B\u3042\u308B\u3053\u3068\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\u3001\u5BB9\u91CF\u691C\u67FB \u2192 \u7F72\u540DURL\u306E\u767A\u884C \u2192 PUT \u2192 POST \u2026/{\u66F8\u985EID}/versions \u306E\u9806\u306B\u9001\u308A\u307E\u3059\u3002
|
|
52
|
+
\u767B\u9332\u3057\u305F PDF \u304C\u73FE\u884C\u7248\u306B\u306A\u308A\u3001\u305D\u308C\u307E\u3067\u306E\u7248\u306F\u904E\u53BB\u7248\u3068\u3057\u3066\u6B8B\u308A\u307E\u3059\uFF08twp customer contract get \u306E versions\uFF09\u3002
|
|
53
|
+
\u5FDC\u7B54\u3067\u73FE\u884C\u7248\u306E\u756A\u53F7\u304C\u9032\u3093\u3060\u3053\u3068\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\u6210\u529F\u3092\u540D\u4E57\u308A\u307E\u3059\u3002
|
|
54
|
+
PDF \u4EE5\u5916\u306F\u4F55\u3082\u9001\u3089\u305A\u306B\u6B62\u3081\u307E\u3059\u3002--dry-run \u306F\u7F72\u540DURL\u306E\u767A\u884C\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
|
55
|
+
\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002`,flags:[CUSTOMER_FLAG,FILE_FLAG],forbidden:CONTRACT_EDIT_FORBIDDEN,async prepare(input,ctx){docId(input,"add-version");return preparePdf(input,ctx,"add-version")},plan:uploadUrlPlan,plannedNotes:input=>[`\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B GET ${docPath(input,"add-version")}\uFF08\u66F8\u985E\u306E\u78BA\u8A8D\uFF09\u3068\u5BB9\u91CF\u691C\u67FB\u3092\u9001\u308A\u3001\u3053\u306E\u3042\u3068\u7F72\u540DURL\u3078 ${requireResolved(
|
|
56
|
+
input,"fileSize")} \u30D0\u30A4\u30C8\u3092 PUT \u3057\u3066\u304B\u3089\u3001POST ${docPath(input,"add-version")}/versions \u3067\u7248\u3092\u767B\u9332\u3057\u307E\u3059\u3002`],execute:addVersion,summarize:body=>contractSummary(body,"\u7248\u306E\u5DEE\u66FF\u3048"),raw:body=>contractOf(body,"\u7248\u306E\u5DEE\u66FF\u3048")},{name:"update",summary:"\u5951\u7D04\u66F8\u306E\u66F8\u985E\u540D\u30FB\u7A2E\u5225\u3092\u5909\u66F4\u3059\u308B\uFF08PDF \u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09",
|
|
57
|
+
usage:"twp customer contract update <\u66F8\u985EID> --customer <\u9867\u5BA2> [--name <\u66F8\u985E\u540D>] [--type <\u7A2E\u5225>]",description:`${CONTRACT_REF_HELP}
|
|
58
|
+
|
|
59
|
+
\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u66F4\u3057\u307E\u3059\u3002\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
|
|
60
|
+
PDF \u3092\u5DEE\u3057\u66FF\u3048\u308B\u306A\u3089 twp customer contract add-version \u3092\u4F7F\u3044\u307E\u3059\u3002`,flags:[CUSTOMER_FLAG,...updateFlags(CONTRACT_FIELDS)],forbidden:CONTRACT_EDIT_FORBIDDEN,async prepare(input,ctx){if(!hasAnyField(input,CONTRACT_FIELDS))throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",docUsage("update"));fieldBody(input,CONTRACT_FIELDS);docId(input,"update");return prepareCustomerFlag(
|
|
61
|
+
input,ctx,docUsage("update"))},plan:input=>({method:"PUT",path:docPath(input,"update"),body:fieldBody(input,CONTRACT_FIELDS)}),summarize:body=>contractSummary(body,"\u5951\u7D04\u66F8\u306E\u66F4\u65B0"),raw:body=>contractOf(body,"\u5951\u7D04\u66F8\u306E\u66F4\u65B0")},{name:"delete",summary:"\u5951\u7D04\u66F8\u3092\u524A\u9664\u3059\u308B\uFF08\u5168\u7248\u3002\u9867\u5BA2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09",usage:"twp customer contract delete\
|
|
62
|
+
<\u66F8\u985EID> --customer <\u9867\u5BA2> --yes",description:`${CONTRACT_REF_HELP}
|
|
63
|
+
|
|
64
|
+
\u66F8\u985E\u3092\u904E\u53BB\u7248\u3054\u3068\u524A\u9664\u3057\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306F\u8AD6\u7406\u524A\u9664\u3067\u3001\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304B\u3089\u6D88\u3048\u307E\u3059\uFF09\u3002
|
|
65
|
+
\u9867\u5BA2\uFF08\u53D6\u5F15\u5148\uFF09\u3092\u524A\u9664\u3059\u308B\u524D\u306B\u3001\u305D\u306E\u9867\u5BA2\u306E\u5951\u7D04\u66F8\u3092\u6D88\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\uFF08\u6B8B\u3063\u3066\u3044\u308B\u3068\u30B5\u30FC\u30D0\u304C\u9867\u5BA2\u306E\u524A\u9664\u3092\u65AD\u308A\u307E\u3059\uFF09\u3002`,destructive:true,flags:[CUSTOMER_FLAG],forbidden:childForbidden("\u5951\u7D04\u66F8","delete"),async prepare(input,ctx){docId(input,"delete");return prepareCustomerFlag(
|
|
66
|
+
input,ctx,docUsage("delete"))},plan:input=>({method:"DELETE",path:docPath(input,"delete")}),summarize:body=>acknowledgement(body,"\u5951\u7D04\u66F8\u524A\u9664"),raw:body=>acknowledgement(body,"\u5951\u7D04\u66F8\u524A\u9664")},{name:"download",summary:"\u5951\u7D04\u66F8\u306E PDF \u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u3078\u66F8\u304D\u51FA\u3059\uFF08\u65E2\u5B9A\u306F\u73FE\u884C\u7248\uFF09",usage:"twp customer contract download <\u66F8\u985EID> --customer <\u9867\
|
|
67
|
+
\u5BA2> --out <\u30D1\u30B9> [--rev <\u7248\u756A\u53F7>] [--force]",description:`${CONTRACT_REF_HELP}
|
|
68
|
+
|
|
69
|
+
\u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002
|
|
70
|
+
\u904E\u53BB\u7248\u306F --rev \u3067\u7248\u756A\u53F7\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08twp customer contract get \u306E versions \u306E version_number\uFF09\u3002`,flags:[CUSTOMER_FLAG,OUT_FLAG,REV_FLAG,FORCE_FLAG],forbidden:VIEW_FORBIDDEN("\u5951\u7D04\u66F8"),download:{outFlag:OUT_FLAG.name,forceFlag:FORCE_FLAG.name},async prepare(input,ctx){docId(input,"download");revOf(input);return prepareCustomerFlag(input,ctx,docUsage("download"))},plan:input=>({method:"GET",path:`${docPath(input,
|
|
71
|
+
"download")}/download`,query:{version:revOf(input)}}),summarize:body=>body,raw:body=>body}]};function revOf(input,usage=docUsage("download")){const raw=input.flags.get(REV_FLAG.name);if(raw===void 0)return void 0;const value=/^\d+$/.test(raw.trim())?Number(raw.trim()):Number.NaN;if(!Number.isSafeInteger(value)||value<1)throw new UsageError(`--rev \u306F 1 \u4EE5\u4E0A\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usage);return value}var caseDocumentResource={name:"\
|
|
72
|
+
case-document",summary:"\u9867\u5BA2\u306E\u6848\u4EF6\u66F8\u985E\uFF08\u898B\u7A4D\u3092\u307E\u305F\u3044\u3060\u4E00\u89A7\u306E\u307F\uFF09",operations:[{name:"list",summary:"\u9867\u5BA2\u306E\u6848\u4EF6\u66F8\u985E\u3092\u898B\u7A4D\u3092\u307E\u305F\u3044\u3067\u4E00\u89A7\u3059\u308B",usage:"twp customer case-document list --customer <\u9867\u5BA2>",description:`\u9867\u5BA2\u306E\u3059\u3079\u3066\u306E\u898B\u7A4D\u306B\u7D10\u3065\u304F\u6848\u4EF6\u66F8\u985E\u3092\u8FD4\u3057\u307E\u3059\uFF08\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u3061\u307E\u305B\u3093\uFF09\u3002
|
|
73
|
+
\u767B\u9332\u30FB\u5DEE\u66FF\u3048\u30FB\u524A\u9664\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306F\u898B\u7A4D\u3054\u3068\u306E\u64CD\u4F5C\u3067\u3001\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u3067\u306F\u6271\u3044\u307E\u305B\u3093\u3002
|
|
74
|
+
|
|
75
|
+
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
76
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${CASE_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[CUSTOMER_FLAG],forbidden:VIEW_FORBIDDEN("\u6848\u4EF6\u66F8\u985E"),async prepare(input,ctx){noArgs(input,"list",usageOf("case-document","list"));return prepareCustomerFlag(input,ctx,usageOf("case-document","list"))},plan:input=>({method:"GET",path:companyBase(input,"case-documents")}),summarize:body=>itemsOf(body,"\u6848\u4EF6\u66F8\u985E\u4E00\u89A7").map(row=>pick(row,CASE_COLUMNS)),
|
|
77
|
+
raw:body=>itemsOf(body,"\u6848\u4EF6\u66F8\u985E\u4E00\u89A7")}]};var CAMPAIGNS_PATH=`${CUSTOMERS_PATH}/campaigns`;var CAMPAIGN_COLUMNS=["id","name","description","sort_order","is_active","updated_at"];var CAMPAIGN_FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u65BD\u7B56\u540D",maxChars:255,summary:"\u65BD\u7B56\u540D\uFF08create \u3067\u306F\u5FC5\u9808\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E\uFF081,000 \u6587\u5B57\u307E\u3067\uFF09"},
|
|
78
|
+
{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u4E26\u3073\u9806",min:0,summary:"\u4E26\u3073\u9806\uFF080 \u4EE5\u4E0A\u306E\u6574\u6570\u3002\u5C0F\u3055\u3044\u307B\u3069\u5148\uFF09"},{kind:"boolean",flag:"--active",key:"is_active",summary:"\u6709\u52B9\u306B\u3059\u308B\u304B\uFF08true / false\uFF09"}];var campaignUsage=op=>usageOf("campaign",op);var campaignId=(input,op)=>singleId(input,"\u65BD\u7B56",campaignUsage(op),"twp customer campaign list \u306E id \u5217\u306E\u5024\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
|
|
79
|
+
var campaignPath=(input,op)=>`${CAMPAIGNS_PATH}/${encodeURIComponent(campaignId(input,op))}`;var CAMPAIGN_ADMIN_FORBIDDEN=levelForbidden(CUSTOMER_LICENSE,"\u65BD\u7B56\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");function campaignOf(body,what){
|
|
80
|
+
const data=isRecord(body)?body["data"]:void 0;if(!isRecord(body)||body["result"]!==true||!isRecord(data)||typeof data["id"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B data.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}var campaignResource={name:"campaign",summary:"\u65BD\u7B56\uFF08\u30AD\u30E3\u30F3\u30DA\u30FC\u30F3\uFF09\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF08\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u306F\u7BA1\u7406\u8005\u306E\u307F\uFF09",
|
|
81
|
+
operations:[{name:"list",summary:"\u65BD\u7B56\u3092\u4E26\u3073\u9806\u306B\u4E00\u89A7\u3059\u308B",usage:"twp customer campaign list [--keyword <\u8A9E>] [--active true|false]",description:`\u65BD\u7B56\u3092\u4E26\u3073\u9806\uFF08sort_order\uFF09\u306E\u6607\u9806\u306B\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\uFF08\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u3061\u307E\u305B\u3093\uFF09\u3002
|
|
82
|
+
--keyword \u306F\u65BD\u7B56\u540D\u30FB\u8AAC\u660E\u306E\u90E8\u5206\u4E00\u81F4\u3067\u3059\u3002--active \u3067\u6709\u52B9\u30FB\u7121\u52B9\u3092\u7D5E\u308A\u8FBC\u307F\u307E\u3059\u3002
|
|
83
|
+
\u65BD\u7B56\u306E ID \u306F\u3001\u62C5\u5F53\u8005\u30FB\u30A2\u30D7\u30ED\u30FC\u30C1\u5148\u306E\u7D5E\u308A\u8FBC\u307F\uFF08twp customer people list --campaign / twp prospect list --campaign\uFF09\u306B\u4F7F\u3044\u307E\u3059\u3002
|
|
84
|
+
|
|
85
|
+
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
86
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${CAMPAIGN_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--keyword",summary:"\u65BD\u7B56\u540D\u30FB\u8AAC\u660E\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--active",summary:"\u6709\u52B9\uFF08true\uFF09\u30FB\u7121\u52B9\uFF08false\uFF09\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<true|false>"}],forbidden:VIEW_FORBIDDEN("\u65BD\u7B56"),plan(input){
|
|
87
|
+
noArgs(input,"list",campaignUsage("list"));const active=input.flags.get("--active");return{method:"GET",path:CAMPAIGNS_PATH,query:{keyword:nonEmpty(input.flags,"--keyword"),is_active:active===void 0?void 0:booleanText("--active",active)?"1":"0"}}},summarize:body=>itemsOf(body,"\u65BD\u7B56\u4E00\u89A7").map(row=>pick(row,CAMPAIGN_COLUMNS)),raw:body=>itemsOf(body,"\u65BD\u7B56\u4E00\u89A7")},{name:"get",summary:"\u65BD\u7B561\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:"twp custo\
|
|
88
|
+
mer campaign get <\u65BD\u7B56ID>",description:"\u65BD\u7B56\u306E ID \u306F twp customer campaign list \u306E id \u5217\u306E\u5024\u3067\u3059\u3002",flags:[],forbidden:VIEW_FORBIDDEN("\u65BD\u7B56"),plan:input=>({method:"GET",path:campaignPath(input,"get")}),summarize:body=>pick(campaignOf(body,"\u65BD\u7B56"),CAMPAIGN_COLUMNS),raw:body=>campaignOf(body,"\u65BD\u7B56")},{name:"create",summary:"\u65BD\u7B56\u3092\u4F5C\u6210\u3059\u308B\uFF08\u9867\u5BA2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306E\u307F\uFF09",
|
|
89
|
+
usage:"twp customer campaign create --name <\u65BD\u7B56\u540D> [--description <\u8AAC\u660E>] [--sort-order <\u6574\u6570>] [--active true|false]",description:"--name \u304C\u5FC5\u9808\u3067\u3059\u3002\u4F5C\u6210\u3057\u305F\u65BD\u7B56\u306E ID \u304C\u8FD4\u308A\u307E\u3059\u3002",flags:createFlags(CAMPAIGN_FIELDS),forbidden:CAMPAIGN_ADMIN_FORBIDDEN,plan(input){noArgs(input,"create",campaignUsage("create"));if(!input.flags.has("--name"))throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
90
|
+
campaignUsage("create"));return{method:"POST",path:CAMPAIGNS_PATH,body:fieldBody(input,CAMPAIGN_FIELDS)}},summarize:body=>pick(campaignOf(body,"\u65BD\u7B56\u306E\u4F5C\u6210"),CAMPAIGN_COLUMNS),raw:body=>campaignOf(body,"\u65BD\u7B56\u306E\u4F5C\u6210")},{name:"update",summary:"\u65BD\u7B56\u3092\u66F4\u65B0\u3059\u308B\uFF08\u9867\u5BA2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp customer campaign update <\u65BD\u7B56ID> [--name <\u65BD\u7B56\u540D>] [--description <\u8AAC\u660E>] [--sort-order <\u6574\u6570>] [--ac\
|
|
91
|
+
tive true|false]",description:"\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u66F4\u3057\u307E\u3059\u3002\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002",flags:updateFlags(CAMPAIGN_FIELDS),forbidden:CAMPAIGN_ADMIN_FORBIDDEN,plan(input){if(!hasAnyField(input,CAMPAIGN_FIELDS))throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
92
|
+
campaignUsage("update"));return{method:"PUT",path:campaignPath(input,"update"),body:fieldBody(input,CAMPAIGN_FIELDS)}},summarize:body=>pick(campaignOf(body,"\u65BD\u7B56\u306E\u66F4\u65B0"),CAMPAIGN_COLUMNS),raw:body=>campaignOf(body,"\u65BD\u7B56\u306E\u66F4\u65B0")},{name:"delete",summary:"\u65BD\u7B56\u3092\u524A\u9664\u3059\u308B\uFF08\u9867\u5BA2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09",usage:"twp customer campaign delete <\u65BD\u7B56ID> --yes",description:"\
|
|
93
|
+
\u65BD\u7B561\u4EF6\u3092\u524A\u9664\u3057\u307E\u3059\u3002\n\u30B5\u30FC\u30D0\u306F\u62C5\u5F53\u8005\u30FB\u30A2\u30D7\u30ED\u30FC\u30C1\u5148\u304B\u3089\u306E\u53C2\u7167\u3092\u691C\u67FB\u305B\u305A\u306B\u6D88\u3057\u307E\u3059\uFF08\u305D\u308C\u3089\u306B\u4ED8\u3044\u305F\u65BD\u7B56\u306E ID \u306F\u305D\u306E\u307E\u307E\u6B8B\u308A\u307E\u3059\uFF09\u3002\n\u53C2\u7167\u3092\u6B8B\u3057\u305F\u307E\u307E\u6B62\u3081\u308B\u306A\u3089\u3001\u524A\u9664\u3067\u306F\u306A\u304F twp customer campaign update <\u65BD\u7B56ID> --active false \u3067\u7121\u52B9\u306B\u3057\u307E\u3059\u3002",
|
|
94
|
+
destructive:true,flags:[],forbidden:CAMPAIGN_ADMIN_FORBIDDEN,plan:input=>({method:"DELETE",path:campaignPath(input,"delete")}),summarize:body=>acknowledgement(body,"\u65BD\u7B56\u524A\u9664"),raw:body=>acknowledgement(body,"\u65BD\u7B56\u524A\u9664")}]};var customerDocumentSubresources=[contractResource,caseDocumentResource,campaignResource];export{OUT_FLAG,FORCE_FLAG,REV_FLAG,singleId,uploadStaged,revOf,customerDocumentSubresources};
|
|
@@ -9,13 +9,13 @@ get(name);if(raw===void 0)return void 0;if(raw.trim()==="")throw new UsageError(
|
|
|
9
9
|
"next_cursor"in nested?nested["next_cursor"]:record["next_cursor"]}}function envelopePaging(options){const itemsKey=options.itemsKey??"items";const cursorParam=options.cursorParam??"cursor";const readCursor=options.readCursor??readEnvelopeCursor;const items=body=>{const value=isRecord(body)?body[itemsKey]:void 0;if(!Array.isArray(value)){throw new ApiResponseError(`${options.label}\u306E\u5FDC\u7B54\u306B ${itemsKey} \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
|
|
10
10
|
return value};return{cursorParam,items,readCursor,nextCursor(body){const{hasMore,cursor}=readCursor(body);if(hasMore!==true){if(hasMore===false||hasMore===void 0&&cursor===void 0||hasMore===null){return null}throw new ApiResponseError(`${options.label}\u306E\u5FDC\u7B54\u306E has_more \u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${JSON.stringify(hasMore)??"undefined"}\uFF09\u3002\u7D9A\u304D\u306E\u6709\u7121\u3092\u5224\u5B9A\u3067\u304D\u306A\u3044\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\u3002`)}
|
|
11
11
|
if(typeof cursor!=="string"||cursor===""){throw new ApiResponseError(`${options.label}\u306E\u5FDC\u7B54\u306B\u7D9A\u304D\u304C\u3042\u308B\uFF08has_more: true\uFF09\u3068\u793A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001next_cursor \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5168\u4EF6\u3092\u53D6\u5F97\u3067\u304D\u306A\u3044\u305F\u3081\u4E2D\u65AD\u3057\u307E\u3057\u305F\u3002`)}return cursor},withItems(body,merged){items(body);return{...body,[itemsKey]:[...merged]}}}}function readPageNumberCursor(body){
|
|
12
|
-
const record=isRecord(body)?body:{};const pageNo=record["page_no"];const pageSum=record["page_sum"];if(!Number.isInteger(pageNo)||!Number.isInteger(pageSum)){return{hasMore:`page_no=${JSON.stringify(pageNo)??"undefined"} / page_sum=${JSON.stringify(pageSum)??"undefined"}`,cursor:void 0}}return pageNo<pageSum?{hasMore:true,cursor:String(pageNo+1)}:{hasMore:false,cursor:null}}function
|
|
13
|
-
page_no",readCursor:readPageNumberCursor})}var PAGE_NUMBER_LIST_FLAGS=LIST_FLAGS.map(spec=>spec.name==="--cursor"?{...spec,summary:"\u7D9A\u304D\u3092\u53D6\u5F97\u3059\u308B\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u300C\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u300D\u306E\u6848\u5185\u306B\u51FA\u308B\u5024\u30FB1\u59CB\u307E\u308A\uFF09",placeholder:"
|
|
14
|
-
spec);var PAGE_NUMBER_PAGING_HELP=" \u26A0 \u3053\u306E\u4E00\u89A7\u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08--cursor \u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u3059\uFF09\u3002\n \u4E26\u3073\u306F\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\uFF08ID \u306E\u964D\u9806\uFF09\u306B\u56FA\u5B9A\u3057\u3066\u3044\u307E\u3059\uFF08\u30DA\u30FC\u30B8\u3092\u307E\u305F\u3044\u3067\u3082\u884C\u304C\u629C\u3051\u305F\u308A\u91CD\u306A\u3063\u305F\u308A\u3057\u306A\u3044\u305F\u3081\uFF09\u3002\n \u8FBF\u3063\u3066\u3044\u308B\u6700\u4E2D\u306B\u30C7\u30FC\u30BF\u304C\u5897\u6E1B\u3059\u308B\u3068\u3001\
|
|
15
|
-
function pageRangeNotes(body){if(!isRecord(body))return[];const pageNo=body["page_no"];const pageSum=body["page_sum"];if(!Number.isInteger(pageNo)||!Number.isInteger(pageSum)||pageNo<=pageSum||pageSum===0){return[]}return[`\u30DA\u30FC\u30B8 ${pageNo} \u306F\u7BC4\u56F2\u5916\u3067\u3059\uFF08\u5168 ${pageSum} \u30DA\u30FC\u30B8\uFF09\u3002
|
|
16
|
-
const limit=positiveInteger(input.flags,"--limit");const page=positiveInteger(input.flags,"--cursor");return{page_no:page===void 0?void 0:String(page),page_limit:limit}}var SHELL_SAFE=/^[A-Za-z0-9_@%+:,./-][A-Za-z0-9_@%+=:,./-]*$/;function shellQuote(value){if(SHELL_SAFE.test(value))return value;return`'${value.replace(/'/g,"'\\''")}'`}function flagSegment(name,value){return value.startsWith("-")?`${name}
|
|
17
|
-
map(spec=>spec.name).filter(name=>name!=="--limit"));var CONTROL_CHARS=/[\u0000-\u001f\u007f-\u009f]/;function nextPageCommand(input,cursor,context){const flags=[];if(context.profile!==void 0)flags.push(flagSegment("--profile",context.profile));for(const spec of context.flags){if(PAGING_CONTROL_FLAGS.has(spec.name))continue;if(spec.repeatable===true){for(const value2 of input.repeated?.get(spec.name)??
|
|
18
|
-
void 0)continue;flags.push(spec.takesValue?flagSegment(spec.name,value):spec.name)}flags.push(flagSegment("--cursor",cursor));const args=input.args.map(arg=>shellQuote(arg));const separated=input.args.some(arg=>arg.startsWith("-"));return separated?[context.command,...flags,"--",...args].join(" "):[context.command,...args,...flags].join(" ")}function nextPageNotes(body,input,context){const{hasMore,
|
|
19
|
-
null||hasMore===void 0&&cursor===void 0)return[];return[`\u5FDC\u7B54\u306E has_more \u3092\u89E3\u91C8\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u7D9A\u304D\u306E\u6709\u7121\u3092\u5224\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${JSON.stringify(hasMore)??"undefined"}\uFF09\u3002\u5168\u4EF6\u304C\u8981\u308B\u306A\u3089 --all \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`]}
|
|
20
|
-
\u308A\u307E\u305B\u3093\u3002"];if(CONTROL_CHARS.test(cursor)){return["\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u5FDC\u7B54\u306E next_cursor \u306B\u5236\u5FA1\u6587\u5B57\u304C\u542B\u307E\u308C\u308B\u305F\u3081\u6848\u5185\u3092\u51FA\u305B\u307E\u305B\u3093\u3002--all \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002"]}const hint=context.
|
|
21
|
-
input,cursor,context)}${hint}`]}export{DEFAULT_MAX_PAGES,DEFAULT_MAX_ITEMS,LIST_FLAGS,LIST_PAGING_HELP,positiveInteger,nonEmpty,readEnvelopeCursor,envelopePaging,pageNumberPaging,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,pageRangeNotes,STABLE_PAGE_ORDER,pageNumberQuery,shellQuote,flagSegment,nextPageNotes};
|
|
12
|
+
const record=isRecord(body)?body:{};const pageNo=record["page_no"];const pageSum=record["page_sum"];if(!Number.isInteger(pageNo)||!Number.isInteger(pageSum)){return{hasMore:`page_no=${JSON.stringify(pageNo)??"undefined"} / page_sum=${JSON.stringify(pageSum)??"undefined"}`,cursor:void 0}}return pageNo<pageSum?{hasMore:true,cursor:String(pageNo+1)}:{hasMore:false,cursor:null}}function isPageNumberEnvelope(body){if(!isRecord(body)||!("page_no"in body)&&!("page_sum"in body))return false;return readEnvelopeCursor(
|
|
13
|
+
body).hasMore===void 0}function pageNumberPaging(options){return envelopePaging({label:options.label,itemsKey:options.itemsKey??"list",cursorParam:"page_no",readCursor:readPageNumberCursor})}var PAGE_NUMBER_LIST_FLAGS=LIST_FLAGS.map(spec=>spec.name==="--cursor"?{...spec,summary:"\u7D9A\u304D\u3092\u53D6\u5F97\u3059\u308B\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u300C\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u300D\u306E\u6848\u5185\u306B\u51FA\u308B\u5024\u30FB1\u59CB\u307E\u308A\uFF09",placeholder:"\
|
|
14
|
+
<\u30DA\u30FC\u30B8\u756A\u53F7>"}:spec.name==="--limit"?{...spec,summary:"1\u30DA\u30FC\u30B8\u306E\u4EF6\u6570\uFF08\u65E2\u5B9A 20\u30FB\u30B5\u30FC\u30D0\u306E\u4E0A\u9650 100 \u3067\u5207\u308A\u6368\u3066\u3089\u308C\u307E\u3059\uFF0F--all \u3068\u4F75\u7528\u3057\u305F\u3068\u304D\u30821\u30DA\u30FC\u30B8\u306E\u4EF6\u6570\uFF09"}:spec);var PAGE_NUMBER_PAGING_HELP=" \u26A0 \u3053\u306E\u4E00\u89A7\u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08--cursor \u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u3059\uFF09\u3002\n \u4E26\u3073\u306F\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\uFF08ID \u306E\u964D\u9806\uFF09\u306B\u56FA\u5B9A\u3057\u3066\u3044\u307E\u3059\uFF08\u30DA\u30FC\u30B8\u3092\u307E\u305F\u3044\u3067\u3082\u884C\u304C\u629C\u3051\u305F\u308A\u91CD\u306A\u3063\u305F\u308A\u3057\u306A\u3044\u305F\u3081\uFF09\u3002\n \u8FBF\u3063\u3066\u3044\u308B\u6700\u4E2D\u306B\u30C7\u30FC\u30BF\u304C\u5897\u6E1B\u3059\u308B\u3068\u3001\
|
|
15
|
+
\u53D6\u308A\u3053\u307C\u3057\u30FB\u91CD\u8907\u304C\u8D77\u3053\u308A\u5F97\u307E\u3059\u3002";function pageRangeNotes(body,pageFlag="--cursor"){if(!isRecord(body))return[];const pageNo=body["page_no"];const pageSum=body["page_sum"];if(!Number.isInteger(pageNo)||!Number.isInteger(pageSum)||pageNo<=pageSum||pageSum===0){return[]}return[`\u30DA\u30FC\u30B8 ${pageNo} \u306F\u7BC4\u56F2\u5916\u3067\u3059\uFF08\u5168 ${pageSum} \u30DA\u30FC\u30B8\uFF09\u3002${pageFlag} \u3092 ${pageSum} \u4EE5\u4E0B\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002`]}
|
|
16
|
+
var STABLE_PAGE_ORDER={sort_column:"id",sort_direction:"desc"};function pageNumberQuery(input){const limit=positiveInteger(input.flags,"--limit");const page=positiveInteger(input.flags,"--cursor");return{page_no:page===void 0?void 0:String(page),page_limit:limit}}var SHELL_SAFE=/^[A-Za-z0-9_@%+:,./-][A-Za-z0-9_@%+=:,./-]*$/;function shellQuote(value){if(SHELL_SAFE.test(value))return value;return`'${value.replace(/'/g,"'\\''")}'`}function flagSegment(name,value){return value.startsWith("-")?`${name}\
|
|
17
|
+
=${shellQuote(value)}`:`${name} ${shellQuote(value)}`}var PAGING_CONTROL_FLAGS=new Set(LIST_FLAGS.map(spec=>spec.name).filter(name=>name!=="--limit"));var CONTROL_CHARS=/[\u0000-\u001f\u007f-\u009f]/;function nextPageCommand(input,cursor,context){const flags=[];if(context.profile!==void 0)flags.push(flagSegment("--profile",context.profile));for(const spec of context.flags){if(PAGING_CONTROL_FLAGS.has(spec.name))continue;if(spec.repeatable===true){for(const value2 of input.repeated?.get(spec.name)??
|
|
18
|
+
[])flags.push(flagSegment(spec.name,value2));continue}const value=input.flags.get(spec.name);if(value===void 0)continue;flags.push(spec.takesValue?flagSegment(spec.name,value):spec.name)}flags.push(flagSegment("--cursor",cursor));const args=input.args.map(arg=>shellQuote(arg));const separated=input.args.some(arg=>arg.startsWith("-"));return separated?[context.command,...flags,"--",...args].join(" "):[context.command,...args,...flags].join(" ")}function nextPageNotes(body,input,context){const{hasMore,
|
|
19
|
+
cursor}=(context.readCursor??readEnvelopeCursor)(body);if(hasMore!==true){if(hasMore===false||hasMore===null||hasMore===void 0&&cursor===void 0)return[];return[`\u5FDC\u7B54\u306E has_more \u3092\u89E3\u91C8\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u7D9A\u304D\u306E\u6709\u7121\u3092\u5224\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${JSON.stringify(hasMore)??"undefined"}\uFF09\u3002\u5168\u4EF6\u304C\u8981\u308B\u306A\u3089 --all \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`]}
|
|
20
|
+
if(typeof cursor!=="string"||cursor==="")return["\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u5FDC\u7B54\u306B next_cursor \u304C\u3042\u308A\u307E\u305B\u3093\u3002"];if(CONTROL_CHARS.test(cursor)){return["\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u5FDC\u7B54\u306E next_cursor \u306B\u5236\u5FA1\u6587\u5B57\u304C\u542B\u307E\u308C\u308B\u305F\u3081\u6848\u5185\u3092\u51FA\u305B\u307E\u305B\u3093\u3002--all \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002"]}const hint=context.
|
|
21
|
+
flags.some(spec=>spec.name==="--all")?"\uFF08\u5168\u4EF6\u306F --all\uFF09":"";return[`\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u3002\u6B21\u306E\u30DA\u30FC\u30B8: ${nextPageCommand(input,cursor,context)}${hint}`]}export{DEFAULT_MAX_PAGES,DEFAULT_MAX_ITEMS,LIST_FLAGS,LIST_PAGING_HELP,positiveInteger,nonEmpty,readEnvelopeCursor,envelopePaging,readPageNumberCursor,isPageNumberEnvelope,pageNumberPaging,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,pageRangeNotes,STABLE_PAGE_ORDER,pageNumberQuery,shellQuote,flagSegment,nextPageNotes};
|
|
@@ -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-
|
|
3
|
+
import{isModeId,isPermissionModeId}from"./chunk-NAUH75MM.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-UVUVEL3B.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"?{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{
|
|
4
|
-
import{GLOBAL_OPTIONS_HELP}from"./chunk-
|
|
5
|
-
stripTerminalControls}from"./chunk-NHYMHCAT.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-
|
|
3
|
+
import{loadDomain}from"./chunk-TLN3JSEC.js";import{evaluateQuery}from"./chunk-GDM2QUBL.js";import{renderDocument,renderOutput}from"./chunk-FEOST3GF.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BUZKNZ45.js";import{parseOperationArgs}from"./chunk-IOGVQVGD.js";import{Resolver,requireDefaultProject}from"./chunk-ELXDRPDV.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-IF2K4PM5.js";import{ResolveError}from"./chunk-GMBJTG6A.js";
|
|
4
|
+
import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import{HELP_TOKEN}from"./chunk-UVUVEL3B.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import{stringWidth}from"./chunk-WVS4W5FY.js";import{
|
|
5
|
+
stripTerminalControls}from"./chunk-NHYMHCAT.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-5R4SEO3I.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,NetworkError,UsageError}from"./chunk-7WSNIXTQ.js";import 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]))}
|
|
@@ -16,8 +16,8 @@ ${alignedList(subresources.map(sub=>[`${sub.name} <\u64CD\u4F5C>`,sub.summary]))
|
|
|
16
16
|
twp ${path2} <\u64CD\u4F5C> ${HELP_TOKEN} \u305D\u306E\u64CD\u4F5C\u306E\u8A73\u3057\u3044\u30D8\u30EB\u30D7
|
|
17
17
|
${operationSection}${subSection}
|
|
18
18
|
${GLOBAL_OPTIONS_HELP}
|
|
19
|
-
`}function renderOperationHelp(op,path2){const sections=[`twp ${path2} ${op.name} \u2014 ${op.summary}`,"","\u4F7F\u3044\u65B9:",` ${op.usage}`];if(op.description!==void 0){sections.push("",...op.description.split("\n"))}if(op.destructive===true){sections.push(""
|
|
20
|
-
alignedList(flags.map(flag=>[flag.takesValue?`${flag.name} ${flag.placeholder??"<\u5024>"}`:flag.name,flag.summary])))}sections.push("",GLOBAL_OPTIONS_HELP,"");return sections.join("\n")}function renderUnknownOperation(resource,path2,attempted){const names=[...resource.operations.map(op=>op.name),...subresourcesOf(resource).map(sub=>`${sub.name} <\u64CD\u4F5C>`)].join(" / ");return attempted===void 0?`twp ${path2} \u306B\u306F\u64CD\u4F5C\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\uFF08${names}\
|
|
19
|
+
`}function renderOperationHelp(op,path2){const sections=[`twp ${path2} ${op.name} \u2014 ${op.summary}`,"","\u4F7F\u3044\u65B9:",` ${op.usage}`];if(op.description!==void 0){sections.push("",...op.description.split("\n"))}if(op.destructive===true){sections.push("",`\u26A0 ${op.confirmation??"\u7834\u58CA\u7684\u306A\u64CD\u4F5C"}\u3067\u3059\u3002\u5B9F\u884C\u3059\u308B\u306B\u306F --yes \u304C\u5FC5\u8981\u3067\u3059\u3002`)}const flags=withCommonFlags(op.flags);if(flags.length>0){sections.push(
|
|
20
|
+
"","\u30AA\u30D7\u30B7\u30E7\u30F3:",alignedList(flags.map(flag=>[flag.takesValue?`${flag.name} ${flag.placeholder??"<\u5024>"}`:flag.name,flag.summary])))}sections.push("",GLOBAL_OPTIONS_HELP,"");return sections.join("\n")}function renderUnknownOperation(resource,path2,attempted){const names=[...resource.operations.map(op=>op.name),...subresourcesOf(resource).map(sub=>`${sub.name} <\u64CD\u4F5C>`)].join(" / ");return attempted===void 0?`twp ${path2} \u306B\u306F\u64CD\u4F5C\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\uFF08${names}\
|
|
21
21
|
\uFF09\u3002\u8A73\u3057\u304F\u306F twp ${path2} ${HELP_TOKEN}`:`twp ${path2} \u306B\u300C${attempted}\u300D\u3068\u3044\u3046\u64CD\u4F5C\u306F\u3042\u308A\u307E\u305B\u3093\uFF08${names}\uFF09\u3002\u8A73\u3057\u304F\u306F twp ${path2} ${HELP_TOKEN}`}var writeOut=text=>void process.stdout.write(text);var writeErr=text=>void process.stderr.write(text);function line(text){return text===""?"":text.endsWith("\n")?text:`${text}
|
|
22
22
|
`}function outputValue(operation,format,body){return format==="json"?operation.raw(body):operation.summarize(body)}function requiresYes(operation,yes){return operation.destructive===true&&!yes}function exitCodeForStatus(status){if(status===401)return EXIT_AUTH;if(status===429)return EXIT_API_SERVER;if(status>=400&&status<500)return EXIT_API_CLIENT;return EXIT_API_SERVER}function exitCodeFor(err){if(err instanceof UsageError)return EXIT_USAGE;if(err instanceof NotLoggedInError||err instanceof SessionExpiredError)
|
|
23
23
|
return EXIT_AUTH;if(err instanceof ApiError)return exitCodeForStatus(err.status);if(err instanceof ApiRejectedError)return EXIT_API_CLIENT;if(err instanceof ApiResponseError||err instanceof NetworkError)return EXIT_API_SERVER;if(err instanceof ResolveError){return err.status===null?EXIT_API_SERVER:exitCodeForStatus(err.status)}return EXIT_FAILURE}function safeText(text){return redactSecrets(stripTerminalControls(text))}function reportError(err,format,code,write=writeErr){const message=safeText(err instanceof
|
|
@@ -32,28 +32,30 @@ return{out:path.resolve(raw.trim()),force:input.flags.has(spec.forceFlag)}}funct
|
|
|
32
32
|
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")}}async function download(args){let received;if(args.signed!==void 0){const url=args.signed.signedUrl(await send(args.client,args.
|
|
33
33
|
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}`,{cause:err})}}try{fs.writeFileSync(args.target.out,received.bytes,{
|
|
34
34
|
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.message}`,{cause:err})}const captured={};for(const name of args.captureHeaders??
|
|
35
|
-
[]){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}:{}}}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
|
|
36
|
-
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`,`${vocabulary.capAdvice}\u7D9A\u304D\u3060\u3051\u3092\u53D6\u308B\u306A\u3089 ${
|
|
37
|
-
async function fetchAllPages(args){const{paging,maxPages,maxItems}=args;const vocabulary=args.vocabulary??CURATED_PAGING_VOCABULARY;const merged=[];const first=args.plan.query?.[paging.cursorParam];let sent=typeof first==="string"?first:"";for(let page=1;;page+=1){const plan=page===1?args.plan:{...args.plan,query:{...args.plan.query,[paging.cursorParam]:sent}};let body;try{body=page===1&&"firstPage"in args?
|
|
38
|
-
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 ${vocabulary
|
|
39
|
-
`)}throw err}for(const item of paging.items(body))merged.push(item);const next=paging.nextCursor(body);if(next===null)
|
|
40
|
-
\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`)}
|
|
41
|
-
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&&
|
|
42
|
-
all,maxPages,maxItems}}function profileAliases(profileName){const aliases=loadUserConfig().profiles?.[profileName]?.aliases;return aliases!==void 0?{aliases}:{}}function buildPrepareContext(args){const cache=new Map;return{resolver:args.resolver,projectId(explicit){if(explicit!==
|
|
43
|
-
const ref=requireDefaultProject(explicit,args.profileName,args.env,args.cwd).ref;const hit=cache.get(ref);if(hit!==void 0)return hit;const resolved=args.resolver.project(ref).then(project=>project.id);cache.set(ref,
|
|
44
|
-
output!==void 0?{flag:globals.output}:{},...(()=>{const configured=resolveConfiguredOutput(profile.name);return configured!==void 0?{configured}:{}})(),isTty:options.io?.isTty??process.stdout.isTTY===true});if(format===
|
|
45
|
-
HELP_TOKEN||options.help&&options.operation===void 0){const[extra,...rest2]=options.argv;if(extra===void 0){out(renderResourceHelp(domain,domain.name));return EXIT_OK}const target=domain.subresources?.find(resource2=>resource2.
|
|
46
|
-
const resource=sub??domain;const path2=sub===void 0?domain.name:`${domain.name} ${sub.name}`;const operationName=sub===void 0?options.operation:options.argv[0];const rest=sub===void 0?options.argv:options.argv.slice(1);if(sub!==
|
|
47
|
-
path2,operationName))}forbidden=operation.forbidden;rejected=operation.rejected;if(options.help||rest[0]===HELP_TOKEN){out(renderOperationHelp(operation,path2));return EXIT_OK}const input=parseOperationArgs(rest,withCommonFlags(
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
void 0&&(operation.
|
|
35
|
+
[]){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={mode:"--all",resumeFlag:"--cursor",capAdvice:"--limit \u3092\u5927\u304D\u304F\u3057\u3066\u5F80\u5FA9\u3092\u6E1B\u3089\u3059\u304B\u3001--max-pages \
|
|
36
|
+
/ --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`,`${vocabulary.capAdvice}\u7D9A\u304D\u3060\u3051\u3092\u53D6\u308B\u306A\u3089 ${resumeHint(
|
|
37
|
+
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 first=args.plan.query?.[paging.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,[paging.cursorParam]:sent}};let body;try{body=page===1&&"firstPage"in args?
|
|
38
|
+
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(vocabulary,stripTerminalControls(sent))} \u304B\u3089\u518D\u958B\u3067\u304D\u307E\u3059\u3002
|
|
39
|
+
`)}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,
|
|
40
|
+
`\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`)}
|
|
41
|
+
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&&
|
|
42
|
+
input.flags.has(name)){throw new UsageError(`${name} \u306F --all \u3068\u4F75\u305B\u3066\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,`${name} \u3060\u3051\u3067\u306F\u4F55\u3082\u5909\u308F\u308A\u307E\u305B\u3093`)}}return{all,maxPages,maxItems}}function profileAliases(profileName){const aliases=loadUserConfig().profiles?.[profileName]?.aliases;return aliases!==void 0?{aliases}:{}}function buildPrepareContext(args){const cache=new Map;return{resolver:args.resolver,projectId(explicit){if(explicit!==
|
|
43
|
+
void 0&&explicit.trim()===""){throw new UsageError("--project \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093","--project <\u30B3\u30FC\u30C9|ID> \u3092\u6307\u5B9A\u3059\u308B\u304B\u3001--project \u3054\u3068\u5916\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const ref=requireDefaultProject(explicit,args.profileName,args.env,args.cwd).ref;const hit=cache.get(ref);if(hit!==void 0)return hit;const resolved=args.resolver.project(ref).then(project=>project.id);cache.set(ref,
|
|
44
|
+
resolved);return resolved}}}async function runDomain(options){const{globals}=options;const out=options.io?.out??writeOut;const errOut=options.io?.err??writeErr;let format=null;let forbidden;let rejected;try{const profile=resolveProfile(globals.profile);format=resolveOutputFormat({...globals.output!==void 0?{flag:globals.output}:{},...(()=>{const configured=resolveConfiguredOutput(profile.name);return configured!==void 0?{configured}:{}})(),isTty:options.io?.isTty??process.stdout.isTTY===true});if(format===
|
|
45
|
+
null){throw new UsageError(`--output \u306B\u300C${globals.output??""}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${OUTPUT_FORMATS.join(" / ")} \u3067\u3059`)}const domain=await loadDomain(options.domain);if(options.operation===HELP_TOKEN||options.help&&options.operation===void 0){const[extra,...rest2]=options.argv;if(extra===void 0){out(renderResourceHelp(domain,domain.name));return EXIT_OK}const target=domain.subresources?.find(resource2=>resource2.
|
|
46
|
+
name===extra);if(target===void 0||rest2.length>0){throw new UsageError(renderUnknownOperation(domain,domain.name,extra))}out(renderResourceHelp(target,`${domain.name} ${extra}`));return EXIT_OK}const sub=domain.subresources?.find(resource2=>resource2.name===options.operation);const resource=sub??domain;const path2=sub===void 0?domain.name:`${domain.name} ${sub.name}`;const operationName=sub===void 0?options.operation:options.argv[0];const rest=sub===void 0?options.argv:options.argv.slice(1);if(sub!==
|
|
47
|
+
void 0&&(operationName===HELP_TOKEN||options.help&&operationName===void 0)){out(renderResourceHelp(sub,path2));return EXIT_OK}const operation=resource.operations.find(op=>op.name===operationName);if(operation===void 0){throw new UsageError(renderUnknownOperation(resource,path2,operationName))}forbidden=operation.forbidden;rejected=operation.rejected;if(options.help||rest[0]===HELP_TOKEN){out(renderOperationHelp(operation,path2));return EXIT_OK}const input=parseOperationArgs(rest,withCommonFlags(
|
|
48
|
+
operation.flags));const noRedact=input.flags.has("--no-redact");if(!globals.dryRun&&requiresYes(operation,globals.yes)){throw new UsageError(`twp ${path2} ${operation.name} \u306F${operation.confirmation??"\u7834\u58CA\u7684\u306A\u64CD\u4F5C"}\u3067\u3059\u3002\u5B9F\u884C\u3059\u308B\u306B\u306F --yes \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`)}const paging=resolvePaging(operation,path2,input);const downloadTarget=operation.download===void 0?void 0:resolveDownloadTarget(operation.
|
|
49
|
+
download,path2,operation.name,input);const stored=loadCredentials(profile.name);const apiUrl=effectiveApiUrl(profile,stored?.api_url);const transport=options.fetchImpl??httpFetch;const fetchImpl=globals.debug?withDebug(transport,{write:errOut}):transport;const session=new AuthSession(profile.name,apiUrl,process.env,fetchImpl);const client=new TwpApiClient(apiUrl,session,fetchImpl,options.version);const ctx=buildPrepareContext({resolver:new Resolver(client,{profile:profile.name,refresh:globals.refresh,
|
|
50
|
+
...profileAliases(profile.name)}),profileName:profile.name,env:process.env,cwd:process.cwd()});const prepared=operation.prepare===void 0?input:await operation.prepare(input,ctx);const plan=operation.plan(prepared);if(operation.execute!==void 0&&(operation.download!==void 0||operation.paging!==void 0||operation.fetchCached!==void 0)){throw new Error(`twp ${path2} ${operation.name}: execute \u306F download / paging / fetchCached \u3068\u540C\u6642\u306B\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093\uFF08\u914D\u7DDA\u306E\u8AA4\u308A\uFF09`)}
|
|
51
|
+
if(operation.narrow!==void 0&&(operation.execute!==void 0||operation.download!==void 0||operation.fetchCached!==void 0)){throw new Error(`twp ${path2} ${operation.name}: narrow \u306F execute / download / fetchCached \u3068\u540C\u6642\u306B\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093\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\
|
|
52
|
+
\u8AA4\u308A\uFF09`)}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)}
|
|
52
53
|
`);if(noRedact)errOut(`${NO_REDACT_NOTICE}
|
|
53
54
|
`);if(globals.dryRun){out(line(renderOutput(dryRunValue(apiUrl,plan),format,noRedact)));return EXIT_OK}let body;let paged;try{if(operation.execute!==void 0){const executeCtx={send:next=>send(client,apiUrl,next),putSigned:(url,bytes,contentType)=>putSigned(fetchImpl,url,bytes,contentType),warn:text=>errOut(`${safeText(text)}
|
|
54
55
|
`)};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?{}:{signed:{fetchImpl,signedUrl}},...operation.download.captureHeaders===void 0?{}:{captureHeaders:operation.
|
|
55
|
-
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{}}
|
|
56
|
-
out(line(renderOutput(value,format,noRedact)));if(paged!==void 0){errOut(`--all: ${paged.pages} \u30DA\u30FC\u30B8\u3092\u8FBF\u3063\u3066 ${paged.
|
|
56
|
+
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!==void 0&&operation.paging!==void 0){paged={...paged,count:operation.paging.items(body).length}}}const visible=noRedact?
|
|
57
|
+
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,format,noRedact)));if(paged!==void 0){errOut(`--all: ${paged.pages} \u30DA\u30FC\u30B8\u3092\u8FBF\u3063\u3066 ${paged.
|
|
58
|
+
count} \u4EF6\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F\u3002
|
|
57
59
|
`)}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)}
|
|
58
60
|
`)}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(
|
|
59
61
|
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(
|